/* ═══════════════════════════════════════════════════════════
   MUNUS — one stylesheet, mobile-first.
   Base = mobile. Media queries only ever ADD, going upward.
   ═══════════════════════════════════════════════════════════ */

/* ── THEME TOKENS ───────────────────────────────────────── */
html[data-theme="day"]{
  --plaster:#F5F4F0; --fog-light:#EAEAE6; --fog-ambient:#D2D4CE;
  --slate-fog:#7D8485; --ink:#1E2223; --muted:#3A4041; --basalt:#555452;
  color-scheme:light;
}
html[data-theme="night"]{
  /* Field matches night icon plate / brand sheet dark */
  --plaster:#1A1A1A; --fog-light:#242424; --fog-ambient:#333333;
  --slate-fog:#A6ABAC; --ink:#E4E4E0; --muted:#B8BCBD; --basalt:#8A8886;
  color-scheme:dark;
}

:root{
  --disp:'Figtree',sans-serif; --data:'DM Mono',monospace; --ui:'Roboto',sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --brass:#C7A876;

  /* spacing scale — no ad-hoc margins anywhere below this line */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s6:24px;
  --s8:32px; --s12:48px; --s16:64px; --s24:96px; --s32:128px;

  /* section rhythm: 64 on mobile, 128 on desktop, fluid between */
  --section-y:clamp(64px, 9vw, 128px);
  --gutter:clamp(20px, 5vw, 40px);
  --maxw:1280px;

  /* fluid type */
  --t-h1:clamp(44px, 13vw, 96px);
  --t-h2:clamp(28px, 5vw, 56px);
  --t-h3:clamp(17px, 1.6vw, 20px);
  --t-body:clamp(15px, 1.1vw, 17px);
  --t-lede:clamp(16px, 1.35vw, 19px);
  --t-mono:clamp(10px, .85vw, 12px);
}

*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth; background:var(--plaster); -webkit-text-size-adjust:100%;}
body{
  background:var(--plaster); color:var(--ink);
  font-family:var(--disp); font-weight:400; line-height:1.6;
  min-height:100dvh; overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  transition:background .4s var(--ease), color .4s var(--ease);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition-duration:.01ms !important; animation-duration:.01ms !important;}
}
:focus-visible{outline:2px solid var(--ink); outline-offset:3px;}
img{max-width:100%; height:auto; display:block;}

.wrap{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter);}
section{padding-block:var(--section-y); border-top:1px solid var(--fog-ambient);}

/* Compact section disclosures. Native details keep every section usable without JS. */
section.section-fold-wrap{padding-block:0;scroll-margin-top:88px;}
.section-summary{
  display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:var(--s4);
  padding-block:var(--s6);cursor:pointer;list-style:none;
}
.section-summary::-webkit-details-marker{display:none;}
.section-summary::marker{content:"";}
.fold-eyebrow{grid-column:1;font-family:var(--data);font-size:var(--t-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--slate-fog);margin-bottom:var(--s2);}
.fold-title{grid-column:1;font-size:clamp(22px,3vw,32px);font-weight:600;line-height:1.2;letter-spacing:-.015em;}
.fold-description{grid-column:1;font-family:var(--ui);font-size:var(--t-body);line-height:1.5;color:var(--muted);margin-top:var(--s2);max-width:65ch;}
.fold-icon{grid-column:2;grid-row:1 / 4;align-self:center;position:relative;width:44px;height:44px;border:1px solid var(--fog-ambient);border-radius:50%;}
.fold-icon::before,.fold-icon::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .2s var(--ease);}
.fold-icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.section-fold[open]>.section-summary .fold-icon::before{transform:translate(-50%,-50%) rotate(45deg);}
.section-fold[open]>.section-summary .fold-icon::after{transform:translate(-50%,-50%) rotate(135deg);}
.section-content{padding-top:var(--s6);padding-bottom:var(--s12);border-top:1px solid var(--fog-ambient);}
.section-content>:last-child{margin-bottom:0;}
.section-content .mark-meaning-grid{width:100%;}
.section-fold[open]>.section-summary .fold-title{color:var(--ink);}
@media(min-width:768px){.section-summary{padding-block:var(--s8);}.section-content{padding-top:var(--s8);padding-bottom:var(--s16);}}
@media(hover:hover) and (pointer:fine){.section-summary:hover .fold-icon{background:var(--fog-light);}}


.eyebrow{
  font-family:var(--data); font-weight:400; font-size:var(--t-mono);
  letter-spacing:.24em; text-transform:uppercase; color:var(--slate-fog);
  margin-bottom:var(--s6);
}
h2{
  font-weight:700; font-size:var(--t-h2); line-height:1.12;
  letter-spacing:-.015em; color:var(--ink); margin-bottom:var(--s4);
  text-wrap:balance;
}
.lede{
  font-family:var(--ui); font-weight:400; font-size:var(--t-lede);
  color:var(--muted); max-width:68ch; margin-bottom:var(--s12);
}

/* Two real walkthroughs share one native, tap-to-play video player. */
.app-preview{scroll-margin-top:88px;}
.preview-layout{display:grid;gap:var(--s8);}
.preview-copy .lede{margin-bottom:var(--s6);}
.preview-views:not([hidden]){display:flex;flex-wrap:wrap;gap:var(--s2);}
.preview-views button{min-height:44px;padding:var(--s2) var(--s4);border:1px solid var(--fog-ambient);border-radius:0;background:transparent;color:var(--muted);font-family:var(--disp);font-size:15px;cursor:pointer;}
.preview-views button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--plaster);}
.preview-hint{margin-top:var(--s4);font-family:var(--data);font-size:11px;color:var(--slate-fog);}
.preview-player{width:100%;max-width:360px;justify-self:center;min-width:0;}
.preview-player video{display:block;width:100%;height:auto;aspect-ratio:512 / 910;background:#EAEAE6;border:1px solid var(--fog-ambient);}
.preview-player figcaption{margin-top:var(--s4);font-family:var(--ui);font-size:14px;line-height:1.5;color:var(--muted);}
.preview-open{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--s1);font-family:var(--data);font-size:11px;color:var(--muted);text-underline-offset:4px;}
@media(min-width:768px){
  .preview-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s16);align-items:center;}
  .preview-copy{max-width:500px;}
}

