/* V25 — humanized department and service directories */
.government-v25 .v25-departments,
.government-v25 .v25-services{
    position:relative;
    overflow:hidden;
    padding:clamp(3.2rem,5vw,5.5rem) 0;
}
.government-v25 .v25-departments{
    background:
        radial-gradient(circle at 92% 10%,rgba(29,78,216,.08),transparent 24rem),
        linear-gradient(180deg,#f7faff 0%,#eef5fc 100%);
    border-top:1px solid #dce7f3;
    border-bottom:1px solid #dce7f3;
}
.government-v25 .v25-services{
    background:#fff;
}
.government-v25 .v25-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2rem;
    margin-bottom:clamp(1.5rem,2.7vw,2.4rem);
}
.government-v25 .v25-section-heading__copy{
    max-width:760px;
}
.government-v25 .v25-eyebrow{
    display:block;
    margin-bottom:.55rem;
    color:#d62828;
    font-size:.78rem;
    line-height:1;
    font-weight:850;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.government-v25 .v25-section-heading h2{
    margin:0;
    color:#0c376f;
    font-size:clamp(2rem,3.25vw,3.25rem);
    line-height:1.05;
    letter-spacing:-.035em;
    font-weight:800;
}
.government-v25 .v25-section-heading p{
    max-width:680px;
    margin:.85rem 0 0;
    color:#536b8d;
    font-size:clamp(.98rem,1.15vw,1.08rem);
    line-height:1.7;
}
.government-v25 .v25-section-heading__action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.7rem;
    flex:0 0 auto;
    min-height:48px;
    padding:.75rem 1rem;
    border:1px solid #bed0e7;
    border-radius:10px;
    background:#fff;
    color:#0f4ca1;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 8px 20px rgba(17,62,120,.05);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.government-v25 .v25-section-heading__action:hover,
.government-v25 .v25-section-heading__action:focus-visible{
    transform:translateY(-2px);
    border-color:#7aa5db;
    box-shadow:0 12px 26px rgba(17,62,120,.10);
}

.government-v25 .v25-department-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem;
}
.government-v25 .v25-department-card{
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:1rem;
    min-height:132px;
    padding:1.05rem 1rem;
    overflow:hidden;
    border:1px solid #d6e2f0;
    border-radius:14px;
    background:rgba(255,255,255,.92);
    color:inherit;
    text-decoration:none;
    box-shadow:0 12px 28px rgba(19,61,112,.055);
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.government-v25 .v25-department-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:linear-gradient(180deg,#1554b7,#0f766e);
    opacity:0;
    transition:opacity .2s ease;
}
.government-v25 .v25-department-card:hover,
.government-v25 .v25-department-card:focus-visible{
    transform:translateY(-3px);
    border-color:#a8c2e3;
    box-shadow:0 18px 34px rgba(19,61,112,.10);
}
.government-v25 .v25-department-card:hover::before,
.government-v25 .v25-department-card:focus-visible::before{
    opacity:1;
}
.government-v25 .v25-department-card__copy{
    display:block;
    min-width:0;
}
.government-v25 .v25-department-card__copy small{
    display:block;
    margin-bottom:.25rem;
    color:#d62828;
    font-size:.68rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.government-v25 .v25-department-card__copy strong{
    display:block;
    overflow:hidden;
    color:#0b376f;
    font-size:1.05rem;
    line-height:1.3;
    font-weight:800;
    text-overflow:ellipsis;
}
.government-v25 .v25-department-card__copy > span{
    display:-webkit-box;
    margin-top:.3rem;
    overflow:hidden;
    color:#667b98;
    font-size:.84rem;
    line-height:1.45;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
.government-v25 .v25-card-arrow{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    color:#1b5bac;
    font-weight:900;
    transition:transform .2s ease;
}
.government-v25 .v25-department-card:hover .v25-card-arrow{
    transform:translateX(3px);
}

.government-v25 .v25-record-icon{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:56px;
    height:56px;
    overflow:hidden;
    border-radius:13px;
    border:1px solid rgba(21,84,183,.12);
    background:#ebf3ff;
    color:#1554b7;
}
.government-v25 .v25-record-icon.is-teal{
    background:#e8f7f4;
    color:#087a70;
    border-color:rgba(8,122,112,.13);
}
.government-v25 .v25-record-icon.is-red{
    background:#fff0f0;
    color:#c92731;
    border-color:rgba(201,39,49,.13);
}
.government-v25 .v25-record-icon.is-indigo{
    background:#f0efff;
    color:#5749b8;
    border-color:rgba(87,73,184,.13);
}
.government-v25 .v25-record-icon img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.government-v25 .v25-record-icon svg{
    width:28px;
    height:28px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.government-v25 .v25-service-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.15rem;
}
.government-v25 .v25-service-card{
    position:relative;
    display:flex;
    min-height:272px;
    flex-direction:column;
    overflow:hidden;
    border:1px solid #d9e4f0;
    border-radius:15px;
    background:#fff;
    box-shadow:0 14px 32px rgba(12,54,111,.06);
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.government-v25 .v25-service-card:hover,
.government-v25 .v25-service-card:focus-within{
    transform:translateY(-4px);
    border-color:#9dbbe0;
    box-shadow:0 20px 42px rgba(12,54,111,.11);
}
.government-v25 .v25-service-card.is-emergency{
    border-top:3px solid #d52632;
}
.government-v25 .v25-service-card__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding:1.15rem 1.15rem .5rem;
}
.government-v25 .v25-service-card__badges{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.35rem;
}
.government-v25 .v25-service-card__badges span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:.25rem .55rem;
    border:1px solid #d9e5f2;
    border-radius:7px;
    background:#f7faff;
    color:#526c8e;
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.government-v25 .v25-service-card__badges .is-emergency{
    border-color:#f2c2c7;
    background:#fff2f3;
    color:#be1e2d;
}
.government-v25 .v25-service-card__badges .is-free{
    border-color:#bde2d7;
    background:#eefaf6;
    color:#087565;
}
.government-v25 .v25-service-card__body{
    flex:1;
    padding:.65rem 1.15rem 1rem;
}
.government-v25 .v25-service-card__body > small{
    display:block;
    margin-bottom:.35rem;
    color:#6f83a0;
    font-size:.7rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.09em;
}
.government-v25 .v25-service-card h3{
    margin:0;
    font-size:1.27rem;
    line-height:1.25;
}
.government-v25 .v25-service-card h3 a{
    color:#0b376f;
    text-decoration:none;
}
.government-v25 .v25-service-card p{
    margin:.65rem 0 0;
    color:#5c7290;
    font-size:.93rem;
    line-height:1.62;
}
.government-v25 .v25-service-card__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:52px;
    padding:.75rem 1.15rem;
    border-top:1px solid #e5edf6;
    background:#f9fbfe;
    color:#1554a8;
    font-size:.9rem;
    font-weight:800;
    text-decoration:none;
}
.government-v25 .v25-service-card__footer span:last-child{
    font-size:1.1rem;
    transition:transform .2s ease;
}
.government-v25 .v25-service-card:hover .v25-service-card__footer span:last-child{
    transform:translateX(3px);
}

@media (max-width:1399.98px){
    .government-v25 .v25-department-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:991.98px){
    .government-v25 .v25-section-heading{align-items:flex-start;flex-direction:column;gap:1rem;}
    .government-v25 .v25-department-grid,
    .government-v25 .v25-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:575.98px){
    .government-v25 .v25-departments,
    .government-v25 .v25-services{padding:2.7rem 0;}
    .government-v25 .v25-section-heading h2{font-size:2rem;}
    .government-v25 .v25-section-heading__action{width:100%;}
    .government-v25 .v25-department-grid,
    .government-v25 .v25-service-grid{grid-template-columns:1fr;}
    .government-v25 .v25-department-card{min-height:116px;padding:.9rem;}
    .government-v25 .v25-record-icon{width:50px;height:50px;border-radius:11px;}
    .government-v25 .v25-service-card{min-height:250px;}
}

@media (prefers-reduced-motion:reduce){
    .government-v25 .v25-department-card,
    .government-v25 .v25-service-card,
    .government-v25 .v25-section-heading__action,
    .government-v25 .v25-card-arrow{transition:none!important;}
}
