/* Helix — site styles. Requires tokens.css. */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font: 400 17px/1.5 var(--font);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: clip; text-rendering: optimizeLegibility;
}
img, video, svg { display: block; max-width: 100%; }
main { overflow-x: clip; }
picture { display: contents; }
a { color: inherit; }
button, input { font: inherit; color: inherit; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; }
::selection { background: var(--accent); color: var(--accent-ink); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }

.skip { position: absolute; left: 16px; top: -60px; z-index: 100; padding: 10px 16px; background: var(--accent); color: var(--accent-ink); border-radius: var(--r-pill); font-weight: 600; text-decoration: none; transition: top .2s; }
.skip:focus { top: 12px; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Layout ---------- */
.wrap { width: 100%; max-width: 1296px; margin-inline: auto; padding-inline: clamp(16px, 4vw, 48px); }
.wrap--narrow { max-width: 820px; }
.section { padding-block: clamp(88px, 11vw, 168px); position: relative; }
.section--tight { padding-block: clamp(64px, 8vw, 112px); }
.panel { margin-inline: clamp(8px, 1.2vw, 20px); border-radius: var(--r-panel); max-width: 1640px; }
@media (min-width: 1680px) { .panel { margin-inline: auto; } }
.panel + .panel { margin-top: clamp(8px, 1.2vw, 20px); }

/* ---------- Type ---------- */
.display {
  font-size: clamp(46px, 7vw, 100px); font-weight: 600; line-height: 1.0;
  letter-spacing: var(--track-xl); text-wrap: balance;
}
.h2 {
  font-size: clamp(38px, 5.4vw, 76px); font-weight: 600; line-height: 1.03;
  letter-spacing: var(--track-l); text-wrap: balance;
}
@media (min-width: 1185px) { .h2 { letter-spacing: var(--track-xl); } }
.h3 { font-size: clamp(28px, 3vw, 44px); font-weight: 600; line-height: 1.1; letter-spacing: var(--track-m); text-wrap: balance; }
@media (min-width: 1360px) { .h3 { letter-spacing: var(--track-l); } }
.h4 { font-size: 19px; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.lead { font-size: clamp(18px, 1.55vw, 21px); line-height: 1.5; color: var(--text-2); text-wrap: pretty; }
.body { color: var(--text-2); line-height: 1.55; text-wrap: pretty; }
.small { font-size: 14px; line-height: 1.45; color: var(--text-3); }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 600; letter-spacing: .006em; color: var(--on, var(--accent));
  margin-bottom: 18px;
}
.eyebrow svg { width: 12px; height: 12px; flex: none; }
.center { text-align: center; }
.center .lead { margin-inline: auto; }
.stack > * + * { margin-top: 20px; }
.measure { max-width: 34ch; }
.measure-l { max-width: 46ch; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 22px; border-radius: var(--r-pill); border: 0;
  font-size: 16px; font-weight: 600; letter-spacing: -.005em; text-decoration: none; white-space: nowrap;
  cursor: pointer; transition: background-color .2s, transform .2s var(--ease), box-shadow .2s;
}
.btn--primary { background: var(--accent); color: var(--accent-ink); box-shadow: 0 8px 24px -8px rgba(121,151,255,.55), inset 0 1px 0 rgba(255,255,255,.35); }
.btn--primary:hover { background: #8DA7FF; }
.btn--primary:active { transform: scale(.98); }
.btn--glass { position: relative; background: rgba(var(--fg-rgb), .07); color: var(--text); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .14); }
.btn--glass:hover { background: rgba(var(--fg-rgb), .12); }
.btn--sm { min-height: 38px; padding: 0 16px; font-size: 15px; }
.btn svg { width: 16px; height: 16px; }
.link { color: var(--accent); text-decoration: none; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.link:hover { text-decoration: underline; text-underline-offset: 3px; }
.link svg { width: 14px; height: 14px; transition: transform .2s var(--ease); }
.link:hover svg { transform: translateX(3px); }

/* ---------- Glass ---------- */
.glass {
  position: relative; background: var(--glass-sheen), var(--glass-fill);
  border-radius: var(--r-card); box-shadow: var(--glass-shadow);
  backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
}
.glass::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
  background: var(--glass-edge);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 14px;
  border-radius: var(--r-pill); font-size: 14px; font-weight: 500; color: var(--text);
}
.chip .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--on, var(--accent)); box-shadow: 0 0 10px var(--on, var(--accent)); }

/* ---------- Domain grounds ---------- */
[data-domain="readiness"] { --g0: var(--readiness-g0); --g1: var(--readiness-g1); --g2: var(--readiness-g2); --on: var(--readiness-on); --tint: var(--readiness-tint); --wash: var(--readiness-wash);
  --m0: var(--readiness-m0); --m1: var(--readiness-m1); --m2: var(--readiness-m2); --m3: var(--readiness-m3); --m4: var(--readiness-m4); --m5: var(--readiness-m5); --m6: var(--readiness-m6); --m7: var(--readiness-m7); --m8: var(--readiness-m8); --glow: rgba(64,110,255,.32); }
[data-domain="sleep"] { --g0: var(--sleep-g0); --g1: var(--sleep-g1); --g2: var(--sleep-g2); --on: var(--sleep-on); --tint: var(--sleep-tint); --wash: var(--sleep-wash);
  --m0: var(--sleep-m0); --m1: var(--sleep-m1); --m2: var(--sleep-m2); --m3: var(--sleep-m3); --m4: var(--sleep-m4); --m5: var(--sleep-m5); --m6: var(--sleep-m6); --m7: var(--sleep-m7); --m8: var(--sleep-m8); --glow: rgba(132,110,255,.30); }
[data-domain="cardiac"] { --g0: var(--cardiac-g0); --g1: var(--cardiac-g1); --g2: var(--cardiac-g2); --on: var(--cardiac-on); --tint: var(--cardiac-tint); --wash: var(--cardiac-wash);
  --m0: var(--cardiac-m0); --m1: var(--cardiac-m1); --m2: var(--cardiac-m2); --m3: var(--cardiac-m3); --m4: var(--cardiac-m4); --m5: var(--cardiac-m5); --m6: var(--cardiac-m6); --m7: var(--cardiac-m7); --m8: var(--cardiac-m8); --glow: rgba(255,90,100,.26); }
[data-domain="load"] { --g0: var(--load-g0); --g1: var(--load-g1); --g2: var(--load-g2); --on: var(--load-on); --tint: var(--load-tint); --wash: var(--load-wash);
  --m0: var(--load-m0); --m1: var(--load-m1); --m2: var(--load-m2); --m3: var(--load-m3); --m4: var(--load-m4); --m5: var(--load-m5); --m6: var(--load-m6); --m7: var(--load-m7); --m8: var(--load-m8); --glow: rgba(255,140,40,.26); }
[data-domain="nutrition"] { --g0: var(--nutrition-g0); --g1: var(--nutrition-g1); --g2: var(--nutrition-g2); --on: var(--nutrition-on); --tint: var(--nutrition-tint); --wash: var(--nutrition-wash);
  --m0: var(--nutrition-m0); --m1: var(--nutrition-m1); --m2: var(--nutrition-m2); --m3: var(--nutrition-m3); --m4: var(--nutrition-m4); --m5: var(--nutrition-m5); --m6: var(--nutrition-m6); --m7: var(--nutrition-m7); --m8: var(--nutrition-m8); --glow: rgba(150,200,80,.24); }
