:root { --navy:#0b1730; --navy-2:#12223f; --ink:#e9edf5; --muted:#9aa6bd; --red:#c8102e; --gold:#c9a24a; --line:rgba(255,255,255,.08); --ok:#4cc38a; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--navy); color:var(--ink); font-family:"Barlow",system-ui,sans-serif; line-height:1.5; }
a { color: var(--gold); }
.top { display:flex; align-items:center; justify-content:space-between; gap:12px; max-width:1120px; margin:0 auto; padding:14px 16px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:1.2rem; letter-spacing:.06em; text-transform:uppercase; }
.brand img { width:34px; height:34px; border-radius:50%; }
.top nav a { color:var(--muted); text-decoration:none; font-weight:600; margin-left:16px; }
.top nav a:hover { color:var(--ink); }
main { max-width:820px; margin:0 auto; padding:20px 16px 24px; }
.crumbs { font-size:.85rem; color:var(--muted); margin:0 0 14px; }
.crumbs a { color:var(--muted); text-decoration:none; }
.kicker { margin:22px 0 6px; color:var(--gold); font-family:"Barlow Condensed",sans-serif; font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.9rem; }
h1 { font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:clamp(1.9rem,5vw,2.6rem); line-height:1.1; margin:0 0 10px; }
h2 { font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:1.45rem; margin:42px 0 10px; }
h2::after { content:""; display:block; width:48px; height:3px; background:var(--red); margin-top:8px; }
h3 { font-family:"Barlow Condensed",sans-serif; letter-spacing:.04em; text-transform:uppercase; font-size:1.1rem; margin:22px 0 6px; }
.meta { color:var(--muted); font-size:.92rem; margin:0 0 14px; }
.answer { font-size:1.15rem; margin:0 0 22px; }
article p, article li, .prose p { font-family:"Source Serif 4",Georgia,serif; font-size:1.08rem; line-height:1.7; color:#dfe5ef; }
article p, .prose p { margin:0 0 16px; }
article ul, article ol { padding-left:22px; }
sup a { text-decoration:none; font-size:.75em; font-family:"Barlow",sans-serif; font-weight:700; }
.free-box { background:var(--navy-2); border:1px solid var(--gold); border-radius:10px; padding:14px 16px; margin:0 0 26px; }
.free-box strong { color:var(--gold); }
.note { font-size:.88rem; color:var(--muted); }
.warn { background:rgba(200,16,46,.12); border:1px solid rgba(200,16,46,.45); border-radius:10px; padding:12px 16px; margin:18px 0; font-family:"Barlow",sans-serif; }
.warn p { font-family:"Barlow",sans-serif !important; font-size:1rem !important; margin:0 !important; }
.checks { list-style:none; padding:0 !important; margin:0 0 20px; display:grid; gap:12px; counter-reset:c; }
.checks li { counter-increment:c; background:var(--navy-2); border:1px solid var(--line); border-radius:10px; padding:12px 14px 12px 52px; position:relative; font-family:"Barlow",sans-serif !important; font-size:1rem !important; line-height:1.5 !important; }
.checks li::before { content:counter(c); position:absolute; left:14px; top:12px; width:26px; height:26px; border-radius:50%; background:var(--red); color:#fff; font-weight:700; display:grid; place-items:center; }
.checks b { color:var(--ink); }
.steps { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin:0 0 10px; list-style:none; padding:0 !important; }
.steps li { background:var(--navy-2); border:1px solid var(--line); border-radius:10px; padding:14px 16px; font-family:"Barlow",sans-serif !important; font-size:1rem !important; line-height:1.5 !important; }
.steps b { display:block; font-family:"Barlow Condensed",sans-serif; font-size:1.15rem; letter-spacing:.04em; text-transform:uppercase; color:var(--gold); }
.tablewrap { overflow-x:auto; margin:0 0 20px; border:1px solid var(--line); border-radius:10px; }
table { border-collapse:collapse; width:100%; font-size:.95rem; min-width:560px; }
th, td { text-align:left; padding:8px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:var(--navy-2); font-family:"Barlow Condensed",sans-serif; letter-spacing:.05em; text-transform:uppercase; color:var(--gold); }
tr:last-child td { border-bottom:0; }
caption { text-align:left; color:var(--muted); font-size:.85rem; padding:8px 12px; caption-side:bottom; }
/* bill diagram: one side only, shown >150% of natural width (31 CFR 411.1) */
figure.bill { margin:22px 0 26px; }
figure.bill svg { display:block; width:100%; height:auto; border-radius:4px; background:#fff; }
figure.bill figcaption, figure.legend figcaption { margin-top:8px; font-size:.88rem; color:var(--muted); }
.bill-wide { display:none; }
.bill-crops { display:grid; gap:12px; grid-template-columns:1fr; overflow:hidden; }
.bill-crops svg { min-width:320px; }
@media (min-width:560px) { .bill-crops { grid-template-columns:1fr 1fr; } }
@media (min-width:1040px) {
  .bill-crops { display:none; }
  .bill-wide { display:block; width:980px; position:relative; left:50%; transform:translateX(-50%); }
}
.legend-list { counter-reset:l; list-style:none; padding:0 !important; margin:0 0 20px; display:grid; gap:8px; }
.legend-list li { counter-increment:l; padding-left:38px; position:relative; font-family:"Barlow",sans-serif !important; font-size:1rem !important; line-height:1.5 !important; }
.legend-list li::before { content:counter(l); position:absolute; left:0; top:0; width:26px; height:26px; border-radius:50%; background:var(--gold); color:#0b1730; font-weight:700; display:grid; place-items:center; }
.rules { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); list-style:none; padding:0 !important; margin:0 0 20px; }
.rules li { background:var(--navy-2); border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-family:"Barlow",sans-serif !important; font-size:1rem !important; line-height:1.5 !important; }
.rules b { display:block; color:var(--gold); font-family:"Barlow Condensed",sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.denoms { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); margin:0 0 20px; }
.denom { background:var(--navy-2); border:1px solid var(--line); border-radius:10px; padding:16px; text-decoration:none; color:var(--ink); display:block; }
.denom b { display:block; font-family:"Barlow Condensed",sans-serif; font-size:2rem; line-height:1; }
.denom small { color:var(--muted); }
a.denom:hover, a.denom:focus-visible { border-color:var(--gold); outline:none; }
.denom.soon { opacity:.7; }
details.faq { background:var(--navy-2); border:1px solid var(--line); border-radius:10px; padding:10px 16px; margin:0 0 10px; }
details.faq summary { cursor:pointer; font-weight:700; }
details.faq p { margin:10px 0 4px; }
.sources ol { padding-left:22px; font-size:.92rem; color:var(--muted); }
.sources li { margin:0 0 6px; overflow-wrap:anywhere; font-family:"Barlow",sans-serif !important; font-size:.92rem !important; line-height:1.5 !important; color:var(--muted) !important; }
.sources li:target { color:var(--ink) !important; }
.cta { display:inline-block; margin:0 0 20px; padding:12px 22px; background:var(--red); color:#fff; text-decoration:none; font-weight:700; border-radius:6px; letter-spacing:.03em; }
/* form */
form.bill-form { background:var(--navy-2); border:1px solid var(--line); border-radius:12px; padding:18px 18px 20px; margin:12px 0 10px; }
form.bill-form fieldset { border:0; padding:0; margin:0 0 14px; }
.fld { display:grid; gap:4px; margin:0 0 14px; }
.fld label, .fld .lab { font-weight:600; font-size:.95rem; }
.fld .opt { color:var(--muted); font-weight:400; }
.fld small { color:var(--muted); }
.two { display:grid; gap:14px; grid-template-columns:1fr; }
@media (min-width:560px) { .two { grid-template-columns:1fr 1fr; } }
form.bill-form input[type=email], form.bill-form input[type=text], form.bill-form textarea { width:100%; background:#0e1c36; color:var(--ink); border:1px solid rgba(255,255,255,.2); border-radius:6px; padding:10px 12px; font:inherit; }
form.bill-form input[type=file] { width:100%; color:var(--muted); font:inherit; }
form.bill-form textarea { min-height:110px; resize:vertical; }
form.bill-form input:focus-visible, form.bill-form textarea:focus-visible { outline:2px solid var(--gold); outline-offset:1px; }
.chk { display:flex; gap:10px; align-items:flex-start; margin:0 0 10px; font-size:.95rem; }
.chk input { margin-top:4px; width:18px; height:18px; flex:none; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
form.bill-form button[type=submit] { background:var(--red); color:#fff; border:0; border-radius:6px; padding:12px 22px; font:inherit; font-weight:700; letter-spacing:.03em; cursor:pointer; }
form.bill-form button[type=submit]:disabled { background:#4a5370; color:#cfd6e3; cursor:not-allowed; }
.form-status { margin:12px 0 0; min-height:1.4em; font-size:.95rem; }
.form-status.error { color:#ff8a98; }
.form-status.ok { color:var(--ok); }
.form-status.info { color:var(--muted); }
form.is-soon fieldset { opacity:.75; }
footer { border-top:1px solid var(--line); padding:26px 16px 36px; text-align:center; color:var(--muted); font-size:.9rem; margin-top:30px; }
footer p { max-width:720px; margin:0 auto 10px; }
footer a { color:var(--gold); text-decoration:none; font-weight:600; }
footer .social { display:flex; justify-content:center; gap:14px; margin:0 0 18px; flex-wrap:wrap; }
footer .social a { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.14); color:var(--ink); font-size:.95rem; }
footer .social a:hover, footer .social a:focus-visible { border-color:var(--gold); background:rgba(201,162,74,.08); outline:none; }
footer .social svg { width:18px; height:18px; fill:currentColor; }
footer .footer-links { max-width:720px; margin:0 auto 14px; font-size:.9rem; line-height:1.9; }
footer .footer-links a { white-space:nowrap; }
footer .footer-links span { color:var(--muted); margin:0 8px; opacity:.6; }
footer .legal { font-size:.8rem; opacity:.8; }
@media (max-width:520px) { .top nav a:first-child { display:none; } article p { font-size:1.05rem; } }

/* confirmation window */
.bill-done { max-width: 460px; width: calc(100% - 32px); border: 1px solid var(--gold); border-radius: 14px; background: var(--navy-2); color: var(--ink); padding: 28px 26px 22px; text-align: center; box-shadow: 0 24px 60px rgba(0,0,0,.55); }
.bill-done::backdrop { background: rgba(5,10,25,.72); }
.bill-done .bd-icon { width: 58px; height: 58px; margin: 0 auto 12px; border-radius: 50%; background: var(--gold); color: var(--navy); font-size: 32px; line-height: 58px; font-weight: 700; }
.bill-done h3 { font-family: "Barlow Condensed", sans-serif; font-size: 1.6rem; margin: 0 0 10px; }
.bill-done p { margin: 0 0 10px; line-height: 1.5; }
.bill-done .bd-ref b { letter-spacing: .08em; color: var(--gold); }
.bill-done .bd-small { color: var(--muted); font-size: .88rem; }
.bill-done .bd-close { margin-top: 8px; padding: 11px 26px; border: 0; border-radius: 6px; background: var(--gold); color: var(--navy); font-weight: 700; font-size: 1rem; cursor: pointer; }
