:root{--b:#0a58a8;--b2:#073f7a;--b3:#e8f1fb;--t:#16202b;--m:#556373;--line:#e1e7ee;--bg:#f6f9fc;--r:12px;--w:1120px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:17.5px/1.7 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--t);background:#fff;text-rendering:optimizeLegibility}
a{color:var(--b);text-underline-offset:2px}a:hover{color:var(--b2)}
:focus-visible{outline:3px solid #f5a524;outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:20}.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 22px}
header.site{border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:10;backdrop-filter:saturate(1.4) blur(6px)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;text-decoration:none;color:var(--t);white-space:nowrap}
.logo img{width:30px;height:30px}.logo span{color:var(--b)}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
nav.main a{display:block;padding:8px 11px;border-radius:8px;text-decoration:none;color:var(--t);font-size:.95rem;font-weight:500;white-space:nowrap}
nav.main a:hover{background:var(--bg)}nav.main a[aria-current]{background:var(--b3);color:var(--b2);font-weight:700}
.hero{background:radial-gradient(1200px 400px at 85% -10%,#1f74c9 0,transparent 60%),linear-gradient(135deg,#0a58a8,#06386b);color:#fff;padding:64px 0 56px}
.hero h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.15;margin:0 0 16px;letter-spacing:-.01em;max-width:860px}
.hero p{font-size:1.18rem;max-width:760px;margin:0 0 26px;color:#e6eef8}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;color:#bcd6f2;margin:0 0 10px}
.btn{display:inline-block;background:#fff;color:var(--b2);padding:13px 22px;border-radius:10px;font-weight:700;text-decoration:none;margin:4px 10px 4px 0;transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.18);color:var(--b2)}
.btn.alt{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.85)}.btn.alt:hover{color:#fff}
.btn.blue{background:var(--b);color:#fff}.btn.blue:hover{background:var(--b2);color:#fff}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:34px}
.stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:var(--r);padding:14px 16px}
.stat b{display:block;font-size:1.6rem;line-height:1.2}.stat span{display:block;font-size:.92rem;line-height:1.45;color:#dbe7f5}
.hero .src{font-size:.82rem;color:#bcd6f2;margin:12px 0 0}.hero .src a{color:#dbe7f5}
main{padding:34px 0 10px}
article{max-width:800px}
main h1{font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.2;hyphens:auto;overflow-wrap:break-word;margin:.2em 0 .35em;letter-spacing:-.01em}
main h2{font-size:1.5rem;margin:1.9em 0 .55em;line-height:1.3;scroll-margin-top:84px}
main h3{font-size:1.17rem;margin:1.5em 0 .45em}
p,li{max-width:76ch}
.lead{font-size:1.18rem;color:#3c4a59}
.byline{font-size:.92rem;color:var(--m);margin:0 0 22px;display:flex;flex-wrap:wrap;gap:4px 14px}
.byline a{color:var(--m)}
.tldr{background:var(--b3);border-left:4px solid var(--b);border-radius:0 var(--r) var(--r) 0;padding:16px 20px;margin:20px 0 26px}
.tldr strong{display:block;margin-bottom:6px;color:var(--b2)}.tldr ul{margin:0;padding-left:20px}.tldr li{margin:3px 0}
.answer{font-size:1.06rem;border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;background:#fff;box-shadow:0 1px 0 rgba(16,24,40,.04)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:24px 0}
.card{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;flex-direction:column}
.card:hover{border-color:#bcd2ea;box-shadow:0 8px 24px rgba(16,24,40,.07);transform:translateY(-2px)}
.card h3{margin:0 0 6px}.card p{margin:0 0 12px;color:#3c4a59}.card a.more{font-weight:700;text-decoration:none;margin-top:auto}
.cta{background:linear-gradient(135deg,#f3f8fe,#eaf2fc);border:1px solid #d3e2f3;border-radius:16px;padding:28px;margin:40px 0 10px}
.cta h2{margin-top:0}
.tbl{overflow-x:auto;margin:16px 0;border:1px solid var(--line);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;font-size:.97rem}
th,td{border-bottom:1px solid var(--line);padding:10px 13px;text-align:left;vertical-align:top}
th{background:var(--bg);font-weight:700}tr:last-child td{border-bottom:0}
.crumbs{font-size:.88rem;color:var(--m);margin-bottom:8px}.crumbs a{color:var(--m)}
.note{font-size:.9rem;color:var(--m)}
details{border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin:10px 0;background:#fff}
details[open]{box-shadow:0 4px 16px rgba(16,24,40,.05)}
summary{font-weight:700;cursor:pointer}
details p{margin:.6em 0 0}
.sources{border-top:1px solid var(--line);margin-top:38px;padding-top:12px;font-size:.92rem;color:var(--m)}
.sources h2{font-size:1.05rem;margin:.6em 0}.sources ol{padding-left:20px}
.related{margin:30px 0}.related h2{font-size:1.1rem}.related ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.related a{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:7px 14px;text-decoration:none;font-weight:600;font-size:.95rem}
.related a:hover{border-color:var(--b);background:var(--b3)}
dl.gloss dt{font-weight:700;margin-top:18px;scroll-margin-top:84px}dl.gloss dd{margin:4px 0 0}
.book{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap}.book>div:last-child{flex:1 1 300px;min-width:0}
.cover{hyphens:auto;overflow-wrap:break-word;width:156px;min-height:220px;border-radius:8px;background:linear-gradient(160deg,#0a58a8,#06284f);color:#fff;padding:18px;font-weight:800;line-height:1.25;flex:0 0 auto;box-shadow:0 10px 26px rgba(6,40,79,.28)}
.cover small{display:block;font-weight:400;font-size:.74rem;margin-top:10px;opacity:.92}
footer.site{border-top:1px solid var(--line);margin-top:48px;padding:34px 0 26px;font-size:.93rem;color:var(--m);background:var(--bg)}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
footer.site h2{font-size:.95rem;color:var(--t);margin:0 0 8px}
footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:4px 0}footer.site a{color:var(--m)}
footer.site .legal{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}
@media (max-width:1060px){header.site .wrap{flex-wrap:wrap;padding-top:8px;padding-bottom:4px;min-height:auto}nav.main{width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}nav.main::-webkit-scrollbar{display:none}footer.site .cols{grid-template-columns:1fr 1fr}}
@media (max-width:640px){body{font-size:16.5px}.hero{padding:44px 0 38px}header.site{position:static}footer.site .cols{grid-template-columns:1fr}.cta{padding:22px}}
@media print{header.site,footer.site,.cta,.related{display:none}a{color:#000}}
