@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --mist:#edf0f1; --ink:#0f1b26; --slate:#46596a; --line:#c5cfd6; --cere:#e2a80f; --wing:#0a1118;
  --dim:#9aabb9; --rule:#1d2a36; --panel:#0e1821;
  --sans:"Inter Tight",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --pad:clamp(1.25rem,4vw,3.5rem);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--wing);color:var(--mist);font:400 1.0625rem/1.6 var(--sans)}
a{color:inherit}
:focus-visible{outline:2px solid var(--cere);outline-offset:4px}
.k{font:500 .75rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0}
.acc-k{color:var(--cere)}

/* Bracketed control: four corner marks, no box. */
.brk{--bc:var(--dim);position:relative;display:inline-block;font:500 .8125rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--mist);padding:1rem 1.5rem;
  background:
   linear-gradient(var(--bc),var(--bc)) top left/9px 1px no-repeat, linear-gradient(var(--bc),var(--bc)) top left/1px 9px no-repeat,
   linear-gradient(var(--bc),var(--bc)) top right/9px 1px no-repeat, linear-gradient(var(--bc),var(--bc)) top right/1px 9px no-repeat,
   linear-gradient(var(--bc),var(--bc)) bottom left/9px 1px no-repeat, linear-gradient(var(--bc),var(--bc)) bottom left/1px 9px no-repeat,
   linear-gradient(var(--bc),var(--bc)) bottom right/9px 1px no-repeat, linear-gradient(var(--bc),var(--bc)) bottom right/1px 9px no-repeat;
  transition:background-color .2s, color .2s}
.brk:hover{--bc:var(--mist);background-color:rgba(237,240,241,.06)}
.brk.solid{--bc:var(--cere);background-color:rgba(226,168,15,.12);color:var(--mist)}
.brk.solid:hover{background-color:var(--cere);color:var(--wing)}
.brk.sm{padding:.75rem 1.1rem;font-size:.75rem}

