/* ============================================================
   FORDERS RECOVERY — SITE STYLES
   ------------------------------------------------------------
   Consolidated from the per-page inline <style> blocks.
   1. Design tokens, reset, base elements & keyframes are shared
      globally across every page.
   2. Page-specific rules are scoped under a  class
      (e.g. .home, .classes) so pages keep their own
      look without colliding. Add the matching class to <>.
   ============================================================ */

/* ---- Design tokens ---- */
:root {
	--black: #1e1e18;
	--dark-olive: #2c3320;
	--cedar: #7a5c3a;
	--warm-oat: #f5efe0;
	--cream: #faf3e4;
	--font-display: 'DM Serif Display', serif;
	--font-: 'Jost', sans-serif;
	--ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ---- Reset & base elements ---- */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	scroll-behavior: smooth;
}
img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---- Keyframes ---- */
@keyframes kenburns {
	from {
		transform: scale(1) translate(0, 0);
	}
	to {
		transform: scale(1.07) translate(-1.5%, 1%);
	}
}
@keyframes glowpulse {
	from {
		opacity: 0.7;
	}
	to {
		opacity: 1;
	}
}
@keyframes scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}
@keyframes fadeup {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ============================================================
   PAGE: index.html  (.home)
   ============================================================ */
body {
	font-family: var(--font-);
	background: var(--black);
	color: var(--cream);
	-webkit-font-smoothing: antialiased;
}
.nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 48px;
	background: rgba(30, 30, 24, 0);
	transition:
		background 0.5s var(--ease),
		border-color 0.5s;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0);
}
.nav.scrolled {
	background: rgba(30, 30, 24, 0.96);
	border-bottom-color: rgba(250, 243, 228, 0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.nav-logo {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	transition: opacity 0.3s;
}
.nav-logo:hover {
	opacity: 0.6;
}
.nav-links {
	opacity: 1;
	display: flex;
	gap: 36px;
	list-style: none;
}
.nav-links a {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	text-decoration: none;
	opacity: 1;
	transition: opacity 0.3s;
}
.nav-links a:hover {
	opacity: 1;
}
.nav-btns {
	display: flex;
	gap: 10px;
	align-items: center;
}
.nav-btn-primary {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.nav-btn-primary:hover {
	background: #fff;
	transform: translateY(-1px);
}
.nav-btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.nav-btn-ghost:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.65);
	transform: translateY(-1px);
}
/* ---- Classes dropdown ---- */
.nav-dropdown {
	position: relative;
}
.nav-dropdown-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.nav-caret {
	width: 5px;
	height: 5px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-1px) rotate(45deg);
	transition: transform 0.3s var(--ease);
}
.nav-dropdown:hover .nav-caret,
.nav-dropdown.open .nav-caret {
	transform: translateY(1px) rotate(-135deg);
}
.nav-dropdown-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(10px);
	min-width: 200px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	background: rgba(30, 30, 24, 0.97);
	border: 0.5px solid rgba(250, 243, 228, 0.1);
	border-radius: 3px;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.3s var(--ease),
		transform 0.3s var(--ease);
	z-index: 120;
}
/* invisible bridge so the menu stays open while moving the cursor onto it */
.nav-dropdown-menu::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 0;
	right: 0;
	height: 12px;
}
.nav-dropdown:hover .nav-dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(4px);
}
.nav-dropdown-menu a {
	display: block;
	padding: 9px 22px;
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	text-decoration: none;
	white-space: nowrap;
	opacity: 0.55;
	transition: opacity 0.3s;
}
.nav-dropdown-menu a:hover {
	opacity: 1;
}
/* ---- Hamburger toggle (hidden until mobile) ---- */
.nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 9px;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 110;
}
.nav-toggle span {
	display: block;
	width: 100%;
	height: 1.5px;
	background: var(--cream);
	transition:
		transform 0.3s var(--ease),
		opacity 0.3s var(--ease);
}
.home .hero {
	position: relative;
	height: 100vh;
	min-height: 680px;
	overflow: hidden;
}
.home .hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.home .hero-poster {
	position: absolute;
	inset: -8%;
	background: linear-gradient(135deg, #2a1a0e 0%, #1a1208 40%, #3d2010 65%, #1e1610 100%);
	animation: kenburns 20s ease-in-out infinite alternate;
}
.home .hero-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse at 65% 50%,
		rgba(180, 80, 10, 0.38) 0%,
		rgba(140, 50, 5, 0.18) 35%,
		transparent 65%
	);
	animation: glowpulse 7s ease-in-out infinite alternate;
}
.home .hero-vignette {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(25, 18, 8, 0.9) 0%,
		rgba(25, 18, 8, 0.45) 45%,
		rgba(25, 18, 8, 0.1) 100%
	);
}
.home .hero-vignette-bottom {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(25, 18, 8, 0.65) 0%, transparent 40%);
}
.home .hero-content {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 48px 72px;
	max-width: 600px;
}
.home .hero-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.5rem;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.3s forwards;
}
.home .hero-h1 {
	font-family: var(--font-display);
	font-size: 72px;
	line-height: 1.04;
	color: var(--cream);
	margin-bottom: 1.75rem;
	opacity: 0;
	transform: translateY(16px);
	animation: fadeup 0.9s var(--ease) 0.5s forwards;
}
.home .hero-h1 em {
	font-style: italic;
}
.home .hero-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.32);
	margin-bottom: 2.5rem;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.7s forwards;
}
.home .hero-ctas {
	display: flex;
	gap: 14px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.9s forwards;
}
.home .btn-light {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.home .btn-light:hover {
	background: #fff;
	transform: translateY(-2px);
}
.home .btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.home .btn-ghost:hover {
	border-color: rgba(250, 243, 228, 0.65);
	background: rgba(250, 243, 228, 0.05);
	transform: translateY(-2px);
}
.home .btn-dark {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--dark-olive);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.home .btn-dark:hover {
	background: #3a4a2c;
	transform: translateY(-2px);
}
.home .ticker {
	background: var(--dark-olive);
	padding: 13px 0;
	overflow: hidden;
	white-space: nowrap;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.05);
}
.home .ticker:hover .ticker-inner {
	animation-play-state: paused;
}
.home .ticker-inner {
	display: inline-block;
	animation: scroll 28s linear infinite;
}
.home .ticker-item {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	padding: 0 2rem;
	display: inline;
	transition: color 0.4s;
}
.home .ticker:hover .ticker-item {
	color: rgba(250, 243, 228, 0.5);
}
.home .ticker-dot {
	color: var(--cedar);
	font-size: 8px;
}
.home .intro {
	background: var(--black);
	padding: 8rem 48px;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.05);
}
.home .intro-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8rem;
	align-items: center;
}
.home .eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.5rem;
	display: block;
}
.home .intro-h2 {
	font-family: var(--font-display);
	font-size: 54px;
	color: var(--cream);
	line-height: 1.1;
}
.home .intro-h2 em {
	font-style: italic;
}
.home .intro- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 16px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.48);
	margin-bottom: 1.25rem;
}
.home .intro-:last-child {
	margin-bottom: 0;
}
.home .two-worlds {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	height: 520px;
}
.home .world {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
.home .world-bg {
	position: absolute;
	inset: 0;
	transition: transform 0.9s var(--ease);
}
.home .world:hover .world-bg {
	transform: scale(1.05);
}
.home .world-sauna .world-bg {
	background: linear-gradient(135deg, #2a1a0e 0%, #1e1208 50%, #3d2010 100%);
	background-size: cover;
	background-position: center;
}

.home .world-sauna-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse at center 65%,
		rgba(180, 80, 10, 0.42) 0%,
		rgba(140, 50, 5, 0.2) 40%,
		transparent 70%
	);
	transition: opacity 0.6s;
	z-index: 1;
	opacity: 0.6;
}
.home .world-sauna:hover .world-sauna-glow {
	opacity: 1.4;
}
.home .world-dome .world-bg {
	background: linear-gradient(160deg, #e8eff0 0%, #c8d8dc 30%, #a0b8c0 60%, #6888a0 100%);
	background-size: cover;
	background-position: center;
}
.home .world-dome-shimmer {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 25%, rgba(220, 235, 240, 0.5) 0%, transparent 65%);
	z-index: 1;
	opacity: 0.6;
}
.home .world-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(20, 14, 6, 0.95) 20%,
		rgba(20, 14, 6, 0.3) 100%,
		rgba(20, 14, 6, 0.05) 100%
	);
	transition: background 0.5s;
}
.home .world:hover .world-overlay {
	background: linear-gradient(
		to top,
		rgba(20, 14, 6, 0.95) 20%,
		rgba(20, 14, 6, 0.3) 100%,
		rgba(20, 14, 6, 0.05) 100%
	);
}
.home .world-sep {
	background: rgba(250, 243, 228, 0.06);
}
.home .world-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 3rem;
	transform: translateY(6px);
	transition: transform 0.45s var(--ease);
	z-index: 2;
}
.home .world:hover .world-content {
	transform: translateY(0);
}
.home .world-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 0.75rem;
	display: block;
}
.home .world-title {
	font-family: var(--font-display);
	font-size: 36px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 0.75rem;
}
.home .world- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.52);
	margin-bottom: 1.5rem;
	max-width: 340px;
}
.home .world-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: rgba(250, 243, 228, 0.38);
	letter-spacing: 0.1em;
	text-decoration: none;
	display: inline-block;
	transition:
		color 0.3s,
		transform 0.3s;
}
.home .world:hover .world-link {
	color: rgba(250, 243, 228, 0.82);
	transform: translateX(6px);
}
.home .services {
	background: var(--warm-oat);
	padding: 4rem 48px 5.5rem;
}
.home .services-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 0.5px solid rgba(30, 30, 24, 0.1);
}

.home .services-grid .si-body {
	color: rgba(30, 30, 24, 0.5);
}

