/**
 * ContinuumOne — Custom Section Styles
 * Works WITH Kadence, not against it.
 * Only styles for custom homepage sections.
 */

/* ================================================================
   BRAND VARIABLES (used by our custom sections)
   ================================================================ */

:root {
	--stone: #F2EFE9;
	--forest: #0E2F26;
	--bronze: #A68B5B;
	--cream: #FAF8F5;
	--stone-warm: #F5F2ED;
	--bronze-glow: rgba(166, 139, 91, 0.15);

	--f-display: clamp(3.2rem, 7vw, 7.5rem);
	--f-h1: clamp(2.4rem, 4.5vw, 4.5rem);
	--f-h2: clamp(1.8rem, 3vw, 3rem);
	--f-h3: clamp(1.4rem, 2.5vw, 2rem);
	--f-body: clamp(1rem, 1.5vw, 1.125rem);
	--f-small: clamp(0.95rem, 1.25vw, 1.05rem);
	--f-micro: clamp(0.7rem, 1vw, 0.8rem);

	--page-margin: clamp(24px, 5vw, 80px);
	--section-pad: clamp(48px, 7vh, 88px);
	--grid-gap: clamp(20px, 3vw, 40px);

	--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ================================================================
   KADENCE LAYOUT FIX — Full-bleed sections
   ================================================================ */

.entry-content-wrap {
	padding: 0;
	max-width: none;
}

.content-area {
	margin-top: 0;
	margin-bottom: 0;
}

.entry.single-entry {
	box-shadow: none;
}

.site-main .entry-content > .wp-block-html {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* ================================================================
   KADENCE HEADER — Prototype Navbar Style
   ================================================================ */

/* Base: fixed, transparent, full-width */
#masthead {
	--header-bg: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background: rgba(242, 239, 233, var(--header-bg)) !important;
	backdrop-filter: blur(calc(var(--header-bg) * 20px));
	-webkit-backdrop-filter: blur(calc(var(--header-bg) * 20px));
	box-shadow: 0 1px 0 rgba(14, 47, 38, calc(var(--header-bg) * 0.06));
	transition: transform 0.5s var(--ease-out-expo);
}

#masthead .site-header-wrap,
#masthead .site-header-inner-wrap,
#masthead .site-header-upper-wrap,
#masthead .site-header-upper-inner-wrap,
#masthead .site-main-header-wrap,
#masthead .site-header-row-container-inner {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

#masthead .site-main-header-inner-wrap {
	min-height: auto !important;
}

#masthead .site-header-wrap,
#masthead .site-header-inner-wrap,
#masthead .site-header-upper-wrap,
#masthead .site-header-upper-inner-wrap,
#masthead .site-main-header-wrap,
#masthead .site-header-row-container-inner,
#masthead .site-container {
	min-height: 60px !important;
}

/* Override Kadence sticky header backgrounds */
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start),
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner,
#masthead .kadence-sticky-header.item-is-fixed.item-is-stuck {
	background: transparent !important;
	box-shadow: none !important;
}

/* Header always visible — no hide on scroll */

/* Header padding */
#masthead .site-container {
	max-width: 100%;
	padding: 0 clamp(24px, 4vw, 48px);
}

#masthead .site-main-header-inner-wrap {
	height: 60px !important;
	min-height: 60px !important;
	padding: 0 !important;
}

/* Logo — override Kadence constraints, show full image */
#masthead .site-branding,
#masthead .site-branding .brand {
	max-height: none !important;
	overflow: visible !important;
	position: relative;
}

/* Default state: show infinity symbol, hide full logo */
#masthead .site-branding a.brand img,
#masthead .custom-logo {
	content: url('/wp-content/uploads/2026/02/infinity.png');
	max-width: 80px !important;
	max-height: 28px !important;
	width: 80px;
	height: auto;
	object-fit: contain;
	transition: opacity 0.5s var(--ease-out-expo);
}

/* Full logo overlay — hidden at top, fades in on scroll */
#masthead .site-branding a.brand::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: clamp(140px, 14vw, 200px);
	height: 50px;
	background: url('/wp-content/uploads/2026/02/logo.png') no-repeat left center / contain;
	opacity: 0;
	transition: opacity 0.5s var(--ease-out-expo);
	pointer-events: none;
}

/* Stage 1: begin crossfade — infinity fades, full logo appears */
#masthead.scrolled .site-branding a.brand img,
#masthead.scrolled .custom-logo {
	opacity: 0;
}

#masthead.scrolled .site-branding a.brand::after {
	opacity: 1;
}

/* Hide site-title text (logo image is enough) */
#masthead .site-title,
#masthead .site-title-wrap .site-title {
	display: none;
}