/* ═══════════════════════════════════════════════════════════
   NAV — a quiet header and a full-screen editorial menu.
   Desktop: large links right, quieter links beside them.
   Mobile: large links first, then two small link columns.
   ═══════════════════════════════════════════════════════════ */
.nav{position:sticky;top:0;z-index:80;background:var(--plaster);border-bottom:1px solid var(--fog-ambient);transition:background .4s var(--ease);}
.nav-in{width:100%;max-width:var(--maxw);margin-inline:auto;padding:var(--s3) var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--s4);}
.wm{font-weight:800;letter-spacing:.32em;font-size:14px;text-transform:uppercase;text-decoration:none;color:var(--ink);white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;}
.nav-actions{display:flex;align-items:center;gap:var(--s4);}
.nav-action{display:none;font-family:var(--data);font-size:11px;letter-spacing:.08em;color:var(--muted);text-decoration:none;min-height:44px;align-items:center;}
.burger{width:44px;height:44px;display:grid;place-content:center;gap:5px;background:none;border:none;cursor:pointer;margin-right:-10px;color:var(--ink);}
.burger i{display:block;width:22px;height:1.5px;background:currentColor;}
.sun{width:44px;height:44px;display:grid;place-content:center;background:transparent;border:none;padding:0;cursor:pointer;color:var(--slate-fog);appearance:none;-webkit-appearance:none;}
.sun span{display:grid;place-content:center;}
.sun svg{width:18px;height:18px;display:block;}
.sun.toggle-desktop{display:none;}

/* Native modal behavior contains focus and keeps the page behind the menu inert. */
dialog.menu{position:fixed;inset:0;z-index:90;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:var(--s4) var(--gutter) max(var(--s6),env(safe-area-inset-bottom));border:0;background:var(--plaster);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;}
dialog.menu:not([open]){display:none;}
dialog.menu[open]{display:flex;flex-direction:column;animation:menu-enter .25s var(--ease) both;}
dialog.menu::backdrop{background:var(--plaster);}
@keyframes menu-enter{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.menu-inner{position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;max-width:var(--maxw);margin-inline:auto;flex:1 0 auto;}
.menu-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s8);}
.menu-brand{font-family:var(--data);font-size:11px;letter-spacing:.16em;color:var(--slate-fog);}
.menu-close{font-family:var(--disp);font-size:16px;font-weight:400;line-height:1;min-width:44px;min-height:44px;padding:0;background:none;border:0;color:var(--muted);cursor:pointer;text-align:right;}
.menu-layout{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--s12);padding-bottom:var(--s8);}
.menu-primary{display:grid;gap:var(--s2);}
.menu-primary a{font-family:var(--disp);font-size:clamp(34px,10vw,52px);font-weight:400;line-height:1.1;letter-spacing:-.035em;color:var(--ink);text-decoration:none;width:fit-content;min-height:44px;padding-block:var(--s1);text-underline-offset:.16em;text-decoration-thickness:1px;}
.menu-meta{display:flex;flex-direction:column;gap:var(--s8);}
.menu-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s6);row-gap:var(--s3);}
.menu-group{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);}
.menu-group-title{font-family:var(--data);font-size:10px;font-weight:400;line-height:1.5;letter-spacing:.1em;color:var(--slate-fog);margin-bottom:var(--s2);}
.menu-secondary a,.menu-contact a{font-family:var(--disp);font-size:16px;line-height:1.4;min-height:36px;display:inline-flex;align-items:center;color:var(--muted);text-decoration:none;text-underline-offset:4px;text-decoration-thickness:1px;}
.menu-secondary a[aria-current="page"]{text-decoration:underline;}
.menu-contact{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);padding-top:var(--s6);border-top:1px solid var(--fog-ambient);}
.menu-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:auto;padding-top:var(--s6);}
.menu-signoff{font-family:var(--data);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-fog);}
.menu-theme{display:flex;align-items:center;gap:var(--s2);}
.menu-theme .lbl{font-family:var(--data);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-fog);}
.menu-watermark{display:none;}
@media(min-width:768px){
  .nav-action{display:inline-flex;}
  .sun.toggle-desktop{display:grid;}
  .nav-in{padding-block:var(--s4);}
}
@media(min-width:900px){
  dialog.menu{padding:clamp(32px,5vw,64px) clamp(40px,6vw,88px);}
  .menu-top{padding-bottom:var(--s12);}
  .menu-layout{flex-direction:row-reverse;align-items:flex-start;justify-content:flex-start;gap:clamp(48px,8vw,128px);}
  .menu-primary{text-align:right;gap:var(--s1);min-width:330px;}
  .menu-primary a{font-size:clamp(40px,3.8vw,58px);line-height:1.13;margin-left:auto;}
  .menu-meta{padding-top:var(--s2);min-width:210px;}
  .menu-secondary{grid-template-columns:1fr;gap:var(--s6);}
  .menu-group{gap:var(--s1);}
  .menu-secondary a,.menu-contact a{font-size:14px;min-height:32px;}
  .menu-contact{border-top:0;padding-top:0;gap:var(--s1);}
  .menu-watermark{display:block;position:absolute;z-index:-1;left:0;bottom:var(--s16);width:min(32vw,400px);opacity:.075;pointer-events:none;user-select:none;}
  .menu-watermark img{width:100%;}
  .menu-watermark .menu-mark-night{display:none;}
  html[data-theme="night"] .menu-watermark .menu-mark-day{display:none;}
  html[data-theme="night"] .menu-watermark .menu-mark-night{display:block;}
  .menu-foot{padding-top:var(--s12);}
}
@media(hover:hover) and (pointer:fine){
  .menu-primary a:hover,.menu-secondary a:hover,.menu-contact a:hover,.nav-action:hover{text-decoration:underline;}
  .menu-close:hover,.sun:hover{color:var(--ink);}
}

/* hover only where hover actually exists */
@media (hover:hover) and (pointer:fine){
  .sun:hover{color:var(--ink);}
  .cta:hover{opacity:.85;}
  .mail:hover{text-decoration-color:var(--ink);}
}

/* ═══════════════════════════════════════════════════════════
   HERO — Row A placement (all breakpoints)
   Copy left · Guilloché aperture right, vertically centered,
   cropped off the right edge. Same crop language on mobile.
   ═══════════════════════════════════════════════════════════ */
