*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#0c1b3a;--navy-mid:#162d54;--navy-light:#1e3f6f;
  --red:#c41230;--red-dark:#a00f28;--red-light:#e8455e;
  --blue:#2563eb;--blue-light:#dbeafe;
  --gold:#d4a74a;--gold-soft:rgba(212,167,74,0.1);
  --gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;
  --gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;
  --white:#fff;
  --font:'Montserrat',system-ui,sans-serif;
  --ease:cubic-bezier(0.25,0.46,0.45,0.94);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);color:var(--gray-800);background:var(--white);line-height:1.6}
a{text-decoration:none;color:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 32px;box-sizing:border-box}
@media(max-width:480px){.container{padding:0 16px}}
html,body{max-width:100vw}

/* ═══ TOP STRIP ═══ */
.top-strip{background:var(--navy);padding:8px 0}
.top-strip .container{display:flex;justify-content:space-between;align-items:center}
.ts-left{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.9);font-size:.85rem;font-weight:500;letter-spacing:.02em}
.ts-flag{display:inline-flex;gap:2px}
.ts-flag i{width:12px;height:8px;display:block}
.ts-flag .fr{background:#bf0a30}.ts-flag .fw{background:#fff}.ts-flag .fb{background:#002868}
.ts-right{display:flex;gap:18px}
.ts-right a{color:rgba(255,255,255,.85);font-size:.83rem;font-weight:500;transition:color .2s}
.ts-right a:hover{color:var(--gold)}

/* ═══ HEADER ═══ */
.site-header{background:var(--white);position:sticky;top:0;z-index:100;transition:all .3s;overflow:visible}
.site-header.stuck{box-shadow:0 2px 20px rgba(0,0,0,.08)}
body.no-sticky-header .site-header{position:relative}
.hdr-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.logo{display:flex;align-items:center;padding:4px 0}
.logo-svg{height:auto;width:160px}



.nav{display:flex;align-items:center;gap:2px}
.nav-item{position:relative}
.nav-item>a{font-size:.85rem;font-weight:500;color:var(--gray-500);padding:8px 10px;border-radius:6px;transition:all .2s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.nav-item>a:hover{color:var(--navy);background:var(--gray-50)}
.nav-item>a.on{color:var(--white);font-weight:600;background:var(--navy);border-radius:6px}
.nav-item>a.on .chevron{color:var(--white)}
.nav-item>a .chevron{width:12px;height:12px;transition:transform .25s var(--ease)}
.nav-item:hover>a .chevron{transform:rotate(180deg)}
.nav-item:hover>a{color:var(--navy);background:var(--gray-50)}

/* Dropdown */
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:260px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 12px 36px rgba(12,27,58,.12),0 2px 8px rgba(0,0,0,.04);padding:8px;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(8px);transition:all .25s var(--ease);z-index:200;pointer-events:none}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.dropdown::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.dd-item{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:8px;transition:all .2s;color:var(--ink);text-decoration:none}
.dd-item:hover{background:var(--gray-50)}
.dd-item.on{background:var(--gray-50);box-shadow:inset 3px 0 0 var(--red)}
.dd-item.on .dd-text h6{color:var(--red)}
.dd-item.dd-nested{padding-left:28px}
.dd-item.dd-nested .dd-icon{width:32px;height:32px;min-width:32px}
.dd-item.dd-nested .dd-icon svg{width:16px;height:16px}
.dd-item.dd-nested .dd-text h6{font-size:.82rem}
.dd-item.dd-nested .dd-text p{font-size:.72rem}
.dd-group-label{padding:10px 14px 4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400)}
.dd-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.dd-icon svg{width:18px;height:18px}
.dd-icon.red{background:#fee2e2;color:var(--red)}
.dd-icon.blue{background:var(--blue-light);color:var(--blue)}
.dd-icon.green{background:#dcfce7;color:#16a34a}
.dd-icon.amber{background:#fef3c7;color:#d97706}
.dd-icon.purple{background:#f3e8ff;color:#7c3aed}
.dd-icon.navy{background:#e0e7ff;color:var(--navy)}
.dd-text h6{font-size:.92rem;font-weight:600;color:var(--navy);margin-bottom:2px}
.dd-text p{font-size:.8rem;color:var(--gray-400);line-height:1.4}
.dd-divider{height:1px;background:var(--gray-100);margin:6px 8px}
.dd-footer{display:block;text-align:center;padding:10px;font-size:.85rem;font-weight:600;color:var(--red);border-radius:8px;transition:background .2s}
.dd-footer:hover{background:#fee2e2}

/* Wide dropdown for mega sections */
.dropdown.wide{min-width:480px;padding:12px}
.dropdown.wide .dd-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px}

.nav-btn{background:var(--red)!important;color:var(--white)!important;font-weight:600!important;font-size:.82rem!important;padding:7px 14px!important;border-radius:6px!important;margin-left:8px;transition:all .25s var(--ease)!important;display:inline-flex!important;align-items:center!important;gap:5px!important;white-space:nowrap}
.nav-btn:hover{background:var(--red-dark)!important;transform:translateY(-1px)}
.nav-btn svg{width:16px;height:16px}
.search-btn{background:0;border:0;cursor:pointer;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-left:10px;transition:all .2s var(--ease)}
.search-btn:hover{background:var(--gray-100)}
.search-btn svg{width:20px;height:20px;color:var(--navy)}
.menu-btn{display:none;background:0;border:0;cursor:pointer;width:40px;height:40px;border-radius:8px;display:none;align-items:center;justify-content:center}
.menu-btn span{display:block;width:20px;height:2px;background:var(--navy);position:relative}
.menu-btn span::before,.menu-btn span::after{content:'';position:absolute;left:0;width:100%;height:2px;background:var(--navy)}
.menu-btn span::before{top:-6px}
.menu-btn span::after{top:6px}

/* ═══ NEWS TICKER ═══ */
.news-ticker{background:var(--navy);display:flex;align-items:stretch;overflow:hidden;border-top:1px solid rgba(255,255,255,.06)}
.news-ticker-label{display:flex;align-items:center;gap:7px;padding:0 20px;background:var(--red);color:var(--white);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;position:relative}
.news-ticker-label::after{content:'';position:absolute;right:-12px;top:0;bottom:0;width:12px;background:linear-gradient(to right,var(--red),transparent);z-index:1}
.news-ticker-track{flex:1;overflow:hidden;position:relative;padding:10px 0}
.news-ticker-track::before,.news-ticker-track::after{content:'';position:absolute;top:0;bottom:0;width:40px;z-index:2;pointer-events:none}
.news-ticker-track::before{left:0;background:linear-gradient(to right,var(--navy),transparent)}
.news-ticker-track::after{right:0;background:linear-gradient(to left,var(--navy),transparent)}
.news-ticker-scroll{display:flex;gap:40px;animation:tickerScroll 45s linear infinite;width:max-content;padding-left:20px}
.news-ticker:hover .news-ticker-scroll{animation-play-state:paused}
.ticker-item{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.85);font-size:.82rem;font-weight:500;white-space:nowrap;transition:color .2s}
.ticker-item:hover{color:var(--gold)}
.ticker-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.ticker-dot.red{background:var(--red-light)}.ticker-dot.blue{background:#60a5fa}.ticker-dot.green{background:#4ade80}.ticker-dot.gold{background:var(--gold)}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Ticker close & reopen */
.ticker-close{background:transparent;border:0;cursor:pointer;color:rgba(255,255,255,.5);padding:0 14px;display:flex;align-items:center;justify-content:center;transition:color .2s;flex-shrink:0}
.ticker-close:hover{color:var(--white)}
.news-ticker{transition:max-height .4s var(--ease),opacity .3s var(--ease),padding .3s var(--ease);max-height:50px}
.news-ticker.hidden{max-height:0;opacity:0;overflow:hidden;pointer-events:none;border-top:none}
.ticker-reopen{position:fixed;right:20px;bottom:20px;z-index:90;display:none;align-items:center;gap:6px;background:var(--navy);color:var(--white);border:1px solid rgba(255,255,255,.12);font-family:var(--font);font-size:.76rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:10px 16px;border-radius:100px;cursor:pointer;box-shadow:0 4px 16px rgba(12,27,58,.3);transition:all .25s var(--ease);opacity:0;transform:translateY(10px)}
.ticker-reopen.visible{display:inline-flex;opacity:1;transform:translateY(0)}
.ticker-reopen:hover{background:var(--red);box-shadow:0 6px 24px rgba(196,18,48,.35);transform:translateY(-2px)}
.ticker-reopen svg{flex-shrink:0}

/* ═══ HERO ═══ */
.hero{position:relative;background:var(--navy);overflow:hidden;display:flex;flex-direction:column;min-height:max(720px,80vh)}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease-in-out}
.hero-slide.active{opacity:1}
.hero-slide:nth-child(1){background-image:url('../images/hero1.jpg')}
.hero-slide:nth-child(2){background-image:url('../images/hero2.jpg')}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(12,27,58,.08) 0%,rgba(12,27,58,.25) 50%,rgba(12,27,58,.4) 100%);z-index:1;display:block;pointer-events:none}
.hero-slide-news{cursor:pointer;text-decoration:none;display:block;color:transparent}
.hero-slide-news:hover{filter:brightness(1.06)}
.hero>.container{position:relative;z-index:2;padding:40px 32px 80px;flex:1;display:flex;align-items:center;justify-content:flex-end;max-width:100%;width:100%}
.hero-row{display:flex;justify-content:flex-end;width:100%;padding-right:5%}

.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(12,27,58,.7);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:8px 20px 8px 14px;font-size:.88rem;font-weight:600;color:var(--white);letter-spacing:.04em;text-transform:uppercase;margin-bottom:28px;backdrop-filter:blur(12px)}
.hero-tag .pulse{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(212,167,74,.5);animation:glow 2.5s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:1;box-shadow:0 0 8px rgba(212,167,74,.5)}50%{opacity:.6;box-shadow:0 0 4px rgba(212,167,74,.2)}}

/* Hero text box - centered with subtle transparent backdrop */
.hero-text-box{max-width:620px;background:rgba(12,27,58,.3);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:48px 44px;text-align:center}

.hero h2{font-size:4.2rem;font-weight:900;color:var(--white);line-height:1.08;letter-spacing:-.03em;margin-bottom:22px;text-shadow:0 3px 24px rgba(0,0,0,.8),0 1px 6px rgba(0,0,0,.6),0 0 60px rgba(12,27,58,.5)}
.hero h2 span{display:block;font-weight:400;font-size:3.3rem;color:rgba(255,255,255,.9);margin-top:4px;text-shadow:0 3px 24px rgba(0,0,0,.8),0 1px 6px rgba(0,0,0,.6)}
.hero-p{font-size:1.2rem;color:var(--white);line-height:1.75;max-width:500px;margin:0 auto 40px;font-weight:500;text-shadow:0 2px 16px rgba(0,0,0,.8),0 1px 4px rgba(0,0,0,.5)}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hbtn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-size:1.1rem;font-weight:600;padding:14px 30px;border-radius:8px;border:none;cursor:pointer;transition:all .3s var(--ease)}
.hbtn-fill{background:var(--red);color:var(--white);box-shadow:0 4px 20px rgba(0,0,0,.4)}
.hbtn-fill:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(196,18,48,.3)}
.hbtn-outline{background:rgba(12,27,58,.7);color:var(--white);border:1.5px solid rgba(255,255,255,.3);backdrop-filter:blur(12px);box-shadow:0 4px 16px rgba(0,0,0,.3)}
.hbtn-outline:hover{border-color:rgba(255,255,255,.35);color:var(--white);background:rgba(255,255,255,.04)}

/* Countdown bar at bottom of hero — overlaps hero slightly */
.hero-cd-bar{position:relative;z-index:3;background:rgba(12,27,58,.9);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);margin-top:-60px}
.hero-cd-bar .container{padding:0 32px;max-width:1200px;display:flex;align-items:center;justify-content:center}
.cd-inline{display:flex;align-items:center;justify-content:center;gap:24px;padding:18px 0;flex-wrap:nowrap;width:100%}
.cd-badge{font-size:.75rem;font-weight:600;color:#34d399;background:rgba(52,211,153,.1);padding:5px 14px;border-radius:100px;border:1px solid rgba(52,211,153,.15);white-space:nowrap}
.cd-inline-title{font-size:1.05rem;font-weight:600;color:var(--white);white-space:nowrap}
.cd-inline-grid{display:flex;gap:10px}
.cd-inline-grid .cd-cell{text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 18px 8px;min-width:76px}
.cd-inline-grid .cd-cell .n{font-size:1.8rem;font-weight:800;color:var(--white);line-height:1;letter-spacing:-.02em}
.cd-inline-grid .cd-cell .l{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.35);margin-top:4px}
.cd-inline-date{font-size:.9rem;color:rgba(255,255,255,.4);white-space:nowrap}
.cd-inline-date strong{color:var(--gold);font-weight:700;font-size:.95rem}

/* ═══ NOTICE ═══ */
.alert-bar{background:#fef3cd;border-bottom:1px solid #fde68a;padding:13px 0}
.alert-inner{display:flex;align-items:center;gap:12px;font-size:1.05rem;color:#92400e;font-weight:500}
.alert-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex-shrink:0}
.alert-inner a{color:var(--red);font-weight:700}
.alert-inner a:hover{text-decoration:underline}

/* ═══ SERVICES ═══ */
/* ═══ PAGE TITLE BAR & BREADCRUMB ═══ */
.page-title-bar{background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);padding:48px 0 44px;position:relative;overflow:hidden}
.page-title-bar::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.page-title-bar .container{position:relative;z-index:1}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.breadcrumb a{color:rgba(255,255,255,.6);font-size:.82rem;font-weight:500;transition:color .2s}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb svg{width:14px;height:14px;color:rgba(255,255,255,.3);flex-shrink:0}
.breadcrumb .bc-current{color:rgba(255,255,255,.9);font-size:.82rem;font-weight:600}
.page-title-bar h1{font-size:2.4rem;font-weight:800;color:var(--white);letter-spacing:-.02em;margin-bottom:8px}
.page-title-bar .page-desc{font-size:1.05rem;color:rgba(255,255,255,.6);max-width:600px;line-height:1.6}

