/* ============================================================
   BoatPlay — boatplay.us
   Same design system as betapacific.com (dark, Archivo / Instrument Sans /
   IBM Plex Mono, teal accent). One self-contained file, no build step.
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
img,svg,canvas{display:block;max-width:100%;}
/* ™ on the BoatPlay wordmark — BOATPLAY filed at the USPTO 9/5/26, serial 50092428 (AB#2172). ® only after registration. */
sup.tm{font-size:.45em;font-weight:600;line-height:0;vertical-align:super;letter-spacing:0;margin-left:.06em;opacity:.8;}

:root{
  --ground:#05080C;
  --ground-2:#080D13;
  --raise:#0D141C;
  --line:#18222C;
  --line-soft:#111922;
  --ink:#F2F6F8;
  --ink-2:#8E9DAA;
  --ink-3:#54626E;
  --accent:#6FE3D2;
  --accent-dim:#1E5C55;
  --ok:#5DD39E; --warn:#F0B54A; --bad:#F08A8A;
  --f-disp:'Archivo','Archivo Fallback',system-ui,sans-serif;
  --f-body:'Instrument Sans','Instrument Sans Fallback',system-ui,-apple-system,sans-serif;
  --f-mono:'IBM Plex Mono','IBM Plex Mono Fallback',ui-monospace,monospace;
}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2{font-family:var(--f-disp);margin:0;line-height:1.02;letter-spacing:-.035em;text-wrap:balance;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}
.label{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);}
.eyebrow{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
section h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700;max-width:22ch;}
section .sub{color:var(--ink-2);max-width:58ch;margin-top:20px;font-size:1.06rem;}
[hidden]{display:none!important;}

/* ---------------- nav ---------------- */
nav{position:absolute;top:0;left:0;right:0;z-index:10;}
nav .inner{display:flex;align-items:center;gap:22px;padding:24px 28px;max-width:1120px;margin:0 auto;}
.mark{font-family:var(--f-disp);font-weight:800;font-size:20px;letter-spacing:-.03em;margin-right:auto;display:flex;align-items:center;gap:10px;}
.mark svg{width:26px;height:22px;color:var(--accent);filter:drop-shadow(0 0 10px rgba(111,227,210,.55));}
nav .navlink{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);
  border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .18s,color .18s;white-space:nowrap;}
nav .navlink:hover,nav .navlink:focus-visible{border-bottom-color:var(--accent);color:var(--accent);}
nav .navlink.hi{color:var(--accent);}
nav .co{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);}
@media (max-width:760px){nav .co,nav .navlink:not(.hi){display:none;}}

/* ---------------- hero ---------------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line-soft);}
.hero .shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 52%;}
#sky{position:absolute;inset:0;width:100%;height:100%;display:block;}
.hero .veil{position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(5,8,12,.94) 0%, rgba(5,8,12,.80) 34%, rgba(5,8,12,.30) 62%, rgba(5,8,12,.42) 100%),
    linear-gradient(180deg, rgba(5,8,12,.72) 0%, rgba(5,8,12,.18) 34%, rgba(5,8,12,.62) 78%, var(--ground) 100%);}
@media (max-width:820px){
  .hero .shot{object-position:62% 46%;}
  .hero .veil{background:linear-gradient(180deg, rgba(5,8,12,.88) 0%, rgba(5,8,12,.55) 30%, rgba(5,8,12,.80) 62%, var(--ground) 100%);}
}
.hero .inner{position:relative;width:100%;padding:130px 0 90px;}
.hero .pill{display:inline-flex;align-items:center;gap:9px;margin-bottom:30px;border:1px solid var(--line);border-radius:100px;padding:6px 14px;
  background:rgba(13,20,28,.6);backdrop-filter:blur(6px);}
.hero .pill i{width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none;animation:pulse 2.6s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.25;}}
.hero h1{font-size:clamp(2.9rem,7.2vw,6rem);font-weight:800;max-width:14ch;}
.hero h1 em{font-style:normal;color:var(--accent);}
@media (min-width:700px){.hero h1 em{white-space:nowrap;}}
.hero .sub{margin-top:28px;font-size:clamp(1.1rem,1.9vw,1.45rem);color:var(--ink-2);max-width:46ch;line-height:1.5;}
.hero .sub b{color:var(--ink);font-weight:500;}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px;}
.scrollcue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;}
.scrollcue span{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);}
.scrollcue .bar{width:1px;height:38px;background:linear-gradient(var(--ink-3),transparent);}

/* ---------------- buttons ---------------- */
.cta{display:inline-flex;align-items:center;gap:13px;font-family:var(--f-disp);font-weight:700;font-size:16px;letter-spacing:-.01em;
  padding:16px 30px;border:1px solid var(--accent);color:var(--accent);border-radius:100px;transition:.18s;cursor:pointer;background:transparent;}
