/* Tax Field Guide - design system. System fonts only; no scripts, no external assets (CSP). */
:root{--ink:#14202e;--muted:#4f5d6e;--line:#dbe2ea;--bg:#f4f7fa;--surface:#fff;--navy:#0f2a43;--navy2:#17405f;--accent:#0b6b66;--accent-d:#084f4b;--accent-l:#e3f3f1;--gold:#f2b84b;
--green:#2e7d32;--yellow:#8a6d00;--orange:#c2570a;--red:#b71c1c;--r:12px;--shadow:0 1px 2px rgba(15,42,67,.06),0 8px 24px rgba(15,42,67,.06);
--s1:.25rem;--s2:.5rem;--s3:1rem;--s4:1.5rem;--s5:2.5rem;--s6:4rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}
a{color:var(--accent-d);text-underline-offset:2px}a:hover{color:var(--navy)}
:focus-visible{outline:3px solid #1a73e8;outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--navy);padding:8px 14px;z-index:20}.skip:focus{left:8px;top:8px}
h1,h2,h3{color:var(--navy);line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(1.9rem,4.5vw,2.9rem);margin:.2em 0 .4em}h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:var(--s5) 0 var(--s3)}h3{font-size:1.15rem;margin:.2em 0 .4em}
.proto{background:#fff3cd;border-bottom:1px solid #e0c36a;color:#4d3a00;font-size:13px;text-align:center;padding:6px 12px}
header.site{background:var(--navy);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 0 rgba(255,255,255,.08)}
header.site .in{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}
header.site a{color:#fff;text-decoration:none;font-weight:600}header.site a:hover{color:var(--gold)}
header.site .brand{font-size:1.2rem;letter-spacing:.2px;display:flex;align-items:center;gap:10px}
.logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--gold));display:inline-block}
header.site nav{display:flex;gap:var(--s4);flex-wrap:wrap;flex:1}header.site nav a{padding:6px 2px;border-bottom:2px solid transparent}header.site nav a:hover{border-color:var(--gold)}
header.site .actions{display:flex;align-items:center;gap:var(--s3);margin-left:auto}header.site a.signin{font-weight:500;font-size:14px;color:#cfd9e4}
header.site a.btn{background:var(--gold);border-color:var(--gold);color:var(--navy)}header.site a.btn:hover{background:#ffd27a;color:var(--navy)}
main{max-width:1120px;margin:0 auto;padding:var(--s4) 20px var(--s5)}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:11px 20px;border-radius:999px;text-decoration:none;font-weight:700;border:2px solid var(--accent);font-size:16px;cursor:pointer;line-height:1.3;transition:background .15s}
.btn:hover{background:var(--accent-d);border-color:var(--accent-d);color:#fff}.btn.alt{background:transparent;color:var(--accent-d);border-color:var(--accent)}.btn.alt:hover{background:var(--accent-l);color:var(--accent-d)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn.gold:hover{background:#ffd27a;border-color:#ffd27a;color:var(--navy)}.eyebrow.dark{color:var(--accent-d)}.prose{max-width:70ch}
.btn.lg{padding:15px 28px;font-size:18px}.btn.light{background:#fff;color:var(--navy);border-color:#fff}.btn.light:hover{background:var(--accent-l);color:var(--navy)}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn.ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.hero{background:radial-gradient(1000px 400px at 85% -10%,rgba(242,184,75,.22),transparent 60%),linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:20px;padding:clamp(28px,6vw,64px);margin-top:var(--s3)}
.hero h1{color:#fff;max-width:18ch}.hero p.sub{color:#d6e2ee;font-size:1.2rem;max-width:56ch}.hero .cta{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-top:var(--s4)}
.hero .fine{font-size:14px;color:#b9cadb;margin-top:var(--s3)}.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.section-head p{color:var(--muted);max-width:62ch;margin-top:-.5rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--s3)}
.card{border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);background:var(--surface);box-shadow:var(--shadow)}.card h3{margin-top:0}
.card.link{display:block;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}.card.link:hover{transform:translateY(-2px);border-color:var(--accent)}
.step .num{width:38px;height:38px;border-radius:50%;background:var(--accent-l);color:var(--accent-d);font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:var(--s2)}
.band{background:var(--bg);border-radius:20px;padding:clamp(20px,4vw,40px);margin-top:var(--s5)}.band h2:first-child{margin-top:0}
.pill{display:inline-block;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;color:#fff;vertical-align:middle}
.Green{background:var(--green)}.Yellow{background:var(--yellow)}.Orange{background:var(--orange)}.Red{background:var(--red)}.GreenYellow{background:linear-gradient(90deg,var(--green),var(--yellow))}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}.tablewrap table{border:0}
table{border-collapse:collapse;width:100%;font-size:15px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:12px 14px;vertical-align:top}th{background:var(--bg);font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}tr:last-child td{border-bottom:0}
.legal{border:1px solid #cfd8e3;background:#f6f9fc;border-radius:10px;padding:12px 14px;margin:var(--s4) 0;font-size:14px}
.legal .tag{display:inline-block;background:#8a5200;color:#fff;font-weight:700;font-size:11px;padding:2px 7px;border-radius:4px;margin-right:6px;letter-spacing:.4px}
.provider-note{border:1px solid #c9d3e0;background:#f3f6fa;border-radius:10px;padding:12px 14px;margin:14px 0}.provider-note b.lbl{background:var(--red);color:#fff;padding:2px 8px;border-radius:4px;font-size:12px}
.banner-red{border-left:6px solid var(--red);background:#fdecea;padding:10px 14px;border-radius:6px;margin:10px 0}.banner-orange{border-left:6px solid var(--orange);background:#fff1e6;padding:10px 14px;border-radius:6px;margin:10px 0}
fieldset{border:1px solid var(--line);border-radius:10px;margin:0 0 18px;padding:14px 18px}legend{font-weight:700;padding:0 6px}
.q{margin:14px 0}.q label.t{display:block;font-weight:600;margin-bottom:4px}.why{color:var(--muted);font-size:13px}
select,input[type=text],.checks label{display:inline-block;margin:3px 14px 3px 0;font-weight:400}
.score{font-weight:800;font-size:18px}.muted{color:var(--muted)}.small{font-size:14px}
.result{border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin:12px 0}.result h3{margin:.1em 0 .3em}
.pagehead{padding:var(--s3) 0 var(--s2)}.pagehead h1{margin:0 0 .2em}.pagehead p{color:var(--muted);margin:0;max-width:70ch}
footer{background:var(--navy);color:#cfd9e4;margin-top:var(--s5)}footer a{color:#fff}footer .in{max-width:1120px;margin:0 auto;padding:var(--s5) 20px var(--s4);font-size:14px}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s4);margin-bottom:var(--s4)}footer h4{color:#fff;margin:0 0 .5rem;font-size:14px;text-transform:uppercase;letter-spacing:.06em}footer ul{list-style:none;margin:0;padding:0}footer li{margin:.3rem 0}
footer .disc{border-top:1px solid rgba(255,255,255,.18);padding-top:var(--s3);color:#b9cadb}
code{background:#eef1f5;padding:1px 4px;border-radius:4px;font-size:13px}
.status-UNVERIFIED,.status-PARTIAL{background:#fff2cc}.status-N\/A{background:#eee}.status-VERIFIED,.status-VERIFIED-NEG{background:#e2f3e4}
@media (max-width:640px){header.site .in{gap:var(--s2) var(--s3)}header.site nav{order:3;flex-basis:100%;gap:var(--s3)}header.site .actions{gap:var(--s2)}.btn.lg{width:100%;text-align:center}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.vb-unclaimed{background:#eef1f5;color:#3b4654;border:1px solid #c5cdd8}
.scorechip{display:inline-block;border-radius:999px;padding:3px 12px;font-size:13px;border:1px solid var(--line);background:#fff;white-space:nowrap}.scorechip b{font-size:16px}
.t-strong{background:#e2f3e4;border-color:#9bcf9f;color:#1d5e22}.t-good{background:#eaf6e4;border-color:#b5d99a;color:#33591a}.t-mixed{background:#fff6d9;border-color:#e3cd7a;color:#5c4400}.t-weak{background:#ffe9d6;border-color:#eaa974;color:#7a3500}.t-serious{background:#fdecea;border-color:#e39a95;color:#8a1515}
.bar{height:10px;border-radius:6px;background:#e6ebf1;overflow:hidden;min-width:120px}.bar>span{display:block;height:100%;background:var(--accent)}
.bar-0{width:0}.bar-5{width:5%}.bar-10{width:10%}.bar-15{width:15%}.bar-20{width:20%}.bar-25{width:25%}.bar-30{width:30%}.bar-35{width:35%}.bar-40{width:40%}.bar-45{width:45%}.bar-50{width:50%}.bar-55{width:55%}.bar-60{width:60%}.bar-65{width:65%}.bar-70{width:70%}.bar-75{width:75%}.bar-80{width:80%}.bar-85{width:85%}.bar-90{width:90%}.bar-95{width:95%}.bar-100{width:100%}
.statline{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin:var(--s2) 0}
details.ev{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin:10px 0;background:#fff}details.ev summary{cursor:pointer;font-weight:700}
.st{font-size:11px;font-weight:700;padding:1px 7px;border-radius:4px;background:#eef1f5;color:#3b4654}.st-VERIFIED{background:#e2f3e4;color:#1d5e22}.st-VERIFIED-NEG{background:#e8eef7;color:#1f3864}.st-UNVERIFIED{background:#fff2cc;color:#6b5200}.st-PARTIAL{background:#fff2cc;color:#6b5200}
/* portal (registration, advisors, admin) */
.sponsored{display:inline-block;background:#fff3cd;border:1px solid #c9a227;color:#5c4400;font-size:12px;font-weight:700;padding:2px 8px;border-radius:4px;margin:2px 0}
.src{display:inline-block;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;vertical-align:middle}.src.pub{background:#e2f3e4;color:#1d5e22}.src.self{background:#e8eef7;color:#1f3864}
.vb{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.vb-verified{background:#e2f3e4;color:#1d5e22}.vb-pending,.vb-not_started{background:#fff2cc;color:#6b5200}.vb-rejected{background:#fdecea;color:#8a1515}
.vis{font-size:12px;font-weight:700;padding:2px 7px;border-radius:4px}.vis-public{background:#e2f3e4;color:#1d5e22}.vis-confidential{background:#3b3b3b;color:#fff}
.acctbar{background:#eef1f5;border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:13px;margin-bottom:12px}
form.inline{display:inline}.linkbtn{background:none;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:13px;padding:0}
.small-btn{padding:5px 10px;font-size:13px}.checks.col label{display:block}.dis{color:#6b7480}
textarea{width:100%;max-width:640px;font:14px/1.4 system-ui,sans-serif;padding:6px 8px;border:1px solid #b9c1cc;border-radius:6px}
.kind{font-size:11px;font-weight:700;background:#eef1f5;padding:1px 6px;border-radius:4px}.note{background:#fffaf0;border-left:4px solid #b26b00;padding:4px 8px;margin:4px 0;list-style:none}
pre{white-space:pre-wrap;margin:0}
/* strategy library: uniform cards */
.catnav{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin:var(--s3) 0 var(--s2)}.catnav a{border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:14px;text-decoration:none;background:#fff;font-weight:600}.catnav a:hover{border-color:var(--accent);background:var(--accent-l)}
.cat{scroll-margin-top:80px}.cat h2{margin-bottom:.2rem}.catblurb{margin:0 0 var(--s3)}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s3);align-items:stretch}
.scard{display:flex;flex-direction:column;height:100%;padding:var(--s3) var(--s4)}.scard h3{margin:.3em 0 .3em;min-height:2.4em}
.stag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-d);background:var(--accent-l);border-radius:6px;padding:2px 8px;align-self:flex-start}
.ssum{margin:0 0 var(--s3);color:var(--muted);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.5em}
.chips{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.chips.row{flex-direction:row;flex-wrap:wrap;margin:var(--s2) 0}
.chip{display:flex;gap:8px;align-items:baseline;font-size:13px;border-top:1px solid var(--line);padding-top:6px;min-height:1.6em}.chips.row .chip{border:1px solid var(--line);border-radius:999px;padding:3px 12px;background:#fff}
.chip>span:first-child{font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;min-width:7.2em;white-space:nowrap}.chips.row .chip>span:first-child{min-width:0}
ul.plain{padding-left:1.1rem}.shead h1{margin:.3em 0 .1em}

/* Strategy FAQ ("Common questions"), rendered only for published FAQ blocks */
.faq{margin:.5rem 0 1.5rem}.faq-item{border-top:1px solid #e3e8ee;padding:.75rem 0}.faq-item h3{font-size:1.02rem;margin:0 0 .35rem}.faq-item p{margin:.25rem 0}
