.public-body{
    background:
        radial-gradient(circle at top left, rgba(var(--color-accent-rgb), 0.16), transparent 22rem),
        radial-gradient(circle at top right, rgba(var(--color-primary-rgb), 0.1), transparent 28rem),
        var(--color-page-bg);
}

.site-shell{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    padding-bottom:var(--public-linkbar-offset, 0px);
}

.site-header{
    position:sticky;
    top:0;
    z-index:120;
    backdrop-filter:blur(18px);
    background:rgba(255, 255, 255, 0.82);
    border-bottom:1px solid rgba(var(--color-secondary-rgb), 0.12);
}

.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-3);
    min-height:5rem;
}

.brand{
    display:flex;
    align-items:center;
    gap:var(--space-3);
    min-width:0;
}

.brand-mark{
    flex:0 0 auto;
    width:3.4rem;
    height:3.4rem;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:1.15rem;
    background:linear-gradient(180deg, rgba(var(--color-primary-rgb), 0.16), rgba(var(--color-secondary-rgb), 0.18));
    border:1px solid rgba(var(--color-secondary-rgb), 0.12);
}

.brand-mark img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.brand-monogram{
    font-family:var(--font-display);
    font-size:1.18rem;
    font-weight:700;
    color:var(--color-secondary);
}

.brand-copy{
    display:grid;
    gap:0.08rem;
    min-width:0;
}

.brand-copy strong{
    font-family:var(--font-display);
    font-size:1.08rem;
    line-height:1.05;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.brand-copy small{
    display:none;
    color:var(--color-text-soft);
    font-size:0.82rem;
    line-height:1.35;
}

.header-nav-shell{
    display:flex;
    align-items:center;
    gap:var(--space-2);
    margin-left:auto;
    flex:0 0 auto;
    min-width:0;
    position:relative;
}

.main-nav-desktop{
    display:none;
}

.nav-toggle{
    display:grid;
    gap:0.27rem;
    place-items:center;
    width:3rem;
    height:3rem;
    border:none;
    border-radius:1rem;
    background:rgba(var(--color-secondary-rgb), 0.06);
    color:var(--color-text);
}

.nav-toggle span:not(.sr-only){
    width:1.2rem;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transition:transform var(--transition-base), opacity var(--transition-base);
}

.main-nav{
    position:fixed;
    top:5rem;
    right:0.75rem;
    left:0.75rem;
    display:grid;
    gap:var(--space-2);
    padding:var(--space-4);
    z-index:140;
    border:1px solid rgba(var(--color-secondary-rgb), 0.12);
    border-radius:var(--radius-lg);
    background:rgba(255, 255, 255, 0.96);
    box-shadow:var(--shadow-md);
    opacity:0;
    visibility:hidden;
    transform:translateY(-0.5rem);
    transition:opacity var(--transition-base), visibility var(--transition-base), transform var(--transition-base);
}

.nav-drawer-section,
.nav-drawer-links,
.nav-drawer-actions{
    display:grid;
    gap:var(--space-2);
}

.nav-drawer-section + .nav-drawer-section{
    padding-top:var(--space-3);
    border-top:1px solid rgba(var(--color-secondary-rgb), 0.1);
}

.nav-drawer-title{
    margin:0;
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--color-text-soft);
}

.nav-drawer-actions{
    padding-top:var(--space-3);
    border-top:1px solid rgba(var(--color-secondary-rgb), 0.1);
}

.main-nav a{
    display:flex;
    align-items:center;
    min-height:3rem;
    padding:0.85rem 1rem;
    border-radius:1rem;
    font-weight:600;
    color:var(--color-text-soft);
}

.main-nav a:hover,
.main-nav a.active{
    background:rgba(var(--color-primary-rgb), 0.08);
    color:var(--color-primary);
}

.nav-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.85rem;
    padding:0.78rem 1rem;
    border-radius:var(--radius-pill);
    background:transparent;
    color:var(--color-text-soft);
    font-weight:600;
    white-space:nowrap;
    transition:
        background-color var(--transition-fast),
        color var(--transition-fast),
        border-color var(--transition-fast);
}

.nav-link:hover,
.nav-link.active{
    background:rgba(var(--color-primary-rgb), 0.08);
    color:var(--color-primary);
}

.nav-backdrop{
    position:fixed;
    inset:0;
    z-index:-1;
    opacity:0;
    visibility:hidden;
    border:none;
    background:rgba(15, 23, 42, 0.28);
    transition:opacity var(--transition-base), visibility var(--transition-base);
}

