:root{--navy:#0D3B45;--navy-2:#082A31;--gold:#F2B544;--gold-2:#8A4B00;--cream:#EEF4F3;--ink:#14262B;--muted:#46585E;--line:#C9D6D4;--focus:#0F4FD6;
--font-body:"Atkinson Hyperlegible",system-ui,"Segoe UI",Arial,sans-serif;--font-head:"Source Serif 4",Georgia,serif}
body{font-size:1.0625rem}
h1,h2,h3{font-weight:700}
.brand .logo{width:64px;height:64px;border-radius:8px;flex:none}
.brand .tag{text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--muted)}
.primary-nav a{min-height:44px;display:inline-flex;align-items:center}
.sample-bar{background:#FFF3C4;color:#2B2100;border-bottom:1px solid #D9B93C}
.sample-bar a{color:#4A3500;font-weight:700}
.hero{background:var(--navy-2)}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
.hero .shade{background:linear-gradient(90deg,rgba(8,42,49,.55) 0%,rgba(8,42,49,.2) 100%)}
.hero .wrap{padding:4rem 20px 3.5rem}
.herobox{background:rgba(8,42,49,.93);border-radius:12px;padding:2rem 2.2rem;max-width:44rem}
.herobox h1{margin-top:0;max-width:20ch}
.herobox p{color:#F1F6F7}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.4rem 0 0}
.btn{min-height:44px}
.btn-gold{color:#14262B}
.btn-gold:hover{background:#FFD27A;border-color:#FFD27A;color:#14262B}
.banner{height:300px;overflow:hidden;background:var(--navy-2)}
.banner img{width:100%;height:100%;object-fit:cover}
.page-head.over{background:transparent;border:0;padding:0;margin-top:-5.5rem;position:relative}
.page-head.over .wrap>*{background:var(--navy);color:#fff}
.page-head.over .wrap{display:block}
.page-head.over .crumbs,.page-head.over h1,.page-head.over .lede{padding:0 1.5rem;margin:0;max-width:none}
.page-head.over .crumbs{padding-top:1.1rem;border-radius:12px 12px 0 0;display:block}
.page-head.over h1{padding-top:.3rem;padding-bottom:1.2rem;color:#fff}
.page-head.over .lede{padding-bottom:1.3rem;color:#E4EEF0;margin-top:-.6rem}
.page-head.over .crumbs a{color:#fff}
.page-head.over > .wrap{max-width:1200px}
.page-head.over .wrap > :last-child{border-radius:0 0 12px 12px}
.top{align-items:start}
.mt{margin-top:2rem}
.small{font-size:.92rem;color:var(--muted)}
.intro{max-width:72ch;font-size:1.08rem}
dl.facts{display:grid;grid-template-columns:6.5rem 1fr;gap:.4rem 1rem;margin:0 0 1rem}
dl.facts dt{font-weight:700}
dl.facts dd{margin:0}
.card.next{border-left:6px solid var(--gold)}
.notices li{padding:.8rem 0;border-bottom:1px solid var(--line)}
.notices p{margin:0 0 .3rem}
ul.pri{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem}
ul.pri li{border-top:2px solid var(--navy);padding:1.1rem 0 1.4rem}
ul.pri h3{margin-bottom:.4rem}
.mapfig{margin:0}
.mapfig img{border-radius:10px;border:1px solid var(--line);width:100%;height:auto}
.mapfig figcaption{font-size:.9rem;color:var(--muted);margin-top:.4rem}
details{margin-top:.8rem}
summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:var(--navy)}
tbody th{background:transparent;color:var(--ink);font-weight:700}
caption{text-align:left;font-weight:700;padding:.6rem 0;color:var(--ink)}
.tablewrap{overflow-x:auto}
.tablewrap table{min-width:40rem}
.chip{min-height:44px;padding:.45rem 1rem;color:var(--ink)}
.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.filters label{font-weight:700}
.filters input{min-height:44px}
.badge.notice{background:#FFF0C2;color:#5A3D00}
.person{text-align:left;display:flex;gap:1rem;align-items:center}
.person .ph{width:56px;height:56px;margin:0;background:var(--navy);color:#fff;font-weight:700;flex:none}
.memb ul{padding-left:1.1rem}
.video{aspect-ratio:16/9;background:var(--navy-2);border-radius:10px;display:grid;place-items:center;overflow:hidden}
.video iframe{width:100%;height:100%;border:0}
.site-footer .fh{color:#fff;font-size:1.05rem;font-family:var(--font-body);margin:0 0 .6rem}
.site-footer{padding-bottom:5.5rem}
.content{max-width:80ch}
.a11y-btn{background:var(--navy)}
@media (max-width:720px){ul.pri{grid-template-columns:1fr}.herobox{padding:1.4rem}.banner{height:200px}.page-head.over{margin-top:-2rem}}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:1rem}
.pfig{margin:0}
.pfig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:var(--cream)}
.pfig figcaption{font-size:.88rem;color:var(--muted);margin-top:.4rem}
@media (max-width:980px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pgrid{grid-template-columns:1fr}}