.home .service-item {
	padding: 2.5rem 2rem 0;
	border-right: 0.5px solid rgba(30, 30, 24, 0.08);
	cursor: pointer;
}
.home .service-item:first-child {
	padding-left: 0;
}
.home .service-item:last-child {
	border-right: none;
	padding-right: 0;
}
.home .si-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 0.75rem;
	display: block;
}
.home .si-title {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--black);
	margin-bottom: 0.65rem;
	line-height: 1.2;
	display: block;
	transition: transform 0.3s;
}
.home .service-item:hover .si-title {
	transform: translateX(3px);
}
.home .si- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.85;
	color: rgba(30, 30, 24, 0.5);
}
.home .si-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	color: rgba(30, 30, 24, 1);
	letter-spacing: 0.08em;
	margin-top: 1.25rem;
	display: inline-block;
	text-decoration: none;
	transition:
		color 0.3s,
		transform 0.3s;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.15);
	padding-bottom: 3px;
}
.home .service-item:hover .si-link {
	color: rgba(30, 30, 24, 0.65);
	transform: translateX(4px);
	border-color: rgba(30, 30, 24, 0.35);
}
.home .si-coming {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(30, 30, 24, 1);
	margin-top: 1.25rem;
	display: inline-block;
	text-decoration: none;
}
.home .si-muted {
	opacity: 0.45;
}
.home .education {
	background: var(--warm-oat);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(30, 30, 24, 0.08);
}
.home .edu-top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
	margin-bottom: 5rem;
	align-items: end;
}
.home .edu-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.12;
}
.home .edu-h2 em {
	font-style: italic;
}
.home .edu- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 16px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.56);
}
.home .stats-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 0.5px solid rgba(30, 30, 24, 0.1);
}
.home .stat {
	padding: 3rem 3rem 0 0;
}
.home .stat + .stat {
	border-left: 0.5px solid rgba(30, 30, 24, 0.08);
	padding-left: 3rem;
	padding-right: 0;
}
.home .stat-num {
	font-family: var(--font-display);
	font-size: 80px;
	line-height: 1;
	color: var(--black);
	margin-bottom: 0.5rem;
	display: block;
	letter-spacing: -0.02em;
	transition: transform 0.4s var(--ease);
}
.home .stat:hover .stat-num {
	transform: translateY(-5px);
}
.home .stat-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 0.85rem;
	display: block;
}
.home .stat-text {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.9;
	color: rgba(30, 30, 24, 0.5);
}
.home .triptych {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	height: 380px;
	gap: 0px;
	background: #141410;
}
.home .tri {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
.home .tri-bg {
	position: absolute;
	inset: 0;
	transition: transform 0.85s var(--ease);
	background-size: cover !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
}
.home .tri:hover .tri-bg {
	transform: scale(1.06);
}
.home /*
      DEVELOPER NOTE — replace placeholder backgrounds with real images:
      .tri-1 .tri-bg { background-image: url('../images/FAY_SHIV_CLAIRE-19.png'); background-size: cover; background-position: center; }
      .tri-2 .tri-bg { background-image: url('../images/DSC02142.JPG'); background-size: cover; background-position: center; }
      .tri-3 .tri-bg { background-image: url('../images/recover-6.jpg'); background-size: cover; background-position: center; }
    */
    .tri-1 .tri-bg {
	background: linear-gradient(140deg, #3d2010 0%, #2a1508 45%, #1e1208 100%);
}
.home .tri-2 .tri-bg {
	background: linear-gradient(160deg, #222a20 0%, #1a2218 50%, #121a14 100%);
}
.home .tri-3 .tri-bg {
	background: linear-gradient(160deg, #c4d0cc 0%, #8aaeb4 40%, #5a8a98 100%);
}
.home .tri-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, rgba(160, 70, 10, 0.48) 0%, transparent 65%);
	transition: opacity 0.55s;
}
.home .tri-1:hover .tri-glow {
	opacity: 1.5;
}
.home .tri-shade {
	position: absolute;
	inset: 0;
	background: rgba(15, 10, 5, 0);
	transition: background 0.5s;
}
.home .tri:hover .tri-shade {
	background: rgba(15, 10, 5, 0.14);
}
.home .testimonial {
	background: var(--dark-olive);
	padding: 8rem 48px;
}
.home .test-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.22);
	margin-bottom: 3rem;
	display: block;
}
.home .test-quote {
	font-family: var(--font-display);
	font-size: 42px;
	line-height: 1.25;
	color: var(--cream);
	font-style: italic;
	max-width: 900px;
}
.home .test-attribution {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	margin-top: 2.5rem;
	display: block;
}
.home .findus {
	background: var(--warm-oat);
	padding: 8rem 48px;
}
.home .findus-grid {
	display: grid;
	grid-template-columns: 1fr 1.8fr;
	gap: 7rem;
	align-items: start;
}
.home .findus-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	margin-bottom: 1.25rem;
	line-height: 1.1;
}
.home .findus-h2 em {
	font-style: italic;
}
.home .findus- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.5);
	margin-bottom: 1.75rem;
}
.home .findus-address {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2.4;
	color: rgba(30, 30, 24, 0.65);
	border-top: 0.5px solid rgba(30, 30, 24, 0.1);
	padding-top: 1.5rem;
	font-style: normal;
}
.home .intro-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	text-decoration: none;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.12);
	padding-bottom: 4px;
	display: inline-block;
	margin-top: 2rem;
	transition:
		color 0.3s,
		border-color 0.3s;
}
.home .hours-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin: 2rem 0 1rem;
	display: block;
}
.home .hours-row {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.07);
	transition: padding-left 0.3s;
}
.home .hours-row:hover {
	padding-left: 6px;
}
.home .hours-day {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(30, 30, 24, 0.46);
}
.home .hours-time {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(30, 30, 24, 0.7);
}
.home .map-block {
	background: rgba(30, 30, 24, 0.055);
	border-radius: 4px;
	height: 380px;
	overflow: hidden;
}
.home .map-embed {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
.home .map-lbl {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	color: rgba(30, 30, 24, 0.18);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.footer-promo {
	position: relative;
	height: 380px;
	overflow: hidden;
}
.home .fp-bg {
	position: absolute;
	inset: -8%;
	background: linear-gradient(140deg, #1e1e18 0%, #2a1a10 35%, #1e1208 65%, #0e0e0a 100%);
	animation: kenburns 22s ease-in-out infinite alternate;
	/* DEVELOPER NOTE: Replace with actual image:
         background-image: url('../images/RECOVERY_AM-13.png');
         background-size: cover;
         background-position: center;
      */
	opacity: 0.8;
}
.home .fp-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 60%, rgba(140, 50, 5, 0.32) 0%, transparent 60%);
	animation: glowpulse 8s ease-in-out infinite alternate;
}
.home .fp-inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 3rem;
}
.home .fp-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	margin-bottom: 1.25rem;
}
.home .fp-h2 {
	font-family: var(--font-display);
	font-size: 56px;
	color: var(--cream);
	margin-bottom: 1rem;
	font-style: italic;
}
.home .fp- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 16px;
	color: rgba(250, 243, 228, 0.42);
	margin-bottom: 2.5rem;
	letter-spacing: 0.04em;
}
.home .fp-ctas {
	display: flex;
	gap: 14px;
}
.footer {
	background: var(--black);
	padding: 5rem 48px 3rem;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
}
.footer-inner {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr;
	gap: 4rem;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.05);
}
.footer-logo {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	display: block;
	margin-bottom: 1rem;
}
.footer-tagline {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(250, 243, 228, 0.24);
	line-height: 2;
	max-width: 220px;
}
.footer-col-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.15);
	margin-bottom: 1.25rem;
	display: block;
}
.footer-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(250, 243, 228, 0.33);
	display: block;
	margin-bottom: 0.7rem;
	text-decoration: none;
	transition:
		color 0.3s,
		transform 0.3s;
}
.footer-link:hover {
	color: rgba(250, 243, 228, 0.68);
	transform: translateX(4px);
}
.footer-base {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-copy {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	color: rgba(250, 243, 228, 0.13);
}
@media (max-width: 768px) {
	.nav {
		flex-wrap: wrap;
		padding: 16px 20px;
	}
	/* Solid backdrop whenever the mobile menu is open */
	.nav.nav-open {
		background: rgba(30, 30, 24, 0.98);
		border-bottom-color: rgba(250, 243, 228, 0.07);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
	}
	.nav-toggle {
		display: flex;
	}
	/* Animate hamburger into an X */
	.nav.nav-open .nav-toggle span:nth-child(1) {
		transform: translateY(6.5px) rotate(45deg);
	}
	.nav.nav-open .nav-toggle span:nth-child(2) {
		opacity: 0;
	}
	.nav.nav-open .nav-toggle span:nth-child(3) {
		transform: translateY(-6.5px) rotate(-45deg);
	}
	/* Everything collapses into the hamburger panel */
	.nav-links,
	.nav-btns {
		display: none;
		flex-basis: 100%;
		width: 100%;
	}
	.nav.nav-open .nav-links {
		display: flex;
		flex-direction: column;
		gap: 4px;
		margin-top: 22px;
	}
	.nav.nav-open .nav-links > li > a {
		display: block;
		padding: 12px 4px;
		font-size: 15px;
		opacity: 0.85;
	}
	.nav.nav-open .nav-btns {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 18px;
		padding-bottom: 8px;
	}
	.nav.nav-open .nav-btn-primary,
	.nav.nav-open .nav-btn-ghost {
		text-align: center;
		font-size: 13px;
		padding: 13px 20px;
	}
	/* Dropdown becomes an inline accordion inside the panel */
	.nav-dropdown-toggle {
		justify-content: space-between;
	}
	.nav-dropdown-menu {
		position: static;
		display: none;
		min-width: 0;
		margin: 0;
		padding: 2px 0 6px 16px;
		background: none;
		border: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}
	.nav-dropdown-menu::before {
		display: none;
	}
	.nav.nav-open .nav-dropdown.open .nav-dropdown-menu {
		display: block;
	}
	.nav-dropdown-menu a {
		padding: 10px 4px;
		font-size: 14px;
		opacity: 0.7;
	}
	.home .hero-content {
		padding: 0 24px 48px;
	}
	.home .hero-h1 {
		font-size: 42px;
	}
	.home .intro {
		padding: 5rem 24px;
	}
	.home .intro-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.home .intro-h2 {
		font-size: 36px;
	}
	.home .two-worlds {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1px 1fr;
		height: auto;
	}
	.home .world {
		height: 380px;
	}
	.home .services {
		padding: 3rem 24px;
	}
	.home .services-grid {
		grid-template-columns: 1fr;
	}
	.home .service-item {
		padding: 2rem 1.5rem 0 0;
	}
	.home .service-item:nth-child(even) {
		border-right: none;
		padding-right: 0;
	}
	.home .education {
		padding: 5rem 24px;
	}
	.home .edu-top {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.home .edu-h2 {
		font-size: 32px;
	}
	.home .stats-row {
		grid-template-columns: 1fr;
	}
	.home .stat {
		padding: 2rem 0 0;
		border-left: none !important;
		border-top: 0.5px solid rgba(30, 30, 24, 0.08);
	}
	.home .stat-num {
		font-size: 60px;
	}
	.home .triptych {
		grid-template-columns: 1fr;
		height: auto;
		gap: 0;
	}
	.home .tri {
		height: 240px;
	}
	.home .testimonial {
		padding: 5rem 24px;
	}
	.home .test-quote {
		font-size: 28px;
	}
	.home .findus {
		padding: 5rem 24px;
	}
	.home .findus-grid {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.home .findus-h2 {
		font-size: 32px;
	}
	.home .map-block {
		height: 260px;
	}
	.home .fp-h2 {
		font-size: 36px;
	}
	.footer {
		padding: 4rem 24px 2rem;
	}
	.footer-inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

/* ============================================================
   PAGE: forders-recovery-classes.html  (.classes)
   ============================================================ */

.classes .embed-note {
	font-size: 9px;
	color: rgba(30, 30, 24, 0.12);
}
.classes .nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 48px;
	background: rgba(30, 30, 24, 0);
	transition:
		background 0.5s var(--ease),
		border-color 0.5s;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0);
}
.classes .nav.scrolled {
	background: rgba(30, 30, 24, 0.96);
	border-bottom-color: rgba(250, 243, 228, 0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.classes .nav-logo {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	transition: opacity 0.3s;
}
.classes .nav-logo:hover {
	opacity: 0.6;
}
.classes .nav-links {
	display: flex;
	gap: 32px;
	list-style: none;
}
.classes .nav-links a {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	text-decoration: none;
	opacity: 0.4;
	transition: opacity 0.3s;
}
.classes .nav-links a:hover {
	opacity: 1;
}
.classes .nav-links a.active {
	opacity: 1;
}
.classes .nav-btns {
	display: flex;
	gap: 10px;
	align-items: center;
}
.classes .nav-btn-primary {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.classes .nav-btn-primary:hover {
	background: #fff;
	transform: translateY(-1px);
}
.classes .nav-btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.classes .nav-btn-ghost:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.65);
	transform: translateY(-1px);
}
.classes .btn-light {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.classes .btn-light:hover {
	background: #fff;
	transform: translateY(-2px);
}
.classes .btn-ghost-light {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.classes .btn-ghost-light:hover {
	border-color: rgba(250, 243, 228, 0.65);
	background: rgba(250, 243, 228, 0.05);
	transform: translateY(-2px);
}
.classes .btn-dark {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--black);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.classes .btn-dark:hover {
	background: var(--dark-olive);
	transform: translateY(-2px);
}
.classes .btn-ghost-dark {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(30, 30, 24, 0.25);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.classes .btn-ghost-dark:hover {
	border-color: rgba(30, 30, 24, 0.5);
	background: rgba(30, 30, 24, 0.04);
	transform: translateY(-2px);
}
.classes .eyebrow-cedar {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.25rem;
	display: block;
}
.classes .eyebrow-muted {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.35);
	margin-bottom: 1.25rem;
	display: block;
}
.classes .eyebrow-muted-dark {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(30, 30, 24, 0.35);
	margin-bottom: 1.25rem;
	display: block;
}
.classes .hero {
	position: relative;
	height: 100vh;
	min-height: 700px;
	overflow: hidden;
}
.classes .hero-bg {
	position: absolute;
	inset: -8%;
	/*
        DEVELOPER NOTE:
        This page lives in the light world — use a bright, airy image.
        Suggested options from photo library:
        — Dome exterior shot (recover-24.jpg) — architectural, striking
        — Yoga class inside dome (recover-23.jpg) — puts viewer in the experience
        — Sound bath / restorative session — calm and inviting
        Choose a portrait or landscape shot with a clear sky or light area
        in the upper portion so headline text sits clearly against it.
        background-image: url('images/[chosen image]');
        background-size: cover;
        background-position: center;
      */
	background: linear-gradient(160deg, #c8d8dc 0%, #90b0b8 35%, #5a8898 65%, #2c4a50 100%);
	animation: kenburns 22s ease-in-out infinite alternate;
}
.classes .hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(30, 30, 24, 0.85) 0%,
		rgba(30, 30, 24, 0.3) 50%,
		rgba(30, 30, 24, 0.1) 100%
	);
}
.classes .hero-overlay-side {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(30, 30, 24, 0.6) 0%,
		rgba(30, 30, 24, 0.2) 50%,
		transparent 100%
	);
}
.classes .hero-content {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 48px 72px;
	max-width: 680px;
}
.classes .hero-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.5rem;
	display: block;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.3s forwards;
}
.classes .hero-h1 {
	font-family: var(--font-display);
	font-size: 64px;
	line-height: 1.04;
	color: var(--cream);
	margin-bottom: 1.5rem;
	opacity: 0;
	transform: translateY(16px);
	animation: fadeup 0.9s var(--ease) 0.5s forwards;
}
.classes .hero-h1 em {
	font-style: italic;
}
.classes .hero-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.65);
	margin-bottom: 2.5rem;
	max-width: 560px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.7s forwards;
}
.classes .hero-ctas {
	display: flex;
	gap: 14px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.9s forwards;
}
.classes .booking {
	background: var(--warm-oat);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(30, 30, 24, 0.06);
	scroll-margin-top: 80px;
}
.classes .booking-inner {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 6rem;
	align-items: start;
}
.classes .booking-h2 {
	font-family: var(--font-display);
	font-size: 40px;
	color: var(--black);
	line-height: 1.15;
	margin-bottom: 1rem;
}
.classes .booking-h2 em {
	font-style: italic;
}
.classes .booking- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.5);
}
.classes .iframe-placeholder {
	background: rgba(30, 30, 24, 0.04);
	border: 0.5px solid rgba(30, 30, 24, 0.1);
	border-radius: 4px;
	/* height: 480px; */
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 1rem;
}
.classes .iframe-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(30, 30, 24, 0.2);
}
.classes .classes {
	background: var(--black);
	padding: 7rem 48px 0;
}
.classes .classes-header {
	margin-bottom: 4rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
}
.classes .classes-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
}
.classes .classes-h2 em {
	font-style: italic;
}
.classes .classes-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.48);
}
.classes .classes-panels {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}
.classes .class-panel {
	position: relative;
	overflow: hidden;
	height: 580px;
	cursor: default;
}
.classes .class-panel-bg {
	position: absolute;
	inset: 0;
	transition: transform 0.9s var(--ease);
}
.classes .class-panel:hover .class-panel-bg {
	transform: scale(1.04);
}
.classes .class-panel-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(15, 15, 10, 0.97) 0%,
		rgba(15, 15, 10, 0.9) 65%,
		rgba(15, 15, 10, 0.05) 100%
	);
	transition: background 0.5s;
}
.classes .class-panel:hover .class-panel-overlay {
	background: linear-gradient(to top, rgba(15, 15, 10, 0.92) 0%, rgba(15, 15, 10, 0.3) 45%, transparent 100%);
}
.classes .img-pilates {
	background: linear-gradient(160deg, #d8e8ec 0%, #a8c4cc 40%, #7898a8 100%);
	/* DEVELOPER NOTE: background-image: url('images/[pilates class photo]'); background-size: cover; background-position: center; */
}
.classes .img-yoga {
	background: linear-gradient(160deg, #c8d4c0 0%, #8aa898 40%, #5a7868 100%);
	/* DEVELOPER NOTE: background-image: url('images/DSC02142.JPG'); background-size: cover; background-position: center; */
}
.classes .img-prehab {
	background: linear-gradient(160deg, #c0cccc 0%, #8aacac 40%, #5a8888 100%);
	/* DEVELOPER NOTE: background-image: url('images/[prehab class photo]'); background-size: cover; background-position: center; */
}
.classes .class-panel-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2.5rem;
	transform: translateY(4px);
	transition: transform 0.45s var(--ease);
}
.classes .class-panel:hover .class-panel-content {
	transform: translateY(0);
}
.classes .class-panel-num {
	font-family: var(--font-display);
	font-size: 52px;
	line-height: 1;
	color: rgba(250, 243, 228, 0.07);
	display: block;
	margin-bottom: -4px;
}
.classes .class-panel-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.35);
	margin-top: 0.6rem;
	display: block;
}
.classes .class-panel-title {
	font-family: var(--font-display);
	font-size: 34px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 0.75rem;
}
.classes .class-panel-title em {
	font-style: italic;
}
.classes .class-panel- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.52);
	margin-bottom: 1.25rem;
}
.classes .class-panel-details {
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
	padding-top: 1rem;
	border-top: 0.5px solid rgba(250, 243, 228, 0.08);
}
.classes .class-detail {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.3);
}
.classes .pricing {
	background: var(--dark-olive);
	padding: 7rem 48px;
	scroll-margin-top: 80px;
}
.classes .pricing-header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
	margin-bottom: 4rem;
}
.classes .pricing-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
}
.classes .pricing-h2 em {
	font-style: italic;
}
.classes .pricing-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.48);
}
.classes .pricing-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}
.classes .pricing-card {
	background: rgba(250, 243, 228, 0.05);
	padding: 3rem;
	position: relative;
	border: 0.5px solid rgba(250, 243, 228, 0.06);
}
.classes .pricing-card.featured {
	background: var(--black);
	border-color: transparent;
}
.classes .value-tag {
	position: absolute;
	top: 2.5rem;
	right: 2.5rem;
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	border: 0.5px solid rgba(122, 92, 58, 0.35);
	padding: 4px 12px;
	border-radius: 20px;
}
.classes .pricing-card-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1rem;
	display: block;
}
.classes .pricing-card-title {
	font-family: var(--font-display);
	font-size: 32px;
	color: var(--cream);
	line-height: 1.2;
	margin-bottom: 1rem;
}
.classes .pricing-card- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.9;
	color: rgba(250, 243, 228, 0.48);
	margin-bottom: 2rem;
}
.classes .pricing-price {
	font-family: var(--font-display);
	font-size: 42px;
	color: var(--cream);
	line-height: 1;
	margin-bottom: 0.5rem;
}
.classes .pricing-price-note {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	color: rgba(250, 243, 228, 0.3);
	margin-bottom: 2rem;
}
.classes .expect {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.classes .expect-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
}
.classes .expect-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
	margin-bottom: 1.5rem;
}
.classes .expect-h2 em {
	font-style: italic;
}
.classes .expect-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.55);
}
.classes .expect-item {
	padding: 1.5rem 0;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.08);
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 2rem;
	align-items: start;
}
.classes .expect-item:first-child {
	border-top: 0.5px solid rgba(30, 30, 24, 0.08);
}
.classes .expect-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(30, 30, 24, 0.38);
	padding-top: 2px;
}
.classes .expect-value {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.85;
	color: rgba(30, 30, 24, 0.62);
}
.classes .crosssell {
	background: var(--black);
	padding: 7rem 48px 5rem;
}
.classes .crosssell-header {
	margin-bottom: 3rem;
}
.classes .crosssell-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 0.75rem;
}
.classes .crosssell-h2 em {
	font-style: italic;
}
.classes .crosssell- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.45);
	max-width: 480px;
}
.classes .crosssell-panels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 400px;
	gap: 2px;
}
.classes .crosssell-panel {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
.classes .cs-bg {
	position: absolute;
	inset: 0;
	transition: transform 0.9s var(--ease);
}
.classes .crosssell-panel:hover .cs-bg {
	transform: scale(1.04);
}
.classes .cs-dark {
	background: linear-gradient(135deg, #2a1a0e 0%, #1e1208 50%, #3d2010 100%);
}
.classes .cs-dark::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse at center 65%,
		rgba(180, 80, 10, 0.42) 0%,
		rgba(140, 50, 5, 0.2) 40%,
		transparent 70%
	);
}
.classes .cs-olive {
	background: linear-gradient(160deg, #2a3028 0%, #1e2820 50%, #141e18 100%);
}
.classes .cs-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 10, 4, 0.95) 0%, rgba(15, 10, 4, 0.25) 50%, transparent 100%);
	transition: background 0.5s;
}
.classes .crosssell-panel:hover .cs-overlay {
	background: linear-gradient(to top, rgba(15, 10, 4, 0.88) 0%, rgba(15, 10, 4, 0.15) 50%, transparent 100%);
}
.classes .cs-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2.5rem;
	transform: translateY(4px);
	transition: transform 0.45s var(--ease);
}
.classes .crosssell-panel:hover .cs-content {
	transform: translateY(0);
}
.classes .cs-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 0.6rem;
	display: block;
}
.classes .cs-title {
	font-family: var(--font-display);
	font-size: 26px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 0.6rem;
}
.classes .cs- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.8;
	color: rgba(250, 243, 228, 0.5);
	margin-bottom: 1.25rem;
}
.classes .cs-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	color: rgba(250, 243, 228, 0.38);
	letter-spacing: 0.1em;
	text-decoration: none;
	display: inline-block;
	transition:
		color 0.3s,
		transform 0.3s;
}
.classes .crosssell-panel:hover .cs-link {
	color: rgba(250, 243, 228, 0.82);
	transform: translateX(6px);
}
.classes .contact {
	background: var(--warm-oat);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(30, 30, 24, 0.06);
}
.classes .contact-inner {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 6rem;
	align-items: start;
}
.classes .contact-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
	margin-bottom: 1rem;
}
.classes .contact-h2 em {
	font-style: italic;
}
.classes .contact- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.52);
	margin-bottom: 2rem;
}
.classes .contact-details {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.classes .contact-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(30, 30, 24, 0.48);
	text-decoration: none;
	transition: color 0.3s;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.classes .contact-link:hover {
	color: var(--black);
}
.classes .contact-link-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	width: 80px;
	flex-shrink: 0;
}
.classes .form-placeholder {
	background: rgba(30, 30, 24, 0.04);
	border: 0.5px solid rgba(30, 30, 24, 0.08);
	border-radius: 4px;
	height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.classes .form-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(30, 30, 24, 0.18);
}
@media (max-width: 768px) {
	.classes .nav-links {
		display: none;
	}
	.classes .nav {
		padding: 16px 20px;
	}
	.classes .nav-btns {
		gap: 8px;
	}
	.classes .nav-btn-primary,
	.classes .nav-btn-ghost {
		font-size: 10px;
		padding: 8px 14px;
	}
	.classes .hero-content {
		padding: 0 24px 48px;
	}
	.classes .hero-h1 {
		font-size: 40px;
	}
	.classes .hero-sub {
		font-size: 14px;
	}
	.classes .booking {
		padding: 5rem 24px;
	}
	.classes .booking-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.classes .booking-h2 {
		font-size: 30px;
	}
	.classes .classes {
		padding: 5rem 24px 0;
	}
	.classes .classes-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.classes .classes-h2 {
		font-size: 32px;
	}
	.classes .classes-panels {
		grid-template-columns: 1fr;
	}
	.classes .class-panel {
		height: auto;
	}

	.classes .class-panel-content {
		position: relative;
		transform: translateY(0);
	}

	.classes .pricing {
		padding: 5rem 24px;
	}
	.classes .pricing-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.classes .pricing-h2 {
		font-size: 32px;
	}
	.classes .pricing-cards {
		grid-template-columns: 1fr;
	}
	.classes .expect {
		padding: 5rem 24px;
	}
	.classes .expect-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.classes .expect-h2 {
		font-size: 32px;
	}
	.classes .expect-item {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
	.classes .crosssell {
		padding: 5rem 24px 4rem;
	}
	.classes .crosssell-h2 {
		font-size: 32px;
	}
	.classes .crosssell-panels {
		grid-template-columns: 1fr;
		height: auto;
	}
	.classes .crosssell-panel {
		height: 320px;
	}
	.classes .contact {
		padding: 5rem 24px;
	}
	.classes .contact-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.classes .contact-h2 {
		font-size: 32px;
	}
}

/* ============================================================
   PAGE: forders-recovery-intensives.html  (.intensives)
   ============================================================ */
.intensives {
	font-family: var(--font-);
	background: var(--black);
	color: var(--cream);
	-webkit-font-smoothing: antialiased;
}
.intensives .embed-note {
	font-size: 9px;
	color: rgba(250, 243, 228, 0.08);
}
.intensives .btn-sm {
	font-size: 12px;
	padding: 10px 22px;
}
.intensives .nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 48px;
	background: rgba(30, 30, 24, 0);
	transition:
		background 0.5s var(--ease),
		border-color 0.5s;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0);
}
.intensives .nav.scrolled {
	background: rgba(30, 30, 24, 0.96);
	border-bottom-color: rgba(250, 243, 228, 0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.intensives .nav-logo {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	transition: opacity 0.3s;
}
.intensives .nav-logo:hover {
	opacity: 0.6;
}
.intensives .nav-links {
	display: flex;
	gap: 32px;
	list-style: none;
}
.intensives .nav-links a {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	text-decoration: none;
	opacity: 0.4;
	transition: opacity 0.3s;
}
.intensives .nav-links a:hover {
	opacity: 1;
}
.intensives .nav-links a.active {
	opacity: 1;
}
.intensives .nav-btns {
	display: flex;
	gap: 10px;
	align-items: center;
}
.intensives .nav-btn-primary {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.intensives .nav-btn-primary:hover {
	background: #fff;
	transform: translateY(-1px);
}
.intensives .nav-btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.intensives .nav-btn-ghost:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.65);
	transform: translateY(-1px);
}
.intensives .btn-light {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.intensives .btn-light:hover {
	background: #fff;
	transform: translateY(-2px);
}
.intensives .btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.intensives .btn-ghost:hover {
	border-color: rgba(250, 243, 228, 0.65);
	background: rgba(250, 243, 228, 0.05);
	transform: translateY(-2px);
}
.intensives .btn-dark-oat {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--black);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.intensives .btn-dark-oat:hover {
	background: var(--dark-olive);
	transform: translateY(-2px);
}
.intensives .eyebrow-cedar {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.25rem;
	display: block;
}
.intensives .eyebrow-muted {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.32);
	margin-bottom: 1.25rem;
	display: block;
}
.intensives .hero {
	position: relative;
	height: 100vh;
	min-height: 700px;
	overflow: hidden;
}
.intensives .hero-bg {
	position: absolute;
	inset: -8%;
	/*
        DEVELOPER NOTE:
        Use a calm, atmospheric dome or session image.
        Good options: DSC02226.JPG (people lying in savasana),
        DSC02142.JPG (yoga class lying down), recover-2.jpg (sound bath),
        or DSC02182.JPG (hands-on adjustment).
        Should feel still and meditative — not action-led.
        background-image: url('images/[chosen image]');
        background-size: cover;
        background-position: center;
      */
	background: linear-gradient(160deg, #1a2420 0%, #141e18 40%, #0e1610 70%, #0a1008 100%);
	animation: kenburns 25s ease-in-out infinite alternate;
}
.intensives .hero-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 55% 45%, rgba(80, 100, 70, 0.3) 0%, transparent 60%);
	animation: glowpulse 9s ease-in-out infinite alternate;
}
.intensives .hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(14, 18, 10, 0.95) 0%,
		rgba(14, 18, 10, 0.4) 50%,
		rgba(14, 18, 10, 0.15) 100%
	);
}
.intensives .hero-overlay-side {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(14, 18, 10, 0.7) 0%,
		rgba(14, 18, 10, 0.2) 55%,
		transparent 100%
	);
}
.intensives .hero-content {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 48px 72px;
	max-width: 640px;
}
.intensives .hero-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.5rem;
	display: block;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.3s forwards;
}
.intensives .hero-h1 {
	font-family: var(--font-display);
	font-size: 64px;
	line-height: 1.04;
	color: var(--cream);
	margin-bottom: 1.5rem;
	opacity: 0;
	transform: translateY(16px);
	animation: fadeup 0.9s var(--ease) 0.5s forwards;
}
.intensives .hero-h1 em {
	font-style: italic;
}
.intensives .hero-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.58);
	margin-bottom: 2.5rem;
	max-width: 520px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.7s forwards;
}
.intensives .hero-ctas {
	display: flex;
	gap: 14px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.9s forwards;
}
.intensives .booking {
	background: var(--black);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
	scroll-margin-top: 80px;
}
.intensives .booking-inner {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 6rem;
	align-items: start;
}
.intensives .booking-h2 {
	font-family: var(--font-display);
	font-size: 40px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 1rem;
}
.intensives .booking-h2 em {
	font-style: italic;
}
.intensives .booking- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.48);
}
.intensives .booking-note {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	line-height: 1.8;
	color: rgba(250, 243, 228, 0.28);
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 0.5px solid rgba(250, 243, 228, 0.06);
}
.intensives .iframe-placeholder {
	background: rgba(250, 243, 228, 0.03);
	border: 0.5px solid rgba(250, 243, 228, 0.07);
	border-radius: 4px;
	height: 480px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 1rem;
}
.intensives .iframe-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.15);
}
.intensives .session {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.intensives .session-header {
	margin-bottom: 5rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
}
.intensives .session-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
}
.intensives .session-h2 em {
	font-style: italic;
}
.intensives .session-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.52);
}
.intensives .session-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	margin-bottom: 2px;
}
.intensives .session-card-image {
	position: relative;
	overflow: hidden;
	min-height: 560px;
	/*
        DEVELOPER NOTE:
        Use a calm session image — sound bath, savasana, or dome interior.
        Good options: recover-2.jpg, DSC02226.JPG, DSC02142.JPG
        background-image: url('images/recover-2.jpg');
        background-size: cover;
        background-position: center;
      */
	background: linear-gradient(160deg, #b8ccbc 0%, #7a9c84 40%, #4a7060 100%);
}
.intensives .session-card-image-bg {
	position: absolute;
	inset: 0;
	transition: transform 0.9s var(--ease);
}
.intensives .session-card:hover .session-card-image-bg {
	transform: scale(1.03);
}
.intensives .session-card-image-note {
	position: absolute;
	bottom: 12px;
	right: 12px;
	font-family: var(--font-);
	font-size: 8px;
	color: rgba(250, 243, 228, 0.15);
	letter-spacing: 0.1em;
}
.intensives .session-card-content {
	background: var(--black);
	padding: 4rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.intensives .session-card-num {
	font-family: var(--font-display);
	font-size: 80px;
	line-height: 1;
	color: rgba(250, 243, 228, 0.05);
	display: block;
	margin-bottom: -8px;
}
.intensives .session-card-title {
	font-family: var(--font-display);
	font-size: 32px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 1.5rem;
}
.intensives .session-card-title em {
	font-style: italic;
}
.intensives .session-card- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.52);
	margin-bottom: 2rem;
}
.intensives .session-pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin-bottom: 2rem;
	border-top: 0.5px solid rgba(250, 243, 228, 0.08);
}
.intensives .session-pillar {
	padding: 1.25rem 1.25rem 1.25rem 0;
	border-right: 0.5px solid rgba(250, 243, 228, 0.06);
}
.intensives .session-pillar:last-child {
	border-right: none;
}
.intensives .session-pillar:not(:first-child) {
	padding-left: 1.25rem;
}
.intensives .session-pillar-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 0.4rem;
	display: block;
}
.intensives .session-pillar-value {
	font-family: var(--font-display);
	font-size: 16px;
	color: var(--cream);
	font-style: italic;
}
.intensives .session-card-details {
	display: flex;
	gap: 1.5rem;
	padding-top: 1.5rem;
	border-top: 0.5px solid rgba(250, 243, 228, 0.07);
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.intensives .session-detail-group {
	display: flex;
	gap: 1.5rem;
}
.intensives .session-detail {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
}
.intensives .session-more {
	background: rgba(30, 30, 24, 0.04);
	border: 0.5px dashed rgba(30, 30, 24, 0.15);
	border-radius: 2px;
	padding: 3rem;
	text-align: center;
	margin-top: 2px;
}
.intensives .session-more-text {
	font-family: var(--font-display);
	font-size: 22px;
	color: rgba(30, 30, 24, 0.3);
	font-style: italic;
	margin-bottom: 0.5rem;
}
.intensives .session-more-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	color: rgba(30, 30, 24, 0.25);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.intensives .atmosphere {
	position: relative;
	height: 420px;
	overflow: hidden;
}
.intensives .atm-bg {
	position: absolute;
	inset: -8%;
	background: linear-gradient(160deg, #1a2420 0%, #141e18 35%, #0e1610 65%, #0a1008 100%);
	animation: kenburns 28s ease-in-out infinite alternate;
}
.intensives .atm-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 55%, rgba(80, 105, 70, 0.35) 0%, transparent 60%);
	animation: glowpulse 10s ease-in-out infinite alternate;
}
.intensives .atm-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 14, 8, 0.45);
}
.intensives .atm-content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	padding: 3rem;
}
.intensives .atm-quote {
	font-family: var(--font-display);
	font-size: 34px;
	line-height: 1.3;
	color: var(--cream);
	font-style: italic;
	max-width: 580px;
}
.intensives .atm-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.3);
	margin-top: 2rem;
}
.intensives .expect {
	background: var(--dark-olive);
	padding: 7rem 48px;
}
.intensives .expect-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
}
.intensives .expect-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 1.5rem;
}
.intensives .expect-h2 em {
	font-style: italic;
}
.intensives .expect-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.5);
}
.intensives .expect-item {
	padding: 1.5rem 0;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.07);
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 2rem;
	align-items: start;
}
.intensives .expect-item:first-child {
	border-top: 0.5px solid rgba(250, 243, 228, 0.07);
}
.intensives .expect-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.35);
	padding-top: 2px;
}
.intensives .expect-value {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.55);
}
.intensives .crosssell {
	background: var(--warm-oat);
	padding: 7rem 48px 5rem;
}
.intensives .crosssell-header {
	margin-bottom: 3rem;
}
.intensives .crosssell-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
	margin-bottom: 0.75rem;
}
.intensives .crosssell-h2 em {
	font-style: italic;
}
.intensives .crosssell- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.5);
	max-width: 480px;
}
.intensives .crosssell-panels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 380px;
	gap: 2px;
}
.intensives .cs-panel {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
.intensives .cs-bg {
	position: absolute;
	inset: 0;
	transition: transform 0.9s var(--ease);
}
.intensives .cs-panel:hover .cs-bg {
	transform: scale(1.04);
}
.intensives .cs-dark {
	background: linear-gradient(135deg, #2a1a0e 0%, #1e1208 50%, #3d2010 100%);
}
.intensives .cs-dark::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse at center 65%,
		rgba(180, 80, 10, 0.42) 0%,
		rgba(140, 50, 5, 0.2) 40%,
		transparent 70%
	);
}
.intensives .cs-dome {
	background: linear-gradient(160deg, #c8d8dc 0%, #90b0b8 40%, #5a8898 100%);
}
.intensives .cs-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 10, 4, 0.95) 0%, rgba(15, 10, 4, 0.25) 50%, transparent 100%);
	transition: background 0.5s;
}
.intensives .cs-panel:hover .cs-overlay {
	background: linear-gradient(to top, rgba(15, 10, 4, 0.88) 0%, rgba(15, 10, 4, 0.15) 50%, transparent 100%);
}
.intensives .cs-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2.5rem;
	transform: translateY(4px);
	transition: transform 0.45s var(--ease);
}
.intensives .cs-panel:hover .cs-content {
	transform: translateY(0);
}
.intensives .cs-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 0.6rem;
	display: block;
}
.intensives .cs-title {
	font-family: var(--font-display);
	font-size: 26px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 0.6rem;
}
.intensives .cs- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.8;
	color: rgba(250, 243, 228, 0.5);
	margin-bottom: 1.25rem;
}
.intensives .cs-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	color: rgba(250, 243, 228, 0.38);
	letter-spacing: 0.1em;
	text-decoration: none;
	display: inline-block;
	transition:
		color 0.3s,
		transform 0.3s;
}
.intensives .cs-panel:hover .cs-link {
	color: rgba(250, 243, 228, 0.82);
	transform: translateX(6px);
}
.intensives .contact {
	background: var(--black);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
}
.intensives .contact-inner {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 6rem;
	align-items: start;
}
.intensives .contact-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 1rem;
}
.intensives .contact-h2 em {
	font-style: italic;
}
.intensives .contact- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.48);
	margin-bottom: 2rem;
}
.intensives .contact-details {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.intensives .contact-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(250, 243, 228, 0.42);
	text-decoration: none;
	transition: color 0.3s;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.intensives .contact-link:hover {
	color: var(--cream);
}
.intensives .contact-link-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	width: 80px;
	flex-shrink: 0;
}
.intensives .form-placeholder {
	background: rgba(250, 243, 228, 0.03);
	border: 0.5px solid rgba(250, 243, 228, 0.07);
	border-radius: 4px;
	height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.intensives .form-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.13);
}
@media (max-width: 768px) {
	.intensives .nav-links {
		display: none;
	}
	.intensives .nav {
		padding: 16px 20px;
	}
	.intensives .nav-btns {
		gap: 8px;
	}
	.intensives .nav-btn-primary,
	.intensives .nav-btn-ghost {
		font-size: 10px;
		padding: 8px 14px;
	}
	.intensives .hero-content {
		padding: 0 24px 48px;
	}
	.intensives .hero-h1 {
		font-size: 40px;
	}
	.intensives .hero-sub {
		font-size: 14px;
	}
	.intensives .booking {
		padding: 5rem 24px;
	}
	.intensives .booking-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.intensives .booking-h2 {
		font-size: 30px;
	}
	.intensives .session {
		padding: 5rem 24px;
	}
	.intensives .session-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.intensives .session-h2 {
		font-size: 32px;
	}
	.intensives .session-card {
		grid-template-columns: 1fr;
	}
	.intensives .session-card-image {
		min-height: 320px;
	}
	.intensives .session-card-content {
		padding: 2.5rem 24px;
	}
	.intensives .session-pillars {
		grid-template-columns: 1fr;
	}
	.intensives .session-pillar {
		border-right: none;
		border-bottom: 0.5px solid rgba(250, 243, 228, 0.06);
		padding: 1rem 0;
	}
	.intensives .session-pillar:not(:first-child) {
		padding-left: 0;
	}
	.intensives .atmosphere {
		height: 300px;
	}
	.intensives .atm-quote {
		font-size: 22px;
	}
	.intensives .expect {
		padding: 5rem 24px;
	}
	.intensives .expect-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.intensives .expect-h2 {
		font-size: 32px;
	}
	.intensives .expect-item {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
	.intensives .crosssell {
		padding: 5rem 24px 4rem;
	}
	.intensives .crosssell-h2 {
		font-size: 32px;
	}
	.intensives .crosssell-panels {
		grid-template-columns: 1fr;
		height: auto;
	}
	.intensives .cs-panel {
		height: 300px;
	}
	.intensives .contact {
		padding: 5rem 24px;
	}
	.intensives .contact-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.intensives .contact-h2 {
		font-size: 32px;
	}
}

/* ============================================================
   PAGE: forders-corporate.html  (.corporate)
   ============================================================ */
.corporate {
	font-family: var(--font-);
	background: var(--black);
	color: var(--cream);
	-webkit-font-smoothing: antialiased;
}
.corporate .nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 48px;
	background: rgba(30, 30, 24, 0);
	transition:
		background 0.5s var(--ease),
		border-color 0.5s;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0);
}
.corporate .nav.scrolled {
	background: rgba(30, 30, 24, 0.96);
	border-bottom-color: rgba(250, 243, 228, 0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.corporate .nav-logo {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	transition: opacity 0.3s;
}
.corporate .nav-logo:hover {
	opacity: 0.6;
}
.corporate .nav-links {
	display: flex;
	gap: 32px;
	list-style: none;
}
.corporate .nav-links a {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	text-decoration: none;
	opacity: 0.4;
	transition: opacity 0.3s;
}
.corporate .nav-links a:hover {
	opacity: 1;
}
.corporate .nav-btns {
	display: flex;
	gap: 10px;
	align-items: center;
}
.corporate .nav-btn-primary {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.corporate .nav-btn-primary:hover {
	background: #fff;
	transform: translateY(-1px);
}
.corporate .nav-btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.corporate .nav-btn-ghost:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.65);
	transform: translateY(-1px);
}
.corporate .btn-light {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.corporate .btn-light:hover {
	background: #fff;
	transform: translateY(-2px);
}
.corporate .btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.corporate .btn-ghost:hover {
	border-color: rgba(250, 243, 228, 0.65);
	background: rgba(250, 243, 228, 0.05);
	transform: translateY(-2px);
}
.corporate .btn-dark {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--black);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.corporate .btn-dark:hover {
	background: var(--dark-olive);
	transform: translateY(-2px);
}
.corporate .btn-outline-dark {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(30, 30, 24, 0.25);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.corporate .btn-outline-dark:hover {
	border-color: rgba(30, 30, 24, 0.5);
	background: rgba(30, 30, 24, 0.04);
	transform: translateY(-2px);
}
.corporate .eyebrow-cedar {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.25rem;
	display: block;
}
.corporate .eyebrow-muted {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.32);
	margin-bottom: 1.25rem;
	display: block;
}
.corporate .eyebrow-muted-dark {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(30, 30, 24, 0.35);
	margin-bottom: 1.25rem;
	display: block;
}
.corporate .hero {
	position: relative;
	height: 100vh;
	min-height: 700px;
	overflow: hidden;
}
.corporate .hero-bg {
	position: absolute;
	inset: -8%;
	/*
        DEVELOPER NOTE:
        Use a group / social image — people enjoying the space together.
        Good options: FAY_SHIV_CLAIRE-19.png (group in sauna),
        recover-23.jpg (class in dome), DSC02226.JPG (restorative session).
        background-image: url('images/FAY_SHIV_CLAIRE-19.png');
        background-size: cover; background-position: center 40%;
      */
	background: linear-gradient(135deg, #1a2420 0%, #141e18 40%, #0e1a14 70%, #0a1008 100%);
	animation: kenburns 22s ease-in-out infinite alternate;
}
.corporate .hero-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 60% 50%, rgba(80, 105, 70, 0.28) 0%, transparent 60%);
	animation: glowpulse 8s ease-in-out infinite alternate;
}
.corporate .hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(14, 18, 10, 0.94) 0%,
		rgba(14, 18, 10, 0.45) 50%,
		rgba(14, 18, 10, 0.15) 100%
	);
}
.corporate .hero-overlay-side {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(14, 18, 10, 0.75) 0%,
		rgba(14, 18, 10, 0.2) 55%,
		transparent 100%
	);
}
.corporate .hero-content {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 48px 72px;
	max-width: 700px;
}
.corporate .hero-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.5rem;
	display: block;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.3s forwards;
}
.corporate .hero-h1 {
	font-family: var(--font-display);
	font-size: 64px;
	line-height: 1.04;
	color: var(--cream);
	margin-bottom: 1.5rem;
	opacity: 0;
	transform: translateY(16px);
	animation: fadeup 0.9s var(--ease) 0.5s forwards;
}
.corporate .hero-h1 em {
	font-style: italic;
}
.corporate .hero-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.58);
	margin-bottom: 2.5rem;
	max-width: 580px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.7s forwards;
}
.corporate .hero-ctas {
	display: flex;
	gap: 14px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.9s forwards;
}
.corporate .offer {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.corporate .offer-header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
	margin-bottom: 5rem;
}
.corporate .offer-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
}
.corporate .offer-h2 em {
	font-style: italic;
}
.corporate .offer-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.52);
}
.corporate .offer-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: 0.5px solid rgba(30, 30, 24, 0.1);
}
.corporate .offer-item {
	padding: 2.5rem 2.5rem 2.5rem 0;
	border-right: 0.5px solid rgba(30, 30, 24, 0.08);
	cursor: default;
	transition: opacity 0.3s;
}
.corporate .offer-item:hover {
	opacity: 0.85;
}
.corporate .offer-item:nth-child(3n) {
	border-right: none;
	padding-right: 0;
}
.corporate .offer-item:nth-child(n + 4) {
	border-top: 0.5px solid rgba(30, 30, 24, 0.08);
	padding-top: 2.5rem;
}
.corporate .offer-item:not(:first-child):not(:nth-child(3n + 1)) {
	padding-left: 2.5rem;
}
.corporate .offer-num {
	font-family: var(--font-display);
	font-size: 44px;
	line-height: 1;
	color: rgba(30, 30, 24, 0.06);
	display: block;
	margin-bottom: -2px;
}
.corporate .offer-title {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--black);
	line-height: 1.2;
	margin-bottom: 0.6rem;
}
.corporate .offer-title em {
	font-style: italic;
}
.corporate .offer- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.85;
	color: rgba(30, 30, 24, 0.52);
}
.corporate .offer-optional {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-top: 0.6rem;
	display: block;
}
.corporate .packages {
	background: var(--black);
	padding: 7rem 48px;
}
.corporate .packages-header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
	margin-bottom: 4rem;
}
.corporate .packages-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
}
.corporate .packages-h2 em {
	font-style: italic;
}
.corporate .packages-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.48);
}
.corporate .packages-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}
.corporate .package-card {
	background: rgba(250, 243, 228, 0.04);
	border: 0.5px solid rgba(250, 243, 228, 0.07);
	padding: 3.5rem;
	position: relative;
}
.corporate .package-card.featured {
	background: var(--dark-olive);
	border-color: transparent;
}
.corporate .package-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.3);
	margin-bottom: 0.6rem;
	display: block;
}
.corporate .package-title {
	font-family: var(--font-display);
	font-size: 34px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 1.5rem;
}
.corporate .package-title em {
	font-style: italic;
}
.corporate .package-list {
	list-style: none;
	margin-bottom: 2.5rem;
}
.corporate .package-list li {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(250, 243, 228, 0.55);
	padding: 0.8rem 0;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.06);
}
.corporate .package-list li:last-child {
	border-bottom: none;
}
.corporate .package-note {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	color: rgba(250, 243, 228, 0.28);
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 0.5px solid rgba(250, 243, 228, 0.06);
	line-height: 1.8;
}
.corporate .package-enquire {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.35);
	text-decoration: none;
	display: inline-block;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.15);
	padding-bottom: 3px;
	transition:
		color 0.3s,
		border-color 0.3s;
	margin-top: 0.5rem;
}
.corporate .package-enquire:hover {
	color: rgba(250, 243, 228, 0.7);
	border-color: rgba(250, 243, 228, 0.4);
}
.corporate .why {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.corporate .why-header {
	margin-bottom: 5rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
}
.corporate .why-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
}
.corporate .why-h2 em {
	font-style: italic;
}
.corporate .why-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.52);
}
.corporate .why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 0.5px solid rgba(30, 30, 24, 0.1);
}
.corporate .why-item {
	padding: 3rem 3rem 3rem 0;
	border-right: 0.5px solid rgba(30, 30, 24, 0.08);
}
.corporate .why-item:last-child {
	border-right: none;
	padding-right: 0;
}
.corporate .why-item:not(:first-child) {
	padding-left: 3rem;
}
.corporate .why-num {
	font-family: var(--font-display);
	font-size: 64px;
	line-height: 1;
	color: rgba(30, 30, 24, 0.06);
	display: block;
	margin-bottom: -4px;
}
.corporate .why-title {
	font-family: var(--font-display);
	font-size: 26px;
	color: var(--black);
	line-height: 1.2;
	margin-bottom: 0.85rem;
}
.corporate .why-title em {
	font-style: italic;
}
.corporate .why- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.9;
	color: rgba(30, 30, 24, 0.55);
}
.corporate .image-break {
	position: relative;
	height: 460px;
	overflow: hidden;
}
.corporate .ib-bg {
	position: absolute;
	inset: -8%;
	/*
        DEVELOPER NOTE:
        Use a group social image — FAY_SHIV_CLAIRE-19.png or recover-23.jpg
        background-image: url('images/FAY_SHIV_CLAIRE-19.png');
        background-size: cover; background-position: center 40%;
      */
	background: linear-gradient(135deg, #1a0a04 0%, #3d1a08 30%, #2a1208 60%, #0e0804 100%);
	animation: kenburns 25s ease-in-out infinite alternate;
}
.corporate .ib-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 40%, rgba(190, 80, 8, 0.42) 0%, transparent 60%);
}
.corporate .ib-overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 8, 2, 0.45);
}
.corporate .ib-content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	padding: 3rem;
}
.corporate .ib-quote {
	font-family: var(--font-display);
	font-size: 36px;
	line-height: 1.25;
	color: var(--cream);
	font-style: italic;
	max-width: 640px;
}
.corporate .ib-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.3);
	margin-top: 2rem;
}
.corporate .wellness {
	background: var(--dark-olive);
	padding: 7rem 48px;
}
.corporate .wellness-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7rem;
	align-items: center;
}
.corporate .wellness-h2 {
	font-family: var(--font-display);
	font-size: 44px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 1.25rem;
}
.corporate .wellness-h2 em {
	font-style: italic;
}
.corporate .wellness- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.5);
	margin-bottom: 2rem;
}
.corporate .wellness-right {
	background: rgba(250, 243, 228, 0.04);
	border: 0.5px solid rgba(250, 243, 228, 0.07);
	border-radius: 2px;
	padding: 3.5rem;
}
.corporate .wellness-coming {
	font-family: var(--font-display);
	font-size: 28px;
	color: rgba(250, 243, 228, 0.35);
	font-style: italic;
	margin-bottom: 1rem;
}
.corporate .wellness-coming- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.9;
	color: rgba(250, 243, 228, 0.3);
	margin-bottom: 2rem;
}
.corporate .wellness-form {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.corporate .wellness-input {
	flex: 1;
	min-width: 200px;
	background: rgba(250, 243, 228, 0.06);
	border: 0.5px solid rgba(250, 243, 228, 0.12);
	border-radius: 2px;
	padding: 12px 16px;
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	outline: none;
	transition: border-color 0.3s;
}
.corporate .wellness-input::placeholder {
	color: rgba(250, 243, 228, 0.25);
}
.corporate .wellness-input:focus {
	border-color: rgba(250, 243, 228, 0.3);
}
.corporate .wellness-btn {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	padding: 12px 24px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.25);
	color: var(--cream);
	background: transparent;
	cursor: pointer;
	transition:
		background 0.3s,
		border-color 0.3s;
	white-space: nowrap;
}
.corporate .wellness-btn:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.5);
}
.corporate .contact {
	background: var(--black);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
}
.corporate .contact-inner {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 6rem;
	align-items: start;
}
.corporate .contact-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 1rem;
}
.corporate .contact-h2 em {
	font-style: italic;
}
.corporate .contact- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.48);
	margin-bottom: 2rem;
}
.corporate .contact-details {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.corporate .contact-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(250, 243, 228, 0.42);
	text-decoration: none;
	transition: color 0.3s;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.corporate .contact-link:hover {
	color: var(--cream);
}
.corporate .contact-link-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	width: 80px;
	flex-shrink: 0;
}
.corporate .form-placeholder {
	background: rgba(250, 243, 228, 0.03);
	border: 0.5px solid rgba(250, 243, 228, 0.07);
	border-radius: 4px;
	height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.corporate .form-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.13);
}
@media (max-width: 768px) {
	.corporate .nav-links {
		display: none;
	}
	.corporate .nav {
		padding: 16px 20px;
	}
	.corporate .nav-btns {
		gap: 8px;
	}
	.corporate .nav-btn-primary,
	.corporate .nav-btn-ghost {
		font-size: 10px;
		padding: 8px 14px;
	}
	.corporate .hero-content {
		padding: 0 24px 48px;
	}
	.corporate .hero-h1 {
		font-size: 40px;
	}
	.corporate .hero-sub {
		font-size: 14px;
	}
	.corporate .offer {
		padding: 5rem 24px;
	}
	.corporate .offer-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.corporate .offer-h2 {
		font-size: 32px;
	}
	.corporate .offer-grid {
		grid-template-columns: 1fr;

		.offer-item {
			padding: 2.5rem 2.5rem 2.5rem 0 !important;
			border-right: none !important;
			border-bottom: 0.5px solid rgba(30, 30, 24, 0.08) !important;

			.offer-body {
				color: rgba(30, 30, 24, 0.5);
			}

			.offer-num {
				margin-bottom: 4px !important;
			}
		}
	}

	.home .stat + .stat,
	.home .stat {
		padding-left: 0 !important;
		padding-bottom: 0.75rem;
	}

	.corporate .why-num {
		margin-bottom: 0px !important;
	}

	.why-item .why-body {
		color: rgba(30, 30, 24, 0.5);
	}

	.corporate .package-card {
		padding: 2.5rem;
	}
	.corporate .offer-item:nth-child(3n) {
		border: none;
	}
	.corporate .offer-item:nth-child(even) {
		border-right: none;
	}
	.corporate .packages {
		padding: 5rem 24px;
	}
	.corporate .packages-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.corporate .packages-h2 {
		font-size: 32px;
	}
	.corporate .packages-grid {
		grid-template-columns: 1fr;
	}
	.corporate .why {
		padding: 5rem 24px;
	}
	.corporate .why-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.corporate .why-h2 {
		font-size: 32px;
	}
	.corporate .why-grid {
		grid-template-columns: 1fr;
	}
	.corporate .why-item {
		border-right: none;
		padding-right: 0;
		border-bottom: 0.5px solid rgba(30, 30, 24, 0.08);
		padding-bottom: 2rem;
	}
	.corporate .why-item:not(:first-child) {
		padding-left: 0;
	}
	.corporate .image-break {
		height: 320px;
	}
	.corporate .ib-quote {
		font-size: 22px;
	}
	.corporate .wellness {
		padding: 5rem 24px;
	}
	.corporate .wellness-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.corporate .wellness-h2 {
		font-size: 32px;
	}
	.corporate .contact {
		padding: 5rem 24px;
	}
	.corporate .contact-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.corporate .contact-h2 {
		font-size: 32px;
	}

	.contact-inner {
		grid-template-columns: 1fr !important;
	}
}