.hero{
  position:relative; overflow:hidden; border-top:none;
  min-height:clamp(560px, 88dvh, 820px);
  padding-block:clamp(48px, 10vw, 112px);
  display:flex; align-items:center;
}
.hero-in{position:relative; z-index:1; width:100%;}
.hero-copy{
  position:relative; z-index:1;
  /* Mobile: copy owns the full width; the aperture sits behind the wordmark */
  width:min(36ch, 100%);
}

.mark,.hero-mark-link{
  position:absolute; z-index:0; pointer-events:none; user-select:none;
  /* Mobile = tucked top-right behind the wordmark, cropped off the edge,
     faded so the copy stays readable where it overlaps */
  width:min(62vw, 320px);
  right:-24%;
  top:-8vw;
  opacity:.55;
}
/* The hero uses the same woven-circle engine as the explanatory section. */
.hero-mark-link munus-weave-art{display:block;width:100%;height:100%;pointer-events:none;color:var(--ink);}
.hero-mark-link munus-weave-art svg{display:block;width:100%;height:100%;}
.hero-in.weave-ready > img.mark{visibility:hidden;}
@media (prefers-reduced-motion:reduce){.hero-mark-link munus-weave-art{display:none}.hero-in.weave-ready > img.mark{visibility:visible}}
/* The anchor must have the same square hit area as the rendered SVG. */
.hero-mark-link{display:block;aspect-ratio:1 / 1;height:auto;z-index:2;pointer-events:auto;cursor:pointer;opacity:1;}
.hero-mark-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px;}
#meaning-of-the-mark{scroll-margin-top:88px;}
html[data-theme="day"]   .mark-night{display:none;}
html[data-theme="night"] .mark-day{display:none;}

.lexwm{
  font-weight:800; font-size:var(--t-h1); line-height:.95;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink); margin-bottom:var(--s6);
}
.defline{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.1em;
  text-transform:uppercase; color:var(--slate-fog); margin-bottom:var(--s6);
}
.defline .sep{margin-inline:var(--s2); opacity:.5;}
.defline .k{color:var(--muted);}
.plural{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.1em;
  text-transform:uppercase; color:var(--slate-fog); margin-bottom:var(--s6);
}
.lexrule{height:1px; background:var(--ink); width:min(60%,220px); margin-bottom:var(--s6);}
.def{
  font-family:var(--ui); font-size:clamp(17px, 2.4vw, 22px); line-height:1.6;
  max-width:68ch; color:var(--ink); margin-bottom:var(--s3);
}
.def em{font-style:italic; color:var(--muted);}
.lexsub{
  font-family:var(--ui); font-size:var(--t-body); line-height:1.7;
  color:var(--slate-fog); max-width:76ch; margin-bottom:var(--s12);
}

/* Honor editorial line breaks on wide desktops; allow natural wraps elsewhere. */
.hero-line-break{display:none;}
@media (min-width:1450px){
  .hero-copy{width:min(1080px, calc(100% - 220px));}
  .def,.lexsub{max-width:none;}
  .hero-line-break{display:initial;}
  /* Keep the ornament high and beyond the reading column on wide screens. */
  .mark,.hero-mark-link{width:min(260px, 18vw); right:calc((min(100vw, var(--maxw)) - 100vw)/2 - 6vw); top:0; translate:none;}
}

/* The existing Research headline style, scaled for the first screen. */
.hero-promise{font-family:var(--disp);font-size:clamp(27px,3vw,42px);font-weight:700;line-height:1.13;letter-spacing:-.025em;color:var(--ink);max-width:24ch;margin-bottom:var(--s5);}
.hero-promise em{font-style:italic;color:var(--brass);}
.hero-what{font-family:var(--ui);font-size:var(--t-body);line-height:1.65;color:var(--muted);max-width:67ch;margin-bottom:var(--s6);}

/* Hero type hierarchy uses a 4px spacing rhythm; individual blocks own their spacing. */
.hero-copy .hero-promise{margin-bottom:24px;}
.hero-copy .hero-support{font-size:clamp(17px,2vw,20px);line-height:1.65;margin-bottom:24px;max-width:70ch;}
.hero-copy .hero-what{margin-bottom:32px;}
.hero-copy .lexsub{margin-bottom:40px;}
@media(max-width:639px){
  .hero-copy .hero-promise{margin-bottom:16px;}
  .hero-copy .hero-support{margin-bottom:20px;}
  .hero-copy .hero-what{margin-bottom:24px;}
  .hero-copy .lexsub{margin-bottom:32px;}
}

/* Meaning of the mark page. */
.mark-meaning-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px)}
.mark-meaning-art img{display:block;width:100%;height:auto;max-width:620px}
.mark-meaning-copy h2{font-family:var(--disp);font-size:clamp(30px,3.8vw,48px);line-height:1.14;letter-spacing:-.025em}
.mark-meaning-copy p{font-family:var(--ui);font-size:var(--t-body);line-height:1.75;color:var(--slate-fog);margin-top:var(--s5)}
@media(max-width:780px){.mark-meaning-grid{grid-template-columns:1fr}.mark-meaning-art img{max-width:400px;margin:auto}.mark-meaning-copy{padding-top:var(--s5)}}

munus-weave-art{display:block;max-width:650px;color:var(--ink);font-family:var(--ui)}
munus-weave-art svg{display:block;width:100%;height:auto;touch-action:pan-y}
.weave-instruction{font-family:var(--data);font-size:11px;text-align:center;letter-spacing:.1em;color:var(--slate-fog)}
.weave-controls{border-top:1px solid var(--fog-ambient);margin-top:var(--s5);padding-top:var(--s3)}
.weave-controls label{display:block;font-size:12px;margin-top:var(--s3)}
.weave-controls output{float:right}
.weave-controls input{display:block;width:100%;accent-color:var(--ink);margin-top:var(--s2)}
.weave-controls p{font-size:12px;color:var(--slate-fog);line-height:1.5;margin-top:var(--s3)}

