/* ==========================================================================
   NEX-GEN Athletics — design tokens + components
   Concept: floating through the rooms of one alpine villa at blue hour.
   ========================================================================== */

:root {
  /* type scale */
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --text-3xl: clamp(2.5rem, 1rem + 4vw, 5rem);

  /* spacing (4px base) */
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
  --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
  --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem; --space-32: 8rem;

  /* palette — locked NexGen brand */
  --color-bg: #060b14;
  --color-surface: rgba(9, 18, 33, 0.66);
  --color-surface-2: rgba(14, 26, 46, 0.78);
  --color-surface-solid: #0b1524;
  --color-border: rgba(160, 200, 255, 0.14);
  --color-border-strong: rgba(160, 200, 255, 0.28);
  --color-divider: rgba(160, 200, 255, 0.09);

  --color-text: #e9f0f8;
  --color-text-muted: #a9b8cc;
  --color-text-faint: #6f7f96;
  --color-text-inverse: #061020;

  --color-primary: #4e9fe5;        /* Colorado sky blue */
  --color-primary-hover: #6db3f0;
  --color-primary-active: #216fc2; /* summit blue */
  --color-primary-deep: #216fc2;
  --color-midnight: #092a4a;
  --color-glow: rgba(78, 159, 229, 0.45);
  --color-chrome: #d7dfea;         /* exclusive-tier chrome */
  --color-success: #5cc48a;
  --color-error: #f28b8b;

  --radius-sm: 0.375rem; --radius-md: 0.625rem; --radius-lg: 1rem; --radius-xl: 1.5rem; --radius-full: 9999px;
  --transition-interactive: 180ms cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 24px 64px rgba(0, 0, 0, 0.55);
  --shadow-glow: 0 0 0 1px rgba(78,159,229,.35), 0 0 40px rgba(78,159,229,.25);

  --content-narrow: 680px; --content-default: 1040px; --content-wide: 1280px;

  --font-display: 'Clash Display', 'Satoshi', 'Helvetica Neue', sans-serif;
  --font-body: 'Satoshi', 'Inter', 'Helvetica Neue', sans-serif;

  --header-h: 72px;
}

/* ---------- room background (fixed, drifting) ---------- */
body{background-color:transparent}
.room{position:fixed;inset:-4%;z-index:-2;overflow:hidden;pointer-events:none;background:#060b14}
.room picture{position:absolute;inset:0}
.room img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform-origin:50% 50%;will-change:transform;animation:room-drift 48s ease-in-out infinite alternate}
.room__veil{position:absolute;inset:0;background:
  linear-gradient(180deg, rgba(6,11,20,.62) 0%, rgba(6,11,20,.42) 30%, rgba(6,11,20,.55) 70%, rgba(6,11,20,.82) 100%)}
@keyframes room-drift{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.10) translate3d(-1.6%,-0.8%,0)}}
@media (min-width:1600px){.room img{object-position:50% 50%}}

/* page transitions: entering / leaving the room */
.is-entering .room img{animation:room-enter 1.5s var(--ease-out) forwards, room-drift 48s ease-in-out 1.5s infinite alternate}
@keyframes room-enter{from{transform:scale(1.18) translate3d(2%,1%,0);filter:blur(10px) brightness(.6)}to{transform:scale(1.04);filter:blur(0) brightness(1)}}
.is-entering .page{animation:page-enter .9s var(--ease-out) .12s both}
@keyframes page-enter{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:none}}
.is-leaving .room img{transition:transform .6s var(--ease-out), filter .6s var(--ease-out);transform:scale(1.14) translate3d(-2%,-1%,0)!important;filter:blur(8px) brightness(.55);animation:none}
.is-leaving .page{transition:opacity .45s ease, transform .45s var(--ease-out);opacity:0;transform:translate3d(0,-18px,0)}
.is-leaving .site-header{transition:opacity .35s ease;opacity:0}
.room__fade{position:fixed;inset:0;z-index:60;background:#060b14;opacity:0;pointer-events:none;transition:opacity .5s ease}
.is-leaving .room__fade{opacity:1}

/* ---------- layout primitives ---------- */
.container{width:min(100% - var(--space-10), var(--content-wide));margin-inline:auto}
.container--default{width:min(100% - var(--space-10), var(--content-default))}
.container--narrow{width:min(100% - var(--space-10), var(--content-narrow))}
@media (max-width:640px){.container,.container--default,.container--narrow{width:min(100% - var(--space-8), var(--content-wide))}}
.section{padding-block:clamp(var(--space-12), 7vw, var(--space-24))}
.section--tight{padding-block:clamp(var(--space-8), 4vw, var(--space-16))}
.section--hero{padding-block:clamp(var(--space-8), 6vw, var(--space-20))}
.page{padding-top:var(--header-h)}

.eyebrow{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);font-weight:700;display:inline-flex;align-items:center;gap:var(--space-3)}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--color-primary)}
.eyebrow--plain::before{display:none}
h1,h2,h3,.display{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}
h1{font-size:var(--text-2xl)}
h2{font-size:var(--text-xl)}
h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:700}
.lede{font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.5;font-weight:400}
.muted{color:var(--color-text-muted)}
.faint{color:var(--color-text-faint)}
.small{font-size:var(--text-sm)}
.xs{font-size:var(--text-xs)}
.stack>*+*{margin-top:var(--space-4)}
.stack-lg>*+*{margin-top:var(--space-6)}
.grid{display:grid;gap:var(--space-6)}
@media (min-width:860px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-5-7{grid-template-columns:5fr 7fr}.grid-7-5{grid-template-columns:7fr 5fr}.grid-4-8{grid-template-columns:4fr 8fr}}
.section-head{display:grid;gap:var(--space-4);margin-bottom:clamp(var(--space-8),4vw,var(--space-12))}
@media (min-width:860px){.section-head--split{grid-template-columns:1fr 1fr;align-items:end}.section-head--split .lede{margin:0}}

