/* GNSH V27 — compact government footer with dynamic location map */
body.government-v27 .government-footer-v26,
body.government-v27 .professional-footer,
body.government-v27 .humanized-footer{
    display:none !important;
}

body.government-v27 .government-footer-v27{
    position:relative;
    margin-top:0;
    color:#edf5ff;
    background:
        radial-gradient(circle at 8% 8%,rgba(18,111,181,.18),transparent 24%),
        radial-gradient(circle at 92% 8%,rgba(20,139,102,.10),transparent 22%),
        linear-gradient(135deg,#061d3d 0%,#082b58 50%,#064063 100%);
    border-top:3px solid #d9212b;
    overflow:hidden;
}
body.government-v27 .government-footer-v27::before{
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:3px;
}
body.government-v27 .government-footer-v27 a{color:inherit;}

body.government-v27 .government-footer-v27__identity{
    border-bottom:1px solid rgba(190,215,244,.14);
    background:rgba(2,16,39,.26);
}
body.government-v27 .government-footer-v27__identity-inner{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}
body.government-v27 .government-footer-v27__official{
    display:flex;
    align-items:center;
    gap:.68rem;
    color:#fff;
    font-size:.8rem;
    font-weight:850;
    letter-spacing:.075em;
    text-transform:uppercase;
}
body.government-v27 .government-footer-v27__seal-dot{
    width:12px;
    height:12px;
    border:3px solid rgba(255,255,255,.92);
    border-radius:50%;
    background:#18b878;
    box-shadow:0 0 0 4px rgba(24,184,120,.12);
}
body.government-v27 .government-footer-v27__utility{
    display:flex;
    align-items:center;
    gap:1.1rem;
}
body.government-v27 .government-footer-v27__utility > span,
body.government-v27 .government-footer-v27__utility > a{
    display:flex;
    align-items:center;
    gap:.55rem;
    padding-left:1.1rem;
    border-left:1px solid rgba(200,220,244,.18);
    text-decoration:none;
}
body.government-v27 .government-footer-v27__utility small{
    color:#9fb7d5;
    font-size:.65rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}
body.government-v27 .government-footer-v27__utility strong{
    color:#fff;
    font-size:.86rem;
}
body.government-v27 .government-footer-v27__utility > a strong{color:#ffd1d5;}

body.government-v27 .government-footer-v27__main{
    padding-top:2rem;
    padding-bottom:.8rem;
}
body.government-v27 .government-footer-v27__grid{
    display:grid;
    grid-template-columns:minmax(270px,1.15fr) minmax(260px,1fr) minmax(270px,.95fr) minmax(300px,1.05fr);
    gap:1.7rem;
    align-items:start;
}

body.government-v27 .government-footer-v27__brand-link{
    display:flex;
    align-items:center;
    gap:.95rem;
    text-decoration:none;
}
body.government-v27 .government-footer-v27__logo{
    flex:0 0 72px;
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.17);
}
body.government-v27 .government-footer-v27__logo img{
    width:100%;
    height:100%;
    padding:6px;
    object-fit:contain;
}
body.government-v27 .government-footer-v27__brand-copy small,
body.government-v27 .government-footer-v27__brand-copy strong,
body.government-v27 .government-footer-v27__brand-copy span{display:block;}
body.government-v27 .government-footer-v27__brand-copy small{
    color:#ff4a55;
    font-size:.69rem;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}
body.government-v27 .government-footer-v27__brand-copy strong{
    margin-top:.25rem;
    color:#fff;
    font-size:1.18rem;
    line-height:1.25;
}
body.government-v27 .government-footer-v27__brand-copy span{
    margin-top:.18rem;
    color:#a9c1df;
    font-size:.8rem;
}
body.government-v27 .government-footer-v27__brand > p{
    max-width:430px;
    margin:.95rem 0 0;
    color:#bdd0e5;
    font-size:.87rem;
    line-height:1.65;
}
body.government-v27 .government-footer-v27__social{margin-top:1rem;}
body.government-v27 .government-footer-v27__social > span{
    display:block;
    margin-bottom:.5rem;
    color:#90aac9;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.085em;
    text-transform:uppercase;
}
body.government-v27 .government-footer-v27__social > div{display:flex;flex-wrap:wrap;gap:.45rem;}
body.government-v27 .government-footer-v27__social a{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid rgba(202,222,247,.20);
    border-radius:7px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:.64rem;
    font-weight:900;
    text-decoration:none;
    transition:.18s ease;
}
body.government-v27 .government-footer-v27__social a:hover,
body.government-v27 .government-footer-v27__social a:focus-visible{
    transform:translateY(-2px);
    border-color:#fff;
    background:#fff;
    color:#0c3c70;
}

body.government-v27 .government-footer-v27__menus{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.2rem;
}
body.government-v27 .government-footer-v27__links h2,
body.government-v27 .government-footer-v27__contact h2{
    margin:0 0 .8rem;
    padding-bottom:.6rem;
    color:#fff;
    font-size:.91rem;
    font-weight:800;
    border-bottom:1px solid rgba(194,216,244,.15);
}
body.government-v27 .government-footer-v27__links h2::after,
body.government-v27 .government-footer-v27__contact h2::after{
    content:"";
    display:block;
    width:30px;
    height:2px;
    margin-top:.58rem;
    background:#e62e38;
}
body.government-v27 .government-footer-v27__links ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:.08rem;
}
body.government-v27 .government-footer-v27__links a{
    display:flex;
    align-items:flex-start;
    gap:.42rem;
    padding:.34rem 0;
    color:#b9cce2;
    font-size:.82rem;
    line-height:1.45;
    text-decoration:none;
    transition:.16s ease;
}
body.government-v27 .government-footer-v27__links a > span{color:#56d2a7;font-size:1rem;line-height:1.05;}
body.government-v27 .government-footer-v27__links a:hover,
body.government-v27 .government-footer-v27__links a:focus-visible{color:#fff;transform:translateX(2px);}

body.government-v27 .government-footer-v27__contact-list{display:grid;gap:.45rem;}
body.government-v27 .government-footer-v27__contact-list > div,
body.government-v27 .government-footer-v27__contact-list > a{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:.68rem;
    align-items:start;
    padding:.42rem 0;
    color:#c5d5e8;
    text-decoration:none;
}
body.government-v27 .government-footer-v27__contact-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:7px;
    background:rgba(255,255,255,.075);
    color:#6dd2af;
}
body.government-v27 .government-footer-v27__contact-list small,
body.government-v27 .government-footer-v27__contact-list strong{display:block;}
body.government-v27 .government-footer-v27__contact-list small{
    color:#8fa9c8;
    font-size:.65rem;
    letter-spacing:.07em;
    text-transform:uppercase;
}
body.government-v27 .government-footer-v27__contact-list strong{
    margin-top:.12rem;
    color:#fff;
    font-size:.82rem;
    line-height:1.42;
    overflow-wrap:anywhere;
}
body.government-v27 .government-footer-v27__emergency{
    display:flex;
    align-items:center;
    gap:.72rem;
    margin-top:.8rem;
    padding:.68rem .75rem;
    border:1px solid rgba(255,115,125,.32);
    border-radius:8px;
    background:rgba(202,31,44,.15);
    color:#fff;
    text-decoration:none;
}
body.government-v27 .government-footer-v27__emergency > span:first-child{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:7px;
    background:#dc2631;
}
body.government-v27 .government-footer-v27__emergency small,
body.government-v27 .government-footer-v27__emergency strong{display:block;}
body.government-v27 .government-footer-v27__emergency small{
    color:#ffc5ca;
    font-size:.67rem;
    letter-spacing:.07em;
    text-transform:uppercase;
}
body.government-v27 .government-footer-v27__emergency strong{font-size:1rem;}

body.government-v27 .government-footer-v27__map{
    overflow:hidden;
    border:1px solid rgba(194,217,245,.16);
    border-radius:12px;
    background:rgba(255,255,255,.055);
    box-shadow:0 14px 30px rgba(0,0,0,.12);
}
body.government-v27 .government-footer-v27__map-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:.75rem;
    padding:.78rem .86rem;
}
body.government-v27 .government-footer-v27__map-head small{
    display:block;
    color:#75d7b5;
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}
body.government-v27 .government-footer-v27__map-head h2{
    margin:.14rem 0 0;
    color:#fff;
    font-size:.94rem;
}
body.government-v27 .government-footer-v27__map-head > a{
    white-space:nowrap;
    color:#dbeaff;
    font-size:.72rem;
    font-weight:800;
    text-decoration:none;
}
body.government-v27 .government-footer-v27__map-frame{
    position:relative;
    height:184px;
    overflow:hidden;
    border-top:1px solid rgba(197,218,244,.14);
    border-bottom:1px solid rgba(197,218,244,.14);
    background:#dbe7f4;
}
body.government-v27 .government-footer-v27__map-frame iframe{
    width:100%;
    height:100%;
    border:0;
    filter:saturate(.9) contrast(.98);
}
body.government-v27 .government-footer-v27__map-address{
    display:flex;
    align-items:flex-start;
    gap:.55rem;
    padding:.68rem .8rem;
    color:#d7e7f8;
    font-size:.75rem;
    line-height:1.45;
    text-decoration:none;
}
body.government-v27 .government-footer-v27__map-address > span:first-child{color:#66d2ae;font-size:1rem;}

body.government-v27 .government-footer-v27__public-note{
    display:flex;
    align-items:center;
    gap:.68rem;
    margin-top:1.55rem;
    padding:.72rem .85rem;
    border-top:1px solid rgba(191,216,248,.14);
    border-bottom:1px solid rgba(191,216,248,.14);
    color:#a9c1dd;
}
body.government-v27 .government-footer-v27__public-note-mark{
    flex:0 0 26px;
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e8f3ff;
    color:#0d4d93;
    font-weight:900;
}
body.government-v27 .government-footer-v27__public-note p{margin:0;font-size:.79rem;line-height:1.5;}
body.government-v27 .government-footer-v27__bottom{
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    color:#91aac8;
    font-size:.73rem;
}
body.government-v27 .government-footer-v27__powered{
    color:#bcd0e7;
    white-space:nowrap;
}
body.government-v27 .government-footer-v27__powered strong{
    color:#fff;
    font-weight:900;
    letter-spacing:.015em;
}

@media (max-width:1499.98px){
    body.government-v27 .government-footer-v27__grid{
        grid-template-columns:minmax(260px,1.1fr) minmax(240px,.95fr) minmax(260px,.9fr) minmax(280px,1fr);
        gap:1.35rem;
    }
}
@media (max-width:1199.98px){
    body.government-v27 .government-footer-v27__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    body.government-v27 .government-footer-v27__map{min-height:100%;}
}
@media (max-width:767.98px){
    body.government-v27 .government-footer-v27__identity-inner{
        padding-top:.72rem;
        padding-bottom:.72rem;
        align-items:flex-start;
        flex-direction:column;
    }
    body.government-v27 .government-footer-v27__utility{
        width:100%;
        justify-content:space-between;
        gap:.7rem;
    }
    body.government-v27 .government-footer-v27__utility > span,
    body.government-v27 .government-footer-v27__utility > a{
        padding-left:0;
        border-left:0;
    }
    body.government-v27 .government-footer-v27__grid{grid-template-columns:1fr;gap:1.35rem;}
    body.government-v27 .government-footer-v27__menus{grid-template-columns:repeat(2,minmax(0,1fr));}
    body.government-v27 .government-footer-v27__bottom{
        padding:.85rem 0 .55rem;
        align-items:flex-start;
        flex-direction:column;
        gap:.5rem;
    }
}
@media (max-width:499.98px){
    body.government-v27 .government-footer-v27__main{padding-top:1.45rem;}
    body.government-v27 .government-footer-v27__brand-link{align-items:flex-start;}
    body.government-v27 .government-footer-v27__logo{flex-basis:62px;width:62px;height:62px;border-radius:12px;}
    body.government-v27 .government-footer-v27__brand-copy strong{font-size:1.02rem;}
    body.government-v27 .government-footer-v27__menus{grid-template-columns:1fr;}
    body.government-v27 .government-footer-v27__map-frame{height:170px;}
    body.government-v27 .government-footer-v27__utility{display:grid;grid-template-columns:1fr;}
}

/* V39: simple footer directions block — no card or shaded wrapper. */
body.government-v27 .government-footer-v27__map--plain{
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-head{
    min-height:auto;
    padding:0 0 .72rem;
    align-items:flex-end;
    border-bottom:1px solid rgba(194,216,244,.15);
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-head::after{
    content:"";
    position:absolute;
    width:30px;
    height:2px;
    margin-top:.58rem;
    background:#e62e38;
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-head{
    position:relative;
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-head small{
    color:#75d7b5;
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-head h2{
    margin:.14rem 0 0;
    font-size:.91rem;
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-head>a{
    padding-bottom:.1rem;
    color:#dbeaff;
}
.government-footer-v27__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 24px;
    color: #e0e1dd;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.government-footer-v27__powered a {
    color: #00b4d8; /* Tech accent color */
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

.government-footer-v27__powered a:hover {
    color: #90e0ef;
    text-decoration: underline;
}

/* Mobile responsive layout */
@media (max-width: 600px) {
    .government-footer-v27__bottom {
        flex-direction: column;
        text-align: center;
    }
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-frame{
    height:315px;
    margin-top:.9rem;
    border:1px solid rgba(197,218,244,.20);
    border-radius:3px;
    background:#dbe7f4;
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-frame iframe{
    filter:none;
}
body.government-v27 .government-footer-v27__map--plain .government-footer-v27__map-address{
    padding:.6rem 0 0;
    color:#c9d9ec;
}
