/* ==========================================================================
   Maya — maya.li landing
   The site IS Maya's surfaces, on the web. Warm paper + ink, strict mono,
   8 persona tints, hairline-framed panels, lantern 28 radius, one easing.
   Dense and full like the app — never empty. No background art, no wordmark.
   Source of truth: ../Maya/DESIGN.md (written from src/ui + src/theme).
   ========================================================================== */

@font-face { font-family:"Onest"; src:url("./fonts/Onest-Medium.ttf")    format("truetype"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Onest"; src:url("./fonts/Onest-Bold.ttf")      format("truetype"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Onest"; src:url("./fonts/Onest-ExtraBold.ttf") format("truetype"); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:"Onest"; src:url("./fonts/Onest-Black.ttf")     format("truetype"); font-weight:900; font-style:normal; font-display:swap; }

/* ---- Tokens (light) — from src/theme/tokens.ts ------------------------- */
:root{
  --paper:#FBF9F5; --sunken:#F2EFE8; --ink:#1C1B1F; --muted:#5C5A5F;
  --subtle:#908E92; --hairline:#E5E1D9; --on-ink:#FBF9F5;
  --danger:#9A1F1F; --restore:#3D6B4A;
  /* persona tints — light */
  --t-terracotta:#E0B59C; --t-dusk:#C8B5C5; --t-sage:#C6D2BE;
  --t-rose:#DCB5B6; --t-slate:#B6BCC6; --t-amber:#DEC383;

  --settle:cubic-bezier(0.25,1,0.5,1);
  --r-card:24px; --r-lantern:28px; --r-pill:999px;
  --gutter:clamp(20px,5vw,56px);
  --maxw:1080px;
  --header-h:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --paper:#18140F; --sunken:#221E18; --ink:#F2EFE8; --muted:#B0ABA4;
  --subtle:#7A7670; --hairline:#2A2620; --on-ink:#18140F; --danger:#E66666; --restore:#7FB488;
  --t-terracotta:#6A4A37; --t-dusk:#574C56; --t-sage:#3F4F3D;
  --t-rose:#65484B; --t-slate:#454A55; --t-amber:#615034;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#18140F; --sunken:#221E18; --ink:#F2EFE8; --muted:#B0ABA4;
  --subtle:#7A7670; --hairline:#2A2620; --on-ink:#18140F; --danger:#E66666; --restore:#7FB488;
  --t-terracotta:#6A4A37; --t-dusk:#574C56; --t-sage:#3F4F3D;
  --t-rose:#65484B; --t-slate:#454A55; --t-amber:#615034;
  color-scheme:dark;
}
:root[data-theme="light"]{ color-scheme:light; }

/* ---- Reset -------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:hidden; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Onest",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  font-weight:500; line-height:1.5;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  transition:background-color .35s var(--settle), color .35s var(--settle);
}
h1,h2,h3,p,ul{ margin:0; } ul{ padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; } button{ font:inherit; color:inherit; }
::selection{ background:var(--ink); color:var(--paper); }
:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; border-radius:6px; }
.email-input:focus-visible{ outline:none; }
.skip-link{ position:absolute; left:-9999px; top:8px; z-index:100; background:var(--ink); color:var(--on-ink); padding:10px 16px; border-radius:var(--r-pill); font-weight:700; }
.skip-link:focus{ left:16px; }

/* ---- Type --------------------------------------------------------------- */
.eyebrow{ font-weight:700; font-size:0.72rem; line-height:1.4; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--subtle); }
.hero-title{ font-weight:900; font-size:clamp(2.8rem,6vw,4.6rem); line-height:0.98;
  letter-spacing:-0.04em; padding-top:4px; }
.section-title{ font-weight:800; font-size:clamp(1.9rem,3.4vw,2.9rem); line-height:1.06;
  letter-spacing:-0.03em; }