/* Timetable: the load hue, deeper and browner, as the plan screen renders */
[data-domain="timetable"] { --g0: #3E1C08; --g1: #1A0C05; --g2: #070302; --on: var(--load-on); --tint: var(--load-tint); --wash: var(--load-wash);
  --m0: #48210A; --m1: #3A1C0C; --m2: #241208; --m3: #2E1408; --m4: #1E0E06; --m5: #150A05; --m6: #120704; --m7: #0C0503; --m8: #080302; --glow: rgba(240,155,72,.22); }
/* Coach: neutral graphite with the accent's hue, as the coach screen renders */
[data-domain="coach"] { --g0: #1A2142; --g1: #0E1020; --g2: #050609; --on: var(--readiness-on); --tint: var(--accent); --wash: var(--accent-wash);
  --m0: #1E2A55; --m1: #1A1C3C; --m2: #121429; --m3: #141A36; --m4: #0F1226; --m5: #0B0C1A; --m6: #090B16; --m7: #07080F; --m8: #05060A; --glow: rgba(121,151,255,.26); }

.ground {
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(180deg, var(--g0) 0%, var(--g1) 55%, var(--g2) 100%);
}
.ground::before { /* drifting mesh: 3 x 3 grid of the domain's mesh colours */
  content: ""; position: absolute; inset: -22%; z-index: -2; pointer-events: none;
  background:
    radial-gradient(34% 30% at 12% 8%, var(--m0), transparent 72%),
    radial-gradient(36% 30% at 52% 4%, var(--m1), transparent 72%),
    radial-gradient(34% 30% at 90% 10%, var(--m2), transparent 72%),
    radial-gradient(36% 32% at 8% 48%, var(--m3), transparent 72%),
    radial-gradient(40% 34% at 50% 46%, var(--m4), transparent 72%),
    radial-gradient(36% 32% at 92% 50%, var(--m5), transparent 72%),
    radial-gradient(36% 30% at 10% 92%, var(--m6), transparent 72%),
    radial-gradient(36% 30% at 52% 94%, var(--m7), transparent 72%),
    radial-gradient(36% 30% at 90% 90%, var(--m8), transparent 72%);
  opacity: .95;
  animation: mesh 38s ease-in-out infinite alternate; animation-play-state: paused;
  will-change: transform;
}
.ground::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: var(--grain); opacity: var(--grain-ground); }
.ground.is-live::before { animation-play-state: running; }
@keyframes mesh {
  0%   { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
  33%  { transform: translate3d(3%, 2%, 0) rotate(4deg) scale(1.04); }
  66%  { transform: translate3d(-2%, 3%, 0) rotate(-3deg) scale(1.02); }
  100% { transform: translate3d(-3%, -2%, 0) rotate(2deg) scale(1.05); }
}
.glow { position: absolute; z-index: -1; pointer-events: none; border-radius: 50%; background: radial-gradient(closest-side, var(--glow), transparent); filter: blur(10px); }
.grain-surface { position: relative; }
.grain-surface::after { content: ""; position: absolute; inset: 0; background: var(--grain); opacity: var(--grain-surface); pointer-events: none; border-radius: inherit; }

/* ---------- Nav ---------- */
.nav {
  position: fixed; inset: 0 0 auto; z-index: 50; height: 72px;
  transition: background-color .3s, box-shadow .3s, backdrop-filter .3s;
}
.nav.is-scrolled {
  background: var(--nav-bg);
  backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
  box-shadow: 0 1px 0 rgba(var(--fg-rgb), .07);
}
.nav__in { height: 100%; display: flex; align-items: center; gap: 28px; max-width: 1400px; margin: 0 auto; padding-inline: clamp(16px, 3vw, 40px); }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-size: 21px; font-weight: 600; letter-spacing: -.02em; }
.brand img { height: 28px; width: auto; }
.nav__links { display: flex; gap: 4px; margin-left: auto; list-style: none; }
.nav__links a { display: block; padding: 8px 14px; border-radius: var(--r-pill); color: var(--text-2); text-decoration: none; font-size: 15px; font-weight: 500; transition: color .2s, background-color .2s; }
.nav__links a:hover, .nav__links a[aria-current="page"] { color: var(--text); background: rgba(var(--fg-rgb), .06); }
.nav__cta { margin-left: 8px; }
.nav__menu { display: none; margin-left: auto; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(var(--fg-rgb), .07); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .12); cursor: pointer; place-items: center; }
.nav__menu span { display: block; width: 16px; height: 1.6px; background: var(--text); border-radius: 2px; position: relative; transition: transform .25s var(--ease), background-color .2s; }
.nav__menu span::before, .nav__menu span::after { content: ""; position: absolute; left: 0; width: 16px; height: 1.6px; background: var(--text); border-radius: 2px; transition: transform .25s var(--ease); }
.nav__menu span::before { top: -5px; } .nav__menu span::after { top: 5px; }
.nav.is-open .nav__menu span { background: transparent; }
.nav.is-open .nav__menu span::before { transform: translateY(5px) rotate(45deg); }
.nav.is-open .nav__menu span::after { transform: translateY(-5px) rotate(-45deg); }
@media (max-width: 899px) {
  .nav__menu { display: grid; }
  .nav__cta { margin-left: 0; }
  .nav__links {
    position: absolute; top: 72px; left: 12px; right: 12px; flex-direction: column; gap: 2px; padding: 10px;
    background: var(--menu-bg); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--r-card); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .1), 0 24px 60px rgba(0,0,0,.5);
    opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s, transform .25s var(--ease), visibility .2s;
  }
  .nav.is-open .nav__links { opacity: 1; visibility: visible; transform: none; }
  .nav.is-open { background: var(--nav-bg); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); }
  .nav__links a { padding: 14px 16px; font-size: 17px; color: var(--text); }
}
@media (max-width: 479px) { .nav__cta .long { display: none; } }
@media (min-width: 480px) { .nav__cta .short { display: none; } }

/* ---------- Waitlist form ---------- */
.waitlist { width: 100%; max-width: 480px; }
.center .waitlist { margin-inline: auto; }
.waitlist__row {
  display: flex; gap: 6px; padding: 6px; border-radius: var(--r-pill);
  background: rgba(var(--fg-rgb), .07); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .16), 0 12px 40px -12px rgba(0,0,0,.5);
  backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur);
  transition: box-shadow .2s;
}
.waitlist__row:focus-within { box-shadow: inset 0 0 0 1px rgba(160,183,255,.7), 0 0 0 4px rgba(121,151,255,.18); }
.waitlist input[type="email"] {
  flex: 1; min-width: 0; height: 48px; padding: 0 8px 0 18px; border: 0; background: transparent; outline: none;
  font-size: 16px; color: var(--text);
}
.waitlist input::placeholder { color: var(--text-3); }
.waitlist__note { margin-top: 14px; font-size: 14px; color: var(--text-3); }
.center .waitlist__note { text-align: center; }
.hp { display: none; }
@media (max-width: 399px) {
  .waitlist__row { flex-direction: column; border-radius: 26px; padding: 6px; }
  .waitlist input[type="email"] { height: 48px; padding-left: 14px; }
  .waitlist .btn { width: 100%; }
}

/* ---------- Reveal ---------- */
.js [data-reveal] { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .9s var(--ease), transform 1.1s var(--ease); transition-delay: var(--d, 0s); }
.js [data-reveal].is-in { opacity: 1; transform: none; }

/* ---------- Feature bands (panels with two columns) ---------- */
.band { padding: clamp(72px, 9vw, 136px) 0; }
.band__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.band__grid--rev .band__copy { order: 2; }
.band__visual { position: relative; display: flex; justify-content: center; align-items: flex-start; gap: clamp(16px, 2vw, 28px); }
.band__visual .glow { width: 120%; height: 90%; left: -10%; top: 5%; }
.band__visual .phone { --pw: clamp(220px, 21vw, 300px); }
.band__visual .phone--back { --pw: clamp(190px, 18vw, 260px); margin-top: clamp(48px, 6vw, 88px); filter: brightness(.88); }
.methods { display: grid; gap: 10px; margin-top: 36px; max-width: 460px; }
.method { display: flex; gap: 16px; align-items: center; padding: 16px 18px; border-radius: var(--r-tile); }
.method__ic { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--on) 16%, transparent); color: var(--on); }
.method__ic svg { width: 20px; height: 20px; }
.method b { display: block; font-weight: 600; font-size: 16px; }
.method span { display: block; font-size: 14.5px; color: var(--text-2); line-height: 1.4; margin-top: 2px; }
.callout { margin-top: 32px; padding: 20px 22px; max-width: 460px; border-radius: var(--r-tile); }
.callout b { display: block; font-size: 17px; font-weight: 600; margin-bottom: 4px; }
.callout p { color: var(--text-2); font-size: 15.5px; line-height: 1.45; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.chips .chip { background: rgba(var(--fg-rgb), .07); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .1); }
@media (max-width: 899px) {
  .band__grid { grid-template-columns: minmax(0, 1fr); }
  .band__grid--rev .band__copy { order: 0; }
  .band__visual { margin-top: 8px; }
}
@media (max-width: 599px) {
  .band__visual .phone { --pw: min(48vw, 240px); }
  .band__visual .phone--back { --pw: min(38vw, 200px); margin-top: 40px; }
  .band__visual { gap: 12px; }
}

/* ---------- Final CTA ---------- */
.final { text-align: center; padding: clamp(96px, 12vw, 176px) 0; }
.final__mark { width: 52px; height: auto; margin: 0 auto 36px; opacity: .95; }
.final .lead { margin: 22px auto 36px; max-width: 30em; }