/* CTA — full-width thumb target on mobile, inline on desktop */
.cta{
  display:block; width:100%; min-height:52px;
  font-family:var(--disp); font-weight:600; font-size:16px;
  background:var(--ink); color:var(--plaster); border:1px solid var(--ink);
  border-radius:999px; text-decoration:none; text-align:center;
  padding:var(--s4) var(--s8);
  transition:opacity .2s;
}
/* Coming to the App Store — informational mark, never a store link */
.store-mark{
  display:inline-flex; align-items:center; gap:var(--s2);
  margin-top:var(--s4); margin-left:var(--s4);
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.16em;
  text-transform:uppercase; color:var(--slate-fog);
  border:1px solid var(--fog-ambient); padding:var(--s2) var(--s3);
  white-space:nowrap;
}
.store-mark svg{width:14px; height:14px; flex-shrink:0;}
@media (max-width:767px){.store-mark{margin-left:0;}}
/* Treat the CTA and store label as a matched-height desktop pair. */
@media (min-width:768px){
  .hero-copy .cta,.hero-copy .store-mark{height:56px;min-height:56px;box-sizing:border-box;vertical-align:middle;}
  .hero-copy .cta{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s8);}
  .hero-copy .store-mark{margin-top:0;margin-left:var(--s4);padding:0 var(--s3);}
}


.founding{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.16em;
  text-transform:uppercase; color:var(--slate-fog);
  margin-top:var(--s6); text-align:left; line-height:1.7;
}
.founding a{
  color:var(--ink); text-decoration:underline; text-decoration-color:var(--fog-ambient);
  text-underline-offset:3px;
}
@media (hover:hover) and (pointer:fine){
  .founding a:hover{text-decoration-color:var(--ink);}
}

@media (min-width:640px){
  .hero-copy{width:min(900px, 82%);}
  .mark,.hero-mark-link{width:min(100vw, 680px); right:-28%; top:50%; translate:0 -50%; opacity:1;}
}
@media (min-width:768px){
  .cta{display:inline-block; width:auto;}
  .mark,.hero-mark-link{width:min(88vw, 720px); right:-18%;}
}
@media (min-width:1024px){
  .hero{min-height:clamp(640px, 86vh, 900px);}
  .hero-in{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); align-items:center; gap:var(--s16);}
  .hero-copy{grid-column:1 / -1; width:min(850px, 70%); max-width:none;}
  .mark,.hero-mark-link{
    width:min(350px, 29vw);
    right:-8%;
    top:50%;
    translate:0 -50%;
  }
  .lexwm{letter-spacing:.12em;}
}
@media (min-width:1280px){
  /* .mark is anchored to the max-width wrap; keep the 8vw bleed
     off the actual viewport edge once the wrap stops growing */
  .mark,.hero-mark-link{width:min(390px, 27vw); right:calc((min(100vw, var(--maxw)) - 100vw)/2 - 3vw);}
}

/* Align the first hero wordmark with the top rhythm of the page, rather than
   centering a long copy block vertically in a tall hero. */
@media (min-width:768px){
  .hero{align-items:flex-start;min-height:0;padding-top:clamp(32px,4vw,64px);padding-bottom:clamp(64px,8vw,112px);}
}

/* Responsive editorial hero: artwork stays above the reading area, never beside
   long lines. Keep exact approved breaks on desktops, natural wrapping on mobile. */
@media (min-width:640px){
  .hero-in .mark,.hero-in .hero-mark-link{
    width:clamp(280px, 45vw, 620px);
    top:50%; right:-30%; translate:0 -50%; opacity:1;
  }
}
@media (min-width:1100px){
  .hero-in{display:block;}
  .hero-copy{width:100%; max-width:1100px;}
  .hero-copy .def,.hero-copy .lexsub{max-width:none;}
  .hero-line-break{display:initial;}
  .hero-in .mark,.hero-in .hero-mark-link{width:clamp(430px, 47vw, 740px);top:50%;right:-27%;translate:0 -50%;}
}

/* Desktop composition: fluid type and a fully visible, scaled mark.
   Keep the artwork in a reserved right-hand area, not beneath the copy. */
@media (min-width:1100px){
  .hero-in{display:grid;grid-template-columns:minmax(0, 52%) minmax(0, 48%);gap:0;align-items:center;}
  .hero-copy{grid-column:1;width:100%;max-width:none;min-width:0;}
  .hero-copy .lexwm{font-size:clamp(64px,8vw,132px);}
  .hero-copy .hero-promise{font-size:clamp(29px,2.8vw,42px);}
  .hero-copy .hero-support{font-size:clamp(17px,1.55vw,20px);}
  .hero-copy .hero-what,.hero-copy .lexsub{font-size:clamp(14px,1.15vw,17px);}
  .hero-in .mark,.hero-in .hero-mark-link{
    width:clamp(400px,42vw,610px);max-width:none;
    right:-6vw;top:50%;translate:0 -50%;
  }
}
/* ═══════════════════════════════════════════════════════════
   FEATURE GRID — 1 col → 2 col (md) → 3 col (lg)
   ═══════════════════════════════════════════════════════════ */