/* ---- Header — no wordmark ---------------------------------------------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:50; height:var(--header-h);
  display:flex; align-items:center; justify-content:flex-end;
  padding:0 var(--gutter);
  background:color-mix(in srgb, var(--paper) 78%, transparent);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--settle), background-color .35s var(--settle);
}
.site-header.scrolled{ border-bottom-color:var(--hairline); }
.header-nav{ display:flex; align-items:center; gap:clamp(14px,2vw,24px); }
.nav-link{ font-weight:700; font-size:0.92rem; color:var(--muted); transition:color .2s var(--settle); }
.nav-link:hover{ color:var(--ink); }
.nav-cta{ font-weight:700; font-size:0.9rem; padding:9px 18px; border-radius:var(--r-pill);
  background:var(--ink); color:var(--on-ink); transition:transform .16s var(--settle), opacity .2s var(--settle); }
.nav-cta:hover{ opacity:.9; } .nav-cta:active{ transform:scale(0.97); }
.theme-toggle{ width:42px; height:42px; flex:none; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--hairline); background:var(--sunken); border-radius:var(--r-pill); cursor:pointer;
  transition:transform .16s var(--settle); }
.theme-toggle:active{ transform:scale(0.92); }
.theme-toggle svg{ width:18px; height:18px; }
.t-sun{ stroke:var(--ink); stroke-width:1.7; fill:none; stroke-linecap:round; display:none; }
.t-moon{ fill:var(--ink); display:block; }
:root[data-theme="dark"] .t-sun{ display:block; } :root[data-theme="dark"] .t-moon{ display:none; }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .t-sun{ display:block; } :root:not([data-theme="light"]) .t-moon{ display:none; } }

/* ---- Buttons ------------------------------------------------------------ */
.btn{ display:inline-flex; align-items:center; justify-content:center; height:60px; padding:0 30px;
  border:0; border-radius:var(--r-lantern); cursor:pointer; font-weight:700; font-size:1rem; letter-spacing:-0.01em;
  transition:transform .16s var(--settle), opacity .2s var(--settle); }
.btn-primary{ background:var(--ink); color:var(--on-ink); }
.btn-primary:hover{ opacity:.92; } .btn-primary:active{ transform:scale(0.985); }

/* ---- Section frame ------------------------------------------------------ */
main{ position:relative; }
.hero, .section{ padding-left:var(--gutter); padding-right:var(--gutter); }
.hero{ padding-top:calc(var(--header-h) + clamp(36px,8vh,90px)); padding-bottom:clamp(40px,8vh,80px); }
.section{ padding-top:clamp(56px,9vh,110px); padding-bottom:clamp(56px,9vh,110px); }

.hero-grid, .section-grid{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,80px);
  align-items:center;
}
.section.reverse .section-grid{ direction:rtl; } /* flip columns; reset content dir below */
.section.reverse .section-copy, .section.reverse .surface{ direction:ltr; }

.hero-copy{ max-width:30ch; }
.hero-title{ margin-top:clamp(16px,3vh,26px); }
.hero-sub{ margin-top:clamp(18px,3vh,26px); color:var(--muted); font-size:clamp(1.04rem,1.5vw,1.2rem); line-height:1.6; max-width:34ch; }
.hero-actions{ margin-top:clamp(24px,4vh,34px); display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hero-note{ color:var(--subtle); font-size:0.86rem; }

.section-copy .eyebrow{ margin-bottom:14px; }
.section-copy .section-title{ max-width:16ch; }
.section-text{ margin-top:clamp(16px,2.4vh,24px); color:var(--muted); font-size:clamp(1.02rem,1.4vw,1.16rem); line-height:1.62; max-width:42ch; }

/* ---- Surface panel (a Maya screen) ------------------------------------- */
.surface{
  background:var(--paper); border:1px solid var(--hairline);
  border-radius:var(--r-card); padding:clamp(18px,2vw,26px);
  width:100%; max-width:480px; justify-self:center;
}

/* chat surface */
.bubble{ background:var(--sunken); border-radius:20px; padding:16px 18px; }
.bubble-eyebrow{ font-weight:700; font-size:0.66rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--subtle); margin-bottom:7px; }
.bubble-text{ font-size:1.02rem; line-height:1.5; }
.pill{ margin-top:16px; height:60px; display:flex; align-items:center; gap:14px; padding:0 8px 0 22px;
  background:var(--sunken); border:1px solid var(--hairline); border-radius:var(--r-lantern); }
.pill-static .pill-placeholder{ flex:1; color:var(--subtle); font-size:0.98rem; }
.pill .email-input{ flex:1; min-width:0; height:100%; border:0; background:transparent; outline:none;
  font-family:inherit; font-weight:500; font-size:1rem; color:var(--ink); }
.pill .email-input::placeholder{ color:var(--subtle); }
.send{ width:38px; height:38px; flex:none; border:0; cursor:pointer; border-radius:50%; background:var(--ink);
  display:inline-flex; align-items:center; justify-content:center; transition:transform .16s var(--settle), opacity .2s var(--settle); }
.send:hover{ opacity:.92; } .send:active{ transform:scale(0.92); } .send svg{ width:20px; height:20px; }
.send.busy{ opacity:.5; pointer-events:none; }

