.happening-now{position:relative;overflow:hidden;background:linear-gradient(110deg,#032719,#075b3b 58%,#063e2a);color:#fff;border-bottom:2px solid #d5a916;box-shadow:0 10px 30px rgba(2,34,22,.2)}
.happening-now:before{content:"";position:absolute;inset:-80% auto auto 30%;width:380px;height:220px;background:rgba(255,255,255,.12);filter:blur(55px);transform:rotate(-18deg);pointer-events:none}
.happening-inner{position:relative;display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr);align-items:stretch;min-height:62px}
.happening-label{display:flex;align-items:center;padding:10px 20px 10px 0;background:rgba(2,39,25,.58);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:2}
.happening-label i{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#ef3d32;box-shadow:0 0 0 5px rgba(239,61,50,.18)}
.happening-label strong{font-size:.92rem;margin-left:16px;white-space:nowrap}
.happening-track{min-width:0;overflow:hidden;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px)}
.happening-marquee{display:flex;width:max-content;min-width:100%;animation:movlsaTicker 24s linear infinite;will-change:transform}
.happening-group{display:flex;align-items:stretch;flex:none}
.happening-track:hover .happening-marquee{animation-play-state:paused}
.happening-track a{width:min(44vw,560px);padding:10px 28px;display:flex;align-items:center;gap:12px;border-left:1px solid rgba(255,255,255,.18);text-decoration:none;color:#fff}
.happening-track a:before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#f3c51d;box-shadow:0 0 0 5px rgba(243,197,29,.12)}
.happening-track a b{font-size:.9rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.happening-track a span{flex:0 0 auto;font-size:.72rem;color:#ffe27a;font-weight:800;white-space:nowrap}
.happening-track a:hover b{text-decoration:underline;color:#fff3b0}
@keyframes movlsaTicker{to{transform:translateX(-50%)}}
.district-map-section{padding:72px 0;background:#f4f7f5}.district-heading{max-width:760px;margin-bottom:25px}.district-heading p{text-transform:uppercase;letter-spacing:.14em;color:#a77d00;font-weight:800}.district-heading h2{margin:.25rem 0;font-size:clamp(2rem,4vw,3.2rem)}
.district-map-grid{display:grid;grid-template-columns:minmax(290px,38%) 1fr;background:#fff;border:1px solid #d8e2dc;border-radius:20px;overflow:hidden;box-shadow:0 18px 45px rgba(4,48,31,.1)}
.district-list{padding:22px}.district-list label{display:block;font-weight:800;margin-bottom:10px}.district-list input{width:100%;padding:13px;border:1px solid #bbc9c1;border-radius:9px;margin-bottom:14px}
.district-buttons{display:grid;gap:7px;max-height:520px;overflow:auto;padding-right:5px}.district-office{text-align:left;border:1px solid #dbe5df;background:#f8faf9;padding:11px 13px;border-radius:9px;cursor:pointer}.district-office b,.district-office span{display:block}.district-office span{font-size:.78rem;color:#637168;margin-top:2px}.district-office:hover,.district-office.active{background:#064b2d;color:#fff;border-color:#064b2d}.district-office:hover span,.district-office.active span{color:#dbe8e1}
.district-map{min-height:600px;display:flex;flex-direction:column}.district-map iframe{border:0;width:100%;flex:1;min-height:530px}.district-map-caption{padding:15px 20px;background:#052f20;color:#fff}.district-map-caption b,.district-map-caption span{display:block}.district-map-caption span{color:#d6e2dc;font-size:.88rem;margin-top:3px}
.managed-appointments{display:grid;gap:18px}.appointment-card{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:22px;border:1px solid #d8e2dc;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(4,48,31,.08)}.appointment-card>img{width:180px;height:130px;object-fit:cover;border-radius:10px}.appointment-date-badge{display:grid;place-items:center;min-height:110px;padding:18px;border-radius:10px;background:#075b3b;color:#fff;text-align:center;font-weight:800}.appointment-kicker{text-transform:uppercase;letter-spacing:.12em;color:#a77d00;font-size:.75rem;font-weight:900;margin:0 0 5px}.appointment-card h3{margin:0 0 8px;font-size:1.35rem}.appointment-card p{line-height:1.6}.appointment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.appointment-document{display:inline-flex;padding:10px 15px;border-radius:8px;background:#087348;color:#fff!important;text-decoration:none;font-weight:800}.appointment-download{background:#fff;color:#075b3b!important;border:1px solid #075b3b}.appointment-document:hover{background:#052f20;color:#fff!important}.appointment-pdf-viewer{margin-top:14px;border:1px solid #cad8d0;border-radius:11px;overflow:hidden;background:#f5f8f6}.appointment-pdf-viewer summary{padding:12px 15px;cursor:pointer;color:#064b2d;font-weight:850;list-style-position:inside}.appointment-pdf-viewer[open] summary{border-bottom:1px solid #cad8d0;background:#eaf2ed}.appointment-pdf-viewer iframe{display:block;width:100%;height:min(72vh,780px);min-height:520px;border:0;background:#525659}.appointment-document-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#fff}.appointment-pdf-viewer p{margin:0!important;padding:10px 15px;font-size:.88rem;background:#fff}.v2-info-panel-latest{background:linear-gradient(135deg,rgba(7,91,59,.72),rgba(3,39,25,.48))!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 16px 45px rgba(0,0,0,.24);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.v2-info-panel-latest a{color:#fff;text-decoration:none}.v2-info-panel-latest a:hover{text-decoration:underline;color:#ffe27a}
@media(max-width:800px){.happening-inner{grid-template-columns:1fr}.happening-label{padding:8px 16px}.happening-track a{width:min(82vw,480px);padding:10px 18px}.district-map-grid{grid-template-columns:1fr}.district-buttons{max-height:330px}.district-map{min-height:440px}.district-map iframe{min-height:380px}}
@media(max-width:640px){.appointment-card{grid-template-columns:1fr;padding:16px}.appointment-card img{width:100%;height:190px}.appointment-pdf-viewer iframe{min-height:440px;height:65vh}}
@media(prefers-reduced-motion:reduce){.happening-marquee{animation:none}.happening-group[aria-hidden="true"]{display:none}}

/* The full office title is already displayed beside each principal's
   photograph. Hide the duplicate portrait badge, which was too narrow for
   the title and caused words to be cut into single letters. */
.ab-statement-portrait .ab-statement-badge{display:none!important}
.ab-statement-role{max-width:100%;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.45!important}
.official-social-links{position:fixed;right:18px;bottom:92px;z-index:70;display:flex;flex-direction:column;gap:8px}
.official-social-links .social-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff!important;text-decoration:none;font:900 1rem/1 Arial,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .18s ease,filter .18s ease}
.official-social-links svg{width:23px;height:23px;fill:currentColor}
.official-social-links .social-icon:hover{transform:translateY(-2px) scale(1.04);filter:brightness(1.08)}
.social-whatsapp,.social-channel{background:#128c4a}.social-channel span{font-size:.69rem;letter-spacing:-.04em}.social-facebook{background:#1877f2}.social-facebook span{font-family:Arial,sans-serif;font-size:1.55rem}.social-twitter{background:#111}
@media(max-width:640px){.official-social-links{right:10px;bottom:76px;gap:6px}.official-social-links .social-icon{width:40px;height:40px}}
