/* First Roth — firstroth.com
   Colors come from 設計/brand-package/brand.css (v1, 2026-10-05).
   Type: Avenir Next (installed on every Apple device) for headings, matching the
   outlined wordmark; system UI font (SF Pro on Apple) for body text, matching the app.
   No web fonts are downloaded, so no request ever leaves for a font host. */

:root{
  --emerald:#1F6E56; --emerald-hi:#2A8466; --forest-ink:#134A3C; --forest-deep:#0B3029;
  --ink:#0F1B2D; --muted:#5B6675; --line:#E6E4DF;
  --paper:#F6F5F2; --card:#FFFFFF; --mint:#E4F1EC;
  --sprout:#1E9E6A; --sprout-text:#167A52; --sprout-soft:#E3F5EC;
  --amber:#F2A93B; --amber-ink:#8A5300; --sand:#FDF1DC;
  --biz:#24508F; --biz-soft:#E8EEF7;

  --bg:var(--paper); --surface:var(--card); --text:var(--ink); --text-2:var(--muted);
  --heading:var(--forest-ink); --link:var(--emerald); --rule:var(--line);
  --btn-bg:var(--emerald); --btn-ink:#fff; --tint:var(--mint);
  --hh-bg:var(--sand); --hh-ink:var(--amber-ink); --biz-bg:var(--biz-soft); --biz-ink:var(--biz);
  --ok-bg:var(--sprout-soft); --ok-ink:var(--sprout-text);
  --glow:rgba(242,169,59,.20);
  --shadow:0 1px 2px rgba(11,48,41,.06),0 12px 32px -12px rgba(11,48,41,.18);

  --display:"Avenir Next","Avenir","Nunito Sans","Segoe UI",system-ui,sans-serif;
  --sys:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --wrap:1160px; --gutter:clamp(20px,5vw,64px);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0B0F0E; --surface:#1C1C1E; --text:#F5F5F7; --text-2:#A1A1AA;
    --heading:#F5F5F7; --link:#5CC8A1; --rule:#2C2C2E;
    --btn-bg:#5CC8A1; --btn-ink:#062019; --tint:#0F2A22;
    --hh-bg:#3A2E12; --hh-ink:#F7C873; --biz-bg:#16243A; --biz-ink:#7FA8E8;
    --ok-bg:#0F2A1F; --ok-ink:#4CCB94;
    --glow:rgba(242,169,59,.10);
    --shadow:0 0 0 1px #2C2C2E,0 16px 40px -16px rgba(0,0,0,.6);
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--sys);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--btn-bg);color:var(--btn-ink);padding:10px 16px;border-radius:999px;z-index:50;font-weight:600;text-decoration:none}
.skip:focus{top:12px}