/* ═══ SUBPAGE CONTENT ═══ */
.page-content{padding:60px 0 80px;overflow-x:hidden}
.page-content .container{overflow-x:hidden}
.page-content h2{font-size:1.6rem;font-weight:700;color:var(--navy);margin-bottom:16px;margin-top:40px}
.page-content h2:first-child{margin-top:0}
.page-content h3{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:10px;margin-top:28px}
.page-content p{font-size:.95rem;color:var(--gray-600);line-height:1.8;margin-bottom:16px;text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;word-break:break-word}
@supports (text-wrap: pretty) {.page-content p{text-wrap:pretty}}
.page-content p:last-child,.page-content p:only-child,.page-content .no-justify p{text-align:left}
.svc p,.ncard p,.ncard-excerpt,.faq-answer p,.dd-text p,.nhf-body p,.sec-desc{text-align:left !important}
.page-content ul,.page-content ol{margin:0 0 20px 24px;color:var(--gray-600);font-size:.95rem;line-height:2}
.page-content li{margin-bottom:4px}
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:32px 0}
.info-card{background:var(--white);border:1px solid var(--gray-200);border-radius:14px;padding:28px 24px;transition:all .25s var(--ease)}
.info-card:hover{box-shadow:0 8px 24px rgba(12,27,58,.08);transform:translateY(-2px)}
.info-card .ic-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.info-card .ic-icon svg{width:22px;height:22px}
.info-card .ic-icon.navy{background:#e0e7ff;color:var(--navy)}
.info-card .ic-icon.red{background:#fee2e2;color:var(--red)}
.info-card .ic-icon.blue{background:var(--blue-light);color:var(--blue)}
.info-card .ic-icon.green{background:#dcfce7;color:#16a34a}
.info-card .ic-icon.amber{background:#fef3c7;color:#d97706}
.info-card h4{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.info-card p{font-size:.88rem;color:var(--gray-500);line-height:1.6;margin-bottom:0}
.county-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem}
.county-table thead{background:var(--navy);color:var(--white)}
.county-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.county-table td{padding:12px 16px;border-bottom:1px solid var(--gray-200);color:var(--gray-700)}
.county-table tbody tr:hover{background:var(--gray-50)}
.county-table tbody tr:nth-child(even){background:var(--gray-50)}
.county-table tbody tr:nth-child(even):hover{background:var(--gray-100)}
/* Responsive table wrapper (added by JS) */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0;border:1px solid var(--gray-200);border-radius:10px}
.table-scroll .county-table{margin:0;border-radius:0}
.table-scroll::-webkit-scrollbar{height:6px}
.table-scroll::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}
/* Global page-content overflow protection */
.page-content img{max-width:100%;height:auto}
.page-content iframe{max-width:100%}
.page-content pre,.page-content code{overflow-x:auto;max-width:100%;word-wrap:break-word}
.back-home{display:inline-flex;align-items:center;gap:8px;margin-top:40px;padding:12px 24px;background:var(--navy);color:var(--white);font-size:.88rem;font-weight:600;border-radius:8px;transition:all .25s var(--ease)}
.back-home:hover{background:var(--red);transform:translateY(-1px);box-shadow:0 4px 12px rgba(196,18,48,.25)}

/* ═══ NEWS LISTING PAGE ═══ */
.news-listing .news-grid-4{margin-bottom:40px}
.news-listing .news-grid-full{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.news-listing .ncard{cursor:pointer}
.news-listing .ncard a.card-link{position:absolute;inset:0;z-index:2}
.news-listing .ncard{position:relative}
.news-listing .ncard-foot a{position:relative;z-index:3}
.news-load-more{text-align:center;margin:20px 0 40px}
.news-load-more a{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border:2px solid var(--gray-200);border-radius:10px;font-size:.88rem;font-weight:600;color:var(--navy);transition:all .25s}
.news-load-more a:hover{border-color:var(--red);color:var(--red);transform:translateY(-1px)}

/* ── News Page: Hero Grid (featured + sidebar) ── */
.news-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-bottom:40px}
.news-hero-featured{border-radius:14px;overflow:hidden;background:var(--white);border:1px solid var(--gray-200);transition:all .3s var(--ease)}
.news-hero-featured:hover{box-shadow:0 10px 30px rgba(0,0,0,.08);transform:translateY(-2px)}
.nhf-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.nhf-img{height:280px;overflow:hidden;background:var(--gray-100)}
.nhf-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.news-hero-featured:hover .nhf-img img{transform:scale(1.04)}
.nhf-body{padding:24px;flex:1;display:flex;flex-direction:column}
.nhf-body h2{font-size:1.3rem;font-weight:700;color:var(--navy);line-height:1.35;margin:8px 0 12px}
.nhf-body p{font-size:.88rem;color:var(--gray-500);line-height:1.6;flex:1;margin-bottom:12px}
.nhf-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--gray-200);font-size:.75rem;color:var(--gray-400)}
.nhf-read{color:var(--red);font-weight:600}

.news-hero-sidebar{display:flex;flex-direction:column;gap:16px}
.nhs-card{display:flex;gap:14px;padding:14px;border-radius:12px;background:var(--white);border:1px solid var(--gray-200);text-decoration:none;color:inherit;transition:all .3s var(--ease);align-items:center}
.nhs-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.06);transform:translateY(-1px)}
.nhs-img{width:100px;min-width:100px;height:80px;border-radius:8px;overflow:hidden;background:var(--gray-100)}
.nhs-img img{width:100%;height:100%;object-fit:cover;display:block}
.nhs-body{flex:1;min-width:0}
.nhs-body h4{font-size:.82rem;font-weight:700;color:var(--navy);line-height:1.35;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nhs-date{font-size:.72rem;color:var(--gray-400)}

/* ── News Page: 3-column grid ── */
.news-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px}
.news-grid-3 .ncard{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:all .3s var(--ease)}
.news-grid-3 .ncard:hover{box-shadow:0 8px 24px rgba(0,0,0,.07);transform:translateY(-2px)}
.news-grid-3 .ncard-img{height:180px;overflow:hidden;background:var(--gray-100)}
.news-grid-3 .ncard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.news-grid-3 .ncard:hover .ncard-img img{transform:scale(1.04)}
.news-grid-3 .ncard-body{padding:18px;flex:1;display:flex;flex-direction:column}
.news-grid-3 .ncard-body h3{font-size:.9rem;font-weight:700;color:var(--navy);line-height:1.4;margin-bottom:6px}
.ncard-excerpt{font-size:.8rem;color:var(--gray-500);line-height:1.5;flex:1;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.news-section-title{font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--gray-200)}

/* ── Pagination ── */
.nec-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0 50px;flex-wrap:wrap}
.pg-numbers{display:flex;align-items:center;gap:4px}
.pg-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--navy);border:1px solid var(--gray-200);text-decoration:none;transition:all .2s}
.pg-num:hover{border-color:var(--red);color:var(--red);background:rgba(193,39,45,.04)}
.pg-num.current{background:var(--red);color:var(--white);border-color:var(--red)}
.pg-dots{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:.85rem;color:var(--gray-400)}
.pg-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--navy);border:1px solid var(--gray-200);text-decoration:none;transition:all .2s}
.pg-btn:hover{border-color:var(--red);color:var(--red);background:rgba(193,39,45,.04)}
@media(max-width:1024px){.news-hero-grid{grid-template-columns:1fr}.news-hero-sidebar{flex-direction:row;overflow-x:auto;gap:12px}.nhs-card{min-width:260px}.news-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.news-hero-sidebar{flex-direction:column}.nhs-card{min-width:auto}.news-grid-3{grid-template-columns:1fr}.nec-pagination{gap:4px}.pg-btn{padding:8px 12px;font-size:.75rem}.pg-num{width:34px;height:34px;font-size:.8rem}}
@media(max-width:768px){.news-listing .news-grid-full{grid-template-columns:1fr}}

/* ═══ ARTICLE PAGE ═══ */
.article-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;padding:48px 0 80px}
.article-main{}
.article-meta{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.article-meta .ntag{margin-bottom:0}
.article-date{font-size:.82rem;color:var(--gray-400);font-weight:500}
.article-main h1{font-size:2rem;font-weight:800;color:var(--navy);line-height:1.3;margin-bottom:20px}
.article-hero-img{width:100%;border-radius:14px;overflow:hidden;margin-bottom:32px}
.article-hero-img img{width:100%;height:auto;display:block}
.article-body p{font-size:1rem;color:var(--gray-600);line-height:1.9;margin-bottom:18px;text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;word-break:break-word}
@supports (text-wrap: pretty) {.article-body p{text-wrap:pretty}}
.article-body p:last-child,.article-body p:only-child{text-align:left}
.article-body h2{font-size:1.3rem;font-weight:700;color:var(--navy);margin:32px 0 12px}
.article-body blockquote{border-left:4px solid var(--red);padding:16px 24px;margin:24px 0;background:var(--gray-50);border-radius:0 10px 10px 0;font-style:italic;color:var(--gray-600);font-size:.95rem;line-height:1.8}
.article-body ul{margin:0 0 18px 20px;color:var(--gray-600);line-height:2;font-size:.95rem}
.article-share{display:flex;align-items:center;gap:10px;padding:24px 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);margin:32px 0}
.article-share span{font-size:.82rem;font-weight:600;color:var(--gray-500)}
.share-btn{width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gray-200);color:var(--gray-500);transition:all .2s}
.share-btn:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}

/* Sidebar */
.article-sidebar{}
.sidebar-box{background:var(--white);border:1px solid var(--gray-200);border-radius:14px;padding:24px;margin-bottom:24px}
.sidebar-box h4{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--gray-100)}
.related-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--gray-100)}
.related-item:last-child{border-bottom:none}
.related-item img{width:64px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}
.related-item div h5{font-size:.78rem;font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:3px}
.related-item div span{font-size:.68rem;color:var(--gray-400)}

