/* Shared institutional navigation and compact footer. */
header.site,header.site.scrolled{background:var(--paper);color:var(--text);border-bottom:1px solid var(--line);backdrop-filter:none;box-shadow:none}
header.site>.wrap,header.site.scrolled>.wrap{min-height:88px;gap:32px}
header.site .brand img,header.site.scrolled .brand img{filter:none;height:42px;width:auto}
header.site .brand span{opacity:1;color:var(--muted);border-color:var(--line)}
header.site .brand strong{color:var(--green-deep)}
header.site :focus-visible,header.site:not(.scrolled) .menu-toggle:focus-visible,header.site .brand:focus-visible{outline-color:var(--green)}
nav.main>ul{gap:12px}
nav.main>ul>.has-children{position:static}
nav.main>ul>.has-children>.nav-section{width:auto;min-height:48px;padding:0 12px;gap:10px;justify-content:space-between;font-weight:600}
nav.main>ul>.has-children>.nav-section::after{display:block;left:12px;right:12px;bottom:0;background:var(--green);height:2px}
nav.main>ul>.is-active-section>.nav-section::after,nav.main>ul>.open>.nav-section::after{transform:scaleX(1)}
nav.main>ul>li>.nav-contact{font-weight:600;padding-inline:16px;border-left:1px solid var(--line);margin-left:8px}
nav.main>ul>li>a:not(.cta)::after{background:var(--green)}
nav.main .nav-panel{left:auto;right:var(--gut);top:100%;width:min(760px,calc(100% - 2 * var(--gut)));min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:20px 28px 28px;border-radius:0 0 8px 8px;border-top:2px solid var(--green);box-shadow:0 18px 28px -20px #0B2A1C55;max-height:calc(100dvh - 104px)}
nav.main .nav-panel li{min-width:0}
nav.main .nav-panel a{gap:16px;min-height:56px;padding:12px 8px;line-height:1.4;border-bottom:1px solid var(--line);border-radius:0}
nav.main .nav-panel .drop-arrow{opacity:1;transform:none;flex-shrink:0}
nav.main .caret,nav.main li:hover .caret,nav.main li:focus-within .caret{transform:none;opacity:1}
nav.main li.open .caret{transform:rotate(180deg)}
.menu-toggle{border:1px solid var(--line);border-radius:4px;width:auto;padding-inline:12px;gap:10px;font-size:14px;font-weight:600}
footer.site{padding-block:36px 12px;color:#C9D6CD}
footer.site>.footer-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.9fr);gap:28px 48px}
.footer-brand{display:flex;gap:16px;align-items:center;text-decoration:none;margin-bottom:16px;color:#fff}
.footer-brand img{width:76px;height:auto;filter:brightness(0) invert(1)}
.footer-brand strong{font:600 18px/1.3 var(--display)}
.footer-identity .footer-module{font-size:14px;line-height:1.6}
.footer-identity .footer-module .mb-1{margin-bottom:4px}
.footer-contact h2,.footer-nav h2{font-size:14px;color:#C9D6CD;margin-bottom:12px}
.footer-contact>a{min-height:36px}
.footer-contact>.footer-phone{font:600 clamp(22px,2.2vw,28px)/1.3 var(--display);letter-spacing:-.02em}
.footer-contact>.footer-email{font-size:16px}
.footer-cta{margin-top:12px}
.footer-nav a{min-height:36px;font-size:14px}
.footer-bottom{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 36px;padding-top:18px;border-top:1px solid #345042;font-size:13px}
.footer-tax{display:flex;flex-wrap:wrap;gap:4px 20px;align-self:start;line-height:1.65}
.footer-tax>span{white-space:nowrap}
footer.site .footer-notices{grid-column:auto;display:block;border:0;padding:0}
.footer-notices .footer-module :is(p,div,span){color:#C9D6CD!important}
.footer-notices>section+section{margin-top:12px}
footer.site .legal{grid-column:1/-1;border:0;padding:4px 0 0;margin:0;color:#C9D6CD}
@media(max-width:1060px){
 header.site>.wrap,header.site.scrolled>.wrap{min-height:76px;gap:16px}
 nav.main>ul{gap:0}
 nav.main>ul>.has-children{display:block}
 nav.main>ul>.has-children>.nav-section{width:100%;min-height:56px;padding-inline:0;font-size:18px}
 nav.main>ul>.has-children>.nav-section::after{display:none}
 nav.main>ul>.is-active-section>.nav-section{color:var(--green)}
 nav.main>ul>li>.nav-contact{min-height:56px;padding-inline:0;margin:0;border-left:0;font-size:18px}
 nav.main .nav-panel{position:static;width:100%;max-height:none;border:0;border-radius:0;box-shadow:none;padding:4px 0 16px;gap:0 24px;transform:none}
 .szp-js nav.main li.open>.nav-panel{display:grid}
 nav.main .nav-panel a{padding:12px;min-height:48px;font-size:15px}
 html:not(.szp-js) nav.main .nav-panel{display:grid;visibility:visible;opacity:1}
 html:not(.szp-js) header.site{position:static}
 footer.site>.footer-grid{gap:24px;grid-template-columns:1.25fr 1fr}
 .footer-nav-practical{grid-column:2;grid-row:2}
 .footer-bottom{grid-template-columns:1fr;grid-row:3}
}
@media(max-width:640px){
 header.site>.wrap,header.site.scrolled>.wrap{min-height:68px}
 header.site .brand img,header.site.scrolled .brand img{height:34px}
 header.site .brand span{display:none}
 nav.main .nav-panel{grid-template-columns:1fr}
 footer.site{padding-block:28px 12px}
 footer.site>.footer-grid{grid-template-columns:1fr;gap:24px}
 .footer-identity,.footer-contact,.footer-nav-practical,.footer-bottom{grid-column:1;grid-row:auto}
 .footer-brand strong{font-size:18px}
 .footer-brand img{width:68px}
 .footer-nav-practical .footer-module ul{display:flex;flex-wrap:wrap;gap:0 20px}
 .footer-contact>.footer-phone{font-size:26px}
 .footer-bottom{gap:10px;padding-top:16px}
 footer.site .legal{gap:0 16px}
}
@media print{header.site{position:static}nav.main,.menu-toggle{display:none!important}}