/* ---------- glass surfaces ---------- */
.glass{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.05)}
.glass--2{background:var(--color-surface-2)}
.glass--pad{padding:clamp(var(--space-6),3vw,var(--space-10))}
.glass--hair{border-color:var(--color-border-strong)}
.divider{height:1px;background:var(--color-divider);border:0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn--primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 8px 24px rgba(78,159,229,.25)}
.btn--primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}
.btn--primary:active{background:var(--color-primary-active);color:#fff;transform:none}
.btn--ghost{background:rgba(255,255,255,.04);border-color:var(--color-border-strong);color:var(--color-text)}
.btn--ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(160,200,255,.45)}
.btn--chrome{background:linear-gradient(180deg,#f2f5f9,#c9d3e0);color:#071223;border-color:#e6ecf4;box-shadow:0 10px 30px rgba(215,223,234,.18)}
.btn--chrome:hover{background:linear-gradient(180deg,#ffffff,#dde5ee);transform:translateY(-1px)}
.btn--sm{min-height:40px;padding:var(--space-2) var(--space-4)}
.btn--lg{min-height:56px;padding:var(--space-4) var(--space-8);font-size:var(--text-base)}
.btn--block{width:100%}
.link{color:var(--color-primary);text-decoration:none;font-weight:700}
.link:hover{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:3px}
.link-arrow::after{content:" →"}

/* ---------- header ---------- */
.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:100;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:700}
.skip-link:focus{top:var(--space-4)}
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--header-h);display:flex;align-items:center;background:rgba(6,11,20,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-divider);transition:background .3s ease,transform .3s var(--ease-out)}
.site-header--scrolled{background:rgba(6,11,20,.82)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text)}
.brand__mark{width:34px;height:34px;flex:none}
.brand__word{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:var(--text-sm);text-transform:uppercase;line-height:1}
.brand__word small{display:block;font-family:var(--font-body);font-weight:500;letter-spacing:.32em;font-size:10px;color:var(--color-text-muted);margin-top:3px}
.nav{display:none;align-items:center;gap:var(--space-1)}
.nav a{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--color-text);background:rgba(255,255,255,.05)}
.nav a[aria-current="page"]{color:var(--color-primary)}
.header-cta{display:none}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);color:var(--color-text);border:1px solid var(--color-border)}
@media (min-width:980px){.nav{display:flex}.header-cta{display:inline-flex}.menu-btn{display:none}}
.mobile-nav{position:fixed;inset:0;z-index:70;background:rgba(6,11,20,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;padding:var(--space-6);opacity:0;pointer-events:none;transition:opacity .3s ease}
.mobile-nav[data-open="true"]{opacity:1;pointer-events:auto}
.mobile-nav__top{display:flex;justify-content:space-between;align-items:center;height:calc(var(--header-h) - var(--space-12))}
.mobile-nav__links{display:grid;gap:var(--space-2);margin-top:var(--space-10)}
.mobile-nav__links a{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);text-decoration:none;padding:var(--space-3) 0;border-bottom:1px solid var(--color-divider);transform:translateY(12px);opacity:0;transition:opacity .4s ease,transform .4s var(--ease-out)}
.mobile-nav[data-open="true"] .mobile-nav__links a{opacity:1;transform:none}
.mobile-nav__links a:nth-child(1){transition-delay:.05s}.mobile-nav__links a:nth-child(2){transition-delay:.1s}.mobile-nav__links a:nth-child(3){transition-delay:.15s}.mobile-nav__links a:nth-child(4){transition-delay:.2s}.mobile-nav__links a:nth-child(5){transition-delay:.25s}.mobile-nav__links a:nth-child(6){transition-delay:.3s}
.mobile-nav__foot{margin-top:auto;display:grid;gap:var(--space-3)}

