/* Mobile-first styles outside the critical header/hero path. */
:root{--ink:#182130;--muted:#5b6574;--line:#e4e8ee;--paper:#fff;--canvas:#f6f7f9;--green:#147b49;--red:#c43a43;--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;color:var(--ink);background:var(--canvas);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
a{color:inherit}
a:focus-visible{outline:3px solid var(--green);outline-offset:4px;border-radius:4px}
img,svg{max-width:100%}
.skip-link{position:absolute;top:-100px;left:16px;background:var(--ink);color:#fff;z-index:100;padding:10px 16px;border-radius:8px}
.skip-link:focus{top:12px}
.page-container{width:min(100% - 32px,1080px);margin-inline:auto}
.page-main{padding-block:24px 54px}
.article-panel{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px;box-shadow:0 8px 34px rgba(16,24,40,.035)}
.article-content{max-width:810px;margin-inline:auto}
.article-content>:first-child{margin-top:0}
.article-content p{margin:0 0 19px;color:#354153}
.article-content h2{font-size:clamp(1.35rem,3.5vw,1.75rem);letter-spacing:-.025em;line-height:1.29;margin:43px 0 18px;font-weight:760;color:var(--ink)}
.article-content h3{font-size:1.13rem;line-height:1.38;margin:28px 0 13px;letter-spacing:-.01em;font-weight:730}
.article-content strong{color:var(--ink);font-weight:700}
.article-content ol,.article-content ul{padding-left:23px;margin:0 0 24px;color:#354153}
.article-content li{padding-left:4px;margin-bottom:12px}
.article-content li::marker{color:#697585;font-weight:650}
.article-content .table-scroll{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #dfe5eb;border-radius:12px;margin:20px 0 27px;background:#fff;-webkit-overflow-scrolling:touch}
.article-content table{width:100%;min-width:620px;border-spacing:0;border-collapse:separate;font-size:.91rem;line-height:1.5;text-align:left}
.article-content th,.article-content td{padding:13px 14px;border-bottom:1px solid #e8ecf0;vertical-align:top}
.article-content tr:last-child td{border-bottom:0}
.article-content th{font-weight:740;color:var(--ink);background:#f2f5f7;white-space:normal}
.article-content tbody tr:nth-child(even){background:#fafbfc}
.article-content tbody tr:hover{background:#f4f8f6}
.article-content table th:first-child,.article-content table td:first-child{min-width:150px;font-weight:620}
.article-content h2[id],.article-content h3[id]{scroll-margin-top:90px}
.author-card{display:flex;gap:15px;align-items:flex-start;max-width:810px;margin:42px auto 0;padding:22px 0 0;border-top:1px solid var(--line)}
.author-mark{flex:none;display:grid;place-items:center;width:48px;height:48px;border:1px solid #d9e1e8;border-radius:50%;background:#f0f3f5;color:var(--ink);font-weight:750;font-size:.95rem;letter-spacing:.03em}
.author-card h2{font-size:1.08rem;margin:0 0 7px;line-height:1.4}
.author-card p{color:var(--muted);margin:0 0 8px;font-size:.94rem;line-height:1.65}
.author-card a{color:var(--green);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.site-footer{border-top:1px solid var(--line);padding:27px 0 32px;text-align:center;color:#647080;font-size:.87rem}
.site-footer p{margin:0}
.privacy-intro{color:var(--muted);font-size:1rem}
.article-content a{color:#14663f;text-decoration-thickness:1px;text-underline-offset:3px}
@media (min-width:640px){.page-container{width:min(100% - 48px,1080px)}.page-main{padding-top:32px;padding-bottom:76px}.article-panel{padding:38px 44px}.article-content h2{margin-top:48px}.article-content table{min-width:0;font-size:.94rem}.author-card{gap:18px;margin-top:50px;padding-top:27px}.author-mark{width:56px;height:56px}}
@media (min-width:920px){.article-panel{padding:54px 66px 60px}.page-main{padding-top:39px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
