/* MIDO PHASE 8.6 INTERNAL PAGE HERO ACTIVE */
/* =============================================================================
   Reusable internal page header / hero.

   Scoped under .cbm-page-hero. Reuses keyframes already defined globally:
     - cbm-pulse-orbit (from 10__final-cta.css)
     - cbm-pulse-ring  (from 10__final-cta.css)
     - cbmMeshMove     (from 07__how-i-think.css)
   No keyframe duplication; we only reference them.

   Layout: left-aligned content, container width matches the top nav
   (var(--site-w) / var(--site-max)). Sits beneath the fixed header with
   enough breathing room to clear it.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Section envelope
   -------------------------------------------------------------------------- */
.cbm-page-hero {
	position: relative;
	background: transparent;
	overflow: clip;
	isolation: isolate;
	/* Top padding clears the fixed nav (around 96px). Bottom is the section
	   transition into the page body. Not too tall — avoid a giant empty hero. */
	padding-block: clamp(110px, 14vw, 168px) clamp(40px, 5vw, 64px);
}

/* --------------------------------------------------------------------------
   Background atmosphere — 3 blended gradient tones, slow drift inspired by
   the How I Think mesh. Behind the ornaments, in front of the page bg.
   -------------------------------------------------------------------------- */
.cbm-page-hero__atmosphere {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 50% at 18% 30%, rgba(142,99,163,.28), transparent 60%),
		radial-gradient(ellipse 50% 40% at 82% 24%, rgba(183,140,255,.18), transparent 65%),
		radial-gradient(ellipse 70% 50% at 50% 90%, rgba(76,52,93,.42), transparent 70%),
		radial-gradient(ellipse 40% 30% at 8% 85%, rgba(197,166,211,.10), transparent 65%);
	background-size: 200% 200%;
	animation: cbmMeshMove 18s ease infinite;
	filter: saturate(1.05);
	opacity: .85;
}

/* --------------------------------------------------------------------------
   Animated circles — same visual language as the homepage final CTA.
   Re-implemented under our own .cbm-page-hero__ornament classes; we only
   REFERENCE the existing @keyframes (cbm-pulse-orbit / cbm-pulse-ring), no
   duplication of motion definitions.
   -------------------------------------------------------------------------- */
.cbm-page-hero__ornament {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	opacity: .9;
	will-change: transform, opacity;
}

.cbm-page-hero__ornament--one {
	width: clamp(220px, 26vw, 360px);
	height: clamp(220px, 26vw, 360px);
	top: 18%;
	right: 6%;
	border-radius: 50%;
	border: 1px solid rgba(197,166,211,.18);
	background: radial-gradient(circle, rgba(197,166,211,.06), transparent 62%);
	animation: cbm-pulse-orbit 6.4s var(--ease-soft, cubic-bezier(.4,0,.2,1)) infinite;
}
.cbm-page-hero__ornament--one::before,
.cbm-page-hero__ornament--one::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	will-change: transform, opacity;
}
.cbm-page-hero__ornament--one::before {
	inset: 18%;
	border: 1px solid rgba(183,140,255,.18);
	animation: cbm-pulse-ring 6.4s var(--ease-soft, cubic-bezier(.4,0,.2,1)) infinite .35s;
}
.cbm-page-hero__ornament--one::after {
	inset: 36%;
	border: 1px solid rgba(142,99,163,.28);
	background: radial-gradient(circle, rgba(142,99,163,.08), transparent 62%);
	animation: cbm-pulse-ring 6.4s var(--ease-soft, cubic-bezier(.4,0,.2,1)) infinite .7s;
}

/* A second smaller orbit on the far left to balance the composition — hidden on mobile. */
.cbm-page-hero__ornament--two {
	width: clamp(140px, 14vw, 220px);
	height: clamp(140px, 14vw, 220px);
	left: -3%;
	bottom: -10%;
	border-radius: 50%;
	border: 1px solid rgba(142,99,163,.22);
	background: radial-gradient(circle, rgba(142,99,163,.10), transparent 60%);
	animation: cbm-pulse-orbit 8s var(--ease-soft, cubic-bezier(.4,0,.2,1)) infinite 1.2s;
}

/* --------------------------------------------------------------------------
   Content — left-aligned, container width matches the nav
   -------------------------------------------------------------------------- */
.cbm-page-hero__inner {
	position: relative;
	z-index: 2;
	width: var(--site-w);
	max-width: var(--site-max);
	margin-inline: auto;
	text-align: left;
}

.cbm-page-hero__kicker {
	margin: 0 0 18px;
}

.cbm-page-hero__heading {
	margin: 0 0 18px;
	text-align: left;
	max-width: 22ch;
}

.cbm-page-hero__lede {
	margin: 0;
	max-width: 60ch;
	color: var(--text-secondary, #DDD6E3);
	opacity: .92;
	line-height: 1.55;
}

/* --------------------------------------------------------------------------
   Reduced-motion: hold ornaments and atmosphere still
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.cbm-page-hero__atmosphere,
	.cbm-page-hero__ornament--one,
	.cbm-page-hero__ornament--one::before,
	.cbm-page-hero__ornament--one::after,
	.cbm-page-hero__ornament--two {
		animation: none !important;
	}
}

/* --------------------------------------------------------------------------
   Mobile — tighten spacing, hide the secondary orbit, scale heading
   -------------------------------------------------------------------------- */
@media (max-width: 760px) {
	.cbm-page-hero {
		padding-block: clamp(96px, 22vw, 128px) clamp(32px, 6vw, 48px);
	}
	.cbm-page-hero__ornament--two { display: none; }
	.cbm-page-hero__ornament--one {
		top: 6%;
		right: -10%;
		opacity: .55;
	}
	.cbm-page-hero__heading { max-width: none; }
}
