/**
 * TechBBQ Page Hero — inner-page intro with breadcrumbs and orb gradient
 *
 * Figma: 4304:10818 / 4314:11172 / 4315:11884 / 4487:10809
 * Content width uses shared .section-inner (see layout.css).
 *
 * Breakpoints (mobile-first): 0–767 (base), 768–1023, 1024–1440, 1440+.
 */

.techbbq-page-hero {
	--techbbq-page-hero-header-offset: calc(
		var(--techbbq-banner-height) + var(--techbbq-space-1) + var(--techbbq-hero-header-bar, 72px)
	);
	/* Header bar sits 8px below the hero top; gap is space below the bar before breadcrumbs. */
	--techbbq-page-hero-breadcrumb-gap: var(--techbbq-space-3);
	--techbbq-page-hero-breadcrumbs-top: calc(
		var(--techbbq-space-1) + var(--techbbq-hero-header-bar, 72px) + var(--techbbq-page-hero-breadcrumb-gap)
	);
	--techbbq-page-hero-first-screen-offset: var(--techbbq-banner-height);
	--techbbq-page-hero-screen-height: calc(var(--techbbq-vh, 1vh) * 100 - var(--techbbq-page-hero-first-screen-offset));

	position: relative;
	width: 100%;
	color: var(--techbbq-content-primary);
	background-color: var(--techbbq-bg-main);
}

.techbbq-page-hero--solid {
	background-color: var(--techbbq-bg-surface-alt);
}

.techbbq-page-hero__orb {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background-image: url("../../images/hero-orb-gradient.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}

.techbbq-page-hero__updated {
	margin: 0;
	font-family: var(--techbbq-font-family-body);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--techbbq-content-secondary);
}

.techbbq-page-hero__intro {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: auto;
	min-height: var(--techbbq-page-hero-screen-height);
	max-height: none;
	overflow: hidden;
}

.techbbq-page-hero__breadcrumbs-slot {
	position: absolute;
	top: var(--techbbq-page-hero-breadcrumbs-top);
	right: 0;
	left: 0;
	z-index: 2;
}

.techbbq-page-hero__breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--techbbq-space-1);
	align-items: center;
	margin: 0;
	font-family: var(--techbbq-font-family-body);
	font-size: var(--techbbq-text-paragraph-s-size);
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.techbbq-page-hero__breadcrumb-link,
.techbbq-page-hero__breadcrumb-muted,
.techbbq-page-hero__breadcrumb-sep {
	color: var(--techbbq-content-secondary);
}

.techbbq-page-hero__breadcrumb-link {
	text-decoration: none;
}

.techbbq-page-hero__breadcrumb-link:hover,
.techbbq-page-hero__breadcrumb-link:focus-visible {
	color: var(--techbbq-content-primary);
}

.techbbq-page-hero__breadcrumb-current {
	color: var(--techbbq-content-primary);
}

.techbbq-page-hero__title-group {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.techbbq-page-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0;
	font-family: var(--techbbq-font-family-body);
	font-size: 16px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: -0.01em;
	color: var(--techbbq-content-primary);
}

.techbbq-page-hero__meta-sep {
	display: inline-block;
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--techbbq-content-primary);
}

.techbbq-page-hero__title {
	margin: 0;
}

.techbbq-page-hero__description {
	margin: 0;
}

.techbbq-page-hero__body-slot {
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-space-4);
	width: 100%;
}

.techbbq-page-hero__cta-blocks {
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-space-4);
	width: 100%;
}

.techbbq-page-hero__cta-block {
	display: flex;
	flex-direction: column;
	gap: var(--techbbq-space-2);
	align-items: flex-start;
	width: 100%;
}

.techbbq-page-hero__cta-text {
	margin: 0;
	max-width: none;
	font-size: var(--techbbq-text-paragraph-m-size);
	line-height: 1.4;
	letter-spacing: 0;
}

.techbbq-page-hero__cta-block .techbbq-btn {
	width: 100%;
}

.techbbq-page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--techbbq-space-1);
	align-items: flex-start;
	width: 100%;
}

/* Full-width CTA on mobile only; shared .techbbq-btn handles visuals. */
.techbbq-page-hero__actions .techbbq-btn {
	width: 100%;
}

.techbbq-page-hero__featured-slot {
	width: 100%;
}

.techbbq-page-hero__featured {
	overflow: hidden;
	border-radius: var(--techbbq-radius-md);
}

.techbbq-page-hero__featured-image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1392 / 781;
	object-fit: cover;
}

/* About Us and other featured-image heroes: content-driven height, image visible on all tiers. */
.techbbq-page-hero--has-featured .techbbq-page-hero__intro {
	justify-content: flex-end;
	min-height: 0;
}

.techbbq-page-hero--has-featured .techbbq-page-hero__featured-slot {
	display: block;
}

/* Relocated from @media (max-width: 768px) + @media (max-width: 767px) — mobile (0–767) */
.techbbq-page-hero__intro {
	gap: var(--techbbq-space-2);
	padding-top: calc(var(--techbbq-page-hero-header-offset) + var(--techbbq-space-2));
	padding-bottom: var(--techbbq-space-2);
}

.techbbq-page-hero__title-group {
	gap: var(--techbbq-space-2);
}

.techbbq-page-hero__description {
	max-width: none;
	font-size: var(--techbbq-text-paragraph-m-size);
	line-height: 1.4;
	letter-spacing: 0;
}

/* ── Tablet (768–1023) ──────────────────────────────────────── */
@media (min-width: 768px) {
	.techbbq-page-hero {
		--techbbq-page-hero-screen-height: 600px;
	}

	/* Relocated from @media (max-width: 1024px) + @media (min-width: 769px) and (max-width: 1024px) */
	.techbbq-page-hero__intro {
		min-height: 600px;
		gap: var(--techbbq-space-4);
		padding-top: var(--techbbq-section-space-small);
		padding-bottom: var(--techbbq-section-space-medium);
	}

	.techbbq-page-hero__title-group {
		gap: var(--techbbq-space-3);
	}

	.techbbq-page-hero__description {
		max-width: 809px;
		font-size: 20px;
		line-height: var(--techbbq-text-paragraph-line-height);
		letter-spacing: 0.02em;
	}

	.techbbq-page-hero__cta-text {
		max-width: 809px;
		font-size: 20px;
		line-height: var(--techbbq-text-paragraph-line-height);
		letter-spacing: 0.02em;
	}

	.techbbq-page-hero__cta-block .techbbq-btn {
		width: auto;
	}

	.techbbq-page-hero__actions .techbbq-btn {
		width: auto;
	}
}

/* ── Desktop (1024–1440) ──────────────────────────────────────── */
@media (min-width: 1024px) {
	.techbbq-page-hero {
		--techbbq-page-hero-screen-height: 700px;
	}

	.techbbq-page-hero__intro {
		min-height: 700px;
	}

	/* Restored from original base — typography utility handles sizing */
	.techbbq-page-hero__description {
		font-size: var(--techbbq-text-paragraph-l-size);
		line-height: var(--techbbq-text-paragraph-line-height);
		letter-spacing: var(--techbbq-text-paragraph-letter-spacing);
	}

	.techbbq-page-hero__cta-text {
		font-size: var(--techbbq-text-paragraph-l-size);
		line-height: var(--techbbq-text-paragraph-line-height);
		letter-spacing: var(--techbbq-text-paragraph-letter-spacing);
	}
}
