/* Batchwell marketing site: shared styles */
:root{
  --paper:#F3F2EB; --surface:#FFFFFF; --sunk:#E9E7DE;
  --ink:#1F3142; --ink-2:#3E4C59; --muted:#55606A;
  --line:#DAD6CB; --line-strong:#C4BFB1;
  --accent:#2F5A73; --accent-ink:#23465A; --accent-soft:#E3EBEF;
  --wax:#BA9479; --wax-ink:#7A5A40; --wax-soft:#F3E9DF;
  --stop:#B3412E; --stop-soft:#F8E4DF;
  --labor:#8FA3B3;
  --display:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --code:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{max-width:100%}
a{color:var(--accent-ink);text-underline-offset:.18em}
a:hover{color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.08;letter-spacing:-.015em;text-wrap:balance}
p{margin:0 0 1em;max-width:62ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.mono{font-family:var(--code)}
.skip{position:absolute;left:12px;top:-100px;z-index:50;background:var(--ink);color:#fff;padding:12px 16px;border-radius:8px;font-weight:600;text-decoration:none}
.skip:focus{top:12px;color:#fff}

/* ---------- header ---------- */
header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
header.top.scrolled,header.top.menu-open{border-bottom-color:var(--line)}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:64px;gap:8px 16px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:var(--ink);font:600 21px var(--display);letter-spacing:-.02em}
.brand:hover{color:var(--ink)}
.brand img{width:34px;height:34px;border-radius:8px}
.site-nav{display:flex;align-items:center}
.nav-panel{display:flex;align-items:center;gap:8px}
.nav-panel ul{display:flex;list-style:none;margin:0 8px 0 0;padding:0;gap:2px}
.nav-panel ul a{display:inline-flex;align-items:center;min-height:44px;padding:0 11px;color:var(--ink-2);text-decoration:none;font-weight:500;font-size:15.5px;border-radius:8px}
.nav-panel ul a:hover{color:var(--ink);background:var(--sunk)}
.nav-panel ul a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:8px}
.nav-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font:600 15.5px var(--body);cursor:pointer}
.nav-toggle .bars{position:relative;width:16px;height:2px;background:currentColor;border-radius:2px;transition:background .2s}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s}
.nav-toggle .bars::before{top:-5px}.nav-toggle .bars::after{top:5px}
.nav-toggle[aria-expanded="true"] .bars{background:transparent}
.nav-toggle[aria-expanded="true"] .bars::before{transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars::after{transform:translateY(-5px) rotate(-45deg)}

@media (max-width:940px){
  .js .nav-toggle{display:inline-flex}
  .site-nav{flex-wrap:wrap}
  .nav-panel{flex-wrap:wrap}
  .js .nav-panel{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -24px rgba(30,43,47,.4);padding:8px 20px 20px;flex-direction:column;align-items:stretch;gap:10px}
  .js header.menu-open .nav-panel{display:flex}
  .js .nav-panel ul{flex-direction:column;margin:0;gap:0}
  .js .nav-panel ul li+li{border-top:1px solid var(--line)}
  .js .nav-panel ul a{display:flex;min-height:52px;padding:0 4px;font:600 20px var(--display);color:var(--ink);border-radius:0}
  .js .nav-panel ul a:hover{background:transparent;color:var(--accent-ink)}
  .js .nav-panel ul a[aria-current="page"]{text-underline-offset:6px}
  .js .nav-panel .btn{min-height:50px;font-size:16px}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font:600 16px var(--body);text-decoration:none;border:1px solid transparent;cursor:pointer;text-align:center}
.btn.primary{background:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-ink);color:#fff}
.btn.quiet{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn.quiet:hover{background:var(--surface);color:var(--ink)}
.btn.small{min-height:44px;padding:0 18px;font-size:15px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- sections ---------- */
section{padding:88px 0}
.section-h{font-size:clamp(32px,4.6vw,52px);font-weight:600}
.lead{font-size:clamp(17.5px,1.9vw,19.5px);color:var(--ink-2);max-width:56ch;margin-top:18px}
.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media (max-width:640px){section{padding:64px 0}}

/* ---------- home hero ---------- */
.hero{padding:56px 0 72px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(44px,7.4vw,92px);font-weight:600;letter-spacing:-.03em;line-height:.96}
.hero .lede{font-size:clamp(18px,2.1vw,21px);color:var(--ink-2);margin:24px 0 30px;max-width:34ch}
.fine{margin-top:16px;font-size:14.5px;color:var(--muted)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero{padding-top:28px}}

/* ---------- the lot ticket ---------- */
.ticket{position:relative;background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 1px 0 var(--line),0 24px 48px -28px rgba(30,43,47,.35);transform:rotate(-1.2deg);transition:transform .35s ease}
.ticket.open{transform:rotate(0)}
.ticket .stub{display:grid;grid-template-columns:64px 1fr;border-bottom:2px dashed var(--line-strong)}
.ticket .hole{display:flex;align-items:center;justify-content:center;border-right:2px dashed var(--line-strong)}
.ticket .hole::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--paper);box-shadow:inset 0 1px 2px rgba(0,0,0,.18)}
.ticket .head{padding:20px 22px 18px;min-width:0}
.ticket .who{font-size:14px;color:var(--muted);font-weight:500}
.ticket .code{font:500 clamp(20px,3.3vw,30px) var(--code);letter-spacing:.01em;margin:2px 0 6px;color:var(--ink)}
.ticket .what{font:600 18px var(--display)}
.ticket .facts{display:grid;grid-template-columns:repeat(3,1fr);padding:16px 22px;gap:8px;font-size:14px}
.ticket .facts b{display:block;font:600 20px var(--display);font-variant-numeric:tabular-nums}
.ticket .facts span{color:var(--muted)}
.ticket .act{padding:0 22px 20px}
.ticket button.trace{width:100%;min-height:48px;border-radius:12px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-ink);font:600 16px var(--body);cursor:pointer}
.ticket button.trace:hover{background:#D3E0E7}
.trail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.ticket.open .trail{grid-template-rows:1fr}
.trail>div{overflow:hidden;visibility:hidden;transition:visibility 0s .4s}
.ticket.open .trail>div{visibility:visible;transition-delay:0s}
.trail .cols{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.trail .col{padding:16px 22px 20px}
.trail .col+.col{border-left:1px solid var(--line)}
.trail .th{font:600 15px var(--body);color:var(--muted);margin:0 0 8px}
.trail ul{list-style:none;margin:0;padding:0;font-size:14.5px}
.trail li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--sunk)}
.trail li:last-child{border-bottom:0}
.trail li .mono{font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.trail li b{font-variant-numeric:tabular-nums;font-weight:600}
.ticket .note{font-size:13px;color:var(--muted);text-align:center;padding:0 22px 14px;margin:0 auto}
@media (max-width:480px){.trail .cols{grid-template-columns:1fr}.trail .col+.col{border-left:0;border-top:1px solid var(--line)}.ticket{transform:none}.ticket .stub{grid-template-columns:44px 1fr}.ticket .head{padding:18px 16px 16px}.ticket .facts{padding:14px 16px}.ticket .act{padding:0 16px 18px}.trail .col{padding:14px 16px 18px}}

/* ---------- home story teaser ---------- */
.origin-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}
.origin h2{font-size:clamp(32px,4.6vw,52px);font-weight:600}
.story-text p{font-size:18.5px;line-height:1.65;color:var(--ink-2)}
.story-text p:first-child{color:var(--ink)}
.textlink{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
@media (max-width:900px){.origin-grid{grid-template-columns:1fr;gap:24px}}

/* ---------- questions from our bench ---------- */
.qa{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line)}
.qa li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}
.qa .q{font:600 clamp(20px,2.4vw,25px)/1.25 var(--display)}
.qa .a{color:var(--ink-2)}
.qa .a p{margin:0 0 .6em}
.qa .a strong{color:var(--ink)}
.after-qa{margin-top:28px}
@media (max-width:760px){.qa li{grid-template-columns:1fr;gap:10px}}