/* Navigation links — prototype style */
#masthead .header-navigation .menu > li > a {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--forest);
	padding: 8px 0;
	transition: color 0.5s;
}

#masthead .header-navigation .menu > li > a:hover {
	color: var(--bronze);
}

/* Light header on dark-background pages (Collective, Apply) */
.page-id-13 #masthead .header-navigation .menu > li > a,
.page-id-16 #masthead .header-navigation .menu > li > a {
	color: var(--stone);
}

.page-id-13 #masthead .header-navigation .menu > li > a:hover,
.page-id-16 #masthead .header-navigation .menu > li > a:hover {
	color: var(--bronze);
}

/* Revert to dark text once header bg is solid */
.page-id-13 #masthead.scrolled .header-navigation .menu > li > a,
.page-id-16 #masthead.scrolled .header-navigation .menu > li > a {
	color: var(--forest);
}

.page-id-13 #masthead.scrolled .header-navigation .menu > li > a:hover,
.page-id-16 #masthead.scrolled .header-navigation .menu > li > a:hover {
	color: var(--bronze);
}

/* Brighten infinity logo on dark pages */
.page-id-13 #masthead .site-branding a.brand img,
.page-id-16 #masthead .site-branding a.brand img {
	filter: brightness(1.4);
}

.page-id-13 #masthead.scrolled .site-branding a.brand img,
.page-id-16 #masthead.scrolled .site-branding a.brand img {
	filter: none;
}

/* Light CTA button on dark pages */
.page-id-13 #masthead .menu-item:last-child > a,
.page-id-16 #masthead .menu-item:last-child > a {
	border-color: var(--stone);
	color: var(--stone) !important;
	background: transparent;
}

.page-id-13 #masthead.scrolled .menu-item:last-child > a,
.page-id-16 #masthead.scrolled .menu-item:last-child > a {
	background: var(--bronze);
	color: var(--stone) !important;
	border-color: var(--bronze);
}

/* Hide Home from nav — logo handles it */
#masthead .menu-item-home {
	display: none;
}

#masthead .header-navigation .menu > li {
	margin: 0 6px;
}

/* Style "Apply" nav item as CTA button */
#masthead .menu-item:last-child {
	margin-left: 12px;
}

#masthead .menu-item:last-child > a {
	background: var(--bronze);
	color: var(--stone) !important;
	padding: 16px 40px;
	letter-spacing: 0.2em;
	font-size: var(--f-micro);
	font-weight: 600;
	border: 2px solid var(--bronze);
	text-decoration: none;
	transition: all 0.35s var(--ease-out-expo);
}

#masthead .menu-item:last-child > a:hover {
	background: var(--forest);
	color: var(--stone) !important;
	border-color: var(--forest);
}

/* Remove Kadence header offset — hero sits behind transparent fixed header */
.site-main,
.content-area,
.site,
.wrap.kt-clear,
main.wrap,
#inner-wrap,
#primary {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Force transparent-header behaviour even when Kadence adds non-transparent-header */
body.non-transparent-header #masthead {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}

/* Mobile header — shallow, always visible, infinity logo */
#mobile-header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: rgba(242, 239, 233, 0.95) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 1px 0 rgba(14, 47, 38, 0.06);
	transform: none !important;
}

#mobile-header .site-header-row-container-inner {
	background: transparent !important;
}

#mobile-header .site-main-header-inner-wrap {
	padding: 8px 0 !important;
	min-height: auto !important;
}

#mobile-header .site-branding,
#mobile-header .site-branding .brand {
	max-height: none !important;
	overflow: visible !important;
}

/* Swap to infinity symbol on mobile */
#mobile-header .site-branding a.brand img,
#mobile-header .custom-logo {
	content: url('/wp-content/uploads/2026/02/infinity.png');
	max-width: 72px !important;
	max-height: 26px !important;
	width: 72px;
	height: auto;
	object-fit: contain;
}

#mobile-header .site-title,
#mobile-header .site-title-wrap .site-title {
	display: none;
}

#mobile-header .menu-toggle-open {
	color: var(--forest);
	background: none;
	border: none;
}

/* Mobile drawer */
#mobile-drawer .menu-item-home {
	display: none;
}

#mobile-drawer .drawer-inner,
#mobile-drawer .drawer-content {
	background: var(--stone);
}

#mobile-drawer .mobile-menu a {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--forest);
}

#mobile-drawer .mobile-menu a:hover {
	color: var(--bronze);
}

/* Noise texture overlay */
body::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	opacity: 0.025;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
	background-repeat: repeat;
}

/* ================================================================
   SHARED SECTION TYPOGRAPHY
   ================================================================ */

