:root{
  --ink:#16324F;        /* deep blue text */
  --ledger:#1F5FA8;     /* professional blue */
  --rule:#D3DEEA;       /* soft blue rule */
  --paper:#F5F8FB;      /* very light blue-grey */
  --green:#E4F3E8;      /* light green highlight */
  --green-ink:#1E7A45;
  --white:#FFFFFF;
  --red:#B3261E;        /* auditor's red ink */
  --muted:#4A5568;
  --measure:68ch;
}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Public Sans",system-ui,sans-serif;line-height:1.6;font-variant-numeric:tabular-nums}
a{color:var(--ledger)}
a:focus-visible,button:focus-visible{outline:3px solid var(--ledger);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
header.site{background:var(--white);border-bottom:1px solid var(--rule)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{font-weight:800;font-size:1.25rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.brand span{color:var(--ledger)}
nav.main{display:flex;gap:22px;flex-wrap:wrap}
nav.main a{color:var(--ink);text-decoration:none;font-weight:500}
nav.main a:hover{color:var(--ledger)}
.btn{display:inline-block;background:var(--ledger);color:var(--white);padding:.7em 1.3em;border-radius:6px;text-decoration:none;font-weight:600;border:0}
.btn:hover{background:#184C87}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}

/* hero */
.hero{padding:72px 0 64px}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 20px;font-weight:800}
.lead{font-size:1.15rem;color:var(--muted);max-width:46ch;margin:0 0 28px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}

/* the statement being tagged */
.statement{background:var(--white);border:1px solid var(--rule);border-radius:4px;padding:22px 24px 10px;}
.statement .title{font-weight:700;font-size:.95rem;display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:0}
.line{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;padding:12px 0 6px;border-bottom:1px solid var(--rule)}
.line .amt{font-weight:600}
.tag{grid-column:1/3;justify-self:start;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.72rem;color:var(--ledger);background:#E3EEE7;border-left:3px solid var(--ledger);padding:2px 8px;margin:6px 0 4px;opacity:0;transform:translateX(-6px)}
.statement.go .tag{animation:tag .45s ease-out forwards}
.statement.go .line:nth-child(3) .tag{animation-delay:.5s}
.statement.go .line:nth-child(4) .tag{animation-delay:1s}
.statement.go .line:nth-child(5) .tag{animation-delay:1.5s}
.statement.go .line:nth-child(6) .tag{animation-delay:2s}
@keyframes tag{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tag{opacity:1;transform:none}.statement.go .tag{animation:none}}
.statement .tick{color:var(--red);font-weight:700;font-size:.85rem;padding:10px 0 12px}

section{padding:64px 0;border-top:1px solid var(--rule)}
section.white{background:var(--white)}
h2{font-size:1.85rem;letter-spacing:-.01em;margin:0 0 12px;line-height:1.2}
.sub{color:var(--muted);max-width:var(--measure);margin:0 0 36px}

ol.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
ol.steps li{counter-increment:s;border-top:3px solid var(--ink);padding-top:14px}
ol.steps li::before{content:counter(s);font-weight:800;font-size:2.2rem;color:var(--ledger);display:block;line-height:1;margin-bottom:8px}
ol.steps h3{margin:0 0 6px;font-size:1.05rem}
ol.steps p{margin:0;color:var(--muted);font-size:.95rem}

.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 48px;max-width:900px;padding:0;margin:0;list-style:none}
.checks li{padding:12px 0 12px 30px;border-bottom:1px solid var(--rule);position:relative}
.checks li::before{content:"✓";position:absolute;left:4px;top:11px;color:var(--green-ink);font-weight:800}

table.fees{width:100%;max-width:820px;border-collapse:collapse;background:var(--white);border:1px solid var(--rule)}
table.fees th,table.fees td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--rule)}
table.fees th{background:var(--ink);color:var(--white);font-weight:600}
table.fees td.p{font-weight:700;white-space:nowrap;text-align:right}
table.fees th.p{text-align:right}
.note{color:var(--muted);font-size:.92rem;max-width:var(--measure);margin-top:16px}

.two{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.two p{max-width:60ch}

footer.site{background:var(--ink);color:#D8DEE9;padding:40px 0;font-size:.92rem}
footer.site a{color:#FFFFFF}
footer.site .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer.site nav{display:flex;gap:18px;flex-wrap:wrap}

/* policy pages */
.doc{max-width:var(--measure);padding:56px 0 72px}
.doc h1{font-size:2.2rem}
.doc h2{font-size:1.25rem;margin:36px 0 8px}
.doc p,.doc li{color:#2D3748}
.doc .updated{color:var(--muted);font-size:.9rem}
.addr{background:var(--white);border:1px solid var(--rule);border-left:4px solid var(--ledger);padding:18px 22px;margin:20px 0}

@media (max-width:860px){
  .hero .wrap,.two{grid-template-columns:1fr;gap:36px}
  ol.steps{grid-template-columns:1fr 1fr}
  .checks{grid-template-columns:1fr}
  .hero{padding:44px 0}
}
@media (max-width:520px){
  html{font-size:16px}.wrap{padding:0 16px}
  ol.steps{grid-template-columns:1fr}
  nav.main{gap:14px;font-size:.92rem}
  table.fees th,table.fees td{padding:12px 10px}
}

/* price highlight */
.price{background:var(--green);border:1px solid #BFE3CB;border-radius:10px;padding:32px 34px}
.price .p1{font-size:1.05rem;font-weight:600;color:var(--green-ink);margin:0 0 6px}
.price .amount{font-size:clamp(3rem,6vw,4.4rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--ink);margin:0}
.price .amount small{font-size:.38em;font-weight:600;letter-spacing:0;color:var(--muted)}
.price .p2{margin:14px 0 0;color:var(--ink)}
.price ul{margin:16px 0 0;padding-left:20px;color:var(--muted);font-size:.95rem}
.req{max-width:var(--measure);padding:0;margin:0;list-style:none}
.req li{padding:10px 0;border-bottom:1px solid var(--rule)}
.req li b{color:var(--ink)}
.flag{background:var(--white);border-left:4px solid var(--ledger);padding:14px 18px;max-width:var(--measure);margin-top:22px}
table.fees td.sm{color:var(--muted);font-weight:500;text-align:right;white-space:nowrap}
.legal{font-size:.86rem;line-height:1.65}
.legal h2{font-size:1.02rem}
.legal ol{padding-left:20px}
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--rule);padding:4px 0}
.faq summary{cursor:pointer;font-weight:600;padding:12px 0;list-style-position:outside}
.faq details p{margin:0 0 14px;color:var(--muted);max-width:var(--measure)}