.strip{display:grid; grid-template-columns:1fr; gap:1px; background:var(--fog-ambient); border:1px solid var(--fog-ambient);}
.cellx{background:var(--plaster); padding:var(--s8) var(--s6); transition:background .4s var(--ease);}
.cellx .n{font-family:var(--data); font-size:var(--t-mono); letter-spacing:.16em; color:var(--slate-fog); margin-bottom:var(--s3);}
.cellx h3{font-weight:700; font-size:var(--t-h3); margin-bottom:var(--s2); color:var(--ink);}
.cellx p{font-family:var(--ui); font-size:var(--t-body); color:var(--muted); line-height:1.6; max-width:44ch;}
@media (min-width:768px){.strip{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.strip{grid-template-columns:repeat(3,1fr);}}

/* ═══════════════════════════════════════════════════════════
   PHONE MOCKUPS
   mobile : horizontal scroll-snap carousel, one at a time
   desktop: laid out in a row
   ═══════════════════════════════════════════════════════════ */
.rail{
  display:grid; grid-auto-flow:column; grid-auto-columns:min(78vw, 300px);
  gap:var(--s6); overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  padding-inline:var(--gutter); margin-inline:calc(var(--gutter) * -1);
  padding-bottom:var(--s4); scrollbar-width:none;
}
.rail::-webkit-scrollbar{display:none;}
.rail > *{scroll-snap-align:center;}
.rail-hint{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.16em;
  text-transform:uppercase; color:var(--slate-fog);
  margin-top:var(--s4); text-align:center;
}
.rail + .rail{margin-top:var(--s12);}

@media (min-width:768px){
  .rail{
    grid-auto-flow:row; grid-template-columns:repeat(2,1fr); grid-auto-columns:auto;
    overflow:visible; padding-inline:0; margin-inline:0; gap:var(--s8);
  }
  .rail-hint{display:none;}
}
@media (min-width:1024px){
  .rail.rail-3{grid-template-columns:repeat(3,1fr);}
  .rail.rail-2{grid-template-columns:repeat(2,1fr); max-width:720px; margin-inline:auto;}
}

.ph{
  --p-bg:var(--plaster); --p-surf:var(--fog-light); --p-line:var(--fog-ambient);
  --p-ink:var(--ink); --p-mute:var(--slate-fog);
  background:#1E2223; border-radius:32px; padding:var(--s2);
  box-shadow:0 26px 54px -26px rgba(0,0,0,.45);
  width:100%; max-width:300px; margin-inline:auto;
}
.ph.force-day{--p-bg:#F5F4F0; --p-surf:#EAEAE6; --p-line:#D2D4CE; --p-ink:#1E2223; --p-mute:#7D8485;}
.ph.force-night{--p-bg:#26282A; --p-surf:#2E3133; --p-line:#43474A; --p-ink:#E4E4E0; --p-mute:#A6ABAC;}

.scr{
  background:var(--p-bg); border-radius:25px;
  /* real iPhone proportions: 390×844 pts ≈ 0.462 — height derives from width */
  aspect-ratio:390/844;
  padding:18px 16px; display:flex; flex-direction:column; overflow:hidden;
  transition:background .4s var(--ease);
}
.sh{display:flex; justify-content:space-between; align-items:center;}
.sh .lg{font-weight:800; letter-spacing:.3em; font-size:10px; text-transform:uppercase; color:var(--p-ink);}
.sh .mo{width:18px; height:18px; border:1px solid var(--p-line); border-radius:50%;}
.srule{height:2px; background:var(--p-ink); margin:9px 0 7px;}
.seb{font-family:var(--data); font-size:7.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--p-mute); display:flex; justify-content:space-between;}

.blk{border:1px solid var(--p-ink); padding:9px 10px; margin-top:8px; background:var(--p-bg);}
.blk .bh{display:flex; justify-content:space-between; align-items:baseline; gap:6px;}
.blk .bt{font-weight:700; font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--p-ink);}
.blk .tg{font-family:var(--data); font-size:6.5px; letter-spacing:.14em; text-transform:uppercase; background:var(--p-ink); color:var(--p-bg); padding:2px 5px; white-space:nowrap;}
.blk .tg.hollow{background:transparent; color:var(--p-mute); border:1px solid var(--p-line);}
.blk .bs{font-family:var(--ui); font-size:8.5px; color:var(--p-mute); margin-top:4px;}
.blk .bs b{color:var(--p-ink); font-weight:500;}
.blk.dash{border-style:dashed; border-color:var(--p-line);}
.blk.faded{opacity:.5;}
.blk.faded .bt{text-decoration:line-through; text-decoration-color:var(--p-mute);}

.steps{margin-top:8px; border-top:1px solid var(--p-line); padding-top:7px;}
.step{display:flex; align-items:center; gap:7px; padding:3.5px 0; font-family:var(--ui); font-size:9px; color:var(--p-ink);}
.step .bx{width:11px; height:11px; border:1.4px solid var(--p-line); border-radius:3px; flex-shrink:0; position:relative;}
.step.on .bx{background:var(--p-ink); border-color:var(--p-ink);}
.step.on .bx::after{content:""; position:absolute; left:3.2px; top:.6px; width:2.6px; height:6px; border:solid var(--p-bg); border-width:0 1.4px 1.4px 0; rotate:42deg;}
.step.on{color:var(--p-mute); text-decoration:line-through; text-decoration-color:var(--p-line);}

.trow{display:grid; grid-template-columns:34px 1fr; align-items:start;}
.trow .tm{font-family:var(--data); font-size:7px; color:var(--p-mute); text-align:right; padding:11px 7px 0 0;}
.trow .cl{border-left:1px solid var(--p-line); padding-left:9px; min-height:30px;}

.otx{background:var(--p-surf); border:1px solid var(--p-line); padding:14px 12px; margin-top:8px; position:relative;}
.otx .l{font-weight:700; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--p-ink);}
.otx .s{font-family:var(--ui); font-size:8.5px; color:var(--p-mute); margin-top:3px;}
.otx .tg{position:absolute; right:9px; top:9px; font-family:var(--data); font-size:6.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--p-mute); border:1px solid var(--p-line); padding:2px 5px; background:var(--p-bg);}

.seg{display:flex; gap:2px; background:var(--p-surf); border:1px solid var(--p-line); border-radius:9px; padding:3px; margin-top:10px;}
.seg span{flex:1; font-family:var(--data); font-size:7px; letter-spacing:.1em; text-transform:uppercase; color:var(--p-mute); text-align:center; padding:6px 2px; border-radius:6px;}
.seg span.on{background:var(--p-bg); color:var(--p-ink);}

.ctr{display:flex; border:1px solid var(--p-line); margin-top:14px;}
.ctr .col{flex:1; padding:16px 12px;}
.ctr .col + .col{border-left:1px solid var(--p-line);}
.ctr .lab{font-family:var(--data); font-size:6.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--p-mute); margin-bottom:6px;}
.ctr .who{font-weight:600; font-size:11px; color:var(--p-ink); line-height:1.35;}
.obh{font-weight:600; font-size:17px; line-height:1.25; color:var(--p-ink); margin-top:16px;}
.obb{font-family:var(--ui); font-size:10px; color:var(--p-mute); line-height:1.6; margin-top:12px;}