/* ---------- Inner pages ---------- */
.page-hero { padding: clamp(136px, 16vw, 200px) 0 clamp(64px, 8vw, 104px); margin-top: clamp(8px, 1.2vw, 20px); }
.page-hero .lead { margin-top: 22px; max-width: 40em; }
.page-hero .display { font-size: clamp(44px, 6.4vw, 88px); }
.prose { font-size: 17.5px; line-height: 1.62; color: var(--text-2); }
.prose h2 { font-size: clamp(26px, 2.6vw, 34px); font-weight: 600; letter-spacing: var(--track-m); line-height: 1.15; color: var(--text); margin: 64px 0 18px; scroll-margin-top: 96px; }
.prose h3 { font-size: 19px; font-weight: 600; color: var(--text); margin: 34px 0 10px; }
.prose p, .prose ul, .prose ol, .prose table, .prose .note { margin-top: 16px; }
.prose ul, .prose ol { padding-left: 22px; }
.prose li + li { margin-top: 8px; }
.prose li::marker { color: var(--text-3); }
.prose strong { color: var(--text); font-weight: 600; }
.prose a { color: var(--readiness-on); text-underline-offset: 3px; }
.prose > :first-child { margin-top: 0; }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.prose th, .prose td { text-align: left; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--separator); vertical-align: top; }
.prose th { color: var(--text); font-weight: 600; }
.prose .note { padding: 20px 22px; border-radius: var(--r-tile); background: var(--glass-sheen), rgba(var(--fg-rgb), .045); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .08); color: var(--text-2); }
.prose .note strong { display: block; margin-bottom: 4px; }
.path { display: inline-block; padding: 1px 8px; border-radius: 8px; background: rgba(var(--fg-rgb), .07); color: var(--text); font-size: .94em; white-space: normal; }
.ph { color: var(--moderate); }
.doc { display: grid; grid-template-columns: 220px minmax(0, 760px); gap: clamp(40px, 6vw, 96px); justify-content: center; padding-bottom: clamp(88px, 10vw, 140px); }
.toc { position: sticky; top: 104px; align-self: start; font-size: 14px; }
.toc h2 { font-size: 13px; color: var(--text); font-weight: 600; margin-bottom: 12px; }
.toc ol { list-style: none; display: grid; gap: 2px; }
.toc a { display: block; padding: 6px 10px; border-radius: 8px; text-decoration: none; color: var(--text-3); line-height: 1.35; }
.toc a:hover { color: var(--text); background: rgba(var(--fg-rgb), .05); }
@media (max-width: 899px) { .doc { grid-template-columns: 1fr; } .toc { position: static; padding: 18px; border-radius: var(--r-tile); background: rgba(var(--fg-rgb), .04); } .toc ol { grid-template-columns: 1fr 1fr; } }
@media (max-width: 479px) { .toc ol { grid-template-columns: 1fr; } }
.summary { padding: 24px 26px; border-radius: var(--r-card); margin-bottom: 48px; }
.summary b { color: var(--text); }

/* FAQ */
.faq-cat { margin-top: 64px; }
.faq-cat:first-child { margin-top: 0; }
.faq-cat > h2 { margin: 0 0 18px; }
details.q { border-radius: var(--r-tile); background: rgba(var(--fg-rgb), .035); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .07); transition: background-color .2s; }
details.q + details.q { margin-top: 10px; }
details.q[open] { background: rgba(var(--fg-rgb), .055); }
details.q summary { list-style: none; cursor: pointer; padding: 20px 56px 20px 22px; position: relative; font-size: 17.5px; font-weight: 600; color: var(--text); line-height: 1.35; border-radius: inherit; }
details.q summary::-webkit-details-marker { display: none; }
details.q summary::after { content: ""; position: absolute; right: 24px; top: 50%; width: 9px; height: 9px; border-right: 1.8px solid var(--text-2); border-bottom: 1.8px solid var(--text-2); transform: translateY(-70%) rotate(45deg); transition: transform .25s var(--ease); }
details.q[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
details.q .a { padding: 0 22px 22px; }
details.q .a > :first-child { margin-top: 0; }

/* Method illustration */
.stands { padding: 22px; border-radius: var(--r-card); margin-top: 24px; background: var(--glass-sheen), rgba(18, 22, 40, .55); }
.stands__h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; color: var(--text); font-weight: 600; }
.stands__h span { font-size: 13.5px; color: var(--text-3); font-weight: 400; }
.stands ul { list-style: none; padding: 0; margin-top: 14px; }
.stands li { display: grid; grid-template-columns: 1fr auto 64px; gap: 14px; align-items: center; padding: 10px 0; border-top: 1px solid rgba(var(--fg-rgb), .07); font-size: 15px; margin: 0; }
.stands li + li { margin-top: 0; }
.stands .k { color: var(--text); }
.stands .s { font-size: 12.5px; padding: 3px 9px; border-radius: 999px; background: rgba(var(--fg-rgb), .07); }
.s--m { color: var(--high); } .s--c { color: var(--text-2); } .s--e { color: var(--moderate); } .s--r { color: var(--readiness-on); }
.stands .w { height: 5px; border-radius: 3px; background: var(--track); overflow: hidden; }
.stands .w i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.stands figcaption { margin-top: 12px; font-size: 13px; color: var(--text-3); }
.reviewed { margin-top: 64px; padding: 22px 24px; border-radius: var(--r-tile); background: rgba(var(--fg-rgb), .04); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .08); font-size: 15px; }

/* Coaches page */
.invite { display: none; margin-bottom: 28px; }
.invite.is-on { display: inline-flex; }
.steps3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 48px; }
.steps3 .point__n { font-size: 15px; font-weight: 600; color: var(--on, var(--accent)); margin-bottom: 14px; }
@media (max-width: 899px) { .steps3 { grid-template-columns: 1fr; } }

/* Utility widths for media cards on inner pages */
.split { display: grid; grid-template-columns: 1fr auto; gap: clamp(40px, 6vw, 96px); align-items: center; }
.split .phone { --pw: clamp(220px, 22vw, 300px); }
@media (max-width: 899px) { .split { grid-template-columns: 1fr; justify-items: center; } .split > :first-child { justify-self: stretch; } }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; }
  .ground::before { animation: none; }
  .marquee__track { animation: none; }
  .js [data-reveal] { opacity: 1; transform: none; }
  }


.actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 36px; }
.point { padding: 24px 24px 26px; border-radius: var(--r-card); }
.point .h4 { margin-bottom: 8px; }
.point p { color: var(--text-2); font-size: 15.5px; line-height: 1.5; }
.point__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; margin-bottom: 22px; color: var(--on, var(--readiness-on)); background: color-mix(in srgb, var(--on, var(--readiness-on)) 14%, transparent); }
.point__ic svg { width: 22px; height: 22px; }

/* ---------- Phone: titanium product render ---------- */
.phone {
  --pw: 320px;
  position: relative; width: var(--pw); flex: none;
  padding: calc(var(--pw) * .0105);
  border-radius: calc(var(--pw) * .158);
  background:
    linear-gradient(160deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 9%, rgba(255,255,255,0) 88%, rgba(255,255,255,.35) 100%),
    linear-gradient(90deg, #5d6066 0%, #2a2c30 6%, #1b1c1f 50%, #2a2c30 94%, #64676d 100%);
  box-shadow:
    0 calc(var(--pw) * .2) calc(var(--pw) * .32) calc(var(--pw) * -.12) rgba(0,0,0,.75),
    0 calc(var(--pw) * .06) calc(var(--pw) * .12) calc(var(--pw) * -.02) rgba(0,0,0,.45),
    inset 0 0 0 1px rgba(255,255,255,.16), inset 0 0 0 2px rgba(0,0,0,.6);
}
.phone__bezel { padding: calc(var(--pw) * .021); border-radius: calc(var(--pw) * .148); background: #020203; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.phone__screen { position: relative; overflow: hidden; aspect-ratio: 1320 / 2868; background: linear-gradient(180deg, #10131c, #07080b); border-radius: calc(var(--pw) * .128); transform: translateZ(0); }
.phone__screen img, .phone__screen video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.phone__screen video { opacity: 0; transition: opacity .4s; }
.phone__screen video.is-playing { opacity: 1; }
.phone__screen::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; z-index: 5;
  background: linear-gradient(118deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.02) 26%, rgba(255,255,255,0) 40%); }