/* ---------- hero (home) ---------- */
.hero{display:grid;gap:var(--space-8);align-items:center;min-height:calc(100svh - var(--header-h));padding-block:clamp(var(--space-8),5vw,var(--space-16))}
@media (min-width:980px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--space-12)}}
.hero__panel{padding:clamp(var(--space-6),3.5vw,var(--space-12))}
.hero h1{font-size:clamp(2.25rem, 1.4rem + 3.4vw, 4.25rem);line-height:1.02;margin-top:var(--space-5)}
.hero h1 em{font-style:normal;color:var(--color-primary)}
.hero .lede{margin-top:var(--space-5);max-width:52ch}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.hero__trust{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-divider);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em}
.hero__trust span{display:inline-flex;align-items:center;gap:var(--space-2)}
.hero__trust span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 10px var(--color-primary)}
.hero__art{position:relative;order:-1}
@media (min-width:980px){.hero__art{order:0}}
.hero__frame{position:relative;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border-strong);box-shadow:var(--shadow-lg),0 0 80px rgba(78,159,229,.18);aspect-ratio:1/1;max-height:min(78vh,720px);margin-inline:auto}
.hero__frame img{width:100%;height:100%;object-fit:cover}
.hero__frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 -80px 120px rgba(6,11,20,.35);pointer-events:none}
.hero__badge{position:absolute;left:var(--space-4);bottom:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:rgba(6,11,20,.72);border:1px solid var(--color-border-strong);backdrop-filter:blur(12px);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.hero__badge .dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);box-shadow:0 0 12px var(--color-success);animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}

/* ---------- page hero (interior) ---------- */
.page-hero{padding-block:clamp(var(--space-10),7vw,var(--space-20)) clamp(var(--space-8),4vw,var(--space-12))}
.page-hero h1{margin-top:var(--space-4)}
.page-hero .lede{margin-top:var(--space-5)}

