
/* ============================================================
   aenia life — landing page (single file, data-first)
   Warm ivory ground · deep sage brand · quiet editorial luxury
   ============================================================ */
:root{
  /* LOCKED color tokens (v5 spec), harmonized with existing warm ivory/sage */
  --headline:  #5E6E6B;   /* Pine Teal — headlines + emphasis (harmonizes with logo) */
  --green:     #5E6E6B;   /* Pine Teal — eyebrows, links, buttons */
  --pine:     #5E6E6B;   /* Pine Teal — wordmark, triquetra, headings, outlines */
  --pine-2:   #798883;   /* Pine, 1 step lighter — sub-headlines */
  --pine-3:   #96A29D;   /* Pine, 2 steps lighter — large 2nd lines / highlights */
  --ink:       #273330;   /* body text */
  --muted:     #6F766C;   /* muted secondary text */
  --bg:        #FDFCF8;   /* warm ivory background (lighter) */
  --bg-2:      #F7F4ED;   /* soft parchment (lighter) */
  --card:      #FCFAF5;   /* card ground */
  --stone:     #EEEAE2;   /* soft stone card background */
  --champagne: #C9BDA8;   /* warm champagne accent */
  --faint:     #9AA09B;
  --line:      rgba(94,110,107,0.14);
  --nutrition: #829F82;   /* Nutrition — Basil Green            (accent #1F6357) */
  --activity:  #C9A9A6;   /* Physical Activity — Dusty Rose (matches Wheel) */
  --rest:      #98AFC7;   /* Rest & Resilience — Blue Grey      (accent #D8BFD8) */
  --brain:     #B49BC8;   /* Brain & Connection — Lilac (matches Wheel) */
  --radius:    28px;
  --radius-sm: 20px;
  --shadow-sm: 0 2px 10px rgba(36,52,43,0.05);
  --shadow-md: 0 14px 40px rgba(36,52,43,0.09);
  --shadow-lg: 0 30px 70px rgba(36,52,43,0.12);
  --glass:     saturate(140%) blur(16px);
  --display:   'Questrial', 'Satoshi', 'Inter Tight', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --sans:      'Questrial', 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--sans); color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; line-height:1.65; overflow-x:hidden;
}
body::before, body::after{
  content:""; position:fixed; z-index:-1; border-radius:50%;
  filter:blur(110px); opacity:0.45; pointer-events:none;
}
body::before{ width:48vw; height:48vw; top:-16vw; right:-12vw; background:radial-gradient(circle,#E4ECE2 0%,transparent 70%); }
body::after{ width:44vw; height:44vw; bottom:-18vw; left:-12vw; background:radial-gradient(circle,#ECE6EE 0%,transparent 70%); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ color:var(--headline); font-family:var(--display); font-weight:500; letter-spacing:-0.012em; line-height:1.12; }
section{ position:relative; }
.wrap{ max-width:1140px; margin:0 auto; padding:0 clamp(20px,5vw,52px); }
.eyebrow{
  font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--green);
}
.center{ text-align:center; }
.center .lead-h, .center .lead-p,
.lead-h.center, .lead-p.center{ margin-left:auto; margin-right:auto; }
.lead-h{ font-size:clamp(28px,4.4vw,48px); font-weight:600; max-width:20ch; }
.lead-h .alt{ display:block; color:var(--pine-3); }
.lead-p{ font-size:clamp(16px,1.6vw,18px); color:var(--muted); max-width:64ch; margin-top:18px; }
/* Aging biology — plain, non-clickable editorial statements (no cards) */
.aging-statements{ max-width:1120px; margin:32px auto 0; text-align:center; }
.aging-row{ margin-bottom:12px; font-size:clamp(15px,1.35vw,18px); color:var(--muted); line-height:1.6; white-space:nowrap; }
.aging-final{ max-width:1180px; margin:26px auto 0; text-align:center; font-size:clamp(16px,1.3vw,18.5px); color:var(--ink); line-height:1.55; white-space:nowrap; }
.wwa-goal{ display:flex; flex-direction:column; gap:5px; margin-top:clamp(28px,4vw,42px); max-width:760px; margin-left:auto; margin-right:auto; }
.wwa-goal .wwa-goal-1{ font-size:clamp(18px,2.3vw,22px); font-weight:700; color:var(--headline); }
.wwa-goal .wwa-goal-2{ font-weight:500; color:var(--muted); font-size:clamp(15px,1.7vw,17px); }
@media (max-width:900px){
  .aging-row, .aging-final{ white-space:normal; }
}
.btn{
  display:inline-flex; align-items:center; gap:9px; cursor:pointer;
  font-family:var(--sans); font-size:14.5px; font-weight:600; letter-spacing:0.01em;
  padding:13px 26px; border-radius:999px; border:1px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .25s ease, color .2s ease;
}
.btn-primary{ background:var(--green); color:var(--bg); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); background:#4E5C4D; }
.btn-secondary{ background:var(--stone); color:var(--headline); border-color:var(--green); }
.btn-secondary:hover{ transform:translateY(-2px); background:#fff; box-shadow:var(--shadow-sm); }
.btn-soft{ background:transparent; color:var(--green); border-color:var(--line); }
.btn-soft:hover{ transform:translateY(-2px); background:rgba(255,255,255,0.6); box-shadow:var(--shadow-sm); }
.btn-arrow::after{ content:"\2192"; font-size:15px; line-height:1; }
.announce{
  background:var(--green); color:var(--bg);
  font-size:13px; letter-spacing:0.01em;
  display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap;
  padding:10px 18px; text-align:center;
}
.announce a{
  font-weight:600; color:#fff; border-bottom:1px solid rgba(255,255,255,0.55);
  padding-bottom:1px; white-space:nowrap; transition:border-color .2s ease;
}
.announce a:hover{ border-color:#fff; }
.nav{
  position:sticky; top:0; z-index:100;
  display:flex; align-items:center; gap:18px;
  padding:13px clamp(18px,4vw,52px);
  background:rgba(247,245,240,0.84);
  backdrop-filter:var(--glass); -webkit-backdrop-filter:var(--glass);
  border-bottom:1px solid var(--line);
}
.brand{ display:flex; align-items:center; gap:12px; color:var(--headline); }
.brand .mark{ height:34px; width:auto; flex:none; object-fit:contain; }
.brand .brand-logo{ height:48px; width:auto; display:block; }
.brand .wordmark{ font-family:var(--sans); font-weight:700; letter-spacing:0.04em; font-size:16px; color:var(--pine); }
.nav-links{ margin-left:auto; display:flex; align-items:center; gap:4px; }
.nav-links a{
  font-size:13.5px; font-weight:500; color:var(--muted);
  padding:8px 12px; border-radius:999px; white-space:nowrap;
  transition:color .2s, background .2s, transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .2s; transform-origin:center bottom;
}
.nav-links a:hover{ color:var(--headline); background:rgba(255,255,255,0.75); transform:translateY(-2px) scale(1.07); box-shadow:0 8px 20px rgba(94,110,107,0.18); }
.nav-links a:active{ transform:translateY(-1px) scale(1.13); box-shadow:0 6px 16px rgba(94,110,107,0.26); }
.nav-links a.wheel-link{ color:var(--headline); font-weight:600; }
.nav-toggle{
  display:none; margin-left:auto; background:none; border:1px solid var(--line);
  border-radius:12px; padding:8px 10px; cursor:pointer; color:var(--headline);
}
/* ===== HERO — editorial video stage (second visual layer) + calm triad ===== */
.hero{ position:relative; overflow:hidden; text-align:center;
  display:flex; align-items:flex-start; justify-content:center;
  min-height:clamp(560px,84vh,820px);
  padding:clamp(60px,9vw,104px) 0 clamp(60px,9vw,116px); }
/* deeper image/video layer */
.hero-media{ position:absolute; inset:0; z-index:0; background:var(--bg-2); }
.hero-clip{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 2.2s ease;
  /* clear, alive, warm — kept saturated (readability now handled by text cards) */
  filter:saturate(1.02) contrast(1.06) brightness(1.0); }
.hero-clip.active{ opacity:1; }
/* warm ivory scrim = the soft foreground "window" the content reads through */
.hero-scrim{ position:absolute; inset:0; z-index:1; pointer-events:none;
  /* soft dark grade so white copy stays readable while the videos remain visible */
  background:
    linear-gradient(180deg, rgba(16,22,18,0.46) 0%, rgba(16,22,18,0.20) 32%, rgba(16,22,18,0.12) 58%, rgba(16,22,18,0.32) 100%); }
.hero-content{ position:relative; z-index:2; width:100%; display:flex; justify-content:center; }
/* Hero copy sits directly OVER the videos — no box, no card, strong white typography */
.hero-stack{ text-align:center; width:min(780px,92%); margin-top:clamp(6px,2.5vw,30px);
  display:flex; flex-direction:column; align-items:center;
  opacity:0; transform:translateY(16px); animation:rise .8s cubic-bezier(.2,.7,.3,1) forwards; }
/* group 1 — main statement, largest */
.hero-triad{ font-family:var(--display); font-weight:600; letter-spacing:-0.014em;
  color:#FFFFFF; font-size:clamp(30px,4.4vw,52px); line-height:1.12; margin:0; max-width:22ch;
  text-shadow:0 2px 26px rgba(16,22,18,0.55), 0 1px 3px rgba(16,22,18,0.35); }
.hero-triad .line{ display:block; opacity:0; transform:translateY(14px);
  animation:rise .85s cubic-bezier(.2,.7,.3,1) forwards; }
.hero-triad .line:nth-child(1){ animation-delay:.08s; }
.hero-triad .line:nth-child(2){ animation-delay:.24s; }
.hero-triad .line:nth-child(3){ animation-delay:.40s; }
@keyframes rise{ to{ opacity:1; transform:translateY(0); } }
/* group 2 — secondary line, slightly smaller */
.hero-groupB{ font-family:var(--display); font-weight:500; color:#FFFFFF;
  font-size:clamp(17px,2vw,22px); letter-spacing:-0.004em; margin:clamp(16px,2vw,22px) 0 0; max-width:42ch;
  text-shadow:0 2px 18px rgba(16,22,18,0.55); }
/* group 3 — trust line, uppercase, NO pill/box */
.hero-groupC{ margin:clamp(16px,2vw,20px) 0 0; font-size:clamp(12px,1.3vw,13.5px); font-weight:700;
  letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.94);
  text-shadow:0 2px 14px rgba(16,22,18,0.55); }
/* group 4 — supporting copy, smaller */
.hero-support{ margin:clamp(16px,2vw,22px) 0 0; display:flex; flex-direction:column; gap:4px; }
.hero-support span{ font-size:clamp(13px,1.4vw,15px); color:rgba(255,255,255,0.88); font-weight:500;
  text-shadow:0 1px 12px rgba(16,22,18,0.55); }
/* CTA groups — minimal text links over the video, not a panel */
.hero-ctas{ display:flex; gap:clamp(24px,5vw,56px); justify-content:center; flex-wrap:wrap; margin-top:clamp(30px,4vw,44px); }
.cta-tile{ position:relative; display:flex; flex-direction:column; align-items:center; gap:7px;
  text-align:center; text-decoration:none; padding:2px 4px; min-width:0; background:none; border:none; box-shadow:none;
  transition:transform .2s ease; }
.cta-tile:hover{ transform:translateY(-2px); }
.cta-tile:focus-visible{ outline:2px solid rgba(255,255,255,0.85); outline-offset:6px; border-radius:6px; }
.cta-tile .cta-kicker{ font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(255,255,255,0.82); text-shadow:0 1px 10px rgba(16,22,18,0.55); }
.cta-tile .cta-label{ font-family:var(--display); font-weight:600; font-size:clamp(17px,2vw,21px); color:#FFFFFF;
  letter-spacing:-0.01em; border-bottom:1.5px solid rgba(255,255,255,0.5); padding-bottom:4px;
  text-shadow:0 2px 16px rgba(16,22,18,0.55); transition:border-color .2s ease; }
.cta-tile:hover .cta-label{ border-bottom-color:#FFFFFF; }
.cta-tile .cta-arrow{ position:static; transform:none; font-size:18px; color:#FFFFFF; opacity:0.92; margin-top:1px;
  text-shadow:0 2px 12px rgba(16,22,18,0.55); }
@media (max-width:520px){ .hero-ctas{ gap:22px; } }
/* reusable layered image-window (second-plane image + soft ivory window) */
.image-window{ position:relative; overflow:hidden; border-radius:var(--radius); }
.image-window .iw-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:saturate(0.55) contrast(0.92) brightness(1.04); z-index:0; }
.image-window .iw-tint{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(160deg, rgba(247,245,240,0.32), rgba(247,245,240,0.66)); }
.image-window .iw-fore{ position:relative; z-index:2; }
/* V18: fixed-background parallax strip (Wix/Peakpose-style) — image pinned to viewport,
   the strip is a moving window that reveals different parts of the photo as you scroll */
.parallax-strip{ position:relative; overflow:hidden; border-radius:32px; box-shadow:var(--shadow-md);
  display:flex; align-items:flex-end; text-decoration:none; isolation:isolate;
  background-repeat:no-repeat; background-size:cover; background-position:center center;
  background-attachment:fixed; }
.olive-strip{ background-image:url("../../Photos/olive-tree.jpg");
  height:clamp(360px,56vh,600px); margin:clamp(24px,3vw,40px) 0 clamp(28px,4vw,48px); }
/* Beach: full Wix fixed-background parallax (crop is fine) */
.wheel-copy{ max-width:800px; margin-left:auto; margin-right:auto; text-align:center; }
.wheel-copy .lead-h, .wheel-copy .lead-p{ margin-left:auto; margin-right:auto; }
.wheel-copy #wheelCta{ display:flex; justify-content:center; }
.wheel-copy .eyebrow{ color:var(--pine-2); }        /* lighter — more variety */
.wheel-copy #wheelTitle{ color:var(--pine-3); }     /* lightest tone for this title */
.wheel-band{ background-image:url("../../Photos/wheel-index.jpg"); width:100%; min-height:clamp(420px,60vh,640px); margin:clamp(22px,3vw,40px) 0 0; background-position:center center; }
/* Supplement capsules: full-width Wix fixed-background parallax (full-bleed scene, cover) */
.supplement-band{ background-image:url("../../Photos/supplement-capsules.jpg"); background-attachment:fixed; background-size:cover;
  background-position:center center; background-repeat:no-repeat;
  min-height:clamp(420px,60vh,640px); border-radius:32px; box-shadow:var(--shadow-md); margin:clamp(22px,3vw,40px) 0; }
@media (max-width:900px){ .supplement-band{ background-attachment:scroll; min-height:clamp(360px,52vh,520px); } }
@media (prefers-reduced-motion:reduce){ .supplement-band{ background-attachment:scroll; } }
/* Full-bleed: the three fixed-background parallax bands span the entire screen width */
.olive-strip, .wheel-band, .supplement-band{
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  width:100vw; max-width:100vw; border-radius:0;
}
.parallax-strip .ps-scrim-soft{ background:linear-gradient(160deg, rgba(247,245,240,0.14), rgba(201,189,168,0.10) 60%, rgba(94,110,107,0.10)); }
.parea-feature{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:clamp(28px,5vw,60px); align-items:center; margin-bottom:clamp(30px,4vw,48px); }
.parea-feature .bottle-strip{ border-radius:28px; }
.parea-head-left{ text-align:left; }
.parea-head-left .lead-h{ max-width:none; }
@media (max-width:900px){ .parea-feature{ grid-template-columns:1fr; } }
.parallax-strip .ps-scrim{ position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(247,245,240,0.10), rgba(247,245,240,0.02) 42%, rgba(36,52,43,0.30)); }
.parallax-strip .ps-cap{ position:relative; z-index:2; padding:clamp(20px,3vw,34px); }
.parallax-strip .ps-cap span{ font-family:var(--display); font-weight:600; color:#FFFFFF;
  font-size:clamp(20px,2.7vw,30px); text-shadow:0 2px 20px rgba(20,28,22,0.55); }
.parallax-strip .ps-cap-title{ display:block; }
.parallax-strip .ps-cap small{ display:block; font-family:var(--sans); font-weight:600; font-size:11px;
  letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.92); margin-top:10px; }
/* Mobile + reduced motion: fixed backgrounds are janky/unsupported — pin normally instead */
@media (max-width:900px){ .parallax-strip{ background-attachment:scroll; } }
@media (prefers-reduced-motion:reduce){ .parallax-strip{ background-attachment:scroll; } }
/* V12 layered depth: ambient deep-image layer + scroll parallax (Peakpose-style) */
.has-depth{ position:relative; isolation:isolate; }
.has-depth > .wrap{ position:relative; z-index:1; }
.depth-bg{ position:absolute; left:0; right:0; top:-7%; bottom:-7%; z-index:0; pointer-events:none;
  background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease; will-change:transform;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 84%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 16%,#000 84%,transparent); }
.depth-bg.ready{ opacity:0.16; }
@media (prefers-reduced-motion:reduce){ .depth-bg{ transition:opacity .3s ease; } }
.section{ padding:clamp(56px,9vw,108px) 0; }
.section.tint{ background:linear-gradient(180deg,transparent,rgba(239,235,227,0.6),transparent); }
.section-head{ margin-bottom:clamp(30px,4vw,52px); }
.hallmark-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:18px; margin-top:6px; }
.hallmark-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm); padding:24px 24px 22px; text-align:left;
  display:flex; flex-direction:column; cursor:pointer; font-family:var(--sans);
  transition:transform .2s ease, box-shadow .2s ease;
}
.hallmark-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.hallmark-card:focus-visible{ outline:2px solid var(--green); outline-offset:3px; }
.hallmark-num{ font-family:var(--display); font-size:13px; font-weight:700; color:var(--champagne); letter-spacing:0.04em; margin-bottom:10px; }
.hallmark-card h3{ font-family:var(--display); font-size:18px; font-weight:600; color:var(--headline); }
.hallmark-card .hm-headline{ font-size:15px; color:var(--pine-2); margin-top:4px; font-weight:600; font-style:normal; }
.hallmark-card .hm-short{ font-size:13.5px; color:var(--muted); margin-top:12px; line-height:1.6; }
.hallmark-card .hm-toggle{ margin-top:16px; font-size:12.5px; font-weight:600; letter-spacing:0.02em; color:var(--green); display:inline-flex; align-items:center; gap:6px; }
.hallmark-card .hm-toggle .chev{ transition:transform .25s ease; display:inline-block; }
.hallmark-card[aria-expanded="true"] .hm-toggle .chev{ transform:rotate(180deg); }
.infographic-slot{
  margin-top:16px; border:1px dashed rgba(94,110,107,0.28); border-radius:16px;
  background:linear-gradient(150deg, rgba(238,234,226,0.7), rgba(231,236,229,0.5));
  min-height:120px; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:18px;
}
.infographic-slot .slot-label{ font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--faint); }
.infographic-slot .slot-icon{ display:block; margin:0 auto 8px; opacity:0.5; }
.infographic-slot img{ border-radius:14px; }
.infographic-slot:has(img.ph){ border:1px solid var(--line); background:var(--card); padding:6px; min-height:0; }
.infographic-slot img.ph{ width:100%; height:auto; border-radius:12px; display:block; }
.deepdive{
  grid-column:1 / -1; display:none; margin-top:-2px;
  background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius);
  padding:clamp(24px,3.4vw,40px); box-shadow:var(--shadow-sm);
}
.deepdive.open{ display:block; animation:fade .35s ease; }
@keyframes fade{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } }
.deepdive .dd-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(24px,4vw,44px); align-items:start; }
.deepdive h3{ font-family:var(--display); font-size:clamp(22px,3vw,30px); font-weight:600; }
.deepdive .dd-eyebrow{ font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--green); margin-bottom:8px; }
.deepdive .dd-body{ font-size:15px; color:var(--ink); margin-top:14px; }
.deepdive .dd-body p{ margin-top:12px; }
.deepdive .dd-block{ margin-top:22px; }
.deepdive .dd-block h4{ font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--green); }
.deepdive .dd-block p{ font-size:14.5px; color:var(--ink); margin-top:8px; line-height:1.7; }
.deepdive .dd-close{ margin-top:24px; font-size:13px; font-weight:600; color:var(--green); cursor:pointer; background:none; border:1px solid var(--line); border-radius:999px; padding:9px 18px; font-family:var(--sans); }
.deepdive .dd-close:hover{ background:#fff; }
.wheel-feature{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(28px,5vw,64px); align-items:center; }
.wheel-visual{
  border-radius:var(--radius); min-height:300px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(150deg,#E7ECE5,#DCE5E2 55%,#E9E2EC);
  box-shadow:var(--shadow-md); position:relative; overflow:hidden; padding:30px;
}
.wheel-visual .wv-img{ position:absolute; inset:-9% 0; width:100%; height:118%; object-fit:cover; z-index:0;
  filter:saturate(0.5) contrast(0.92) brightness(1.03); will-change:transform; }
.wheel-visual .wv-tint{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(160deg, rgba(231,236,229,0.74), rgba(220,229,226,0.66) 55%, rgba(233,226,236,0.74)); }
.wheel-visual .cap{ position:relative; z-index:2; font-family:var(--display); font-size:clamp(22px,3vw,30px); color:var(--headline); text-align:center; line-height:1.25; }
.wheel-visual .cap small{ display:block; font-family:var(--sans); font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--green); margin-top:12px; }
.pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:clamp(30px,4vw,48px); }
.pillar{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm); transition:transform .2s, box-shadow .2s;
  display:flex; flex-direction:column; overflow:hidden; text-align:left; padding:24px 22px 22px;
}
.pillar:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.pillar:focus-visible{ outline:2px solid var(--green); outline-offset:3px; }
.pillar .dot{ width:13px; height:13px; border-radius:50%; display:inline-block; margin-bottom:14px; }
.pillar h4{ font-family:var(--display); font-weight:600; font-size:17px; color:var(--headline); }
.pillar p{ font-size:13.5px; color:var(--muted); margin-top:8px; line-height:1.6; }
.pillar .pillar-link{ margin-top:14px; font-size:12.5px; font-weight:600; color:var(--green); display:inline-flex; gap:6px; }
.parea-head{ text-align:center; }
.parea-mono{ font-family:var(--display); font-size:clamp(22px,3.4vw,34px); font-weight:600; color:var(--pine-3); letter-spacing:0.02em; margin-top:6px; }
.parea-support{ font-size:15px; color:var(--ink); font-style:normal; max-width:54ch; margin:20px auto 0; text-align:center; }
.parea-cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:30px; }
.parea-note{ font-size:12.5px; color:var(--faint); font-style:normal; text-align:center; margin-top:18px; }
.pathway-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:1080px; margin:clamp(32px,4vw,48px) auto 0; align-items:stretch; }
/* Parea intro: full-width, centred editorial block */
.parea-intro-block{ max-width:960px; margin-left:auto; margin-right:auto; text-align:center; }
.parea-intro-block{ max-width:1080px; }
.parea-intro-block .lead-h, .parea-intro-block .lead-p, .parea-intro-block .parea-mono{ margin-left:auto; margin-right:auto; }
.parea-intro-block .parea-support{ max-width:none; }
.parea-intro-block .final-line{ white-space:nowrap; }
@media (max-width:900px){ .parea-intro-block .final-line{ white-space:normal; } }
/* Pathway = centered text preview cards; the infographic appears only inside the opened panel */
.pathway-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow-sm);
  padding:30px 24px 24px; text-align:center; cursor:pointer; font-family:var(--sans);
  display:flex; flex-direction:column; align-items:center; gap:6px; transition:transform .2s ease, box-shadow .2s ease; }