.cta:hover{background:var(--accent);color:#04100E;}
.cta.solid{background:var(--accent);color:#04100E;}
.cta.solid:hover{background:#8CF0E1;}
.cta.ghost{border-color:var(--line);color:var(--ink);}
.cta.ghost:hover{border-color:var(--accent);background:transparent;color:var(--accent);}
.cta svg{width:15px;height:15px;}
.cta[disabled]{opacity:.55;cursor:wait;}

/* ---------------- two surfaces ---------------- */
.surfaces{padding:110px 0 100px;border-bottom:1px solid var(--line-soft);}
.surfaces .lead{max-width:56ch;margin-bottom:64px;}
.twin{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
@media (max-width:880px){.twin{grid-template-columns:1fr;}}
.twin .cell{background:var(--ground);padding:44px 38px 46px;display:flex;flex-direction:column;}
.twin .cell:hover{background:var(--ground-2);}
.twin .cell .n{font-family:var(--f-mono);font-size:10px;letter-spacing:.24em;color:var(--accent);display:block;margin-bottom:22px;}
.twin .cell h3{font-family:var(--f-disp);font-size:1.7rem;font-weight:700;margin:0 0 12px;letter-spacing:-.025em;}
.twin .cell p{color:var(--ink-2);font-size:15.5px;line-height:1.62;}
.twin .cell ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:9px;}
.twin .cell li{font-size:14.5px;color:var(--ink-2);padding-left:18px;position:relative;line-height:1.5;}
.twin .cell li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.75;}
.twin .cell li b{color:var(--ink);font-weight:500;}
.twin .cell .act{margin-top:auto;padding-top:28px;display:flex;gap:12px;flex-wrap:wrap;}
.twin .cell .cta{padding:13px 22px;font-size:14.5px;}

/* device sketches */
.device{margin:0 0 26px;color:var(--accent);}
.device svg{width:100%;max-width:300px;height:auto;}

/* ---------------- feature grid ---------------- */
.features{padding:104px 0 100px;border-bottom:1px solid var(--line-soft);}
.features .lead{max-width:56ch;margin-bottom:64px;}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid{grid-template-columns:1fr;}}
.cell{background:var(--ground);padding:40px 32px 44px;transition:background .3s;}
.cell:hover{background:var(--ground-2);}
.cell .gl{width:32px;height:32px;color:var(--accent);margin-bottom:24px;display:block;}
.cell h3{font-family:var(--f-disp);font-size:1.32rem;font-weight:700;margin:0 0 11px;letter-spacing:-.02em;}
.cell p{color:var(--ink-2);font-size:15px;line-height:1.62;}
.cell .n{font-family:var(--f-mono);font-size:10px;letter-spacing:.24em;color:var(--ink-3);display:block;margin-bottom:20px;}
.cell .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px;}
.cell .tags span{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);border-radius:100px;padding:4px 9px;}
.cell .tags span.h{color:var(--accent);border-color:var(--accent-dim);}

/* ---------------- helm preview ---------------- */
.helmview{padding:104px 0 112px;border-bottom:1px solid var(--line-soft);background:var(--ground-2);}
.helmframe{margin-top:42px;border:1px solid var(--line);background:var(--raise);}
.helmstage{position:relative;overflow:hidden;}
.helmstage iframe{display:block;width:100%;height:min(76vh,700px);border:0;}
.hcap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0;padding:12px 15px;border-top:1px solid var(--line);font-family:var(--f-mono);
  font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);}