.top{position:absolute;inset:0 0 auto 0;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.25rem var(--pad)}
.brand{font:600 1.0625rem/1 var(--sans);letter-spacing:.16em;text-decoration:none}
.top nav{display:flex;gap:2.25rem;font:500 .75rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.top nav a{text-decoration:none;color:var(--dim);padding:.5rem 0}
.top nav a:hover{color:var(--mist)}
.top .brk{justify-self:end}

.hero{position:relative;min-height:min(100svh,58rem);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--rule)}
.hero-art{position:absolute;inset:0;width:100%;height:100%}
.hero-art .grid path{stroke:#16222d;stroke-width:1}
.hero-art .topo path{fill:none;stroke:#46596a;stroke-width:1}
.hero-art .hud{fill:none;stroke:var(--cere);stroke-width:1.4}
.hero-art .los{stroke-dasharray:2 8;stroke-width:1.2;animation:trace 10s linear infinite}
.hero-art .dia,.hero-art .lock circle{fill:var(--cere);stroke:none}
.hero-art .pin path{fill:none;stroke:var(--dim);stroke-width:1.2}
.hero-art text{fill:var(--cere);stroke:none;font:500 12px var(--mono);letter-spacing:.12em}
.hero-art .lock{animation:breathe 4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
@keyframes trace{to{stroke-dashoffset:-200}}
@keyframes breathe{from{opacity:.65}to{opacity:1}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,24,.92) 0%,rgba(10,17,24,.55) 45%,rgba(10,17,24,0) 75%),linear-gradient(0deg,var(--wing) 0%,rgba(10,17,24,0) 40%);pointer-events:none}
.hero-in{position:relative;z-index:2;padding:9rem var(--pad) clamp(3rem,7vw,5.5rem);max-width:60rem}
.hero h1{font:400 clamp(3rem,8.2vw,7.25rem)/.98 var(--sans);letter-spacing:-.045em;margin:1.4rem 0 0;max-width:11ch}
.lede{max-width:33rem;margin:1.75rem 0 0;color:#c3cfd8;font-size:1.1875rem;line-height:1.55}
.actions{display:flex;flex-wrap:wrap;gap:1rem;margin:2.25rem 0 0}

.mission{padding:clamp(4.5rem,11vw,9rem) var(--pad);display:flex;justify-content:center}
.frame{--bc:var(--slate);max-width:52rem;margin:0;padding:3rem clamp(1.5rem,5vw,4rem);text-align:center;font:400 clamp(1.6rem,3.4vw,2.6rem)/1.2 var(--sans);letter-spacing:-.025em;color:var(--mist);
  background:
   linear-gradient(var(--bc),var(--bc)) top left/14px 1px no-repeat, linear-gradient(var(--bc),var(--bc)) top left/1px 14px no-repeat,
   linear-gradient(var(--bc),var(--bc)) top right/14px 1px no-repeat, linear-gradient(var(--bc),var(--bc)) top right/1px 14px no-repeat,
   linear-gradient(var(--bc),var(--bc)) bottom left/14px 1px no-repeat, linear-gradient(var(--bc),var(--bc)) bottom left/1px 14px no-repeat,
   linear-gradient(var(--bc),var(--bc)) bottom right/14px 1px no-repeat, linear-gradient(var(--bc),var(--bc)) bottom right/1px 14px no-repeat}

.caps{padding:0 var(--pad) clamp(4rem,9vw,7rem)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tile{background:var(--panel);border:1px solid var(--rule);display:flex;flex-direction:column}
.tile.wide{grid-column:span 2}
.tile .art{aspect-ratio:16/8;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(80% 90% at 50% 50%,#132230 0%,var(--panel) 75%)}
.tile.wide .art{aspect-ratio:16/6.4}
.tile .art svg{width:100%;max-width:30rem;height:auto}
.tile .ln{fill:none;stroke:#3a4f62;stroke-width:1.2}
.tile .acc{fill:none;stroke:var(--cere);stroke-width:1.6}
.tile .acc.w{stroke-width:5;stroke-linecap:butt}
.tile .accf{fill:var(--cere)}
.tile .dot{fill:#3a4f62}
.tile .lb text,.tile .lb1{fill:var(--dim);font:500 11px var(--mono);letter-spacing:.14em}
.tile .big{fill:var(--mist);font:400 54px var(--sans);letter-spacing:-.03em}
.tile .cap{padding:1.5rem 1.5rem 1.75rem}
.tile h3{font:400 1.6rem/1.15 var(--sans);letter-spacing:-.025em;margin:.75rem 0 .7rem;max-width:24ch}
.tile .cap p:not(.k){margin:0;color:var(--dim);font-size:1rem;max-width:40rem}

.partner{border-top:1px solid var(--rule);background:linear-gradient(180deg,var(--panel),var(--wing))}
.partner-in{padding:clamp(4rem,9vw,7rem) var(--pad);max-width:60rem}
.partner h2{font:400 clamp(2.2rem,5.2vw,4.25rem)/1.02 var(--sans);letter-spacing:-.04em;margin:1.25rem 0 0;max-width:16ch}
.partner-in>p:not(.k):not(.actions){max-width:34rem;margin:1.5rem 0 0;color:#c3cfd8;font-size:1.125rem}

.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;padding:1.75rem var(--pad) 2.25rem;border-top:1px solid var(--rule);font:500 .75rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.foot nav{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem}
.foot a{text-decoration:none}.foot a:hover{color:var(--mist)}

@media (max-width:900px){
  .tiles{grid-template-columns:1fr 1fr}
  .tile.wide{grid-column:span 2}
}
@media (max-width:640px){
  .top{grid-template-columns:1fr auto}.top nav{display:none}
  .hero{min-height:42rem}
  .hero-in{padding-top:7rem}
  .tiles{grid-template-columns:1fr}
  .tile.wide{grid-column:auto}
  .tile.wide .art{aspect-ratio:16/8}
  .hero::after{background:linear-gradient(0deg,var(--wing) 15%,rgba(10,17,24,.55) 70%,rgba(10,17,24,.3) 100%)}
}
@media (prefers-reduced-motion:reduce){.hero-art .los,.hero-art .lock{animation:none}html{scroll-behavior:auto}}

.top-act{justify-self:end;display:flex;align-items:center;gap:1.25rem}
.plain{font:500 .75rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-decoration:none}
.plain:hover{color:var(--mist)}

.pricing{padding:clamp(4rem,9vw,7rem) var(--pad);border-top:1px solid var(--rule)}
.pricing h2{font:400 clamp(2rem,4.6vw,3.6rem)/1.04 var(--sans);letter-spacing:-.04em;margin:1.25rem 0 0;max-width:20ch}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:clamp(2rem,5vw,3.5rem)}
.price{--bc:var(--slate);display:flex;flex-direction:column;padding:2rem;background-color:var(--panel);text-decoration:none;font:inherit;letter-spacing:normal;text-transform:none;color:var(--mist)}
.price h3{font:400 1.6rem/1.15 var(--sans);letter-spacing:-.025em;margin:.8rem 0 .6rem}
.price>p:not(.k){color:var(--dim);margin:0 0 1.5rem}
.tiers{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid var(--rule)}
.tiers li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1.25rem;padding:1rem 0;border-bottom:1px solid var(--rule)}
.tiers span{color:var(--dim)}
.tiers b{font:500 1.5rem/1 var(--mono);color:var(--mist)}.tiers small{font-size:.75rem;color:var(--dim);margin-left:.2rem}
.tiers a{font:500 .75rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cere);text-decoration:none;padding:.6rem 0 .6rem .5rem}
.tiers a::after{content:" →"}.tiers a:hover{color:var(--mist)}
.fine{color:var(--dim);font-size:.9375rem;margin:1.5rem 0 0}
@media (max-width:900px){.price-grid{grid-template-columns:1fr}}
@media (max-width:640px){.top-act .plain{display:none}.price{padding:1.5rem}}

/* ---- pricing page ---- */
.top-solid{position:relative;border-bottom:1px solid var(--rule)}
.top nav a[aria-current]{color:var(--mist)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ph{padding:clamp(3rem,7vw,5rem) var(--pad) 1rem}
.ph h1{font:400 clamp(2.4rem,6vw,4.75rem)/1 var(--sans);letter-spacing:-.045em;margin:1.25rem 0 0;max-width:18ch}
.ph .lede{margin-top:1.25rem}
.ptabs{padding:2rem var(--pad) 1rem}
.seg{display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);margin-bottom:2rem;max-width:100%}
.seg a{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.5rem;text-decoration:none;font:500 .875rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.seg a span{font:400 .875rem/1.3 var(--sans);letter-spacing:0;text-transform:none}
.seg a+a{border-left:1px solid var(--rule)}
.seg a:hover{color:var(--mist)}
/* the panel in the URL hash is shown; with no hash, vendor is the default */
.panel{display:none}
.panel:target,.ptabs:not(:has(.panel:target)) #vendor{display:block}
.ptabs:has(#vendor:target) .seg-v,.ptabs:not(:has(.panel:target)) .seg-v,.ptabs:has(#partner:target) .seg-p{background:rgba(226,168,15,.1);color:var(--mist);box-shadow:inset 0 -2px 0 var(--cere)}
.panel-intro{max-width:46rem;color:#c3cfd8;font-size:1.125rem;margin:0 0 2rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cards.one{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pc{--bc:var(--slate);display:flex;flex-direction:column;padding:2rem;background-color:var(--panel);color:var(--mist);font:inherit;letter-spacing:normal;text-transform:none;text-decoration:none}
.pc.pop{--bc:var(--cere)}
.pc h3{margin:.9rem 0 0;font:400 1rem/1 var(--sans);color:var(--dim)}
.pc h3 b{font:500 3rem/1 var(--mono);color:var(--mist);letter-spacing:-.02em;margin-right:.35rem}
.pc-yr{margin:.5rem 0 0;font:400 .8125rem/1.4 var(--mono);color:var(--dim)}
.pc-yr b{color:var(--mist);font-weight:500}
.pc-sub{margin:.6rem 0 1.25rem;font-size:1.125rem}
.pc ul{list-style:none;margin:0 0 1.75rem;padding:0;border-top:1px solid var(--rule)}
.pc li{padding:.7rem 0;border-bottom:1px solid var(--rule);color:#c3cfd8}
.pc .brk{margin-top:auto;text-align:center}
.up{padding:2rem;border:1px dashed var(--rule);align-self:stretch;display:flex;flex-direction:column;gap:.75rem}
.up p{margin:0;color:#c3cfd8}.up a{color:var(--cere);font:500 .8125rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;margin-top:auto}
.ft-h{font:400 1.6rem/1.15 var(--sans);letter-spacing:-.025em;margin:4rem 0 1.25rem}
.tw{overflow-x:auto;border:1px solid var(--rule)}
.ft{border-collapse:collapse;width:100%;min-width:40rem}
.ft.single{min-width:0}
.ft th,.ft td{padding:.85rem 1rem;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;font-weight:400}
.ft thead th{font:500 .75rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);background:var(--panel);position:sticky;top:0}
.ft thead b{font:500 1.25rem/1.4 var(--mono);color:var(--mist);letter-spacing:0}
.ft td{text-align:center;white-space:nowrap;font:500 .9375rem/1.4 var(--mono);color:var(--mist);width:9rem}
.ft tbody th{color:#c3cfd8}
.ft tr.grp th{font:500 .75rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cere);padding-top:1.75rem;background:transparent}
.ft .yes{color:var(--cere)}.ft .no{color:#4b5d6c}
.pfaq{padding:clamp(4rem,8vw,6rem) var(--pad);max-width:60rem}
.pfaq h2{font:400 clamp(2rem,4vw,3rem)/1 var(--sans);letter-spacing:-.04em;margin:0 0 2rem}
.pfaq dt{font:500 1.125rem/1.4 var(--sans);margin-top:1.75rem}
.pfaq dd{margin:.5rem 0 0;color:#c3cfd8;max-width:46rem}
@media (max-width:900px){.cards{grid-template-columns:1fr}.cards.one{grid-template-columns:1fr}}
@media (max-width:640px){.seg{display:grid;width:100%}.seg a{padding:.9rem 1rem}.ft th,.ft td{padding:.75rem .6rem}.ft td{width:auto}}
.brand img{display:block;height:20px;width:auto}
.foot-logo{display:block;height:16px;width:auto;opacity:.75}

/* ---- legal pages (terms, privacy, refunds) ---- */
.legal{padding:clamp(3rem,7vw,5rem) var(--pad) clamp(4rem,8vw,6rem);max-width:48rem}
.legal h1{font:400 clamp(2.25rem,5vw,3.5rem)/1.05 var(--sans);letter-spacing:-.04em;margin:1rem 0 .75rem}
.legal .upd{font:400 .8125rem/1.4 var(--mono);color:var(--dim);margin:0 0 1.5rem}
.legal-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:0 0 1.5rem;margin-bottom:1rem;border-bottom:1px solid var(--rule);font:500 .75rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.legal .legal-nav a{color:var(--dim);text-decoration:none}
.legal .legal-nav a[aria-current=page]{color:var(--cere)}
.legal section{padding-top:1.25rem}
.legal h2{font:500 1.25rem/1.3 var(--sans);letter-spacing:-.01em;margin:1.25rem 0 .5rem}
.legal p,.legal li{color:#c3cfd8;line-height:1.65}
.legal ul{padding-left:1.25rem}
.legal li{margin:.35rem 0}
.legal a{color:var(--cere)}
.ltab{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9375rem;display:block;overflow-x:auto}
.ltab th,.ltab td{text-align:left;vertical-align:top;padding:.6rem .75rem .6rem 0;border-bottom:1px solid var(--rule);color:#c3cfd8}
.ltab th{font:500 .6875rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}

/* ---- FAQ page ---- */
.faq .lede-s{color:#c3cfd8;max-width:44rem;margin:.5rem 0 1.75rem}
.faq .lede-s a{color:var(--cere)}
.faq section{padding-top:1.5rem}
.faq h2{font:400 clamp(1.5rem,3vw,2rem)/1.15 var(--sans);letter-spacing:-.03em;margin:1.5rem 0 .25rem}
.faq .qa{border-top:1px solid var(--rule);padding:1.1rem 0 .4rem}
.faq .qa h3{font:500 1.0625rem/1.4 var(--sans);margin:0 0 .45rem;color:var(--mist)}
.faq .qa p{margin:0 0 .5rem}
.faq .faq-cta{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--rule)}
.faq .faq-cta .actions{margin-top:1.25rem}
.faq .faq-cta a{color:var(--mist)}

/* ---- home: how it works, coverage, FAQ teaser ---- */
.how,.cover,.hfaq{padding:clamp(4rem,9vw,7rem) var(--pad);border-top:1px solid var(--rule)}
.how h2,.cover h2,.hfaq h2,.caps-h{font:400 clamp(2rem,4vw,3rem)/1.05 var(--sans);letter-spacing:-.04em;margin:.9rem 0 2rem;max-width:22ch}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}
.steps li{counter-increment:s;background:var(--panel);border:1px solid var(--rule);padding:1.5rem}
.steps li::before{content:"0" counter(s);display:block;font:500 .75rem/1 var(--mono);letter-spacing:.16em;color:var(--cere);margin-bottom:1rem}
.steps h3{font:500 1.125rem/1.3 var(--sans);margin:0 0 .5rem}
.steps p{margin:0;color:var(--dim);font-size:.975rem}
.cover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 2rem;margin:0}
.cover-grid div{border-top:1px solid var(--rule);padding-top:1rem}
.cover-grid dt{font:500 .75rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 .5rem}
.cover-grid dd{margin:0;color:#c3cfd8}
.cover .note{color:var(--dim);max-width:46rem;margin:2rem 0 0}
.hfaq dl{max-width:52rem;margin:0}
.hfaq dt{font:500 1.0625rem/1.4 var(--sans);margin-top:1.5rem}
.hfaq dd{margin:.4rem 0 0;color:#c3cfd8}
.hfaq .more{margin-top:2rem}
.hfaq .more a,.cover .note a{color:var(--cere)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.cover-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps,.cover-grid{grid-template-columns:1fr}}
.pfaq .more-faq{margin-top:2rem}.pfaq .more-faq a{color:var(--cere)}

.px{position:absolute;width:1px;height:1px;left:-9999px;top:0}