.phone__btn { position: absolute; width: calc(var(--pw) * .011); border-radius: 2px; background: linear-gradient(90deg, #6a6d73, #2a2c30); }
.phone__btn--l1 { left: calc(var(--pw) * -.008); top: 17%; height: 4%; }
.phone__btn--l2 { left: calc(var(--pw) * -.008); top: 23%; height: 7%; }
.phone__btn--r { right: calc(var(--pw) * -.008); top: 24%; height: 10%; background: linear-gradient(270deg, #6a6d73, #2a2c30); }
.phone-cap { margin-top: 22px; text-align: center; font-size: 15px; color: var(--text-2); }
.phone-cap b { display: block; color: var(--text); font-weight: 600; margin-bottom: 2px; }

/* ---------- Footer ---------- */
.foot { position: relative; z-index: 2; background: var(--foot-bg); border-top: 1px solid rgba(var(--fg-rgb), .06); padding: clamp(64px, 8vw, 104px) 0 40px; color: var(--text-3); font-size: 15px; }
.foot__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 48px; }
.foot__tag { margin: 16px 0 24px; color: var(--text-2); max-width: 32ch; line-height: 1.5; }
.foot__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.foot h2 { font-size: 13px; font-weight: 600; color: var(--text); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.foot ul { list-style: none; display: grid; gap: 12px; }
.foot a { text-decoration: none; color: var(--text-2); }
.foot a:hover { color: var(--text); }
.foot .btn { color: var(--text); }
.foot__legal { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--separator); display: grid; gap: 8px; line-height: 1.5; font-size: 13.5px; }
.foot__copy { color: var(--text-2); }
@media (max-width: 899px) { .foot__top { grid-template-columns: 1fr; } .foot__cols { grid-template-columns: 1fr 1fr; } }

/* eyebrow v3: small caps-like, domain tint */
.eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Theme toggle ---------- */
.theme-toggle { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; color: var(--text);
  background: rgba(var(--fg-rgb), .07); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .12); transition: background-color .2s; }
.theme-toggle:hover { background: rgba(var(--fg-rgb), .12); }
.theme-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; grid-area: 1 / 1; }
.theme-toggle .ti--moon { fill: currentColor; stroke: none; }
.theme-toggle .ti--sun { display: none; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .theme-toggle .ti--sun { display: block; } :root:not([data-theme="dark"]) .theme-toggle .ti--moon { display: none; } }
:root[data-theme="light"] .theme-toggle .ti--sun { display: block; } :root[data-theme="light"] .theme-toggle .ti--moon { display: none; }
@media (max-width: 899px) { .theme-toggle { margin-left: auto; } .nav__menu { margin-left: 0; } }

/* ================= Light appearance (follows the device; the nav toggle overrides) ================= */
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) { color-scheme: light; --fg-rgb: 10, 12, 15; --bg: #FFFFFF; --surface: #F4F6F8; --raised: #FFFFFF; --separator: #E4E8EC; --track: #E7EBEF;--text: #0A0C0F; --text-2: #3D424A; --text-3: #50565F; --text-body: #3D424A; --accent: #4660DB; --accent-ink: #FFFFFF; --accent-wash: #ECF1FF;--high: #239350; --low: #C63C3E; --moderate: #C48000; --foot-bg: #F4F6F8; --nav-bg: rgba(255,255,255,.72); --menu-bg: rgba(255,255,255,.94);--grain-ground: .16; --grain-surface: .1; --mark-filter: invert(1) brightness(.12); --logo-filter: invert(1);--glass-fill: rgba(255,255,255,.78);--glass-sheen: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.7) 60%, rgba(255,255,255,.82) 100%);--glass-edge: linear-gradient(180deg, rgba(10,12,15,.10) 0%, rgba(10,12,15,.05) 50%, rgba(10,12,15,.08) 100%);--glass-shadow: 0 22px 50px -18px rgba(30,44,90,.22), 0 2px 8px rgba(30,44,90,.06);--member-0: #C34A51; --member-1: #0085AD; --member-2: #927600; --member-3: #955ABC; --member-4: #ED833A; --member-5: #4CA8FF; --member-6: #8DB337; --member-7: #E977B1; } }
:root[data-theme="light"] { color-scheme: light; --fg-rgb: 10, 12, 15; --bg: #FFFFFF; --surface: #F4F6F8; --raised: #FFFFFF; --separator: #E4E8EC; --track: #E7EBEF;--text: #0A0C0F; --text-2: #3D424A; --text-3: #50565F; --text-body: #3D424A; --accent: #4660DB; --accent-ink: #FFFFFF; --accent-wash: #ECF1FF;--high: #239350; --low: #C63C3E; --moderate: #C48000; --foot-bg: #F4F6F8; --nav-bg: rgba(255,255,255,.72); --menu-bg: rgba(255,255,255,.94);--grain-ground: .16; --grain-surface: .1; --mark-filter: invert(1) brightness(.12); --logo-filter: invert(1);--glass-fill: rgba(255,255,255,.78);--glass-sheen: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.7) 60%, rgba(255,255,255,.82) 100%);--glass-edge: linear-gradient(180deg, rgba(10,12,15,.10) 0%, rgba(10,12,15,.05) 50%, rgba(10,12,15,.08) 100%);--glass-shadow: 0 22px 50px -18px rgba(30,44,90,.22), 0 2px 8px rgba(30,44,90,.06);--member-0: #C34A51; --member-1: #0085AD; --member-2: #927600; --member-3: #955ABC; --member-4: #ED833A; --member-5: #4CA8FF; --member-6: #8DB337; --member-7: #E977B1; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="readiness"] { --g0: #AACAFF; --g1: #E0E7FF; --g2: #EFF1FB; --tint: #4660DB; --on: #3550C8; --wash: #EDF2FF; --glow: rgba(70,96,219,.20); --m0: #AACAFF; --m1: #E0E7FF; --m2: #AACAFF; --m3: #E0E7FF; --m4: #EFF1FB; --m5: #E0E7FF; --m6: #EFF1FB; --m7: #EFF1FB; --m8: #EFF1FB; } }
:root[data-theme="light"] [data-domain="readiness"] { --g0: #AACAFF; --g1: #E0E7FF; --g2: #EFF1FB; --tint: #4660DB; --on: #3550C8; --wash: #EDF2FF; --glow: rgba(70,96,219,.20); --m0: #AACAFF; --m1: #E0E7FF; --m2: #AACAFF; --m3: #E0E7FF; --m4: #EFF1FB; --m5: #E0E7FF; --m6: #EFF1FB; --m7: #EFF1FB; --m8: #EFF1FB; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="sleep"] { --g0: #BCC4FF; --g1: #E7E4FF; --g2: #F2F0FA; --tint: #7262C6; --on: #5E4FB8; --wash: #F1F1FF; --glow: rgba(114,98,198,.20); --m0: #BCC4FF; --m1: #E7E4FF; --m2: #BCC4FF; --m3: #E7E4FF; --m4: #F2F0FA; --m5: #E7E4FF; --m6: #F2F0FA; --m7: #F2F0FA; --m8: #F2F0FA; } }
:root[data-theme="light"] [data-domain="sleep"] { --g0: #BCC4FF; --g1: #E7E4FF; --g2: #F2F0FA; --tint: #7262C6; --on: #5E4FB8; --wash: #F1F1FF; --glow: rgba(114,98,198,.20); --m0: #BCC4FF; --m1: #E7E4FF; --m2: #BCC4FF; --m3: #E7E4FF; --m4: #F2F0FA; --m5: #E7E4FF; --m6: #F2F0FA; --m7: #F2F0FA; --m8: #F2F0FA; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="cardiac"] { --g0: #FFB0B9; --g1: #FFDFDC; --g2: #FAEFED; --tint: #BC484B; --on: #A83A40; --wash: #FFEEED; --glow: rgba(188,72,75,.18); --m0: #FFB0B9; --m1: #FFDFDC; --m2: #FFB0B9; --m3: #FFDFDC; --m4: #FAEFED; --m5: #FFDFDC; --m6: #FAEFED; --m7: #FAEFED; --m8: #FAEFED; } }
:root[data-theme="light"] [data-domain="cardiac"] { --g0: #FFB0B9; --g1: #FFDFDC; --g2: #FAEFED; --tint: #BC484B; --on: #A83A40; --wash: #FFEEED; --glow: rgba(188,72,75,.18); --m0: #FFB0B9; --m1: #FFDFDC; --m2: #FFB0B9; --m3: #FFDFDC; --m4: #FAEFED; --m5: #FFDFDC; --m6: #FAEFED; --m7: #FAEFED; --m8: #FAEFED; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="load"] { --g0: #FBB88F; --g1: #FCE3CD; --g2: #F8F0E9; --tint: #A96000; --on: #8F5200; --wash: #FFEFE2; --glow: rgba(169,96,0,.18); --m0: #FBB88F; --m1: #FCE3CD; --m2: #FBB88F; --m3: #FCE3CD; --m4: #F8F0E9; --m5: #FCE3CD; --m6: #F8F0E9; --m7: #F8F0E9; --m8: #F8F0E9; } }
:root[data-theme="light"] [data-domain="load"] { --g0: #FBB88F; --g1: #FCE3CD; --g2: #F8F0E9; --tint: #A96000; --on: #8F5200; --wash: #FFEFE2; --glow: rgba(169,96,0,.18); --m0: #FBB88F; --m1: #FCE3CD; --m2: #FBB88F; --m3: #FCE3CD; --m4: #F8F0E9; --m5: #FCE3CD; --m6: #F8F0E9; --m7: #F8F0E9; --m8: #F8F0E9; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="nutrition"] { --g0: #C1D38C; --g1: #DEEED3; --g2: #EEF4EC; --tint: #568502; --on: #4A7200; --wash: #ECF7E2; --glow: rgba(86,133,2,.18); --m0: #C1D38C; --m1: #DEEED3; --m2: #C1D38C; --m3: #DEEED3; --m4: #EEF4EC; --m5: #DEEED3; --m6: #EEF4EC; --m7: #EEF4EC; --m8: #EEF4EC; } }
:root[data-theme="light"] [data-domain="nutrition"] { --g0: #C1D38C; --g1: #DEEED3; --g2: #EEF4EC; --tint: #568502; --on: #4A7200; --wash: #ECF7E2; --glow: rgba(86,133,2,.18); --m0: #C1D38C; --m1: #DEEED3; --m2: #C1D38C; --m3: #DEEED3; --m4: #EEF4EC; --m5: #DEEED3; --m6: #EEF4EC; --m7: #EEF4EC; --m8: #EEF4EC; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="timetable"] { --g0: #F6C9A4; --g1: #FBE7D6; --g2: #F8F2EC; --tint: #A96000; --on: #8F5200; --wash: #FFEFE2; --glow: rgba(169,96,0,.16); --m0: #F6C9A4; --m1: #FBE7D6; --m2: #F6C9A4; --m3: #FBE7D6; --m4: #F8F2EC; --m5: #FBE7D6; --m6: #F8F2EC; --m7: #F8F2EC; --m8: #F8F2EC; } }
:root[data-theme="light"] [data-domain="timetable"] { --g0: #F6C9A4; --g1: #FBE7D6; --g2: #F8F2EC; --tint: #A96000; --on: #8F5200; --wash: #FFEFE2; --glow: rgba(169,96,0,.16); --m0: #F6C9A4; --m1: #FBE7D6; --m2: #F6C9A4; --m3: #FBE7D6; --m4: #F8F2EC; --m5: #FBE7D6; --m6: #F8F2EC; --m7: #F8F2EC; --m8: #F8F2EC; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="coach"] { --g0: #C9D3FF; --g1: #E9EDFF; --g2: #F4F5FB; --tint: #4660DB; --on: #3550C8; --wash: #ECF1FF; --glow: rgba(70,96,219,.18); --m0: #C9D3FF; --m1: #E9EDFF; --m2: #C9D3FF; --m3: #E9EDFF; --m4: #F4F5FB; --m5: #E9EDFF; --m6: #F4F5FB; --m7: #F4F5FB; --m8: #F4F5FB; } }
:root[data-theme="light"] [data-domain="coach"] { --g0: #C9D3FF; --g1: #E9EDFF; --g2: #F4F5FB; --tint: #4660DB; --on: #3550C8; --wash: #ECF1FF; --glow: rgba(70,96,219,.18); --m0: #C9D3FF; --m1: #E9EDFF; --m2: #C9D3FF; --m3: #E9EDFF; --m4: #F4F5FB; --m5: #E9EDFF; --m6: #F4F5FB; --m7: #F4F5FB; --m8: #F4F5FB; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="ink"] { --g0: #EEF1F6; --g1: #F6F7FA; --g2: #FFFFFF; --tint: #4660DB; --on: #3550C8; --wash: #ECF1FF; --glow: rgba(70,96,219,.12); --m0: #EEF1F6; --m1: #F6F7FA; --m2: #EEF1F6; --m3: #F6F7FA; --m4: #FFFFFF; --m5: #F6F7FA; --m6: #FFFFFF; --m7: #FFFFFF; --m8: #FFFFFF; } }
:root[data-theme="light"] [data-domain="ink"] { --g0: #EEF1F6; --g1: #F6F7FA; --g2: #FFFFFF; --tint: #4660DB; --on: #3550C8; --wash: #ECF1FF; --glow: rgba(70,96,219,.12); --m0: #EEF1F6; --m1: #F6F7FA; --m2: #EEF1F6; --m3: #F6F7FA; --m4: #FFFFFF; --m5: #F6F7FA; --m6: #FFFFFF; --m7: #FFFFFF; --m8: #FFFFFF; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="groups"] { --g0: #E9E2FF; --g1: #F4EFFA; --g2: #FBF9FD; --tint: #ED833A; --on: #C2601E; --wash: #FFF1E6; --glow: rgba(149,90,188,.16); --m0: #E9E2FF; --m1: #F4EFFA; --m2: #E9E2FF; --m3: #F4EFFA; --m4: #FBF9FD; --m5: #F4EFFA; --m6: #FBF9FD; --m7: #FBF9FD; --m8: #FBF9FD; } }
:root[data-theme="light"] [data-domain="groups"] { --g0: #E9E2FF; --g1: #F4EFFA; --g2: #FBF9FD; --tint: #ED833A; --on: #C2601E; --wash: #FFF1E6; --glow: rgba(149,90,188,.16); --m0: #E9E2FF; --m1: #F4EFFA; --m2: #E9E2FF; --m3: #F4EFFA; --m4: #FBF9FD; --m5: #F4EFFA; --m6: #FBF9FD; --m7: #FBF9FD; --m8: #FBF9FD; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="black"] { --g0: #FFFFFF; --g1: #FAFAFB; --g2: #F4F5F7; --tint: #4660DB; --on: #3550C8; --wash: #ECF1FF; --glow: rgba(70,96,219,.10); --m0: #FFFFFF; --m1: #FAFAFB; --m2: #FFFFFF; --m3: #FAFAFB; --m4: #F4F5F7; --m5: #FAFAFB; --m6: #F4F5F7; --m7: #F4F5F7; --m8: #F4F5F7; } }
:root[data-theme="light"] [data-domain="black"] { --g0: #FFFFFF; --g1: #FAFAFB; --g2: #F4F5F7; --tint: #4660DB; --on: #3550C8; --wash: #ECF1FF; --glow: rgba(70,96,219,.10); --m0: #FFFFFF; --m1: #FAFAFB; --m2: #FFFFFF; --m3: #FAFAFB; --m4: #F4F5F7; --m5: #FAFAFB; --m6: #F4F5F7; --m7: #F4F5F7; --m8: #F4F5F7; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) [data-domain="pricing"] { --g0: #D2DDFF; --g1: #EDF1FF; --g2: #F7F8FD; --tint: #4660DB; --on: #3550C8; --wash: #ECF1FF; --glow: rgba(70,96,219,.20); --m0: #D2DDFF; --m1: #EDF1FF; --m2: #D2DDFF; --m3: #EDF1FF; --m4: #F7F8FD; --m5: #EDF1FF; --m6: #F7F8FD; --m7: #F7F8FD; --m8: #F7F8FD; } }
:root[data-theme="light"] [data-domain="pricing"] { --g0: #D2DDFF; --g1: #EDF1FF; --g2: #F7F8FD; --tint: #4660DB; --on: #3550C8; --wash: #ECF1FF; --glow: rgba(70,96,219,.20); --m0: #D2DDFF; --m1: #EDF1FF; --m2: #D2DDFF; --m3: #EDF1FF; --m4: #F7F8FD; --m5: #EDF1FF; --m6: #F7F8FD; --m7: #F7F8FD; --m8: #F7F8FD; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .ringcard { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .ringcard { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .macro__in { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .macro__in { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .bubble--ai { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .bubble--ai { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .consent { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .consent { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .routecard { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .routecard { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .coaches__panel { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .coaches__panel { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .stands { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .stands { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .card { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .card { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .lu__card { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .lu__card { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .lu__list { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .lu__list { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .tile { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .tile { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .ftile__in { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .ftile__in { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .price { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .price { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .invite { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .invite { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .mchip { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); } }
:root[data-theme="light"] .mchip { background: var(--glass-sheen), rgba(255,255,255,.86); box-shadow: var(--glass-shadow); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .nav.is-scrolled { background: var(--nav-bg); } }
:root[data-theme="light"] .nav.is-scrolled { background: var(--nav-bg); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .nav.is-open { background: var(--nav-bg); } }
:root[data-theme="light"] .nav.is-open { background: var(--nav-bg); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .brand img, .final__mark img, .mark-img { filter: var(--mark-filter); } }
:root[data-theme="light"] .brand img, .final__mark img, .mark-img { filter: var(--mark-filter); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .logo img { filter: var(--logo-filter); } }
:root[data-theme="light"] .logo img { filter: var(--logo-filter); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .route__dot { fill: #A96000; } }
:root[data-theme="light"] .route__dot { fill: #A96000; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .watch__case { fill: #F4F6F8; stroke: #9AA0A8; } }
:root[data-theme="light"] .watch__case { fill: #F4F6F8; stroke: #9AA0A8; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .watch__n { fill: #0A0C0F; } }
:root[data-theme="light"] .watch__n { fill: #0A0C0F; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .five__icon img { box-shadow: 0 30px 60px -24px rgba(30,44,90,.35), inset 0 0 0 1px rgba(10,12,15,.08); } }
:root[data-theme="light"] .five__icon img { box-shadow: 0 30px 60px -24px rgba(30,44,90,.35), inset 0 0 0 1px rgba(10,12,15,.08); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .bd__hue { opacity: 0 !important; } }
:root[data-theme="light"] .bd__hue { opacity: 0 !important; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .phone { --shadow-a: rgba(30,40,80,.35); } }
:root[data-theme="light"] .phone { --shadow-a: rgba(30,40,80,.35); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .counter__n { background-image: linear-gradient(180deg, var(--text) 30%, var(--readiness-tint)); } }
:root[data-theme="light"] .counter__n { background-image: linear-gradient(180deg, var(--text) 30%, var(--readiness-tint)); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .tile__crop { background: #F4F6F8; } :root:not([data-theme="dark"]) .tile__crop::after { background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.95)); } }
:root[data-theme="light"] .tile__crop { background: #F4F6F8; }
:root[data-theme="light"] .tile__crop::after { background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.95)); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .mcta { box-shadow: 0 14px 40px -12px rgba(40, 60, 160, .4); } }
.share-ask { max-width: 460px; margin: 36px auto 0; padding: 24px; border-radius: 26px; background: rgba(var(--fg-rgb), .05); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .1); }
.share-ask__t { font-size: 20px; font-weight: 600; letter-spacing: -.01em; }
.share-ask__s { margin: 6px 0 18px; font-size: 15.5px; line-height: 1.45; color: var(--text-2); }
.share-ask .btn { width: 100%; }
.share-ask__ok { margin-top: 10px; min-height: 1.4em; font-size: 14px; color: var(--text-2); word-break: break-all; }

/* Light appearance: domain text colours dark enough to read on white */
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) { --readiness-on: #3B54C7; --sleep-on: #5A47C2; --cardiac-on: #C23B4A; --load-on: #A65500; --nutrition-on: #4A7F17; } }
:root[data-theme="light"] { --readiness-on: #3B54C7; --sleep-on: #5A47C2; --cardiac-on: #C23B4A; --load-on: #A65500; --nutrition-on: #4A7F17; }

/* Phones and tablets: brand left, actions right, menu last */
@media (max-width: 899px) {
  .nav__in { gap: 10px; }
  .nav .theme-toggle { order: 2; margin-left: auto; }
  .nav .nav__cta { order: 3; }
  .nav .nav__menu { order: 4; margin-left: 0; }
}
/* Phones: the form is two clean controls, thumb-sized */
@media (max-width: 599px) {
  .waitlist .waitlist__row { flex-direction: column; gap: 10px; padding: 0; border-radius: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .waitlist .waitlist__row:focus-within { box-shadow: none; }
  .waitlist input[type="email"] { flex: none; width: 100%; height: 54px; padding: 0 20px; border-radius: 999px; font-size: 17px;
    background: rgba(var(--fg-rgb), .07); box-shadow: inset 0 0 0 1px rgba(var(--fg-rgb), .16); }
  .waitlist input[type="email"]:focus { box-shadow: inset 0 0 0 2px var(--accent), 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent); }
  .waitlist .btn { width: 100%; height: 54px; font-size: 17px; }
  .waitlist__note { font-size: 14px; }
}

/* ================= Liquid glass ================= */
/* A thicker material: stronger blur and saturation, a specular rim brightest where the light hits,
   an inner top highlight, and a soft glint that follows the pointer on desktop. Safari-safe (no SVG backdrop filters). */
:root { --lg-blur: blur(26px) saturate(185%); --lg-rim: linear-gradient(140deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 22%, rgba(255,255,255,0) 50%, rgba(255,255,255,.06) 78%, rgba(255,255,255,.28) 100%);
  --lg-inner: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(255,255,255,.05), inset 0 0 22px rgba(255,255,255,.035); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) { --lg-rim: linear-gradient(140deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.4) 25%, rgba(10,12,15,.06) 55%, rgba(10,12,15,.1) 80%, rgba(255,255,255,.9) 100%);
  --lg-inner: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(10,12,15,.04), inset 0 0 24px rgba(255,255,255,.5); } }
:root[data-theme="light"] { --lg-rim: linear-gradient(140deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.4) 25%, rgba(10,12,15,.06) 55%, rgba(10,12,15,.1) 80%, rgba(255,255,255,.9) 100%);
  --lg-inner: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(10,12,15,.04), inset 0 0 24px rgba(255,255,255,.5); }
.glass { backdrop-filter: var(--lg-blur); -webkit-backdrop-filter: var(--lg-blur); box-shadow: var(--lg-inner), var(--glass-shadow);
  background: radial-gradient(160px 120px at var(--mx, 18%) var(--my, 0%), rgba(255,255,255,.14), transparent 70%), var(--glass-sheen), var(--glass-fill); }
.glass::before { padding: 1.2px; background: var(--lg-rim); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .glass { background: radial-gradient(180px 140px at var(--mx, 18%) var(--my, 0%), rgba(255,255,255,.85), transparent 70%), var(--glass-sheen), var(--glass-fill); } }
:root[data-theme="light"] .glass { background: radial-gradient(180px 140px at var(--mx, 18%) var(--my, 0%), rgba(255,255,255,.85), transparent 70%), var(--glass-sheen), var(--glass-fill); }

/* ================= Liquid glass, everywhere ================= */
/* Light behind the glass: three slow colour fields drift with the page, so every glass surface has something to refract */
.orbs { position: absolute; inset: -20%; z-index: 1; pointer-events: none; }
.orbs i { position: absolute; width: 60vmax; height: 60vmax; border-radius: 50%; opacity: .5; }
.orb1 { left: -10%; top: 0%; background: radial-gradient(closest-side, rgba(91,116,240,.55), transparent 70%); }
.orb2 { right: -12%; top: 30%; background: radial-gradient(closest-side, rgba(170,111,211,.42), transparent 70%); }
.orb3 { left: 20%; bottom: -10%; background: radial-gradient(closest-side, rgba(0,155,201,.32), transparent 70%); }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .orbs i { opacity: .55; } }
:root[data-theme="light"] .orbs i { opacity: .55; }

/* The material: one recipe applied to every surface that sits on the page */
.glass, .lgx, .sys__in, .sys__out, .sys__hub, .numx__list li, .mth__c, .fq, .tile, .dcard, .pst__ic, .next li, .mchip, .orb, .macro__in, .toast,
.plan, .price, .waitlist__row, .btn--glass, .theme-toggle, .nav__menu, .mcta, .try__card, .qrs__copy .eyebrow, .pill, .tags span, .gpts li, .lu__card, .lu__row,
.share-ask, .invite, .point, .card, .faq__head .lead + *, .hcard, .routecard, .cmp__wrap {
  -webkit-backdrop-filter: var(--lg-blur); backdrop-filter: var(--lg-blur);
}
.sys__in, .sys__out, .numx__list li, .mth__c, .fq, .next li, .mchip, .plan, .btn--glass, .theme-toggle, .nav__menu, .pill, .tags span, .gpts li, .share-ask, .point, .pst__ic {
  background: linear-gradient(160deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.03) 45%, rgba(255,255,255,.06) 100%), rgba(var(--fg-rgb), .045) !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.28), inset -1px -1px 0 rgba(255,255,255,.06), inset 0 0 0 1px rgba(255,255,255,.07), 0 18px 40px -22px rgba(0,0,0,.55) !important;
}
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) :is(.sys__in, .sys__out, .numx__list li, .mth__c, .fq, .next li, .mchip, .plan, .btn--glass, .theme-toggle, .nav__menu, .pill, .tags span, .gpts li, .share-ask, .point, .pst__ic) {
  background: linear-gradient(160deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,.45) 50%, rgba(255,255,255,.65) 100%) !important;
  box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 rgba(10,12,15,.05), inset 0 0 0 1px rgba(10,12,15,.06), 0 18px 40px -24px rgba(30,44,90,.3) !important; } }
:root[data-theme="light"] :is(.sys__in, .sys__out, .numx__list li, .mth__c, .fq, .next li, .mchip, .plan, .btn--glass, .theme-toggle, .nav__menu, .pill, .tags span, .gpts li, .share-ask, .point, .pst__ic) {
  background: linear-gradient(160deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,.45) 50%, rgba(255,255,255,.65) 100%) !important;
  box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 rgba(10,12,15,.05), inset 0 0 0 1px rgba(10,12,15,.06), 0 18px 40px -24px rgba(30,44,90,.3) !important; }
.plan.is-on { box-shadow: inset 0 0 0 2px var(--accent), inset 1px 1px 0 rgba(255,255,255,.4), 0 18px 40px -22px rgba(0,0,0,.45) !important;
  background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 26%, transparent), color-mix(in srgb, var(--accent) 8%, transparent)) !important; }
.mcta { background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 92%, #fff), var(--accent)); box-shadow: inset 1px 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(0,0,0,.15), 0 16px 40px -10px color-mix(in srgb, var(--accent) 65%, transparent); }
.numx__list { border: 0 !important; gap: 12px !important; }
.numx__list li { padding: 24px 22px 22px; border-radius: 26px; }

/* A floating glass navigation capsule, as in iOS 26 */
@media (min-width: 900px) {
  .nav { top: 12px; left: 50%; right: auto; width: min(1240px, calc(100% - 32px)); translate: -50% 0; height: 64px; border-radius: 999px; }
  .nav.is-scrolled { -webkit-backdrop-filter: var(--lg-blur); backdrop-filter: var(--lg-blur);
    background: linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.03)), var(--nav-bg);
    box-shadow: inset 1px 1px 0 rgba(255,255,255,.25), inset 0 0 0 1px rgba(255,255,255,.07), 0 20px 50px -20px rgba(0,0,0,.6); }
  .nav__in { padding-inline: 14px 10px 14px 22px; padding-inline-start: 22px; padding-inline-end: 10px; }
}
@media (min-width: 900px) and (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .nav.is-scrolled { background: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,255,255,.55)); box-shadow: inset 1px 1px 0 #fff, inset 0 0 0 1px rgba(10,12,15,.07), 0 20px 50px -24px rgba(30,44,90,.35); } }
@media (min-width: 900px) { :root[data-theme="light"] .nav.is-scrolled { background: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,255,255,.55)); box-shadow: inset 1px 1px 0 #fff, inset 0 0 0 1px rgba(10,12,15,.07), 0 20px 50px -24px rgba(30,44,90,.35); } }
@media (max-width: 899px) { :root { --lg-blur: blur(14px) saturate(165%); } }
/* Phones: the bar becomes a floating glass capsule too; the menu drops as a glass sheet beneath it */
@media (max-width: 899px) {
  .nav { top: 8px; left: 10px; right: 10px; height: 58px; border-radius: 999px; }
  .nav__in { padding-inline: 16px 7px; }
  .nav.is-scrolled, .nav.is-open { -webkit-backdrop-filter: var(--lg-blur); backdrop-filter: var(--lg-blur);
    background: linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.03)), var(--nav-bg);
    box-shadow: inset 1px 1px 0 rgba(255,255,255,.25), inset 0 0 0 1px rgba(255,255,255,.07), 0 16px 40px -18px rgba(0,0,0,.6); }
  .nav__links { top: 66px; left: 0; right: 0; border-radius: 26px; -webkit-backdrop-filter: var(--lg-blur); backdrop-filter: var(--lg-blur);
    box-shadow: inset 1px 1px 0 rgba(255,255,255,.22), inset 0 0 0 1px rgba(255,255,255,.07), 0 24px 60px -20px rgba(0,0,0,.6); }
  @media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .nav.is-scrolled, :root:not([data-theme="dark"]) .nav.is-open { background: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,255,255,.55)); box-shadow: inset 1px 1px 0 #fff, inset 0 0 0 1px rgba(10,12,15,.07), 0 16px 40px -22px rgba(30,44,90,.35); } }
  :root[data-theme="light"] .nav.is-scrolled, :root[data-theme="light"] .nav.is-open { background: linear-gradient(160deg, rgba(255,255,255,.9), rgba(255,255,255,.55)); box-shadow: inset 1px 1px 0 #fff, inset 0 0 0 1px rgba(10,12,15,.07), 0 16px 40px -22px rgba(30,44,90,.35); }
}

/* ================= Smoothness ================= */
/* Real backdrop blur is expensive while scrolling. Keep it on floating, overlapping surfaces; the rest keep
   the same glass look from gradients and rims, which cost almost nothing. */
.sys__in, .sys__out, .sys__hub, .numx__list li, .mth__c, .fq, .tile, .dcard, .pst__ic, .next li, .mchip, .plan, .tags span, .gpts li,
.lu__card, .lu__row, .point, .pill, .cmp__wrap, .orb, .waitlist__row, .btn--glass, .theme-toggle, .nav__menu, .share-ask, .routecard, .invite {
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
@media (max-width: 899px) {
  .glass { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .nav.is-scrolled, .nav.is-open, .nav__links, .mcta, .cflag, .toast, .lens__read { -webkit-backdrop-filter: blur(16px) saturate(170%) !important; backdrop-filter: blur(16px) saturate(170%) !important; }
}
.orbs i { will-change: transform; }
@media (max-width: 899px) {
  /* cheaper glass on phones: no masked rims, short shadows */
  .glass::before { display: none; }
  .glass { box-shadow: inset 1px 1px 0 rgba(255,255,255,.22), inset 0 0 0 1px rgba(255,255,255,.07), 0 10px 24px -14px rgba(0,0,0,.45) !important; }
  .sys__in, .sys__out, .numx__list li, .mth__c, .fq, .next li, .mchip, .plan, .btn--glass, .theme-toggle, .nav__menu, .pill, .tags span, .gpts li, .share-ask, .point, .pst__ic {
    box-shadow: inset 1px 1px 0 rgba(255,255,255,.24), inset 0 0 0 1px rgba(255,255,255,.07) !important; }
  .tile, .dcard, .lu__card, .lu__row { box-shadow: inset 1px 1px 0 rgba(255,255,255,.18), inset 0 0 0 1px rgba(var(--fg-rgb), .08) !important; }
  .phone { filter: none !important; }
}
@media (max-width: 899px) and (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .glass { box-shadow: inset 1px 1px 0 #fff, inset 0 0 0 1px rgba(10,12,15,.06), 0 10px 24px -16px rgba(30,44,90,.3) !important; } }
.coaches__panel, .price, .try__card, .pass, .coaches .bignums > div { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

/* ================= Light mode liquid glass: translucent, bright rims, tinted depth ================= */
@media (prefers-color-scheme: light) {
:root:not([data-theme="dark"]) .glass, :root:not([data-theme="dark"]) .card, :root:not([data-theme="dark"]) .tile, :root:not([data-theme="dark"]) .dcard, :root:not([data-theme="dark"]) .price, :root:not([data-theme="dark"]) .lu__card, :root:not([data-theme="dark"]) .lu__list, :root:not([data-theme="dark"]) .ringcard, :root:not([data-theme="dark"]) .macro__in, :root:not([data-theme="dark"]) .bubble--ai, :root:not([data-theme="dark"]) .consent, :root:not([data-theme="dark"]) .routecard, :root:not([data-theme="dark"]) .coaches__panel, :root:not([data-theme="dark"]) .stands, :root:not([data-theme="dark"]) .ftile__in, :root:not([data-theme="dark"]) .invite, :root:not([data-theme="dark"]) .try__card, :root:not([data-theme="dark"]) .cmp__wrap, :root:not([data-theme="dark"]) .hcard, :root:not([data-theme="dark"]) .sys__in, :root:not([data-theme="dark"]) .sys__out, :root:not([data-theme="dark"]) .sys__hub, :root:not([data-theme="dark"]) .numx__list li, :root:not([data-theme="dark"]) .mth__c, :root:not([data-theme="dark"]) .fq, :root:not([data-theme="dark"]) .next li, :root:not([data-theme="dark"]) .mchip, :root:not([data-theme="dark"]) .plan:not(.is-on), :root:not([data-theme="dark"]) .btn--glass, :root:not([data-theme="dark"]) .theme-toggle, :root:not([data-theme="dark"]) .pill, :root:not([data-theme="dark"]) .tags span, :root:not([data-theme="dark"]) .gpts li, :root:not([data-theme="dark"]) .share-ask, :root:not([data-theme="dark"]) .point, :root:not([data-theme="dark"]) .pst__ic, :root:not([data-theme="dark"]) .orb, :root:not([data-theme="dark"]) .waitlist__row, :root:not([data-theme="dark"]) .cflag, :root:not([data-theme="dark"]) .toast, :root:not([data-theme="dark"]) .lens__read {
  background: radial-gradient(220px 160px at var(--mx, 16%) var(--my, 0%), rgba(255,255,255,.75), transparent 70%),
    linear-gradient(150deg, rgba(255,255,255,.66) 0%, rgba(255,255,255,.26) 40%, rgba(255,255,255,.14) 64%, rgba(255,255,255,.38) 100%) !important;
  box-shadow: inset 1.5px 1.5px 0 rgba(255,255,255,.98), inset -1px -1px 0 rgba(255,255,255,.55), inset 0 0 0 1px rgba(255,255,255,.5),
    inset 0 -26px 44px -30px rgba(70,96,219,.26), 0 0 0 1px rgba(30,44,90,.07), 0 26px 56px -28px rgba(30,44,90,.30), 0 2px 6px -2px rgba(30,44,90,.08) !important; }
:root:not([data-theme="dark"]) .sys__in, :root:not([data-theme="dark"]) .sys__out, :root:not([data-theme="dark"]) .numx__list li, :root:not([data-theme="dark"]) .mth__c, :root:not([data-theme="dark"]) .fq, :root:not([data-theme="dark"]) .next li, :root:not([data-theme="dark"]) .mchip, :root:not([data-theme="dark"]) .plan:not(.is-on), :root:not([data-theme="dark"]) .btn--glass, :root:not([data-theme="dark"]) .theme-toggle, :root:not([data-theme="dark"]) .pill, :root:not([data-theme="dark"]) .tags span, :root:not([data-theme="dark"]) .gpts li, :root:not([data-theme="dark"]) .share-ask, :root:not([data-theme="dark"]) .point, :root:not([data-theme="dark"]) .pst__ic, :root:not([data-theme="dark"]) .orb, :root:not([data-theme="dark"]) .waitlist__row { box-shadow: inset 1.5px 1.5px 0 rgba(255,255,255,.98), inset -1px -1px 0 rgba(255,255,255,.5), inset 0 0 0 1px rgba(255,255,255,.5),
    0 0 0 1px rgba(30,44,90,.07), 0 14px 30px -18px rgba(30,44,90,.28) !important; }
:root:not([data-theme="dark"]) .nav.is-scrolled, :root:not([data-theme="dark"]) .nav.is-open { background: linear-gradient(150deg, rgba(255,255,255,.62), rgba(255,255,255,.28)) !important;
  box-shadow: inset 1.5px 1.5px 0 #fff, inset 0 0 0 1px rgba(255,255,255,.5), 0 0 0 1px rgba(30,44,90,.07), 0 20px 46px -24px rgba(30,44,90,.35) !important; }
:root:not([data-theme="dark"]) .orbs i { opacity: .9; }
:root:not([data-theme="dark"]) .wf__bar, :root:not([data-theme="dark"]) .lu__ring { filter: saturate(1.1); }
}
:root[data-theme="light"] .glass, :root[data-theme="light"] .card, :root[data-theme="light"] .tile, :root[data-theme="light"] .dcard, :root[data-theme="light"] .price, :root[data-theme="light"] .lu__card, :root[data-theme="light"] .lu__list, :root[data-theme="light"] .ringcard, :root[data-theme="light"] .macro__in, :root[data-theme="light"] .bubble--ai, :root[data-theme="light"] .consent, :root[data-theme="light"] .routecard, :root[data-theme="light"] .coaches__panel, :root[data-theme="light"] .stands, :root[data-theme="light"] .ftile__in, :root[data-theme="light"] .invite, :root[data-theme="light"] .try__card, :root[data-theme="light"] .cmp__wrap, :root[data-theme="light"] .hcard, :root[data-theme="light"] .sys__in, :root[data-theme="light"] .sys__out, :root[data-theme="light"] .sys__hub, :root[data-theme="light"] .numx__list li, :root[data-theme="light"] .mth__c, :root[data-theme="light"] .fq, :root[data-theme="light"] .next li, :root[data-theme="light"] .mchip, :root[data-theme="light"] .plan:not(.is-on), :root[data-theme="light"] .btn--glass, :root[data-theme="light"] .theme-toggle, :root[data-theme="light"] .pill, :root[data-theme="light"] .tags span, :root[data-theme="light"] .gpts li, :root[data-theme="light"] .share-ask, :root[data-theme="light"] .point, :root[data-theme="light"] .pst__ic, :root[data-theme="light"] .orb, :root[data-theme="light"] .waitlist__row, :root[data-theme="light"] .cflag, :root[data-theme="light"] .toast, :root[data-theme="light"] .lens__read {
  background: radial-gradient(220px 160px at var(--mx, 16%) var(--my, 0%), rgba(255,255,255,.75), transparent 70%),
    linear-gradient(150deg, rgba(255,255,255,.66) 0%, rgba(255,255,255,.26) 40%, rgba(255,255,255,.14) 64%, rgba(255,255,255,.38) 100%) !important;
  box-shadow: inset 1.5px 1.5px 0 rgba(255,255,255,.98), inset -1px -1px 0 rgba(255,255,255,.55), inset 0 0 0 1px rgba(255,255,255,.5),
    inset 0 -26px 44px -30px rgba(70,96,219,.26), 0 0 0 1px rgba(30,44,90,.07), 0 26px 56px -28px rgba(30,44,90,.30), 0 2px 6px -2px rgba(30,44,90,.08) !important; }
:root[data-theme="light"] .sys__in, :root[data-theme="light"] .sys__out, :root[data-theme="light"] .numx__list li, :root[data-theme="light"] .mth__c, :root[data-theme="light"] .fq, :root[data-theme="light"] .next li, :root[data-theme="light"] .mchip, :root[data-theme="light"] .plan:not(.is-on), :root[data-theme="light"] .btn--glass, :root[data-theme="light"] .theme-toggle, :root[data-theme="light"] .pill, :root[data-theme="light"] .tags span, :root[data-theme="light"] .gpts li, :root[data-theme="light"] .share-ask, :root[data-theme="light"] .point, :root[data-theme="light"] .pst__ic, :root[data-theme="light"] .orb, :root[data-theme="light"] .waitlist__row { box-shadow: inset 1.5px 1.5px 0 rgba(255,255,255,.98), inset -1px -1px 0 rgba(255,255,255,.5), inset 0 0 0 1px rgba(255,255,255,.5),
    0 0 0 1px rgba(30,44,90,.07), 0 14px 30px -18px rgba(30,44,90,.28) !important; }
:root[data-theme="light"] .nav.is-scrolled, :root[data-theme="light"] .nav.is-open { background: linear-gradient(150deg, rgba(255,255,255,.62), rgba(255,255,255,.28)) !important;
  box-shadow: inset 1.5px 1.5px 0 #fff, inset 0 0 0 1px rgba(255,255,255,.5), 0 0 0 1px rgba(30,44,90,.07), 0 20px 46px -24px rgba(30,44,90,.35) !important; }
:root[data-theme="light"] .orbs i { opacity: .9; }
:root[data-theme="light"] .wf__bar, :root[data-theme="light"] .lu__ring { filter: saturate(1.1); }
@media (max-width: 899px) and (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .nav__links { background: linear-gradient(150deg, rgba(255,255,255,.82), rgba(255,255,255,.6)) !important; box-shadow: inset 1.5px 1.5px 0 #fff, 0 0 0 1px rgba(30,44,90,.07), 0 24px 50px -24px rgba(30,44,90,.35) !important; } }
@media (max-width: 899px) { :root[data-theme="light"] .nav__links { background: linear-gradient(150deg, rgba(255,255,255,.82), rgba(255,255,255,.6)) !important; box-shadow: inset 1.5px 1.5px 0 #fff, 0 0 0 1px rgba(30,44,90,.07), 0 24px 50px -24px rgba(30,44,90,.35) !important; } }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .orb1 { background: radial-gradient(closest-side, rgba(91,116,240,.62), transparent 70%); } :root:not([data-theme="dark"]) .orb2 { background: radial-gradient(closest-side, rgba(190,120,230,.5), transparent 70%); } :root:not([data-theme="dark"]) .orb3 { background: radial-gradient(closest-side, rgba(0,170,210,.42), transparent 70%); } }
:root[data-theme="light"] .orb1 { background: radial-gradient(closest-side, rgba(91,116,240,.62), transparent 70%); } :root[data-theme="light"] .orb2 { background: radial-gradient(closest-side, rgba(190,120,230,.5), transparent 70%); } :root[data-theme="light"] .orb3 { background: radial-gradient(closest-side, rgba(0,170,210,.42), transparent 70%); }

/* ================= Footer: quiet, spacious, a wordmark that sinks into the page ================= */
.foot { background: linear-gradient(180deg, transparent 0, var(--foot-bg) 220px) !important; border-top: 0 !important; overflow: hidden;
  padding: clamp(120px, 12vw, 180px) 0 0 !important; isolation: isolate; }
.foot::before { content: ""; position: absolute; left: 50%; top: 0; width: min(1240px, calc(100% - 40px)); height: 1px; translate: -50% 0;
  background: linear-gradient(90deg, transparent, rgba(var(--fg-rgb), .16) 20%, rgba(var(--fg-rgb), .16) 80%, transparent); }
.foot__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr) !important; gap: clamp(40px, 6vw, 96px) !important; align-items: start; }
.foot .brand { font-size: 22px; gap: 10px; }
.foot__tag { font-size: 16px; color: var(--text-2); max-width: 30ch; margin: 18px 0 28px !important; }
.foot__cols { grid-template-columns: 1fr 1fr 1fr 1.35fr !important; gap: 28px !important; }
.foot h2 { font-size: 12px !important; letter-spacing: .14em !important; color: var(--text-3) !important; font-weight: 600; margin-bottom: 20px !important; }
.foot ul { gap: 14px !important; }
.foot ul a { font-size: 15.5px; color: var(--text-2); transition: color .2s; }
.foot ul a:hover { color: var(--text); }
.foot ul a span { color: var(--text-3); }
.foot__legal { margin-top: clamp(72px, 8vw, 112px) !important; padding-top: 28px !important; border-top: 1px solid rgba(var(--fg-rgb), .08) !important;
  grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 32px !important; font-size: 13px !important; color: var(--text-3); }
.foot__legal p:first-child { max-width: 78ch; }
.foot__copy { display: flex; gap: 20px; white-space: nowrap; color: var(--text-2) !important; }
.foot__word { position: relative; z-index: -1; text-align: center; font-weight: 600; letter-spacing: -.065em; line-height: .78;
  font-size: clamp(132px, 29vw, 440px); margin: clamp(24px, 4vw, 56px) 0 calc(clamp(132px, 29vw, 440px) * -.2); user-select: none;
  background: linear-gradient(180deg, rgba(var(--fg-rgb), .12) 0%, rgba(var(--fg-rgb), .03) 70%, transparent 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (max-width: 899px) {
  .foot { padding-top: 104px !important; }
  .foot__top { grid-template-columns: 1fr !important; }
  .foot__cols { grid-template-columns: 1fr 1fr !important; row-gap: 40px !important; }
  .foot__cols nav:last-child { grid-column: 1 / -1; }
  .foot__legal { grid-template-columns: 1fr; gap: 14px !important; }
  .foot__copy { flex-wrap: wrap; white-space: normal; gap: 6px 16px; }
}
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .foot__word { background-image: linear-gradient(180deg, rgba(10,12,15,.075), rgba(10,12,15,.015) 70%, transparent); } }
:root[data-theme="light"] .foot__word { background-image: linear-gradient(180deg, rgba(10,12,15,.075), rgba(10,12,15,.015) 70%, transparent); }

/* ================= Sub-page heroes: full bleed, fading into the page instead of a boxed panel ================= */
.panel.page-hero { margin: 0 !important; max-width: none !important; border-radius: 0 !important;
  background: linear-gradient(180deg, var(--g0) 0%, var(--g1) 45%, var(--bg) 100%) !important;
  padding-bottom: clamp(96px, 11vw, 150px) !important; }
.panel.page-hero::before, .panel.page-hero::after { -webkit-mask-image: linear-gradient(180deg, #000 40%, transparent 85%); mask-image: linear-gradient(180deg, #000 40%, transparent 85%); }
.panel.page-hero .display { letter-spacing: -.035em; }
.panel.page-hero + .wrap.doc { margin-top: clamp(8px, 2vw, 32px) !important; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) img.final__mark { filter: var(--mark-filter); } }
:root[data-theme="light"] img.final__mark { filter: var(--mark-filter); }