/* ============================================================
   PAGE: forders-private-hire.html  (.private-hire)
   ============================================================ */
.private-hire {
	font-family: var(--font-);
	background: var(--black);
	color: var(--cream);
	-webkit-font-smoothing: antialiased;
}
.private-hire .nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 48px;
	background: rgba(30, 30, 24, 0);
	transition:
		background 0.5s var(--ease),
		border-color 0.5s;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0);
}
.private-hire .nav.scrolled {
	background: rgba(30, 30, 24, 0.96);
	border-bottom-color: rgba(250, 243, 228, 0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.private-hire .nav-logo {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	transition: opacity 0.3s;
}
.private-hire .nav-logo:hover {
	opacity: 0.6;
}
.private-hire .nav-links {
	display: flex;
	gap: 32px;
	list-style: none;
}
.private-hire .nav-links a {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	text-decoration: none;
	opacity: 0.4;
	transition: opacity 0.3s;
}
.private-hire .nav-links a:hover {
	opacity: 1;
}
.private-hire .nav-btns {
	display: flex;
	gap: 10px;
	align-items: center;
}
.private-hire .nav-btn-primary {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.private-hire .nav-btn-primary:hover {
	background: #fff;
	transform: translateY(-1px);
}
.private-hire .nav-btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.private-hire .nav-btn-ghost:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.65);
	transform: translateY(-1px);
}
.private-hire .btn-light {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.private-hire .btn-light:hover {
	background: #fff;
	transform: translateY(-2px);
}
.private-hire .btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.private-hire .btn-ghost:hover {
	border-color: rgba(250, 243, 228, 0.65);
	background: rgba(250, 243, 228, 0.05);
	transform: translateY(-2px);
}
.private-hire .btn-dark {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--black);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.private-hire .btn-dark:hover {
	background: var(--dark-olive);
	transform: translateY(-2px);
}
.private-hire .eyebrow-cedar {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.25rem;
	display: block;
}
.private-hire .eyebrow-muted {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.32);
	margin-bottom: 1.25rem;
	display: block;
}
.private-hire .hero {
	position: relative;
	height: 100vh;
	min-height: 700px;
	overflow: hidden;
}
.private-hire .hero-bg {
	position: absolute;
	inset: -8%;
	/*
        DEVELOPER NOTE:
        Use the group sauna shot - FAY_SHIV_CLAIRE-19.png
        Three women in the sauna, warm amber glow.
        background-image: url('images/FAY_SHIV_CLAIRE-19.png');
        background-size: cover; background-position: center 40%;
      */
	background: linear-gradient(135deg, #1a0a04 0%, #3d1a08 30%, #2a1208 60%, #0e0804 100%);
	animation: kenburns 22s ease-in-out infinite alternate;
}
.private-hire .hero-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 55% 45%, rgba(190, 80, 8, 0.45) 0%, transparent 60%);
	animation: glowpulse 7s ease-in-out infinite alternate;
}
.private-hire .hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(15, 8, 2, 0.95) 0%,
		rgba(15, 8, 2, 0.45) 50%,
		rgba(15, 8, 2, 0.1) 100%
	);
}
.private-hire .hero-overlay-side {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(15, 8, 2, 0.7) 0%, rgba(15, 8, 2, 0.2) 55%, transparent 100%);
}
.private-hire .hero-content {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 48px 72px;
	max-width: 680px;
}
.private-hire .hero-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.5rem;
	display: block;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.3s forwards;
}
.private-hire .hero-h1 {
	font-family: var(--font-display);
	font-size: 64px;
	line-height: 1.04;
	color: var(--cream);
	margin-bottom: 1rem;
	opacity: 0;
	transform: translateY(16px);
	animation: fadeup 0.9s var(--ease) 0.5s forwards;
}
.private-hire .hero-h1 em {
	font-style: italic;
}
.private-hire .hero-tagline {
	font-family: var(--font-display);
	font-size: 28px;
	color: rgba(250, 243, 228, 0.5);
	font-style: italic;
	margin-bottom: 2rem;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.65s forwards;
}
.private-hire .hero-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.55);
	margin-bottom: 2.5rem;
	max-width: 560px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.8s forwards;
}
.private-hire .hero-ctas {
	display: flex;
	gap: 14px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.95s forwards;
}
.private-hire .intro {
	background: var(--black);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
}
.private-hire .intro-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8rem;
	align-items: center;
}
.private-hire .intro-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
}
.private-hire .intro-h2 em {
	font-style: italic;
}
.private-hire .intro- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.5);
}
.private-hire .included {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.private-hire .included-header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
	margin-bottom: 5rem;
}
.private-hire .included-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
}
.private-hire .included-h2 em {
	font-style: italic;
}
.private-hire .included-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.52);
}
.private-hire .inclusions-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin-bottom: 5rem;
	border-top: 0.5px solid rgba(30, 30, 24, 0.1);
}
.private-hire .inclusion-item {
	padding: 1.5rem 2rem 1.5rem 0;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.07);
	border-right: 0.5px solid rgba(30, 30, 24, 0.07);
}
.private-hire .inclusion-item:nth-child(even) {
	padding-left: 2rem;
	padding-right: 0;
	border-right: none;
}
.private-hire .inclusion-item:nth-last-child(-n + 2) {
	border-bottom: none;
}
.private-hire .inclusion-text {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(30, 30, 24, 0.65);
}
.private-hire .addons-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.5rem;
	display: block;
}
.private-hire .addons-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.9;
	color: rgba(30, 30, 24, 0.5);
	margin-bottom: 2.5rem;
}
.private-hire .addons-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
}
.private-hire .addon-card {
	background: var(--black);
	padding: 2.5rem;
	position: relative;
	overflow: hidden;
}
.private-hire .addon-card-num {
	font-family: var(--font-display);
	font-size: 52px;
	line-height: 1;
	color: rgba(250, 243, 228, 0.05);
	display: block;
	margin-bottom: -4px;
}
.private-hire .addon-card-title {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--cream);
	line-height: 1.2;
	margin-bottom: 0.65rem;
}
.private-hire .addon-card-title em {
	font-style: italic;
}
.private-hire .addon-card- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.48);
}
.private-hire .perfect {
	background: var(--dark-olive);
	padding: 7rem 48px;
}
.private-hire .perfect-header {
	margin-bottom: 4rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
}
.private-hire .perfect-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
}
.private-hire .perfect-h2 em {
	font-style: italic;
}
.private-hire .perfect-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.45);
}
.private-hire .perfect-panels {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: 480px;
	gap: 2px;
}
.private-hire .perfect-panel {
	position: relative;
	overflow: hidden;
	cursor: default;
}
.private-hire .perfect-panel-bg {
	position: absolute;
	inset: 0;
	transition: transform 0.9s var(--ease);
}
.private-hire .perfect-panel:hover .perfect-panel-bg {
	transform: scale(1.04);
}
.private-hire .pp-birthday {
	background: linear-gradient(135deg, #2a1a0e 0%, #1e1208 50%, #3d2010 100%);
	/* DEVELOPER NOTE: url('images/FAY_SHIV_CLAIRE-19.png') - group in sauna */
}
.private-hire .pp-birthday::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse at center 55%,
		rgba(180, 80, 10, 0.4) 0%,
		rgba(140, 50, 5, 0.2) 40%,
		transparent 70%
	);
}
.private-hire .pp-friends {
	background: linear-gradient(160deg, #1a2420 0%, #141e18 50%, #0e1610 100%);
	/* DEVELOPER NOTE: url('images/recover-24.jpg') - dome exterior */
}
.private-hire .pp-sports {
	background: linear-gradient(135deg, #1a0a04 0%, #2a1208 40%, #1e1008 70%, #0e0804 100%);
	/* DEVELOPER NOTE: url('images/RECOVERY_AM-13.png') - ice bath */
}
.private-hire .pp-sports::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 40% 50%, rgba(160, 60, 5, 0.35) 0%, transparent 55%);
}
.private-hire .perfect-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(15, 10, 4, 0.97) 0%,
		rgba(15, 10, 4, 0.3) 50%,
		rgba(15, 10, 4, 0.05) 100%
	);
	transition: background 0.5s;
}
.private-hire .perfect-panel:hover .perfect-overlay {
	background: linear-gradient(to top, rgba(15, 10, 4, 0.9) 0%, rgba(15, 10, 4, 0.2) 50%, transparent 100%);
}
.private-hire .perfect-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2.5rem;
	transform: translateY(4px);
	transition: transform 0.45s var(--ease);
}
.private-hire .perfect-panel:hover .perfect-content {
	transform: translateY(0);
}
.private-hire .perfect-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 0.6rem;
	display: block;
}
.private-hire .perfect-title {
	font-family: var(--font-display);
	font-size: 26px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 0.75rem;
}
.private-hire .perfect-title em {
	font-style: italic;
}
.private-hire .perfect- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.8;
	color: rgba(250, 243, 228, 0.52);
	margin-bottom: 1.25rem;
}
.private-hire .perfect-cta {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	color: rgba(250, 243, 228, 0.35);
	letter-spacing: 0.1em;
	text-decoration: none;
	display: inline-block;
	transition:
		color 0.3s,
		transform 0.3s;
}
.private-hire .perfect-panel:hover .perfect-cta {
	color: rgba(250, 243, 228, 0.75);
	transform: translateX(5px);
}
.private-hire .practical {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.private-hire .practical-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
}
.private-hire .practical-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
	margin-bottom: 1.5rem;
}
.private-hire .practical-h2 em {
	font-style: italic;
}
.private-hire .practical-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.52);
}
.private-hire .practical-list {
	list-style: none;
}
.private-hire .practical-list li {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(30, 30, 24, 0.62);
	padding: 0.9rem 0;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.07);
}
.private-hire .practical-list li:first-child {
	border-top: 0.5px solid rgba(30, 30, 24, 0.07);
}
.private-hire .enquire {
	position: relative;
	height: 380px;
	overflow: hidden;
}
.private-hire .enq-bg {
	position: absolute;
	inset: -8%;
	background: linear-gradient(135deg, #1e1e18 0%, #2a1a10 35%, #1e1208 65%, #0e0e0a 100%);
	animation: kenburns 22s ease-in-out infinite alternate;
}
.private-hire .enq-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 60%, rgba(140, 50, 5, 0.32) 0%, transparent 60%);
	animation: glowpulse 8s ease-in-out infinite alternate;
}
.private-hire .enq-inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 3rem;
}
.private-hire .enq-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	margin-bottom: 1.25rem;
}
.private-hire .enq-h2 {
	font-family: var(--font-display);
	font-size: 46px;
	color: var(--cream);
	font-style: italic;
	margin-bottom: 0.75rem;
}
.private-hire .enq- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	color: rgba(250, 243, 228, 0.45);
	margin-bottom: 2.25rem;
}
.private-hire .enq-ctas {
	display: flex;
	gap: 14px;
}
.private-hire .contact {
	background: var(--black);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
}
.private-hire .contact-inner {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 6rem;
	align-items: start;
}
.private-hire .contact-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 1rem;
}
.private-hire .contact-h2 em {
	font-style: italic;
}
.private-hire .contact- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.48);
	margin-bottom: 2rem;
}
.private-hire .contact-details {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.private-hire .contact-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(250, 243, 228, 0.42);
	text-decoration: none;
	transition: color 0.3s;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.private-hire .contact-link:hover {
	color: var(--cream);
}
.private-hire .contact-link-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	width: 80px;
	flex-shrink: 0;
}
.private-hire .form-placeholder {
	background: rgba(250, 243, 228, 0.03);
	border: 0.5px solid rgba(250, 243, 228, 0.07);
	border-radius: 4px;
	height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.private-hire .form-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.13);
}
@media (max-width: 768px) {
	.private-hire .nav-links {
		display: none;
	}
	.private-hire .nav {
		padding: 16px 20px;
	}
	.private-hire .nav-btns {
		gap: 8px;
	}
	.private-hire .nav-btn-primary,
	.private-hire .nav-btn-ghost {
		font-size: 10px;
		padding: 8px 14px;
	}
	.private-hire .hero-content {
		padding: 0 24px 48px;
	}
	.private-hire .hero-h1 {
		font-size: 40px;
	}
	.private-hire .hero-tagline {
		font-size: 20px;
	}
	.private-hire .hero-sub {
		font-size: 14px;
	}
	.private-hire .intro {
		padding: 5rem 24px;
	}
	.private-hire .intro-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.private-hire .intro-h2 {
		font-size: 32px;
	}
	.private-hire .included {
		padding: 5rem 24px;
	}
	.private-hire .included-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.private-hire .included-h2 {
		font-size: 32px;
	}
	.private-hire .inclusions-grid {
		grid-template-columns: 1fr;
	}
	.private-hire .inclusion-item {
		border-right: none;
		padding-right: 0;
	}
	.private-hire .inclusion-item:nth-child(even) {
		padding-left: 0;
	}
	.private-hire .inclusion-item:nth-last-child(-n + 2) {
		border-bottom: 0.5px solid rgba(30, 30, 24, 0.07);
	}
	.private-hire .inclusion-item:last-child {
		border-bottom: none;
	}
	.private-hire .addons-grid {
		grid-template-columns: 1fr;
	}
	.private-hire .perfect {
		padding: 5rem 24px;
	}
	.private-hire .perfect-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.private-hire .perfect-h2 {
		font-size: 32px;
	}
	.private-hire .perfect-panels {
		grid-template-columns: 1fr;
		height: auto;
	}
	.private-hire .perfect-panel {
		height: 340px;
	}
	.private-hire .practical {
		padding: 5rem 24px;
	}
	.private-hire .practical-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.private-hire .practical-h2 {
		font-size: 32px;
	}
	.private-hire .enquire {
		height: 320px;
	}
	.private-hire .enq-h2 {
		font-size: 32px;
	}
	.private-hire .enq-ctas {
		flex-direction: column;
		align-items: center;
	}
	.private-hire .contact {
		padding: 5rem 24px;
	}
	.private-hire .contact-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.private-hire .contact-h2 {
		font-size: 32px;
	}
}