/* Comments Section */
.comments-section{margin-top:48px}
.comments-section h3{font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:24px;display:flex;align-items:center;gap:10px}
.comments-count{background:var(--red);color:var(--white);font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:100px}
.comment-form,.nec-comment-form{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:14px;padding:24px;margin-bottom:32px}
.comment-form h4,.nec-comment-form h4{font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:16px}
.nec-comment-form .form-group{margin-bottom:12px}
.nec-comment-form .comment-form-comment{margin-bottom:12px}
.nec-comment-form p.form-submit{margin-bottom:0}
.nec-comment-form .logged-in-as{font-size:.82rem;color:var(--gray-400);margin-bottom:12px}
.nec-comment-form .logged-in-as a{color:var(--blue)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-input{width:100%;padding:10px 14px;border:1px solid var(--gray-200);border-radius:8px;font-family:inherit;font-size:.88rem;color:var(--navy);transition:border-color .2s;background:var(--white)}
.form-input:focus{outline:none;border-color:var(--blue)}
textarea.form-input{resize:vertical;min-height:100px}
.form-submit{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:var(--red);color:var(--white);border:none;border-radius:8px;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .25s}
.form-submit:hover{background:var(--navy);transform:translateY(-1px)}
.comment-list{display:flex;flex-direction:column;gap:20px}
.comment{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:20px}
.comment-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.comment-avatar{width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0}
.comment-author{font-size:.88rem;font-weight:700;color:var(--navy)}
.comment-time{font-size:.72rem;color:var(--gray-400)}
.comment-text{font-size:.9rem;color:var(--gray-600);line-height:1.7}
.comment-actions{margin-top:10px;display:flex;gap:16px}
.comment-actions a{font-size:.75rem;font-weight:600;color:var(--gray-400);display:inline-flex;align-items:center;gap:4px;transition:color .2s}
.comment-actions a:hover{color:var(--red)}
.comment .reply{margin-left:40px;margin-top:16px;padding-left:16px;border-left:2px solid var(--gray-200)}
@media(max-width:1024px){.article-layout{grid-template-columns:1fr;gap:32px}.article-sidebar{order:2}}
@media(max-width:640px){.article-main h1{font-size:1.4rem}.form-row{grid-template-columns:1fr}}
.back-home svg{width:16px;height:16px}
.timeline{margin:32px 0;border-left:3px solid var(--gray-200);padding-left:28px}
.timeline-item{position:relative;margin-bottom:28px}
.timeline-item::before{content:'';position:absolute;left:-34px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--red);border:3px solid var(--white);box-shadow:0 0 0 2px var(--gray-200)}
.timeline-item h4{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.timeline-item p{font-size:.88rem;color:var(--gray-500);line-height:1.6;margin-bottom:0}
@media(max-width:768px){
  .page-title-bar{padding:32px 0 28px}
  .page-title-bar h1{font-size:1.6rem}
  .page-title-bar .page-desc{font-size:.9rem}
  .page-content{padding:40px 0 60px}
  .page-content h2{font-size:1.3rem;margin-top:32px}
  .page-content h3{font-size:1.05rem}
  /* Tables — scrollable on mobile */
  .table-scroll{margin:16px -16px;border-radius:0;border-left:none;border-right:none}
  .county-table{font-size:.8rem;min-width:520px}
  .county-table th,.county-table td{padding:8px 10px;white-space:nowrap}
  .county-table td:last-child,.county-table th:last-child{white-space:normal}
  /* Info cards stack */
  .info-cards{grid-template-columns:1fr;gap:16px;margin:20px 0}
  .info-card{padding:20px 16px}
  /* Lists */
  .page-content ul,.page-content ol{margin-left:16px;font-size:.88rem}
  /* Back link */
  .back-home{font-size:.85rem}
}
@media(max-width:480px){
  .page-content{padding:28px 0 40px}
  .page-content h2{font-size:1.15rem}
  .county-table{font-size:.75rem;min-width:440px}
  .county-table th,.county-table td{padding:6px 8px}
  .info-card h4{font-size:.9rem}
  .info-card p{font-size:.82rem}
  .breadcrumb{font-size:.72rem;flex-wrap:wrap}
}

.sec{padding:88px 0}
.sec-shade{background:var(--gray-100);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.sec-head{margin-bottom:48px}
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end}
.sec-over{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin-bottom:10px}
.sec-title{font-size:2.6rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1.2}
.sec-title span{font-weight:400;color:var(--gray-400)}
.sec-desc{font-size:.95rem;color:var(--gray-500);margin-top:10px;max-width:520px;line-height:1.6}
.more-link{font-size:.85rem;font-weight:600;color:var(--red);display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.more-link:hover{gap:10px}

.svc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc-row.svc-cols-3{grid-template-columns:repeat(3,1fr)}
.svc-row.svc-cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.svc-row,.svc-row.svc-cols-3,.svc-row.svc-cols-4{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.svc-row,.svc-row.svc-cols-3,.svc-row.svc-cols-4{grid-template-columns:1fr}}
.svc{background:var(--white);border:1px solid var(--gray-200);border-radius:14px;padding:30px 26px 26px;transition:all .3s var(--ease);cursor:pointer;display:flex;flex-direction:column;position:relative;overflow:hidden}
.svc::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;opacity:0;transition:opacity .35s var(--ease)}
.svc:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(12,27,58,.1);border-color:var(--gray-300)}
.svc:hover::before{opacity:1}
.svc:nth-child(1)::before{background:linear-gradient(90deg,#ef4444,#dc2626)}
.svc:nth-child(2)::before{background:linear-gradient(90deg,#3b82f6,#2563eb)}
.svc:nth-child(3)::before{background:linear-gradient(90deg,#22c55e,#16a34a)}
.svc:nth-child(4)::before{background:linear-gradient(90deg,#fb923c,#ea580c)}
.svc:nth-child(5)::before{background:linear-gradient(90deg,#a78bfa,#7c3aed)}
.svc:nth-child(6)::before{background:linear-gradient(90deg,#5eead4,#0d9488)}
.svc-ic{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.svc-ic svg{width:24px;height:24px}
.svc-ic.c1{background:linear-gradient(135deg,rgba(239,68,68,.2),rgba(220,38,38,.15));color:#dc2626}
.svc-ic.c2{background:linear-gradient(135deg,rgba(59,130,246,.2),rgba(37,99,235,.15));color:#2563eb}
.svc-ic.c3{background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(22,163,74,.15));color:#16a34a}
.svc-ic.c4{background:linear-gradient(135deg,rgba(251,146,60,.2),rgba(234,88,12,.15));color:#ea580c}
.svc-ic.c5{background:linear-gradient(135deg,rgba(167,139,250,.2),rgba(124,58,237,.15));color:#7c3aed}
.svc-ic.c6{background:linear-gradient(135deg,rgba(94,234,212,.2),rgba(13,148,136,.15));color:#0d9488}
.svc h4{font-size:1.15rem;font-weight:700;margin-bottom:8px;color:var(--navy)}
.svc p{font-size:1rem;color:var(--gray-500);line-height:1.6;flex:1}
.svc-go{margin-top:18px;font-size:.78rem;font-weight:600;color:var(--red);opacity:0;transform:translateY(4px);transition:all .3s var(--ease)}
.svc:hover .svc-go{opacity:1;transform:translateY(0)}

/* ═══ NEWS ═══ */

/* Press Releases & Events */
.updates-sec{padding:60px 0}
.updates-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.upd-col{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}
.upd-header{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}
.upd-header svg{color:var(--navy);flex-shrink:0}
.upd-header h4{font-size:.85rem;font-weight:700;color:var(--navy);margin:0}
.upd-list{list-style:none;padding:0;margin:0}
.upd-list li{border-bottom:1px solid var(--gray-100)}
.upd-list li:last-child{border-bottom:none}
.upd-list li a{display:block;padding:12px 18px;transition:background .2s;text-decoration:none}
.upd-list li a:hover{background:var(--gray-50)}
.upd-date{display:block;font-size:.6rem;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.upd-title{display:block;font-size:.78rem;font-weight:600;color:var(--navy);line-height:1.4}
.upd-list.evt li a{display:flex;align-items:flex-start;gap:12px}
.upd-evt-badge{min-width:44px;text-align:center;background:var(--navy);border-radius:8px;padding:6px 8px;flex-shrink:0}
.upd-evt-m{display:block;font-size:.5rem;font-weight:700;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.06em}
.upd-evt-d{display:block;font-size:1.1rem;font-weight:900;color:var(--white);line-height:1.1}
.upd-loc{display:block;font-size:.62rem;color:var(--gray-500);margin-top:3px}
.upd-more{display:block;text-align:center;padding:12px;font-size:.75rem;font-weight:600;color:var(--red);border-top:1px solid var(--gray-200);transition:background .2s}
.upd-more:hover{background:var(--gray-50)}
.news-sec{border-top:none;border-bottom:none}
.news-grid-4{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.ncard{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;transition:all .3s var(--ease);display:flex;flex-direction:column}
.ncard:hover{box-shadow:0 8px 24px rgba(0,0,0,.07);transform:translateY(-2px)}
.ncard.featured{grid-column:1/-1;display:grid;grid-template-columns:1.1fr .9fr}
.ncard-img{overflow:hidden;background:var(--gray-100)}
.ncard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.ncard:hover .ncard-img img{transform:scale(1.04)}
.ncard.featured .ncard-img{height:auto;min-height:280px}
.ncard.mini .ncard-img{height:160px}
.ncard-body{padding:20px;flex:1;display:flex;flex-direction:column}
.ncard.mini .ncard-body{padding:14px 16px}
.ntag{display:inline-flex;align-self:flex-start;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:100px;margin-bottom:10px;text-decoration:none}
.ntag-link{cursor:pointer;transition:opacity .2s,transform .15s}
.ntag-link:hover{opacity:.8;transform:scale(1.05)}
a.ntag-link{z-index:2;position:relative}
.ntag.red{background:#fee2e2;color:var(--red)}.ntag.blue{background:var(--blue-light);color:var(--blue)}.ntag.green{background:#dcfce7;color:#16a34a}
.ncard.featured .ncard-body h3{font-size:1.25rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:10px}
.ncard.mini .ncard-body h3{font-size:.82rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:0}
.ncard-body>p{font-size:.88rem;color:var(--gray-500);line-height:1.6;flex:1}
.ncard-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--gray-400)}
.ncard-foot a{color:var(--red);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.news-more-wrap{text-align:center;margin-top:28px}
.news-more-btn{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--red);padding:11px 28px;border:1.5px solid var(--red);border-radius:8px;transition:all .25s var(--ease)}
.news-more-btn:hover{background:var(--red);color:var(--white)}

/* ═══ ELECTION RESULTS ═══ */
.results-sec{background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 50%,var(--navy) 100%);border-top:none;padding-top:70px;padding-bottom:70px}
.results-sec .sec-over{color:rgba(212,167,74,.85)}
.results-sec .sec-title{color:var(--white)}
.results-sec .sec-title span{color:var(--gold)}
.results-sec .sec-desc{color:rgba(255,255,255,.6)}
.results-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.result-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;transition:all .35s var(--ease);display:flex;flex-direction:column;backdrop-filter:blur(4px)}
.result-card:hover{background:rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.25);transform:translateY(-3px);border-color:rgba(255,255,255,.2)}
.result-card.featured{grid-column:1/-1;flex-direction:row;background:linear-gradient(135deg,rgba(212,167,74,.12) 0%,rgba(192,0,0,.08) 100%);border:1.5px solid rgba(212,167,74,.4)}
.result-card.featured:hover{border-color:var(--gold);box-shadow:0 8px 36px rgba(212,167,74,.15)}
.result-year{background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.04) 100%);color:var(--white);font-size:1.6rem;font-weight:900;display:flex;align-items:center;justify-content:center;padding:18px 22px;letter-spacing:-.02em;flex-shrink:0;position:relative}
.result-year::after{content:'';position:absolute;bottom:0;left:20%;right:20%;height:2px;border-radius:2px}
.result-card:nth-child(2) .result-year::after{background:linear-gradient(90deg,transparent,#3b82f6,transparent)}
.result-card:nth-child(3) .result-year::after{background:linear-gradient(90deg,transparent,#8b5cf6,transparent)}
.result-card:nth-child(4) .result-year::after{background:linear-gradient(90deg,transparent,#06b6d4,transparent)}
.result-card.featured .result-year{font-size:2.8rem;padding:28px 42px;min-width:150px;background:linear-gradient(180deg,rgba(212,167,74,.15) 0%,rgba(212,167,74,.05) 100%)}
.result-card.featured .result-year::after{background:linear-gradient(90deg,transparent,var(--gold),transparent);bottom:15%;top:15%;left:auto;right:0;width:2px;height:auto}
.result-body{padding:18px 20px;flex:1;display:flex;flex-direction:column;gap:10px}
.result-body h4{font-size:1.05rem;font-weight:700;color:var(--white);line-height:1.3}
.result-body p{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.6}
.result-stats{display:flex;gap:16px;flex-wrap:wrap}
.result-stats span{font-size:.82rem;color:rgba(255,255,255,.5)}
.result-stats strong{color:var(--gold);font-weight:700}
.result-actions{display:flex;gap:8px;margin-top:auto}
.result-btn{font-size:.82rem;font-weight:600;padding:8px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);transition:all .25s;display:inline-flex;align-items:center;gap:4px}
.result-btn:hover{border-color:var(--white);background:rgba(255,255,255,.1);color:var(--white)}
.result-btn.primary{background:linear-gradient(135deg,#c00000,#a00000);color:var(--white);border-color:transparent;box-shadow:0 2px 8px rgba(192,0,0,.3)}
.result-btn.primary:hover{background:linear-gradient(135deg,#d40000,#b00000);box-shadow:0 4px 14px rgba(192,0,0,.4);transform:translateY(-1px)}
.results-archive{text-align:center;margin-top:28px}
.archive-link{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;font-weight:600;color:var(--gold);padding:12px 28px;background:rgba(212,167,74,.08);border:1.5px solid rgba(212,167,74,.35);border-radius:8px;transition:all .25s var(--ease)}
.archive-link:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.archive-btn-wrap{margin:24px 0}
.archive-portal-btn{display:inline-flex;align-items:center;gap:10px;background:var(--navy);color:var(--white);padding:14px 28px;border-radius:10px;font-size:.92rem;font-weight:600;transition:all .25s;text-decoration:none}
.archive-portal-btn:hover{background:var(--navy);box-shadow:0 4px 16px rgba(12,27,58,.25);transform:translateY(-1px)}

/* ═══ STATS ═══ */
.stats{background:var(--navy);padding:60px 0;position:relative;overflow:hidden}
.stats::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 600px 300px at 20% 50%,rgba(196,18,48,.06),transparent),radial-gradient(ellipse 600px 300px at 80% 50%,rgba(212,167,74,.04),transparent)}
.stats .container{position:relative;z-index:1}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stat-item{padding:16px 24px;position:relative}
.stat-item+.stat-item::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:1px;background:rgba(255,255,255,.07)}
.stat-item .big{font-size:3.5rem;font-weight:800;color:var(--white);line-height:1;letter-spacing:-.03em}
.stat-item .big em{font-style:normal;color:var(--gold)}
.stat-item .sub{font-size:.92rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.3);margin-top:10px}

/* ═══ RESULTS & STATS RESPONSIVE ═══ */
@media(max-width:768px){
  .results-grid{grid-template-columns:1fr;gap:12px}
  .result-card.featured{flex-direction:column}
  .result-card.featured .result-year{font-size:2rem;padding:18px 24px;min-width:auto}
  .result-card.featured .result-year::after{bottom:0;left:20%;right:20%;top:auto;width:auto;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
  .result-body{padding:14px 16px}
  .result-body h4{font-size:.92rem}
  .result-body p{font-size:.8rem}
  .result-actions{flex-wrap:wrap;gap:6px}
  .result-btn{font-size:.76rem;padding:7px 12px}
  .result-stats{gap:10px}
  .result-stats span{font-size:.75rem}
  .results-archive{margin-top:20px}
  .archive-link{font-size:.75rem;padding:8px 16px;flex-wrap:wrap;justify-content:center;text-align:center}
  .archive-portal-btn{font-size:.8rem;padding:12px 18px;gap:8px;width:100%;justify-content:center;text-align:center}
  .page-content .results-sec{padding:32px 16px;margin:24px -20px;border-radius:12px}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-item .big{font-size:2.4rem}
  .stat-item .sub{font-size:.72rem;letter-spacing:.08em}
  .stat-item+.stat-item::before{display:none}
}
@media(max-width:480px){
  .results-grid{gap:10px}
  .result-card.featured .result-year{font-size:1.6rem;padding:14px 16px}
  .result-year{font-size:1.2rem;padding:12px 14px}
  .result-body h4{font-size:.85rem}
  .result-body p{font-size:.75rem}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-item{padding:12px 10px}
  .stat-item .big{font-size:1.8rem}
  .page-content .results-sec{padding:24px 12px;margin:16px -20px;border-radius:8px}
}

/* ═══ ABOUT ═══ */
.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.about-card{background:var(--white);border:1px solid var(--gray-200);border-radius:10px;padding:18px 16px 16px;transition:all .3s var(--ease);position:relative;overflow:hidden}
.about-card::before{content:'';position:absolute;top:0;left:0;width:5px;height:100%;transition:width .3s}
.about-card:nth-child(1)::before{background:linear-gradient(180deg,#3b82f6,#2563eb)}
.about-card:nth-child(2)::before{background:linear-gradient(180deg,#8b5cf6,#7c3aed)}
.about-card:nth-child(3)::before{background:linear-gradient(180deg,#ec4899,#db2777)}
.about-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.06);transform:translateY(-3px)}
.about-card:hover::before{width:6px}
.about-card .num{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;transition:transform .3s}
.about-card .num svg{width:22px;height:22px}
.about-card:nth-child(1) .num{background:rgba(37,99,235,.08);color:#2563eb}
.about-card:nth-child(2) .num{background:rgba(124,58,237,.08);color:#7c3aed}
.about-card:nth-child(3) .num{background:rgba(219,39,119,.08);color:#db2777}
.about-card:hover .num{transform:scale(1.1)}
.about-card h3{font-size:.95rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.about-card p{font-size:.82rem;color:var(--gray-500);line-height:1.55;margin-bottom:10px}
.card-link{font-size:.82rem;font-weight:600;color:var(--red);display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.card-link:hover{gap:10px}


/* ═══ LEADERSHIP ═══ */
.lead-sec{border-top:none}
.lead-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.lead-card{background:var(--white);border-radius:8px;box-shadow:0 1px 6px rgba(0,0,0,.04);overflow:hidden;transition:all .3s var(--ease);border:1px solid var(--gray-200);text-decoration:none;color:inherit;display:block;cursor:pointer;position:relative}
.lead-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08)}
/* .lead-card:nth-child(1),.lead-card:nth-child(2){border-color:var(--gold)} */
.lead-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,27,58,.95) 0%,rgba(12,27,58,.85) 60%,rgba(12,27,58,.6) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px 16px;opacity:0;transition:opacity .3s var(--ease)}
.lead-card:hover .lead-overlay{opacity:1}
.lead-overlay p{color:rgba(255,255,255,.88);font-size:.78rem;line-height:1.6;margin-bottom:12px}
.lead-more{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:700;color:var(--gold);letter-spacing:.02em}
.lead-view-all{text-align:center;margin-top:24px}
.lead-img{width:100%;aspect-ratio:1;overflow:hidden;background:var(--gray-100)}
.lead-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s var(--ease)}
.lead-card:hover .lead-img img{transform:scale(1.05)}
.lead-info{padding:6px 6px;text-align:center}
.lead-info h4{font-size:.65rem;font-weight:700;color:var(--navy);margin-bottom:1px;line-height:1.25}
.lead-info span{font-size:.56rem;font-weight:600;color:var(--red);text-transform:uppercase;letter-spacing:.05em}
.lead-card:nth-child(1) .lead-info span,.lead-card:nth-child(2) .lead-info span{color:var(--gold)}

/* Executive Leadership */
.exec-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.exec-card{flex:1 1 200px;max-width:340px;background:var(--white);border:1px solid var(--gray-200);border-radius:8px;padding:18px 14px;transition:all .3s var(--ease);text-align:center}
.exec-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.06);transform:translateY(-2px)}
.exec-icon{width:34px;height:34px;border-radius:8px;background:rgba(52,67,112,.06);color:var(--navy);display:flex;align-items:center;justify-content:center;margin:0 auto 8px}
.exec-icon svg{width:20px;height:20px}
.exec-card h4{font-size:.75rem;font-weight:700;color:var(--navy);margin-bottom:4px;line-height:1.3}
.exec-card p{font-size:.68rem;color:var(--gray-500);line-height:1.5}
.exec-more{text-align:center;margin-top:20px}
.exec-link{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--red);padding:8px 20px;border:1.5px solid var(--red);border-radius:8px;transition:all .25s var(--ease)}
.exec-link:hover{background:var(--red);color:var(--white)}
.lead-c{text-align:center;background:var(--white);border:1px solid var(--gray-200);border-radius:14px;padding:32px 16px 28px;transition:all .3s var(--ease)}
.lead-c:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,0,0,.06)}
.lead-av{width:110px;height:110px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,var(--gray-100),var(--blue-light));display:flex;align-items:center;justify-content:center;border:3px solid var(--white);box-shadow:0 2px 8px rgba(0,0,0,.06);overflow:hidden}
.lead-av svg{width:32px;height:32px;color:var(--gray-400)}
.lead-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.lead-c h4{font-size:.98rem;font-weight:700;color:var(--navy);margin-bottom:4px}
.lead-c p{font-size:.7rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em}

/* ═══ GALLERY ═══ */
.gallery-sec{background:var(--white)}
.gal-filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:28px}
.gal-filter{padding:7px 16px;font-size:.72rem;font-weight:600;border:1.5px solid var(--gray-200);border-radius:20px;background:var(--white);color:var(--gray-500);cursor:pointer;transition:all .25s var(--ease)}
.gal-filter:hover{border-color:var(--navy);color:var(--navy)}
.gal-filter.active{background:var(--navy);color:var(--white);border-color:var(--navy)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gal-item{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;transition:all .4s var(--ease)}
.gal-item.hidden{display:none}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gal-item:hover img{transform:scale(1.08)}
.gal-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,27,58,.85) 0%,rgba(12,27,58,.15) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:14px;opacity:0;transition:opacity .3s var(--ease)}
.gal-item:hover .gal-overlay{opacity:1}
.gal-tag{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:4px}
.gal-caption{font-size:.72rem;font-weight:600;color:var(--white);line-height:1.35}

/* ═══ CONTACT ═══ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:36px}
.contact-info{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:32px}
.contact-info h3{font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:24px}
.contact-item{display:flex;gap:14px;margin-bottom:18px}
.contact-icon{width:38px;height:38px;background:var(--blue-light);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-icon svg{width:18px;height:18px;color:var(--blue)}
.contact-text h4{font-size:.75rem;font-weight:600;color:var(--gray-400);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}
.contact-text p{font-size:.96rem;color:var(--navy);font-weight:500;line-height:1.6}
.contact-text a{color:var(--navy);font-weight:500}
.contact-text a:hover{color:var(--red)}
.contact-form{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:32px}
.contact-form h3{font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:24px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--gray-600);margin-bottom:6px}
.form-group input,.form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--gray-300);border-radius:6px;font-size:.95rem;font-family:var(--font);transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--blue)}
.form-group textarea{resize:vertical;min-height:100px}
.form-submit{background:var(--red);color:var(--white);border:none;padding:12px 28px;border-radius:6px;font-size:.96rem;font-weight:600;cursor:pointer;transition:all .2s}
.form-submit:hover{background:var(--red-dark);transform:translateY(-1px)}
.contact-map{margin-top:32px;border-radius:12px;overflow:hidden;border:1px solid var(--gray-200)}
.contact-map iframe{width:100%;height:380px;border:0}

/* ═══ FOOTER ═══ */
footer{background:var(--navy);color:rgba(255,255,255,1);padding:68px 0 0}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,1)}
.ft-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ft-brand-box{width:40px;height:40px;background:rgba(255,255,255,.06);border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,1)}
.ft-brand-box svg{height:24px;width:auto}
.ft-brand-name{font-size:1rem;color:var(--white);font-weight:700}
.ft-desc{font-size:.84rem;line-height:1.75;max-width:280px}
footer h5{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,1);font-weight:700;margin-bottom:20px}
footer ul{list-style:none}footer ul li{margin-bottom:11px}
footer ul a{color:rgba(255,255,255,1);font-size:1rem;transition:color .2s;font-weight:400}
footer ul a:hover{color:var(--gold)}
.ft-bottom{padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-size:.74rem;color:rgba(255,255,255,1)}
.ft-bottom a{color:rgba(255,255,255,1);transition:color .2s}
.ft-bottom a:hover{color:rgba(255,255,255,1)}


/* PHOTO NEWS GRID */
.pnews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.pn-card{background:var(--white);border:1px solid var(--gray-200);border-radius:14px;overflow:hidden;transition:all .3s var(--ease)}
.pn-card:hover{box-shadow:0 12px 32px rgba(0,0,0,.08);transform:translateY(-4px)}
.pn-card img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.pn-card:hover img{transform:scale(1.03)}
.pn-card-body{padding:22px 24px 24px}
.pn-card-body .ntag{margin-bottom:12px}
.pn-card-body h4{font-size:1.15rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:8px}
.pn-card-body p{font-size:.98rem;color:var(--gray-500);line-height:1.6;margin-bottom:14px}
.pn-card-foot{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--gray-400);padding-top:12px;border-top:1px solid var(--gray-200)}
.pn-card-foot a{color:var(--red);font-weight:600}
@media(max-width:1024px){.pnews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pnews-grid{grid-template-columns:1fr}}

/* CHAIRPERSON */
.chair-sec{background:var(--white);border-bottom:1px solid var(--gray-200)}
.chair-grid{display:grid;grid-template-columns:.42fr .58fr;gap:48px;align-items:center}
.chair-img{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(12,27,58,.12)}
.chair-img img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:top}
.chair-img-badge{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(12,27,58,.85),transparent);padding:32px 24px 20px;color:var(--white)}
.chair-img-badge h3{font-size:1.15rem;font-weight:700;margin-bottom:2px}
.chair-img-badge p{font-size:.78rem;font-weight:500;color:rgba(255,255,255,.65)}
.chair-body{}
.chair-body .sec-over{margin-bottom:10px}
.chair-body h2{font-size:2rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;margin-bottom:6px;line-height:1.25}
.chair-role{font-size:.98rem;font-weight:600;color:var(--red);margin-bottom:20px}
.chair-bio{font-size:1.1rem;color:var(--gray-500);line-height:1.8;margin-bottom:24px}
.chair-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}
.chair-detail{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;padding:16px 18px}
.chair-detail .cd-lbl{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-400);margin-bottom:4px}
.chair-detail .cd-val{font-size:.95rem;font-weight:600;color:var(--navy)}
.chair-quote{border-left:3px solid var(--red);padding-left:20px;font-style:italic;font-size:1.02rem;color:var(--gray-600);line-height:1.7}
@media(max-width:1024px){.chair-grid{grid-template-columns:1fr;gap:36px}.chair-img{max-width:400px}}
@media(max-width:640px){.chair-details{grid-template-columns:1fr}}

/* ═══ ANIM ═══ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.vis{opacity:1;transform:none}
.stg>*{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.stg.vis>:nth-child(1){opacity:1;transform:none;transition-delay:0s}
.stg.vis>:nth-child(2){opacity:1;transform:none;transition-delay:.07s}
.stg.vis>:nth-child(3){opacity:1;transform:none;transition-delay:.14s}
.stg.vis>:nth-child(4){opacity:1;transform:none;transition-delay:.21s}
.stg.vis>:nth-child(5){opacity:1;transform:none;transition-delay:.28s}
.stg.vis>:nth-child(6){opacity:1;transform:none;transition-delay:.35s}
.stg.vis>:nth-child(7){opacity:1;transform:none;transition-delay:.42s}

/* ═══ RESPONSIVE ═══ */
@media(min-width:1200px){
  .lead-grid{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:900px) and (max-width:1199px){
  .lead-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
  .hero{min-height:max(600px,75vh)}
  .hero>.container{padding:40px 32px 40px;justify-content:flex-end}
  .hero-row{justify-content:flex-end;padding-right:2%}
  .hero-text-box{max-width:520px;padding:28px 24px}
  .hero h2{font-size:2rem}.hero h2 span{font-size:1.6rem}
  .hero-p{font-size:.88rem;max-width:100%;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .hero-tag{font-size:.68rem;margin-bottom:16px}
  .hero-cd-bar{margin-top:-45px}
  .cd-inline{gap:14px;padding:14px 0;flex-wrap:wrap}
  .cd-inline-grid{justify-content:center}
  .news-grid-4{grid-template-columns:1fr 1fr}
  .ncard.featured{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-item+.stat-item::before{display:none}
  .lead-grid{grid-template-columns:repeat(3,1fr)}
  .exec-grid{grid-template-columns:repeat(3,1fr)}
  .gal-grid{grid-template-columns:repeat(3,1fr)}
  .results-grid{grid-template-columns:1fr 1fr}
  .result-card.featured{flex-direction:column}
  .result-card.featured .result-year::after{width:auto;height:2px;top:auto;bottom:0;left:20%;right:20%}
  .ft-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media(min-width:641px) and (max-width:899px){
  .lead-grid{grid-template-columns:repeat(2,1fr)}
  .exec-grid{grid-template-columns:1fr 1fr}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .news-ticker-label{padding:0 12px;font-size:.7rem;gap:5px}
  .news-ticker-label svg{display:none}
  .news-ticker-scroll{gap:30px;animation-duration:35s}
  .ticker-item{font-size:.76rem}
  .ticker-close{padding:0 10px}
  .ticker-reopen{right:14px;bottom:14px;padding:8px 12px;font-size:.72rem}
  .top-strip{display:none}
  .top-strip .container{flex-direction:column;gap:4px;text-align:center}.ts-right{justify-content:center}
  .site-header{z-index:200}
  .nav{display:none;position:fixed;top:80px;left:0;right:0;bottom:0;background:var(--white);box-shadow:0 4px 20px rgba(0,0,0,.1);padding:0 20px 20px;z-index:199;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav.active{display:flex;flex-direction:column}
  .nav-items{flex-direction:column;width:100%;gap:0}
  .nav-item{width:100%;border-bottom:1px solid var(--gray-200)}
  .nav-item>a{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:1rem;white-space:normal}
  .nav-item>a .chevron{width:18px;height:18px;flex-shrink:0;margin-left:8px;transition:transform .25s}
  .nav-item.dd-open>a .chevron{transform:rotate(180deg)}
  .nav-item.dd-open>a{color:var(--navy);font-weight:600}
  .dropdown{position:static!important;transform:none!important;min-width:0!important;max-width:100%;box-shadow:none;border:none;border-radius:0;padding:0 0 12px 0;background:var(--gray-50);border-radius:8px;margin-bottom:4px;opacity:1!important;visibility:visible!important}
  .nav-item.dd-open .dropdown{display:block;pointer-events:auto}
  .nav-item:not(.dd-open) .dropdown{display:none}
  .dropdown::before{display:none}
  .dropdown.wide{min-width:0!important;max-width:100%;padding:0 0 12px 0}
  .dropdown.wide .dd-cols{grid-template-columns:1fr;gap:0}
  .dd-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:0;border-bottom:1px solid var(--gray-200);margin:0;width:100%;box-sizing:border-box}
  .dd-item.dd-nested{padding-left:28px}
  .dd-item:last-of-type{border-bottom:none}
  .dd-item:active{background:var(--gray-100)}
  .dd-item .dd-icon{width:36px;height:36px;min-width:36px;border-radius:8px}
  .dd-item .dd-icon svg{width:16px;height:16px}
  .dd-item .dd-text{flex:1;min-width:0}
  .dd-item .dd-text h6{font-size:.88rem;white-space:normal;word-wrap:break-word}
  .dd-item .dd-text p{display:block;font-size:.72rem;color:var(--gray-400);white-space:normal;word-wrap:break-word;line-height:1.3;margin-top:2px}
  .dd-divider{display:none}
  .dd-footer{display:block;padding:10px 14px;font-size:.82rem;text-align:left;border-top:1px solid var(--gray-200);margin-top:0}
  .menu-btn{display:flex;position:relative;z-index:201}
  .menu-btn.active span{background:transparent}
  .menu-btn.active span::before{transform:rotate(45deg);top:0}
  .menu-btn.active span::after{transform:rotate(-45deg);top:0}
  .hero{min-height:480px}
  .hero>.container{padding:0;position:relative;z-index:2;justify-content:center;align-items:flex-end;max-width:100%}
  .hero-row{display:flex;flex-direction:column;justify-content:flex-end;width:100%;padding-right:0;margin-top:auto}
  .hero-text-box{max-width:100%;border-radius:0;border:none;backdrop-filter:none;padding:60px 20px 18px;text-align:center}
  .hero h2{font-size:1.45rem;margin-bottom:8px}.hero h2 span{font-size:1.15rem;margin-top:2px;color:rgba(255,255,255,.75)}
  .hero-p{display:none}
  .hero-tag{display:none}
  .hero-btns .hbtn{font-size:.82rem;padding:10px 18px}
  .hero-btns .hbtn-outline{display:none}
  .hero-cd-bar{margin-top:0}
  .hero-cd-bar .container{padding:0 16px}
  .cd-inline{gap:6px;padding:10px 0;flex-wrap:wrap}
  .cd-badge{font-size:.6rem;padding:3px 10px}
  .cd-inline-title{font-size:.75rem;white-space:normal;text-align:center}
  .cd-inline-grid{justify-content:center;gap:6px}
  .cd-inline-grid .cd-cell{min-width:50px;padding:6px 8px 5px;border-radius:8px}
  .cd-inline-grid .cd-cell .n{font-size:1.05rem}
  .cd-inline-grid .cd-cell .l{font-size:.45rem;margin-top:2px;letter-spacing:.1em}
  .cd-inline-date{font-size:.72rem}
  .alert-inner{font-size:.82rem}
  .news-grid-4{grid-template-columns:1fr}
  .ncard.featured{grid-template-columns:1fr}
  .ncard.featured .ncard-img{min-height:180px}
  .updates-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}.stat-item .big{font-size:2.2rem}
  .lead-row{grid-template-columns:1fr 1fr}
  .ft-grid{grid-template-columns:1fr}
  .sec{padding:60px 0}
  .sec-title{font-size:1.6rem}
  .container{padding:0 20px}
  /* Contact section stacks vertically */
  .contact-grid{grid-template-columns:1fr}
  /* Leadership cards stack vertically */
  .lead-cards{grid-template-columns:1fr}
  /* Leadership card layout: photo on top, text below */
  .lead-card{flex-direction:column;text-align:center}
  .lead-card-img{margin:0 auto 16px}
  .results-grid{grid-template-columns:1fr}
  .result-card.featured{flex-direction:column}
  .exec-grid{grid-template-columns:1fr 1fr}
}

/* Very small mobile screens */
@media(max-width:480px){
  .lead-row{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .cd-inline{gap:4px;padding:8px 0}
  .cd-badge{font-size:.55rem;padding:2px 8px}
  .cd-inline-title{font-size:.68rem}
  .cd-inline-grid{gap:4px}
  .cd-inline-grid .cd-cell{min-width:44px;padding:5px 6px 4px}
  .cd-inline-grid .cd-cell .n{font-size:.9rem}
  .cd-inline-grid .cd-cell .l{font-size:.4rem;margin-top:1px}
  .cd-inline-date{font-size:.65rem}
}


/* ═══ GALLERY ═══ */
.gallery-sec{background:var(--white)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.gallery-item{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:1;cursor:pointer;transition:transform .3s var(--ease)}
.gallery-item:hover{transform:scale(1.05)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gallery-item:hover img{transform:scale(1.1)}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,27,58,.7) 0%,transparent 50%);opacity:0;transition:opacity .3s var(--ease);display:flex;align-items:flex-end;padding:16px}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-caption{color:var(--white);font-size:.9rem;font-weight:600}

/* ═══ FAQ ═══ */
.faq-sec{border-top:none}
.faq-list{max-width:900px;margin:36px auto 0}
.faq-item{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;margin-bottom:16px;overflow:hidden;transition:box-shadow .3s var(--ease)}
.faq-item.active{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.faq-question{padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:1.05rem;color:var(--navy);transition:background .2s}
.faq-question:hover{background:var(--gray-50)}
.faq-icon{width:24px;height:24px;border-radius:50%;background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease),background .3s}
.faq-item.active .faq-icon{transform:rotate(180deg);background:var(--blue);color:var(--white)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s var(--ease)}
.faq-item.active .faq-answer{max-height:500px;padding:0 24px 20px}
.faq-answer p{color:var(--gray-600);line-height:1.7;font-size:.98rem}
.faq-more-wrap{text-align:center;margin-top:28px}
.faq-more-btn{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--red);padding:11px 28px;border:1.5px solid var(--red);border-radius:8px;transition:all .25s var(--ease)}
.faq-more-btn:hover{background:var(--red);color:var(--white)}

@media(max-width:768px){
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .gallery-grid{grid-template-columns:1fr}
  .faq-question{font-size:.95rem;padding:16px 20px}
}

/* ═══ VIDEO HERO SLIDE ═══ */
.hero-slide-video{overflow:hidden;background:var(--navy)}
.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;z-index:1}
.hero-video-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,27,58,.25) 0%,rgba(12,27,58,.4) 100%);z-index:2}

/* ═══ RESULTS SECTION IN SUBPAGES ═══ */
.page-content .results-sec{background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 50%,var(--navy) 100%);border-radius:16px;padding:50px 32px;margin:40px 0}
.page-content .results-sec p{color:rgba(255,255,255,.55)}
.page-content .results-sec h4{color:var(--white)}
.page-content .results-sec .sec-over{color:rgba(212,167,74,.85)}
.page-content .results-sec .sec-title{color:var(--white)}
.page-content .results-sec .sec-title span{color:var(--gold)}

/* ═══ HERO CHART SLIDE ═══ */
.hero-chart-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(12,27,58,.95) 0%,rgba(37,99,235,.92) 100%);display:flex;align-items:center;justify-content:center;padding:40px 20px}
.chart-container{max-width:900px;width:100%;color:var(--white);padding:0 20px}
.chart-title{font-size:2rem;font-weight:800;text-align:center;margin-bottom:32px;background:linear-gradient(135deg,#fff,#e0f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.chart-item{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:20px;backdrop-filter:blur(10px);transition:all .3s var(--ease);position:relative}
.chart-item:hover{background:rgba(255,255,255,.15);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
/* Donut chart for second item */
.chart-item:nth-child(2) .chart-bar{display:none}
.chart-donut{width:120px;height:120px;margin:12px auto;position:relative}
.chart-donut svg{transform:rotate(-90deg)}
.chart-donut-bg{fill:none;stroke:rgba(255,255,255,.15);stroke-width:12}
.chart-donut-fill{fill:none;stroke:url(#gradient1);stroke-width:12;stroke-linecap:round;stroke-dasharray:0 314;transition:stroke-dasharray 2s cubic-bezier(.4,0,.2,1)}
.chart-item:nth-child(2).active .chart-donut-fill{stroke-dasharray:235 314}
/* Vertical bar for third item */
.chart-item:nth-child(3) .chart-bar{width:80%;height:120px;margin:12px auto;flex-direction:column;display:flex;justify-content:flex-end}
.chart-item:nth-child(3) .chart-fill{width:100%;height:0;transition:height 2s cubic-bezier(.4,0,.2,1)}
.chart-item:nth-child(3).active .chart-fill{height:var(--fill-width)}
/* Radial progress for fourth item */
.chart-item:nth-child(4) .chart-bar{display:none}
.chart-radial{width:100px;height:100px;margin:12px auto;position:relative}
.chart-radial svg{transform:rotate(-90deg)}
.chart-radial-bg{fill:none;stroke:rgba(255,255,255,.15);stroke-width:8}
.chart-radial-fill{fill:none;stroke:url(#gradient2);stroke-width:8;stroke-linecap:round;stroke-dasharray:0 251;transition:stroke-dasharray 2s cubic-bezier(.4,0,.2,1)}
.chart-item:nth-child(4).active .chart-radial-fill{stroke-dasharray:100 251}
.chart-radial-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:var(--white)}
.chart-label{font-size:1rem;font-weight:600;margin-bottom:12px;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:8px}
.chart-icon{width:24px;height:24px;background:rgba(255,255,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center}
.chart-value{font-size:2rem;font-weight:900;margin-bottom:8px;background:linear-gradient(135deg,#fff,#bfdbfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}
.chart-bar{height:8px;background:rgba(255,255,255,.15);border-radius:4px;overflow:hidden;margin-top:12px;position:relative}
.chart-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;width:0;transition:width 2s cubic-bezier(.4,0,.2,1);position:relative}
.chart-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}
@keyframes shimmer{0%,100%{transform:translateX(-100%)}50%{transform:translateX(100%)}}
.chart-item.active .chart-fill{width:var(--fill-width)}
@media(max-width:768px){
  .chart-grid{grid-template-columns:1fr;gap:20px}
  .chart-title{font-size:1.8rem;margin-bottom:32px}
  .chart-value{font-size:2.2rem}
}

/* ═══ COMMISSIONER PROFILE CARDS ═══ */
.comm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin:32px 0}
.comm-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--gray-200);border-radius:14px;overflow:hidden;transition:all .3s var(--ease);position:relative}
.comm-card:hover{box-shadow:0 8px 28px rgba(12,27,58,.08);transform:translateY(-3px);border-color:rgba(12,27,58,.15)}
.comm-photo{width:100%;height:220px;overflow:hidden;position:relative}
.comm-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .4s var(--ease)}
.comm-card:hover .comm-photo img{transform:scale(1.04)}
.comm-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,27,58,.08) 0%,transparent 40%)}
.comm-info{padding:20px;flex:1;display:flex;flex-direction:column;min-width:0}
.comm-role{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--white);background:var(--red);display:inline-block;padding:3px 12px;border-radius:100px;margin-bottom:8px;align-self:flex-start}
.comm-name{font-size:1.05rem;font-weight:800;color:var(--navy);margin-bottom:6px;line-height:1.3}
.comm-county{font-size:.75rem;color:var(--gray-400);margin-bottom:10px;display:flex;align-items:center;gap:4px}
.comm-county svg{width:14px;height:14px;flex-shrink:0}
.comm-bio{font-size:.82rem;color:var(--gray-600);line-height:1.65;flex:1}
.comm-link{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--red);margin-top:14px;transition:all .2s}
.comm-link:hover{color:var(--navy);gap:10px}
.comm-link svg{width:14px;height:14px;transition:transform .2s}
.comm-link:hover svg{transform:translateX(3px)}