/* persona dots */
.pdot{ width:44px; height:44px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:16px; color:var(--ink); }
.pdot.big{ width:54px; height:54px; font-size:20px; }
.pdot.self{ background:var(--ink); color:var(--on-ink); }
.pdot.terracotta{ background:var(--t-terracotta); } .pdot.dusk{ background:var(--t-dusk); }
.pdot.sage{ background:var(--t-sage); } .pdot.rose{ background:var(--t-rose); }
.pdot.slate{ background:var(--t-slate); } .pdot.amber{ background:var(--t-amber); }

/* people list */
.people{ border-top:1px solid var(--hairline); }
.prow{ display:flex; align-items:center; gap:14px; padding:12px 2px; border-bottom:1px solid var(--hairline); }
.ptext{ display:flex; flex-direction:column; min-width:0; }
.pname{ font-weight:700; font-size:1.15rem; line-height:1.3; letter-spacing:-0.01em; }
.pmeta{ font-weight:500; font-size:0.8rem; color:var(--subtle); margin-top:1px; }

/* profile surface */
.phead{ display:flex; align-items:center; gap:14px; padding-bottom:18px; border-bottom:1px solid var(--hairline); }
.pblock{ margin-top:18px; } .pblock .eyebrow{ margin-bottom:9px; }
.pcard{ background:var(--sunken); border-radius:18px; padding:15px 17px; }
.pcard-text{ font-size:0.98rem; line-height:1.5; }
.ocean{ display:flex; flex-direction:column; gap:11px; }
.trait{ display:grid; grid-template-columns:1fr; gap:6px; }
.tl{ font-weight:700; font-size:0.82rem; color:var(--muted); }
.track{ height:6px; border-radius:999px; background:color-mix(in srgb, var(--ink) 10%, transparent); overflow:hidden; }
.track i{ display:block; height:100%; background:var(--ink); border-radius:999px; }
.rhythm .rbars{ display:flex; align-items:flex-end; gap:3px; height:56px; }
.rhythm .rbars i{ flex:1; min-width:0; min-height:5px; background:color-mix(in srgb, var(--ink) 24%, transparent); border-radius:2px; }
.rhythm .rbars i.hi{ background:var(--ink); }
.rcap{ margin-top:12px; font-size:0.82rem; color:var(--subtle); }

/* privacy surface — status rows + toggles */
.privacy-card .status-row{ display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:15px 2px; border-bottom:1px solid var(--hairline); }
.privacy-card .status-row:last-child{ border-bottom:0; }
.status-text{ display:flex; flex-direction:column; }
.status-eyebrow{ font-weight:700; font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--subtle); }
.status-state{ font-weight:700; font-size:1.05rem; margin-top:3px; }
.toggle{ width:52px; height:32px; border-radius:16px; flex:none; position:relative; }
.toggle i{ position:absolute; top:3px; width:26px; height:26px; border-radius:13px; background:var(--paper); }
.toggle.on{ background:var(--ink); } .toggle.on i{ left:23px; }
.toggle.off{ background:var(--hairline); } .toggle.off i{ left:3px; }

/* ---- Plans -------------------------------------------------------------- */
.plans{ max-width:var(--maxw); margin:0 auto; padding:clamp(60px,9vh,120px) var(--gutter); text-align:center; }
.plans-head{ max-width:30ch; margin:0 auto clamp(40px,7vh,72px); }
.plans-head .eyebrow{ margin-bottom:14px; }
.plan-grid{ display:grid; gap:18px; grid-template-columns:repeat(3,1fr); text-align:left; }
.plan{ position:relative; display:flex; flex-direction:column; padding:clamp(24px,2.2vw,32px);
  background:var(--sunken); border:1px solid var(--hairline); border-radius:var(--r-lantern); }
.plan-featured{ background:var(--ink); color:var(--on-ink); border-color:var(--ink); }
.plan-featured .plan-tag, .plan-featured .per{ color:color-mix(in srgb, var(--on-ink) 72%, transparent); }
.plan-featured .plan-bullets li{ color:color-mix(in srgb, var(--on-ink) 88%, transparent); }
.plan-featured .plan-bullets li::before{ background:var(--on-ink); }
.plan-featured .plan-divider{ background:color-mix(in srgb, var(--on-ink) 15%, transparent); }
.plan-badge{ position:absolute; top:-11px; left:clamp(24px,2.2vw,32px); font-size:0.66rem; font-weight:800;
  letter-spacing:0.08em; text-transform:uppercase; padding:5px 11px; border-radius:6px;
  background:var(--paper); color:var(--ink); border:1px solid var(--ink); }