.public-body.nav-open .main-nav{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.public-body.nav-open .nav-backdrop{
    z-index:100;
    opacity:1;
    visibility:visible;
}

.public-body.nav-open .nav-toggle span:nth-child(1){
    transform:translateY(0.35rem) rotate(45deg);
}

.public-body.nav-open .nav-toggle span:nth-child(2){
    opacity:0;
}

.public-body.nav-open .nav-toggle span:nth-child(3){
    transform:translateY(-0.35rem) rotate(-45deg);
}

.site-main{
    flex:1 0 auto;
    padding-bottom:var(--space-5);
}

.site-linkbar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:95;
    width:100%;
    border-top:1px solid var(--border);
    border-right:none;
    border-bottom:none;
    border-left:none;
    border-radius:0;
    background:rgba(var(--color-secondary-rgb), 0.04);
    backdrop-filter:blur(18px);
    box-shadow:0 -10px 30px rgba(var(--color-primary-rgb), 0.06);
}

.linkbar-inner,
.linkbar-contact,
.linkbar-text-links,
.linkbar-icon-links{
    display:flex;
    align-items:center;
    gap:var(--space-3);
}

.linkbar-inner{
    min-height:3rem;
    justify-content:space-between;
    flex-wrap:wrap;
    padding-block:0.55rem;
    font-size:0.88rem;
    color:var(--color-text-soft);
}

.linkbar-contact{
    flex-wrap:wrap;
}

.linkbar-text-links{
    justify-content:center;
    flex-wrap:wrap;
}

.linkbar-icon-links{
    justify-content:flex-end;
    flex-wrap:wrap;
}

.hero{
    padding:clamp(2rem, 6vw, 4.25rem) 0 var(--space-6);
}

.hero-layout{
    display:grid;
    gap:var(--space-5);
}

.hero-panel{
    position:relative;
    overflow:hidden;
    padding:clamp(1.4rem, 4vw, 2.25rem);
    background:
        radial-gradient(circle at top right, rgba(var(--color-accent-rgb), 0.2), transparent 14rem),
        linear-gradient(145deg, rgba(var(--color-secondary-rgb), 0.98), rgba(var(--color-primary-rgb), 0.94));
    color:var(--color-on-secondary);
}

.hero-panel::after{
    content:"";
    position:absolute;
    inset:auto -5rem -6rem auto;
    width:13rem;
    height:13rem;
    border-radius:50%;
    background:rgba(255, 255, 255, 0.08);
}

.hero-copy{
    position:relative;
    z-index:1;
    display:grid;
    gap:var(--space-4);
}

.hero-copy h1,
.page-hero h1,
.simple-state h1{
    margin:0;
    font-family:var(--font-display);
    font-size:clamp(2.4rem, 8vw, 4.4rem);
    line-height:0.98;
}

.hero-copy p{
    margin:0;
    max-width:62ch;
    font-size:1.02rem;
    color:rgba(255, 255, 255, 0.82);
}

.hero-pills{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-2);
}

.hero-pills span{
    display:inline-flex;
    align-items:center;
    min-height:2rem;
    padding:0.35rem 0.8rem;
    border-radius:var(--radius-pill);
    background:rgba(255, 255, 255, 0.12);
    font-size:0.82rem;
    font-weight:700;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-3);
    margin-top:var(--space-2);
}

.hero-actions > *{
    width:100%;
}

.hero-actions .button-secondary{
    color:var(--text);
    border-color:var(--border);
    background:var(--surface);
    box-shadow:var(--shadow-xs);
}

.hero-actions .button-secondary:hover{
    color:var(--accent);
    border-color:var(--border-accent);
    background:var(--surface-2);
}

.hero-side{
    display:grid;
    gap:var(--space-4);
}

.hero-metrics{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:var(--space-3);
}

.hero-stat{
    padding:1rem;
    background:rgba(255, 255, 255, 0.9);
}

.hero-stat strong{
    display:block;
    font-size:1.5rem;
    font-family:var(--font-display);
    color:var(--color-secondary);
}

.hero-stat span{
    display:block;
    color:var(--color-text-soft);
    font-size:0.88rem;
}

.hero-card{
    padding:1.15rem;
    display:grid;
    gap:var(--space-3);
}

.hero-card-header{
    display:flex;
    justify-content:space-between;
    gap:var(--space-3);
    align-items:flex-start;
}

