:root {
    --civic-ink: #07182b;
    --civic-ink-soft: #18304a;
    --civic-blue: #0067a7;
    --civic-blue-dark: #004e80;
    --civic-sky: #dff2ff;
    --civic-gold: #f2b544;
    --civic-paper: #f4f6f7;
    --civic-white: #ffffff;
    --civic-line: #d7dde1;
    --civic-muted: #586675;
    --civic-radius-sm: 8px;
    --civic-radius-md: 12px;
    --civic-radius-lg: 18px;
    --civic-shadow: 0 12px 30px rgba(7, 24, 43, 0.08);
    --civic-shell: 1180px;
}

body {
    color: var(--civic-ink);
    background: var(--civic-paper);
}

.public-shell {
    width: min(calc(100% - 2rem), var(--civic-shell));
    margin-inline: auto;
}

.public-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: var(--civic-blue);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.3;
    text-transform: uppercase;
}

.public-eyebrow::before {
    width: 2rem;
    height: 2px;
    content: "";
    background: currentColor;
}

.public-heading {
    margin-top: 0.8rem;
    font-family: "Plus Jakarta Sans", "Inter", sans-serif;
    font-size: clamp(1.9rem, 3.5vw, 3.15rem);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.08;
}

.public-lead {
    color: var(--civic-muted);
    font-size: clamp(1rem, 1.5vw, 1.12rem);
    line-height: 1.85;
}

.public-text-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 0.5rem;
    color: var(--civic-blue);
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
}

.public-text-link .material-symbols-outlined {
    transition: transform 180ms ease;
}

.public-text-link:hover .material-symbols-outlined {
    transform: translateX(4px);
}

@media (min-width: 768px) {
    .public-shell { width: min(calc(100% - 3rem), var(--civic-shell)); }
}

