/* Tokens lifted from lib/theme/tokens.dart so the site and the app are one
   system rather than two things that merely look similar. */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;
  font-display:swap;src:url(assets/poppins-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;
  font-display:swap;src:url(assets/poppins-800.woff2) format('woff2')}

:root{
  --ground:#F4F7F6;
  --surface:#FFFFFF;
  --sunken:#EAF0ED;
  --hair:#DCE6E1;
  --ink:#101613;
  --ink-2:#33443E;
  --muted:#5C6F68;
  --accent:#0F9D76;
  --accent-bright:#17B183;
  --accent-wash:#E4F6EF;
  --hero-a:#0F9D76;
  --hero-b:#06251C;
  --hero-ink:#EAF3EF;
  --hero-muted:#9DBDB1;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#071411;--surface:#0E1F1A;--sunken:#132A23;--hair:#1E332C;
    --ink:#E9F2EE;--ink-2:#C2D5CD;--muted:#8AA79D;
    --accent:#2CC493;--accent-bright:#4FDCAE;--accent-wash:#102C24;
    --hero-a:#0B7A5B;--hero-b:#04160F;
  }
}
:root[data-theme="dark"]{
  --ground:#071411;--surface:#0E1F1A;--sunken:#132A23;--hair:#1E332C;
  --ink:#E9F2EE;--ink-2:#C2D5CD;--muted:#8AA79D;
  --accent:#2CC493;--accent-bright:#4FDCAE;--accent-wash:#102C24;
  --hero-a:#0B7A5B;--hero-b:#04160F;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  font-weight:400;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}

/* Two weights only — 400 and 800. No mushy middle. */
h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:0;text-wrap:balance}
h1{font-size:clamp(38px,7vw,68px)}
h2{font-size:clamp(26px,3.6vw,36px)}
h3{font-size:20px;letter-spacing:-.015em}
p{margin:0}
a{color:var(--accent)}
strong{font-weight:800}
:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px;border-radius:4px}

.wrap{max-width:720px;margin:0 auto;padding:0 24px}
.wrap.wide{max-width:1060px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;z-index:60;background:var(--surface);
  padding:10px 16px;border-radius:10px}

/* ── nav ────────────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:20;background:var(--ground);
  border-bottom:1px solid var(--hair)}
.nav .wrap{display:flex;align-items:center;gap:20px;height:64px;max-width:1060px}
.nav .brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:18px;
  letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.nav .brand img{width:30px;height:30px;border-radius:8px}
.nav .links{display:flex;gap:22px;margin-left:auto;align-items:center}
.nav .links a{color:var(--muted);text-decoration:none;font-size:15px}
.nav .links a:hover{color:var(--ink)}
.nav .links a.cta,.nav .links a.cta:hover{color:#fff;padding:10px 20px;font-size:15px}
@media (max-width:640px){.nav .links a:not(.cta){display:none}}

/* ── hero ───────────────────────────────────────────────────────────────── */
.hero{background:linear-gradient(155deg,var(--hero-a),var(--hero-b));
  color:var(--hero-ink);padding:clamp(56px,9vw,104px) 0 clamp(52px,8vw,88px)}