/* ═══ BIO PAGE LAYOUT ═══ */
.bio-layout{display:grid;grid-template-columns:280px 1fr;gap:40px;padding:48px 0 60px}
.bio-sidebar{position:sticky;top:20px;align-self:start}
.bio-photo{width:100%;aspect-ratio:3/3.6;border-radius:16px;overflow:hidden;margin-bottom:20px;box-shadow:0 6px 24px rgba(12,27,58,.12)}
.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.bio-details{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:20px}
.bio-detail{padding:10px 0;border-bottom:1px solid var(--gray-200)}
.bio-detail:last-child{border-bottom:none}
.bio-detail-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400);margin-bottom:2px}
.bio-detail-value{font-size:.85rem;font-weight:600;color:var(--navy);line-height:1.4}
.bio-main{}
.bio-main .comm-role{margin-bottom:6px}
.bio-main h1{font-size:2rem;font-weight:900;color:var(--navy);line-height:1.25;margin-bottom:6px}
.bio-main .bio-subtitle{font-size:1rem;color:var(--gray-500);font-weight:500;margin-bottom:28px}
.bio-main .bio-body p{font-size:1rem;color:var(--gray-600);line-height:1.9;margin-bottom:16px}
.bio-main .bio-body blockquote{border-left:4px solid var(--red);padding:16px 24px;margin:28px 0;background:var(--gray-50);border-radius:0 12px 12px 0;font-style:italic;color:var(--gray-600);font-size:.95rem;line-height:1.8}
.bio-other-commissioners h3{font-size:1.1rem;font-weight:700;color:var(--navy);margin:48px 0 20px;padding-top:28px;border-top:1px solid var(--gray-200)}
.bio-other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bio-other-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--gray-200);border-radius:10px;transition:all .2s}
.bio-other-card:hover{border-color:var(--red);background:var(--gray-50);transform:translateY(-1px)}
.bio-other-card img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top center}
.bio-other-card div h5{font-size:.78rem;font-weight:700;color:var(--navy);line-height:1.3}
.bio-other-card div span{font-size:.68rem;color:var(--gray-400)}
@media(max-width:1024px){.comm-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.bio-layout{grid-template-columns:1fr}.bio-sidebar{position:static;display:grid;grid-template-columns:200px 1fr;gap:24px}.bio-other-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.comm-grid{grid-template-columns:1fr}.comm-photo{height:200px}.comm-link{justify-content:center}.bio-sidebar{grid-template-columns:1fr}.bio-main h1{font-size:1.4rem}.bio-other-grid{grid-template-columns:1fr}}