.hero-card h2{
    margin:0;
    font-size:1.12rem;
    font-family:var(--font-display);
    color:var(--color-secondary);
}

.hero-card p{
    margin:0;
    color:var(--color-text-soft);
}

.hero-contact-list{
    display:grid;
    gap:var(--space-2);
}

.hero-contact-item{
    display:grid;
    gap:0.1rem;
    padding:0.8rem 0.9rem;
    border-radius:var(--radius-sm);
    background:rgba(var(--color-secondary-rgb), 0.04);
}

.hero-contact-item span{
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--color-text-soft);
}

.hero-contact-item strong{
    color:var(--color-secondary);
    word-break:break-word;
}

.page-section{
    padding:var(--space-5) 0;
}

.section-shell{
    padding:clamp(1.25rem, 3vw, 1.6rem);
}

.section-lead-grid{
    display:grid;
    gap:var(--space-5);
}

.carousel-shell{
    display:grid;
    gap:var(--space-4);
}

.carousel{
    position:relative;
    overflow:hidden;
    aspect-ratio:21 / 9;
    border-radius:var(--radius-lg);
    border:1px solid rgba(var(--color-secondary-rgb), 0.12);
    background:#d9e6e1;
}

.carousel-track{
    position:relative;
    height:100%;
}

.carousel-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity 280ms ease, visibility 280ms ease;
}

.carousel-slide.is-active{
    opacity:1;
    visibility:visible;
}

.carousel-slide.is-visual-only .carousel-caption{
    display:none;
}

.carousel-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.carousel-slide::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(15, 23, 42, 0.02), rgba(15, 23, 42, 0.62));
}

.carousel-caption{
    position:absolute;
    inset:auto 1rem 1rem 1rem;
    z-index:1;
    display:grid;
    gap:var(--space-2);
    max-width:min(34rem, calc(100% - 2rem));
    padding:1rem 1rem 1.05rem;
    border-radius:var(--radius-md);
    background:rgba(12, 22, 22, 0.62);
    color:#fff;
    backdrop-filter:blur(10px);
}

.carousel-caption h3{
    margin:0;
    font-size:1.15rem;
    font-family:var(--font-display);
}

.carousel-caption p{
    margin:0;
    color:rgba(255, 255, 255, 0.84);
}

.carousel-control{
    position:absolute;
    top:0;
    bottom:0;
    z-index:2;
    display:grid;
    place-items:center;
    width:min(18%, 5rem);
    height:auto;
    border:none;
    border-radius:0;
    background:transparent;
    color:transparent;
    box-shadow:none;
    opacity:0;
    transform:none;
}

.carousel-control:hover{
    background:transparent;
}

.carousel-control.prev{left:0}
.carousel-control.next{right:0}

.carousel-dots{
    position:absolute;
    left:1rem;
    bottom:1rem;
    z-index:2;
    display:flex;
    gap:0.45rem;
}

.carousel-dots button{
    width:0.72rem;
    height:0.72rem;
    padding:0;
    border:none;
    border-radius:50%;
    background:rgba(255, 255, 255, 0.38);
    transition:transform var(--transition-fast), background-color var(--transition-fast);
}

.carousel-dots button.is-active{
    background:var(--color-accent);
    transform:scale(1.08);
}

.story-card,
.contact-banner,
.content-card,
.document-category,
.contact-info-card{
    padding:clamp(1.25rem, 3vw, 1.6rem);
}

.story-card{
    display:grid;
    gap:var(--space-4);
}

.story-split{
    display:grid;
    gap:var(--space-4);
}

.quick-links-grid{
    display:grid;
    gap:var(--space-4);
}

.quick-link-card{
    display:flex;
    flex-direction:column;
    gap:var(--space-2);
    min-height:12rem;
    padding:1.2rem;
    border:1px solid rgba(var(--color-secondary-rgb), 0.12);
    border-radius:var(--radius-lg);
    background:linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(var(--color-primary-rgb), 0.035));
    box-shadow:var(--shadow-sm);
    transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.quick-link-card:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--color-primary-rgb), 0.28);
    box-shadow:var(--shadow-md);
}

.quick-link-card strong{
    font-size:1.15rem;
    line-height:1.25;
    color:var(--color-secondary);
}

.quick-link-card-subtitle{
    color:var(--color-text-soft);
}