.plan-featured .plan-badge{ background:var(--on-ink); color:var(--ink); border-color:var(--ink); }
.plan-badge-quiet{ background:var(--paper); color:var(--muted); border-color:var(--hairline); }
.plan-name{ font-weight:800; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--subtle); }
.plan-featured .plan-name{ color:color-mix(in srgb, var(--on-ink) 60%, transparent); }
.plan-tag{ margin-top:8px; color:var(--muted); font-size:0.95rem; }
.plan-price{ margin-top:14px; display:flex; align-items:baseline; gap:5px; }
.plan-price .amount{ font-weight:800; font-size:2rem; letter-spacing:-0.03em; }
.plan-price .per{ color:var(--muted); font-size:0.9rem; font-weight:700; }
.plan-divider{ height:1px; background:var(--hairline); margin:18px 0; }
.plan-bullets{ display:flex; flex-direction:column; gap:10px; }
.plan-bullets li{ position:relative; padding-left:20px; font-size:0.92rem; color:var(--muted); line-height:1.45; }
.plan-bullets li::before{ content:""; position:absolute; left:2px; top:0.6em; width:6px; height:6px; border-radius:50%; background:var(--ink); }
.plans-note{ margin-top:28px; color:var(--subtle); font-size:0.84rem; }

/* ---- Waitlist ----------------------------------------------------------- */
.waitlist{ border-top:1px solid var(--hairline); padding:clamp(80px,14vh,170px) var(--gutter); text-align:center; }
.waitlist-inner{ max-width:600px; margin:0 auto; }
.waitlist .eyebrow{ margin-bottom:14px; }
.waitlist-body{ margin:clamp(18px,3vh,26px) auto 0; max-width:44ch; color:var(--muted); font-size:clamp(1.02rem,1.5vw,1.2rem); line-height:1.6; }
.wait-form{ margin-top:clamp(26px,4vh,38px); }
.wait-form .pill{ max-width:460px; margin:0 auto; height:64px; }
.input-pill.focused, .pill:focus-within{ border-color:var(--ink); }
.pill.error{ border-color:var(--danger); }
.pill.shake{ animation:shake .4s var(--settle); }
@keyframes shake{ 10%,90%{transform:translateX(-2px);} 20%,80%{transform:translateX(4px);} 30%,50%,70%{transform:translateX(-6px);} 40%,60%{transform:translateX(6px);} }
.form-status{ min-height:22px; margin-top:16px; font-size:0.92rem; font-weight:700; opacity:0; transition:opacity .26s var(--settle); }
.form-status.show{ opacity:1; } .form-status.ok{ color:var(--restore); } .form-status.err{ color:var(--danger); }
.form-note{ margin-top:18px; color:var(--subtle); font-size:0.84rem; }

/* ---- Footer — no wordmark ---------------------------------------------- */
.site-footer{ border-top:1px solid var(--hairline); max-width:var(--maxw); margin:0 auto;
  padding:clamp(40px,6vh,64px) var(--gutter) clamp(34px,5vh,52px); }