.scr.done{padding:0; background:#161819; align-items:center; justify-content:center; gap:9px;}
.scr.done .w{font-weight:800; font-size:40px; color:#F5F4F0;}
.scr.done .wh{font-family:var(--data); font-size:7.5px; letter-spacing:.2em; text-transform:uppercase; color:#7D8485;}

.pnav{border-top:1px solid var(--p-line); display:grid; grid-template-columns:repeat(3,1fr); padding:10px 4px 4px; margin-top:auto;}
.pnav span{font-family:var(--data); font-size:7px; letter-spacing:.16em; text-transform:uppercase; color:var(--p-mute); text-align:center;}
.pnav span.on{color:var(--p-ink);}

.cap{font-family:var(--data); font-size:var(--t-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--slate-fog); text-align:center; margin-top:var(--s4);}
.cap b{display:block; color:var(--ink); font-weight:500; margin-bottom:var(--s1);}

/* Study-tier phone bits — same shell language as household phones */
.blk.classy{border-color:var(--p-line); background:var(--p-surf);}
.blk.offer{border-style:dashed; border-color:var(--p-mute);}
.blk .acts{display:flex; gap:6px; margin-top:8px;}
.blk .acts span{
  flex:1; text-align:center; font-family:var(--data); font-size:6.5px; letter-spacing:.12em;
  text-transform:uppercase; padding:6px 4px; border:1px solid var(--p-line); color:var(--p-ink);
}
.blk .acts span.pri{background:var(--p-ink); color:var(--p-bg); border-color:var(--p-ink);}
.buf{
  border-top:1px solid var(--p-line); border-bottom:1px solid var(--p-line);
  padding:10px 2px; margin-top:8px;
}
.buf .l{font-family:var(--ui); font-size:9px; font-style:italic; color:var(--p-mute);}
.buf .s{font-family:var(--ui); font-size:8px; color:var(--p-mute); margin-top:2px; opacity:.85;}
.study-eyebrow{
  font-family:var(--data); font-size:6.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--p-mute); margin:10px 0 4px;
}
.study-title{font-weight:700; font-size:12px; line-height:1.3; color:var(--p-ink); margin-bottom:4px;}
.study-meta{font-family:var(--data); font-size:6.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--p-mute); margin-bottom:8px;}
.study-body{font-family:var(--ui); font-size:8.5px; color:var(--p-mute); line-height:1.55;}
.study-body b{color:var(--p-ink); font-weight:500;}
.crow{display:flex; justify-content:space-between; align-items:baseline; gap:8px; padding:7px 0; border-bottom:1px solid var(--p-line);}
.crow .cn{font-weight:600; font-size:9.5px; color:var(--p-ink);}
.crow .cm{font-family:var(--ui); font-size:7.5px; color:var(--p-mute); margin-top:2px;}
.crow .ed{font-family:var(--data); font-size:6.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--p-mute);}
.chip{display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:5px; vertical-align:middle; background:var(--tone,#8A957E);}

/* Week phones — time-true grid from ui/munus-week-fullday.html
   School hours condensed · after-school expanded (the psychology) */
.ph{
  --c-la:#B8A4C4; --c-science:#A8C0AE; --c-ss:#A6B0C4; --c-math:#9DB6C4;
  --c-art:#CBA99A; --c-pe:#C7A9B4; --c-adv:#C2C0B4; --c-lunch:#D8D5CC;
  --c-soccer:#A8C0AE;
}
.ph.ph-study{max-width:340px;}
.ph.force-night, html[data-theme="night"] .ph:not(.force-day){
  --c-la:#6E5F79; --c-science:#5E7566; --c-ss:#5C667A; --c-math:#566E7A;
  --c-art:#7E655A; --c-pe:#7B5E68; --c-adv:#6B6A5E; --c-lunch:#3C3F41;
  --c-soccer:#5E7566;
}
.wk-modes{display:flex; gap:12px; margin:6px 0 4px;}
.wk-modes span{
  font-family:var(--data); font-size:8.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--p-mute); padding-bottom:3px;
}
.wk-modes span.on{color:var(--p-ink); border-bottom:1.5px solid var(--p-ink);}
.wk-bar{display:flex; justify-content:space-between; align-items:center; margin-bottom:6px;}
.vseg{display:flex; gap:2px; background:var(--p-surf); border:1px solid var(--p-line); border-radius:8px; padding:2px;}
.vseg span{
  font-family:var(--data); font-size:8px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--p-mute); padding:5px 10px; border-radius:6px;
}
.vseg span.on{background:var(--p-bg); color:var(--p-ink);}
.wk-hint{font-family:var(--data); font-size:7px; letter-spacing:.1em; text-transform:uppercase; color:var(--p-mute);}

/* Time-true week grid */
.tt{flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden;}
.tt-dayhds{
  display:grid; grid-template-columns:26px repeat(5,1fr); gap:2px;
  padding-bottom:4px; border-bottom:1px solid var(--p-line); flex-shrink:0;
}
.tt-dayhds .dh{
  font-family:var(--data); font-size:7px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--p-mute); text-align:center;
}
.tt-dayhds .dh.today{color:var(--p-ink); font-weight:500;}
.tt-dayhds .dh .d{display:block; font-size:9px; color:var(--p-ink);}
.tt-body{flex:1; display:grid; grid-template-columns:26px 1fr; overflow-y:auto; position:relative; min-height:0;}
.tt-gut{position:relative;}
.tt-gut .tl{
  position:absolute; right:3px; transform:translateY(-50%);
  font-family:var(--data); font-size:6.5px; color:var(--p-mute); letter-spacing:.02em;
}
.tt-gut .tl.hr{font-size:7px;}
.tt-cols{display:grid; grid-template-columns:repeat(5,1fr); gap:2px; position:relative;}
.tt-col{position:relative;}
.tt .gl{position:absolute; left:0; right:0; height:1px; background:var(--p-line); pointer-events:none; opacity:.55;}
.tt .gl.hr{opacity:.9;}
.tt .gl.split{height:2px; background:var(--p-ink); opacity:.22;}
.tt .ev{
  position:absolute; left:1px; right:1px; border-radius:2.5px; padding:2.5px 3px; overflow:hidden;
}
.tt .ev .nm{font-weight:700; font-size:6.5px; line-height:1.1; color:var(--p-ink);}
.tt .ev .tm{font-family:var(--data); font-size:5.4px; color:var(--p-mute); margin-top:1px;}
.tt .ev.open{background:transparent;}
.tt .ev.open .nm{color:var(--p-mute); font-weight:400; font-size:6px;}
.tt .ev.dinner{background:var(--p-surf); border:1px solid var(--p-line);}
.tt .ev.dinner .nm{font-weight:600;}
.tt .ev.walkb, .tt .ev.projb, .tt .ev.studyb{background:var(--p-bg); border:1px solid var(--p-ink);}
.tt .ev.studyb{border-style:dashed;}
.tt .ev.actb{background:transparent; border:1.5px solid var(--c-soccer);}
.tt .ev.bufferb{background:var(--p-surf); border:1px dashed var(--p-line);}
.tt .ev.bufferb .nm{color:var(--p-mute); font-weight:500; font-size:6px;}
.tt .ev.done{opacity:.48;}
.tt .ev.done .nm{text-decoration:line-through; text-decoration-color:var(--p-mute);}
.tt .ev .chk2{
  position:absolute; top:2px; right:2px; width:7px; height:7px;
  border:1.2px solid var(--p-line); border-radius:2px; background:var(--p-bg);
}
.tt .ev.done .chk2{background:var(--p-ink); border-color:var(--p-ink);}