.hcap a{color:var(--accent);margin-left:auto;}
.hcap a:hover{text-decoration:underline;}
@media (max-width:900px){
  .helmstage iframe{position:absolute;top:0;left:0;width:1180px;height:700px;transform:scale(var(--hs,1));transform-origin:0 0;}
}

/* ---------------- modes strip ---------------- */
.modes{padding:96px 0;border-bottom:1px solid var(--line-soft);}
.modes .row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:40px;}
@media (max-width:880px){.modes .row{grid-template-columns:repeat(3,1fr);}}
@media (max-width:520px){.modes .row{grid-template-columns:repeat(2,1fr);}}
.chip{border:1px solid var(--line);border-radius:10px;padding:20px 16px;background:var(--raise);}
.chip b{display:block;font-family:var(--f-mono);font-size:12px;letter-spacing:.24em;color:var(--accent);margin-bottom:8px;}
.chip span{font-size:13.5px;color:var(--ink-2);line-height:1.5;display:block;}
.chip.night b{color:#ff5545;}

/* ---------------- apps ---------------- */
.apps{padding:104px 0 112px;border-bottom:1px solid var(--line-soft);}
.apps .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
@media (max-width:860px){.apps .wrap{grid-template-columns:1fr;gap:40px;}}
.apps p.big{color:var(--ink-2);font-size:17px;line-height:1.6;max-width:56ch;margin:20px 0 26px;}
.stores{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.store{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 18px 12px 14px;background:var(--raise);transition:.18s;min-width:200px;}
.store:hover{border-color:var(--accent);}
.store svg{width:26px;height:26px;color:var(--ink);flex:none;}
.store small{display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);}
.store b{display:block;font-family:var(--f-disp);font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.15;}
.store .soon{font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-dim);border-radius:100px;padding:3px 7px;margin-left:auto;}
.apps .fine{margin-top:18px;font-size:13px;color:var(--ink-3);max-width:52ch;}
.phone{border:1px solid var(--line);border-radius:36px;background:#0b1526;padding:14px;max-width:320px;margin:0 auto;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.phone .scr{border-radius:26px;background:#0b1526;border:1px solid var(--line);overflow:hidden;font-family:var(--f-body);}
.phone .top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--line);}
.phone .top b{font-family:var(--f-disp);font-weight:700;font-size:14px;}
.phone .badge{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.14em;color:var(--ok);border:1px solid rgba(93,211,158,.35);border-radius:100px;padding:3px 7px;}
.phone .mrow{display:flex;gap:6px;padding:10px 12px;overflow:hidden;}
.phone .mrow span{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.14em;border:1px solid var(--line);border-radius:100px;padding:5px 8px;color:var(--ink-2);white-space:nowrap;}
.phone .mrow span.on{color:#04100E;background:var(--accent);border-color:var(--accent);}
.phone .tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px 12px 12px;}
.phone .tile{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--raise);}
.phone .tile small{font-family:var(--f-mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:4px;}
.phone .tile b{font-family:var(--f-disp);font-size:20px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.phone .tile b i{font-style:normal;font-size:11px;color:var(--ink-2);margin-left:3px;font-weight:500;}
.phone .tile.wide{grid-column:1/-1;}
.phone .tile.wide .v{display:flex;justify-content:space-between;align-items:baseline;}
.phone .tile .ok{color:var(--ok);font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;}
.phone .tabs{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);padding:10px 4px 14px;}
.phone .tabs span{font-family:var(--f-mono);font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:center;}
.phone .tabs span.on{color:var(--accent);}

/* ---------------- safety ---------------- */
.safety{padding:110px 0;border-bottom:1px solid var(--line-soft);background:var(--ground-2);}
.safety blockquote{margin:0;font-family:var(--f-disp);font-weight:600;font-size:clamp(1.5rem,3.6vw,2.8rem);line-height:1.14;letter-spacing:-.03em;max-width:22ch;}
.safety blockquote em{font-style:normal;color:var(--accent);}
.safety .attrib{margin-top:30px;max-width:56ch;color:var(--ink-2);font-size:1.02rem;}
.safety ul{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media (max-width:860px){.safety ul{grid-template-columns:1fr;}}
.safety li{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--raise);font-size:14.5px;line-height:1.55;color:var(--ink-2);}
.safety li b{display:block;color:var(--ink);font-family:var(--f-disp);font-weight:700;letter-spacing:-.01em;margin-bottom:4px;}

/* ---------------- register ---------------- */
.reg{padding:104px 0 112px;border-bottom:1px solid var(--line-soft);}
.reg .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start;}
@media (max-width:860px){.reg .wrap{grid-template-columns:1fr;gap:34px;}}
.reg h2{margin-bottom:18px;}
.reg p.big{color:var(--ink-2);font-size:17px;line-height:1.6;max-width:48ch;margin-bottom:26px;}
.reg ol{margin:0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:s;}
.reg ol li{border:1px solid var(--line);border-radius:8px;padding:14px 16px 14px 54px;background:var(--raise);font-size:14.5px;line-height:1.55;color:var(--ink-2);position:relative;counter-increment:s;}
.reg ol li::before{content:counter(s,decimal-leading-zero);position:absolute;left:16px;top:15px;font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:var(--accent);}
.reg ol li b{display:block;color:var(--ink);font-family:var(--f-disp);font-weight:700;letter-spacing:-.01em;margin-bottom:3px;}
.form{border:1px solid var(--line);border-radius:12px;background:var(--raise);padding:28px 28px 26px;}
.form h3{font-family:var(--f-disp);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0 0 4px;}
.form .lead{color:var(--ink-2);font-size:14.5px;margin:0 0 22px;}
.form .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
.form .full{grid-column:1 / -1;}
.form label{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px;}
.form input,.form select,.form textarea{width:100%;background:var(--ground-2);border:1px solid var(--line);border-radius:8px;color:var(--ink);
  font-family:var(--f-body);font-size:15px;padding:12px 13px;transition:border-color .15s;}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent);}