.quick-link-card-cta{
    display:inline-flex;
    align-items:center;
    gap:0.45rem;
    margin-top:auto;
    padding-top:var(--space-4);
    font-size:0.9rem;
    font-weight:700;
    letter-spacing:0.01em;
    color:var(--color-primary);
}

.quick-link-card-cta::after{
    content:"\2192";
    font-size:1rem;
    transition:transform var(--transition-fast);
}

.quick-link-card:hover .quick-link-card-cta::after{
    transform:translateX(0.2rem);
}

.contact-banner{
    display:grid;
    gap:var(--space-5);
    background:
        radial-gradient(circle at top right, rgba(var(--color-accent-rgb), 0.16), transparent 14rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(var(--color-secondary-rgb), 0.05));
}

.contact-card-grid{
    display:grid;
    gap:var(--space-3);
}

.contact-detail-card{
    padding:1rem;
    border-radius:var(--radius-md);
    background:rgba(255, 255, 255, 0.82);
    border:1px solid rgba(var(--color-secondary-rgb), 0.1);
}

.contact-detail-card span{
    display:block;
    margin-bottom:0.25rem;
    font-size:0.8rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--color-text-soft);
}

.contact-detail-card strong,
.contact-detail-card p{
    margin:0;
}

.contact-detail-card{
    display:grid;
    gap:var(--space-2);
    align-content:start;
}

.contact-detail-card-location{
    gap:var(--space-3);
    grid-column:1 / -1;
}

.contact-detail-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:fit-content;
    min-height:2.6rem;
    padding:0.65rem 1rem;
    border-radius:var(--radius-pill);
    background:var(--accent-dim);
    color:var(--accent);
    font-weight:700;
    transition:transform var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);
}

.contact-detail-action-icon-only{
    width:2.85rem;
    min-width:2.85rem;
    min-height:2.85rem;
    padding:0;
    border-radius:999px;
}

.contact-detail-action-image-only{
    width:auto;
    min-width:0;
    min-height:0;
    border-radius:0;
    background:transparent;
}

.contact-detail-action:hover{
    transform:translateY(-1px);
    background:rgba(var(--color-primary-rgb), 0.12);
    color:var(--color-primary);
}

.contact-action-icon-image,
.contact-action-icon-svg{
    width:1.3rem;
    height:1.3rem;
    display:block;
}

.contact-action-icon-image{
    width:2.24rem;
    height:2.24rem;
    object-fit:contain;
}

.contact-action-glyph{
    font-size:0.64rem;
    font-weight:800;
    letter-spacing:0.02em;
    text-transform:uppercase;
}

.contact-map-embed{
    overflow:hidden;
    border-radius:var(--radius-md);
    border:1px solid rgba(var(--color-secondary-rgb), 0.12);
    background:rgba(var(--color-secondary-rgb), 0.04);
    min-height:13rem;
}

.contact-map-embed iframe{
    width:100%;
    height:100%;
    min-height:13rem;
    border:0;
    display:block;
}

.page-hero{
    padding:clamp(2rem, 5vw, 3.5rem) 0 var(--space-4);
}

.page-hero-shell{
    display:grid;
    gap:var(--space-4);
    padding:clamp(1.4rem, 3vw, 2rem);
}

.breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    gap:0.45rem;
    margin:0;
    font-size:0.88rem;
    color:var(--color-text-soft);
}

.breadcrumbs a{
    color:var(--color-secondary);
}

.page-hero-copy{
    display:grid;
    gap:var(--space-4);
}

.page-hero-copy > p:last-child{
    margin:0;
    max-width:70ch;
    color:var(--color-text-soft);
}

.page-intro-card{
    padding:1rem 1.1rem;
    border-radius:var(--radius-md);
    background:rgba(var(--color-secondary-rgb), 0.05);
    border:1px solid rgba(var(--color-secondary-rgb), 0.08);
}

.page-banner-wrap{
    overflow:hidden;
    aspect-ratio:5 / 2;
    border-radius:var(--radius-lg);
    border:1px solid rgba(var(--color-secondary-rgb), 0.12);
    box-shadow:var(--shadow-sm);
}

.page-banner{
    width:100%;
    height:100%;
    object-fit:cover;
}

.anchor-nav{
    display:flex;
    gap:var(--space-3);
    overflow:auto;
    padding-bottom:var(--space-2);
}