/* Week list — match fullday mock, scrollable */
.wk-list{
  flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch;
  display:flex; flex-direction:column; gap:9px; padding:2px 0 4px;
  scrollbar-width:none;
}
.wk-list::-webkit-scrollbar{display:none;}
.wk-list .lday .lh{
  display:flex; justify-content:space-between; align-items:baseline; gap:6px;
  padding-bottom:4px; border-bottom:1px solid var(--p-line); margin-bottom:5px;
}
.wk-list .lday .lh .d{
  font-family:var(--data); font-size:9px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--p-ink); font-weight:500;
}
.wk-list .lday .lh .d.today::after{content:" · Today"; color:var(--p-mute); font-weight:400;}
.wk-list .lday .lh .free{
  font-family:var(--data); font-size:7.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--p-mute); text-align:right; max-width:14ch;
}
.wk-list .li{
  display:grid; grid-template-columns:12px 34px 1fr auto; align-items:center; gap:6px;
  padding:3.5px 0;
}
.wk-list .li .box{
  width:11px; height:11px; border:1.3px solid var(--p-line); border-radius:3px; background:var(--p-bg);
  position:relative;
}
.wk-list .li .box.none{border:none; background:transparent;}
.wk-list .li.done .box{background:var(--p-ink); border-color:var(--p-ink);}
.wk-list .li.done .box::after{
  content:""; position:absolute; left:3px; top:.5px; width:2.6px; height:5.5px;
  border:solid var(--p-bg); border-width:0 1.3px 1.3px 0; transform:rotate(42deg);
}
.wk-list .li .t{font-family:var(--data); font-size:8px; color:var(--p-mute);}
.wk-list .li .what{font-family:var(--ui); font-size:10px; color:var(--p-ink); line-height:1.25;}
.wk-list .li .what b{
  font-family:var(--disp); font-weight:700; font-size:9px; letter-spacing:.03em; text-transform:uppercase;
}
.wk-list .li.done .what, .wk-list .li.done .what b{
  text-decoration:line-through; text-decoration-color:var(--p-mute); color:var(--p-mute);
}
.wk-list .li .tag{
  font-family:var(--data); font-size:6.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--p-mute); border:1px solid var(--p-line); padding:2px 5px; white-space:nowrap;
}
.wk-list .li .tag.solid{background:var(--p-ink); color:var(--p-bg); border-color:var(--p-ink);}
.wk-list .li.faded .what{color:var(--p-mute);}
.wk-list .li .dotc{width:8px; height:8px; border-radius:2px; border:1.5px solid var(--c-soccer); background:transparent;}

.study-split{
  display:grid; grid-template-columns:1fr; gap:var(--s12); align-items:start;
  margin-bottom:var(--s12);
}
@media (min-width:900px){
  .study-split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:var(--s16);}
}
.study-copy .lede{margin-bottom:var(--s8);}
.study-rail{margin-top:0;}
@media (min-width:1024px){
  .study-rail.rail-3{max-width:none;}
  .study-rail .ph-study{max-width:360px;}
}

/* ═══════════════════════════════════════════════════════════
   THE CONTRACT
   ═══════════════════════════════════════════════════════════ */
