:root{--red:#c8102e;--navy:#0b2a4a;--ink:#1b1f24;--mute:#5b6570;--line:#e3e6ea;--bg:#fff;--soft:#f6f7f9}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:18px/1.65 Georgia,'Times New Roman',serif;color:var(--ink);background:var(--bg)}
a{color:var(--navy)}a:hover{color:var(--red)}
.wrap{max-width:760px;margin:0 auto;padding:0 18px}
.demo{background:#fff4c2;color:#5a4a00;font:13px/1.4 system-ui,sans-serif;text-align:center;padding:6px 10px}
.site-header{border-bottom:3px solid var(--red);background:#fff}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 18px;padding-top:14px;padding-bottom:12px}
.brand{font:800 26px/1 system-ui,sans-serif;color:var(--navy);text-decoration:none;letter-spacing:-.5px;display:flex;align-items:center;gap:9px}
.chk{width:22px;height:22px;display:inline-block;background:conic-gradient(var(--red) 25%,#fff 0 50%,var(--red) 0 75%,#fff 0);background-size:11px 11px;border:1px solid var(--red)}
nav{font:600 15px system-ui,sans-serif;display:flex;gap:16px;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--ink);padding:4px 0;border-bottom:2px solid transparent}
nav a[aria-current],nav a:hover{border-color:var(--red)}
main{padding-top:22px;padding-bottom:40px;min-height:60vh}
h1{font:800 34px/1.2 system-ui,sans-serif;letter-spacing:-.5px;margin:.2em 0 .4em;color:var(--navy)}
h2,h3,h4{font-family:system-ui,sans-serif;color:var(--navy);line-height:1.3}
.tagline{font:15px system-ui,sans-serif;color:var(--mute);margin:0 0 18px}
.kicker,.sec,.tag{font:700 12px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.tag{background:#fff4c2;color:#5a4a00;padding:2px 6px;border-radius:3px;letter-spacing:.04em}
.card{padding:16px 0;border-bottom:1px solid var(--line)}
.card h3{font-size:21px;margin:.2em 0}.card h2{font-size:30px;margin:.2em 0}
.card h2 a,.card h3 a{text-decoration:none;color:var(--navy)}.card h2 a:hover,.card h3 a:hover{color:var(--red)}
.card p{margin:.3em 0;color:#333}.meta{font:14px system-ui,sans-serif;color:var(--mute)!important}
.hero{background:var(--soft);padding:6px 20px 8px;border-radius:6px;margin-bottom:22px;border-left:5px solid var(--red)}
.hero .card{border:0}
.sh{font-size:16px;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--navy);padding-bottom:6px}
.disclosure{font:14px system-ui,sans-serif;color:var(--mute);margin:0 0 6px;padding:6px 10px;background:var(--soft);border-left:3px solid var(--navy);border-radius:3px}
.crumb{font:14px system-ui,sans-serif;color:var(--mute);margin:0}
.prose p{margin:0 0 1.1em}.prose h2{margin-top:1.6em}
blockquote{margin:1.2em 0;padding:.2em 1em;border-left:4px solid var(--red);color:#333;background:var(--soft)}
.sources{margin-top:2em;padding:12px 16px;background:var(--soft);border-radius:6px;font:15px/1.5 system-ui,sans-serif}
.sources h2{font-size:16px;margin:.2em 0}.sources ul{margin:.4em 0;padding-left:1.2em;word-break:break-word}
.samplebox{background:#fff4c2;padding:8px 12px;border-radius:4px;font:15px system-ui,sans-serif}
.note{font:14px system-ui,sans-serif;color:var(--mute)}
.site-footer{background:var(--navy);color:#dfe6ee;font:14px/1.6 system-ui,sans-serif;padding:20px 0}
.site-footer a{color:#fff}
.comments{margin-top:2em;padding-top:1em;border-top:1px solid var(--line)}
.clist{list-style:none;padding:0;margin:.6em 0}.clist li{padding:10px 12px;margin:0 0 8px;background:var(--soft);border-radius:6px;font:15px/1.5 system-ui,sans-serif}
.clist .cmeta{color:var(--mute);font-size:13px}.clist .ctext{white-space:pre-wrap;word-break:break-word;margin:.2em 0 0}
.cform{font:15px system-ui,sans-serif;display:grid;gap:6px;max-width:520px}
.cform input,.cform textarea,.sform input{font:inherit;padding:8px 10px;border:1px solid #c9ced4;border-radius:4px;width:100%}
.cform button,.sform button{font:600 15px system-ui,sans-serif;padding:8px 16px;background:var(--navy);color:#fff;border:0;border-radius:4px;cursor:pointer;justify-self:start}
.cform button:hover,.sform button:hover{background:var(--red)}
.sform{display:flex;gap:8px;max-width:520px;margin:12px 0}
.catlist{list-style:none;padding:0}.catlist li{padding:10px 0;border-bottom:1px solid var(--line);font-family:system-ui,sans-serif}
.count{color:var(--mute);font-size:14px}
.tagblock{padding:12px 16px;background:var(--soft);border:1px dashed #b8bfc7;border-radius:6px;font-family:system-ui,sans-serif}
.pill{display:inline-block;padding:2px 10px;margin:3px 4px 3px 0;border:1px solid var(--line);border-radius:12px;font-size:14px;color:var(--mute);background:#fff}
/* ---- responsive (v3, additive) ---- */
html{overflow-wrap:break-word}
img,video,iframe,svg{max-width:100%;height:auto}
table{max-width:100%}.prose table{display:block;overflow-x:auto;border-collapse:collapse}
.prose th,.prose td{border:1px solid var(--line);padding:6px 10px}
pre,code{overflow-wrap:anywhere}pre{max-width:100%;overflow-x:auto}
h1{font-size:clamp(26px,4.5vw,34px)}.card h2{font-size:clamp(24px,4.2vw,30px)}.card h3{font-size:clamp(19px,3.2vw,21px)}
.wrap{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
.nav-toggle{display:none}
.catlist li a{display:inline-block;padding:6px 0}
.sform input{flex:1 1 auto;min-width:0;width:auto}
@media(max-width:720px){
.js .nav-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 14px;font:600 15px system-ui,sans-serif;color:var(--navy);background:#fff;border:1px solid #c9ced4;border-radius:4px;cursor:pointer}
.js .nav-toggle:focus-visible,nav a:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.nav-toggle .bars,.nav-toggle .bars:before,.nav-toggle .bars:after{display:block;width:18px;height:2px;background:var(--navy);position:relative;content:"";transition:none}
.nav-toggle .bars:before{position:absolute;top:-6px}.nav-toggle .bars:after{position:absolute;top:6px}
.js .site-header nav{display:none;flex-basis:100%;flex-direction:column;gap:0;border-top:1px solid var(--line);margin-top:2px}
.js .site-header nav.open{display:flex}
nav a{display:flex;align-items:center;min-height:44px;padding:8px 2px;border-bottom:1px solid var(--line)}
.js nav a{border-bottom:1px solid var(--line)}
.brand{min-height:44px}
.hero{padding:4px 14px 6px}
.crumb a{display:inline-block;padding:10px 0}
.site-footer p:last-child a{display:inline-block;padding:11px 2px}
.site-footer p{margin:.4em 0}
.cform input,.cform textarea,.sform input{font-size:16px;min-height:44px}
.cform button,.sform button{min-height:44px;min-width:44px;padding:10px 20px}
.cform{max-width:none}.sform{max-width:none}
.sources a{display:inline-block;padding:6px 0}
}
@media(max-width:380px){.wrap{padding-left:14px;padding-right:14px}.brand{font-size:23px}.sform{flex-wrap:wrap}.sform button{flex:1 1 100%}}
@media(max-width:560px){body{font-size:17px}h1{font-size:27px}.card h2{font-size:25px}}