.anchor-nav a{
    white-space:nowrap;
    min-height:2.7rem;
    padding:0.75rem 1rem;
    border-radius:var(--radius-pill);
    background:rgba(var(--color-primary-rgb), 0.08);
    color:var(--color-primary);
    font-weight:600;
}

.content-stack{
    display:grid;
    gap:var(--space-4);
}

.content-card{
    display:grid;
    gap:var(--space-4);
}

.content-card-content{
    display:grid;
    gap:var(--space-3);
}

.content-card-header{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:var(--space-3);
    align-items:flex-start;
}

.content-card h2,
.document-category h2{
    margin:0;
    font-size:1.45rem;
    font-family:var(--font-display);
    color:var(--color-secondary);
}

.content-card-media{
    overflow:hidden;
    aspect-ratio:3 / 2;
    border-radius:var(--radius-md);
}

.content-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:0;
}

.page-related-grid{
    display:grid;
    gap:var(--space-4);
}

.document-grid{
    display:grid;
    gap:var(--space-4);
}

.document-category{
    display:grid;
    gap:var(--space-4);
}

.document-category-head{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:var(--space-3);
    align-items:flex-start;
}

.document-download{
    display:grid;
    gap:var(--space-4);
    padding:1rem;
    border-radius:var(--radius-md);
    background:rgba(var(--color-primary-rgb), 0.06);
}

.document-download p{
    margin:0;
    color:var(--color-text-soft);
}

.document-file-link{
    display:inline-flex;
    align-items:center;
    gap:0.5rem;
    color:var(--color-primary);
    font-weight:700;
}

.contact-layout{
    display:grid;
    gap:var(--space-5);
    align-items:start;
}

.contact-info-grid{
    display:grid;
    gap:var(--space-4);
}

.contact-info-card{
    display:grid;
    gap:var(--space-3);
}

.contact-topic-list{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-2);
}

.contact-form-card{
    display:grid;
    gap:var(--space-4);
    padding:clamp(1.25rem, 3vw, 1.8rem);
    align-self:start;
}

.contact-form-card header{
    display:grid;
    gap:var(--space-2);
}

.contact-form-card header h2{
    margin:0;
    font-family:var(--font-display);
    font-size:1.55rem;
}

.contact-form-card header p{
    margin:0;
    color:var(--color-text-soft);
}

.contact-form-card .button{
    width:100%;
}

.site-footer{
    margin-top:auto;
    padding:1rem 0 0.95rem;
    color:var(--text);
    border-top:1px solid var(--border);
    background:rgba(var(--color-secondary-rgb), 0.04);
    backdrop-filter:blur(18px);
}

.site-footer::before{
    content:none;
}

.footer-grid{
    position:relative;
    display:grid;
    justify-items:center;
}

.footer-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:var(--space-3);
    width:min(100%, 42rem);
    min-width:0;
    text-align:center;
    margin-inline:auto;
}

.footer-brand > img{
    flex:0 0 auto;
}

.footer-brand img{
    width:3.1rem;
    height:3.1rem;
    object-fit:contain;
    border-radius:0.9rem;
    background:rgba(255,255,255,0.08);
    padding:0.4rem;
}

.footer-brand-copy{
    display:grid;
    gap:0.18rem;
    min-width:0;
    justify-items:center;
}

.footer-brand h2,
.site-footer h3{
    margin:0;
    font-family:var(--font-display);
    color:var(--text);
    line-height:1.05;
}

.footer-brand p,
.footer-note{
    margin:0;
    color:var(--text-muted);
}

.footer-brand-copy p{
    font-size:0.84rem;
    line-height:1.35;
}

.footer-list{
    display:grid;
    gap:0.7rem;
    padding:0;
    margin:0;
    list-style:none;
}

.footer-list a:hover{
    color:var(--color-primary);
}

.footer-contact-list{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0.25rem 1.5rem;
}

.footer-contact-list li{
    color:var(--text-muted);
}

.footer-external-link{
    display:inline-flex;
    align-items:center;
    gap:0.55rem;
    font-size:0.9rem;
    font-weight:700;
    color:var(--color-secondary);
    transition:color var(--transition-fast);
}

.footer-external-link::after{
    content:"\2197";
    font-size:0.92em;
}

.footer-external-link:hover{
    color:var(--color-primary);
}

.footer-social-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    height:auto;
    padding:0;
    border:none;
    border-radius:0;
    background:transparent;
    color:var(--color-secondary);
    transition:transform var(--transition-fast), color var(--transition-fast);
}