.contract-row{display:grid; grid-template-columns:1fr; gap:var(--s12);}
@media (min-width:1024px){
  .contract-row{grid-template-columns:290px minmax(0,1fr); gap:var(--s16); align-items:start;}
}
.never{display:grid; grid-template-columns:1fr; gap:1px; background:var(--fog-ambient); border:1px solid var(--fog-ambient);}
@media (min-width:640px){.never{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.never{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1280px){.never{grid-template-columns:repeat(3,1fr);}}
.nv{background:var(--plaster); padding:var(--s6); transition:background .4s var(--ease);}
.nv .x{font-family:var(--data); font-size:12px; color:var(--slate-fog); margin-bottom:var(--s2);}
.nv p{font-family:var(--ui); font-size:var(--t-body); color:var(--muted); line-height:1.55;}
.nv b{color:var(--ink); font-weight:500;}

/* ═══════════════════════════════════════════════════════════
   PRICING — two equal-height tier cards
   ═══════════════════════════════════════════════════════════ */
.pricing-grid{
  display:grid; grid-template-columns:1fr; gap:var(--s6);
  align-items:stretch; margin-bottom:var(--s8);
}
@media (min-width:768px){.pricing-grid{grid-template-columns:repeat(2,1fr);}}
.pricing-card{
  border:1px solid var(--fog-ambient); background:var(--plaster); overflow:hidden;
  display:grid; grid-template-rows:1fr auto auto; height:100%;
}
.pricing-card-head{padding:var(--s8) var(--s6) var(--s6); border-bottom:1px solid var(--fog-ambient);}
.pricing-card-head .tn{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.18em;
  text-transform:uppercase; color:var(--slate-fog); display:block; margin-bottom:var(--s3);
}
.pricing-card-head .name{font-weight:700; font-size:clamp(24px,2.6vw,26px); color:var(--ink); margin-bottom:var(--s2);}
.pricing-card-head .desc{font-family:var(--ui); font-size:14px; color:var(--muted); line-height:1.5;}
.pricing-card-rates{display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--fog-ambient);}
.pricing-card-rates .rate{padding:var(--s6);}
.pricing-card-rates .rate + .rate{border-left:1px solid var(--fog-ambient);}
.pricing-card-rates .lbl{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.14em;
  text-transform:uppercase; color:var(--slate-fog); display:block; margin-bottom:var(--s2);
}
.pricing-card-rates .amt{font-weight:700; font-size:clamp(24px,2.8vw,28px); color:var(--ink); line-height:1;}
.pricing-card-rates .sub{font-family:var(--ui); font-size:12px; color:var(--muted); margin-top:var(--s1);}
.pricing-card-founding{padding:var(--s6); background:var(--ink); color:var(--plaster);}
html[data-theme="night"] .pricing-card-founding{background:#0E0E0E;}
.pricing-card-founding .lbl{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.14em;
  text-transform:uppercase; color:var(--brass); display:block; margin-bottom:var(--s2);
}
.pricing-card-founding .row{display:flex; align-items:baseline; gap:var(--s3); margin-bottom:var(--s3); flex-wrap:wrap;}
.pricing-card-founding .amt{font-weight:700; font-size:clamp(28px,3vw,32px); color:var(--brass); line-height:1;}
.pricing-card-founding .avail{font-family:var(--ui); font-size:13px; color:var(--slate-fog);}
.pricing-card-founding .note{font-family:var(--ui); font-size:12px; color:var(--slate-fog); line-height:1.6;}
.pricing-context{
  border-top:1px solid var(--fog-ambient); padding-top:var(--s8);
  display:flex; gap:var(--s12); flex-wrap:wrap;
}
.pricing-context .blk{flex:1; min-width:min(100%, 280px);}
.pricing-context .lbl{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.14em;
  text-transform:uppercase; color:var(--slate-fog); display:block; margin-bottom:var(--s2);
}
.pricing-context p{font-family:var(--ui); font-size:14px; color:var(--muted); line-height:1.55;}
.pricing-asterisk{
  font-family:var(--ui); font-size:13px; color:var(--muted); line-height:1.55;
  margin-top:var(--s6); max-width:68ch;
}
.fineprint{font-family:var(--ui); font-size:14px; color:var(--muted); max-width:68ch; margin-top:var(--s8);}

/* ═══════════════════════════════════════════════════════════
   RESEARCH TEASER — copy left, proof right, CTA like hero
   ═══════════════════════════════════════════════════════════ */
.research-split{
  display:grid; grid-template-columns:1fr; gap:var(--s12); align-items:start;
}
@media (min-width:900px){
  .research-split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:var(--s16);}
}
.research-copy .lede{margin-bottom:var(--s8);}
.research-kicker{
  font-family:var(--disp); font-weight:700; font-size:var(--t-h3);
  color:var(--ink); margin-bottom:var(--s4); max-width:48ch;
}
.research-sub{
  font-family:var(--ui); font-size:var(--t-body); line-height:1.7;
  color:var(--slate-fog); max-width:36ch; margin-top:var(--s6);
}
.research-proof{
  display:grid; grid-template-columns:1fr; gap:1px;
  background:var(--fog-ambient); border:1px solid var(--fog-ambient);
}
.research-stat{
  background:var(--plaster); padding:var(--s6) var(--s6);
  transition:background .4s var(--ease);
}
.research-stat .n{
  font-family:var(--data); font-weight:500; font-size:clamp(28px,4vw,36px);
  letter-spacing:-.02em; color:var(--ink); line-height:1; margin-bottom:var(--s3);
}
.research-stat p{
  font-family:var(--ui); font-size:var(--t-body); color:var(--muted); line-height:1.5;
  max-width:36ch; margin-bottom:var(--s2);
}
.research-stat .src{
  font-family:var(--data); font-size:var(--t-mono); letter-spacing:.12em;
  text-transform:uppercase; color:var(--slate-fog);
}

/* ═══════════════════════════════════════════════════════════
   LEGAL
   ═══════════════════════════════════════════════════════════ */
.legal{font-family:var(--ui); font-weight:400; color:var(--muted); font-size:var(--t-body); max-width:68ch;}
.legal h3,.info-page .legal h2{font-family:var(--disp); font-weight:700; font-size:var(--t-h3); color:var(--ink); margin:var(--s8) 0 var(--s2);}
.legal p{margin-bottom:var(--s3);}
.legal ul{margin:0 0 var(--s3) var(--s6);}
.legal li{margin-bottom:var(--s2);}
.legal b{color:var(--ink); font-weight:500;}
.legal .upd{font-family:var(--data); font-size:var(--t-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--slate-fog); margin-bottom:var(--s6);}
.mail{position:relative; color:var(--ink); text-decoration:underline; text-decoration-color:var(--fog-ambient); text-underline-offset:3px;}
.mail::after{content:""; position:absolute; inset:-14px -6px;}   /* ≥44px hit area, zero layout cost */

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
footer{padding-block:var(--section-y); border-top:1px solid var(--ink); text-align:center;}
footer .fw{font-weight:800; letter-spacing:.32em; font-size:18px; text-transform:uppercase; margin-bottom:var(--s2); color:var(--ink);}
footer .ft{font-family:var(--data); font-size:var(--t-mono); letter-spacing:.2em; text-transform:uppercase; color:var(--slate-fog);}
footer .fl{font-family:var(--ui); font-size:13px; color:var(--slate-fog); margin-top:var(--s6); line-height:2.2;}
footer .fl a{display:inline-block; padding:var(--s2) var(--s3); min-height:44px; line-height:28px;}

/* Founding cohort waitlist */
.waitlist-card{
  border:1px solid var(--fog-ambient);
  background:var(--fog-light);
  padding:clamp(24px,5vw,56px);
  max-width:900px;
}
.waitlist-card h2{max-width:12ch;}
.waitlist-form{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;
  gap:var(--s3);
  align-items:stretch;
  margin-top:var(--s8);
}
.waitlist-form input,
.waitlist-form select{
  width:100%;
  min-height:52px;
  border:1px solid var(--fog-ambient);
  border-radius:0;
  background:var(--plaster);
  color:var(--ink);
  font-family:var(--ui);
  font-size:16px;
  padding:0 var(--s4);
}
.waitlist-form button{
  min-height:52px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--plaster);
  padding:0 var(--s6);
  font-family:var(--data);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}
.waitlist-form button:hover{opacity:.82;}
.waitlist-fine,
.waitlist-success{
  margin-top:var(--s4);
  font-family:var(--data);
  font-size:11px;
  color:var(--slate-fog);
}
.waitlist-success{color:var(--ink);}
.waitlist-hp{position:absolute;left:-9999px;}
@media(max-width:760px){
  .waitlist-form{grid-template-columns:1fr;}
  .waitlist-form button{width:100%;}
}

/* Standalone information pages use the same site design and navigation. */
.page-back{padding-top:var(--s8);}
.page-back a{font-family:var(--data);font-size:var(--t-mono);letter-spacing:.1em;color:var(--muted);text-underline-offset:4px;}
section.info-page{border-top:0;padding-top:var(--s12);}
.page-title{font-size:var(--t-h2);font-weight:700;line-height:1.12;letter-spacing:-.015em;color:var(--ink);margin-bottom:var(--s6);text-wrap:balance;}
.info-page .legal{max-width:76ch;}