/* ---------- tier ladder ---------- */
.ladder{display:grid;gap:var(--space-4)}
@media (min-width:860px){.ladder{grid-template-columns:repeat(4,1fr);align-items:end}}
.tier{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);position:relative;text-decoration:none;color:inherit;min-height:100%}
.tier:hover{border-color:var(--color-border-strong);transform:translateY(-3px)}
.tier{transition:transform .3s var(--ease-out),border-color .3s ease}
.tier__step{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.2em;color:var(--color-text-faint)}
.tier h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}
.tier__price{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1}
.tier__price small{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500;margin-left:var(--space-1)}
.tier__desc{color:var(--color-text-muted);font-size:var(--text-sm);flex:1}
.tier__cta{margin-top:auto}
.tier--best{border-color:rgba(78,159,229,.55);box-shadow:var(--shadow-glow),var(--shadow-md)}
@media (min-width:860px){.tier--1{min-height:300px}.tier--2{min-height:330px}.tier--3{min-height:380px}.tier--4{min-height:350px}}
.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-border-strong);background:rgba(255,255,255,.04)}
.badge--primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:transparent}
.badge--chrome{background:linear-gradient(180deg,#f2f5f9,#c9d3e0);color:#071223;border-color:transparent}
.badge--abs{position:absolute;top:calc(-1 * var(--space-3));right:var(--space-5)}
.tier__list{list-style:none;display:grid;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}
.tier__list li{padding-left:var(--space-5);position:relative}
.tier__list li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:1px;background:var(--color-primary)}

/* ---------- executive spotlight ---------- */
.exec{position:relative;overflow:hidden;border-color:rgba(215,223,234,.28);background:linear-gradient(135deg,rgba(9,18,33,.86),rgba(9,42,74,.55));box-shadow:var(--shadow-lg),0 0 0 1px rgba(215,223,234,.08),0 0 120px rgba(78,159,229,.15)}
.exec::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%,rgba(78,159,229,.18),transparent 60%);pointer-events:none}
.exec__grid{display:grid;gap:var(--space-8);position:relative}
@media (min-width:980px){.exec__grid{grid-template-columns:1.1fr .9fr;gap:var(--space-12)}}
.exec h2{font-size:clamp(1.9rem,1.2rem + 2.2vw,3rem);line-height:1.05}
.exec .eyebrow{color:var(--color-chrome)}
.exec .eyebrow::before{background:var(--color-chrome)}
.spots{display:grid;gap:var(--space-3)}
.spots__row{display:flex;gap:var(--space-2)}
.spots__slot{flex:1;height:10px;border-radius:3px;border:1px solid rgba(215,223,234,.22);background:rgba(215,223,234,.06);transition:background .5s,box-shadow .5s}
.spots__slot--on{border-color:transparent;background:linear-gradient(180deg,#9fd2ff,#2b84dc);box-shadow:0 0 14px rgba(78,159,229,.75),0 0 3px #bfe2ff inset;animation:slotGlow 2.8s ease-in-out infinite;animation-delay:calc(var(--i,0) * .18s)}
@keyframes slotGlow{0%,100%{box-shadow:0 0 12px rgba(78,159,229,.6),0 0 3px #bfe2ff inset}50%{box-shadow:0 0 22px rgba(120,190,255,.95),0 0 4px #e3f2ff inset}}
@media (prefers-reduced-motion:reduce){.spots__slot--on{animation:none}}
.spots__label{display:flex;justify-content:space-between;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}
.spots__label strong{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:0;text-transform:none}
.exec__list{list-style:none;display:grid;gap:var(--space-4)}
.exec__list li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start}
.exec__list li b{font-family:var(--font-display);color:var(--color-chrome);font-size:var(--text-xs);letter-spacing:.14em;padding-top:.35em}
.exec__list li span{color:var(--color-text-muted);font-size:var(--text-sm)}
.exec__list li span strong{color:var(--color-text);display:block;font-size:var(--text-base)}
@media (max-width:560px){.exec__list li{grid-template-columns:1fr;gap:var(--space-1)}.exec__list li b{padding-top:0}}

/* ---------- process (narrative timeline) ---------- */
.process{display:grid;gap:var(--space-6);position:relative}
@media (min-width:860px){.process{grid-template-columns:repeat(3,1fr)}.process::before{content:"";position:absolute;left:0;right:0;top:22px;height:1px;background:linear-gradient(90deg,transparent,var(--color-border-strong) 15%,var(--color-border-strong) 85%,transparent)}}
.step{position:relative;padding-top:var(--space-12)}
.step__n{position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;background:var(--color-surface-solid);border:1px solid var(--color-border-strong);color:var(--color-primary);box-shadow:0 0 24px rgba(78,159,229,.25)}
.step h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);margin-bottom:var(--space-2)}
.step p{color:var(--color-text-muted);font-size:var(--text-sm)}

/* ---------- keyword marquee / modality chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.chip{display:inline-flex;align-items:center;min-height:36px;padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-border);background:rgba(255,255,255,.03);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text-muted);text-decoration:none}
.chip:hover{border-color:var(--color-primary);color:var(--color-text)}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:var(--space-8);width:max-content;animation:marquee 60s linear infinite;padding-block:var(--space-3)}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track span{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-8)}
.marquee__track span::after{content:"✕";color:var(--color-primary);font-size:var(--text-xs)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- testimonials ---------- */
.reviews{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--space-2) var(--space-1) var(--space-6);scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;-webkit-overflow-scrolling:touch}
.reviews::-webkit-scrollbar{height:6px}
.reviews::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}
.review{flex:0 0 min(86vw,360px);scroll-snap-align:start;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);text-align:left;color:inherit;cursor:pointer}
.review:hover{border-color:var(--color-border-strong)}
.review__media{aspect-ratio:16/10;border-radius:var(--radius-md);overflow:hidden;background:linear-gradient(135deg,var(--color-midnight),#0b1524);display:grid;place-items:center;position:relative;border:1px solid var(--color-divider)}
.review__media img,.review__media video{width:100%;height:100%;object-fit:cover}
.review__media .mono{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-primary);letter-spacing:.05em;text-shadow:0 0 30px var(--color-glow)}
.review__media .play{position:absolute;inset:auto var(--space-3) var(--space-3) auto;width:40px;height:40px;border-radius:50%;background:rgba(6,11,20,.7);border:1px solid var(--color-border-strong);display:grid;place-items:center;color:#fff}
.review__quote{font-size:var(--text-sm);color:var(--color-text);line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.review__meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}
.review__meta b{color:var(--color-text);display:block;font-size:var(--text-sm)}
.stars{color:var(--color-primary);letter-spacing:.1em;font-size:var(--text-xs)}
.reviews-grid{display:grid;gap:var(--space-4)}
@media (min-width:700px){.reviews-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.reviews-grid{grid-template-columns:1fr 1fr 1fr}}
.reviews-grid .review{flex:none}
.reviews-grid .review__quote{-webkit-line-clamp:unset;display:block}
.reviews__nav{display:flex;gap:var(--space-2)}
.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border-strong);display:grid;place-items:center;color:var(--color-text);background:rgba(255,255,255,.03)}
.icon-btn:hover{background:rgba(255,255,255,.09)}

