/* CSM site pages: one centred column, brand header band, cards for sections. Tokens match the Big5/Blueprint pages. */
:root{
  --bg:#F6F8FA; --surface:#FFFFFF; --ink:#1F2E48; --mute:#5B6878; --rule:#DCE3EA; --chip:#EEF2F6;
  --navy:#1E3F72; --teal:#2E8E9B; --teal-soft:#EAF5F7; --yel:#F5C142; --yel-soft:#FFF4D6; --warn:#9A6200;
  --f-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --f-body:Montserrat,"Segoe UI",Roboto,Arial,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0F1726; --surface:#172238; --ink:#E7ECF4; --mute:#9AA7BD; --rule:#2A3852; --chip:#22304A;
  --navy:#9DB8E6; --teal:#5BC3D3; --teal-soft:#16343D; --yel:#F5C142; --yel-soft:#3A2F12; --warn:#F0B44C; color-scheme:dark}}
*{box-sizing:border-box}
html{scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 var(--f-body);padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:var(--teal)}
.bar-top{background:var(--surface);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:5;padding-top:env(safe-area-inset-top,0px)}
.wrap{max-width:860px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.bar-top .wrap{display:flex;align-items:center;gap:12px;padding-block:10px;flex-wrap:wrap}
.home{font-weight:700;font-size:12.5px;color:var(--teal);text-decoration:none;border:1px solid var(--rule);border-radius:999px;padding:4px 10px;white-space:nowrap}
.home:hover{border-color:var(--teal)}
.bar-top b{font-family:var(--f-display);color:var(--navy);font-size:18px}
main.wrap{padding-block:24px 56px;display:flex;flex-direction:column;gap:18px}
h1,h2,h3{font-family:var(--f-display);color:var(--navy);text-wrap:balance;margin:0;line-height:1.2}
h1{font-size:clamp(26px,5.5vw,38px)}
h2{font-size:22px}
h3{font-size:17px;font-family:var(--f-body);font-weight:700}
.kick{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);font-weight:700}
.rule{width:56px;height:4px;background:var(--yel);border-radius:2px}
p{margin:0;max-width:70ch}
.muted{color:var(--mute);font-size:13.5px}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.note{background:var(--yel-soft);border-left:4px solid var(--yel);border-radius:0 8px 8px 0;padding:12px 14px;font-size:14px}
ul,ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{border-bottom:1px solid var(--rule);padding:8px 8px;text-align:left;vertical-align:top}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--rule);background:var(--chip);color:var(--ink);border-radius:999px;padding:5px 11px;font:600 12.5px var(--f-body);text-decoration:none;cursor:pointer}
.chip:hover,.chip[aria-pressed="true"]{border-color:var(--navy)}
.chip[aria-pressed="true"]{background:var(--navy);color:var(--surface)}
input[type=search]{font:500 15px var(--f-body);padding:11px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--ink);width:100%}
input:focus-visible,.chip:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--yel);outline-offset:2px}
details.sec{background:var(--surface);border:1px solid var(--rule);border-radius:10px}
details.sec>summary{cursor:pointer;list-style:none;padding:14px 18px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
details.sec>summary::-webkit-details-marker{display:none}
details.sec>summary h2{font-size:18px}
details.sec>summary .n{font-size:12px;color:var(--mute);white-space:nowrap;font-variant-numeric:tabular-nums}
details.sec .body{padding:0 18px 16px;display:flex;flex-direction:column;gap:10px}
ol.occ{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;padding-left:0;list-style:none}
ol.occ li{display:grid;grid-template-columns:44px 1fr;gap:6px;font-size:14px;line-height:1.45;padding:3px 0;border-bottom:1px dashed var(--rule)}
ol.occ li .no{color:var(--mute);font-variant-numeric:tabular-nums;font-size:12.5px;padding-top:1px}
ol.occ li small{display:block;color:var(--mute);font-size:12px}
.star{color:var(--warn);font-weight:700}
@media (max-width:640px){ol.occ{grid-template-columns:1fr}}
footer.site{border-top:1px solid var(--rule);padding-top:14px;font-size:12.5px;color:var(--mute);display:flex;flex-direction:column;gap:6px}
dl.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:14px}
dl.kv dt{color:var(--mute)} dl.kv dd{margin:0;min-width:0}
@media (max-width:520px){dl.kv{grid-template-columns:1fr}dl.kv dt{font-size:12px;margin-top:4px}}