/* ═══ SEARCH OVERLAY ═══ */
.search-overlay{position:fixed;inset:0;background:rgba(12,27,58,.6);backdrop-filter:blur(4px);z-index:500;display:none;align-items:flex-start;justify-content:center;padding:80px 20px 20px;opacity:0;transition:opacity .2s}
.search-overlay.active{display:flex;opacity:1}
.search-modal{background:var(--white);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.25);width:100%;max-width:640px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;animation:searchSlide .25s ease-out}
@keyframes searchSlide{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
.search-header{padding:16px 20px;border-bottom:1px solid var(--gray-200)}
.search-input-wrap{display:flex;align-items:center;gap:12px;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:12px;padding:12px 16px;transition:border-color .2s}
.search-input-wrap:focus-within{border-color:var(--navy);background:var(--white)}
.search-input-icon{width:20px;height:20px;color:var(--gray-400);flex-shrink:0}
.search-input-wrap:focus-within .search-input-icon{color:var(--navy)}
#searchInput{flex:1;border:0;outline:0;background:transparent;font-size:1rem;font-family:inherit;color:var(--ink)}
#searchInput::placeholder{color:var(--gray-400)}
.search-kbd{font-size:.65rem;font-weight:700;color:var(--gray-400);border:1px solid var(--gray-200);border-radius:4px;padding:2px 6px;font-family:inherit;background:var(--white);flex-shrink:0}
.search-body{overflow-y:auto;padding:16px 20px;flex:1}
.search-hint p{font-size:.82rem;font-weight:600;color:var(--gray-400);margin-bottom:12px}
.search-tags{display:flex;flex-wrap:wrap;gap:8px}
.search-tag{font-size:.78rem;font-weight:600;color:var(--navy);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:100px;padding:6px 14px;cursor:pointer;transition:all .2s;font-family:inherit}
.search-tag:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.search-results{display:flex;flex-direction:column;gap:4px}
.search-result{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;border-radius:10px;text-decoration:none;color:inherit;transition:background .15s}
.search-result:hover,.search-result.active{background:var(--gray-50)}
.sr-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--white)}
.sr-icon.cat-about{background:#2563eb}.sr-icon.cat-elections{background:var(--red)}.sr-icon.cat-news{background:#059669}
.sr-icon.cat-parties{background:#7c3aed}.sr-icon.cat-legal{background:#d97706}.sr-icon.cat-voter{background:#0891b2}
.sr-icon.cat-resources{background:#64748b}.sr-icon.cat-home{background:var(--navy)}.sr-icon.cat-general{background:var(--gray-500)}
.sr-body{flex:1;min-width:0}
.sr-title{font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:2px}
.sr-title mark{background:rgba(212,167,74,.3);color:inherit;border-radius:2px;padding:0 1px}
.sr-desc{font-size:.76rem;color:var(--gray-500);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr-desc mark{background:rgba(212,167,74,.3);color:inherit;border-radius:2px;padding:0 1px}
.sr-cat{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400);margin-top:3px}
.search-no-results{text-align:center;padding:32px 16px;color:var(--gray-400)}
.search-no-results svg{width:48px;height:48px;margin-bottom:12px;opacity:.4}
.search-no-results p{font-size:.88rem;font-weight:600;margin-bottom:4px;color:var(--gray-500)}
.search-no-results small{font-size:.76rem}
.search-count{font-size:.72rem;font-weight:600;color:var(--gray-400);margin-bottom:8px}
.search-loading{text-align:center;padding:24px 16px;color:var(--gray-400);font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:8px}
.search-loading .spin{animation:nec-spin .8s linear infinite}
@keyframes nec-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){
  .search-overlay{padding:20px 12px}
  .search-modal{max-height:85vh;border-radius:12px}
  .search-header{padding:12px 14px}
  .search-input-wrap{padding:10px 12px;border-radius:10px}
  #searchInput{font-size:.92rem}
  .search-kbd{display:none}
  .search-body{padding:12px 14px}
  .search-result{padding:10px 10px;gap:10px}
  .sr-icon{width:32px;height:32px;font-size:.6rem}
  .sr-title{font-size:.84rem}
}



/* ═══════════════════════════════════════════════
   STAFF & DEPARTMENTS PAGE
   ═══════════════════════════════════════════════ */

/* ═══ ORG CHART ═══ */
.org-chart{margin:32px 0 48px}
.org-level{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.org-top .org-box{max-width:400px}
.org-connector{width:2px;height:28px;background:var(--gray-300);margin:0 auto}
.org-box{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:20px 24px;text-align:center;flex:1;min-width:220px;max-width:320px;transition:all .3s var(--ease)}
.org-box:hover{box-shadow:0 6px 24px rgba(12,27,58,.08);transform:translateY(-2px)}
.org-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 12px;border-radius:100px;margin-bottom:10px;background:var(--navy);color:var(--white)}
.org-badge.red{background:var(--red)}
.org-badge.blue{background:#2563eb}
.org-badge.green{background:#059669}
.org-badge.purple{background:#7c3aed}
.org-badge.secretariat{background:#b45309}
.org-box h4{font-size:.95rem;font-weight:800;color:var(--navy);margin-bottom:4px}
.org-name{font-size:.82rem;font-weight:600;color:var(--red);margin-bottom:6px}
.org-box p{font-size:.78rem;color:var(--gray-500);line-height:1.5}
.org-link{display:inline-block;font-size:.75rem;font-weight:700;color:var(--red);margin-top:8px}
.org-board{border:2px solid var(--navy);background:linear-gradient(135deg,rgba(12,27,58,.02),rgba(212,167,74,.03))}
.org-ed{border:2px solid var(--red);background:linear-gradient(135deg,rgba(196,18,48,.02),rgba(196,18,48,.04))}
.org-deputies{gap:16px}

/* ═══ DEPARTMENT CARDS ═══ */
.dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin:32px 0 48px}
.dept-card{background:var(--white);border:1px solid var(--gray-200);border-radius:14px;padding:24px;transition:all .3s var(--ease);display:flex;flex-direction:column}
.dept-card:hover{box-shadow:0 6px 24px rgba(12,27,58,.08);transform:translateY(-2px)}
.dept-header{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:16px;border-bottom:2px solid var(--gray-200)}
.dept-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dept-header h3{font-size:1rem;font-weight:800;color:var(--navy);line-height:1.3}
.dept-card>p{font-size:.84rem;color:var(--gray-600);line-height:1.7;margin-bottom:16px;flex:1}
.dept-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px;padding:10px 14px;background:var(--gray-50);border-radius:8px}
.dept-meta span{font-size:.78rem;color:var(--gray-500)}
.dept-meta strong{color:var(--navy);font-weight:700}
.dept-units{margin-top:auto}
.dept-units h5{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-400);margin-bottom:8px}
.dept-units ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;list-style:none;padding:0}
.dept-units li{font-size:.78rem;color:var(--gray-600);padding:3px 0;padding-left:14px;position:relative}
.dept-units li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--gray-300)}