h1,h2,h3{text-wrap:balance;font-family:var(--display);color:var(--heading);font-weight:700;letter-spacing:-.012em;margin:0}
h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1}
h3{font-size:20px;line-height:1.3;letter-spacing:-.005em}
p{margin:0 0 1em}
.lede{font-size:clamp(18px,1.6vw,20px);line-height:1.55;color:var(--text-2);max-width:36em}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:20;background:linear-gradient(90deg,#1F6E56 0%,#134A3C 42%,#0B3029 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 6px 20px -12px rgba(11,48,41,.55)}
.site-header :focus-visible{outline-color:#F7C873}
.site-header .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;flex:none}
.brand img{height:33px;width:auto;margin-top:2px}
.nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:500}
.nav a{color:rgba(255,255,255,.9);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.5)}
.nav a[aria-current="page"]{color:#fff;font-weight:600;border-bottom-color:#F7C873}
.soon-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;white-space:nowrap}
.soon-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);border-radius:999px;padding:8px 16px;font-size:15px;font-weight:600;color:#fff}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:rgba(255,255,255,.2)}
.menu nav{position:absolute;right:0;top:calc(100% + 12px);background:#0B3029;border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:var(--shadow);padding:8px;min-width:210px;display:flex;flex-direction:column}
.menu nav a{padding:12px 14px;border-radius:12px;color:#fff;text-decoration:none;font-weight:500}
.menu nav a:hover{background:rgba(255,255,255,.1)}
.menu nav a[aria-current="page"]{background:rgba(255,255,255,.12);font-weight:600}
@media (max-width:860px){
  .site-header .wrap{height:64px}
  .brand img{height:29px}
  .nav,.site-header .soon-pill{display:none}
  .menu{display:block}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 24px;font:600 16px/1.2 var(--sys);text-decoration:none;border:1px solid transparent;min-height:48px}
.btn-primary{background:var(--btn-bg);color:var(--btn-ink)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-quiet{background:var(--surface);color:var(--link);border-color:var(--rule)}
.btn-quiet:hover{border-color:var(--link)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding-top:72px;padding-bottom:88px}
.hero-copy{position:relative;z-index:1}
.kicker{font-size:15px;font-weight:600;color:var(--link);margin:0 0 18px}
.hero h1{font-size:clamp(40px,4.9vw,64px);line-height:1.04;letter-spacing:-.022em;margin:0 0 24px;max-width:12em}
.hero .lede{margin-bottom:32px}
.launch{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.store-soon{text-align:left;display:inline-flex;align-items:center;gap:14px;background:var(--forest-ink);color:#fff;border-radius:16px;padding:12px 22px 12px 14px}
.store-soon img{width:40px;height:40px;border-radius:9px}
.store-soon small{display:block;font-size:12px;opacity:.85;line-height:1.2}
.store-soon b{display:block;font-size:17px;line-height:1.25}
.fine{font-size:14px;color:var(--text-2);margin-top:22px}
.hero-visual{position:relative;display:flex;justify-content:center;min-height:620px}
.hero-visual::before{content:"";position:absolute;left:50%;top:50%;width:720px;height:720px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,var(--glow),transparent)}

/* phone + app mock (from brand-package/mockups/app_home.html) */
.phone{position:relative;width:330px;height:676px;border-radius:52px;border:10px solid #0d0d0f;background:var(--paper);overflow:hidden;box-shadow:0 40px 70px -20px rgba(11,48,41,.35),0 0 0 1px #2a2a2a;flex:none;font-family:var(--sys);color:var(--ink)}
.phone .island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:104px;height:30px;border-radius:20px;background:#000;z-index:5}
.app{height:100%;display:flex;flex-direction:column}
.app .status{height:46px;display:flex;justify-content:space-between;align-items:flex-end;padding:0 28px 4px 32px;font:600 14px var(--sys)}
.app .status i{font-style:normal;letter-spacing:1px;font-size:11px}
.app .content{flex:1;padding:0 15px;overflow:hidden}
.app .top{display:flex;align-items:center;justify-content:space-between;margin:12px 2px 9px}
.app .top b{font:700 29px/1.2 var(--sys)}
.app .top img{height:26px;width:auto}
.app .chips{display:flex;gap:7px;margin-bottom:12px}
.app .chip{padding:6px 15px;border-radius:999px;font:600 14px var(--sys);background:#fff;border:1px solid var(--line)}
.app .chip.on{background:var(--forest-ink);color:#fff;border-color:var(--forest-ink)}
.app .earn{border-radius:19px;padding:15px 15px 14px;color:#fff;position:relative;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,#2A8466 0%,#1F6E56 30%,#134A3C 70%,#0B3029 100%)}
.app .earn::after{content:"";position:absolute;right:-34px;top:-34px;width:190px;height:190px;border-radius:50%;background:radial-gradient(closest-side,rgba(92,200,161,.22),rgba(92,200,161,0))}
.app .eyebrow{font:600 10.5px var(--sys);letter-spacing:.08em;opacity:.8}
.app .big{font:700 30px/1.1 var(--sys);margin:6px 0 4px;max-width:calc(100% - 80px)}
.app .sub{font:400 12px/1.35 var(--sys);opacity:.9;max-width:calc(100% - 84px)}
.app .ring{position:absolute;right:14px;top:14px;width:74px;height:74px;border-radius:50%;border:6px solid #5CC8A1;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}
.app .ring span{font:500 9.5px var(--sys)} .app .ring b{font:700 14px var(--sys)}
.app .note{font:400 11.5px/1.4 var(--sys);opacity:.86;margin-top:10px}
.app .sec{font:600 11px var(--sys);letter-spacing:.06em;margin:17px 12px 7px;color:var(--muted)}
.app .card{border-radius:16px;padding:12px;background:#fff}
.app .job{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 12px;font:600 13px var(--sys);margin-bottom:7px}
.app .job.biz{background:var(--biz-soft);color:var(--biz)}
.app .job.hh{background:var(--sand);color:var(--amber-ink)}
.app .row{display:flex;justify-content:space-between;margin-top:4px}
.app .b{border-radius:999px;padding:8px 13px;font:600 13px var(--sys)}
.app .b.o{border:1px solid var(--line);color:var(--emerald)}
.app .b.p{background:var(--emerald);color:#fff}
.app .appr{display:flex;justify-content:space-between;align-items:center}
.app .appr b{font:600 14px var(--sys);display:block}
.app .appr small{font:400 11.5px var(--sys);color:var(--muted)}
.app .tag{font:600 10.5px var(--sys);padding:2px 7px;border-radius:6px;margin-left:5px;background:var(--sprout-soft);color:var(--sprout-text)}
.app .foot{font:400 9px var(--sys);text-align:center;color:var(--muted);margin-top:9px}
.app .tabs{height:74px;display:flex;justify-content:space-around;padding-top:8px;border-top:1px solid var(--line);background:rgba(255,255,255,.95);color:#8A93A3}
.app .tab{display:flex;flex-direction:column;align-items:center;gap:2px;font:500 10px var(--sys)}
.app .tab svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app .tab.on{color:var(--emerald)} .app .tab.on svg{fill:currentColor;fill-opacity:.15}

/* the stamped record that floats beside the phone */
.stamp{position:absolute;left:-36px;bottom:20px;z-index:3;width:250px;background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:14px 16px 14px;font-size:13px;line-height:1.45;color:var(--text);border:1px solid var(--rule)}
.stamp .ph{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}
.stamp .ph span{aspect-ratio:4/3;border-radius:9px;display:flex;align-items:flex-end;padding:5px 7px;font-size:10.5px;font-weight:600;color:#fff;background:linear-gradient(160deg,#7FA36B,#3E6B3A 60%,#2D4F2B)}
.stamp .ph span:last-child{background:linear-gradient(160deg,#9CC07F,#5C8F45 60%,#3F6B33)}
.stamp b{display:block;font-size:14px}
.stamp .meta{color:var(--text-2);font-size:12.5px}
.stamp .ok{display:inline-block;margin-top:8px;margin-right:4px;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--ok-bg);color:var(--ok-ink)}
.sample{position:absolute;left:0;right:0;bottom:-34px;text-align:center;margin:0;font-size:13px;color:var(--text-2)}

@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:40px;padding-top:48px;padding-bottom:64px}
  .hero-visual{min-height:0;padding-bottom:28px}
  .stamp{left:50%;margin-left:-300px}
}
@media (max-width:640px){
  .phone{transform:scale(.86);transform-origin:top center;margin-bottom:-95px}
  .stamp{position:relative;left:auto;bottom:auto;margin:-120px 0 0 auto;width:min(250px,78%);margin-left:auto}
  .hero-visual{flex-direction:column;align-items:center}
  .sample{position:static;margin-top:12px;align-self:center}
}

/* ---------- sections ---------- */
section.block{padding:clamp(72px,9vw,120px) 0}
.section-head{max-width:800px;margin-bottom:clamp(40px,5vw,64px)}
.section-head h2{margin-bottom:16px}
.section-head p{color:var(--text-2);font-size:18px;margin:0}

/* how it works: forest band */
.band{background:radial-gradient(120% 160% at 0% 0%,#1F6E56 0%,#134A3C 45%,#0B3029 100%);color:#fff}
.band h2,.band h3{color:#fff}
.band .section-head p{color:rgba(255,255,255,.84)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;counter-reset:step}
.steps::before{content:"";position:absolute;left:22px;right:56px;top:22px;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(247,200,115,.9))}
.steps li{position:relative;counter-increment:step}
.steps .n{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 18px var(--display);background:#0B3029;border:2px solid rgba(255,255,255,.55);color:#fff;position:relative;margin-bottom:22px}
.steps li:last-child .n{border:0;background:none;width:56px;height:56px;margin:-5px 0 17px}
.steps li:last-child .n img{width:56px;height:auto}
.steps h3{margin-bottom:8px}
.steps p{color:rgba(255,255,255,.84);font-size:16px;margin:0}
.steps .ui{display:inline-flex;margin-top:16px;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}
.steps .ui.gold{color:#F7C873;border-color:rgba(247,200,115,.45)}
@media (max-width:900px){
  .steps{grid-template-columns:1fr;gap:34px}
  .steps::before{left:22px;right:auto;top:22px;bottom:40px;width:2px;height:auto;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(247,200,115,.9))}
  .steps li{padding-left:72px}
  .steps .n{position:absolute;left:0;top:0;margin:0}
  .steps li:last-child .n{left:-5px;top:-4px;margin:0}
}

/* why it matters: anatomy of a record */
.why{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,88px);align-items:start}
.why .section-head{margin-bottom:28px}
.why ul.plain{margin:0;padding:0;list-style:none}
.why ul.plain li{padding:16px 0;border-top:1px solid var(--rule)}
.why ul.plain li:last-child{border-bottom:1px solid var(--rule)}
.why ul.plain b{display:block;font-family:var(--display);font-size:18px;color:var(--heading);margin-bottom:2px}
.why ul.plain span{color:var(--text-2);font-size:16px}
.record{background:var(--surface);border-radius:26px;box-shadow:var(--shadow);padding:28px;position:relative}
.record header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;margin-bottom:18px}
.record header b{font:700 22px/1.25 var(--display);color:var(--heading);display:block}
.record header span{color:var(--text-2);font-size:15px}
.chip-hh,.chip-biz{display:inline-flex;align-items:center;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;white-space:nowrap}
.chip-hh{background:var(--hh-bg);color:var(--hh-ink)}
.chip-biz{background:var(--biz-bg);color:var(--biz-ink)}
.record .photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.record figure{margin:0;border-radius:14px;overflow:hidden;position:relative;aspect-ratio:4/3;background:linear-gradient(160deg,#7FA36B,#3E6B3A 60%,#2D4F2B)}
.record figure:last-child{background:linear-gradient(160deg,#A9CB86,#5C8F45 55%,#3F6B33)}
.record figure::before{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:repeating-linear-gradient(100deg,rgba(255,255,255,.07) 0 6px,transparent 6px 14px)}
.record .photos figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;font-size:12px;line-height:1.35}
.record .photos figcaption b{display:block;font-size:13px}
.record dl{margin:0;display:grid;grid-template-columns:auto 1fr;column-gap:0}
.record dt,.record dd{padding:11px 0;border-top:1px solid var(--rule);margin:0;font-size:15px}
.record dt{color:var(--text-2)}
.record dd{text-align:right;font-weight:600;padding-left:16px}
.record .ok{color:var(--ok-ink)}
.record .cap{margin:16px 0 0;font-size:13px;color:var(--text-2)}

/* household vs business */
.kinds{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.kind{background:var(--surface);border-radius:24px;padding:32px;border:1px solid var(--rule)}
.kind .chip-hh,.kind .chip-biz{margin-bottom:18px}
.kind h3{font-size:24px;margin-bottom:10px}
.kind p{color:var(--text-2)}
.kind ul{margin:18px 0 0;padding:0;list-style:none}
.kind li{padding:10px 0 10px 28px;border-top:1px solid var(--rule);position:relative;font-size:16px}
.kind li::before{content:"";position:absolute;left:4px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--sprout)}
.not{margin-top:24px;border-radius:24px;padding:24px 32px;background:var(--tint);display:grid;grid-template-columns:auto 1fr;gap:8px 28px;align-items:baseline}
.not h3{font-size:18px}
.not p{margin:0;color:var(--text)}
@media (max-width:820px){
  .why{grid-template-columns:1fr}
  .kinds{grid-template-columns:1fr}
  .kind{padding:26px 22px}
  .not{grid-template-columns:1fr;padding:22px}
  .record{padding:20px}
}

/* privacy */
.privacy-wrap{background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.promises{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--heading)}
.promises div{padding:26px 26px 6px 0}
.promises div + div{padding-left:26px;border-left:1px solid var(--rule)}
.promises svg{width:30px;height:30px;stroke:var(--link);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
.promises h3{font-size:19px;margin-bottom:8px}
.promises p{color:var(--text-2);font-size:16px}
@media (max-width:900px){
  .promises{grid-template-columns:1fr 1fr}
  .promises div:nth-child(3){padding-left:0;border-left:0}
  .promises div:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media (max-width:520px){
  .promises{grid-template-columns:1fr}
  .promises div,.promises div + div{padding:22px 0 4px;border-left:0}
  .promises div + div{border-top:1px solid var(--rule)}
}

/* pricing */
.plans{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:stretch}
.plan{border-radius:28px;padding:36px;background:var(--surface);border:1px solid var(--rule);display:flex;flex-direction:column}
.plan h3{font-size:24px}
.plan .price{font:700 48px/1 var(--display);color:var(--heading);margin:18px 0 6px;letter-spacing:-.02em}
.plan .price small{font:500 17px var(--sys);color:var(--text-2);letter-spacing:0}
.plan .then{color:var(--text-2);font-size:15px;margin:0 0 22px;min-height:1.6em}
.plan ul{list-style:none;margin:0;padding:0;flex:1}
.plan li{padding:11px 0 11px 30px;border-top:1px solid var(--rule);position:relative;font-size:16px}
.plan li::before{content:"";position:absolute;left:2px;top:17px;width:14px;height:8px;border-left:2px solid var(--sprout);border-bottom:2px solid var(--sprout);transform:rotate(-45deg)}
.plan.pro{background:radial-gradient(130% 120% at 0% 0%,#2A8466 0%,#1F6E56 30%,#134A3C 70%,#0B3029 100%);color:#fff;border:0;position:relative;overflow:hidden}
.plan.pro::after{content:"";position:absolute;right:-120px;top:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(closest-side,rgba(242,169,59,.16),transparent)}
.plan.pro > *{position:relative;z-index:1}
.plan.pro h3,.plan.pro .price{color:#fff}
.plan.pro .price small,.plan.pro .then{color:rgba(255,255,255,.86)}
.plan.pro li{border-color:rgba(255,255,255,.2)}
.plan.pro li::before{border-color:#F7C873}
.plan .includes{font-size:15px;color:inherit;opacity:.86;margin:0 0 6px}
.price-note{max-width:60em;margin-top:22px;font-size:14px;color:var(--text-2)}
@media (max-width:760px){.plans{grid-template-columns:1fr}.plan{padding:28px 24px}}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,88px);align-items:start}
.faq .section-head{position:sticky;top:110px}
.qa{border-top:1px solid var(--rule)}
.qa details{border-bottom:1px solid var(--rule)}
.qa summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font:600 19px/1.4 var(--display);color:var(--heading)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";position:absolute;right:8px;top:30px;width:10px;height:10px;border-right:2px solid var(--link);border-bottom:2px solid var(--link);transform:rotate(45deg);transition:transform .2s}
.qa details[open] summary::after{transform:rotate(-135deg);top:34px}
.qa .a{padding:0 0 22px;color:var(--text-2);max-width:40em}
.qa .a p:last-child{margin:0}
.qa .a strong{color:var(--text)}
@media (prefers-reduced-motion:reduce){.qa summary::after{transition:none}}
@media (max-width:820px){.faq{grid-template-columns:1fr}.faq .section-head{position:static}.qa summary{font-size:17px}}

/* closing */
.closing{text-align:center}
.closing img.coin{width:96px;height:auto;margin:0 auto 28px}
.closing h2{max-width:14em;margin:0 auto 16px}
.closing .lede{margin:0 auto 32px}
.closing .launch{justify-content:center}

/* ---------- footer ---------- */
.site-footer{background:var(--forest-deep);color:rgba(255,255,255,.84);font-size:15px;padding:64px 0 40px}
.site-footer a{color:#fff}
.site-footer .top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.14)}
.site-footer .top img{height:35px;width:auto;margin-bottom:18px}
.site-footer .disclaimer{max-width:30em;margin:0;color:#fff}
.site-footer nav ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer .bottom{padding-top:24px;display:flex;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;font-size:14px}
.site-footer .bottom p{margin:0}

/* ---------- document pages ---------- */
.doc-hero{padding-top:64px;padding-bottom:36px}
.doc-hero h1{font-size:clamp(38px,5vw,56px);line-height:1.05;letter-spacing:-.02em;margin-bottom:14px}
.doc-hero .lede{margin:0}
.doc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.doc-tabs a{padding:8px 16px;border-radius:999px;border:1px solid var(--rule);background:var(--surface);color:var(--text);text-decoration:none;font-size:15px;font-weight:500}
.doc-tabs a[aria-current="page"]{background:var(--forest-ink);border-color:var(--forest-ink);color:#fff}
@media (prefers-color-scheme:dark){.doc-tabs a[aria-current="page"]{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-ink)}}
.doc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,5vw,72px);padding-bottom:96px;align-items:start}
.toc{position:sticky;top:96px;font-size:14px}
.toc b{display:block;font-size:13px;color:var(--text-2);font-weight:600;margin-bottom:10px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.toc a{display:block;padding:5px 0 5px 14px;color:var(--text-2);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--link)}
.doc-body{max-width:44em}
.effective{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--hh-ink);background:var(--hh-bg);padding:6px 12px;border-radius:8px;margin:0 0 28px}
.doc-body section{padding:28px 0;border-top:1px solid var(--rule)}
.doc-body section:first-of-type{border-top:0;padding-top:0}
.doc-body h2{font-size:24px;line-height:1.25;margin-bottom:12px;letter-spacing:-.008em}
.doc-body h3{font-size:18px;margin:22px 0 8px}
.doc-body p,.doc-body li{font-size:17px;line-height:1.7}
.doc-body ol.steps-list,.doc-body ul.list{padding-left:1.3em;margin:0 0 1em}
.doc-body li{margin-bottom:6px}
.doc-body .path{font-weight:600;color:var(--text)}
.contact-card{background:var(--surface);border:1px solid var(--rule);border-radius:22px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:12px}
.contact-card p{margin:0;color:var(--text-2)}
.contact-card b{display:block;font:700 20px var(--display);color:var(--heading)}
@media (max-width:900px){.doc{grid-template-columns:1fr}.toc{display:none}.doc-hero{padding-top:44px;padding-bottom:28px}}

/* 404 */
.lost{min-height:min(62vh,640px);padding:80px 0;display:flex;align-items:center;text-align:center}
.lost .wrap{width:100%}
.lost img{width:88px;margin:0 auto 26px}
.lost h1{font-size:clamp(36px,5vw,52px);margin-bottom:14px}
.lost .lede{margin:0 auto 28px}
