*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Ubuntu,'Noto Sans',Arial,sans-serif;line-height:1.55;color:#0b2038;background:#f6f8fb}
a{color:#134b9a;text-decoration:none}a:hover,a:focus{text-decoration:underline}
img{max-width:100%;height:auto}
.container{width:min(1200px,92vw);margin:0 auto}
.topbar{background:#0b3a82;color:#fff}
.topbar-inner{display:flex;justify-content:flex-end;gap:1rem;align-items:center;padding:.35rem 0}
.topbar .util{color:#e6eef9;font-size:.9rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:auto;position:static;background:#fff;color:#0b3a82;padding:.25rem .5rem;border-radius:.25rem}
.masthead{background:#0c2f6b;color:#fff;border-bottom:3px solid #d7b100}
.masthead-inner{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;gap:1rem}
.logo{display:flex;gap:.75rem;align-items:center;color:#fff}
.brand{display:flex;flex-direction:column;line-height:1.05}
.brand .gov{font-size:.9rem;opacity:.9}
.brand .site{font-size:1.15rem;font-weight:700}
.site-nav ul{list-style:none;display:flex;gap:.25rem;margin:0;padding:0;flex-wrap:wrap}
.site-nav a{display:inline-block;padding:.6rem .85rem;border-radius:.5rem;color:#fff}
.site-nav a:hover,.site-nav a:focus{background:rgba(255,255,255,.12);text-decoration:none}
.hero{background:linear-gradient(180deg,#0c2f6b 0%,#0c2f6b 55%,transparent 55%);color:#fff;padding:2.2rem 0 1.2rem}
.hero h1{margin:0 0 .4rem;font-size:clamp(1.8rem,3.4vw,2.4rem)}
.hero .lead{max-width:65ch;color:#e8eef7}
.cta{display:flex;gap:.6rem;margin-top:.8rem}
.btn{display:inline-block;background:#134b9a;color:#fff;border:1px solid #0f3f81;border-radius:.6rem;padding:.6rem 1rem;font-weight:600}
.btn:hover{filter:brightness(1.05);text-decoration:none}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.cards{background:#fff;padding:1.5rem 0}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem;transition:transform .12s ease,box-shadow .12s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,28,58,.08)}
.news-home{padding:1rem 0 2rem}
.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.see-all{font-weight:600}
.news-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.news-card,.news-item{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem}
.meta{color:#5b6b84;font-size:.92rem}

.breadcrumbs ol{list-style:none;display:flex;gap:.5rem;margin:.75rem 0;padding:0;flex-wrap:wrap}
.breadcrumbs li::after{content:'›';margin:0 .25rem;color:#9aa8be}
.breadcrumbs li:last-child::after{content:''}
.breadcrumbs a{color:#134b9a}

.table-wrap{overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;margin:.5rem 0}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.75rem;border-bottom:1px solid #eef3f9;text-align:left;white-space:nowrap}
.table thead th{background:#f1f5fb}

.site-footer{background:#0b2038;color:#d7e2f3;margin-top:2rem}
.footer-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:1.2rem 0}
.footer-grid a{color:#cfe0ff}
.links{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.footer-base{border-top:1px solid rgba(255,255,255,.15);padding:.8rem 0;color:#bcd0ea;text-align:center}

.filter{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end;margin:1rem 0}
.filter label{font-size:.9rem;color:#4a5d78}
.filter input[type="search"],.filter select{padding:.55rem .65rem;border:1px solid #c8d5ea;border-radius:.5rem;min-width:220px}
.file{font-weight:600}

.note{color:#5b6b84;font-size:.92rem}
.hours{margin:.5rem 0}


:root{ --topbar-h: 44px; }
header.topbar{ min-height: var(--topbar-h); display:block }
.topbar .topbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem }
.eu-mini{ display:flex; align-items:center; gap:.5rem }
.eu-mini .eu-badge{ height:28px; width:auto; display:block }


.topbar .ms-btn{
  display:inline-block;
  padding:.35rem .85rem;
  border-radius:999px;
  border:1px solid #ffcc00;
  background:#ffcc00;
  color:#0b2e63 !important;
  font-weight:700;
  text-decoration:none;
  transition:transform .12s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  margin-right:.5rem;
}
.topbar .ms-btn:hover, .topbar .ms-btn:focus{
  background:#ffd84a;
  border-color:#ffd84a;
  box-shadow:0 0 0 3px rgba(255,204,0,.3);
  transform:translateY(-1px);
  outline:0;
}

.topbar .util-links a.util{ color:#fff !important; margin-left:.25rem }
.topbar .util-links a.util:hover, .topbar .util-links a.util:focus{ text-decoration:underline }



.eu-mini .eu-mini-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ffffff;
  border-radius:8px;
  padding:2px 6px;
  box-shadow:0 1px 4px rgba(0,0,0,0.2);
  transition:transform .15s ease, box-shadow .15s ease;
}
.eu-mini .eu-mini-link:hover,.eu-mini .eu-mini-link:focus{
  transform:translateY(-1px);
  box-shadow:0 3px 8px rgba(0,0,0,0.3);
  outline:0;
}
.eu-mini .eu-badge{height:26px;width:auto;display:block}



header.topbar, .topbar.topbar, body .topbar{
  background:#0b2e63 !important;
  color:#fff !important;
  border-bottom:4px solid #ffcc00 !important;
}


.masthead{
  background:#0b2e63 !important;
  color:#fff !important;
  border-bottom:4px solid #ffcc00 !important;
}
.masthead .brand .gov, .masthead .brand .site{ color:#fff !important; }
.masthead .site-nav a{ color:#fff !important; }


.eu-mini{ display:flex; align-items:center; gap:.5rem }
.eu-mini .eu-mini-link{
  display:inline-flex; align-items:center; justify-content:center;
  background:#ffffff; border:1px solid #ffcc00; border-radius:10px;
  padding:2px 8px; box-shadow:0 1px 4px rgba(0,0,0,.18);
}
.eu-mini .eu-badge{ height:22px; width:auto; display:block; line-height:1 }


.masthead .site-nav a.active, .masthead .site-nav a[aria-current="page"]{
  background:#ffcc00 !important; color:#0b2e63 !important; border-color:#ffcc00 !important; font-weight:700;
}


main > section:first-of-type{ padding-top: 1.25rem; }
main > section:first-of-type .container > :first-child{ margin-top: 0; }
.container h1:first-child{ margin-top: .25rem; }



:root{
  --topbar-h: 44px;            --masthead-h: 78px;        .header-spacer { height: var(--masthead-h); }
}


.topbar{
  position:fixed; top:0; left:0; right:0;
  z-index:1002;
}
.masthead{
  position:fixed; left:0; right:0;
  top:var(--topbar-h,44px);
  z-index:1001;
}
.header-spacer{ height: calc(var(--topbar-h,44px) + var(--masthead-h,78px)); }



:root{ --topbar-h:44px; --masthead-h:78px; }



.hero .btn.ghost{
  background:#ffcc00 !important;
  border:2px solid #ffcc00 !important;
  color:#0b2e63 !important;
  font-weight:700;
}
.hero .btn.ghost:hover,
.hero .btn.ghost:focus{
  background:#ffd84a !important;
  border-color:#ffd84a !important;
  color:#0b2e63 !important;
}



.page-head{
  background:#f6f8fb;
  padding:2rem 0 1.5rem;
  border-bottom:1px solid #e0e4ea;
}
.page-head h1{
  margin:0;
  font-size:2rem;
  font-weight:700;
  color:#0b2e63;
}



.news-panel{padding:2rem 0}
.news-panel .section-header{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem;
}
#news-search{
  min-width:280px; padding:.6rem .9rem; border-radius:999px; border:1px solid #d5dbe7;
  box-shadow:0 1px 2px rgba(0,0,0,.04) inset; outline:0;
}
#news-search:focus{ border-color:#0b2e63; box-shadow:0 0 0 3px rgba(11,46,99,.12) }
.news-grid.modern{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1rem;
}
.news-cardx{
  background:#fff; border:1px solid #e8edf5; border-radius:16px; overflow:hidden;
  box-shadow:0 1px 6px rgba(0,0,0,.05); display:flex; flex-direction:column; transition:transform .12s ease, box-shadow .15s ease;
}
.news-cardx:hover{ transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.12) }
.news-cardx .meta{
  font-size:.85rem; color:#5a6b85; display:flex; gap:.6rem; align-items:center; margin:.5rem 0;
}
.news-cardx .body{ padding:1rem 1rem 1.1rem }
.news-cardx h3{ margin:.6rem 0 .2rem; font-size:1.1rem; color:#0b2e63 }
.news-cardx p{ margin:.25rem 0; color:#2a3b55; line-height:1.5 }
.news-cardx .tags{ margin-top:.6rem; display:flex; gap:.4rem; flex-wrap:wrap }
.news-cardx .tag{ font-size:.75rem; background:#f1f5fb; color:#284766; border:1px solid #d9e3f2; padding:.2rem .5rem; border-radius:999px }
.news-cardx .actions{ margin-top:auto; padding:0 1rem 1rem }
.news-cardx .btn-read{
  display:inline-block; padding:.45rem .85rem; border-radius:10px; text-decoration:none;
  background:#ffcc00; color:#0b2e63; font-weight:700; border:1px solid #ffcc00;
}
.news-cardx .btn-read:hover{ background:#ffd84a; border-color:#ffd84a }
.news-empty{ text-align:center; color:#5a6b85; padding:1.5rem 0 }

:focus-visible {
  outline: 3px solid #ffcc00 !important;
  outline-offset: 2px !important;
}

.skip {
  position:absolute; left:-9999px; top:0;
  background:#ffcc00; color:#0b2e63; padding:.5rem .75rem;
  border-radius:8px; font-weight:700; z-index:9999;
}
.skip:focus { left:12px; top:12px; }

.util.a11y-btn {
  border:none; background:transparent; color:#fff; cursor:pointer;
  font:inherit; padding:.25rem .5rem; border-radius:6px;
}
.util.a11y-btn:hover { text-decoration: underline; }

body.a11y-mode { font-size: 18px; line-height: 1.7; letter-spacing: .2px; }

body.a11y-mode,
body.a11y-mode .masthead,
body.a11y-mode .topbar,
body.a11y-mode .site-footer {
  background-color:#0b2e63 !important;
  color:#ffffff !important;
}

body.a11y-mode a { color:#ffcc00 !important; text-decoration:underline; }
body.a11y-mode .btn {
  background:#ffcc00 !important; color:#0b2e63 !important; border-color:#ffcc00 !important;
}
body.a11y-mode .btn:hover { background:#ffd84a !important; border-color:#ffd84a !important; }

body.a11y-mode .card,
body.a11y-mode .problem,
body.a11y-mode .map-cta-card,
body.a11y-mode .page-head {
  background:#0b2e63 !important;
  color:#ffffff !important;
  border:2px solid #ffcc00 !important;
  border-radius:12px;
}

body.a11y-mode table { border-collapse:separate; border-spacing:0; }
body.a11y-mode th, body.a11y-mode td {
  border:2px solid #ffcc00 !important; padding:.6rem .7rem;
}

body.a11y-mode .site-nav a,
body.a11y-mode .util-links a { color:#ffffff !important; background:transparent; }

body.a11y-mode .masthead { position:sticky; top:0; z-index:50; border-bottom:3px solid #ffcc00; }

body.a11y-mode input[type="checkbox"], body.a11y-mode input[type="radio"] { transform:scale(1.3); }
body.a11y-mode input, body.a11y-mode select, body.a11y-mode textarea {
  font-size:18px; padding:.6rem .7rem; border:2px solid #ffcc00;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
body.a11y-mode * { transition:none !important; }

body.a11y-mode .map-svg,
body.a11y-mode .map-wrap,
body.a11y-mode .embed-wrap { background:#ffffff !important; }

body.a11y-mode .obl-label { fill:#0b2e63 !important; }
body.a11y-mode .obl-dot { fill:#0b2e63 !important; stroke:#ffffff !important; }
body.a11y-mode .obl-selected .obl-dot { fill:#ffcc00 !important; stroke:#0b2e63 !important; }

.visually-hidden {
  position:absolute !important; width:1px; height:1px; margin:-1px; border:0; padding:0;
  white-space:nowrap; clip-path:inset(100%); clip:rect(0 0 0 0); overflow:hidden;
}
body.a11y-mode .masthead { position: sticky; top: 0; z-index: 2000; }

body.a11y-mode .masthead-inner { overflow: visible; }

body.a11y-mode .site-nav ul {
  display: flex;
  flex-wrap: wrap;          gap: .5rem .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.a11y-mode .site-nav a {
  display: inline-block;
  background: #ffcc00;              color: #0b2e63 !important;        border: 2px solid #ffcc00;
  padding: .5rem .9rem;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none !important;
  line-height: 1;
}

body.a11y-mode .site-nav a:hover {
  background: #ffd84a;
  border-color: #ffd84a;
}

body.a11y-mode .site-nav a[aria-current="page"],
body.a11y-mode .site-nav a.active {
  background: #ffd84a;
  border-color: #ffd84a;
  box-shadow: 0 0 0 3px #0b2e63 inset;   }

body.a11y-mode .site-nav { position: relative; z-index: 1001; }
:root { --topbar-h: 0px; } 
.topbar { position: sticky; top: 0; z-index: 3000; }

.masthead { position: sticky; top: var(--topbar-h); z-index: 2000; }

body.a11y-mode .masthead { position: sticky; top: var(--topbar-h); z-index: 2000; }
body.a11y-mode .site-nav  { position: relative; z-index: 2001; } 
.header-spacer { height: calc(var(--topbar-h) + 64px); } 
body.a11y-mode .site-nav ul { display:flex; flex-wrap:wrap; gap:.5rem .75rem; }
body.a11y-mode .site-nav a {
  display:inline-block; background:#ffcc00; color:#0b2e63 !important;
  border:2px solid #ffcc00; padding:.5rem .9rem; border-radius:10px; font-weight:700; text-decoration:none !important;
}
body.a11y-mode .site-nav a:hover,
body.a11y-mode .site-nav a.active,
body.a11y-mode .site-nav a[aria-current="page"] { background:#ffd84a; border-color:#ffd84a; }
:root { --topbar-h: 0px; --masthead-h: 64px; } 
.topbar { position: sticky; top: 0; z-index: 3000; }

.masthead { position: sticky; top: var(--topbar-h); z-index: 2000; }

.header-spacer { height: calc(var(--topbar-h) + var(--masthead-h)); }

.page-head { position: relative; z-index: 1; }

body.a11y-mode .masthead { position: sticky; top: var(--topbar-h); z-index: 2000; }
body.a11y-mode .site-nav  { position: relative; z-index: 2001; }

body.a11y-mode .site-nav ul { display:flex; flex-wrap:wrap; gap:.5rem .75rem; margin:0; padding:0; }
body.a11y-mode .site-nav a {
  display:inline-block; background:#ffcc00; color:#0b2e63 !important;
  border:2px solid #ffcc00; padding:.5rem .9rem; border-radius:10px; font-weight:700; text-decoration:none !important;
}
body.a11y-mode .site-nav a:hover,
body.a11y-mode .site-nav a.active,
body.a11y-mode .site-nav a[aria-current="page"] { background:#ffd84a; border-color:#ffd84a; }
.btn-read, .news-card .btn {
  display:inline-block; padding:.55rem 1rem; border-radius:10px;
  background:#ffcc00; border:2px solid #ffcc00; color:#0b2e63; font-weight:700; text-decoration:none;
}
.btn-read:hover, .news-card .btn:hover { background:#ffd84a; border-color:#ffd84a; }

body.a11y-mode .btn-read, body.a11y-mode .news-card .btn {
  background:#ffcc00 !important; border-color:#ffcc00 !important; color:#0b2e63 !important;
}

body.a11y-mode h1,
body.a11y-mode h2,
body.a11y-mode h3,
body.a11y-mode h4,
body.a11y-mode h5,
body.a11y-mode h6 {
  color: #ffffff !important;
}

body.a11y-mode .page-head,
body.a11y-mode .page-head * {
  color: #ffffff !important;
}

body.a11y-mode h1 a,
body.a11y-mode h2 a,
body.a11y-mode h3 a,
body.a11y-mode .page-head a {
  color: #ffcc00 !important;
  text-decoration: underline !important;
}

body.a11y-mode .card,
body.a11y-mode .problem,
body.a11y-mode .map-cta-card {
  color: #ffffff !important;
}

body.a11y-mode input,
body.a11y-mode textarea,
body.a11y-mode select {
  color: #0b2e63 !important;
  background: #ffffff !important;
  border-color: #ffcc00 !important;
}
body.a11y-mode ::placeholder {
  color: #5a6b85 !important; }

body.a11y-mode .site-nav a {
  background: #ffcc00;
  color: #0b2e63 !important;
}
body.a11y-mode .site-nav a:hover,
body.a11y-mode .site-nav a.active,
body.a11y-mode .site-nav a[aria-current="page"] {
  background: #ffd84a;
  color: #0b2e63 !important;
}

body.a11y-mode .page-head a,
body.a11y-mode .card a,
body.a11y-mode .problem a {
  color: #ffcc00 !important;
}
.filter-box {
  margin: 1rem 0;
  text-align: right;
}
.filter-box input {
  padding: .5rem .75rem;
  border: 2px solid #d9e3f2;
  border-radius: 8px;
  font-size: 1rem;
  max-width: 320px;
  width: 100%;
}
.section-title {
  margin-top: 2rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: #0b2e63;
}
.members-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.member-card {
  background: #fff;
  border: 1px solid #e0e4ea;
  border-radius: 12px;
  padding: 1rem;
  box-shadow: 0 4px 12px rgba(11,46,99,.08);
  transition: transform .2s ease;
}
.member-card:hover { transform: translateY(-3px); }
.member-card h3 {
  margin: 0 0 .5rem;
  font-size: 1.1rem;
  color: #0b2e63;
}
.member-card p {
  margin: 0;
  color: #444;
  font-size: .95rem;
}
.note {
  margin-top: 2rem;
  padding: 1rem;
  border-left: 4px solid #ffcc00;
  background: #f7f9fc;
  border-radius: 8px;
  font-size: .9rem;
}
.category-filters {
  margin-top: .5rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.cat-btn {
  background: #e8edf5;
  border: 1px solid #cfd9e8;
  border-radius: 8px;
  padding: .4rem .9rem;
  font-size: .9rem;
  cursor: pointer;
  transition: background .2s;
}
.cat-btn:hover { background: #dbe3f2; }
.cat-btn.active {
  background: #ffcc00;
  border-color: #ffcc00;
  font-weight: 700;
}

body.a11y-mode .member-card h3,
body.a11y-mode .member-card p {
  color: #000000 !important;
}
img, video { max-width: 100%; height: auto; }
iframe { max-width: 100%; border: 0; display: block; }
.container { padding-left: 1rem; padding-right: 1rem; }

button, .btn, .site-nav a { min-height: 44px; }

.site-nav ul { display:flex; gap:.5rem .9rem; flex-wrap:wrap; align-items:center; margin:0; padding:0; list-style:none; }

.nav-toggle { display:none; background:#ffcc00; border:1px solid #ffcc00; color:#0b2e63; border-radius:10px; padding:.45rem .7rem; font-weight:700; }
.nav-toggle:hover { background:#ffd84a; border-color:#ffd84a; }

.members-grid,
.news-grid,
.cards-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:1rem; }

.table-responsive { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.table-responsive table { min-width: 600px; }

@media (max-width: 720px){
  .map-svg { height: 320px; }
}

@media (max-width: 1024px){
  .masthead .brand .gov { font-size: .85rem; }
  .masthead .brand .site { font-size: 1.05rem; }
}

@media (max-width: 768px){
    .nav-toggle { display:inline-flex; align-items:center; }
  .site-nav { width:100%; }
  .site-nav ul {
    display:none;                       flex-direction:column;
    align-items:stretch;
    gap: .25rem;
    background: #0b2e63;
    padding: .5rem;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.12);
  }
  .site-nav.open ul { display:flex; }

  .site-nav a {
    display:block;
    padding:.65rem .8rem;
    border-radius:10px;
    color:#fff;
  }
  .site-nav a:hover { background: rgba(255,255,255,.08); }

    :root { --masthead-h: 52px; }
  .masthead { padding:.35rem 0; }
}

@media (max-width: 480px){
  .brand { gap: .4rem; }
  .brand .gov { display:block; font-size:.8rem; }
  .brand .site { display:block; font-size:1rem; }
  .filter-box { text-align:left; }
  .filter-box input { width:100%; max-width:none; }
}

body.a11y-mode .site-nav a {   background:#ffcc00; color:#0b2e63 !important; border:2px solid #ffcc00;
}
body.a11y-mode .site-nav a:hover,
body.a11y-mode .site-nav a.active,
body.a11y-mode .site-nav a[aria-current="page"] {
  background:#ffd84a; border-color:#ffd84a;
}

body.a11y-mode .member-card { background: #ffffff !important; border: 2px solid #ffcc00 !important; }
body.a11y-mode .member-card h3,
body.a11y-mode .member-card p { color: #000 !important; }
.page-head {
  margin-top: 0 !important;
  padding-top: .75rem;   }

:root { --topbar-h: 44px; --masthead-h: 56px; } 
.topbar{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 3000 !important;
  margin: 0 !important;
}
.masthead{
  position: fixed !important;
  top: var(--topbar-h) !important;
  left: 0; right: 0;
  z-index: 2000 !important;
  margin: 0 !important;
  padding: .5rem 0 !important; }

.header-spacer{
  height: calc(var(--topbar-h) + var(--masthead-h)) !important;
}

.page-head{
  margin-top: 0 !important;
  padding: 1rem 0 1rem !important; }

.masthead .site-nav ul{ gap: .4rem .6rem !important; }
.masthead .site-nav a{ padding: .5rem .75rem !important; }
.page-head.map-head {
  margin-top: 0 !important;
  padding-top: calc(0.5rem + var(--topbar-h) + var(--masthead-h)) !important;
}

#svgMap, .map-layout, .map-wrap {
  scroll-margin-top: calc(var(--topbar-h) + var(--masthead-h) + 12px);
}
.muni-toolbar{
  margin-top: .75rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .35rem .5rem;
  align-items: center;
}
.muni-label{ font-size: .9rem; color:#284766; }
#muniSelect{
  width: 100%;
  padding: .5rem .6rem;
  border: 1px solid #cfd9e8;
  border-radius: .6rem;
  background: #fff;
  font-size: .95rem;
}

.muni-accordion { display: grid; gap: .75rem; margin-top: .5rem; }
.muni-head { margin: .25rem 0; }
.muni-toggle{
  width: 100%;
  display: flex; justify-content: space-between; align-items: center;
  background: #f1f5fb; color:#0b2e63;
  border: 1px solid #d9e3f2; border-radius: 10px;
  padding: .55rem .75rem; font-weight: 700; cursor: pointer;
}
.muni-toggle:hover{ background:#e8effb }
.muni-name{ text-align:left }
.muni-count{
  background:#ffcc00; color:#0b2e63; border-radius: 999px; min-width: 1.8rem;
  padding: .15rem .5rem; text-align:center; font-size: .85rem; font-weight:700;
}
.muni-panel{ padding: .5rem 0 0 }
.muni-panel .problem{ margin:.65rem 0; }

body.a11y-mode #muniSelect{
  background:#ffffff !important; color:#0b2e63 !important; border:2px solid #ffcc00 !important;
}
body.a11y-mode .muni-toggle{
  background:#0b2e63 !important; color:#fff !important; border:2px solid #ffcc00 !important;
}
body.a11y-mode .muni-count{
  background:#ffcc00 !important; color:#0b2e63 !important;
}
.doc-card {
  background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:1rem;
  display:flex; gap:1rem; align-items:flex-start; transition:transform .12s ease, box-shadow .12s ease;
}
.doc-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(10,28,58,.08); text-decoration:none }
.doc-icon {
  flex:0 0 44px; width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:#f1f5fb; border:1px solid #d9e3f2; font-weight:800; color:#0b2e63;
}
.doc-meta { color:#5b6b84; font-size:.9rem; margin-top:.25rem }
.doc-title { margin:0; font-weight:700; color:#0b2e63; }
.doc-tags { display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.4rem }
.doc-tag { font-size:.75rem; background:#f1f5fb; color:#284766; border:1px solid #d9e3f2; padding:.15rem .45rem; border-radius:999px }
.doc-tabs{ display:flex; flex-wrap:wrap; gap:.5rem; margin:.5rem 0 1rem }
.doc-tab{
  background:#e8edf5; border:1px solid #cfd9e8; border-radius:999px;
  padding:.45rem .9rem; font-weight:700; cursor:pointer;
}
.doc-tab:hover{ background:#dbe3f2; }
.doc-tab.active{ background:#ffcc00; border-color:#ffcc00; color:#0b2e63; }

.doc-section{ margin:1rem 0 1.2rem }
.doc-section h2{
  font-size:1.15rem; margin:.2rem 0 .6rem;
  color:#0b2e63; display:flex; align-items:center; gap:.5rem;
}
.doc-count{
  background:#f1f5fb; border:1px solid #d9e3f2; color:#284766;
  border-radius:999px; padding:.1rem .5rem; font-size:.8rem; font-weight:700;
}

.doc-grid{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.doc-card{ background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:1rem; display:flex; gap:1rem; align-items:flex-start; }
.doc-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(10,28,58,.08); text-decoration:none }
.doc-icon{ flex:0 0 44px; width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:#f1f5fb; border:1px solid #d9e3f2; font-weight:800; color:#0b2e63; }
.doc-title{ margin:0; font-weight:700; color:#0b2e63; }
.doc-meta{ color:#5b6b84; font-size:.9rem; margin-top:.25rem }
.doc-tags{ display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.4rem }
.doc-tag{ font-size:.75rem; background:#f1f5fb; color:#284766; border:1px solid #d9e3f2; padding:.15rem .45rem; border-radius:999px }
body.a11y-mode .doc-title {
  color: #000000 !important;
}
.pager {
  display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center;
  margin:1rem 0 2rem;
}
.pager a, .pager button {
  display:inline-block; min-width:2.2rem; text-align:center;
  padding:.45rem .65rem; border:1px solid #cfd9e8; border-radius:8px;
  background:#fff; color:#0b2e63; font-weight:700; text-decoration:none; cursor:pointer;
}
.pager a:hover, .pager button:hover { background:#f1f5fb; }
.pager .is-current {
  background:#ffcc00; border-color:#ffcc00; color:#0b2e63; cursor:default;
}
.pager .is-disabled { opacity:.5; pointer-events:none; }
body.a11y-mode .pager a, body.a11y-mode .pager button {
  background:#ffffff; color:#0b2e63; border:2px solid #ffcc00;
}
body.a11y-mode .pager .is-current {
  background:#ffd84a; border-color:#ffd84a;
}
.pager .is-current,
.pager a.is-current {
  display:inline-block;
  min-width:2.2rem;
  text-align:center;
  padding:.45rem .65rem;
  border:1px solid #ffcc00;
  border-radius:8px;
  background:#ffcc00;
  color:#0b2e63;
  font-weight:700;
  line-height:1;            cursor:default;
}

.pager .ellipsis {
  display:inline-block;
  min-width:2.2rem;
  text-align:center;
  padding:.45rem .25rem;
  color:#5b6b84;
  line-height:1;
}

.pager .is-disabled { opacity:.5; pointer-events:none; }

body.a11y-mode .pager .is-current,
body.a11y-mode .pager a.is-current {
  background:#ffd84a;
  border-color:#ffd84a;
  color:#0b2e63;
}
.btn-read[aria-disabled="true"] {
  opacity:.6; cursor:not-allowed; pointer-events:none;
}
.news-spotlight{
  position:relative; display:grid; grid-template-columns: 1.2fr 1fr; gap:1rem;
  background:#fff; border:1px solid #e2e8f0; border-radius:16px; overflow:hidden;
  box-shadow:0 8px 24px rgba(11,46,99,.08);
}
.news-spotlight .media{
  min-height:260px; background:linear-gradient(180deg, #0b2e63 0%, #134b9a 100%);
}
.news-spotlight .media img{ width:100%; height:100%; object-fit:cover; display:block; }
.news-spotlight .body{ padding:1rem 1.1rem; display:flex; flex-direction:column }
.news-spotlight .kicker{ color:#5b6b84; font-size:.9rem; margin-bottom:.25rem }
.news-spotlight h3{ margin:.25rem 0 .4rem; font-size:1.35rem; color:#0b2e63 }
.news-spotlight p{ color:#2a3b55; margin:.25rem 0 .75rem }
.news-spotlight .meta{ color:#5b6b84; font-size:.9rem; margin-top:auto }
.news-spotlight .actions{ margin-top:.75rem }
.news-spotlight .btn-read{ display:inline-block; padding:.55rem 1rem; border-radius:10px; background:#ffcc00; border:2px solid #ffcc00; color:#0b2e63; font-weight:700; text-decoration:none }
.news-spotlight .btn-read:hover{ background:#ffd84a; border-color:#ffd84a }

.news-mosaic{
  margin-top:1rem;
  display:grid; gap:1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
}
.news-tile{
  background:#fff; border:1px solid #e2e8f0; border-radius:14px; overflow:hidden;
  transition:transform .12s ease, box-shadow .15s ease;
  display:flex; flex-direction:column; min-height:100%;
}
.news-tile:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(11,46,99,.10) }
.news-tile .media{ aspect-ratio: 16/9; background:#eef4fb }
.news-tile .media img{ width:100%; height:100%; object-fit:cover; display:block }
.news-tile .body{ padding:.8rem .9rem .95rem; display:flex; flex-direction:column; gap:.35rem }
.news-tile h4{ margin:0; font-size:1rem; color:#0b2e63 }
.news-tile p{ margin:0; color:#2a3b55; font-size:.95rem }
.news-tile .meta{ color:#5b6b84; font-size:.85rem; margin-top:auto }
.news-tile .actions{ margin-top:.6rem }
.news-tile .btn-read{ display:inline-block; padding:.45rem .8rem; border-radius:10px; background:#ffcc00; border:2px solid #ffcc00; color:#0b2e63; font-weight:700; text-decoration:none }
.news-tile .btn-read:hover{ background:#ffd84a; border-color:#ffd84a }

.skeleton{ position:relative; overflow:hidden; background:#f1f5fb }
.skeleton::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.6) 50%, rgba(255,255,255,0) 100%);
  transform:translateX(-100%); animation:sweep 1.2s infinite;
}
@keyframes sweep{ to{ transform:translateX(100%); } }

@media (max-width: 860px){
  .news-spotlight{ grid-template-columns: 1fr; }
  .news-spotlight .media{ min-height:200px; }
}

body.a11y-mode .news-spotlight,
body.a11y-mode .news-tile{
  background:#ffffff !important; color:#000 !important; border:2px solid #ffcc00 !important;
}
body.a11y-mode .news-spotlight h3,
body.a11y-mode .news-tile h4{ color:#000 !important; }