/* ═══ COUNTY STAFF ═══ */
.county-staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}
.county-staff-card{text-align:center;padding:24px 16px;background:var(--navy);border-radius:12px;color:var(--white)}
.cs-count{font-size:2.4rem;font-weight:900;line-height:1;color:var(--gold)}
.cs-label{font-size:.82rem;font-weight:600;margin-top:6px;opacity:.8}

/* ═══ STAFFING SUMMARY ═══ */
.staff-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 40px}
.staff-stat{text-align:center;padding:28px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px}
.ss-number{font-size:2.2rem;font-weight:900;color:var(--navy);line-height:1}
.ss-label{font-size:.88rem;font-weight:700;color:var(--navy);margin-top:6px}
.ss-desc{font-size:.75rem;color:var(--gray-400);margin-top:4px}

@media(max-width:768px){
  .org-deputies{flex-direction:column;align-items:center}
  .org-box{max-width:100%}
  .dept-grid{grid-template-columns:1fr}
  .county-staff-grid,.staff-summary-grid{grid-template-columns:1fr 1fr}
  .dept-units ul{grid-template-columns:1fr}
}
@media(max-width:480px){
  .county-staff-grid,.staff-summary-grid{grid-template-columns:1fr 1fr}
  .cs-count,.ss-number{font-size:1.8rem}
}


/* ═══════════════════════════════════════════════
   COUNTY OFFICES MAP
   ═══════════════════════════════════════════════ */

#countyMap{width:100%;height:520px;border-radius:14px;border:2px solid var(--gray-200);margin:32px 0;box-shadow:0 4px 20px rgba(12,27,58,.08);z-index:0}
.map-pin-label{font-family:Montserrat,sans-serif;font-size:11px;font-weight:700;color:var(--navy);background:white;border:2px solid #c41230;padding:3px 8px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.18);white-space:nowrap}
.map-popup{font-family:Montserrat,sans-serif}
.map-popup h4{font-size:.88rem;font-weight:700;color:var(--navy);margin:0 0 6px}
.map-popup p{font-size:.78rem;color:#64748b;margin:2px 0;line-height:1.5}
.map-popup .mp-districts{display:inline-block;background:#c41230;color:white;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:4px;margin-top:6px}
.map-legend{background:white;padding:12px 16px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.15);font-size:.78rem;line-height:1.8}
.map-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:middle}


/* ═══════════════════════════════════════════════
   ELECTION RESULTS – PARLIAMENT CHART
   ═══════════════════════════════════════════════ */

.parliament-section{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:44px 32px;margin:48px 0}
.parliament-section>h2{font-size:1.6rem;font-weight:800;color:var(--navy);margin-bottom:4px;text-align:center}
.parliament-section>p{text-align:center;color:var(--gray-500);font-size:.9rem;margin-bottom:28px}
.parliament-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:36px}
.parl-tab{padding:10px 28px;border:2px solid var(--gray-200);border-radius:100px;font-family:inherit;font-size:.85rem;font-weight:700;color:var(--gray-500);background:var(--white);cursor:pointer;transition:all .25s}
.parl-tab.active{background:var(--navy);color:var(--white);border-color:var(--navy)}
.parl-tab:hover:not(.active){border-color:var(--navy);color:var(--navy)}

.hemicycle-wrap{display:flex;align-items:flex-end;justify-content:center;gap:0;margin-bottom:32px;position:relative}
.hemicycle-chart{flex:1;max-width:820px;position:relative}
#hemiCanvas{width:100%;height:auto;display:block}
.hemi-side{width:80px;flex-shrink:0;padding-bottom:20px;text-align:center}
.hemi-side .hs-count{font-size:3.2rem;font-weight:900;line-height:1}
.hemi-side .hs-party{font-size:.75rem;font-weight:700;letter-spacing:.04em;margin-top:2px}
.hemi-side .hs-label{font-size:.65rem;color:var(--gray-400);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.hemi-left{text-align:right;padding-right:8px}
.hemi-right{text-align:left;padding-left:8px}

.hemi-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;margin-bottom:28px}
.hl-item{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--gray-600);background:var(--white);border:1.5px solid var(--gray-200);border-radius:100px;padding:6px 14px;cursor:pointer;transition:all .2s;font-family:inherit}
.hl-item:hover{border-color:var(--navy);color:var(--navy);background:var(--gray-50)}
.hl-item.hl-active{border-color:var(--navy);background:var(--navy);color:var(--white)}
.hl-item.hl-active .hl-dot{box-shadow:0 0 0 2px #fff}
.hl-item.hl-active .hl-seats{color:rgba(255,255,255,.7)}
.hl-item.hl-dimmed{opacity:.35}
.hl-item.hl-all{background:var(--red);color:#fff;border-color:var(--red);gap:4px;font-size:.75rem}
.hl-item.hl-all:hover{background:#a91020}
.hl-dot{width:14px;height:10px;border-radius:3px;flex-shrink:0}
.hl-seats{color:var(--gray-400);font-weight:500}
.parl-row-active{background:var(--blue-light) !important}
.parl-row-dimmed{opacity:.3}
.parl-row-total{background:var(--gray-50) !important;border-top:2px solid var(--navy)}

.parliament-detail-table{margin-top:0}
.parliament-detail-table .seat-bar{height:8px;border-radius:4px;display:inline-block;vertical-align:middle;margin-right:10px}
.parliament-detail-table td:nth-child(2){font-weight:800;font-size:.95rem}
.parliament-detail-table td:nth-child(3){color:var(--gray-500)}
.parliament-detail-table .change-up{color:#16a34a;font-weight:700}
.parliament-detail-table .change-down{color:#dc2626;font-weight:700}
.parliament-detail-table .change-same{color:var(--gray-400)}

@media(max-width:768px){
  .hemi-side{width:50px}
  .hemi-side .hs-count{font-size:2rem}
  .hemi-side .hs-party{font-size:.65rem}
  .parliament-section{padding:28px 16px}
  .parliament-tabs{flex-direction:column;align-items:center;gap:6px}
  .parl-tab{width:100%;text-align:center;justify-content:center}
  .hemi-legend{gap:4px 6px}
  .hl-item{font-size:.7rem;padding:4px 10px}
  .parliament-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}
  .parliament-detail-table{min-width:500px;font-size:.8rem}
  .parliament-detail-table .seat-bar{margin-right:6px}
}
@media(max-width:480px){
  .hemi-side{display:none}
  .parliament-section>h2{font-size:1.2rem}
  .parliament-section>p{font-size:.78rem}
}

/* ═══════════════════════════════════════════
   WHATSAPP FLOATING BUTTON
   ═══════════════════════════════════════════ */
.wa-float{position:fixed;bottom:28px;z-index:9999}
.wa-float.wa-right{right:28px}
.wa-float.wa-left{left:28px}
.wa-float.wa-center{left:50%;transform:translateX(-50%)}
.wa-btn{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 4px 16px rgba(37,211,102,.4),0 2px 6px rgba(0,0,0,.15);transition:all .3s;text-decoration:none;position:relative}
.wa-btn:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(37,211,102,.5),0 3px 10px rgba(0,0,0,.2)}
.wa-btn svg{width:28px;height:28px}
.wa-tooltip{position:absolute;right:68px;top:50%;transform:translateY(-50%);background:var(--navy);color:#fff;font-size:.78rem;font-weight:600;padding:8px 14px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;transform:translateY(-50%) translateX(8px)}
.wa-btn:hover .wa-tooltip{opacity:1;transform:translateY(-50%) translateX(0)}
.wa-tooltip::after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--navy)}
/* Tooltip on right side when button is left-aligned */
.wa-left .wa-tooltip{right:auto;left:68px;transform:translateY(-50%) translateX(-8px)}
.wa-left .wa-btn:hover .wa-tooltip{transform:translateY(-50%) translateX(0)}
.wa-left .wa-tooltip::after{right:auto;left:-6px;border-left-color:transparent;border-right-color:var(--navy)}
/* Hide tooltip when center-aligned */
.wa-center .wa-tooltip{display:none}
/* Pulse animation on load */
.wa-btn::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #25d366;animation:wa-pulse 2s ease-out infinite}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.4);opacity:0}}
@media(max-width:768px){
  .wa-float{bottom:20px}
  .wa-float.wa-right{right:16px}
  .wa-float.wa-left{left:16px}
  .wa-float.wa-center{left:50%;transform:translateX(-50%)}
  .wa-btn{width:50px;height:50px}
  .wa-btn svg{width:24px;height:24px}
  .wa-tooltip{display:none}
}

/* ═══════════════════════════════════════════
   WCAG ACCESSIBILITY
   ═══════════════════════════════════════════ */

/* Skip to content link (WCAG 2.4.1) */
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 24px;z-index:10000;border-radius:0 0 8px 8px;font-weight:600;font-size:.9rem;text-decoration:none;transition:top .2s}
.skip-link:focus{top:0}

/* Screen reader only text (WCAG) */
.screen-reader-text,.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
.screen-reader-text:focus{position:static !important;width:auto !important;height:auto !important;clip:auto !important;overflow:visible !important;white-space:normal !important}

/* Focus visible styles (WCAG 2.4.7) */
*:focus{outline:none}
*:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
a:focus-visible,button:focus-visible,.nav-item>a:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
.hbtn:focus-visible,.form-submit:focus-visible,.more-link:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.search-input-wrap input:focus-visible{outline:none}
.form-input:focus-visible{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.2)}

/* High contrast focus for dark backgrounds */
.hero a:focus-visible,.hero button:focus-visible,
.stats a:focus-visible,.stats button:focus-visible,
.page-title-bar a:focus-visible,
footer a:focus-visible,footer button:focus-visible,
.results-sec a:focus-visible{outline-color:var(--gold);outline-offset:3px}

/* Prefers reduced motion (WCAG 2.3.3) */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
  .hero-slides .hero-slide{transition:none !important}
  .news-ticker-scroll{animation:none !important}
  .wa-btn::after{animation:none !important}
  .stg>*{transition:none !important}
  .hero-video{display:none}
}