.section-label {
	font-family: 'Inter', sans-serif;
	font-size: var(--f-micro);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--bronze);
	margin-bottom: 8px;
	display: block;
}

.section-heading {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h1);
	font-weight: 300;
	line-height: 1.1;
	margin-bottom: 16px;
	color: var(--forest);
}

.section-subheading {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h3);
	font-weight: 300;
	font-style: italic;
	color: rgba(14, 47, 38, 0.6);
	margin-bottom: 12px;
}

.section-body {
	font-size: var(--f-body);
	line-height: 1.7;
	max-width: 600px;
	color: rgba(14, 47, 38, 0.7);
}

.divider {
	width: 60px;
	height: 1px;
	background: var(--bronze);
	margin: 16px 0;
	border: none;
}

/* ================================================================
   REVEAL ANIMATIONS
   ================================================================ */

/* Default: visible. JS adds .js-reveal-ready to body to enable animations */
.reveal {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.8s var(--ease-out-expo), transform 0.8s var(--ease-out-expo);
}

.js-reveal-ready .reveal {
	opacity: 0;
	transform: translateY(30px);
}

.js-reveal-ready .reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* ================================================================
   SCROLL PROGRESS BAR
   ================================================================ */

.scroll-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	z-index: 10000;
	background: transparent;
}

.scroll-progress-bar {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--bronze), var(--forest));
	transition: width 0.1s linear;
}

/* ================================================================
   HERO SECTION
   ================================================================ */

.hero {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 120px var(--page-margin) 140px;
	background: var(--stone);
	position: relative;
	overflow: hidden;
}

.hero-landscape {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.hero-landscape img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.35;
	transform: scale(1.05);
}

.hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--stone);
	opacity: 0.3;
	mix-blend-mode: overlay;
	z-index: 0;
	pointer-events: none;
}

.hero::before {
	content: '';
	position: absolute;
	top: 30%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60vw;
	height: 60vw;
	max-width: 800px;
	max-height: 800px;
	border-radius: 50%;
	background: radial-gradient(circle, var(--bronze-glow) 0%, transparent 70%);
	animation: heroGlow 12s ease-in-out infinite alternate;
	pointer-events: none;
}

@keyframes heroGlow {
	0% { opacity: 0.3; transform: translate(-50%, -50%) scale(1); }
	100% { opacity: 0.6; transform: translate(-50%, -50%) scale(1.15); }
}

.hero-logo {
	width: clamp(260px, 38vw, 420px);
	margin-bottom: 28px;
	position: relative;
	z-index: 1;
}

.hero-logo img {
	width: 100%;
	height: auto;
}

.hero-manifesto {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-display);
	font-weight: 300;
	line-height: 1.05;
	color: var(--forest);
	max-width: 900px;
	margin-bottom: 24px;
	position: relative;
	z-index: 1;
}

.hero-manifesto .word {
	display: inline-block;
	margin-right: 0.25em;
	opacity: 0;
	transform: translateY(30px);
	animation: wordIn 0.8s var(--ease-out-expo) forwards;
}

.hero-manifesto .word em {
	font-style: italic;
	color: var(--bronze);
}

@keyframes wordIn {
	to { opacity: 1; transform: translateY(0); }
}

.hero-sub {
	font-family: 'Inter', sans-serif;
	font-size: var(--f-micro);
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--bronze);
	margin-bottom: 16px;
	position: relative;
	z-index: 1;
}

.hero-body {
	font-family: 'Inter', sans-serif;
	font-size: var(--f-small);
	line-height: 1.7;
	color: rgba(14, 47, 38, 0.6);
	max-width: 640px;
	margin: 0 auto 32px;
	position: relative;
	z-index: 1;
}

.hero-cta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 18px 48px;
	font-family: 'Inter', sans-serif;
	font-size: var(--f-micro);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--stone);
	border: 2px solid var(--bronze);
	background: var(--bronze);
	text-decoration: none;
	transition: all 0.4s var(--ease-out-expo);
	position: relative;
	z-index: 1;
}

.hero-cta:hover {
	background: var(--forest);
	color: var(--stone);
	border-color: var(--forest);
}

.hero-cta svg {
	width: 14px;
	height: 14px;
	stroke-width: 1.5;
}

.hero-scroll {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	z-index: 1;
}

.hero-scroll span {
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--bronze);
	opacity: 0.6;
}

.hero-scroll .scroll-line {
	width: 1px;
	height: 40px;
	background: linear-gradient(to bottom, var(--bronze), transparent);
	animation: scrollPulse 2s ease-in-out infinite;
}