.form textarea{min-height:96px;resize:vertical;}
.form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px;}
.form .checks{display:flex;gap:10px;flex-wrap:wrap;}
.form .checks label{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-body);font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink-2);
  border:1px solid var(--line);border-radius:100px;padding:8px 14px;cursor:pointer;margin:0;}
.form .checks input{width:auto;padding:0;margin:0;accent-color:var(--accent);}
.form .checks label:has(input:checked){border-color:var(--accent);color:var(--ink);}
.form .actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;}
.form .note{font-size:12.5px;color:var(--ink-3);}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form .status{margin-top:16px;font-size:14px;line-height:1.5;color:var(--ink-2);}
.form .status.err{color:var(--bad);}
.form .status a{color:var(--accent);}
.done{border:1px solid var(--accent-dim);border-radius:12px;background:rgba(111,227,210,.06);padding:28px;}
.done h3{font-family:var(--f-disp);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0 0 8px;color:var(--accent);}
.done p{margin:0;color:var(--ink-2);font-size:15px;}
.done p+p{margin-top:10px;}
@media (max-width:640px){.form .fgrid{grid-template-columns:1fr;} .form{padding:22px 18px 20px;}}

/* ---------------- OEM strip ---------------- */
.oem{padding:80px 0;border-bottom:1px solid var(--line-soft);background:var(--ground-2);}
.oem .wrap{display:flex;gap:40px;align-items:center;flex-wrap:wrap;}
.oem .t{flex:1 1 420px;}
.oem h2{font-size:clamp(1.4rem,2.6vw,2rem);}
.oem p{color:var(--ink-2);margin-top:12px;max-width:56ch;font-size:15.5px;}
.faq{padding:96px 0;border-bottom:1px solid var(--line-soft);}
.faq h2{font-size:clamp(1.5rem,3vw,2.3rem);max-width:24ch;}
.faq dl{margin:36px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.faq dl>div{border:1px solid var(--line);border-radius:8px;padding:18px 20px;background:var(--raise);}
.faq dt{color:var(--ink);font-family:var(--f-disp);font-weight:700;letter-spacing:-.01em;font-size:1.02rem;margin-bottom:8px;}
.faq dd{margin:0;color:var(--ink-2);font-size:14.5px;line-height:1.55;}
@media (max-width:760px){.faq dl{grid-template-columns:1fr;}}

/* ---------------- footer ---------------- */
footer{border-top:1px solid var(--line-soft);padding:54px 0 62px;background:var(--ground-2);}
.fgrid{display:flex;gap:44px;flex-wrap:wrap;align-items:flex-start;}
.fgrid > div:first-child{margin-right:auto;max-width:36ch;}
.fname{font-family:var(--f-disp);font-weight:700;font-size:17px;margin-bottom:11px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;}
.fname svg{width:20px;height:17px;color:var(--accent);}
footer p,footer a{font-size:13.5px;color:var(--ink-3);line-height:1.75;display:block;}
footer a:hover{color:var(--accent);}
.legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--line-soft);font-family:var(--f-mono);font-size:10.5px;letter-spacing:.05em;color:var(--ink-3);line-height:1.9;}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

