
  :root{
    --cream:#F3F1E6;
    --nav-cream:#F3F1E6;
    --nav-border:#E8E2C8;
    --cream-2:#ECEADD;
    --navy:#16263F;
    --navy-2:#1D3252;
    --navy-soft:#27447A;
    --gold:#E0B23C;        /* bright metallic gold ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â fills, rules */
    --gold-2:#F4D784;      /* highlight gold ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â text accents on navy, hover */
    --gold-ink:#9C7A1B;    /* deep gold ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â readable text on cream */
    --ink:#262318;
    --muted:#5c594f;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Source Sans 3',sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:'Playfair Display',serif;line-height:1.2;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 28px;}

  /* ---------- NAV ---------- */
  nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-cream);border-bottom:1px solid var(--nav-border);box-shadow: 0 2px 8px rgba(22,38,63,.06);}
  nav .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;}
  .brand{display:inline-flex;align-items:center;font-family:'Playfair Display',serif;font-size:1.32rem;font-weight:700;color:#fff;letter-spacing:.4px;}
  .brand span{color:var(--gold-2);}
  .nav-links{display:flex;gap:30px;align-items:center;}
  .nav-links a{color:var(--navy);font-weight:500;font-size:.95rem;transition:.2s;padding-bottom:4px;border-bottom:2px solid transparent;}
  .nav-links a:hover{color:var(--gold-ink);}
  .nav-cta{background:var(--gold);color:var(--navy)!important;padding:9px 20px;border-radius:4px;font-weight:600!important;}
  .nav-cta:hover{background:var(--gold-2);}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
  .burger span{width:26px;height:2px;background:var(--navy);}
  @media(max-width:880px){.nav-links{display:none;}.burger{display:flex;}}

  /* ---------- HERO 3-CELL ---------- */
  .hero{display:grid;grid-template-rows:68vh auto;min-height:100vh;background:var(--navy);color:#fff;}
  /* Top cell: video */
  .hero-video-cell{position:relative;overflow:hidden;background:#000;}
  .hero-video-cell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
  .hero-video-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:rgba(15,25,45,.52);}
  .hero-eyebrow{font-family:'Playfair Display',serif;font-style:italic;font-size:1.45rem;color:var(--gold-2);display:block;margin-bottom:10px;}
  .hero h1{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:700;margin-bottom:12px;line-height:1.06;}
  .hero .verse{font-size:.95rem;letter-spacing:3px;text-transform:uppercase;color:#cdc8b8;margin-bottom:22px;}
  .hero .rule{width:84px;height:3px;background:var(--gold);margin:0 auto 22px;}
  .hero .date-pill{display:inline-block;border:1px solid var(--gold);border-radius:4px;padding:10px 24px;font-size:1rem;font-weight:500;}
  .hero .date-pill b{color:var(--gold-2);}
  .hero-bottom{display:grid;grid-template-columns:3.4fr 1.6fr;}
  /* Bottom-right: Register CTA */
  .hero-reg-cell{background:var(--navy-2);border-top:1px solid var(--gold);border-left:1px solid rgba(224,178,60,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px 20px;text-align:center;}
  .hero-reg-cell .date-small{font-size:.88rem;color:#cdc8b8;letter-spacing:.5px;}
  .hero-reg-cell .date-small b{color:var(--gold-2);}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
  /* Bottom-right: Mini event cards */
  .hero-ev-cell{background:var(--navy);border-top:1px solid var(--gold);display:flex;align-items:stretch;gap:0;padding:0;}
  .mini-ev-card{flex:1;display:flex;flex-direction:column;justify-content:center;padding:16px 20px;border-right:1px solid rgba(224,178,60,.15);transition:background .2s;}
  .mini-ev-card:last-child{border-right:none;}
  .mini-ev-card:hover{background:rgba(255,255,255,.04);}
  .mini-ev-card .ev-tag{font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold-2);font-weight:700;margin-bottom:6px;}
  .mini-ev-card .ev-dates{font-family:'Playfair Display';font-size:1.4rem;font-weight:700;color:#fff;margin-bottom:6px;line-height:1.1;}
  .mini-ev-card .ev-title{font-size:.9rem;color:#e4e0d0;font-weight:600;margin-bottom:6px;}
  .mini-ev-card .ev-meta{font-size:.78rem;color:#a7a392;}
  .mini-ev-card .ev-bar{width:32px;height:2px;background:var(--gold);margin-bottom:10px;}
  @media(max-width:880px){
    .hero{grid-template-rows:50vh auto;margin-top:70px;min-height:calc(100vh - 70px);}
    .hero-bottom{grid-template-columns:1fr;}
    .hero-ev-cell{flex-wrap:wrap;}
    .mini-ev-card{flex:0 0 calc(50% - 1px);}
  }
  @media(max-width:560px){
    .hero{grid-template-rows:44vh auto;margin-top:70px;min-height:calc(100vh - 70px);}
    .mini-ev-card{flex:0 0 100%;border-right:none;border-bottom:1px solid rgba(224,178,60,.15);}
  }

  .btn{padding:13px 30px;border-radius:4px;font-weight:600;font-size:1rem;transition:.2s;cursor:pointer;border:none;display:inline-block;}
  .btn-gold{background:var(--gold);color:var(--navy);}
  .btn-gold:hover{background:var(--gold-2);}
  .btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);}
  .btn-ghost:hover{background:#fff;color:var(--navy);}

  /* ---------- SECTION SHELL ---------- */
  .sec{padding:80px 0;border-top:1px solid var(--gold);}
  .sec-navy{background:var(--navy);color:#f2efe2;}
  .sec-cream{background:var(--cream);}
  .sec-cream-2{background:var(--cream-2);}
  .eyebrow{display:inline-block;font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:.78rem;color:var(--gold-ink);margin-bottom:14px;}
  .sec-navy .eyebrow{color:var(--gold-2);}
  .sec h2{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;margin-bottom:18px;color:var(--navy);}
  .sec-navy h2{color:#fff;}
  .lead{font-size:1.12rem;max-width:740px;color:var(--muted);}
  .sec-navy .lead{color:#d2cebe;}
  .center{text-align:center;margin-bottom:46px;}
  .center .lead{margin-left:auto;margin-right:auto;}

  /* ---------- ABOUT ---------- */
  .about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:stretch;}
  @media(max-width:820px){.about-grid{grid-template-columns:1fr;}}
  .about-card{background:#fff;border:1px solid #e2ddc8;border-left:4px solid var(--gold);border-radius:6px;padding:30px 32px;display:flex;flex-direction:column;}
  .about-card p{margin-bottom:16px;color:var(--muted);}
  .about-card p:last-child{margin-bottom:0;}
  .verse-block{font-family:'Playfair Display',serif;font-style:italic;font-size:1.4rem;color:var(--navy);border-left:3px solid var(--gold);padding-left:20px;margin-top:18px;}
  .verse-block span{font-size:.98rem;font-style:normal;color:var(--gold-ink);font-weight:600;}

  /* ---------- STATS / SRI LANKA ---------- */
  .sl-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;}
  @media(max-width:880px){.sl-grid{grid-template-columns:1fr;}}
  .sl-map{text-align:center; overflow:hidden;}
  .sl-map img{max-width:100%;width:580px;transform:scale(1.15);margin:20px 0;filter:drop-shadow(0 14px 34px rgba(0,0,0,.4));transition:transform .3s ease;}
  .stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px;}
  @media(max-width:700px){.stat-strip{grid-template-columns:repeat(2,1fr);}}
  .stat-box{text-align:center;padding:24px 12px;border:1px solid rgba(244,215,132,.3);border-radius:6px;}
  .stat-box .num{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:var(--gold-2);}
  .stat-box .lbl{font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:#cdc8b8;margin-top:4px;}
  .chart-card{background:rgba(255,255,255,.04);border:1px solid rgba(244,215,132,.25);border-radius:6px;padding:26px 28px;}
  .chart-card h3{font-family:'Source Sans 3';font-size:1.1rem;color:#fff;font-weight:600;letter-spacing:.5px;margin-bottom:20px;}
  .donut-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
  .donut{width:160px;height:160px;border-radius:50%;flex-shrink:0;position:relative;
    background:conic-gradient(
      #2E5C8A 0% 70.2%,
      #5E89B5 70.2% 82.8%,
      #9CB4CC 82.8% 92.5%,
      #E0B23C 92.5% 99.9%,
      #b9b4a3 99.9% 100%);}
  .donut::after{content:'';position:absolute;inset:30px;border-radius:50%;background:var(--navy);}
  .donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;}
  .donut-center b{font-family:'Playfair Display';font-size:1.4rem;color:var(--gold-2);}
  .donut-center span{font-size:.68rem;letter-spacing:1px;color:#cdc8b8;text-transform:uppercase;}
  .legend{display:flex;flex-direction:column;gap:9px;font-size:.94rem;}
  .legend div{display:flex;align-items:center;gap:10px;color:#e4e0d0;}
  .dot{width:12px;height:12px;border-radius:2px;flex-shrink:0;}
  .bars{display:flex;flex-direction:column;gap:14px;}
  .bar-row{font-size:.92rem;color:#e4e0d0;}
  .bar-row .bl{display:flex;justify-content:space-between;margin-bottom:5px;}
  .bar-track{height:10px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;}
  .bar-fill{height:100%;border-radius:3px;background:var(--gold);}
  .sl-banner{margin-top:50px;border:1px solid rgba(244,215,132,.3);border-radius:8px;overflow:hidden;}
  .sl-banner img{width:100%;display:block;}
  .sl-banner .cap{padding:13px 18px;font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;color:#cdc8b8;text-align:center;border-top:1px solid rgba(244,215,132,.2);}
  .reg-cta{text-align:center;margin-bottom:40px;}

  /* ---------- EVENT / CONFERENCE ---------- */
  .event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  @media(max-width:880px){.event-grid{grid-template-columns:1fr;}}
  .event-card{background:#fff;border:1px solid #e2ddc8;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;}
  .event-photo{height:172px;overflow:hidden;}
  .event-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .event-top{background:var(--navy);color:#fff;padding:20px 24px;}
  .event-top .tag{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold-2);font-weight:700;}
  .event-top .dates{font-family:'Playfair Display';font-size:1.6rem;font-weight:700;margin-top:4px;}
  .event-body{padding:22px 24px;flex:1;}
  .event-body h3{color:var(--navy);font-size:1.3rem;margin-bottom:10px;}
  .event-body p{color:var(--muted);font-size:.96rem;margin-bottom:10px;}
  .event-meta{font-size:.88rem;color:var(--navy-soft);font-weight:600;margin-top:14px;padding-top:12px;border-top:1px solid #e2ddc8;}

  /* ---------- SPEAKERS ---------- */
  .spk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  @media(max-width:880px){.spk-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.spk-grid{grid-template-columns:1fr;}}
  .spk-card{background:rgba(255,255,255,.04);border:1px solid rgba(244,215,132,.25);border-radius:6px;overflow:hidden;}
  .spk-photo{aspect-ratio:1/1;background:var(--navy-soft);overflow:hidden;border-bottom:1px solid var(--gold);}
  .spk-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
  .spk-photo .initials{width:78px;height:78px;border-radius:50%;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display';font-size:1.6rem;font-weight:700;margin:auto;}
  .spk-body{padding:20px 22px;}
  .spk-body h4{color:#fff;font-size:1.1rem;margin-bottom:3px;}
  .spk-body .role{color:var(--gold-2);font-weight:600;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;margin-bottom:10px;display:block;}
  .spk-body p{color:#d2cebe;font-size:.89rem;}
  .spk-more{margin-top:8px;}
  .spk-more summary{list-style:none;cursor:pointer;font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:5px;}
  .spk-more summary::-webkit-details-marker{display:none;}
  .spk-more summary::after{content:'›';font-size:1rem;line-height:1;transition:transform .2s;}
  .spk-more[open] summary::after{transform:rotate(90deg);}
  .spk-more p{margin-top:10px;}
  .spk-tba{display:flex;align-items:center;justify-content:center;text-align:center;border-style:dashed;}
  .spk-tba div{padding:26px;}
  .spk-tba .t{font-family:'Playfair Display';font-size:1.2rem;color:var(--gold-2);margin-bottom:6px;}
  .spk-tba p{color:#cdc8b8;font-size:.9rem;}

  /* ---------- PARTNERS ---------- */
  .partner-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  @media(max-width:760px){.partner-cols{grid-template-columns:1fr;}}
  .partner-cols h3{color:var(--navy);font-family:'Source Sans 3';font-size:1rem;letter-spacing:1px;text-transform:uppercase;font-weight:700;margin-bottom:18px;text-align:center;}
  .partner-list{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;}
  .partner-box{background:#fff;border:1px solid #e2ddc8;border-radius:8px;padding:18px;min-width:160px;min-height:100px;display:flex;align-items:center;justify-content:center;}
  .partner-box img{max-width:160px;max-height:90px;width:auto;height:auto;object-fit:contain;display:block;}
  .partner-list-main .partner-box{min-width:220px;min-height:140px;padding:28px 32px;}
  .partner-list-main .partner-box img{max-width:220px;max-height:140px;}

  /* ---------- REGISTER ---------- */
  .reg-grid{display:grid;grid-template-columns:1fr;gap:36px;max-width:1000px;margin:0 auto;}
  .fee-card,.contact-card{background:rgba(255,255,255,.04);border:1px solid rgba(244,215,132,.3);border-radius:6px;padding:32px;}
  .reg-cols{display:flex;gap:48px;align-items:flex-start;}
  .reg-col-left,.reg-col-right{flex:1;}
  .fee-rows{display:flex;gap:18px;margin:0 0 16px 0;}
  .fee{flex:1;text-align:center;border:1px solid rgba(244,215,132,.25);border-radius:6px;padding:12px 10px;}
  .fee .amt{font-family:'Playfair Display';font-size:1.75rem;color:var(--gold-2);font-weight:700;}
  .fee .t{font-size:.85rem;color:#d2cebe;}
  .fee .d{font-size:.7rem;color:#a7a392;letter-spacing:.5px;margin-top:2px;}
  .fee-total{text-align:center;font-size:1.05rem;color:#fff;margin-top:2px;margin-bottom:2px;}
  .fee-total b{color:var(--gold-2);font-size:1.25rem;}
  .bank{background:rgba(0,0,0,.18);border-radius:6px;padding:18px 20px;margin-top:16px;font-size:.92rem;}
  .bank .bh{color:var(--gold-2);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:.76rem;margin-bottom:8px;}
  .bank-row{display:flex;justify-content:space-between;gap:14px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#e4e0d0;}
  .bank-row span:first-child{color:#a7a392;}
  .person{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);}
  .person .nm{color:#f2efe2;font-weight:600;font-size:.92rem;}
  .person .ph{color:var(--gold-2);font-weight:600;font-size:.88rem;}
  .email-row{display:block;text-align:center;background:var(--gold);color:var(--navy);padding:11px;border-radius:4px;font-weight:600;font-size:.95rem;}
  @media(max-width:820px){
    .reg-cols{flex-direction:column;gap:36px;align-items:stretch;}
  }

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy);color:#bcb8a8;padding:48px 0 28px;text-align:center;border-top:1px solid var(--gold);}
  .footer-brand{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:#fff;margin-bottom:14px;}
  .footer-brand span{color:var(--gold-2);}
  footer .fnav{display:flex;justify-content:center;gap:24px;margin: 18px 0 22px;flex-wrap:wrap;}
  footer .fnav a{color:#d2cebe;font-size:.94rem;transition:color .2s;}
  footer .fnav a:hover{color:var(--gold-2);}
  footer .copy{font-size:.82rem;color:#7d7a6e;margin-top:18px;border-top:1px solid rgba(255,255,255,.08);padding-top:18px;}


/* Mobile Nav Toggle & Active State Added */

.nav-links.nav-active { display: flex; flex-direction: column; position: absolute; top: 70px; left: 0; right: 0; background: var(--nav-cream); padding: 20px; border-bottom: 1px solid var(--nav-border); }

.nav-logo { display: block; height: 48px; width: auto; }
@media(max-width:880px) { .nav-logo { height: 38px; } }

.footer-logo { height: 90px; filter: brightness(1.1); margin: 0 auto 14px; display: block; }

.hero-logo { max-width: 220px; max-height: 200px; filter: drop-shadow(0 4px 16px rgba(0,0,0,.4)); margin-bottom: 18px; }
@media(max-width:560px) { .hero-logo { max-width: 160px; } }

.nav-links a.active { color: var(--navy); font-weight: 700; border-bottom: 2px solid var(--gold); }

/* ---------- WORKER / LEADERSHIP CARDS ---------- */
.worker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:50px;}
@media(max-width:880px){.worker-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.worker-grid{grid-template-columns:1fr;}}
.worker-card{background:#fff;border:1px solid #e2ddc8;border-radius:8px;overflow:hidden;text-align:center;transition:transform .2s,box-shadow .2s;}
.worker-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.08);}
.worker-photo{width:100%;aspect-ratio:1/1;background:linear-gradient(135deg,#d6d2c4 0%,#c4bfae 100%);display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--gold);overflow:hidden;}
.worker-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.worker-photo .placeholder-icon{width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;}
.worker-photo .placeholder-icon svg{width:44px;height:44px;fill:#a09c8e;}
.worker-info{padding:20px 18px 24px;}
.worker-info h4{color:var(--navy);font-size:1.15rem;margin-bottom:4px;}
.worker-info .worker-role{color:var(--gold-ink);font-weight:600;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;display:block;margin-bottom:6px;}
.worker-info .worker-org{color:var(--muted);font-size:.88rem;}

/* Working Committee Card Grid */
.committee-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;}
.committee-grid > div {flex: 0 1 200px; min-width: 180px;}
.committee-card{background:#fff;border:1px solid #e2ddc8;border-left:3px solid var(--gold);border-radius:6px;padding:16px 20px;text-align:left;transition:transform .2s,box-shadow .2s;}
.committee-card:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.06);}
.committee-card h4{color:var(--navy);font-size:1rem;margin:0;font-family:'Source Sans 3',sans-serif;font-weight:600;}

/* Wide horizontal event cards for desktop, stacking on mobile */
.event-card.event-card-wide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 300px;
}
.event-card.event-card-wide .event-photo {
  height: auto;
}
.event-card.event-card-wide .event-details {
  display: flex;
  flex-direction: column;
}
@media(max-width:768px) {
  .event-card.event-card-wide {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .event-card.event-card-wide .event-photo {
    height: 240px; /* Fixed height on mobile/tablets to prevent stretching */
  }
}

/* ---------- DISTRICT EXPLORER ---------- */
.explorer-section {
  padding: 80px 0;
  background: var(--cream);
  border-top: 1px solid var(--gold);
}
.explorer-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.search-wrapper {
  position: relative;
  flex: 1;
  max-width: 400px;
  min-width: 250px;
}
.search-wrapper input {
  width: 100%;
  padding: 12px 16px 12px 42px;
  border: 1px solid #e2ddc8;
  border-radius: 6px;
  background: #fff;
  font-family: inherit;
  font-size: 0.95rem;
  color: var(--navy);
  transition: all 0.2s ease;
}
.search-wrapper input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(224, 178, 60, 0.15);
}
.search-wrapper svg {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  fill: var(--muted);
  pointer-events: none;
}
.filter-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.filter-pill {
  padding: 8px 16px;
  border-radius: 20px;
  border: 1px solid #e2ddc8;
  background: #fff;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.filter-pill:hover {
  border-color: var(--gold);
  color: var(--gold-ink);
}
.filter-pill.active {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}

.district-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 24px;
}
.district-card {
  background: var(--navy);
  border: 1px solid rgba(244,215,132,0.15);
  border-radius: 8px;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.district-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--gold);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.2s ease;
}
.district-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(22, 38, 63, 0.08);
  border-color: var(--gold);
}
.district-card:hover::before {
  transform: scaleY(1);
}
.district-card h4 {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}
.district-card .province-tag {
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--gold-2);
  font-weight: 600;
  margin-bottom: 12px;
}
.district-card .pop-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.88rem;
  color: var(--muted);
  border-top: 1px solid #f0ede0;
  padding-top: 12px;
  margin-top: auto;
}
.district-card .pop-val {
  font-weight: 700;
  color: #fff;
}

/* Modal Overlay Styling */
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(11, 19, 31, 0.75);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  padding: 20px;
}
.modal-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}
.modal-card {
  background: var(--navy);
  color: #fff;
  border-radius: 12px;
  width: 100%;
  max-width: 780px;
  max-height: 96vh;
  overflow-y: auto;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(244, 215, 132, 0.25);
  transform: scale(0.95) translateY(20px);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  display: flex;
  flex-direction: column;
  position: relative;
}
.modal-card::-webkit-scrollbar {
  display: none;
}
.modal-backdrop.active .modal-card {
  transform: scale(1) translateY(0);
}
.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
}
.modal-close:hover {
  background: var(--gold);
  color: var(--navy);
  border-color: var(--gold);
}
.modal-hero {
  position: relative;
  height: 200px;
  background: #0b131f;
  flex-shrink: 0;
}
.modal-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.modal-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, var(--navy) 0%, rgba(22, 38, 63, 0.3) 70%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px 32px;
}
.modal-hero-overlay h2 {
  font-family: 'Playfair Display', serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px;
}
.modal-hero-overlay .province {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--gold-2);
  font-weight: 700;
}
.modal-body {
  padding: 24px 32px;
}
.modal-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
.modal-stat-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(244, 215, 132, 0.15);
  border-radius: 8px;
  padding: 12px;
  text-align: center;
}
.modal-stat-card .num {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gold-2);
  line-height: 1.2;
}
.modal-stat-card .lbl {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #a7a392;
  margin-top: 4px;
}
.modal-content-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 32px;
  align-items: stretch;
}
@media(max-width: 680px) {
  .modal-content-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .modal-stats {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .modal-body {
    padding: 20px;
  }
  .modal-hero {
    height: 180px;
  }
  .modal-hero-overlay {
    padding: 16px 20px;
  }
  .modal-hero-overlay h2 {
    font-size: 1.8rem;
  }
}

/* ---------- WORKING COMMITTEE (DISTRICT-LIKE STYLE) ---------- */
.wc-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}
.wc-card {
  background: var(--navy);
  border: 1px solid rgba(244,215,132,0.15);
  border-radius: 8px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  flex: 0 1 280px;
  max-width: 100%;
}
.wc-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--gold);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.2s ease;
}
.wc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(22, 38, 63, 0.15);
  border-color: var(--gold);
}
.wc-card:hover::before {
  transform: scaleY(1);
}
.wc-photo {
  width: 60px;
  height: 60px;
  border-radius: 6px;
  background: linear-gradient(135deg, #d6d2c4 0%, #c4bfae 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(244,215,132,0.3);
  overflow: hidden;
  flex-shrink: 0;
  margin-right: 16px;
}
.wc-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wc-placeholder-icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.15);
}
.wc-placeholder-icon svg {
  width: 30px;
  height: 30px;
  fill: #a09c8e;
}
.wc-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.wc-info h4 {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 4px 0;
}
.wc-info .wc-role {
  font-size: 0.8rem;
  color: var(--gold-2);
  font-weight: 500;
}

@media (max-width: 480px) {
  .district-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .district-card {
    width: 100%;
    max-width: 340px;
  }
}