@keyframes scrollPulse {
	0%, 100% { opacity: 0.3; transform: scaleY(0.8); }
	50% { opacity: 1; transform: scaleY(1); }
}

/* ================================================================
   HOME — VERTICAL DIVIDER (from prototype)
   ================================================================ */

.hero-divider {
	height: 64px;
	background: var(--stone);
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-divider-line {
	width: 1px;
	height: 40px;
	background: rgba(14, 47, 38, 0.1);
}

/* ================================================================
   HOME — PROTOCOL PREVIEW CAROUSEL
   ================================================================ */

.home-protocol-preview {
	background: var(--cream);
	padding: var(--section-pad) var(--page-margin);
	overflow: hidden;
}

.home-protocol-preview .section-heading {
	margin-bottom: 16px;
}

.home-protocol-preview .protocol-track-wrapper {
	margin-top: 48px;
}

.preview-card {
	display: block;
	width: clamp(260px, 24vw, 320px);
	flex-shrink: 0;
	padding: 40px 32px;
	background: var(--stone);
	border: 1px solid rgba(14, 47, 38, 0.06);
	position: relative;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: all 0.5s var(--ease-out-expo);
}

.preview-card:hover {
	border-color: var(--bronze);
	transform: translateY(-4px);
	box-shadow: 0 20px 60px rgba(14, 47, 38, 0.08);
}

.preview-card .phase-number {
	font-family: 'Cormorant Garamond', serif;
	font-size: 5rem;
	font-weight: 300;
	color: rgba(14, 47, 38, 0.04);
	position: absolute;
	top: -8px;
	right: 12px;
	line-height: 1;
}

.preview-card .phase-icon {
	width: 40px;
	height: 40px;
	margin-bottom: 24px;
}

.preview-card .phase-icon svg {
	width: 100%;
	height: 100%;
}

.preview-card .phase-element {
	font-family: 'Inter', sans-serif;
	font-size: var(--f-micro);
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: var(--bronze);
	margin-bottom: 10px;
}

.preview-card h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h3);
	font-weight: 300;
	margin-bottom: 12px;
	line-height: 1.15;
	color: var(--forest);
}

.preview-card p {
	font-size: var(--f-small);
	line-height: 1.7;
	color: rgba(14, 47, 38, 0.6);
}

.preview-card .phase-line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--bronze);
	transition: width 0.6s var(--ease-out-expo);
}

.preview-card:hover .phase-line { width: 100%; }

/* "Explore the full protocol →" link */
.link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 40px;
	font-family: 'Inter', sans-serif;
	font-size: var(--f-micro);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--bronze);
	text-decoration: none;
	transition: gap 0.4s var(--ease-out-expo);
}

.link-arrow:hover {
	gap: 18px;
}

.link-arrow svg {
	width: 14px;
	height: 14px;
	stroke-width: 1.5;
}

/* ================================================================
   HOME — SECTION SUMMARY CARDS
   ================================================================ */

.home-sections {
	background: var(--stone);
	padding: var(--section-pad) var(--page-margin);
}

.section-summary-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.summary-card {
	display: flex;
	flex-direction: column;
	padding: 48px 36px;
	text-decoration: none;
	color: inherit;
	border: 1px solid rgba(14, 47, 38, 0.06);
	position: relative;
	overflow: hidden;
	transition: all 0.5s var(--ease-out-expo);
}

.summary-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 60px rgba(14, 47, 38, 0.08);
}

.summary-card .section-label {
	margin-bottom: 16px;
}

.summary-card h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h3);
	font-weight: 300;
	line-height: 1.25;
	margin-bottom: 16px;
	transition: color 0.7s var(--ease-out-expo);
}

.summary-card p {
	font-size: var(--f-small);
	line-height: 1.7;
	margin-bottom: 28px;
	flex: 1;
	transition: color 0.7s var(--ease-out-expo);
}

.link-arrow-inline {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: 'Inter', sans-serif;
	font-size: var(--f-micro);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	transition: gap 0.4s var(--ease-out-expo);
}

.summary-card:hover .link-arrow-inline {
	gap: 16px;
}

.link-arrow-inline svg {
	width: 12px;
	height: 12px;
	stroke-width: 1.5;
}

/* Dark variant — The Collective */
.summary-card--dark {
	background: var(--forest);
	border-color: rgba(166, 139, 91, 0.15);
}

.summary-card--dark .section-label {
	color: var(--bronze);
}

.summary-card--dark h3 {
	color: var(--stone);
}

.summary-card--dark p {
	color: rgba(242, 239, 233, 0.55);
}

.summary-card--dark .link-arrow-inline {
	color: var(--bronze);
}

