.site-header .header-content { gap: 1.25rem; padding-block: .8rem; }
.primary-navigation { min-width: 0; }
.site-header .public-menu { justify-content: center; gap: .3rem; }
.site-header .public-menu a { padding: .5rem .7rem; border-radius: .5rem; text-decoration: none; font-size: .9rem; font-weight: 600; }
.site-header .public-menu a:hover { background: var(--ui-soft); }
.site-header .menu-branch .public-menu { margin-block-start: .35rem; }
.public-header-actions { gap: .5rem; }
.public-header-actions .portal-link { background: #007b88; color: #fff; border-color: #007b88; }
.public-header-actions .portal-link:hover { background: #005e69; color: #fff; }
.public-header-actions .language-link { white-space: nowrap; }
.content-filters { gap: .5rem; border: 0; padding: 0; margin-block: 1.25rem 1.5rem; }
.content-filters a { display: inline-flex; align-items: center; min-height: 2.65rem; padding: .45rem 1rem; border: 1px solid #c9dcdf; background: #fff; color: #005e69; border-radius: .55rem; text-decoration: none; font-weight: 600; font-size: .9rem; }
.content-filters a:hover, .content-filters a[aria-current=page] { border-color: #007b88; background: #eaf5f5; }
.content-card h2 { font-size: 1.15rem; }
.catalog-search { margin-block: 1.25rem 1.75rem; max-width: 42rem; }
.catalog-search > div { align-items: stretch; }
.catalog-search input { width: 100%; }
.catalog-search label { font-size: .9rem; }
.catalog-empty, .public-content > .description { padding: 1.5rem; background: #fff; border: 1px dashed #b7d0d5; border-radius: .75rem; color: #526970; }
.contact-page { max-width: 52rem; }
.contact-intro { font-size: 1rem; margin-block-end: 1.5rem; }
.contact-form { padding: clamp(1.2rem, 3vw, 1.75rem); border-color: var(--ui-line); }
.contact-field { margin-block-end: 1rem; }
.contact-field textarea { min-height: 8rem; }
.home-hero h1 { font-size: clamp(2rem, 3.5vw, 3.25rem); font-weight: 700; }
.home-hero-text-only .home-hero-grid { min-height: 21rem; }
.home-hero-copy { padding-block: clamp(2rem, 4vw, 4rem); }
.home-lead { font-size: clamp(1rem, 1.35vw, 1.15rem); }
.home-main h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.home-benefit h2 { font-size: 1.05rem; }
.home-card-copy h3 { font-size: 1.1rem; }
.home-portal { padding-block: 2.25rem; }
.home-portal h2 { font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.site-footer { padding-block: 1.5rem; }
.site-footer p { font-size: .9rem; }
@media (max-width: 1023px) {
    .site-header .header-content { gap: .8rem; }
    .primary-navigation { flex-basis: 100%; order: 3; border-block-start: 1px solid var(--ui-line); padding-block-start: .5rem; }
    .site-header .public-menu { justify-content: flex-start; }
    .public-header-actions { margin-inline-start: auto; }
}
@media (max-width: 540px) {
    .public-header-actions { width: 100%; }
    .public-header-actions .language-link:last-child { margin-inline-start: auto; }
    .site-header .public-menu a { padding: .5rem .6rem; font-size: .86rem; }
    .home-hero-text-only .home-hero-grid { min-height: 0; }
    .home-hero-copy { padding-block: 2rem; }
    .home-actions { gap: 1rem; }
}