/* ---------- NexGen family tabs ---------- */
.tabs{display:flex;gap:var(--space-2);flex-wrap:wrap;border-bottom:1px solid var(--color-divider);margin-bottom:var(--space-8)}
.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;min-height:48px;display:inline-flex;align-items:center;gap:var(--space-2)}
.tab:hover{color:var(--color-text)}
.tab[aria-selected="true"]{color:var(--color-text);border-bottom-color:var(--color-primary)}
.tabpanel[hidden]{display:none}
.family{display:grid;gap:var(--space-6);align-items:center}
@media (min-width:900px){.family{grid-template-columns:1.1fr .9fr}}
.family__preview{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-strong);box-shadow:var(--shadow-lg);position:relative;background:var(--color-surface-solid)}
.family__preview img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.family__preview--square img{aspect-ratio:16/10;object-fit:cover;object-position:50% 45%}
.family__preview .site-chrome{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:rgba(255,255,255,.04);border-bottom:1px solid var(--color-divider);font-size:var(--text-xs);color:var(--color-text-faint)}
.site-chrome i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.15);display:inline-block}
.site-chrome span{margin-left:var(--space-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.socials{display:flex;gap:var(--space-2);flex-wrap:wrap}
.socials a{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--color-border);display:grid;place-items:center;color:var(--color-text);background:rgba(255,255,255,.03)}
.socials a:hover{border-color:var(--color-primary);color:var(--color-primary)}

/* ---------- forms ---------- */
.field{display:grid;gap:var(--space-2)}
.field label,.field legend{font-size:var(--text-sm);font-weight:700;color:var(--color-text)}
.field .hint{font-size:var(--text-xs);color:var(--color-text-faint)}
.input,.select,.textarea{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:rgba(6,11,20,.55);color:var(--color-text);font-size:var(--text-base)}
.input::placeholder,.textarea::placeholder{color:var(--color-text-faint)}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(78,159,229,.25)}
.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23a9b8cc' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10)}
.textarea{min-height:120px;resize:vertical}
.form-row{display:grid;gap:var(--space-4)}
@media (min-width:640px){.form-row--2{grid-template-columns:1fr 1fr}}
.check{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--space-2) 0}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--color-primary)}
.choice-grid{display:grid;gap:var(--space-3)}
@media (min-width:640px){.choice-grid{grid-template-columns:1fr 1fr}}
.choice{position:relative;display:block}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.choice__card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:rgba(255,255,255,.03);min-height:64px;transition:border-color .2s ease,background .2s ease}
.choice__card b{font-size:var(--text-sm)}
.choice__card span{font-size:var(--text-xs);color:var(--color-text-muted)}
.choice input:checked+.choice__card{border-color:var(--color-primary);background:rgba(78,159,229,.12);box-shadow:0 0 0 1px var(--color-primary)}
.choice input:focus-visible+.choice__card{outline:2px solid var(--color-primary);outline-offset:2px}
.form-msg{padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);display:none}
.form-msg[data-state="success"]{display:block;background:rgba(92,196,138,.12);border:1px solid rgba(92,196,138,.4);color:#c9f0d9}
.form-msg[data-state="error"]{display:block;background:rgba(242,139,139,.12);border:1px solid rgba(242,139,139,.4);color:#ffd9d9}

/* multi-step intake */
.steps-bar{display:flex;gap:var(--space-2);margin-bottom:var(--space-8)}
.steps-bar span{flex:1;height:4px;border-radius:var(--radius-full);background:rgba(255,255,255,.08)}
.steps-bar span[data-done="true"]{background:var(--color-primary);box-shadow:0 0 10px var(--color-glow)}
.fstep[hidden]{display:none}
.fstep{display:grid;gap:var(--space-6)}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0}
.fstep__head h2{font-size:var(--text-xl)}
.fstep__head p{color:var(--color-text-muted);margin-top:var(--space-2);font-size:var(--text-sm)}
.fstep__nav{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-divider)}

/* ---------- phases (executive) ---------- */
.phases{display:grid;gap:var(--space-4)}
.phase{display:grid;gap:var(--space-4);padding:var(--space-6);grid-template-columns:1fr}
@media (min-width:860px){.phase{grid-template-columns:200px 1fr;gap:var(--space-8)}}
.phase__when{font-family:var(--font-display);color:var(--color-primary);font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase}
.phase__when small{display:block;color:var(--color-text-faint);font-family:var(--font-body);letter-spacing:.04em;text-transform:none;margin-top:var(--space-1)}
.phase h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}
.phase p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-2)}
.phase ul{margin-top:var(--space-3);display:grid;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);padding-left:var(--space-5)}
.pillars{display:grid;gap:var(--space-4)}
@media (min-width:860px){.pillars{grid-template-columns:repeat(2,1fr)}}
.pillar{padding:var(--space-6)}
.pillar__n{font-family:var(--font-display);font-size:var(--text-2xl);color:rgba(78,159,229,.35);line-height:1}
.pillar h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);margin-top:var(--space-2)}
.pillar p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-2)}

/* ---------- comparison table ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}
.cmp{min-width:760px;font-size:var(--text-sm)}
.cmp th,.cmp td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-divider);vertical-align:top}
.cmp th{font-family:var(--font-display);font-weight:600;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);background:rgba(255,255,255,.03)}
.cmp td:first-child{color:var(--color-text);font-weight:500}
.cmp td{color:var(--color-text-muted)}
.cmp .yes{color:var(--color-primary);font-weight:700}
.cmp .exec-col{background:rgba(215,223,234,.05)}

/* ---------- modality cards ---------- */
.modality{display:grid;gap:var(--space-4);padding:var(--space-6)}
@media (min-width:860px){.modality{grid-template-columns:1fr 2fr;gap:var(--space-8)}}
.modality h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}
.modality .tag{font-size:var(--text-xs);color:var(--color-primary);letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:var(--space-2);display:block}
.modality p{color:var(--color-text-muted);font-size:var(--text-sm)}
.modality p+p{margin-top:var(--space-3)}
.evidence{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-3)}
.evidence i{display:inline-flex;gap:3px}
.evidence i b{width:14px;height:5px;border-radius:2px;background:rgba(255,255,255,.1)}
.evidence i b.on{background:var(--color-primary)}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--color-divider)}
.faq details{border-bottom:1px solid var(--color-divider)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;font-weight:700;font-size:var(--text-base)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-display);color:var(--color-primary);font-size:var(--text-xl);line-height:1;transition:transform .3s var(--ease-out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}