/* ---------- makers band ---------- */
.makers{background:var(--ink);color:#E9ECEF}
.makers .section-h{color:#fff}
.makers .lead{color:#B6C0C9}
.makers a{color:#fff}
.makers a:focus-visible{outline-color:#A9CCE0}
.packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:44px;border-top:1px solid #2E4255}
.pack{position:relative;padding:24px 24px 12px 0}
.pack+.pack{padding-left:24px;border-left:1px solid #2E4255}
.pack h3{font-size:21px;color:#fff;margin-bottom:8px}
.pack h3 a{text-decoration:none}
.pack h3 a::after{content:"";position:absolute;inset:0}
.pack:hover h3 a{text-decoration:underline;text-decoration-color:#A9CCE0;text-decoration-thickness:2px}
.pack p{color:#B6C0C9;font-size:15.5px}
.state{display:inline-block;margin-bottom:12px;font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px}
.makers .state.ready{background:#1A2F3E;color:#A9CCE0}
.makers .state.beta{background:#33271D;color:#E0C2A8}
.state.ready{background:var(--accent-soft);color:var(--accent-ink)}
.state.beta{background:var(--wax-soft);color:var(--wax-ink)}
.makers-more{margin-top:28px}
@media (max-width:900px){.packs{grid-template-columns:1fr 1fr}.pack:nth-child(3){padding-left:0;border-left:0}.pack:nth-child(n+3){border-top:1px solid #2E4255}}
@media (max-width:520px){.packs{grid-template-columns:1fr}.pack,.pack+.pack{padding-left:0;border-left:0}.pack+.pack{border-top:1px solid #2E4255}}

/* ---------- beta strip / terms ---------- */
.beta-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start}
.beta-grid .ctas{margin-top:8px}
.terms{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px}
.terms dl{margin:0}
.terms dt{font-weight:600;margin-top:14px}
.terms dt:first-child{margin-top:0}
.terms dd{margin:2px 0 0;color:var(--ink-2)}
@media (max-width:900px){.beta-grid{grid-template-columns:1fr;gap:28px}}

/* ---------- inner page header ---------- */
.page-head{padding:56px 0 48px}
.page-head h1{font-size:clamp(40px,6.2vw,76px);font-weight:600;letter-spacing:-.028em;line-height:.98;max-width:16ch}
.page-head .lead{margin-top:22px}
.page-head .state{margin-bottom:18px}
.crumb{margin:0 0 14px;font-size:15px}
.crumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2)}
@media (max-width:640px){.page-head{padding:32px 0 36px}}
.page-head+section:not(.band){padding-top:8px}

/* ---------- features ---------- */
.jump{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none}
.jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);text-decoration:none;font-weight:500;font-size:15px}
.jump a:hover{background:var(--surface)}
.room-sec{padding:72px 0;border-top:1px solid var(--line)}
.room-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:start}
.room-sec.flip .room-copy{order:2}
.room-sec h2{font-size:clamp(30px,4vw,46px);font-weight:600}
.room-sec .sub{font-size:19px;color:var(--ink-2);margin:14px 0 26px;max-width:44ch}
.specs{margin:0;border-top:1px solid var(--line)}
.specs div{padding:16px 0;border-bottom:1px solid var(--line)}
.specs dt{font:600 18px/1.3 var(--display)}
.specs dd{margin:6px 0 0;color:var(--ink-2);max-width:58ch}
.not-yet{margin-top:22px;padding:14px 16px;border-left:3px solid var(--wax);background:var(--wax-soft);color:var(--ink);font-size:15.5px;border-radius:0 10px 10px 0}
.not-yet p{margin:0}
@media (max-width:900px){.room-grid{grid-template-columns:1fr;gap:36px}.room-sec.flip .room-copy{order:0}.room-sec{padding:56px 0}}

/* bench paperwork: specimen sheets */
.sheet{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 18px 40px -30px rgba(30,43,47,.45);font-size:15px;overflow:hidden}
.sheet header{padding:16px 20px 14px;border-bottom:2px dashed var(--line-strong)}
.sheet header .k{display:block;font-size:13.5px;color:var(--muted);font-weight:500}
.sheet header .t{display:block;font:600 19px/1.25 var(--display);margin-top:2px}
.sheet header .mono{font-size:13.5px;color:var(--ink-2)}
.sheet .body{padding:6px 20px 16px}
.sheet .row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--sunk)}
.sheet .row:last-child{border-bottom:0}
.sheet .row.two{grid-template-columns:minmax(0,1fr) auto}
.sheet .lbl{color:var(--ink)}
.sheet .lbl small{display:block;color:var(--muted);font-size:13px}
.sheet .t2{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}
.sheet .v{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.sheet .total{border-top:1px solid var(--line-strong);margin-top:2px}
.sheet footer{padding:12px 20px;background:var(--sunk);font-size:13.5px;color:var(--ink-2)}
.sheet .step{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--sunk)}
.sheet .step:last-child{border-bottom:0}
.sheet .step b{font-variant-numeric:tabular-nums}
.sheet .tick{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;border:2px solid var(--line-strong);margin-right:10px;flex:none;vertical-align:-4px}
.sheet .tick.done{background:var(--accent);border-color:var(--accent)}
.sheet .tick.done::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
@media (max-width:900px){.sheet{position:static}}
@media (max-width:420px){.sheet header,.sheet .body,.sheet footer{padding-left:16px;padding-right:16px}.sheet{font-size:14.5px}}

.pill{display:inline-block;font-size:12.5px;font-weight:600;border-radius:999px;padding:2px 9px;white-space:nowrap}
.pill.ok{background:var(--accent-soft);color:var(--accent-ink)}
.pill.wax{background:var(--wax-soft);color:var(--wax-ink)}
.pill.stop{background:var(--stop-soft);color:var(--stop)}
.costbar{display:flex;height:12px;border-radius:999px;overflow:hidden;margin:10px 0 10px;background:var(--sunk)}
.costbar i{display:block}
.costbar .ing{width:46%;background:var(--accent)}
.costbar .pkg{width:32%;background:var(--wax)}
.costbar .lab{width:22%;background:var(--labor)}
.legend{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--ink-2);font-size:14px}
.legend span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}
.legend .ing::before{background:var(--accent)}
.legend .pkg::before{background:var(--wax)}
.legend .lab::before{background:var(--labor)}

.around{padding:72px 0 88px;border-top:1px solid var(--line)}
.around-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
@media (max-width:900px){.around-grid{grid-template-columns:1fr;gap:20px}}

/* ---------- maker pages ---------- */
.cover-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.cover-grid h2{font-size:clamp(28px,3.6vw,40px);font-weight:600;margin-bottom:22px}
.aside{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px 24px 20px}
.aside h2{font-size:22px;font-weight:600;margin-bottom:10px}
.aside p{color:var(--ink-2);font-size:16px}
.aside .ctas{margin-top:6px}
.aside+.aside{margin-top:16px}
.callout{border-left:3px solid var(--accent);background:var(--accent-soft);padding:18px 20px;border-radius:0 12px 12px 0;margin-top:32px}
.callout h3{font-size:19px;font-weight:600;margin-bottom:8px}
.callout p{color:var(--ink);font-size:16px}
.callout p:last-child{margin-bottom:0}
.callout .small{font-size:14.5px;color:var(--ink-2)}
@media (max-width:900px){.cover-grid{grid-template-columns:1fr;gap:32px}}

.maker-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.maker-list li{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) 12.5rem;gap:8px 40px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line)}
.maker-list h2{font-size:clamp(24px,3vw,32px);font-weight:600}
.maker-list h2 a{color:var(--ink);text-decoration:none}
.maker-list h2 a::after{content:"";position:absolute;inset:0}
.maker-list li:hover h2 a{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.maker-list p{color:var(--ink-2);margin:0}
.maker-list .state{margin:0;justify-self:end}
@media (max-width:760px){.maker-list li{grid-template-columns:1fr}.maker-list .state{justify-self:start;grid-row:1}}

/* ---------- pricing ---------- */
.price-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.price-tag{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;padding:30px 28px;box-shadow:0 24px 48px -32px rgba(30,43,47,.4)}
.price-tag .big{font:600 clamp(52px,7vw,84px)/.95 var(--display);letter-spacing:-.03em}
.price-tag .small{display:block;color:var(--muted);margin-top:10px;font-size:15.5px}
.price-tag ul{margin:22px 0 0;padding:0;list-style:none;border-top:1px dashed var(--line-strong)}
.price-tag li{padding:10px 0;border-bottom:1px solid var(--sunk);color:var(--ink-2)}
.price-tag li:last-child{border-bottom:0}
@media (max-width:900px){.price-block{grid-template-columns:1fr;gap:32px}}

/* ---------- story ---------- */
.story-page{padding:24px 0 96px}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.story-body p{font-size:19px;line-height:1.7;color:var(--ink-2);max-width:60ch}
.story-body p.first{color:var(--ink)}
.the-question{position:sticky;top:104px;margin:0;padding:0}
.the-question p{font:600 clamp(30px,3.8vw,46px)/1.1 var(--display);letter-spacing:-.02em;color:var(--ink);max-width:18ch;margin:0}
.the-question .then{display:block;margin-top:24px;font:600 18px var(--body);color:var(--accent-ink);letter-spacing:0}
.signature{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:16px;color:var(--ink-2)}
.signature b{display:block;color:var(--ink);font:600 20px var(--display)}
@media (max-width:900px){.story-grid{grid-template-columns:1fr;gap:32px}.the-question{position:static}}

/* ---------- help / faq ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:56px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font:600 19px/1.3 var(--display);padding:18px 40px 18px 0;min-height:44px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:10px;height:10px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{color:var(--ink-2);margin:0 0 18px}
.steps{list-style:none;margin:28px 0 0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--accent);color:var(--accent-ink);font:600 18px var(--display)}
.steps h3{font-size:20px;font-weight:600;margin:6px 0 6px}
.steps p{color:var(--ink-2);margin:0}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:20px}}

/* ---------- long-form text (privacy, support) ---------- */
.prose{max-width:70ch}
.prose h2{font-size:clamp(24px,2.8vw,30px);font-weight:600;margin:48px 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:19px;font-weight:600;margin:28px 0 8px}
.prose p,.prose li{color:var(--ink-2)}
.prose ul,.prose ol{padding-left:22px;margin:0 0 1em}
.prose li{margin:6px 0;max-width:62ch}
.prose strong{color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:16px}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}
.prose th{font-weight:600;color:var(--ink);white-space:nowrap}
.prose td{color:var(--ink-2)}
.updated{color:var(--muted);font-size:15px}
.contact-card{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px 26px;margin:0 0 56px}
.contact-card p{margin:0;color:var(--ink-2)}
.contact-card .addr{font:600 clamp(19px,2.4vw,24px) var(--display);color:var(--ink);display:block;margin-bottom:4px;word-break:break-word}
@media (max-width:640px){.prose th{white-space:normal}.prose table,.prose tbody,.prose tr,.prose th,.prose td{display:block}.prose th{padding-bottom:0;border-bottom:0}.prose td{padding-top:4px}}

/* ---------- 404 ---------- */
.lost{padding:72px 0 120px}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--line);padding:28px 0 calc(28px + env(safe-area-inset-bottom));font-size:15px;color:var(--muted)}
footer.site .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;align-items:center}
footer.site p{margin:0}
footer.site ul{display:flex;flex-wrap:wrap;gap:0 6px;list-style:none;margin:0 -10px;padding:0}
footer.site a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--ink-2);text-decoration:none;border-radius:8px}
footer.site a:hover{color:var(--ink);text-decoration:underline}