/* ============================================================
   PAGE: forders-about.html  (.about)
   ============================================================ */
.about {
	font-family: var(--font-body);
	background: var(--black);
	color: var(--cream);
	-webkit-font-smoothing: antialiased;
}
.about .nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 48px;
	background: rgba(30, 30, 24, 0);
	transition:
		background 0.5s var(--ease),
		border-color 0.5s;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0);
}
.about .nav.scrolled {
	background: rgba(30, 30, 24, 0.96);
	border-bottom-color: rgba(250, 243, 228, 0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.about .nav-logo {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	transition: opacity 0.3s;
}
.about .nav-logo:hover {
	opacity: 0.6;
}
.about .nav-links {
	display: flex;
	gap: 32px;
	list-style: none;
}
.about .nav-links a {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	text-decoration: none;
	opacity: 0.4;
	transition: opacity 0.3s;
}
.about .nav-links a:hover,
.about .nav-links a.active {
	opacity: 1;
}
.about .nav-btns {
	display: flex;
	gap: 10px;
	align-items: center;
}
.about .nav-btn-primary {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.about .nav-btn-primary:hover {
	background: #fff;
	transform: translateY(-1px);
}
.about .nav-btn-ghost {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.about .nav-btn-ghost:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.65);
	transform: translateY(-1px);
}
.about .btn-light {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.about .btn-light:hover {
	background: #fff;
	transform: translateY(-2px);
}
.about .btn-ghost {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.about .btn-ghost:hover {
	border-color: rgba(250, 243, 228, 0.65);
	background: rgba(250, 243, 228, 0.05);
	transform: translateY(-2px);
}
.about .opening {
	background: var(--black);
	padding: 12rem 48px 7rem;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.05);
}
.about .opening-eyebrow {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 2rem;
	display: block;
}
.about .opening-h1 {
	font-family: var(--font-display);
	font-size: 58px;
	line-height: 1.06;
	color: var(--cream);
	margin-bottom: 5rem;
	max-width: 760px;
}
.about .opening-h1 em {
	font-style: italic;
}
.about .opening-rule {
	width: 100%;
	height: 0.5px;
	background: rgba(250, 243, 228, 0.07);
	margin-bottom: 4rem;
}
.about .opening-body-row {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 5rem;
	align-items: start;
}
.about .opening-label {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	padding-top: 4px;
}
.about .opening-body {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 16px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.5);
}
.about .manifesto {
	background: var(--warm-oat);
	padding: 9rem 48px;
}
.about .manifesto-inner {
	max-width: 620px;
	margin: 0 auto;
}
.about .manifesto-eyebrow {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 2rem;
	display: block;
}
.about .manifesto-h2 {
	font-family: var(--font-display);
	font-size: 42px;
	color: var(--black);
	line-height: 1.12;
	margin-bottom: 3rem;
}
.about .manifesto-h2 em {
	font-style: italic;
}
.about .manifesto-body {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 16px;
	line-height: 2.1;
	color: rgba(30, 30, 24, 0.6);
	margin-bottom: 1.5rem;
}
.about .manifesto-body:last-child {
	margin-bottom: 0;
}
.about .founder-dark {
	background: var(--black);
}
.about .founder-light {
	background: var(--warm-oat);
}
.about .founder-image-full {
	height: 560px;
	position: relative;
	overflow: hidden;
	/*
        DEVELOPER NOTE:
        Darren: background-image: url('images/[darren portrait]'); background-size: cover; background-position: center top;
        Siobhan: background-image: url('images/[siobhan portrait]'); background-size: cover; background-position: center top;
      */
}
.about .fi-bg {
	position: absolute;
	inset: 0;
}
.about .fi-darren {
	background: linear-gradient(160deg, #2a3028 0%, #1e2820 50%, #141e18 100%);
}
.about .fi-siobhan {
	background: linear-gradient(160deg, #c8d4c0 0%, #8aa898 40%, #4a6858 100%);
}
.about .fi-overlay-dark {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, transparent 25%, rgba(30, 30, 24, 0.75) 100%);
}
.about .fi-overlay-light {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, transparent 25%, rgba(245, 239, 224, 0.75) 100%);
}
.about .fi-name {
	position: absolute;
	bottom: 3rem;
	left: 48px;
}
.about .fi-name-cream {
	font-family: var(--font-display);
	font-size: 32px;
	color: var(--cream);
}
.about .fi-name-dark {
	font-family: var(--font-display);
	font-size: 32px;
	color: var(--black);
}
.about .fi-name-cream em,
.about .fi-name-dark em {
	font-style: italic;
}
.about .fi-role {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-top: 0.5rem;
	display: block;
}
.about .fi-note {
	position: absolute;
	bottom: 12px;
	right: 16px;
	font-family: var(--font-body);
	font-size: 8px;
	letter-spacing: 0.1em;
}
.about .fi-note-dark {
	color: rgba(250, 243, 228, 0.15);
}
.about .fi-note-light {
	color: rgba(30, 30, 24, 0.2);
}
.about .founder-quote-block {
	padding: 5rem 48px;
}
.about .founder-quote-block-dark {
	border-top: 0.5px solid rgba(250, 243, 228, 0.06);
}
.about .founder-quote-block-light {
	border-top: 0.5px solid rgba(30, 30, 24, 0.08);
	background: var(--warm-oat);
}
.about .fq-quote {
	font-family: var(--font-display);
	font-size: 34px;
	line-height: 1.35;
	font-style: italic;
	max-width: 820px;
}
.about .fq-quote-dark {
	color: rgba(250, 243, 228, 0.8);
}
.about .fq-quote-light {
	color: rgba(30, 30, 24, 0.7);
}
.about .founder-body-block {
	padding: 0 48px 6rem;
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 5rem;
	align-items: start;
	background: var(--warm-oat);
}
.about .fb-label {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding-top: 4px;
}
.about .fb-label-dark {
	color: rgba(250, 243, 228, 0.28);
}
.about .fb-label-light {
	color: rgba(30, 30, 24, 0.32);
}
.about .fb-body {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 16px;
	line-height: 2;
}
.about .fb-body-dark {
	color: rgba(250, 243, 228, 0.5);
}
.about .fb-body-light {
	color: rgba(30, 30, 24, 0.58);
}
.about .believe {
	background: var(--dark-olive);
	padding: 8rem 48px;
}
.about .believe-eyebrow {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	margin-bottom: 1.25rem;
	display: block;
}
.about .believe-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 5rem;
}
.about .believe-h2 em {
	font-style: italic;
}
.about .believe-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 0.5px solid rgba(250, 243, 228, 0.07);
}
.about .believe-item {
	padding: 3rem 3rem 0 0;
	border-right: 0.5px solid rgba(250, 243, 228, 0.06);
}
.about .believe-item:last-child {
	border-right: none;
	padding-right: 0;
}
.about .believe-item:not(:first-child) {
	padding-left: 3rem;
}
.about .believe-num {
	font-family: var(--font-display);
	font-size: 56px;
	line-height: 1;
	color: rgba(250, 243, 228, 0.06);
	display: block;
	margin-bottom: -4px;
}
.about .believe-title {
	font-family: var(--font-display);
	font-size: 26px;
	color: var(--cream);
	line-height: 1.2;
	margin-bottom: 0.85rem;
	font-style: italic;
}
.about .believe-body {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.9;
	color: rgba(250, 243, 228, 0.42);
}
.about .cta-band {
	position: relative;
	height: 360px;
	overflow: hidden;
}
.about .cb-bg {
	position: absolute;
	inset: -8%;
	background: linear-gradient(135deg, #1e1e18 0%, #2a1a10 35%, #1e1208 65%, #0e0e0a 100%);
	animation: kenburns 22s ease-in-out infinite alternate;
}
.about .cb-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 60%, rgba(140, 50, 5, 0.32) 0%, transparent 60%);
	animation: glowpulse 8s ease-in-out infinite alternate;
}
.about .cb-inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 3rem;
}
.about .cb-eyebrow {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	margin-bottom: 1.25rem;
}
.about .cb-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	font-style: italic;
	margin-bottom: 2.25rem;
}
.about .cb-ctas {
	display: flex;
	gap: 14px;
}
@media (max-width: 768px) {
	.about .nav-links {
		display: none;
	}
	.about .nav {
		padding: 16px 20px;
	}
	.about .nav-btns {
		gap: 8px;
	}
	.about .nav-btn-primary,
	.about .nav-btn-ghost {
		font-size: 10px;
		padding: 8px 14px;
	}
	.about .opening {
		padding: 8rem 24px 5rem;
	}
	.about .opening-h1 {
		font-size: 36px;
		margin-bottom: 3rem;
	}
	.about .opening-body-row {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.about .manifesto {
		padding: 6rem 24px;
	}
	.about .manifesto-h2 {
		font-size: 30px;
	}
	.about .manifesto-body {
		font-size: 15px;
	}
	.about .founder-image-full {
		height: 380px;
	}
	.about .fi-name {
		left: 24px;
	}
	.about .fi-name-cream,
	.about .fi-name-dark {
		font-size: 24px;
	}
	.about .founder-quote-block {
		padding: 3.5rem 24px;
	}
	.about .fq-quote {
		font-size: 22px;
	}
	.about .founder-body-block {
		padding: 0 24px 4rem;
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.about .believe {
		padding: 5rem 24px;
	}
	.about .believe-h2 {
		font-size: 32px;
		margin-bottom: 3rem;
	}
	.about .believe-grid {
		grid-template-columns: 1fr 1fr;
	}
	.about .believe-item:nth-child(even) {
		border-right: none;
		padding-right: 0;
	}
	.about .believe-item:nth-child(odd) {
		padding-left: 0;
	}
	.about .believe-item:nth-child(n + 3) {
		padding-top: 2.5rem;
		border-top: 0.5px solid rgba(250, 243, 228, 0.06);
	}
	.about .cta-band {
		height: 300px;
	}
	.about .cb-h2 {
		font-size: 34px;
	}
	.about .cb-ctas {
		flex-direction: column;
		align-items: center;
	}
}

/* ============================================================
   PAGE: contrast-therapy.html  (.contrast-therapy)
   ============================================================ */
.contrast-therapy {
	font-family: var(--font-);
	background: var(--black);
	color: var(--cream);
	-webkit-font-smoothing: antialiased;
}

/* ---- Nav ---- */
.contrast-therapy .nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 48px;
	background: rgba(30, 30, 24, 0);
	transition:
		background 0.5s var(--ease),
		border-color 0.5s;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0);
}
.contrast-therapy .nav.scrolled {
	background: rgba(30, 30, 24, 0.96);
	border-bottom-color: rgba(250, 243, 228, 0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.contrast-therapy .nav-logo {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	transition: opacity 0.3s;
}
.contrast-therapy .nav-logo:hover {
	opacity: 0.6;
}
.contrast-therapy .nav-links {
	display: flex;
	gap: 32px;
	list-style: none;
}
.contrast-therapy .nav-links a {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	color: var(--cream);
	text-decoration: none;
	opacity: 0.4;
	transition: opacity 0.3s;
}
.contrast-therapy .nav-links a:hover {
	opacity: 1;
}
.contrast-therapy .nav-links a.active {
	opacity: 1;
}
.contrast-therapy .nav-btns {
	display: flex;
	gap: 10px;
	align-items: center;
}
.contrast-therapy .nav-btn-primary {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.contrast-therapy .nav-btn-primary:hover {
	background: #fff;
	transform: translateY(-1px);
}
.contrast-therapy .nav-btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	padding: 9px 20px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.2s;
	white-space: nowrap;
}
.contrast-therapy .nav-btn-ghost:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.65);
	transform: translateY(-1px);
}

