:root{--burgundy:#6f1830;--burgundy-dark:#4f1021;--ink:#1b1b1b;--muted:#555;--paper:#fafafa;--white:#fff;--line:#dcdcdc;--radius:4px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.7;text-rendering:optimizeLegibility}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:.8rem 1rem;background:var(--ink);color:#fff}
.skip-link:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid var(--burgundy);outline-offset:3px;border-radius:2px}
.container{width:min(calc(100% - 2rem),820px);margin-inline:auto}
.site-header{border-bottom:1px solid var(--line);background:#fff}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1160px}
.site-header .container{width:min(calc(100% - 2rem),1160px)}
.brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.2rem}
.brand img{width:48px;height:48px;object-fit:contain}
.button{min-height:44px;display:inline-flex;align-items:center;padding:.7rem 1.2rem;border-radius:2px;background:var(--burgundy);color:#fff;text-decoration:none;font-weight:600}
.button:hover,.button:focus-visible{background:var(--burgundy-dark)}
main{padding:clamp(2.5rem,6vw,4.5rem) 0 4rem}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.12;letter-spacing:-0.01em;text-wrap:balance}
h1{font-size:clamp(2.4rem,6vw,3.6rem);margin:0 0 .75rem}
h2{font-size:clamp(1.4rem,3vw,1.75rem);margin:2.5rem 0 .6rem}
h3{font-size:1.2rem;margin:1.6rem 0 .4rem}
p,li{color:var(--muted);text-wrap:pretty}
p{margin:0 0 1rem}
ul{padding-left:1.2rem}
a{color:var(--burgundy);text-underline-offset:.16em}
strong{color:var(--ink)}
.meta{color:var(--muted);font-size:.95rem}
.notice{margin:1.5rem 0;padding:1.1rem 1.25rem;border-left:3px solid var(--burgundy);background:#fff}
.notice p{margin:0}
.table-wrap{overflow-x:auto;margin:1rem 0}
table{width:100%;border-collapse:collapse;background:#fff;font-size:.97rem}
caption{text-align:left;font-weight:600;color:var(--ink);padding:0 0 .5rem}
th,td{padding:.8rem;border:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#f3f3f3;color:var(--ink)}
footer{border-top:1px solid var(--line);padding:2rem 0;color:var(--muted);font-size:.92rem;background:#fff}
footer .container{width:min(calc(100% - 2rem),1160px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem}
.footer-links{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}
.footer-links a{display:inline-block;padding:.35rem 0;min-height:24px}
@media(max-width:600px){.nav{padding:.75rem 0}.brand span{font-size:1rem}footer .container{display:grid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@view-transition{navigation:auto}
.announce{background:#4f1021;color:#fff;text-align:center;padding:.6rem 1rem;font-size:.95rem}.announce p{margin:0}.announce a{color:#fff;font-weight:600}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