.footer-social-link:hover{
    transform:translateY(-1px);
    color:var(--color-primary);
}

.footer-social-glyph{
    width:2.24rem;
    height:2.24rem;
    display:grid;
    place-items:center;
    font-size:0.77rem;
    font-weight:800;
    letter-spacing:0.02em;
    text-transform:uppercase;
}

.footer-social-icon-image{
    width:2.24rem;
    height:2.24rem;
    object-fit:contain;
    display:block;
}

.simple-state{
    display:grid;
    gap:var(--space-4);
    justify-items:center;
    padding:5rem 0 6rem;
    text-align:center;
}

@media (min-width: 760px){
    .header-inner{
        gap:var(--space-5);
        min-height:5.35rem;
    }

    .brand-copy small{
        display:block;
    }

    .main-nav-desktop{
        display:flex;
        align-items:center;
        gap:var(--space-1);
        flex:1 1 auto;
        flex-wrap:nowrap;
        min-width:0;
        max-width:min(42rem, calc(100vw - 34rem));
        overflow-x:auto;
        scrollbar-width:none;
        -ms-overflow-style:none;
    }

    .main-nav-desktop::-webkit-scrollbar{
        display:none;
    }

    .main-nav{
        position:absolute;
        top:calc(100% + 0.75rem);
        right:0;
        left:auto;
        width:min(22rem, calc(100vw - 1.5rem));
        max-height:min(70vh, 38rem);
        overflow:auto;
        border-radius:var(--radius-lg);
    }

    .nav-backdrop{
        display:none;
    }

    .linkbar-inner{
        display:grid;
        grid-template-columns:auto minmax(0, 1fr) auto;
        align-items:center;
        gap:var(--space-4);
        flex-wrap:nowrap;
    }

    .linkbar-icon-links{
        justify-content:flex-start;
    }

    .linkbar-text-links{
        justify-content:center;
    }

    .linkbar-contact{
        justify-content:flex-end;
    }

    .hero-layout,
    .page-hero-shell,
    .contact-layout,
    .contact-banner{
        grid-template-columns:minmax(0, 1.35fr) minmax(16rem, 0.95fr);
    }

    .story-split{
        grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr);
        align-items:start;
    }

    .hero-actions > *{
        width:auto;
    }

    .quick-links-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .content-card{
        grid-template-columns:minmax(0, 1.1fr) minmax(16rem, 0.9fr);
        align-items:center;
    }

    .content-card.is-reversed{
        grid-template-columns:minmax(16rem, 0.9fr) minmax(0, 1.1fr);
    }

    .content-card.is-reversed .content-card-content{
        order:2;
    }

    .content-card.is-reversed .content-card-media{
        order:1;
    }

    .document-download{
        grid-template-columns:minmax(0, 1fr) auto;
        align-items:center;
    }

    .contact-card-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .contact-form-card .button{
        width:auto;
    }

}

@media (max-width: 759px){
    .public-body.nav-open{
        overflow:hidden;
    }

    .site-linkbar{
        z-index:95;
    }

    .linkbar-inner{
        flex-wrap:nowrap;
        overflow-x:auto;
        scrollbar-width:none;
        -ms-overflow-style:none;
        min-height:3.5rem;
        padding:0.55rem 0.2rem calc(0.55rem + env(safe-area-inset-bottom));
    }

    .linkbar-inner::-webkit-scrollbar{
        display:none;
    }

    .linkbar-contact,
    .linkbar-text-links,
    .linkbar-icon-links{
        flex-wrap:nowrap;
        flex:0 0 auto;
    }
}

@media (min-width: 1024px){
    .carousel-shell{
        max-width:68rem;
        margin-inline:auto;
    }

    .hero-layout{
        grid-template-columns:minmax(0, 1.4fr) minmax(22rem, 0.9fr);
        align-items:stretch;
    }

    .quick-links-grid,
    .page-related-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

}

/* Profundo theme refresh */

.public-body{
    color:var(--text);
    background:
        radial-gradient(circle at top left, rgba(var(--color-accent-rgb), 0.18), transparent 22rem),
        radial-gradient(circle at top right, rgba(var(--color-primary-rgb), 0.14), transparent 28rem),
        radial-gradient(circle at bottom left, rgba(var(--color-secondary-rgb), 0.16), transparent 26rem),
        var(--color-page-bg);
}