/* ---- Buttons ---- */
.contrast-therapy .btn-light {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.contrast-therapy .btn-light:hover {
	background: #fff;
	transform: translateY(-2px);
}
.contrast-therapy .btn-ghost {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		border-color 0.3s,
		background 0.3s,
		transform 0.2s;
}
.contrast-therapy .btn-ghost:hover {
	border-color: rgba(250, 243, 228, 0.65);
	background: rgba(250, 243, 228, 0.05);
	transform: translateY(-2px);
}
.contrast-therapy .btn-dark {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--dark-olive);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.contrast-therapy .btn-dark:hover {
	background: #3a4a2c;
	transform: translateY(-2px);
}
.contrast-therapy .btn-dark-oat {
	font-family: var(--font-);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--black);
	color: var(--cream);
	text-decoration: none;
	display: inline-block;
	transition:
		background 0.3s,
		transform 0.2s;
}
.contrast-therapy .btn-dark-oat:hover {
	background: var(--dark-olive);
	transform: translateY(-2px);
}

/* ---- Shared typography ---- */
.contrast-therapy .eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.25rem;
	display: block;
}
.contrast-therapy .eyebrow-muted {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.3);
	margin-bottom: 1.25rem;
	display: block;
}
.contrast-therapy .eyebrow-dark {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.25rem;
	display: block;
}