.footer-line{ color:var(--muted); font-size:0.95rem; }
.footer-bottom{ margin-top:22px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer-links{ display:flex; flex-wrap:wrap; gap:12px 22px; }
.footer-links a{ color:var(--muted); font-size:0.9rem; font-weight:700; transition:color .2s var(--settle); }
.footer-links a:hover{ color:var(--ink); }
.copyright{ color:var(--subtle); font-size:0.86rem; }

/* ---- More / capabilities grid ------------------------------------------ */
.more{ max-width:var(--maxw); margin:0 auto; padding:clamp(56px,9vh,110px) var(--gutter); }
.more-head{ max-width:30ch; margin-bottom:clamp(30px,5vh,52px); }
.more-head .eyebrow{ margin-bottom:14px; }
.feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.fcard{ background:var(--paper); border:1px solid var(--hairline); border-radius:var(--r-card); padding:clamp(20px,2vw,26px); }
.fi{ display:inline-flex; width:46px; height:46px; align-items:center; justify-content:center; border-radius:14px; background:var(--sunken); margin-bottom:16px; }
.fi svg{ width:24px; height:24px; }
.fi path{ stroke:var(--ink); stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.fname{ font-weight:700; font-size:1.16rem; letter-spacing:-0.01em; }
.fdesc{ margin-top:7px; color:var(--muted); font-size:0.95rem; line-height:1.5; }

/* ---- Science surface --------------------------------------------------- */
.surface.science{ display:flex; flex-direction:column; }
.sci{ padding:15px 0; border-bottom:1px solid var(--hairline); }
.sci:first-child{ padding-top:2px; } .sci:last-child{ border-bottom:0; padding-bottom:2px; }
.sci .eyebrow{ margin-bottom:7px; }
.sci-t{ font-weight:700; font-size:1.04rem; line-height:1.35; }
.sci-c{ margin-top:4px; color:var(--subtle); font-size:0.82rem; }

/* ---- Reveal motion ------------------------------------------------------ */
.reveal{ opacity:0; transform:translateY(14px); transition:opacity .6s var(--settle), transform .6s var(--settle);
  transition-delay:calc(var(--d,0) * 80ms); }
.reveal.in{ opacity:1; transform:none; }

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:900px){
  .hero-grid, .section-grid{ grid-template-columns:1fr; gap:36px; }
  .section.reverse .section-grid{ direction:ltr; }
  .hero-copy, .section-copy{ max-width:none; }
  .surface{ max-width:520px; justify-self:stretch; margin:0 auto; }
  .hero{ text-align:left; }
  .feature-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:820px){ .plan-grid{ grid-template-columns:1fr; max-width:460px; margin:0 auto; } }
@media (max-width:520px){ .nav-link{ display:none; } .footer-bottom{ flex-direction:column; align-items:flex-start; } .feature-grid{ grid-template-columns:1fr; } }

/* ---- Reduced motion ----------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
}

/* ---- Legal pages (privacy / terms) ------------------------------------- */
.legal-header{
  position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between;
  padding:13px var(--gutter);
  background:color-mix(in srgb, var(--paper) 82%, transparent);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hairline);
}
.back-chip{ display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 17px 0 12px;
  border:1px solid var(--hairline); background:var(--sunken); border-radius:var(--r-pill);
  font-weight:700; font-size:0.9rem; color:var(--ink); transition:transform .16s var(--settle); }
.back-chip:active{ transform:scale(0.97); }
.back-chip svg{ width:18px; height:18px; }
.back-chip path{ stroke:var(--ink); stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }

.legal{ max-width:760px; margin:0 auto; padding:clamp(36px,6vh,72px) var(--gutter) clamp(56px,9vh,110px); }
.legal h1{ font-weight:800; font-size:clamp(2rem,4vw,2.8rem); line-height:1.08; letter-spacing:-0.03em; }
.legal .meta{ margin-top:18px; color:var(--muted); font-size:0.95rem; line-height:1.7; }
.legal .meta strong{ color:var(--ink); font-weight:700; }
.legal .note{ margin-top:24px; padding:16px 18px; background:var(--sunken); border:1px solid var(--hairline);
  border-radius:var(--r-card); color:var(--muted); font-size:0.92rem; line-height:1.6; }
.legal .note a, .legal a{ color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.legal h2{ margin-top:clamp(40px,6vh,64px); font-weight:800; font-size:clamp(1.4rem,2.6vw,1.9rem);
  letter-spacing:-0.02em; padding-bottom:10px; border-bottom:1px solid var(--hairline); }
.legal h3{ margin-top:30px; font-weight:700; font-size:1.16rem; letter-spacing:-0.01em; color:var(--ink); }
.legal p{ margin-top:13px; color:var(--muted); font-size:1rem; line-height:1.68; }
.legal p strong, .legal li strong{ color:var(--ink); font-weight:700; }
.legal ul{ margin-top:13px; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px; }
.legal ul li{ position:relative; padding-left:22px; color:var(--muted); font-size:1rem; line-height:1.6; }
.legal ul li::before{ content:""; position:absolute; left:4px; top:0.62em; width:6px; height:6px; border-radius:50%; background:var(--ink); }
.legal ol{ margin-top:13px; padding-left:22px; display:flex; flex-direction:column; gap:9px; color:var(--muted); }
.legal ol li{ font-size:1rem; line-height:1.6; padding-left:4px; }
.legal hr{ border:0; border-top:1px solid var(--hairline); margin:clamp(40px,6vh,64px) 0; }
.legal .tablewrap{ margin-top:16px; overflow-x:auto; border:1px solid var(--hairline); border-radius:var(--r-card); }
.legal table{ width:100%; border-collapse:collapse; font-size:0.88rem; }
.legal th, .legal td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--hairline); vertical-align:top; color:var(--muted); line-height:1.5; }
.legal th{ color:var(--ink); font-weight:700; background:var(--sunken); white-space:nowrap; }
.legal tbody tr:last-child td{ border-bottom:0; }
