:root { color-scheme: light; --ink:#1b2631; --muted:#56667a; --link:#135f93; --rule:#dbe4ed; --panel:#f1f6fb; --new:#f6f4fc; --new-border:#6243a6; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:17px; line-height:1.72; color:var(--ink); background:#fff; }
main { max-width:1060px; padding:26px 28px 55px; margin:auto; }
h1 { font-size:clamp(1.85rem,3.2vw,2.75rem); line-height:1.2; margin:12px 0; }
h2 { font-size:clamp(1.5rem,2.3vw,2rem); margin:50px 0 13px; line-height:1.25; }
h3 { font-size:1.24rem; line-height:1.4; margin:0 0 15px; }
h4 { font-size:1.05rem; margin:18px 0 5px; }
p { margin:0 0 15px; }
a { color:var(--link); overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
:focus-visible { outline:3px solid #d78a36; outline-offset:3px; }
.eyebrow { color:#5e478d; font-weight:750; letter-spacing:.1em; font-size:.8rem; text-transform:uppercase; }
.dek { color:var(--muted); font-size:1.12rem; }
.byline { font-size:.91rem; color:var(--muted); margin-bottom:21px; }
.share { display:flex; flex-wrap:wrap; gap:10px; margin:13px 0 26px; }
.share a { display:inline-block; padding:5px 13px; border:1px solid var(--rule); border-radius:5px; font-weight:600; text-decoration:none; font-size:.84rem; }
.lead { font-size:1.06rem; }
.notice { border-left:5px solid #2b76ad; background:var(--panel); padding:16px 19px; margin:25px 0 32px; border-radius:0 7px 7px 0; }
.notice strong, .takeaway strong { font-weight:750; }
.toc { background:#f8fafc; border:1px solid var(--rule); padding:20px 23px; border-radius:8px; margin:25px 0 36px; }
.toc h2 { font-size:1.14rem; margin:0 0 8px; }
.toc-columns { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.toc ol { margin:5px 0 0; padding-left:22px; }
.toc li { margin:0 0 5px; }
.toc a { text-decoration:none; }
.section-list { list-style:none; padding:0; margin:0; counter-reset:foundations; }
.section-list > li { margin:25px 0 31px; padding:24px 25px; border:1px solid var(--rule); border-radius:9px; scroll-margin-top:14px; counter-increment:foundations; }
.section-list > li > h3::before { content:counter(foundations) ". "; color:#236a9b; }
.section-list ul, .section-list ol, .new-list ul, .new-list ol { margin:10px 0 17px; padding-left:25px; }
.section-list li li, .new-list li li { margin:8px 0; }
.note-2026 { border-left:4px solid #62509e; background:#f7f4fe; padding:12px 16px; border-radius:0 6px 6px 0; margin:16px 0; }
.new-list { list-style:none; margin:0; padding:0; counter-reset:newsections; }
.new-list > li { background:var(--new); border:1px solid #e4ddf1; border-top:5px solid var(--new-border); border-radius:9px; padding:26px 27px; margin:27px 0 31px; scroll-margin-top:14px; counter-increment:newsections; }
.new-list > li > h3::before { content:counter(newsections) ". "; color:var(--new-border); }
.new-list h4 { color:#473476; }
.takeaway { background:white; border:1px solid #ded5ec; border-radius:7px; padding:13px 16px; margin-top:17px; }
.phonetic-grid { display:grid; grid-template-columns:2fr 1.5fr .75fr; gap:12px; align-items:start; margin:14px 0 8px; }
.phonetic-grid table { border-collapse:collapse; width:100%; font-size:.77rem; line-height:1.3; }
.phonetic-grid th,.phonetic-grid td { border:1px solid #d4dee9; padding:5px 6px; }
.phonetic-grid th { background:#eaf2f9; text-align:left; }
.phonetic-grid caption { caption-side:top; text-align:left; font-weight:700; padding:0 0 7px; font-size:.88rem; }
.resources { padding-left:25px; font-size:.93rem; }
.resources li { margin-bottom:8px; }
footer { margin-top:48px; padding-top:22px; border-top:1px solid var(--rule); color:var(--muted); font-size:.88rem; }
footer p { margin-bottom:13px; }
.badge-link img { max-width:240px; height:auto; }
@media(max-width:720px){ main{ padding:18px 16px 35px;} .toc-columns{grid-template-columns:1fr;} .section-list > li,.new-list > li{padding:20px 17px;} .phonetic-grid{grid-template-columns:1fr;overflow-x:auto;} }
@media print{ body{font-size:11pt;}main{max-width:none;padding:0;} a{color:inherit;} .section-list>li,.new-list>li{break-inside:avoid-page;} .share,.toc{display:none;} }