/* ---- Hero ---- */
.contrast-therapy .hero {
	position: relative;
	height: 100vh;
	min-height: 700px;
	overflow: hidden;
}
.contrast-therapy .hero-bg {
	position: absolute;
	inset: -8%;
	/*
        DEVELOPER NOTE:
        Replace with video or image:
        background-image: url('images/RECOVERY-50.png');
        background-size: cover;
        background-position: center;
      */
	background: linear-gradient(135deg, #2a1a0e 0%, #1a1208 40%, #3d2010 65%, #1e1610 100%);
	animation: kenburns 20s ease-in-out infinite alternate;
}
.contrast-therapy .hero-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse at 60% 50%,
		rgba(180, 80, 10, 0.4) 0%,
		rgba(140, 50, 5, 0.2) 35%,
		transparent 65%
	);
	animation: glowpulse 7s ease-in-out infinite alternate;
}
.contrast-therapy .hero-vignette {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(25, 18, 8, 0.88) 0%,
		rgba(25, 18, 8, 0.4) 50%,
		rgba(25, 18, 8, 0.1) 100%
	);
}
.contrast-therapy .hero-vignette-bottom {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(25, 18, 8, 0.7) 0%, transparent 40%);
}
.contrast-therapy .hero-content {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 48px 72px;
	max-width: 680px;
}
.contrast-therapy .hero-eyebrow {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.5rem;
	display: block;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.3s forwards;
}
.contrast-therapy .hero-h1 {
	font-family: var(--font-display);
	font-size: 64px;
	line-height: 1.04;
	color: var(--cream);
	margin-bottom: 1.5rem;
	opacity: 0;
	transform: translateY(16px);
	animation: fadeup 0.9s var(--ease) 0.5s forwards;
}
.contrast-therapy .hero-h1 em {
	font-style: italic;
}
.contrast-therapy .hero-sub {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.8;
	color: rgba(250, 243, 228, 0.6);
	margin-bottom: 2.5rem;
	max-width: 540px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.7s forwards;
}
.contrast-therapy .hero-ctas {
	display: flex;
	gap: 14px;
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.9s forwards;
}