.pathway-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.pathway-card:focus-visible{ outline:2px solid var(--green); outline-offset:3px; }
.pathway-card .pw-title{ font-family:var(--display); font-size:26px; font-weight:700; color:var(--headline); letter-spacing:0.01em; }
.pathway-card .pw-headline{ font-size:15px; color:var(--pine-2); font-weight:600; font-style:normal; }
.pathway-card .pw-toggle{ margin-top:14px; font-size:12.5px; font-weight:700; letter-spacing:0.02em; color:var(--green); display:inline-flex; align-items:center; gap:6px; }
.pathway-card .pw-toggle .chev{ transition:transform .25s ease; display:inline-block; }
.pathway-card[aria-expanded="true"] .pw-toggle .chev{ transform:rotate(180deg); }
.pwp-graphic{ margin:18px 0 6px; border-radius:18px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm);
  background:var(--card); max-width:520px; }
.pwp-graphic img{ display:block; width:100%; height:auto; }
.pwp-graphic-note{ display:block; font-size:11.5px; color:var(--faint); font-style:normal; padding:8px 12px; text-align:center; }
.pathway-panel{ grid-column:1 / -1; display:none; margin:4px 0 12px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); padding:clamp(26px,4vw,42px); }
.pathway-panel.open{ display:block; animation:fade .35s ease; }
.pathway-panel .pwp-head{ font-family:var(--display); font-size:clamp(22px,3vw,30px); font-weight:600; color:var(--headline); }
.pathway-panel .pwp-sub{ font-size:14.5px; color:var(--pine-2); font-weight:600; font-style:normal; margin-top:4px; }
.pathway-panel .pwp-block{ margin-top:22px; max-width:82ch; }
.pathway-panel .pwp-block h4{ font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--green); margin:0; }
.pathway-panel .pwp-block p{ font-size:15.5px; color:var(--ink); line-height:1.72; margin:8px 0 0; }
.pathway-panel .pwp-close{ margin-top:26px; font-size:12.5px; font-weight:600; color:var(--green); background:none; border:1px solid var(--line); border-radius:999px; padding:9px 18px; cursor:pointer; }
.pathway-panel .pwp-close:hover{ background:var(--bg-2); }
.parea-closing{ text-align:center; font-size:15px; color:var(--ink); max-width:62ch; margin:clamp(32px,4vw,48px) auto 0; }
.roadmap-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; margin-top:clamp(30px,4vw,46px); }
.roadmap-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); padding:22px 22px 20px; }
.roadmap-card .rc-step{ font-family:var(--display); font-size:13px; font-weight:700; color:var(--champagne); }
.roadmap-card h4{ font-family:var(--display); font-size:17px; font-weight:600; margin-top:8px; color:var(--headline); }
.roadmap-card p{ font-size:13px; color:var(--muted); margin-top:8px; line-height:1.6; }
.roadmap-status{ margin-top:clamp(24px,3vw,38px); background:var(--stone); border:1px solid var(--line); border-radius:16px; padding:16px 20px; font-size:13.5px; color:var(--ink); }
.roadmap-status b{ color:var(--green); }
.sciboard-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:clamp(30px,4vw,46px); }
.sciboard-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
.sciboard-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.sb-portrait{ position:relative; aspect-ratio:4/5; background:linear-gradient(160deg,#ECE8E0,#E6E4DE); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.sb-portrait img{ width:100%; height:100%; object-fit:cover; object-position:50% 22%; filter:saturate(0.98) contrast(1.01); }
.sb-portrait .sb-initials{ font-family:var(--display); font-weight:600; font-size:34px; color:var(--pine); opacity:0.42; letter-spacing:0.02em; }
.sb-portrait .sb-ph-label{ position:absolute; bottom:10px; left:0; right:0; text-align:center; font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--faint); }
.sb-body{ padding:18px 18px 20px; display:flex; flex-direction:column; }
.sb-body h4{ font-family:var(--display); font-size:16px; font-weight:600; color:var(--headline); letter-spacing:-0.01em; }
.sb-role{ font-size:12px; color:var(--pine-2); margin-top:6px; font-weight:600; line-height:1.5; }
.sb-note{ font-size:12.5px; color:var(--muted); margin-top:12px; line-height:1.6; }
@media (max-width:980px){ .sciboard-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sciboard-grid{ grid-template-columns:1fr; } }
.advisory-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:18px; margin-top:clamp(30px,4vw,46px); }
.advisor{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); padding:24px 22px; }
.advisor .adv-avatar{ width:52px; height:52px; border-radius:50%; background:var(--stone); display:flex; align-items:center; justify-content:center; color:var(--green); font-family:var(--display); font-weight:700; font-size:18px; margin-bottom:14px; }
.advisor h4{ font-family:var(--sans); font-size:16px; font-weight:700; color:var(--headline); }
.advisor .adv-title{ font-size:13px; color:var(--green); margin-top:4px; font-weight:600; }
.advisor .adv-aff{ font-size:12.5px; color:var(--muted); margin-top:2px; }
.advisor .adv-expertise{ font-size:12.5px; color:var(--muted); margin-top:10px; line-height:1.6; }
.advisory-note{ font-size:12.5px; color:var(--faint); font-style:normal; margin-top:22px; text-align:center; }
.faq-list{ max-width:780px; margin:clamp(26px,3vw,40px) auto 0; display:grid; gap:14px; text-align:left; }
.faq-item{ background:var(--card); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); overflow:hidden; }
.faq-item summary{
  list-style:none; cursor:pointer; padding:18px 24px; font-size:15.5px; font-weight:600;
  color:var(--headline); display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--sans);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary .faq-plus{ position:relative; width:16px; height:16px; flex:none; }