/* Global public footer */
.public-footer {
    flex: 0 0 auto;
    border-top: 1px solid rgba(255,255,255,.1);
    background: #071e2e;
    color: #b8c8d1;
}
.public-footer__main {
    display: grid;
    grid-template-columns: minmax(280px,1.25fr) minmax(300px,1fr) minmax(230px,.75fr);
    align-items: start;
    gap: clamp(1.5rem,4vw,4rem);
    padding-block: 2.25rem;
}
.public-footer__identity {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: .7rem;
    color: #fff;
    text-decoration: none;
}
.public-footer__identity img { width: auto; height: 42px; object-fit: contain; }
.public-footer__identity strong,.public-footer__identity small { display: block; }
.public-footer__identity strong { font: 800 .96rem/1.1 "Plus Jakarta Sans",sans-serif; }
.public-footer__identity small { margin-top: .25rem; color: #8ea5b1; font-size: .5rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.public-footer__brand p { max-width: 430px; margin-top: .8rem; color: #90a4af; font-size: .68rem; line-height: 1.65; }
.public-footer__links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .15rem .8rem; }
.public-footer__links a { min-height: 40px; display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.08); color: #c7d4da; font-size: .67rem; font-weight: 700; text-decoration: none; transition: color .18s,border-color .18s; }
.public-footer__links a:hover { border-color: #4a9fc5; color: #fff; }
.public-footer__contact { display: grid; gap: .25rem; }
.public-footer__label { margin-bottom: .25rem; color: #7fc7e5; font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.public-footer__contact>a:not(.public-footer__contact-link) { min-height: 34px; display: flex; align-items: center; gap: .45rem; overflow-wrap: anywhere; color: #d3dee3; font-size: .65rem; font-weight: 650; text-decoration: none; }
.public-footer__contact>a>.material-symbols-outlined { color: #7fc7e5; font-size: .9rem; }
.public-footer__contact-link { min-height: 36px; display: inline-flex; align-items: center; gap: .35rem; margin-top: .25rem; color: #fff; font-size: .62rem; font-weight: 800; text-decoration: none; }
.public-footer__contact-link .material-symbols-outlined { font-size: .86rem; }
.public-footer__base { border-top: 1px solid rgba(255,255,255,.09); background: #061927; }
.public-footer__base-inner { min-height: 58px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; color: #718994; font-size: .58rem; }
.public-footer__social { display: flex; align-items: center; justify-content: center; gap: .35rem; }
.public-footer__social a { min-height: 34px; display: inline-flex; align-items: center; gap: .28rem; padding: .3rem .55rem; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: #a9bbc4; font-size: .55rem; font-weight: 750; text-decoration: none; }
.public-footer__social a:hover { border-color: #4a9fc5; color: #fff; }
.public-footer__social .material-symbols-outlined { font-size: .82rem; }
.public-footer__top { min-height: 36px; display: inline-flex; align-items: center; justify-self: end; gap: .3rem; color: #a9bbc4; font-size: .57rem; font-weight: 750; text-decoration: none; }
.public-footer__top .material-symbols-outlined { font-size: .82rem; }

/* Compact mobile navigation drawer */
.public-mobile-toggle { width: 44px; height: 44px; display: inline-grid; flex: 0 0 44px; place-items: center; border: 1px solid rgba(15,45,62,.1); border-radius: 10px; background: rgba(255,255,255,.08); color: var(--brand-navy); }
.public-mobile-menu { position: fixed; z-index: 80; inset: 0; }
.public-mobile-menu__overlay { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(4,17,27,.52); backdrop-filter: blur(3px); cursor: default; }
.public-mobile-menu__drawer { position: absolute; top: 0; right: 0; width: min(88vw,370px); height: 100dvh; display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; border-left: 1px solid #dce5e9; background: #f7f9fa; color: var(--civic-ink); box-shadow: -18px 0 50px rgba(4,22,34,.2); animation: publicDrawerIn .24s ease both; }
.public-mobile-menu__head { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid #dce5e9; background: #fff; }
.public-mobile-menu__head>div>span,.public-mobile-menu__head>div>strong { display: block; }
.public-mobile-menu__head>div>span { color: var(--civic-blue-dark); font-size: .53rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.public-mobile-menu__head>div>strong { margin-top: .18rem; font: 800 1rem/1.2 "Plus Jakarta Sans",sans-serif; }
.public-mobile-menu__head>button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #d3dee3; border-radius: 10px; background: #fff; color: var(--civic-ink); cursor: pointer; }
.public-mobile-menu__head .material-symbols-outlined { font-size: 1.15rem; }
.public-mobile-menu__body { padding: .65rem; overflow-y: auto; overscroll-behavior: contain; }
.public-mobile-menu__link { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .55rem .65rem; border-radius: 8px; color: #294453; font-size: .7rem; font-weight: 700; text-decoration: none; }
.public-mobile-menu__link:hover,.public-mobile-menu__link.is-active { background: #e8f2f6; color: var(--civic-blue-dark); }
.public-mobile-menu__link .material-symbols-outlined { color: #88a0ac; font-size: .88rem; }
.public-mobile-menu__group { margin-block: .2rem; border: 1px solid #dce5e9; border-radius: 10px; background: #fff; }
.public-mobile-menu__group>button { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .6rem .7rem; border: 0; border-radius: 9px; background: transparent; color: #1e3949; font-size: .7rem; font-weight: 800; cursor: pointer; }
.public-mobile-menu__group>button>span:first-child { display: inline-flex; align-items: center; gap: .55rem; }
.public-mobile-menu__group>button .material-symbols-outlined { color: var(--civic-blue); font-size: 1rem; }
.public-mobile-menu__group>button [data-mobile-group-icon] { color: #718894; transition: transform .18s; }
.public-mobile-menu__group>button [data-mobile-group-icon].is-rotated,.public-mobile-menu__group>button[aria-expanded="true"] [data-mobile-group-icon] { transform: rotate(180deg); }
.public-mobile-menu__sub { padding: 0 .4rem .4rem; border-top: 1px solid #e5ecef; }
.public-mobile-menu__sub .public-mobile-menu__link { min-height: 40px; padding-left: .55rem; font-size: .65rem; }
.public-mobile-menu__foot { padding: .65rem; border-top: 1px solid #dce5e9; background: #fff; }
.public-mobile-menu__foot>a { min-height: 54px; display: grid; align-items: center; gap: .6rem; padding: .6rem .7rem; border-radius: 10px; background: #09283b; color: #fff; grid-template-columns: auto minmax(0,1fr) auto; text-decoration: none; }
.public-mobile-menu__foot>a>.material-symbols-outlined { font-size: 1rem; }
.public-mobile-menu__foot strong,.public-mobile-menu__foot small { display: block; }
.public-mobile-menu__foot strong { font-size: .68rem; }.public-mobile-menu__foot small { margin-top: .15rem; color: #a9bfca; font-size: .54rem; }
@keyframes publicDrawerIn { from { opacity: .65; transform: translateX(24px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
    .public-footer__main { grid-template-columns: minmax(0,1fr) minmax(260px,.8fr); gap: 1.5rem 2.5rem; }
    .public-footer__contact { grid-column: 1/-1; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; padding-top: .9rem; border-top: 1px solid rgba(255,255,255,.09); }
    .public-footer__contact .public-footer__label { grid-column: 1/-1; }
    .public-footer__contact-link { margin-top: 0; }
}
@media (max-width: 620px) {
    .public-footer__main { grid-template-columns: 1fr; gap: 1.1rem; padding-block: 1.5rem; }
    .public-footer__brand { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .8rem; }
    .public-footer__brand p { margin-top: 0; font-size: .6rem; line-height: 1.5; }
    .public-footer__identity img { height: 36px; }.public-footer__identity strong { font-size: .82rem; }
    .public-footer__links { grid-template-columns: repeat(2,minmax(0,1fr)); }.public-footer__links a { min-height: 36px; font-size: .62rem; }
    .public-footer__contact { grid-column: auto; grid-template-columns: 1fr; gap: .15rem; padding-top: .75rem; }
    .public-footer__contact .public-footer__label { grid-column: auto; }.public-footer__contact>a:not(.public-footer__contact-link) { min-height: 31px; }
    .public-footer__base-inner { min-height: 0; grid-template-columns: 1fr auto; padding-block: .7rem; }
    .public-footer__social { grid-column: 1/-1; grid-row: 1; justify-content: flex-start; }.public-footer__social a { min-height: 32px; }
    .public-footer__social a>span:last-child { display: none; }.public-footer__top { grid-column: 2; grid-row: 2; }
}
@media (max-width: 360px) {
    .public-footer__brand { grid-template-columns: 1fr; }.public-footer__brand p { max-width: 280px; }
    .public-mobile-menu__drawer { width: 94vw; }
}
@media (prefers-reduced-motion: reduce) { .public-mobile-menu__drawer { animation: none; } }

/* Final slim footer: one clear hierarchy on every viewport. */
.public-footer__main {
    min-height: 92px;
    grid-template-columns: 220px minmax(0,1fr) minmax(300px,auto);
    align-items: center;
    gap: clamp(1rem,2.5vw,2.5rem);
    padding-block: 1.15rem;
}
.public-footer__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .2rem clamp(.55rem,1.6vw,1.25rem);
}
.public-footer__links a {
    min-height: 36px;
    border: 0;
    font-size: .62rem;
    white-space: nowrap;
}
.public-footer__contact {
    display: grid;
    align-items: center;
    gap: .4rem;
    grid-template-columns: repeat(2,minmax(0,1fr));
}
.public-footer__contact>a:not(.public-footer__contact-link) {
    min-width: 0;
    min-height: 38px;
    padding: .4rem .55rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    font-size: .59rem;
}
.public-footer__contact>a>span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.public-footer__base-inner { min-height: 48px; }
.public-footer__social a { min-height: 30px; padding: .25rem .48rem; }

@media (max-width: 980px) {
    .public-footer__main { grid-template-columns: 190px minmax(0,1fr); }
    .public-footer__links { justify-content: flex-end; }
    .public-footer__contact { grid-column: 1/-1; width: min(100%,560px); justify-self: center; padding-top: .65rem; border-top: 1px solid rgba(255,255,255,.08); }
}
@media (max-width: 620px) {
    .public-footer__main {
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: .6rem;
        padding-block: .9rem;
    }
    .public-footer__brand { display: block; }
    .public-footer__identity { width: 100%; justify-content: center; }
    .public-footer__identity img { height: 34px; }
    .public-footer__links {
        display: grid;
        width: 100%;
        gap: 1px;
        overflow: hidden;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 8px;
        background: rgba(255,255,255,.08);
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .public-footer__links a {
        min-height: 34px;
        justify-content: center;
        padding: .3rem .25rem;
        overflow: hidden;
        background: #071e2e;
        font-size: .55rem;
        text-align: center;
        text-overflow: ellipsis;
    }
    .public-footer__contact {
        width: 100%;
        grid-column: auto;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: .4rem;
        padding-top: 0;
        border: 0;
    }
    .public-footer__contact>a:not(.public-footer__contact-link) { min-height: 34px; justify-content: center; padding: .3rem .45rem; font-size: .55rem; }
    .public-footer__base-inner { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: .55rem; padding-block: .35rem; }
    .public-footer__base-inner>p { white-space: nowrap; }
    .public-footer__social { display: flex; grid-column: auto; grid-row: auto; flex: 0 0 auto; gap: .2rem; }
    .public-footer__social a { width: 29px; height: 29px; min-height: 29px; justify-content: center; padding: 0; }
    .public-footer__top { width: 29px; height: 29px; min-height: 29px; flex: 0 0 29px; justify-content: center; font-size: 0; }
    .public-footer__top .material-symbols-outlined { font-size: .88rem; }
}
@media (max-width: 380px) {
    .public-footer__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-footer__base-inner>p { font-size: .52rem; }
    .public-footer__social a { width: 27px; height: 27px; min-height: 27px; }
}

/* Compact institutional footer: identity, high-value routes and direct contact only. */
.public-footer__main{
    min-height:76px;
    grid-template-columns:200px minmax(0,1fr) minmax(260px,auto);
    gap:clamp(.8rem,2vw,1.75rem);
    padding-block:.8rem;
}
.public-footer__identity{min-height:38px;gap:.55rem}
.public-footer__identity img{height:34px}
.public-footer__identity strong{font-size:.82rem}
.public-footer__identity small{margin-top:.18rem;font-size:.44rem}
.public-footer__links{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.15rem clamp(.65rem,1.55vw,1.2rem);
    border:0;
    background:transparent;
}
.public-footer__links a{
    min-height:34px;
    padding:0;
    border:0;
    background:transparent;
    font-size:.59rem;
    white-space:nowrap;
}
.public-footer__contact{display:flex;justify-content:flex-end;gap:.35rem}
.public-footer__contact>a:not(.public-footer__contact-link){
    max-width:190px;
    min-height:34px;
    padding:.35rem .52rem;
    border-color:rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(255,255,255,.035);
    font-size:.55rem;
}
.public-footer__base-inner{min-height:40px}
.public-footer__social a{min-height:28px;padding:.2rem .42rem;font-size:.51rem}
.public-footer__top{min-height:30px}
@media(max-width:980px){
    .public-footer__main{grid-template-columns:180px minmax(0,1fr);gap:.5rem 1rem;padding-block:.75rem}
    .public-footer__links{justify-content:flex-end}
    .public-footer__contact{width:100%;grid-column:1/-1;justify-content:center;padding-top:.55rem;border-top:1px solid rgba(255,255,255,.07)}
}
@media(max-width:620px){
    .public-footer__main{display:grid;gap:.5rem;padding-block:.75rem;grid-template-columns:1fr}
    .public-footer__identity{justify-content:center}
    .public-footer__identity img{height:31px}
    .public-footer__links{
        width:100%;
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        gap:0 .85rem;
        overflow:visible;
        border:0;
        border-radius:0;
        background:transparent;
    }
    .public-footer__links a{
        width:auto;
        min-height:28px;
        padding:0;
        border:0;
        background:transparent;
        font-size:.54rem;
    }
    .public-footer__contact{display:grid;width:100%;gap:.35rem;padding:0;border:0;grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
    .public-footer__contact>a:not(.public-footer__contact-link){max-width:none;min-height:32px;justify-content:center;padding:.28rem .4rem;font-size:.52rem}
    .public-footer__base-inner{min-height:38px;padding-block:.3rem}
}
@media(max-width:380px){
    .public-footer__links{column-gap:.65rem}
    .public-footer__contact>a:not(.public-footer__contact-link)>span:last-child{font-size:.49rem}
}

/* Mobile footer: two deliberate layers instead of a centred vertical stack. */
@media(max-width:620px){
    .public-footer__main{
        display:grid;
        align-items:center;
        gap:.55rem .75rem;
        padding-block:.75rem;
        grid-template-columns:minmax(125px,.9fr) minmax(0,1.1fr);
    }
    .public-footer__brand{display:block;min-width:0}
    .public-footer__identity{width:auto;justify-content:flex-start;gap:.45rem}
    .public-footer__identity img{height:30px}
    .public-footer__identity strong{font-size:.72rem}
    .public-footer__identity small{font-size:.39rem;letter-spacing:.09em}
    .public-footer__links{
        display:grid;
        width:100%;
        align-self:stretch;
        gap:0 .55rem;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .public-footer__links a{
        min-height:27px;
        align-items:center;
        justify-content:flex-start;
        overflow:visible;
        font-size:.5rem;
        line-height:1.25;
        text-align:left;
        text-overflow:clip;
        white-space:normal;
    }
    .public-footer__links a::after{content:none}
    .public-footer__contact{
        width:100%;
        gap:.35rem;
        grid-column:1/-1;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .public-footer__contact>a:not(.public-footer__contact-link){
        min-height:31px;
        justify-content:flex-start;
        padding:.28rem .48rem;
        font-size:.5rem;
    }
    .public-footer__base-inner{min-height:36px;padding-block:.25rem}
    .public-footer__base-inner>p{font-size:.48rem}
    .public-footer__social a{width:27px;height:27px;min-height:27px}
    .public-footer__top{width:27px;height:27px;min-height:27px;flex-basis:27px}
}
@media(max-width:350px){
    .public-footer__main{gap:.45rem .55rem;grid-template-columns:minmax(116px,.82fr) minmax(0,1.18fr)}
    .public-footer__identity img{height:28px}
    .public-footer__identity strong{font-size:.66rem}
    .public-footer__identity small{font-size:.36rem}
    .public-footer__links{column-gap:.35rem}
    .public-footer__links a{font-size:.46rem}
}

/* Balanced mobile footer: every row follows the same centre axis and width. */
@media(max-width:620px){
    .public-footer__main{
        display:grid;
        gap:.42rem;
        padding-block:.68rem;
        grid-template-columns:1fr;
    }
    .public-footer__brand{grid-column:1;grid-row:1}
    .public-footer__identity{justify-content:center}
    .public-footer__identity img{height:29px}
    .public-footer__identity strong{font-size:.7rem}
    .public-footer__identity small{font-size:.38rem}
    .public-footer__contact{
        grid-column:1;
        grid-row:2;
        gap:.4rem;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .public-footer__contact>a:not(.public-footer__contact-link){
        max-width:none;
        min-height:32px;
        justify-content:center;
        padding:.28rem .4rem;
        text-align:center;
    }
    .public-footer__links{
        display:grid;
        grid-column:1;
        grid-row:3;
        gap:0;
        padding-top:.22rem;
        border-top:1px solid rgba(255,255,255,.07);
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .public-footer__links a{
        min-height:31px;
        justify-content:center;
        padding:.18rem .22rem 0;
        font-size:.49rem;
        line-height:1.25;
        text-align:center;
    }
    .public-footer__base-inner{min-height:35px}
}
@media(max-width:350px){
    .public-footer__main{gap:.38rem;grid-template-columns:1fr}
    .public-footer__identity img{height:28px}
    .public-footer__links{column-gap:0}
    .public-footer__links a{font-size:.45rem}
}

/* Canonical responsive footer — one hierarchy across desktop, tablet and mobile. */
.public-footer__main{
    min-height:80px;
    display:grid;
    align-items:center;
    gap:clamp(.85rem,2vw,1.8rem);
    padding-block:.82rem;
    grid-template-columns:minmax(185px,.9fr) minmax(360px,1.45fr) minmax(280px,1.05fr);
}
.public-footer__brand{min-width:0}
.public-footer__identity{width:max-content;max-width:100%;justify-content:flex-start}
.public-footer__links{
    width:100%;
    display:grid;
    gap:0;
    border:1px solid rgba(255,255,255,.075);
    border-radius:9px;
    background:rgba(255,255,255,.025);
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.public-footer__links a{
    position:relative;
    min-height:36px;
    justify-content:center;
    padding:.3rem .5rem;
    font-size:.57rem;
    line-height:1.3;
    text-align:center;
    white-space:normal;
}
.public-footer__links a+a::before{
    position:absolute;
    top:8px;
    bottom:8px;
    left:0;
    width:1px;
    background:rgba(255,255,255,.075);
    content:"";
}
.public-footer__contact{
    width:100%;
    display:grid;
    gap:.4rem;
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.public-footer__contact>a:not(.public-footer__contact-link){
    max-width:none;
    min-height:36px;
    justify-content:center;
    padding:.32rem .5rem;
    border-radius:9px;
    text-align:center;
}
.public-footer__base-inner{min-height:40px;grid-template-columns:1fr auto 1fr}

@media(min-width:701px) and (max-width:1080px){
    .public-footer__main{
        gap:.48rem 1rem;
        padding-block:.78rem;
        grid-template-columns:180px minmax(0,1fr);
    }
    .public-footer__brand{display:flex;grid-column:1;grid-row:1;justify-content:flex-start}
    .public-footer__identity{justify-content:flex-start}
    .public-footer__contact{width:100%;grid-column:2;grid-row:1;justify-self:stretch}
    .public-footer__links{width:min(100%,720px);grid-column:1/-1;grid-row:2;justify-self:center}
}

@media(max-width:700px){
    .public-footer__main{
        gap:.42rem;
        padding-block:.68rem;
        grid-template-columns:1fr;
    }
    .public-footer__brand{grid-column:1;grid-row:1}
    .public-footer__identity{margin-inline:auto;justify-content:center}
    .public-footer__identity img{height:29px}
    .public-footer__identity strong{font-size:.7rem}
    .public-footer__identity small{font-size:.38rem}
    .public-footer__contact{grid-column:1;grid-row:2;gap:.4rem}
    .public-footer__contact>a:not(.public-footer__contact-link){min-height:32px;padding:.28rem .4rem;font-size:.5rem}
    .public-footer__links{
        grid-column:1;
        grid-row:3;
        border-radius:8px;
    }
    .public-footer__links a{min-height:32px;padding:.18rem .2rem;font-size:.49rem}
    .public-footer__links a+a::before{top:7px;bottom:7px}
    .public-footer__base-inner{min-height:35px}
}

@media(max-width:350px){
    .public-footer__links a{font-size:.45rem}
    .public-footer__contact>a:not(.public-footer__contact-link){font-size:.47rem}
}