.site-header{
    background:rgba(var(--color-secondary-rgb), 0.04);
    border-bottom:1px solid var(--border);
    box-shadow:0 10px 30px rgba(var(--color-primary-rgb), 0.06);
}

[data-theme-mode="dark"] .site-header{
    background:rgba(4, 12, 24, 0.72);
}

.brand-mark{
    border-radius:1rem;
    background:
        radial-gradient(circle at top right, rgba(var(--color-accent-rgb), 0.18), transparent 65%),
        linear-gradient(160deg, var(--surface-2) 0%, var(--surface-3) 100%);
    border:1px solid var(--border);
    box-shadow:var(--shadow-xs);
}

.brand-copy strong{
    font-size:1.02rem;
    letter-spacing:-0.02em;
}

.brand-copy small{
    display:block;
}

.nav-toggle{
    border:1px solid var(--border);
    background:var(--surface);
    box-shadow:var(--shadow-xs);
}

.main-nav{
    border:1px solid var(--border);
    background:var(--surface);
}

.nav-link:hover,
.nav-link.active,
.main-nav a:hover,
.main-nav a.active{
    background:var(--accent-dim);
    color:var(--accent);
}

.hero{
    padding-top:var(--space-6);
}

.hero-panel,
.hero-card,
.story-card,
.contact-banner,
.page-hero-shell,
.contact-form-card,
.contact-info-card,
.document-category,
.content-card{
    border-color:var(--border);
    background:
        radial-gradient(circle at top right, rgba(var(--color-accent-rgb), 0.08), transparent 12rem),
        linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
    box-shadow:var(--shadow-sm);
}

.hero-panel{
    overflow:hidden;
    position:relative;
}

.hero-panel::after{
    background:
        linear-gradient(135deg, rgba(var(--color-primary-rgb), 0.06), transparent 55%),
        linear-gradient(90deg, rgba(var(--color-accent-rgb), 0.18), transparent 80%);
}

.hero-copy h1,
.page-hero h1{
    letter-spacing:-0.04em;
    max-width:12ch;
    color:var(--text);
}

.hero-copy p,
.hero-card p,
.page-hero-copy > p:last-child,
.contact-detail-card p,
.quick-link-card-subtitle{
    color:var(--text-muted);
}

.hero-pills span{
    border:1px solid var(--border-accent);
    background:var(--accent-dim);
    color:var(--accent);
}

.hero-contact-item,
.contact-detail-card{
    border:1px solid var(--border);
    background:var(--surface-3);
}

.quick-link-card{
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
    box-shadow:var(--shadow-xs);
}

.quick-link-card:hover{
    border-color:var(--border-accent);
    background:
        radial-gradient(circle at top right, rgba(var(--color-accent-rgb), 0.12), transparent 9rem),
        linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
    transform:translateY(-4px);
}

.quick-link-card strong,
.hero-card h2,
.contact-detail-card strong,
.document-link{
    color:var(--text);
}

.quick-link-card-cta{
    color:var(--accent);
}

.hero-panel,
.hero-card,
.story-card,
.contact-banner,
.page-hero-shell,
.contact-form-card,
.contact-info-card,
.document-category,
.content-card{
    color:var(--text);
}

.hero-panel .eyebrow,
.hero-card .eyebrow,
.page-hero-shell .eyebrow,
.contact-info-card .eyebrow,
.contact-form-card .eyebrow,
.section-heading .eyebrow{
    color:var(--accent);
}

.hero-contact-item span,
.contact-detail-card span{
    color:var(--text-subtle);
}

.site-footer{
    margin-top:auto;
    border-top:1px solid var(--border);
    background:rgba(var(--color-secondary-rgb), 0.04);
    backdrop-filter:blur(18px);
}

[data-theme-mode="dark"] .site-linkbar,
[data-theme-mode="dark"] .site-footer{
    background:rgba(4, 12, 24, 0.72);
}

[data-theme-mode="dark"] .site-footer{
    color:var(--text);
}

.footer-list,
.footer-note,
.footer-brand p{
    color:var(--text-muted);
}

@media (min-width: 760px){
    .site-footer{
        padding:0.9rem 0 0.85rem;
    }

    .footer-brand{
        width:min(100%, 42rem);
    }
}

@media (max-width: 759px){
    .footer-brand{
        align-items:center;
        justify-content:center;
    }

    .footer-brand img{
        width:2.9rem;
        height:2.9rem;
    }

    .header-nav-shell{
        gap:0.55rem;
    }

}
