:root{--ink:#3A0F0B;--deep:#2C0A07;--cream:#F5EEDF;--paper:#FBF7EF;--butter:#FFF3B8;--terra:#E39A78;--rust:#B4533A;--muted:#5F3C35;--rule:rgba(58,15,11,.14);--serif:"Marcellus","Times New Roman",serif;--sans:"Jost","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:820px;margin-inline:auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.wrap--wide{max-width:1180px}
a{color:var(--rust)}
header.site{background:var(--ink);border-bottom:1px solid rgba(245,238,223,.18)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem;flex-wrap:wrap}
header.site img{height:clamp(22px,5vw,30px);width:auto;display:block}
header.site nav{display:flex;gap:1.1rem;flex-wrap:wrap}
header.site nav a{color:var(--cream);text-decoration:none;font-weight:500;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}
h1{font-family:var(--serif);font-weight:400;text-transform:uppercase;letter-spacing:.02em;line-height:1.1;font-size:clamp(1.7rem,5vw,2.6rem);margin:0;text-wrap:balance}
.lede{color:var(--muted);margin:.7rem 0 0;max-width:62ch}
.upd{font-size:.8rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:.9rem}
main{padding-block:clamp(2rem,5vw,3.4rem)}
h2{font-family:var(--serif);font-weight:400;text-transform:uppercase;font-size:1.12rem;letter-spacing:.03em;margin:2.2rem 0 .5rem;padding-top:1.3rem;border-top:1px solid var(--rule)}
h3{font-family:var(--sans);font-weight:600;font-size:1rem;margin:1.4rem 0 .3rem}
p{margin:.65rem 0}
ul,ol{margin:.65rem 0;padding-left:1.25rem}
li{margin:.3rem 0}
.notice{background:var(--butter);border-radius:10px;padding:1rem 1.15rem;margin:1.2rem 0;font-weight:500;font-size:.95rem;line-height:1.6}
.notice b{font-weight:600}
.callout{border-left:3px solid var(--rust);padding:.2rem 0 .2rem 1rem;margin:1.2rem 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.5rem}
.card{border:1px solid var(--rule);border-radius:12px;padding:1.1rem 1.2rem;background:#fff}
.card h3{margin-top:0}
.card p{font-size:.92rem;color:var(--muted)}
footer.site{background:var(--deep);color:rgba(245,238,223,.74);margin-top:3rem;padding-block:2.2rem}
footer.site img{width:clamp(140px,38vw,180px);height:auto;display:block;margin:0 auto 1.4rem}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.4rem}
footer.site h4{font-family:var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;color:var(--cream);margin:0 0 .5rem}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin:.25rem 0}
footer.site a{color:rgba(245,238,223,.8);text-decoration:none;font-size:.86rem}
footer.site a:hover{color:var(--butter)}
footer.site .base{margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid rgba(245,238,223,.18);font-size:.8rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
a:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
@media (max-width:620px){header.site nav{gap:.75rem}header.site nav a{font-size:.62rem}}
header.site nav .navsep{width:1px;align-self:stretch;background:rgba(245,238,223,.28);margin-inline:.4rem}
header.site nav a.city{color:var(--butter)}
@media(max-width:520px){header.site nav .navsep{display:none}}