:root{
  --navy:#0e2a47;--navy-2:#16406b;--green:#0b8a4f;--green-d:#08703f;--mint:#e8f6ee;--sky:#eaf2fb;
  --ink:#16202c;--muted:#5a6676;--line:#dfe4ea;--bg:#ffffff;--soft:#f6f8fb;--err:#c0392b;--gold:#f2b632;
  --r:16px;--shadow:0 18px 40px rgba(14,42,71,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:12px}
body{font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
body.has-sticky{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
a{color:var(--navy-2)}
img,svg{display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.narrow{max-width:760px}

.adbar{background:var(--soft);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.adbar .wrap{padding-top:6px;padding-bottom:6px;text-align:center}
.adbar a{color:var(--muted)}

header.top{background:#fff;border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:21px;letter-spacing:-.4px;text-decoration:none;color:var(--navy)}
.logo b{color:var(--green);font-weight:800}
.topnav{display:none;gap:22px;font-size:15px;font-weight:600}
.topnav a{text-decoration:none;color:var(--muted)}
.topnav a:hover{color:var(--navy)}

.hero{background:linear-gradient(180deg,var(--sky) 0,#f4f8fc 70%,#fff 100%);padding:22px 0 34px}
.hero-grid{display:grid;gap:20px}
.eyebrow{display:inline-block;background:#fff;border:1px solid #cfe0f1;color:var(--navy-2);font-weight:700;font-size:13px;padding:5px 11px;border-radius:999px;margin-bottom:12px}
.hero h1{font-size:30px;line-height:1.15;letter-spacing:-.8px;color:var(--navy);margin-bottom:10px}
.hero h1 em{font-style:normal;color:var(--green)}
.lede{color:#3d4b5c;font-size:16.5px;margin-bottom:14px}
.checks{list-style:none;display:grid;gap:7px;font-size:15px;font-weight:600;color:var(--navy)}
.checks li{display:flex;gap:9px;align-items:flex-start}
.checks svg{flex:none;width:20px;height:20px;margin-top:1px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;background:var(--green);border-radius:50%;padding:3px}
.checks sup a{text-decoration:none;color:var(--muted);font-size:11px}

.card{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);border:1px solid #e3e9f0;padding:20px 18px 18px;position:relative}
.progress{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:13px;color:var(--muted);font-weight:600}
.bar{flex:1;height:7px;background:#e8edf3;border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;width:20%;background:var(--green);border-radius:99px;transition:width .3s}
.step{display:none}
.step.on{display:block;animation:in .25s ease}
@keyframes in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.q{font-size:21px;font-weight:800;line-height:1.25;margin-bottom:4px;letter-spacing:-.3px;color:var(--navy)}
.hint{color:var(--muted);font-size:14px;margin-bottom:14px}
.opts{display:grid;gap:9px}
.opts.two{grid-template-columns:1fr 1fr}
.opt{display:flex;align-items:center;gap:8px;width:100%;min-height:52px;padding:11px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-weight:650;font-size:16px;color:var(--ink);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}
.opts.two .opt{font-size:15px;line-height:1.25;justify-content:center;text-align:center}
.opt:hover{border-color:#b9cbe0}
.opt:active{transform:scale(.99)}
.opt[aria-pressed="true"]{border-color:var(--green);background:var(--mint)}
.opt .sub{color:var(--muted);font-weight:500;font-size:14px}
.opt .arrow{margin-left:auto;color:#9aa5b5;font-size:20px}
.field{margin-bottom:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label.l{display:block;font-size:14px;font-weight:650;margin-bottom:5px}
input.in{width:100%;height:50px;padding:0 13px;border:2px solid var(--line);border-radius:12px;font:inherit;font-size:16px;color:var(--ink);background:#fff;-webkit-appearance:none;appearance:none}
input.in:focus{outline:none;border-color:var(--navy-2);box-shadow:0 0 0 3px rgba(22,64,107,.14)}
input.in.bad{border-color:var(--err)}
.err{color:var(--err);font-size:13px;margin-top:4px}
.err:empty{display:none}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:56px;border:0;border-radius:12px;background:var(--green);color:#fff;font:inherit;font-size:18px;font-weight:800;cursor:pointer;margin-top:14px;text-decoration:none;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 0 var(--green-d)}
.btn:hover{background:#0a7f49}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--green-d)}
.btn[disabled]{opacity:.6;pointer-events:none}
.back{display:inline-block;background:none;border:0;color:var(--muted);font:inherit;font-size:14px;font-weight:600;margin-top:12px;padding:6px 0;cursor:pointer}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-size:11.5px;line-height:1.45;color:var(--muted)}
.consent input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--green)}
.secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:12.5px;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.done{text-align:center;padding:10px 0 4px}
.done .ok{width:64px;height:64px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;margin:0 auto 12px}
.done p{color:var(--muted);margin:8px 0 4px}
.small{font-size:13px;color:var(--muted)}
.formerr{background:#fdecea;color:var(--err);border-radius:10px;padding:10px 12px;font-size:14px;margin-top:12px}
.formerr:empty{display:none}

.band{padding:44px 0}
.band.alt{background:var(--soft)}
h2{font-size:25px;letter-spacing:-.5px;text-align:center;color:var(--navy);margin-bottom:6px}
.sub-h{text-align:center;color:var(--muted);margin-bottom:22px}
.band.alt h2{margin-bottom:22px}
.steps{display:grid;gap:14px}
.s{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.s b{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:15px;margin-bottom:10px}
.s h3{font-size:17px;margin-bottom:4px;color:var(--navy)}
.s p{font-size:15px;color:var(--muted)}
.uses{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.uses div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}
.uses .ic{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--mint);color:var(--green);margin-bottom:9px}
.uses .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.uses h3{font-size:15.5px;color:var(--navy);margin-bottom:2px}
.uses p{font-size:14px;color:var(--muted)}
.facts{display:grid;gap:10px;margin-bottom:14px}
.facts div{background:var(--sky);border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.facts span{color:var(--muted);font-size:14px;font-weight:600}
.facts strong{color:var(--navy);font-size:18px}
.example{border:1px solid var(--line);border-radius:var(--r);padding:18px}
.example h3{color:var(--navy);margin-bottom:6px;font-size:17px}
.example p{margin-bottom:8px}
.tips{list-style:none;display:grid;gap:10px}
.tips li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--muted);font-size:15px}
.tips strong{color:var(--navy);display:block}
details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:9px}
summary{list-style:none;cursor:pointer;padding:15px 44px 15px 16px;font-weight:700;font-size:16px;position:relative;color:var(--navy)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:22px;color:var(--muted);font-weight:400}
details[open] summary::after{content:"\2013"}
details p{padding:0 16px 15px;color:var(--muted);font-size:15px}
.cta2{text-align:center;padding:0 16px 40px}
.cta2 .btn{max-width:340px;margin:0 auto}

footer{background:var(--navy);color:#b9c6d6;font-size:12.5px;line-height:1.6;padding:30px 0 34px}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:16px;font-weight:600;font-size:13.5px}
footer a{color:#fff}
footer p{margin-bottom:10px}
footer strong{color:#e6edf5}

.sticky{position:fixed;left:0;right:0;bottom:0;z-index:20;background:#fff;border-top:1px solid var(--line);padding:8px 16px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(14,42,71,.08);transition:transform .2s}
.sticky .btn{margin:0;min-height:50px;font-size:17px}
.sticky.hide{transform:translateY(110%)}

/* legal pages */
.doc{padding:28px 0 56px}
.doc h1{font-size:28px;color:var(--navy);letter-spacing:-.5px;margin-bottom:4px}
.doc .upd{color:var(--muted);font-size:14px;margin-bottom:18px}
.doc h2{text-align:left;font-size:19px;margin:26px 0 8px}
.doc h3{font-size:16px;color:var(--navy);margin:16px 0 4px}
.doc p,.doc li{color:#334152;margin-bottom:10px}
.doc ul{padding-left:22px}
.doc .box{background:var(--sky);border-radius:14px;padding:16px;margin:14px 0}
.doc table{width:100%;border-collapse:collapse;margin:10px 0 14px;font-size:14.5px}
.doc th,.doc td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.doc th{background:var(--soft);color:var(--navy)}
.doc form{display:grid;gap:12px;margin-top:10px}
.doc select.in{width:100%;height:50px;padding:0 13px;border:2px solid var(--line);border-radius:12px;font:inherit;font-size:16px;background:#fff}

@media (min-width:760px){
  .topnav{display:flex}
  .hero{padding:48px 0 60px}
  .hero-grid{grid-template-columns:1.05fr 1fr;gap:48px;align-items:start}
  .hero-copy{padding-top:26px}
  .hero h1{font-size:44px}
  .lede{font-size:18px}
  .card{padding:26px}
  .steps{grid-template-columns:repeat(3,1fr)}
  .uses{grid-template-columns:repeat(3,1fr)}
  .facts{grid-template-columns:repeat(3,1fr)}
  .facts div{flex-direction:column;align-items:flex-start;gap:2px}
  h2{font-size:30px}
  body.has-sticky{padding-bottom:0}
  .sticky{display:none}
}