/* ---------- CTA band + footer ---------- */
.cta-band{text-align:center;padding:clamp(var(--space-10),6vw,var(--space-20)) clamp(var(--space-6),4vw,var(--space-12))}
.cta-band h2{font-size:clamp(1.75rem,1.2rem + 2vw,2.75rem)}
.cta-band .lede{margin:var(--space-4) auto 0;max-width:56ch}
.cta-band .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-8)}
.site-footer{margin-top:clamp(var(--space-12),6vw,var(--space-20));border-top:1px solid var(--color-divider);background:rgba(6,11,20,.6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.footer-bottom{padding-bottom:calc(var(--space-6) + 48px)}
.footer-grid{display:grid;gap:var(--space-8);padding-block:clamp(var(--space-10),5vw,var(--space-16))}
@media (min-width:860px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.footer-grid h4{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-4)}
.footer-grid ul{list-style:none;display:grid;gap:var(--space-2)}
.footer-grid a{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm)}
.footer-grid a:hover{color:var(--color-text)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-6);border-top:1px solid var(--color-divider);font-size:var(--text-xs);color:var(--color-text-faint)}
.powered{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:var(--text-xs);color:var(--color-text-muted)}
.powered svg{width:18px;height:18px}
.disclaimer{font-size:var(--text-xs);color:var(--color-text-faint);max-width:90ch;line-height:1.55}

/* ---------- popup ---------- */
.popup{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--space-4);background:rgba(3,7,14,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .35s ease}
.popup[data-open="true"]{opacity:1;pointer-events:auto}
.popup__card{width:min(100%,520px);position:relative;overflow:hidden;transform:translateY(20px) scale(.98);transition:transform .45s var(--ease-out)}
.popup[data-open="true"] .popup__card{transform:none}
.popup__glow{position:absolute;inset:-30% -20% auto;height:80%;background:radial-gradient(55% 50% at 50% 40%,rgba(78,159,229,.30),transparent 72%);pointer-events:none}
.popup__body{position:relative;padding:clamp(var(--space-6),4vw,var(--space-10))}
.popup__close{position:absolute;top:var(--space-3);right:var(--space-3);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--color-text-muted);z-index:2}
.popup__close:hover{color:var(--color-text);background:rgba(255,255,255,.06)}
.popup h2{font-size:var(--text-xl);margin-top:var(--space-3)}
.popup .big{font-family:var(--font-display);font-size:clamp(3rem,2rem + 4vw,5rem);line-height:.95;color:var(--color-primary);text-shadow:0 0 40px var(--color-glow)}
.popup form{margin-top:var(--space-6);display:grid;gap:var(--space-3)}
.popup .fine{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-3)}
.sticky-offer{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:40;display:none}
.sticky-offer[data-show="true"]{display:inline-flex}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.room img{animation:none!important}}