/* Prefers contrast (WCAG enhancement) */
@media(prefers-contrast:more){
  .page-content p,.article-body p{color:#1a1a1a}
  .ntag{font-weight:800;border:1px solid currentColor}
  .breadcrumb a,.breadcrumb .bc-current{font-weight:600}
  .form-input{border-width:2px}
  .nav-item>a{font-weight:600}
}

/* Keyboard-only focus (no mouse focus ring) */
:focus:not(:focus-visible){outline:none}

/* Interactive elements minimum size (WCAG 2.5.8 - 24x24 minimum) */
.search-btn,.menu-btn,.ticker-close,.ticker-reopen,.wa-btn,.gal-filter,.faq-question,.search-tag{min-height:44px;min-width:44px}

/* Selection color for readability */
::selection{background:var(--blue);color:#fff}

/* Ensure decorative SVGs are hidden from screen readers */
.breadcrumb>svg,.chevron,.svc-ic svg,.contact-icon svg,.exec-icon svg,
.upd-header svg,.lead-info svg{pointer-events:none}

/* ═══ SEARCH HIGHLIGHT ON PAGE ═══ */
mark.search-hl{background:#fef08a;color:inherit;padding:1px 3px;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
mark.search-hl-first{background:#facc15;animation:hlPulse 1.5s ease 2}
@keyframes hlPulse{0%,100%{background:#facc15;box-shadow:none}50%{background:#fbbf24;box-shadow:0 0 0 4px rgba(250,204,21,.4)}}
.search-hl-badge{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 20px;border-radius:100px;font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:12px;z-index:9999;box-shadow:0 8px 32px rgba(0,0,0,.2);animation:hlBadgeIn .4s ease}
.search-hl-badge button{background:rgba(255,255,255,.15);border:none;color:#fff;padding:4px 12px;border-radius:100px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s}
.search-hl-badge button:hover{background:rgba(255,255,255,.3)}
@keyframes hlBadgeIn{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media(max-width:640px){.search-hl-badge{bottom:16px;padding:8px 16px;font-size:.75rem;gap:8px}}

/* ═══ HORIZONTAL-SCROLL GALLERY (applied via JS to [gallery] and Gutenberg gallery blocks) ═══ */
.nec-gal-wrap{position:relative;margin:28px 0;padding:0 8px}
.nec-gal-wrap .gallery,.nec-gal-wrap .wp-block-gallery{display:flex !important;flex-wrap:nowrap !important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:8px 4px 16px;margin:0 !important;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}
.nec-gal-wrap .gallery::-webkit-scrollbar,.nec-gal-wrap .wp-block-gallery::-webkit-scrollbar{height:6px}
.nec-gal-wrap .gallery::-webkit-scrollbar-track,.nec-gal-wrap .wp-block-gallery::-webkit-scrollbar-track{background:transparent}
.nec-gal-wrap .gallery::-webkit-scrollbar-thumb,.nec-gal-wrap .wp-block-gallery::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}
.nec-gal-wrap .gallery-item,.nec-gal-wrap .wp-block-gallery .wp-block-image,.nec-gal-wrap .wp-block-gallery figure{flex:0 0 auto;width:320px;max-width:85%;margin:0 !important;scroll-snap-align:start;border-radius:12px;overflow:hidden;background:var(--gray-100);box-shadow:0 2px 12px rgba(12,27,58,.08);transition:transform .25s ease,box-shadow .25s ease}
.nec-gal-wrap .gallery-item:hover,.nec-gal-wrap .wp-block-gallery figure:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(12,27,58,.14)}
.nec-gal-wrap .gallery-item img,.nec-gal-wrap .wp-block-gallery img{display:block;width:100%;height:220px;object-fit:cover;border-radius:12px 12px 0 0}
.nec-gal-wrap .gallery-caption,.nec-gal-wrap .wp-block-gallery figcaption{padding:10px 14px;font-size:.82rem;color:var(--gray-600);line-height:1.4;margin:0 !important;background:#fff}
.nec-gal-btn{position:absolute;top:calc(50% - 22px);width:44px;height:44px;border-radius:50%;background:var(--white);color:var(--navy);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(12,27,58,.18);z-index:3;transition:background .2s,transform .15s,opacity .2s}
.nec-gal-btn:hover{background:var(--navy);color:var(--white);transform:scale(1.06)}
.nec-gal-btn:disabled{opacity:0;pointer-events:none}
.nec-gal-btn.prev{left:-6px}
.nec-gal-btn.next{right:-6px}
.nec-gal-btn svg{width:20px;height:20px}
@media(max-width:640px){
  .nec-gal-wrap{padding:0}
  .nec-gal-wrap .gallery-item,.nec-gal-wrap .wp-block-gallery figure{width:80%}
  .nec-gal-wrap .gallery-item img,.nec-gal-wrap .wp-block-gallery img{height:180px}
  .nec-gal-btn{width:38px;height:38px;top:calc(50% - 19px)}
  .nec-gal-btn.prev{left:4px}
  .nec-gal-btn.next{right:4px}
}

/* ═══ LIVE BROADCAST SECTION ═══ */
.live-sec{background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.live-sec .sec-over{display:inline-flex;align-items:center;gap:8px;color:var(--red)}
.live-sec .live-dot{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(196,18,48,.18);animation:live-pulse 1.6s ease-in-out infinite}
@keyframes live-pulse{0%,100%{box-shadow:0 0 0 4px rgba(196,18,48,.18)}50%{box-shadow:0 0 0 8px rgba(196,18,48,.05)}}
.live-embed{position:relative;width:100%;max-width:1100px;margin:32px auto 0;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--navy);box-shadow:0 12px 40px rgba(12,27,58,.18)}
.live-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.live-embed-facebook{background:#1877f2}
@media(max-width:768px){
  .live-embed{border-radius:10px;margin-top:24px}
}

/* ═══ ELECTIONS ARCHIVE PAGE ═══ */
.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin:20px 0 40px}
.archive-card{display:flex;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;transition:all .25s var(--ease)}
.archive-card:hover{box-shadow:0 8px 24px rgba(12,27,58,.08);transform:translateY(-2px);border-color:var(--gray-300)}
.archive-year{flex-shrink:0;min-width:90px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);color:var(--white);font-size:1.6rem;font-weight:900;display:flex;align-items:center;justify-content:center;letter-spacing:-.02em;padding:0 14px}
.archive-body{flex:1;padding:18px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.archive-body h3{font-size:1rem;font-weight:700;color:var(--navy);line-height:1.3;margin:0}
.archive-body p{font-size:.85rem;color:var(--gray-600);line-height:1.55;margin:0}
.archive-stats{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0;font-size:.78rem;color:var(--gray-500)}
.archive-stats strong{color:var(--navy);font-weight:700}
.archive-actions{display:flex;gap:8px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.archive-btn{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:var(--navy);background:var(--gray-50);border:1px solid var(--gray-200);padding:6px 12px;border-radius:6px;text-decoration:none;transition:all .2s}
.archive-btn:hover{border-color:var(--navy);background:var(--white)}
.archive-btn.primary{background:var(--red);color:var(--white);border-color:var(--red)}
.archive-btn.primary:hover{background:var(--red-dark);color:var(--white)}
@media(max-width:640px){
  .archive-card{flex-direction:column}
  .archive-year{min-width:auto;padding:14px;font-size:1.4rem}
}

/* Former commissioners styling (used by page-board-of-commissioners.php) */
.comm-card-former{opacity:.88}
.comm-card-former:hover{opacity:1}
.comm-grid-former{margin-top:24px}

/* Previous Commissioners — prominent section header on board page */
.prev-comm-divider{margin:64px 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--gray-200),transparent)}
.prev-comm-header{margin:48px 0 32px;text-align:center}
.prev-comm-title{font-size:2.4rem;font-weight:900;color:var(--navy);letter-spacing:-.02em;line-height:1.15;margin:0 0 12px}
.prev-comm-sub{color:var(--gray-500);font-size:1.05rem;margin:0;max-width:640px;margin-left:auto;margin-right:auto}
@media(max-width:640px){
  .prev-comm-title{font-size:1.8rem}
  .prev-comm-sub{font-size:.95rem}
}

/* Former commissioner role badge — muted/inactive visual */
.comm-role-former{background:#6b7280 !important;color:var(--white) !important}
.comm-card-former .comm-name{color:var(--gray-700,#374151)}

/* Hero navigation arrows */
.hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgba(12,27,58,.55);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;opacity:0;pointer-events:none}
.hero:hover .hero-nav,.hero-nav:focus{opacity:1;pointer-events:auto}
.hero-nav:hover{background:var(--red,#c0392b);border-color:rgba(255,255,255,.5);transform:translateY(-50%) scale(1.08)}
.hero-nav-prev{left:24px}
.hero-nav-next{right:24px}
@media(max-width:768px){
  .hero-nav{width:40px;height:40px;opacity:1;pointer-events:auto;background:rgba(12,27,58,.7)}
  .hero-nav-prev{left:12px}
  .hero-nav-next{right:12px}
}

/* Countdown font-size variants (Customizer → Election Countdown → Countdown Font Size) */
.cd-size-sm .cd-inline-grid .cd-cell .n{font-size:1.4rem}
.cd-size-sm .cd-inline-grid .cd-cell{padding:8px 14px 6px;min-width:60px}
.cd-size-sm .cd-inline-grid .cd-cell .l{font-size:.5rem}
.cd-size-sm .cd-inline-title{font-size:.95rem}

.cd-size-md .cd-inline-grid .cd-cell .n{font-size:1.8rem}
/* md is default — matches base .cd-inline-grid rules */

.cd-size-lg .cd-inline-grid .cd-cell .n{font-size:2.4rem}
.cd-size-lg .cd-inline-grid .cd-cell{padding:14px 22px 12px;min-width:92px}
.cd-size-lg .cd-inline-grid .cd-cell .l{font-size:.65rem}
.cd-size-lg .cd-inline-title{font-size:1.2rem}
.cd-size-lg .cd-inline-date{font-size:1rem}
.cd-size-lg .cd-inline-date strong{font-size:1.05rem}

.cd-size-xl .cd-inline-grid .cd-cell .n{font-size:3rem}
.cd-size-xl .cd-inline-grid .cd-cell{padding:16px 26px 14px;min-width:108px}
.cd-size-xl .cd-inline-grid .cd-cell .l{font-size:.7rem;letter-spacing:.16em}
.cd-size-xl .cd-inline-title{font-size:1.35rem}
.cd-size-xl .cd-inline-date{font-size:1.1rem}
.cd-size-xl .cd-inline-date strong{font-size:1.2rem}
.cd-size-xl .hero-cd-bar{padding:4px 0}

@media(max-width:900px){
  .cd-size-lg .cd-inline-grid .cd-cell .n,.cd-size-xl .cd-inline-grid .cd-cell .n{font-size:1.6rem}
  .cd-size-lg .cd-inline-grid .cd-cell,.cd-size-xl .cd-inline-grid .cd-cell{padding:10px 16px 8px;min-width:70px}
}

/* Liberia flag SVG in top bar */
.ts-flag-svg{flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.2);margin-right:8px;vertical-align:middle}

/* ═══ DOCUMENTS ═══ */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}
.doc-card{display:flex;align-items:center;gap:16px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:16px 20px;transition:all .2s}
.doc-card:hover{box-shadow:0 6px 20px rgba(12,27,58,.07);border-color:var(--gray-300)}
.doc-ext-badge{flex-shrink:0;width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.7rem;letter-spacing:.04em}
.doc-card-body{flex:1;min-width:0}
.doc-card-body h3{font-size:.95rem;font-weight:700;color:var(--navy);margin:0 0 4px;line-height:1.3}
.doc-card-body h3 a{color:inherit;text-decoration:none}
.doc-card-body h3 a:hover{color:var(--red)}
.doc-card-body p{font-size:.82rem;color:var(--gray-600);margin:0 0 6px;line-height:1.5}
.doc-card-meta{display:flex;gap:12px;font-size:.75rem;color:var(--gray-400)}
.doc-dl-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gray-50);color:var(--navy);border:1px solid var(--gray-200);transition:all .2s}
.doc-dl-icon:hover{background:var(--red);color:#fff;border-color:var(--red)}
/* Single document */
.doc-detail-card{display:flex;align-items:center;gap:20px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:14px;padding:24px;margin-bottom:32px;flex-wrap:wrap}
.doc-detail-card .doc-ext-badge{width:64px;height:64px;font-size:.9rem}
.doc-detail-info{flex:1;min-width:200px}
.doc-type-label{display:inline-block;background:var(--navy);color:#fff;padding:2px 10px;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.doc-filename{font-family:monospace;font-size:.85rem;color:var(--gray-600);margin:4px 0}
.doc-date{font-size:.82rem;color:var(--gray-400);margin:2px 0}
.doc-cat-chip{display:inline-block;background:var(--gray-100,#f3f4f6);padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:600;color:var(--gray-600);margin-right:4px}
.doc-download-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;padding:12px 24px;border-radius:8px;font-weight:700;font-size:.88rem;text-decoration:none;transition:all .2s}
.doc-download-btn:hover{background:var(--red-dark,#a91d2e);color:#fff}
.doc-description{margin-top:24px;line-height:1.8}
@media(max-width:640px){.doc-grid{grid-template-columns:1fr}.doc-detail-card{flex-direction:column;text-align:center}}

/* ═══ DATA TABLES ═══ */
.nec-data-table-wrap{margin:24px 0}
.nec-dt-controls{display:flex;justify-content:flex-end;margin-bottom:12px}
.nec-dt-search{padding:8px 14px;border:1px solid var(--gray-200);border-radius:8px;font-size:.88rem;width:280px;max-width:100%;background:var(--white)}
.nec-dt-search:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,27,58,.08)}
.nec-dt{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;font-size:.88rem}
.nec-dt thead{background:var(--navy)}
.nec-dt th{color:#fff;font-weight:700;padding:12px 16px;text-align:left;cursor:pointer;user-select:none;white-space:nowrap;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase}
.nec-dt th:hover{background:rgba(255,255,255,.1)}
.nec-dt th.sort-asc .nec-dt-sort,.nec-dt th.sort-desc .nec-dt-sort{opacity:1}
.nec-dt-sort{opacity:.4;margin-left:4px;font-size:.7rem}
.nec-dt td{padding:10px 16px;border-bottom:1px solid var(--gray-100,#f3f4f6);color:var(--gray-700,#374151)}
.nec-dt tbody tr:hover{background:rgba(12,27,58,.02)}
.nec-dt tbody tr:last-child td{border-bottom:none}
.nec-dt-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;flex-wrap:wrap;gap:12px}
.nec-dt-info{font-size:.82rem;color:var(--gray-500)}
.nec-dt-pager{display:flex;gap:4px}
.nec-dt-pager button{padding:6px 12px;border:1px solid var(--gray-200);background:var(--white);border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--navy);transition:all .15s}
.nec-dt-pager button:hover{border-color:var(--navy);background:var(--gray-50)}
.nec-dt-pager button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.nec-dt-pager button:disabled{opacity:.3;cursor:default}
@media(max-width:640px){.nec-dt-search{width:100%}.nec-dt-controls{justify-content:stretch}}

/* ═══ EXEC/SECRETARIAT — clickable ED card ═══ */
.exec-card a.exec-link{display:inline-flex;align-items:center;gap:4px;color:var(--red);font-size:.78rem;font-weight:600;text-decoration:none;margin-top:8px}
.exec-card a.exec-link:hover{text-decoration:underline}

/* Commissioners layout: 2 top centered, 5 bottom on one row centered */
.lead-grid-top{display:flex;justify-content:center;gap:16px;flex-wrap:nowrap;margin-bottom:16px}
.lead-grid-top .lead-card{flex:0 1 260px;max-width:280px}
.lead-grid-top .lead-card .lead-info span{color:var(--gold)}
.lead-grid-top .lead-card{border-color:var(--gold)}
.lead-grid-bottom{display:flex;justify-content:center;gap:12px;flex-wrap:nowrap}
.lead-grid-bottom .lead-card{flex:0 1 200px;max-width:220px}
@media(max-width:1100px){
  .lead-grid-bottom{flex-wrap:wrap}
  .lead-grid-bottom .lead-card{flex:0 1 180px}
}
@media(max-width:768px){
  .lead-grid-top{flex-wrap:wrap}
  .lead-grid-top .lead-card{flex:0 1 200px}
  .lead-grid-bottom .lead-card{flex:0 1 160px}
}
@media(max-width:480px){
  .lead-grid-top .lead-card,.lead-grid-bottom .lead-card{flex:0 1 45%}
}

/* ED side-by-side: text left, photo right */
.exec-ed-row{display:flex;align-items:center;gap:40px;width:100%;margin:0 0 24px;background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:32px 40px;box-shadow:0 4px 20px rgba(12,27,58,.04)}
.exec-ed-text{flex:1;min-width:0}
.exec-ed-name{font-size:1.4rem;font-weight:800;color:var(--navy);margin:10px 0 8px;line-height:1.2}
.exec-ed-blurb{color:var(--gray-600);font-size:.9rem;line-height:1.65;margin:0 0 14px}
.exec-ed-link{display:inline-flex;align-items:center;gap:6px;color:var(--red);font-weight:600;font-size:.85rem;text-decoration:none;transition:gap .2s}
.exec-ed-link:hover{gap:10px;text-decoration:underline}
.exec-ed-photo{flex-shrink:0}
.exec-ed-photo img,.exec-ed-photo svg{width:180px;height:180px;object-fit:cover;border-radius:16px;border:4px solid var(--gray-200)}
@media(max-width:640px){
  .exec-ed-row{flex-direction:column-reverse;text-align:center;padding:24px 20px;gap:20px}
  .exec-ed-photo img,.exec-ed-photo svg{width:140px;height:140px}
}

/* Deputy avatar styling */
.exec-dep-avatar{margin-bottom:10px;display:flex;justify-content:center}
.exec-dep-avatar img,.exec-dep-avatar svg{width:80px;height:80px;object-fit:cover;border-radius:12px;border:3px solid var(--gray-200)}

/* ═══ ORG CHART PAGE — clickable cards ═══ */
.org-level-title{text-align:center;font-size:1.1rem;font-weight:800;color:var(--navy);margin:0 0 4px}
.org-level-desc{text-align:center;font-size:.82rem;color:var(--gray-500);margin:0 0 16px}
.org-cards{display:flex;flex-wrap:wrap;gap:12px}
.org-cards-center{justify-content:center}
.org-card{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:14px 18px;text-decoration:none;color:inherit;transition:all .2s;min-width:180px;max-width:260px}
.org-card:hover{box-shadow:0 6px 20px rgba(12,27,58,.08);transform:translateY(-2px);border-color:var(--gray-300)}
.org-card-ed{border:2px solid var(--gold);max-width:320px}
.org-card-dept{flex-direction:column;text-align:center;padding:18px 16px;min-width:150px;max-width:200px}
.org-card-img{width:48px;height:48px;object-fit:cover;border-radius:10px;flex-shrink:0}
.org-card-body{min-width:0}
.org-card-body strong{display:block;font-size:.82rem;font-weight:700;color:var(--navy);line-height:1.3}
.org-card-body span{display:block;font-size:.72rem;color:var(--gray-500);margin-top:2px}
.org-card-badge{display:inline-block;background:var(--navy);color:#fff;padding:2px 8px;border-radius:4px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.org-card-icon{margin-bottom:8px}
.org-card-icon svg{width:28px;height:28px}
@media(max-width:640px){.org-card{min-width:140px;max-width:100%;flex:1 1 45%}.org-card-dept{max-width:100%}}

/* ═══ SINGLE DEPARTMENT PAGE ═══ */
.dept-page-header{display:flex;align-items:center;gap:20px;padding:24px;border-radius:12px;margin-bottom:28px}
.dept-page-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.dept-page-icon svg{width:28px;height:28px}
.dept-page-meta{flex:1}
.dept-meta-row{font-size:.88rem;color:var(--gray-700);margin-bottom:4px}
.dept-meta-row strong{color:var(--navy);font-weight:700}
.dept-section{margin-bottom:36px}
.dept-section h2{font-size:1.1rem;font-weight:800;color:var(--navy);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--gray-100,#f3f4f6)}
.dept-content{line-height:1.8;color:var(--gray-700)}
.dept-portfolio-card{padding:16px 20px;background:var(--gray-50,#f9fafb);border-radius:8px;line-height:1.7;color:var(--gray-700)}
.dept-units-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.dept-unit-card{background:var(--white);border:1px solid var(--gray-200);border-radius:10px;padding:16px;text-align:center;transition:all .2s}
.dept-unit-card:hover{box-shadow:0 4px 16px rgba(12,27,58,.06)}
.dept-unit-num{font-size:1.6rem;font-weight:800;margin-bottom:4px}
.dept-unit-card h4{font-size:.85rem;font-weight:700;color:var(--navy);margin:0}
.dept-other-grid{display:flex;flex-direction:column;gap:8px}
.dept-other-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;text-decoration:none;color:var(--navy);font-size:.88rem;transition:all .2s}
.dept-other-card:hover{box-shadow:0 4px 16px rgba(12,27,58,.06);border-color:var(--gray-300)}
.dept-other-card svg:last-child{color:var(--gray-400)}
.dept-other-card strong{font-weight:700}
.dept-other-card span svg{width:20px;height:20px}
/* Clickable department cards on staff page */
.dept-card-link{display:flex;flex-direction:column;transition:all .2s;cursor:pointer}
.dept-card-link:hover{box-shadow:0 8px 28px rgba(12,27,58,.08);transform:translateY(-2px)}
@media(max-width:640px){.dept-page-header{flex-direction:column;text-align:center}.dept-units-grid{grid-template-columns:1fr 1fr}}

/* ═══════════════════════════════════════════
   POLITICAL PARTIES GRID (page-political-parties-list.php)
   ═══════════════════════════════════════════ */
.parties-intro{background:var(--gray-50);border-left:4px solid var(--navy);padding:18px 22px;border-radius:0 10px 10px 0;margin-bottom:32px}
.parties-intro p{margin:0;font-size:.95rem;color:var(--gray-700);line-height:1.6}
.parties-stats{display:flex;gap:24px;margin-top:14px;flex-wrap:wrap}
.parties-stats .ps-item{display:flex;flex-direction:column}
.parties-stats .ps-num{font-size:1.75rem;font-weight:800;color:var(--navy);line-height:1}
.parties-stats .ps-lbl{font-size:.72rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}

.party-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-bottom:40px}
.party-card{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:20px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .2s;text-decoration:none;color:inherit}
.party-card:hover{box-shadow:0 10px 28px rgba(12,27,58,.08);border-color:var(--navy);transform:translateY(-2px)}
.party-logo-wrap{width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border-radius:50%;margin-bottom:14px;overflow:hidden;flex-shrink:0}
.party-logo-wrap img{max-width:80%;max-height:80%;object-fit:contain}
.party-logo-wrap.no-logo{color:var(--gray-400);font-weight:800;font-size:1.4rem;letter-spacing:.04em}
.party-card h4{font-size:.92rem;font-weight:700;color:var(--navy);margin:0 0 6px;line-height:1.3;min-height:2.4em;display:flex;align-items:center}
.party-abbrev{font-size:.72rem;font-weight:700;color:var(--red);background:rgba(220,38,38,.08);padding:3px 10px;border-radius:999px;letter-spacing:.05em;margin-bottom:8px}
.party-meta{font-size:.78rem;color:var(--gray-500);margin-top:auto}
.party-meta .pm-year{display:block;margin-top:4px}

/* Parties table variant (used on registered-parties) */
.parties-table-wrap{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;margin-bottom:32px}
.parties-table{width:100%;border-collapse:collapse;font-size:.88rem}
.parties-table thead{background:var(--navy);color:#fff}
.parties-table th{padding:14px 16px;text-align:left;font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.parties-table td{padding:12px 16px;border-top:1px solid var(--gray-200);vertical-align:middle}
.parties-table tbody tr:hover{background:var(--gray-50)}
.parties-table .pt-logo{width:48px;height:48px;border-radius:50%;background:var(--gray-50);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.parties-table .pt-logo img{max-width:80%;max-height:80%;object-fit:contain}
.parties-table .pt-name{font-weight:700;color:var(--navy)}
.parties-table .pt-abbrev{display:inline-block;font-size:.72rem;font-weight:700;color:var(--red);background:rgba(220,38,38,.08);padding:2px 8px;border-radius:999px;letter-spacing:.04em}
.parties-table .pt-status.active{color:#059669;font-weight:700}
.parties-table .pt-status.inactive{color:var(--gray-400)}

@media(max-width:640px){
  .party-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
  .party-card{padding:16px 12px}
  .party-logo-wrap{width:72px;height:72px}
  .parties-table{font-size:.78rem}
  .parties-table th,.parties-table td{padding:8px 10px}
  .parties-table .pt-logo{width:36px;height:36px}
}

/* ═══════════════════════════════════════════
   LEGAL FRAMEWORK DOWNLOAD CARDS
   ═══════════════════════════════════════════ */
.legal-downloads{margin:24px 0 40px}
.legal-dl-group{margin-bottom:28px}
.legal-dl-group > h3{font-size:1.1rem;font-weight:700;color:var(--navy);margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--gray-200)}
.legal-dl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.legal-dl-item{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--gray-200);border-radius:10px;padding:14px 16px;text-decoration:none;color:inherit;transition:all .2s;position:relative}
.legal-dl-item:hover{border-color:var(--navy);box-shadow:0 6px 20px rgba(12,27,58,.06)}
.legal-dl-item .dl-icon{flex-shrink:0;width:42px;height:42px;border-radius:8px;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;letter-spacing:.03em}
.legal-dl-item .dl-icon.placeholder{background:var(--gray-300);color:var(--gray-600)}
.legal-dl-item .dl-body{flex:1;min-width:0}
.legal-dl-item .dl-title{font-size:.92rem;font-weight:700;color:var(--navy);line-height:1.3;margin:0 0 2px;display:block}
.legal-dl-item:hover .dl-title{color:var(--red)}
.legal-dl-item .dl-meta{font-size:.74rem;color:var(--gray-500);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.legal-dl-item .dl-meta .dl-placeholder-tag{background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:999px;font-weight:700;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}
.legal-dl-item .dl-arrow{flex-shrink:0;color:var(--gray-400);transition:transform .2s}
.legal-dl-item:hover .dl-arrow{color:var(--red);transform:translateX(3px)}
@media(max-width:640px){
}

/* ============================================================
   Electoral Cycle — homepage section + page template
   ============================================================ */

/* Homepage section: wheel image centered, periods grid below */
.ec-home-wheel-link {
    display: block;
    margin: 32px auto;
    max-width: 540px;
    text-decoration: none;
    border-radius: 14px;
    overflow: hidden;
    transition: transform 0.3s var(--ease);
}
.ec-home-wheel-link:hover {
    transform: translateY(-3px);
}
.ec-home-wheel-link img {
    width: 100%;
    height: auto;
    display: block;
}

/* Page template: wheel figure */
.ec-wheel-figure {
    margin: 32px auto 16px;
    max-width: 720px;
    text-align: center;
}
.ec-wheel-figure img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

/* Period cards — current-phase emphasis */
.info-card {
    position: relative;
}
.info-card.ec-period-current {
    border-color: var(--red);
    background: linear-gradient(180deg, #fff 0%, #fef9f9 100%);
}
.ec-period-tag {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--red);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 100px;
}

/* Content tabs on the page template */
.ec-content-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    flex-wrap: wrap;
    justify-content: center;
}
.ec-tab {
    background: transparent;
    color: var(--gray-500);
    border: 1px solid var(--gray-200);
    padding: 9px 22px;
    border-radius: 100px;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: var(--font);
    cursor: pointer;
    transition: all 0.2s var(--ease);
}
.ec-tab:hover {
    border-color: var(--red);
    color: var(--red);
}
.ec-tab.is-active {
    background: var(--red);
    color: #fff;
    border-color: var(--red);
}

/* Electoral Cycle homepage section — two-column layout */
.ec-home-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center;
    margin-top: 28px;
}
.ec-home-split .ec-home-wheel-link {
    margin: 0;
    max-width: 100%;
}
.ec-home-side {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ec-home-side .info-card {
    margin: 0;
    padding: 18px 20px;
}
.ec-home-side .info-card h4 {
    font-size: 0.95rem;
    margin-bottom: 4px;
}
.ec-home-side .info-card p {
    font-size: 0.82rem;
    line-height: 1.5;
}
.ec-home-side .ic-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 10px;
}
.ec-home-side .ic-icon svg {
    width: 18px;
    height: 18px;
}
@media (max-width: 900px) {
    .ec-home-split { grid-template-columns: 1fr; gap: 24px; }
    .ec-home-split .ec-home-wheel-link { max-width: 540px; margin: 0 auto; }
}

/* Align fix for electoral cycle homepage two-column layout */
.ec-home-split {
    align-items: stretch;
}
.ec-home-split .ec-home-wheel-link {
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ec-home-side {
    justify-content: space-between;
    gap: 12px;
}
.ec-home-side .info-card {
    flex: 1;
}
