
:root{--ink:#14171F;--muted:#5e6675;--blue:#4580F7;--royal:#326DE4;--silver:#A5AAB6;--line:#E9ECF2;--ice:#F1F9FF;--white:#fff;--max:1120px}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{color:var(--royal);text-decoration-thickness:1px;text-underline-offset:3px}.wrap{max-width:var(--max);margin:auto;padding:0 22px}
header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.brand-mark{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--royal));color:white;margin-right:8px}
nav{display:flex;gap:18px;flex-wrap:wrap}nav a{color:var(--ink);text-decoration:none;font-weight:650;font-size:.95rem}
.hero{padding:78px 0 56px;background:radial-gradient(circle at 15% 0,#f1f9ff 0,transparent 40%),linear-gradient(180deg,#fff,#fbfcff)}
.eyebrow{color:var(--royal);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.hero h1,.article h1{font-size:clamp(2.25rem,5vw,4.3rem);line-height:1.03;letter-spacing:-.045em;margin:.18em 0}
.hero p{font-size:1.25rem;max-width:790px;color:var(--muted)}.cta{display:inline-block;background:var(--blue);color:white!important;text-decoration:none;padding:13px 19px;border-radius:11px;font-weight:800;box-shadow:0 8px 22px rgba(69,128,247,.25)}.cta.secondary{background:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.card h3{margin-top:0}.section{padding:56px 0}.section.alt{background:#fafbfe}
.article{max-width:820px;margin:auto;padding:56px 22px}.article .dek{font-size:1.18rem;color:var(--muted)}.article h2{font-size:1.75rem;line-height:1.2;margin-top:2.2em;letter-spacing:-.02em}.article h3{margin-top:1.6em}.article img{max-width:100%;height:auto;border-radius:16px;border:1px solid var(--line)}.note,.disclosure{border:1px solid var(--line);border-left:4px solid var(--blue);background:var(--ice);padding:15px 17px;border-radius:10px;margin:22px 0}.disclosure{font-size:.94rem}.toc{background:#fbfcfe;border:1px solid var(--line);padding:18px;border-radius:14px}.toc strong{display:block;margin-bottom:8px}.toc a{display:inline-block;margin:4px 14px 4px 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border-bottom:1px solid var(--line);padding:11px;text-align:left;vertical-align:top}th{background:#f8faff}
.byline{color:var(--muted);font-size:.92rem;margin:12px 0 26px}.breadcrumbs{font-size:.88rem;color:var(--muted);margin-bottom:22px}.breadcrumbs a{color:var(--muted)}
.callout{background:var(--ink);color:#fff;padding:28px;border-radius:18px;margin:34px 0}.callout a{color:#fff}.callout .cta{background:#fff;color:var(--ink)!important}
.related{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.related a{display:block;border:1px solid var(--line);padding:14px;border-radius:12px;text-decoration:none;font-weight:700}
footer{margin-top:60px;background:#0f1218;color:#dce2ec;padding:46px 0 24px}footer a{color:#dce2ec}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.small{font-size:.88rem;color:#abb4c2}
img.heroimg{margin:22px 0}
@media(max-width:800px){nav{display:none}.grid,.footgrid,.related{grid-template-columns:1fr}.hero{padding-top:54px}.article{padding-top:38px}.cta{width:100%;text-align:center}.hero h1,.article h1{font-size:2.45rem}}

.source-visual{margin:28px 0}.source-visual img{display:block;width:100%;height:auto}.source-visual figcaption,.media-caption{margin:.65rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}
.video-frame{aspect-ratio:16/9;width:100%;margin:16px 0;background:#0f1218;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.video-frame iframe{display:block;border:0}