/* ---------- misc ---------- */
.kicker-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between}
.quote{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.25;font-weight:500}
.quote::before{content:"“";color:var(--color-primary)}
.quote::after{content:"”";color:var(--color-primary)}
.checklist{list-style:none;display:grid;gap:var(--space-3)}
.checklist li{display:grid;grid-template-columns:20px 1fr;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}
.checklist li svg{width:20px;height:20px;color:var(--color-primary);margin-top:1px}
.checklist li strong{color:var(--color-text)}
.plan-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}
.plan-card h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg)}
.plan-card p{color:var(--color-text-muted);font-size:var(--text-sm);flex:1}
.plan-card .meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-faint)}
.plan-card .price{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text)}
.plans-grid{display:grid;gap:var(--space-4)}
@media (min-width:640px){.plans-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.plans-grid{grid-template-columns:repeat(3,1fr)}}
.stat{display:grid;gap:var(--space-1)}
.stat b{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;color:var(--color-text)}
.stat span{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}
.stats{display:grid;gap:var(--space-6);grid-template-columns:repeat(2,1fr)}
@media (min-width:860px){.stats{grid-template-columns:repeat(4,1fr)}}
.portrait{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-strong);background:linear-gradient(160deg,var(--color-midnight),#0b1524);display:grid;place-items:center;box-shadow:var(--shadow-lg)}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait .mono{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-primary);text-shadow:0 0 40px var(--color-glow)}

html.modal-open{overflow:hidden}
.popup__card{max-height:calc(100dvh - 2rem);overflow:auto}

/* ---- Legal / policy pages ---- */
.legal-nav{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.legal-nav a{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;padding:.45em .9em;border:1px solid var(--color-divider);border-radius:999px;color:var(--color-text-muted);text-decoration:none}
.legal-nav a:hover,.legal-nav a[aria-current="page"]{color:var(--color-text);border-color:var(--color-primary)}
.prose>section+section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-divider)}
.prose h2{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-3)}
.prose p,.prose li{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.65}
.prose p+p,.prose ul{margin-top:var(--space-3)}
.prose ul{padding-left:1.2em;display:grid;gap:var(--space-2)}
.prose strong,.prose em{color:var(--color-text)}
.prose em{font-style:normal;font-weight:600}
.footer-legal{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.footer-legal a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.footer-legal a:hover{color:var(--color-text);border-color:currentColor}

/* ---------- concierge availability graphic ---------- */
.spots{display:grid;gap:var(--space-4)}
.spots__graphic{display:grid;grid-template-columns:120px 1fr;gap:var(--space-5);align-items:center}
@media (max-width:560px){.spots__graphic{grid-template-columns:1fr;justify-items:center;text-align:center}}
.ring svg{width:120px;height:120px;display:block}
.ring__track{fill:none;stroke:rgba(215,223,234,.14);stroke-width:9}
.ring__fill{fill:none;stroke:#4e9fe5;stroke-width:9;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;filter:drop-shadow(0 0 10px rgba(78,159,229,.55));transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1)}
.ring__num{fill:var(--color-text);font-family:var(--font-display);font-weight:600;font-size:34px;text-anchor:middle}
.ring__sub{fill:var(--color-text-muted);font-family:var(--font-body);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;text-anchor:middle}
.spots__legend{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-text-muted)}
.spots__legend>span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:rgba(215,223,234,.08);border:1px solid rgba(215,223,234,.3)}
.spots__legend>span.is-on::before{background:linear-gradient(180deg,#9fd2ff,#2b84dc);border-color:transparent;box-shadow:0 0 8px rgba(78,159,229,.7)}
.spots__slot{height:12px}
.spots__note{font-size:var(--text-sm);color:var(--color-text-muted)}
.spots__note b{color:var(--color-text)}

/* ---------- pricing extras ---------- */
.tier__price small.alt{display:block;margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-text)}
.price-toggle{display:inline-flex;gap:var(--space-2);flex-wrap:wrap}
.bundle{display:grid;gap:var(--space-4);align-items:center;padding:var(--space-5) var(--space-6);border:1px solid rgba(78,159,229,.4);background:linear-gradient(135deg,rgba(78,159,229,.14),rgba(9,18,33,.4))}
@media (min-width:860px){.bundle{grid-template-columns:1fr auto}}
.bundle h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);line-height:1.1}
.bundle p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-2)}
.bundle .tier__price{margin-top:var(--space-3)}
.addon{display:grid;gap:var(--space-4)}
.plan-card .meta .btn{white-space:nowrap}

/* ---------- cart ---------- */
.cart{position:fixed;inset:0;z-index:70;display:flex;justify-content:flex-end;background:rgba(3,8,16,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .35s ease}
.cart[data-open="true"]{opacity:1;pointer-events:auto}
.cart__panel{width:min(480px,100%);height:100%;overflow:auto;padding:var(--space-6);border-radius:0;border-left:1px solid var(--color-border);transform:translateX(24px);transition:transform .45s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;gap:var(--space-5)}
.cart[data-open="true"] .cart__panel{transform:none}
.cart__head{display:flex;justify-content:space-between;align-items:center}
.cart__head h2{font-size:var(--text-xl)}
.cart__head .popup__close{position:static}
.cart__lines{display:grid;gap:var(--space-3)}
.cart__line{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-3);align-items:center;font-size:var(--text-sm);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}
.cart__line--save{color:var(--color-primary);font-weight:700;grid-template-columns:1fr auto}
.cart__price{font-family:var(--font-display);white-space:nowrap}
.cart__remove{background:none;border:0;color:var(--color-text-faint);cursor:pointer;font-size:12px;padding:4px}
.cart__remove:hover{color:var(--color-text)}
.cart__hint{font-size:var(--text-xs);color:var(--color-primary)}
.cart__upsell{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid rgba(78,159,229,.45);background:rgba(78,159,229,.1);cursor:pointer;font-size:var(--text-sm)}
.cart__upsell.is-hot{box-shadow:0 0 0 1px rgba(78,159,229,.6),0 0 28px rgba(78,159,229,.35);animation:hot 1.6s ease-in-out 2}
@keyframes hot{50%{box-shadow:0 0 0 2px rgba(78,159,229,.9),0 0 36px rgba(78,159,229,.5)}}
.cart__upsell input{margin-top:3px;accent-color:var(--color-primary);width:18px;height:18px;flex:none}
.cart__upsell small{display:block;color:var(--color-text-muted);margin-top:4px;font-size:var(--text-xs);line-height:1.5}
.cart__summary{display:grid;gap:var(--space-2);padding-top:var(--space-2)}
.cart__summary div{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--color-text-muted)}
.cart__summary b{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text)}
.cart__actions{display:grid;gap:var(--space-3)}
.cart__actions .btn{width:100%;max-width:100%;white-space:normal;text-align:center;flex-direction:column;gap:2px;line-height:1.3;padding-top:12px;padding-bottom:12px}
.cart__actions .btn small{display:block;font-weight:500;opacity:.8;font-size:.78em}
.cart__fine{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:auto}
.cart-pill{position:fixed;left:var(--space-4);bottom:var(--space-4);z-index:40;display:none;align-items:center;gap:var(--space-2);padding:10px 14px;border-radius:var(--radius-full);color:var(--color-text);font-weight:700;cursor:pointer}
.cart-pill[data-show="true"]{display:inline-flex}
.cart-pill span{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-full);min-width:22px;height:22px;display:inline-grid;place-items:center;font-size:12px}