/* ---- Booking section ---- */
.contrast-therapy .booking {
	background: var(--black);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
	scroll-margin-top: 80px;
}
.contrast-therapy .booking-inner {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 6rem;
	align-items: start;
}
.contrast-therapy .booking-h2 {
	font-family: var(--font-display);
	font-size: 40px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 1rem;
}
.contrast-therapy .booking-h2 em {
	font-style: italic;
}
.contrast-therapy .booking- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.5);
	margin-bottom: 0;
}
.contrast-therapy .iframe-placeholder {
	background: rgba(250, 243, 228, 0.04);
	border: 0.5px solid rgba(250, 243, 228, 0.08);
	border-radius: 4px;
	height: 480px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 1rem;
}
.contrast-therapy .iframe-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.18);
}
.contrast-therapy .embed-note {
	font-size: 9px;
	color: rgba(250, 243, 228, 0.1);
}

/* ---- What's included ---- */
.contrast-therapy .included {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.contrast-therapy .included-header {
	margin-bottom: 5rem;
}
.contrast-therapy .included-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
}
.contrast-therapy .included-h2 em {
	font-style: italic;
}
.contrast-therapy .included-heroes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 600px;
	gap: 2px;
}
.contrast-therapy .included-hero {
	position: relative;
	overflow: hidden;
	cursor: default;
}
.contrast-therapy .included-hero-bg {
	position: absolute;
	inset: 0;
	transition: transform 0.9s var(--ease);
}
.contrast-therapy .included-hero:hover .included-hero-bg {
	transform: scale(1.04);
}
.contrast-therapy .included-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(15, 8, 2, 0.96) 0%,
		rgba(15, 8, 2, 0.3) 50%,
		rgba(15, 8, 2, 0.05) 100%
	);
	transition: background 0.5s;
}
.contrast-therapy .included-hero:hover .included-hero-overlay {
	background: linear-gradient(to top, rgba(15, 8, 2, 0.9) 0%, rgba(15, 8, 2, 0.2) 50%, transparent 100%);
}
.contrast-therapy .included-hero-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 3rem;
	transform: translateY(4px);
	transition: transform 0.45s var(--ease);
}
.contrast-therapy .included-hero:hover .included-hero-content {
	transform: translateY(0);
}
.contrast-therapy .included-hero-num {
	font-family: var(--font-display);
	font-size: 56px;
	line-height: 1;
	color: rgba(250, 243, 228, 0.07);
	display: block;
	margin-bottom: -4px;
}
.contrast-therapy .included-hero-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 0.75rem;
	display: block;
}
.contrast-therapy .included-hero-title {
	font-family: var(--font-display);
	font-size: 36px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 0.75rem;
}
.contrast-therapy .included-hero-title em {
	font-style: italic;
}
.contrast-therapy .included-hero- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.55);
	max-width: 340px;
}
.contrast-therapy .img-sauna-warm {
	background: linear-gradient(135deg, #2a1a0e 0%, #1e1208 50%, #3d2010 100%);
}
.contrast-therapy .img-sauna-warm::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse at center 60%,
		rgba(180, 80, 10, 0.45) 0%,
		rgba(140, 50, 5, 0.2) 40%,
		transparent 70%
	);
}
.contrast-therapy .img-icebath-dark {
	background: linear-gradient(140deg, #1a1a14 0%, #2a2018 40%, #3a2a14 70%, #0e0e08 100%);
}
.contrast-therapy .img-icebath-dark::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 40% 50%, rgba(160, 60, 5, 0.38) 0%, transparent 55%);
}
.contrast-therapy .included-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	margin-top: 2px;
}
.contrast-therapy .included-card {
	padding: 3rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 220px;
}
.contrast-therapy .included-card-a {
	background: var(--black);
}
.contrast-therapy .included-card-b {
	background: var(--dark-olive);
}
.contrast-therapy .included-card-num {
	font-family: var(--font-display);
	font-size: 48px;
	line-height: 1;
	color: rgba(250, 243, 228, 0.06);
	display: block;
	margin-bottom: -4px;
}
.contrast-therapy .included-card-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.28);
	margin-bottom: 0.6rem;
	display: block;
}
.contrast-therapy .included-card-title {
	font-family: var(--font-display);
	font-size: 26px;
	color: var(--cream);
	line-height: 1.15;
	margin-bottom: 0.75rem;
}
.contrast-therapy .included-card-title em {
	font-style: italic;
}
.contrast-therapy .included-card- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.9;
	color: rgba(250, 243, 228, 0.45);
}
.contrast-therapy .included-card-note {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-top: 1.5rem;
	display: block;
}
.contrast-therapy .img-note-dark {
	position: absolute;
	bottom: 12px;
	right: 12px;
	font-family: var(--font-);
	font-size: 8px;
	color: rgba(250, 243, 228, 0.12);
	letter-spacing: 0.1em;
}

/* ---- Education ---- */
.contrast-therapy .education {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.contrast-therapy .education-top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
	align-items: end;
	margin-bottom: 5rem;
	padding-bottom: 5rem;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.08);
}
.contrast-therapy .education-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
}
.contrast-therapy .education-h2 em {
	font-style: italic;
}
.contrast-therapy .education- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.56);
}
.contrast-therapy .education- p + p {
	margin-top: 1.25rem;
}
.contrast-therapy .education- + .education- {
	margin-top: 1.25rem;
}
.contrast-therapy .benefits-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
}
.contrast-therapy .benefit-col-title {
	font-family: var(--font-display);
	font-size: 22px;
	color: var(--black);
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.12);
}
.contrast-therapy .benefit-col-title em {
	font-style: italic;
}
.contrast-therapy .benefit-list {
	list-style: none;
}
.contrast-therapy .benefit-list li {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(30, 30, 24, 0.62);
	padding: 0.85rem 0;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.07);
}
.contrast-therapy .benefit-list li:last-child {
	border-bottom: none;
}

/* ---- Full bleed image break ---- */
.contrast-therapy .image-break {
	height: 500px;
	position: relative;
	overflow: hidden;
}
.contrast-therapy .image-break-bg {
	position: absolute;
	inset: -8%;
	/*
        DEVELOPER NOTE:
        Replace with real image:
        background-image: url('images/FAY_SHIV_CLAIRE-19.png');
        background-size: cover;
        background-position: center 40%;
      */
	background: linear-gradient(135deg, #1a0a04 0%, #3d1a08 30%, #2a1208 60%, #0e0804 100%);
	animation: kenburns 25s ease-in-out infinite alternate;
}
.contrast-therapy .image-break-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 40%, rgba(190, 80, 8, 0.45) 0%, transparent 60%);
}
.contrast-therapy .image-break-overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 10, 4, 0.4);
}
.contrast-therapy .image-break-content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	padding: 3rem;
}
.contrast-therapy .image-break-quote {
	font-family: var(--font-display);
	font-size: 36px;
	line-height: 1.3;
	color: var(--cream);
	font-style: italic;
	max-width: 600px;
}
.contrast-therapy .image-break-attr {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.35);
	margin-top: 1.75rem;
}

/* ---- Pricing ---- */
.contrast-therapy .pricing {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.contrast-therapy .pricing-header {
	margin-bottom: 4rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
}
.contrast-therapy .pricing-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
}
.contrast-therapy .pricing-h2 em {
	font-style: italic;
}
.contrast-therapy .pricing-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.5);
}
.contrast-therapy .pricing-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}
.contrast-therapy .pricing-card {
	background: var(--cream);
	padding: 3rem;
	position: relative;
}
.contrast-therapy .pricing-card.featured {
	background: var(--black);
}
.contrast-therapy .popular-tag {
	position: absolute;
	top: 2.5rem;
	right: 2.5rem;
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	border: 0.5px solid rgba(122, 92, 58, 0.35);
	padding: 4px 12px;
	border-radius: 20px;
}
.contrast-therapy .pricing-card-tag {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1rem;
	display: block;
}
.contrast-therapy .pricing-card-title {
	font-family: var(--font-display);
	font-size: 32px;
	color: var(--black);
	line-height: 1.2;
	margin-bottom: 1rem;
}
.contrast-therapy .pricing-card.featured .pricing-card-title {
	color: var(--cream);
}
.contrast-therapy .pricing-card- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.9;
	color: rgba(30, 30, 24, 0.55);
	margin-bottom: 2rem;
}
.contrast-therapy .pricing-card.featured .pricing-card- {
	color: rgba(250, 243, 228, 0.52);
}
.contrast-therapy .pricing-price {
	font-family: var(--font-display);
	font-size: 42px;
	color: var(--black);
	line-height: 1;
	margin-bottom: 0.5rem;
}
.contrast-therapy .pricing-card.featured .pricing-price {
	color: var(--cream);
}
.contrast-therapy .pricing-price-note {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 12px;
	color: rgba(30, 30, 24, 0.4);
	margin-bottom: 2rem;
}
.contrast-therapy .pricing-card.featured .pricing-price-note {
	color: rgba(250, 243, 228, 0.35);
}
.contrast-therapy .pricing-note {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	line-height: 1.8;
	color: rgba(30, 30, 24, 0.4);
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 0.5px solid rgba(30, 30, 24, 0.08);
	grid-column: span 2;
}

/* ---- What to expect ---- */
.contrast-therapy .expect {
	background: var(--dark-olive);
	padding: 7rem 48px;
}
.contrast-therapy .expect-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
}
.contrast-therapy .expect-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 1.5rem;
}
.contrast-therapy .expect-h2 em {
	font-style: italic;
}
.contrast-therapy .expect-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.52);
}
.contrast-therapy .expect-item {
	padding: 1.5rem 0;
	border-bottom: 0.5px solid rgba(250, 243, 228, 0.07);
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 2rem;
	align-items: start;
}
.contrast-therapy .expect-item:first-child {
	border-top: 0.5px solid rgba(250, 243, 228, 0.07);
}
.contrast-therapy .expect-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.4);
	padding-top: 2px;
}
.contrast-therapy .expect-value {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.8;
	color: rgba(250, 243, 228, 0.55);
}

/* ---- Before you book ---- */
.contrast-therapy .before {
	background: var(--warm-oat);
	padding: 7rem 48px;
}
.contrast-therapy .before-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
}
.contrast-therapy .before-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--black);
	line-height: 1.1;
	margin-bottom: 1.5rem;
}
.contrast-therapy .before-h2 em {
	font-style: italic;
}
.contrast-therapy .before-intro {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.55);
}
.contrast-therapy .before-col-title {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
	margin-bottom: 1.25rem;
	display: block;
}
.contrast-therapy .before-list {
	list-style: none;
	margin-bottom: 2.5rem;
}
.contrast-therapy .before-list li {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(30, 30, 24, 0.58);
	padding: 0.75rem 0;
	border-bottom: 0.5px solid rgba(30, 30, 24, 0.07);
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}
.contrast-therapy .before-list li::before {
	content: '—';
	color: var(--cedar);
	flex-shrink: 0;
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	margin-top: 2px;
}