.summary-card--dark:hover {
	border-color: rgba(166, 139, 91, 0.4);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

/* Stone variant — The Clinic */
.summary-card--stone {
	background: var(--stone-warm);
	border-color: rgba(14, 47, 38, 0.06);
}

.summary-card--stone h3 {
	color: var(--forest);
}

.summary-card--stone p {
	color: rgba(14, 47, 38, 0.6);
}

.summary-card--stone .link-arrow-inline {
	color: var(--bronze);
}

/* Stone card — hover inversion (from prototype) */
.summary-card--stone:hover {
	background: var(--forest);
	border-color: rgba(166, 139, 91, 0.3);
}

.summary-card--stone:hover h3 {
	color: var(--stone);
}

.summary-card--stone:hover p {
	color: rgba(242, 239, 233, 0.6);
}

.summary-card--stone:hover .section-label {
	color: var(--bronze);
}

.summary-card--stone:hover .link-arrow-inline {
	color: var(--bronze);
}

/* Cream variant — C1 Digital */
.summary-card--cream {
	background: var(--cream);
	border-color: var(--bronze);
	border-width: 1px;
}

.summary-card--cream h3 {
	color: var(--forest);
}

.summary-card--cream p {
	color: rgba(14, 47, 38, 0.6);
}

.summary-card--cream .link-arrow-inline {
	color: var(--bronze);
}

/* Cream card — hover inversion (from prototype) */
.summary-card--cream:hover {
	background: var(--forest);
	border-color: rgba(166, 139, 91, 0.3);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.summary-card--cream:hover h3 {
	color: var(--stone);
}

.summary-card--cream:hover p {
	color: rgba(242, 239, 233, 0.6);
}

.summary-card--cream:hover .section-label {
	color: var(--bronze);
}

.summary-card--cream:hover .link-arrow-inline {
	color: var(--bronze);
}

/* ================================================================
   PROTOCOL SECTION
   ================================================================ */

.protocol {
	background: var(--cream);
	overflow: hidden;
	padding: var(--section-pad) var(--page-margin);
}

.protocol-intro {
	max-width: 700px;
	margin-bottom: 64px;
}

.protocol-track-wrapper {
	position: relative;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	cursor: grab;
}

.protocol-track-wrapper::-webkit-scrollbar { display: none; }
.protocol-track-wrapper:active { cursor: grabbing; }

.protocol-track {
	display: flex;
	gap: 32px;
	padding-bottom: 20px;
	width: max-content;
}

.protocol-card {
	width: clamp(300px, 28vw, 380px);
	flex-shrink: 0;
	padding: 48px 36px;
	background: var(--stone);
	border: 1px solid rgba(14, 47, 38, 0.06);
	position: relative;
	overflow: hidden;
	transition: all 0.5s var(--ease-out-expo);
}

.protocol-card:hover {
	border-color: var(--bronze);
	transform: translateY(-4px);
	box-shadow: 0 20px 60px rgba(14, 47, 38, 0.08);
}

.protocol-card .phase-number {
	font-family: 'Cormorant Garamond', serif;
	font-size: 6rem;
	font-weight: 300;
	color: rgba(14, 47, 38, 0.04);
	position: absolute;
	top: -10px;
	right: 16px;
	line-height: 1;
}

.protocol-card .phase-icon {
	width: 48px;
	height: 48px;
	margin-bottom: 28px;
}

.protocol-card .phase-icon svg {
	width: 100%;
	height: 100%;
}

.protocol-card .phase-element {
	font-family: 'Inter', sans-serif;
	font-size: var(--f-micro);
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: var(--bronze);
	margin-bottom: 12px;
}

.protocol-card h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h2);
	font-weight: 300;
	margin-bottom: 16px;
	line-height: 1.15;
	color: var(--forest);
}

.protocol-card p {
	font-size: var(--f-small);
	line-height: 1.8;
	color: rgba(14, 47, 38, 0.65);
}

.protocol-card .phase-line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--bronze);
	transition: width 0.6s var(--ease-out-expo);
}

.protocol-card:hover .phase-line { width: 100%; }

.protocol-scroll-hint {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 32px;
	color: var(--bronze);
}

.protocol-scroll-hint span {
	font-size: var(--f-micro);
	text-transform: uppercase;
	letter-spacing: 0.2em;
}

.protocol-scroll-hint .scroll-arrow {
	width: 32px;
	height: 1px;
	background: var(--bronze);
	position: relative;
}

.protocol-scroll-hint .scroll-arrow::after {
	content: '';
	position: absolute;
	right: 0;
	top: -3px;
	width: 8px;
	height: 8px;
	border-right: 1px solid var(--bronze);
	border-top: 1px solid var(--bronze);
	transform: rotate(45deg);
}

