:root{--bg:#f4f7fc;--surface:#fff;--ink:#071d3b;--text:#50647d;--blue:#2e6fe0;--border:#dce6f2}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:radial-gradient(ellipse at 85% 0,rgba(46,111,224,.12),transparent 32%),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:#205dc2;text-underline-offset:4px;overflow-wrap:anywhere}
a:hover{color:#123e88}
a:focus-visible{outline:3px solid #1c78ff;outline-offset:5px;border-radius:3px}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 24px;background:var(--blue);color:white;border-radius:12px;text-decoration:none;font-weight:650;line-height:1.5;text-align:center;box-shadow:0 8px 22px rgba(46,111,224,.16)}
.button:hover{background:#205dc2;color:white}
.button.small{font-size:14px;padding:11px 17px}
.breadcrumbs{margin-top:34px;color:var(--text);font-size:14px;gap:10px}
.breadcrumbs a{color:var(--text)}
.intro{max-width:940px;padding:42px 0 44px}
.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;color:#205dc2}
h1{font-size:clamp(32px,4.4vw,59px);line-height:1.14;letter-spacing:-1.6px;margin:17px 0 22px;font-weight:780;overflow-wrap:anywhere}
h2{font-size:clamp(23px,2.2vw,30px);line-height:1.3;letter-spacing:-.55px;margin:0 0 20px}
h3{font-size:20px;line-height:1.45;letter-spacing:-.2px;margin:24px 0 10px}
p{color:var(--text);margin:0 0 18px}
.lead{font-size:20px;line-height:1.7;max-width:860px}
.reviewed{font-size:13px;margin:20px 0 0;color:#64768c}
.reading-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:50px;align-items:start}
.toc{position:sticky;top:26px;align-items:stretch;display:flex;flex-direction:column;gap:0;font-size:14px;border-top:2px solid var(--blue);padding-top:14px}
.toc strong{margin-bottom:14px}
.toc a{padding:9px 0;text-decoration:none;color:var(--text);line-height:1.55}
.toc a:hover{color:var(--blue)}
article{min-width:0}
.reading-layout article{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:40px 46px;box-shadow:0 18px 60px rgba(7,29,59,.035)}
section{scroll-margin-top:24px}
.reading-layout article section+section{margin-top:38px;padding-top:36px;border-top:1px solid var(--border)}
ul{padding-left:23px;color:var(--text);margin:20px 0 0}
li{padding-left:3px;margin:10px 0}
.checklist{background:#f5f8fe;border:1px solid var(--border);border-radius:14px;padding:15px 22px 15px 40px}
#permissions p{font-size:15px}
#sources{font-size:14px}
.hub{margin-bottom:42px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.card{border:1px solid var(--border);border-radius:20px;background:white;padding:30px;box-shadow:0 14px 40px rgba(7,29,59,.03)}
.card h3{margin:14px 0;font-size:24px}
.card h3 a{text-decoration:none;color:var(--ink)}
.number{display:inline-flex;color:var(--blue);font-weight:750;font-size:13px;background:#edf4ff;padding:5px 10px;border-radius:8px}
.read{font-size:14px;font-weight:650}
.hub-copy{max-width:850px}
.hub-copy section{margin:32px 0}
.cta{width:min(1180px,calc(100% - 48px));margin:64px auto 0;padding:42px;border:1px solid #ccddf5;background:linear-gradient(120deg,#eaf2ff,#fff);border-radius:22px}
.cta h2{margin:12px 0}
.cta p{max-width:790px}
.cta .button{margin-top:8px}
.skip{position:fixed;left:16px;top:-100px;background:white;padding:12px;z-index:5}
.skip:focus{top:12px}
@media (max-width:900px){.reading-layout{grid-template-columns:1fr;gap:26px}
.toc{position:static;display:block;columns:2;column-gap:24px}
.toc strong{display:block;column-span:all}
.toc a{display:block;break-inside:avoid}
.intro{padding:30px 0}
.reading-layout article{padding:32px}}
@media (max-width:600px){.shell,.cta{width:calc(100% - 32px)}
.button.small{font-size:12px;padding:9px 12px}
.breadcrumbs{margin-top:22px}
.intro{padding:28px 0}
h1{letter-spacing:-.9px}
.lead{font-size:18px}
.toc{columns:1}
.toc a{padding:7px 0}
.reading-layout article{border-radius:16px;padding:25px 21px}
.cards{grid-template-columns:1fr}
.card{padding:24px}
.card h3{font-size:22px}
.cta{padding:28px 24px;margin-top:40px}
.checklist{padding-left:29px;padding-right:15px}
h2,h3,p,li{overflow-wrap:anywhere}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media  print{body{background:white}
.toc,.cta{display:none}
.reading-layout{display:block}
.reading-layout article{border:0;box-shadow:none;padding:0}
.shell{width:100%}
a{color:inherit}}
html{scroll-padding-top:112px}.reading-layout .toc{top:110px}.cta{margin-bottom:48px}.skip:focus{z-index:6000}section{scroll-margin-top:0}
.reading-layout>*{min-width:0}
.table-scroll{max-width:100%;margin:24px 0;border:1px solid #dbe5f2;border-radius:12px;overflow:auto}
.table-scroll table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.6}
.table-scroll caption{text-align:left;padding:16px;background:#edf4ff;font-weight:700;color:#10284a}
.table-scroll th,.table-scroll td{padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere;border-top:1px solid #dbe5f2}
.table-scroll th{color:#10284a;background:#f4f7fc;font-weight:700}
.table-scroll tr:nth-child(even) td{background:#f8faff}
.references{font-size:14px;line-height:1.7;padding-left:20px;color:#536782}
.byline{font-size:14px;color:#536782;margin:-10px 0 28px}
#worksheet,#methodology{padding:24px;background:#f4f7fc;border-radius:14px}
#methodology p{font-size:15px}
@media(max-width:600px){.table-scroll table{font-size:13px}.table-scroll th,.table-scroll td{padding:8px 5px}.table-scroll caption{padding:12px}#worksheet,#methodology{padding:18px}}