/* ---- Contact ---- */
.contrast-therapy .contact {
	background: var(--black);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
}
.contrast-therapy .contact-inner {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 6rem;
	align-items: start;
}
.contrast-therapy .contact-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 1rem;
}
.contrast-therapy .contact-h2 em {
	font-style: italic;
}
.contrast-therapy .contact- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.5);
	margin-bottom: 2rem;
}
.contrast-therapy .contact-details {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.contrast-therapy .contact-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(250, 243, 228, 0.45);
	text-decoration: none;
	transition: color 0.3s;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.contrast-therapy .contact-link:hover {
	color: var(--cream);
}
.contrast-therapy .contact-link-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	width: 80px;
	flex-shrink: 0;
}
.contrast-therapy .form-placeholder {
	background: rgba(250, 243, 228, 0.03);
	border: 0.5px solid rgba(250, 243, 228, 0.07);
	border-radius: 4px;
	height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contrast-therapy .form-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.15);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
	.contrast-therapy .nav-links {
		display: none;
	}
	.contrast-therapy .nav {
		padding: 16px 20px;
	}
	.contrast-therapy .nav-btns {
		gap: 8px;
	}
	.contrast-therapy .nav-btn-primary,
	.contrast-therapy .nav-btn-ghost {
		font-size: 10px;
		padding: 8px 14px;
	}
	.contrast-therapy .hero-content {
		padding: 0 24px 48px;
	}
	.contrast-therapy .hero-h1 {
		font-size: 40px;
	}
	.contrast-therapy .hero-sub {
		font-size: 14px;
	}
	.contrast-therapy .booking {
		padding: 5rem 24px;
	}
	.contrast-therapy .booking-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.contrast-therapy .booking-h2 {
		font-size: 30px;
	}
	.contrast-therapy .included {
		padding: 5rem 24px;
	}
	.contrast-therapy .included-heroes {
		grid-template-columns: 1fr;
		height: auto;
	}
	.contrast-therapy .included-hero {
		height: auto;
	}

	.contrast-therapy .included-hero-content {
		position: relative;
		padding: 2.5rem;
	}
	.contrast-therapy .included-cards {
		grid-template-columns: 1fr;
	}
	.contrast-therapy .included-card {
		min-height: auto;
		padding: 2rem;
	}
	.contrast-therapy .education {
		padding: 5rem 24px;
	}
	.contrast-therapy .education-top {
		grid-template-columns: 1fr;
		gap: 2rem;
		margin-bottom: 3rem;
		padding-bottom: 3rem;
	}
	.contrast-therapy .education-h2 {
		font-size: 32px;
	}
	.contrast-therapy .benefits-grid {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.contrast-therapy .image-break {
		height: 360px;
	}
	.contrast-therapy .image-break-quote {
		font-size: 24px;
	}
	.contrast-therapy .pricing {
		padding: 5rem 24px;
	}
	.contrast-therapy .pricing-header {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.contrast-therapy .pricing-h2 {
		font-size: 32px;
	}
	.contrast-therapy .pricing-cards {
		grid-template-columns: 1fr;
	}
	.contrast-therapy .pricing-note {
		grid-column: span 1;
	}
	.contrast-therapy .expect {
		padding: 5rem 24px;
	}
	.contrast-therapy .expect-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.contrast-therapy .expect-h2 {
		font-size: 32px;
	}
	.contrast-therapy .expect-item {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
	.contrast-therapy .before {
		padding: 5rem 24px;
	}
	.contrast-therapy .before-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.contrast-therapy .before-h2 {
		font-size: 32px;
	}
	.contrast-therapy .contact {
		padding: 5rem 24px;
	}
	.contrast-therapy .contact-inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.contrast-therapy .contact-h2 {
		font-size: 32px;
	}
}

/* ============================================================
   CONTACT FORM
   ============================================================ */
.contact-form {
	width: 100%;
}
.contact-form-set {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}
/* Visually-hidden legend */
.contact-form-legend {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}
.contact-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}
.contact-form .form-field {
	display: flex;
	flex-direction: column;
	margin-bottom: 1.25rem;
}
.contact-form-grid .form-field {
	margin-bottom: 0;
}
.contact-form label {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cream);
	margin-bottom: 0.6rem;
}
.contact-form .form-optional {
	margin-left: 0.4rem;
	font-weight: 300;
	letter-spacing: 0.1em;
	color: rgba(250, 243, 228, 0.3);
}
.contact-form input,
.contact-form textarea {
	width: 100%;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 15px;
	color: var(--cream);
	background: rgba(250, 243, 228, 0.03);
	border: 0.5px solid rgba(250, 243, 228, 0.25);
	border-radius: 4px;
	padding: 14px 16px;
	-webkit-appearance: none;
	appearance: none;
	transition:
		border-color 0.3s var(--ease),
		background 0.3s var(--ease),
		box-shadow 0.3s var(--ease);
}
.contact-form textarea {
	min-height: 140px;
	line-height: 1.7;
	resize: vertical;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: rgba(250, 243, 228, 0.25);
}
.contact-form input:focus,
.contact-form textarea:focus {
	outline: none;
	border-color: rgba(250, 243, 228, 0.4);
	background: rgba(250, 243, 228, 0.05);
	box-shadow: 0 0 0 3px rgba(122, 92, 58, 0.3);
}
.contact-form-submit {
	margin-top: 1.75rem;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border: 0;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	cursor: pointer;
	transition:
		background 0.3s,
		transform 0.2s;
}
.contact-form-submit:hover {
	background: #fff;
	transform: translateY(-2px);
}
.contact-form-submit:focus-visible {
	outline: 2px solid var(--cedar);
	outline-offset: 3px;
}
@media (max-width: 768px) {
	.contact-form-grid {
		grid-template-columns: 1fr;
	}
	.contact-form-grid .form-field {
		margin-bottom: 1.25rem;
	}
	.contact-form-submit {
		width: 100%;
		text-align: center;
	}
}

/* ============================================================
   THANK-YOU PAGE — standalone
   ------------------------------------------------------------
   ============================================================ */
.thankyou {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	min-height: 100dvh;
	padding: 6rem 24px;
	background: var(--black);
	color: var(--cream);
	font-family: var(--font-body);
	-webkit-font-smoothing: antialiased;
	text-align: center;
}
.thankyou-inner {
	max-width: 540px;
	opacity: 0;
	transform: translateY(16px);
	animation: fadeup 0.9s var(--ease) 0.15s forwards;
}
.thankyou-logo {
	display: inline-block;
	margin-bottom: 4.5rem;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 13px;
	letter-spacing: 0.22em;
	color: var(--cream);
	text-decoration: none;
	transition: opacity 0.3s;
}
.thankyou-logo:hover {
	opacity: 0.6;
}
.thankyou-eyebrow {
	margin-bottom: 1.5rem;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--cedar);
}
.thankyou-h1 {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 64px;
	line-height: 1.05;
	color: var(--cream);
	margin-bottom: 1.5rem;
}
.thankyou-h1 em {
	font-style: italic;
}
.thankyou-body {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.9;
	color: rgba(250, 243, 228, 0.5);
	margin-bottom: 2.5rem;
}
.thankyou-ctas {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}
.thankyou-btn-primary {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	background: var(--cream);
	color: var(--black);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
}
.thankyou-btn-primary:hover {
	background: #fff;
	transform: translateY(-2px);
}
.thankyou-btn-ghost {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 2px;
	border: 0.5px solid rgba(250, 243, 228, 0.3);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		border-color 0.3s,
		transform 0.2s;
}
.thankyou-btn-ghost:hover {
	background: rgba(250, 243, 228, 0.08);
	border-color: rgba(250, 243, 228, 0.65);
	transform: translateY(-2px);
}
.thankyou-btn-primary:focus-visible,
.thankyou-btn-ghost:focus-visible {
	outline: 2px solid var(--cedar);
	outline-offset: 3px;
}
@media (max-width: 768px) {
	.thankyou-h1 {
		font-size: 44px;
	}
	.thankyou-body {
		font-size: 15px;
	}
	.thankyou-ctas {
		flex-direction: column;
	}
}

/* ============================================================
   CONTACT / GENERIC HERO 
   ------------------------------------------------------------
   ============================================================ */
.page-hero {
	position: relative;
	overflow: hidden;
	padding: 200px 48px 100px;
	background: linear-gradient(160deg, #1a2420 0%, #141e18 40%, #0e1610 70%, #0a1008 100%);
}
.page-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 60% 30%, rgba(80, 100, 70, 0.25) 0%, transparent 60%);
	pointer-events: none;
}
.page-hero-content {
	position: relative;
	max-width: 640px;
}
.page-hero-eyebrow {
	display: block;
	margin-bottom: 1.5rem;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.3s forwards;
}
.page-hero-h1 {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 64px;
	line-height: 1.04;
	color: var(--cream);
	margin-bottom: 1.5rem;
	opacity: 0;
	transform: translateY(16px);
	animation: fadeup 0.9s var(--ease) 0.5s forwards;
}
.page-hero-h1 em {
	font-style: italic;
}
.page-hero-sub {
	max-width: 540px;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(250, 243, 228, 0.58);
	opacity: 0;
	transform: translateY(12px);
	animation: fadeup 0.8s var(--ease) 0.7s forwards;
}
@media (max-width: 768px) {
	.page-hero {
		padding: 140px 24px 70px;
	}
	.page-hero-h1 {
		font-size: 42px;
	}
	.page-hero-sub {
		font-size: 15px;
	}
}
/* ---- Contact ---- */
.contact {
	background: var(--black);
	padding: 7rem 48px;
	border-top: 0.5px solid rgba(250, 243, 228, 0.05);
}
.contact-inner {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 6rem;
	align-items: start;
}
.contact-h2 {
	font-family: var(--font-display);
	font-size: 48px;
	color: var(--cream);
	line-height: 1.1;
	margin-bottom: 1rem;
}
.contact-h2 em {
	font-style: italic;
}
.contact- {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(250, 243, 228, 0.5);
	margin-bottom: 2rem;
}
.contact-details {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.contact-link {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 14px;
	color: rgba(250, 243, 228, 0.45);
	text-decoration: none;
	transition: color 0.3s;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.contact-link:hover {
	color: var(--cream);
}
.contact-link-label {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	width: 80px;
	flex-shrink: 0;
}
.form-placeholder {
	background: rgba(250, 243, 228, 0.03);
	border: 0.5px solid rgba(250, 243, 228, 0.07);
	border-radius: 4px;
	height: 340px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.form-placeholder span {
	font-family: var(--font-);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(250, 243, 228, 0.15);
}

/* ============================================================
   PLANS / PRICING
   ============================================================ */
.plans {
	background: var(--warm-oat);
	padding: 7rem 48px;
	scroll-margin-top: 80px;
}
.plans-header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: end;
	margin-bottom: 3.5rem;
}
.plans-eyebrow {
	display: block;
	margin-bottom: 1.25rem;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cedar);
}
.plans-h2 {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 48px;
	line-height: 1.1;
	color: var(--black);
}
.plans-h2 em {
	font-style: italic;
}
.plans-intro {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 15px;
	line-height: 2;
	color: rgba(30, 30, 24, 0.65);
}
.plans-group {
	margin-top: 3rem;
}
.plans-group:first-of-type {
	margin-top: 0;
}
.plans-group-label {
	margin-bottom: 1.25rem;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(30, 30, 24, 0.6);
}
.plans-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2px;
}
.plan-card {
	display: flex;
	flex-direction: column;
	position: relative;
	background: #fef9ed;
	padding: 2.75rem 2.5rem;
}
.plan-card.featured {
	background: var(--black);
}
/* Subtle background tints to distinguish the plan types.
   Single session keeps the lightest cream; packs are a touch
   warmer; memberships warmer still to read as the premium tier. */
.plan-card--pack {
	background: #f1e8d6;
}
.plan-card--member {
	background: #e9e7e1;
}
.plan-flag {
	position: absolute;
	top: 2.5rem;
	right: 2.5rem;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cedar);
	border: 0.5px solid rgba(122, 92, 58, 0.35);
	padding: 4px 12px;
	border-radius: 20px;
}
.plan-card.featured .plan-flag {
	color: var(--cream);
	border-color: rgba(250, 243, 228, 0.3);
}
.plan-tag {
	display: block;
	margin-bottom: 1rem;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cedar);
}
.plan-name {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.2;
	color: var(--black);
}
.plan-card.featured .plan-name {
	color: var(--cream);
}
.plan-meta {
	margin-top: 0.5rem;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cedar);
}
.plan-desc {
	margin-top: 1.25rem;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.9;
	color: rgba(30, 30, 24, 0.72);
}
.plan-card.featured .plan-desc {
	color: rgba(250, 243, 228, 0.52);
}
/* Lower block — sits at the bottom so prices & CTAs align across a row */
.plan-foot {
	margin-top: auto;
	padding-top: 1rem;
}
.plan-features {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
}
.plan-features li {
	position: relative;
	padding-left: 1.25rem;
	margin-bottom: 0.6rem;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(30, 30, 24, 0.72);
}
.plan-features li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--cedar);
}
.plan-card.featured .plan-features li {
	color: rgba(250, 243, 228, 0.55);
}
.plan-price {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 42px;
	line-height: 1;
	color: var(--black);
}
.plan-card.featured .plan-price {
	color: var(--cream);
}
.plan-per {
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 14px;
	color: rgba(30, 30, 24, 0.55);
}
.plan-card.featured .plan-per {
	color: rgba(250, 243, 228, 0.4);
}
.plan-price-note {
	margin-top: 0.5rem;
	margin-bottom: 1.75rem;
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 12px;
	color: rgba(30, 30, 24, 0.58);
}
.plan-card.featured .plan-price-note {
	color: rgba(250, 243, 228, 0.35);
}
.plan-cta {
	display: block;
	text-align: center;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 14px;
	padding: 14px 28px;
	border-radius: 2px;
	background: var(--black);
	color: var(--cream);
	text-decoration: none;
	transition:
		background 0.3s,
		transform 0.2s;
}
.plan-cta:hover {
	background: var(--dark-olive);
	transform: translateY(-2px);
}
.plan-cta-light {
	background: var(--cream);
	color: var(--black);
}
.plan-cta-light:hover {
	background: #fff;
}
.plans-note {
	max-width: 760px;
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 0.5px solid rgba(30, 30, 24, 0.08);
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 11px;
	line-height: 1.8;
	color: rgba(30, 30, 24, 0.55);
}
@media (max-width: 900px) {
	.plans-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 768px) {
	.plans {
		padding: 5rem 24px;
	}
	.plans-header {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		margin-bottom: 2.5rem;
	}
	.plans-h2 {
		font-size: 32px;
	}
	.plan-card {
		padding: 2.25rem;
	}
}

.footer-link,
.footer-tagline {
    color: rgba(250, 243, 228, 0.8);
}

.footer-col-label,
.footer-copy {
color: rgba(250, 243, 228, 0.5);
}
 