/* ================================================================
   COLLECTIVE SECTION (DARK)
   ================================================================ */

.collective {
	background: var(--forest);
	color: var(--stone);
	position: relative;
	overflow: hidden;
	padding: var(--section-pad) var(--page-margin);
}

.collective::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(166, 139, 91, 0.08) 0%, transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(166, 139, 91, 0.05) 0%, transparent 50%);
	pointer-events: none;
}

.collective .section-label { color: var(--bronze); }
.collective .section-heading { color: var(--stone); }
.collective .section-body { color: rgba(242, 239, 233, 0.6); }

.collective-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--grid-gap);
	margin-top: 64px;
	position: relative;
	z-index: 1;
}

.collective-left {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.ritual-card {
	padding: 36px;
	border: 1px solid rgba(242, 239, 233, 0.08);
	background: rgba(242, 239, 233, 0.02);
	transition: all 0.5s var(--ease-out-expo);
	position: relative;
	overflow: hidden;
}

.ritual-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(166, 139, 91, 0.06), transparent);
	opacity: 0;
	transition: opacity 0.5s;
	pointer-events: none;
}

.ritual-card:hover::before { opacity: 1; }
.ritual-card:hover { border-color: rgba(166, 139, 91, 0.3); }

.ritual-card h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h3);
	font-weight: 400;
	margin-bottom: 8px;
	color: var(--stone);
}

.ritual-card p {
	font-size: var(--f-small);
	color: rgba(242, 239, 233, 0.5);
	line-height: 1.7;
}

.collective-right {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 60px 40px;
	border: 1px solid rgba(166, 139, 91, 0.2);
	background: rgba(166, 139, 91, 0.04);
	position: relative;
}

.founding-count {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(5rem, 10vw, 8rem);
	font-weight: 300;
	color: var(--bronze);
	line-height: 1;
	margin-bottom: 12px;
}

.founding-label {
	font-size: var(--f-micro);
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: rgba(242, 239, 233, 0.5);
	margin-bottom: 32px;
}

.founding-desc {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h3);
	font-weight: 300;
	font-style: italic;
	color: rgba(242, 239, 233, 0.7);
	max-width: 320px;
	line-height: 1.5;
}

/* ================================================================
   CLINIC & FOUNDER SECTION
   ================================================================ */

.clinic {
	background: var(--stone);
	padding: var(--section-pad) var(--page-margin);
}

.clinic-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: var(--grid-gap);
	align-items: start;
	margin-top: 32px;
}

/* Founder image with offset bronze border (from prototype) */
.founder-image-wrap {
	position: relative;
	margin-bottom: 20px;
}

.founder-image-wrap::before {
	content: '';
	position: absolute;
	top: -12px;
	left: -12px;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(166, 139, 91, 0.2);
	transition: transform 1s var(--ease-out-expo);
	pointer-events: none;
}

.founder-image-wrap:hover::before {
	transform: translate(6px, 6px);
}

.founder-image {
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
	display: block;
	border: 1px solid rgba(14, 47, 38, 0.06);
	position: relative;
	overflow: hidden;
	z-index: 1;
}
}

/* Founder metadata (from prototype) */
.founder-meta {
	display: flex;
	gap: 48px;
	padding-top: 24px;
	margin-top: 24px;
	border-top: 1px solid rgba(14, 47, 38, 0.06);
}

.founder-meta-item .meta-label {
	font-family: 'Inter', sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bronze);
	margin-bottom: 6px;
	display: block;
}

.founder-meta-item .meta-value {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--forest);
}

.founder-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h2);
	font-weight: 300;
	margin-bottom: 8px;
	color: var(--forest);
}

.founder-title {
	font-size: var(--f-micro);
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: var(--bronze);
	margin-bottom: 20px;
}

.founder-bio {
	font-size: var(--f-small);
	line-height: 1.8;
	color: rgba(14, 47, 38, 0.65);
}

.clinic-spaces {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 40px;
}

.space-card {
	padding: 40px 36px;
	border: 1px solid rgba(14, 47, 38, 0.06);
	background: var(--cream);
	transition: all 0.5s var(--ease-out-expo);
	position: relative;
}

.space-card:hover {
	border-color: var(--bronze);
	transform: translateX(8px);
}

.space-card h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h3);
	font-weight: 400;
	margin-bottom: 8px;
	color: var(--forest);
}

.space-card p {
	font-size: var(--f-small);
	color: rgba(14, 47, 38, 0.55);
	line-height: 1.7;
}

