/**
 * TechBBQ typography — Figma text styles (responsive via tokens.css).
 */

.techbbq-text-h1,
.techbbq-hero__title,
.techbbq-page-hero__title,
.techbbq-startup-program-hero__title,
.techbbq-not-found__code {
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-text-h1-size);
	font-weight: var(--techbbq-text-h1-weight);
	line-height: var(--techbbq-text-h1-line-height);
	letter-spacing: var(--techbbq-text-h1-letter-spacing);
}

.techbbq-text-h2 {
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-text-h2-size);
	font-weight: var(--techbbq-text-h2-weight);
	line-height: var(--techbbq-text-h2-line-height);
	letter-spacing: var(--techbbq-text-h2-letter-spacing);
}

.techbbq-text-h3 {
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-text-h3-size);
	font-weight: var(--techbbq-text-h3-weight);
	line-height: var(--techbbq-text-h3-line-height);
	letter-spacing: var(--techbbq-text-h3-letter-spacing);
}

/* Elementor Heading — set Advanced → CSS Classes to techbbq-text-h3 on the widget */
.elementor-element.techbbq-text-h3 .elementor-heading-title {
	margin: 0;
	color: var(--techbbq-content-primary);
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-text-h3-size);
	font-weight: var(--techbbq-text-h3-weight);
	line-height: var(--techbbq-text-h3-line-height);
	letter-spacing: var(--techbbq-text-h3-letter-spacing);
}

/* Standard section headings (Home + marketing sections) — responsive via tokens.css */
.techbbq-text-section-title,
[class$="__title"].techbbq-text-h3 {
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-text-h3-size);
	font-weight: var(--techbbq-text-h3-weight);
	line-height: var(--techbbq-text-h3-line-height);
	letter-spacing: var(--techbbq-text-h3-letter-spacing);
}

.techbbq-text-h4 {
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-text-h4-size);
	font-weight: var(--techbbq-text-h4-weight);
	line-height: var(--techbbq-text-h4-line-height);
	letter-spacing: var(--techbbq-text-h4-letter-spacing);
}

.techbbq-text-h5 {
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-text-h5-size);
	font-weight: var(--techbbq-text-h5-weight);
	line-height: var(--techbbq-text-h5-line-height);
	letter-spacing: var(--techbbq-text-h5-letter-spacing);
}

.techbbq-text-h6 {
	font-family: var(--techbbq-font-family-heading);
	font-size: var(--techbbq-text-h6-size);
	font-weight: var(--techbbq-text-h6-weight);
	line-height: var(--techbbq-text-h6-line-height);
	letter-spacing: var(--techbbq-text-h6-letter-spacing);
}

.techbbq-text-paragraph-xl {
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-text-paragraph-xl-size);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: var(--techbbq-text-paragraph-letter-spacing);
}

.techbbq-text-paragraph-l,
.techbbq-hero__description,
.techbbq-page-hero__description,
.techbbq-startup-program-hero__description {
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-text-paragraph-l-size);
	font-weight: 400;
	line-height: var(--techbbq-text-paragraph-line-height);
	letter-spacing: var(--techbbq-text-paragraph-letter-spacing);
}

.techbbq-text-paragraph-m {
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-text-paragraph-m-size);
	font-weight: 400;
	line-height: var(--techbbq-text-paragraph-line-height);
	letter-spacing: var(--techbbq-text-paragraph-letter-spacing);
}

.techbbq-text-paragraph-s {
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-text-paragraph-s-size);
	font-weight: 400;
	line-height: var(--techbbq-text-paragraph-line-height);
	letter-spacing: var(--techbbq-text-paragraph-letter-spacing);
}

.techbbq-text-caption-s {
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-text-caption-s-size);
	font-weight: 400;
	line-height: var(--techbbq-text-caption-s-line-height);
	letter-spacing: var(--techbbq-text-caption-s-letter-spacing);
	text-transform: uppercase;
}

.muted {
	color: var(--techbbq-content-secondary);
}

.techbbq-text-h1,
.techbbq-hero__title,
.techbbq-page-hero__title,
.techbbq-startup-program-hero__title,
.techbbq-not-found__code {
	font-size: 52px;
	letter-spacing: -0.01em;
}

.techbbq-text-paragraph-l,
.techbbq-hero__description,
.techbbq-page-hero__description,
.techbbq-startup-program-hero__description {
	font-size: 20px;
}

/* ── Tablet (768–1023) ──────────────────────────────────────── */
@media (min-width: 768px) {
	.techbbq-text-h1,
	.techbbq-hero__title,
	.techbbq-page-hero__title,
	.techbbq-not-found__code {
		font-size: 78px;
	}
}

/* ── Desktop (1024–1440) ──────────────────────────────────────── */
@media (min-width: 1024px) {
	.techbbq-text-h1,
	.techbbq-hero__title,
	.techbbq-page-hero__title,
	.techbbq-not-found__code {
		font-size: 94px;
		letter-spacing: -0.01em;
	}

	.techbbq-text-paragraph-l,
	.techbbq-hero__description,
	.techbbq-page-hero__description {
		font-size: var(--techbbq-text-paragraph-l-size);
	}
}

/* ── Large desktop (1440+) ──────────────────────────────────── */
@media (min-width: 1440px) {
	.techbbq-hero__title,
	.techbbq-page-hero__title,
	.techbbq-startup-program-hero__title,
	.techbbq-not-found__code {
		font-size: var(--techbbq-text-h1-size);
		letter-spacing: var(--techbbq-text-h1-letter-spacing);
	}
}