.ladder .tier__price small{display:block;margin:6px 0 0}
.ladder .tier__price small.alt{margin-top:4px}

/* Hero roster banner */
.hero__badge--roster{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);display:grid;gap:8px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);text-transform:none;letter-spacing:0;font-weight:600;font-size:var(--text-sm)}
.hero__badge--roster .roster__title{display:flex;align-items:center;gap:var(--space-3);font-weight:800;letter-spacing:.02em;font-size:var(--text-base)}
.hero__badge--roster .spots__row{gap:5px}
.hero__badge--roster .spots__slot{height:12px}
.hero__badge--roster .roster__meta{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}
.waitlist{display:grid;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid rgba(255,196,87,.35);background:rgba(255,196,87,.07)}
.waitlist b{color:#ffd27a}
[hidden]{display:none !important}

/* Creed / quote band */
.creed{position:relative;text-align:center;padding:clamp(var(--space-8),6vw,var(--space-14)) clamp(var(--space-6),5vw,var(--space-16));overflow:hidden}
.creed__mark{position:absolute;left:clamp(12px,3vw,40px);top:-.1em;font-family:var(--font-display);font-size:clamp(6rem,14vw,12rem);line-height:1;color:rgba(78,159,229,.16);pointer-events:none}
.creed__text{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,1rem + 2.6vw,3.1rem);line-height:1.15;letter-spacing:-.01em;max-width:22ch;margin-inline:auto}
.creed__text em{font-style:normal;color:var(--color-primary);text-shadow:0 0 28px rgba(78,159,229,.45)}
.creed__by{margin-top:var(--space-5);font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}

/* Handbook feature on home */
.hb-feature{display:grid;gap:var(--space-8);padding:clamp(var(--space-6),4vw,var(--space-10));align-items:center}
@media (min-width:900px){.hb-feature{grid-template-columns:minmax(220px,.8fr) 1.6fr}}
.hb-feature__cover{display:block;max-width:360px;margin-inline:auto;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.55),0 0 60px rgba(78,159,229,.18);transform:rotate(-3deg);transition:transform .4s var(--ease-out)}
.hb-feature__cover:hover{transform:rotate(0) translateY(-4px)}
.hb-feature__cover img{display:block;width:100%;height:auto}
.hb-feature__offers{display:grid;gap:var(--space-4);margin-block:var(--space-6)}
@media (min-width:700px){.hb-feature__offers{grid-template-columns:1fr 1.3fr}}
.hb-offer{position:relative;display:grid;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:rgba(255,255,255,.03)}
.hb-offer--best{border-color:rgba(78,159,229,.55);box-shadow:var(--shadow-glow)}
.hb-offer .tag{position:absolute;top:calc(-1 * var(--space-3));right:var(--space-4)}
.hb-offer__price{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1}
.hb-offer .btn{margin-top:var(--space-2);justify-self:start}

/* Handbook page */
.hb-hero{display:grid;gap:var(--space-8);align-items:center}
@media (min-width:900px){.hb-hero{grid-template-columns:minmax(240px,.75fr) 1.5fr}}
.hb-hero__cover{max-width:380px;margin-inline:auto;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 80px rgba(78,159,229,.22);transform:perspective(1200px) rotateY(14deg) rotate(-1deg)}
.hb-hero__cover img{display:block;width:100%;height:auto}
.hb-editions{display:grid;gap:var(--space-5)}
@media (min-width:860px){.hb-editions{grid-template-columns:1fr 1.25fr}}
.hb-gallery{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}
@media (min-width:860px){.hb-gallery{grid-template-columns:repeat(4,1fr)}.hb-gallery__wide{grid-column:span 2}}
.hb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-6);align-content:center}
.hb-stats b{display:block;font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1;color:var(--color-primary)}
.hb-stats span{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}
.hb-stats p{grid-column:1/-1;margin:0}
.hb-feature__em{font-style:normal;color:var(--color-primary)}
.hb-gallery figure{margin:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:#fff}
.hb-gallery img{display:block;width:100%;height:auto}
.hb-gallery figcaption{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);background:var(--color-surface)}
.hb-toc{display:grid;gap:var(--space-6);padding:clamp(var(--space-6),3vw,var(--space-8));margin-top:var(--space-6)}
@media (min-width:700px){.hb-toc{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.hb-toc{grid-template-columns:repeat(4,1fr)}}
.hb-toc h3{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-3);color:var(--color-primary)}
.hb-toc ol{padding-left:1.4em;display:grid;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}
.hb-toc li::marker{color:var(--color-text-faint);font-variant-numeric:tabular-nums}