.space-card .space-tag {
	position: absolute;
	top: 16px;
	right: 20px;
	font-size: 0.6rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--bronze);
	opacity: 0.6;
}

/* ================================================================
   C1 DIGITAL SECTION
   ================================================================ */

.digital {
	background: var(--cream);
	text-align: center;
	padding: var(--section-pad) var(--page-margin);
}

.digital-inner {
	max-width: 700px;
	margin: 0 auto;
}

.digital .section-heading {
	color: var(--forest);
}

.digital-features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin-top: 48px;
	text-align: left;
}

.digital-feature {
	padding: 32px 24px;
	border-top: 1px solid var(--bronze);
}

.digital-feature h4 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.2rem;
	font-weight: 400;
	margin-bottom: 8px;
	color: var(--forest);
}

.digital-feature p {
	font-size: var(--f-small);
	color: rgba(14, 47, 38, 0.55);
	line-height: 1.7;
}

/* ================================================================
   AUDIT SECTION (DARK CONVERSION)
   ================================================================ */

.audit {
	background: var(--forest);
	color: var(--stone);
	text-align: center;
	position: relative;
	overflow: hidden;
	padding: var(--section-pad) var(--page-margin);
}

.audit::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 600px;
	height: 600px;
	border-radius: 50%;
	border: 1px solid rgba(166, 139, 91, 0.08);
	animation: auditPulse 6s ease-in-out infinite;
	pointer-events: none;
}

.audit::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 400px;
	height: 400px;
	border-radius: 50%;
	border: 1px solid rgba(166, 139, 91, 0.05);
	animation: auditPulse 6s ease-in-out 1s infinite;
	pointer-events: none;
}

@keyframes auditPulse {
	0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
	50% { transform: translate(-50%, -50%) scale(1.05); opacity: 1; }
}

.audit-inner {
	position: relative;
	z-index: 1;
	max-width: 700px;
	margin: 0 auto;
}

.audit .section-label { color: var(--bronze); }
.audit .section-heading { color: var(--stone); }
.audit .section-body {
	color: rgba(242, 239, 233, 0.6);
	margin: 0 auto 24px;
}

.audit-cta {
	margin-top: 48px;
}

.btn-audit {
	display: inline-flex;
	align-items: center;
	padding: 18px 48px;
	font-family: 'Inter', sans-serif;
	font-size: var(--f-micro);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--forest);
	background: var(--bronze);
	border: 1px solid var(--bronze);
	text-decoration: none;
	transition: all 0.4s var(--ease-out-expo);
}

.btn-audit:hover {
	background: transparent;
	color: var(--bronze);
}

/* Audit exclusivity copy */
.audit-exclusivity {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h3);
	font-weight: 300;
	font-style: italic;
	color: rgba(242, 239, 233, 0.7);
	margin: 32px auto 48px;
	max-width: 500px;
	text-align: center;
}

/* Multi-step audit form */
.audit-form-wrap {
	max-width: 480px;
	margin: 0 auto;
}

.audit-form-step {
	display: none;
}

.audit-form-step.active {
	display: block;
}

.audit-form-label {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bronze);
	margin-bottom: 16px;
}

.audit-form-input {
	width: 100%;
	padding: 16px 20px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: var(--stone);
	background: rgba(242, 239, 233, 0.06);
	border: 1px solid rgba(242, 239, 233, 0.15);
	outline: none;
	transition: border-color 0.3s;
	box-sizing: border-box;
}

.audit-form-input:focus {
	border-color: var(--bronze);
}

.audit-form-input::placeholder {
	color: rgba(242, 239, 233, 0.3);
}

.audit-form-textarea {
	resize: vertical;
	min-height: 100px;
}

.audit-form-nav {
	display: flex;
	gap: 16px;
	margin-top: 32px;
	justify-content: center;
}

.audit-form-prev {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(242, 239, 233, 0.5);
	background: none;
	border: 1px solid rgba(242, 239, 233, 0.15);
	padding: 14px 32px;
	cursor: pointer;
	transition: all 0.3s;
}

.audit-form-prev:hover {
	color: var(--stone);
	border-color: var(--stone);
}

.audit-form-progress {
	text-align: center;
	margin-top: 24px;
}

.audit-form-step-indicator {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: rgba(242, 239, 233, 0.3);
}

.audit-form-input.error {
	border-color: #c0392b;
}

.audit-form-confirmation {
	text-align: center;
	padding: 48px 0;
}

.audit-form-confirmation h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-h2);
	color: var(--stone);
	margin-bottom: 16px;
}

.audit-form-confirmation p {
	font-family: 'Inter', sans-serif;
	font-size: var(--f-body);
	color: rgba(242, 239, 233, 0.6);
	max-width: 480px;
	margin: 0 auto;
	line-height: 1.7;
}