/* ---------------- section pages (AB#2208) ---------------- */
nav .navlink.on{color:var(--ink);border-bottom-color:var(--line);}
.phero{position:relative;padding:150px 0 68px;border-bottom:1px solid var(--line-soft);
  background:radial-gradient(900px 420px at 18% 0%,rgba(111,227,210,.10),transparent 60%),var(--ground-2);}
.phero h1{font-size:clamp(2.3rem,5vw,4rem);font-weight:800;max-width:16ch;}
.phero h1 em{font-style:normal;color:var(--accent);}
.phero .sub{margin-top:22px;font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--ink-2);max-width:52ch;line-height:1.5;}
.phero .sub b{color:var(--ink);font-weight:500;}
.phero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:26px;}
.crumbs a{color:var(--ink-3);}
.crumbs a:hover{color:var(--accent);}
.crumbs span::before{content:"/";margin-right:8px;opacity:.6;}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}
.more:hover{text-decoration:underline;}
.more svg{width:14px;height:14px;}
.prose{padding:92px 0;border-bottom:1px solid var(--line-soft);}
.prose.alt{background:var(--ground-2);}
.prose .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start;}
@media (max-width:860px){.prose .wrap{grid-template-columns:1fr;gap:28px;}}
.prose h2{font-size:clamp(1.5rem,2.8vw,2.2rem);}
.prose .sub{margin-top:14px;font-size:1rem;}
.prose p{color:var(--ink-2);font-size:16px;line-height:1.65;max-width:62ch;margin:0 0 16px;}
.prose p b{color:var(--ink);font-weight:500;}
.prose h3{font-family:var(--f-disp);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin:26px 0 8px;}
.prose ul{margin:0 0 16px;padding-left:18px;color:var(--ink-2);font-size:15.5px;line-height:1.6;}
.prose li{margin-bottom:6px;}
.prose li b{color:var(--ink);font-weight:500;}
.cards{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.cards.three{grid-template-columns:repeat(3,1fr);}
.cards li{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--raise);font-size:14.5px;line-height:1.55;color:var(--ink-2);}
.cards li b{display:block;color:var(--ink);font-family:var(--f-disp);font-weight:700;letter-spacing:-.01em;margin-bottom:4px;}
.cards li a{color:var(--ink);}
.cards li a:hover{color:var(--accent);}
.cards li .n{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--accent);display:block;margin-bottom:6px;}
@media (max-width:860px){.cards.three{grid-template-columns:1fr;}}
@media (max-width:760px){.cards{grid-template-columns:1fr;}}
.ctaband{padding:80px 0;border-bottom:1px solid var(--line-soft);background:var(--ground-2);}
.ctaband .wrap{display:flex;gap:40px;align-items:center;flex-wrap:wrap;}
.ctaband .t{flex:1 1 420px;}
.ctaband h2{font-size:clamp(1.4rem,2.6vw,2rem);}
.ctaband p{color:var(--ink-2);margin-top:12px;max-width:56ch;font-size:15.5px;}
.ctaband .acts{display:flex;gap:12px;flex-wrap:wrap;}
footer .pages a{display:block;}