.faq-item summary .faq-plus::before, .faq-item summary .faq-plus::after{ content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--green); }
.faq-item summary .faq-plus::before{ width:14px; height:1.6px; }
.faq-item summary .faq-plus::after{ width:1.6px; height:14px; transition:opacity .2s ease; }
.faq-item[open] summary .faq-plus::after{ opacity:0; }
.faq-item .faq-answer{ padding:0 24px 22px; font-size:14.5px; color:var(--muted); line-height:1.65; }
.myhabits-card{
  background:linear-gradient(150deg, var(--stone), rgba(231,236,229,0.7));
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm);
  padding:clamp(30px,5vw,52px); text-align:center; max-width:760px; margin:0 auto;
}
.myhabits-card .mh-tag{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--green); border:1px solid var(--line); border-radius:999px; padding:5px 14px; margin-bottom:18px; }
.mh-saved{ margin-top:28px; }
.mh-saved-head{ font-size:13px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--green); margin:0 0 14px; }
.mh-chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.mh-chip{ display:inline-flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--line); border-radius:999px; padding:8px 8px 8px 16px; box-shadow:var(--shadow-sm); }
.mh-chip-name{ font-family:var(--display); font-weight:600; font-size:15px; color:var(--headline); }
.mh-chip-cat{ font-size:11px; color:var(--muted); }
.mh-chip-remove{ width:24px; height:24px; border-radius:50%; border:none; background:var(--bg-2); color:var(--muted); cursor:pointer; font-size:16px; line-height:1; display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease,color .15s ease; }
.mh-chip-remove:hover{ background:var(--brain); color:#fff; }
.mh-empty{ font-size:15px; color:var(--muted); max-width:52ch; margin:24px auto 0; }
.mh-actions{ display:flex; flex-direction:column; gap:10px; max-width:620px; margin:0 auto; text-align:left; }
.mh-action{ display:flex; align-items:center; gap:14px; background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-sm); padding:14px 14px 14px 18px; }
.mh-action-body{ flex:1; }
.mh-action-title{ font-family:var(--display); font-weight:600; font-size:15.5px; color:var(--headline); margin:0; }
.mh-action-meta{ font-size:12.5px; color:var(--muted); margin:3px 0 0; }
.footer{ background:var(--bg-2); border-top:1px solid var(--line); padding:clamp(44px,6vw,72px) 0 40px; margin-top:20px; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:clamp(24px,4vw,52px); }
.footer .f-brand .wordmark{ font-family:var(--sans); font-weight:700; font-size:18px; color:var(--headline); display:inline-flex; align-items:center; gap:9px; } .footer .f-brand .f-mark{ height:26px; width:auto; } .footer .f-brand .f-logo{ height:52px; width:auto; display:block; }
.footer .f-brand p{ font-size:13px; color:var(--muted); margin-top:12px; max-width:42ch; line-height:1.65; }
.footer h5{ font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--green); margin-bottom:14px; }
.footer .f-col a, .footer .f-col span{ display:block; font-size:13.5px; color:var(--muted); padding:5px 0; transition:color .2s; }
.footer .f-col a:hover{ color:var(--headline); }
.footer .f-legal{ margin-top:clamp(34px,4vw,52px); padding-top:26px; border-top:1px solid var(--line); }
.footer .f-legal p{ font-size:12px; color:var(--faint); line-height:1.7; max-width:90ch; }
.footer .f-legal p + p{ margin-top:14px; }
.footer .f-copy{ margin-top:24px; font-size:12px; color:var(--faint); }
@media (max-width:980px){
  .pillars{ grid-template-columns:repeat(2,1fr); }
  .pathway-grid{ grid-template-columns:1fr; }
  .wheel-feature{ grid-template-columns:1fr; }
  .deepdive .dd-grid{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:900px){
  .hero-content{ justify-content:center; }
  .hero-stack{ width:min(600px,92%); }
  .hero-triad{ margin:0 auto; }
  .hero-groupB{ margin-left:auto; margin-right:auto; }
  .hero-support{ align-items:center; }
  .hero-ctas{ justify-content:center; }
}
@media (max-width:760px){
  .nav-links{
    display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    align-items:stretch; gap:2px; background:var(--bg); border-bottom:1px solid var(--line);
    padding:12px clamp(18px,4vw,52px); box-shadow:var(--shadow-md);
  }
  .nav-links.open{ display:flex; }
  .nav-toggle{ display:inline-flex; }
  .nav-links a{ padding:11px 8px; }
  .pillars{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  .hero-triad .line{ opacity:1; transform:none; }
  .hero-clip{ transition:none; }
}
/* Greek beta fix: Questrial lacks 'β', so isolate it in a normal-weight sans so it doesn't render bold */
.gk-beta{ font-weight:500; font-family:'Inter Tight','Inter',-apple-system,system-ui,sans-serif; }