/* ================================================================
   CUSTOM FOOTER
   ================================================================ */

/* Hide default Kadence footer content */
.site-footer .footer-html-inner {
	display: none;
}

.c1-footer {
	background: linear-gradient(to bottom, var(--forest), #071A14);
	color: var(--stone);
	padding: clamp(40px, 5vh, 64px) var(--page-margin);
	position: relative;
	overflow: hidden;
}

.c1-footer-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.c1-footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 64px;
	padding-bottom: 64px;
	border-bottom: 1px solid rgba(242, 239, 233, 0.1);
}

/* Brand column */
.c1-footer-logo img {
	width: clamp(160px, 18vw, 220px);
	height: auto;
	margin-bottom: 24px;
	filter: brightness(0) invert(1);
}

.c1-footer-tagline {
	font-family: 'Cormorant Garamond', serif;
	font-size: var(--f-small);
	font-style: italic;
	font-weight: 300;
	line-height: 1.7;
	color: rgba(242, 239, 233, 0.6);
	max-width: 340px;
}

/* Footer column headings */
.c1-footer-heading {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--bronze);
	margin-bottom: 28px;
}

/* Navigation links */
.c1-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.c1-footer-links a {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--stone);
	text-decoration: none;
	transition: color 0.3s;
}

.c1-footer-links a:hover {
	color: var(--bronze);
}

/* Address */
.c1-footer-address {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 2;
	color: rgba(242, 239, 233, 0.6);
	text-transform: uppercase;
	margin-bottom: 16px;
}

.c1-footer-email {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--bronze);
	text-decoration: none;
	transition: color 0.3s;
}

.c1-footer-email:hover {
	color: var(--stone);
}

/* Bottom bar */
.c1-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 40px;
}

.c1-footer-bottom p {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(242, 239, 233, 0.3);
}

.c1-footer-legal {
	display: flex;
	gap: 32px;
}

.c1-footer-legal a {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(242, 239, 233, 0.3);
	text-decoration: none;
	transition: color 0.3s;
}

.c1-footer-legal a:hover {
	color: var(--bronze);
}

/* ================================================================
   RESPONSIVE — MOBILE
   ================================================================ */

@media (max-width: 768px) {
	.hero {
		min-height: 100svh;
		padding: 100px var(--page-margin) 60px;
	}

	.hero-logo {
		width: clamp(220px, 55vw, 320px);
		margin-bottom: 20px;
	}

	.hero-manifesto {
		font-size: clamp(2rem, 10vw, 3.5rem);
	}

	.hero-sub {
		margin-bottom: 16px;
	}

	.hero-cta {
		padding: 14px 28px;
	}

	.protocol-track {
		gap: 20px;
	}

	.protocol-card {
		width: 280px;
		padding: 36px 28px;
	}

	.protocol-card .phase-number {
		font-size: 4.5rem;
	}

	/* Home — Protocol Preview */
	.preview-card {
		width: 240px;
		padding: 32px 24px;
	}

	.preview-card .phase-number {
		font-size: 3.5rem;
	}

	/* Home — Section Summaries */
	.section-summary-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.summary-card {
		padding: 36px 28px;
	}

	.collective-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.collective-left {
		gap: 24px;
	}

	.ritual-card {
		padding: 28px 24px;
	}

	.collective-right {
		padding: 48px 32px;
	}

	/* Vertical divider — shorter on mobile */
	.hero-divider {
		height: 40px;
	}

	.hero-divider-line {
		height: 24px;
	}

	/* Founder offset border — tighter offset on mobile */
	.founder-image-wrap::before {
		top: -8px;
		left: -8px;
	}

	/* Founder metadata — stack on mobile */
	.founder-meta {
		gap: 24px;
	}

	.clinic-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.clinic-spaces {
		padding-top: 0;
	}

	.space-card {
		padding: 32px 28px;
	}

	.space-card:hover {
		transform: translateY(-4px);
	}

	.digital-features {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.digital-feature {
		padding: 28px 0;
	}

	.audit::before,
	.audit::after {
		width: 300px;
		height: 300px;
	}

	/* Footer — stack on mobile */
	.c1-footer-grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-bottom: 40px;
	}

	.c1-footer-bottom {
		flex-direction: column;
		gap: 20px;
		text-align: center;
	}

	.c1-footer-legal {
		gap: 24px;
	}
}

/* ================================================================
   REDUCED MOTION
   ================================================================ */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.reveal {
		opacity: 1;
		transform: none;
	}

	.hero-manifesto .word {
		opacity: 1;
		transform: none;
	}
}