.hero .eyebrow{color:var(--hero-muted)}
.mark{width:96px;height:96px;border-radius:24px;display:block;margin-bottom:32px}
.hero h1{color:#fff;margin-bottom:20px}
.hero .lede{font-size:clamp(18px,2.3vw,21px);color:var(--hero-muted);max-width:34ch}
.thesis{display:flex;align-items:center;gap:20px;margin:44px 0 0;padding-top:32px;
  border-top:1px solid rgba(255,255,255,.16)}
.thesis .n{font-size:clamp(72px,13vw,132px);font-weight:800;line-height:.82;
  letter-spacing:-.06em;color:#fff}
.thesis .t{font-size:17px;color:var(--hero-muted);max-width:26ch}

/* ── body ───────────────────────────────────────────────────────────────── */
section{padding:clamp(48px,7vw,76px) 0;border-top:1px solid var(--hair)}
.stack{display:flex;flex-direction:column;gap:18px}
.stack p{color:var(--ink-2);max-width:62ch}
.note{background:var(--accent-wash);border-radius:18px;padding:22px 24px;color:var(--ink-2)}
.note strong{color:var(--ink)}
.badge{display:inline-flex;align-items:center;gap:12px;background:#101613;
  color:#fff;text-decoration:none;padding:11px 20px 11px 16px;border-radius:12px;
  border:1px solid rgba(255,255,255,.16)}
.badge.on-dark{background:#fff;color:#101613;border-color:rgba(0,0,0,.12)}
.badge .play-mark{width:26px;height:26px;flex:0 0 auto}
.badge-txt{display:flex;flex-direction:column;line-height:1.12;text-align:left}
.badge-txt small{font-size:9.5px;letter-spacing:.09em;opacity:.72}
.badge-txt strong{font-size:18px;font-weight:800;letter-spacing:-.02em}
.badge.soon{cursor:default}
.badge.soon .play-mark{filter:saturate(.35)}
.cta{display:inline-block;background:var(--accent);color:#fff;font-weight:800;
  text-decoration:none;padding:16px 30px;border-radius:999px;font-size:17px}

/* ── feature rows ───────────────────────────────────────────────────────── */
.feature{display:grid;grid-template-columns:1fr 340px;gap:clamp(32px,6vw,72px);
  align-items:center}
.feature.flip{grid-template-columns:340px 1fr}
.feature.flip .copy{order:2}
.feature.flip .art{order:1}
.feature .copy{display:flex;flex-direction:column;gap:14px;min-width:0}
.feature .art{min-width:0}
.feature .copy p{color:var(--ink-2);max-width:52ch}
@media (max-width:820px){
  .feature,.feature.flip{grid-template-columns:1fr;gap:32px}
  .feature.flip .copy{order:1}
  .feature.flip .art{order:2}
}

/* A phone bezel, so a flat screenshot reads as a device. */
.phone{border-radius:30px;overflow:hidden;background:#0C1A16;padding:8px;
  border:1px solid var(--hair);box-shadow:0 18px 44px rgba(6,26,20,.16);
  width:100%;max-width:340px;margin:0 auto}
.phone img{display:block;width:100%;border-radius:23px}
.phones{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.phones .phone{max-width:250px}

.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;
  background:var(--sunken);border-radius:24px;padding:22px}
.compare figure{margin:0;text-align:center;min-width:0}
.compare img{width:100%;max-width:190px;border-radius:16px}
.compare figcaption{margin-top:10px;font-size:13px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media (max-width:520px){
  .compare{grid-template-columns:1fr;gap:10px}
  .compare img{max-width:150px}
}

/* ── faq ────────────────────────────────────────────────────────────────── */
.faq details{border-top:1px solid var(--hair);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--hair)}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:800;
  font-size:17.5px;display:flex;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;color:var(--accent);
  font-size:22px;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq p{padding:0 0 20px;color:var(--ink-2);max-width:64ch}

.close{background:linear-gradient(155deg,var(--hero-a),var(--hero-b));
  color:var(--hero-ink);text-align:center;border-top:0}
.close h2{color:#fff;margin-bottom:14px}
.close p{color:var(--hero-muted);max-width:46ch;margin:0 auto 26px}
.close .cta{background:#fff;color:#0B5D46}
.cta.soon{background:rgba(255,255,255,.16);color:var(--hero-ink);
  cursor:default;border:1px solid rgba(255,255,255,.32)}

footer{border-top:1px solid var(--hair);padding:36px 0 60px;color:var(--muted);
  font-size:14.5px}
footer a{color:var(--muted)}
.footlinks{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}

/* ── legal pages ────────────────────────────────────────────────────────── */
.doc{padding:clamp(40px,6vw,64px) 0}
.doc h1{font-size:clamp(30px,5vw,44px);margin-bottom:10px}
.doc .updated{color:var(--muted);font-size:14.5px;margin-bottom:8px}
.doc h2{font-size:22px;margin:38px 0 10px}
.doc p,.doc li{color:var(--ink-2);max-width:66ch}
.doc ul{margin:10px 0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.doc table{border-collapse:collapse;width:100%;font-size:15.5px;margin:14px 0}
.doc th,.doc td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--hair);
  vertical-align:top}
.doc th{font-weight:800;background:var(--sunken)}
.tablewrap{overflow-x:auto}
.back{display:inline-block;margin-bottom:26px;font-size:15px;text-decoration:none}
