/* Targeted additions to the approved institutional layout. */
.nav-group{position:relative}
.nav-sub-toggle{font:inherit;font-size:.92rem;font-weight:500;color:var(--bg);border:0;border-bottom:2px solid transparent;background:none;padding:.5rem 0;cursor:pointer;white-space:nowrap}
.nav-sub-toggle:focus-visible,.nav-sub-toggle:hover{border-bottom-color:var(--accent)}
.subnav{display:none;position:absolute;top:100%;left:-1rem;min-width:280px;max-width:calc(100vw - 48px);padding:1rem;margin:0;list-style:none;background:var(--surface-dark);border:1px solid rgba(242,240,234,.18);border-radius:var(--radius);box-shadow:0 12px 30px #0003;z-index:60}
.nav-group.is-open .subnav{display:grid;gap:.7rem}
.site-nav .subnav a{display:block;color:var(--bg);font-size:.86rem;line-height:1.55;padding:.4rem 0}
.solution-link{display:inline-block;margin-top:1rem;color:var(--accent);font-size:.9rem;font-weight:600;text-underline-offset:4px}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}
.consent-bar{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);z-index:100;width:min(920px,calc(100% - 2rem));box-sizing:border-box;padding:1rem 1.2rem;background:var(--surface-dark);color:var(--bg);border:1px solid #ffffff40;border-radius:var(--radius);box-shadow:0 8px 40px #0005;display:flex;gap:1rem;align-items:center}
.consent-bar p{margin:0;font-size:.85rem;line-height:1.5}.consent-bar a{color:var(--accent)}
.consent-actions{display:flex;gap:.6rem;flex-shrink:0}.consent-actions .btn{padding:.65rem .85rem;font-size:.85rem;background:var(--accent);color:var(--surface-dark);border-color:var(--accent);cursor:pointer}.consent-actions .btn--ghost{background:transparent;color:var(--bg);border-color:var(--bg)}
.footer-contact a{overflow-wrap:anywhere}.footer-legal{flex-wrap:wrap}
@media(min-width:960px){.site-nav{gap:clamp(14px,1.6vw,32px)}}
@media(max-width:959px){.site-nav{visibility:hidden}.site-nav.is-open{visibility:visible;max-height:calc(100dvh - 76px);overflow:auto}.nav-sub-toggle{color:var(--surface-dark);width:100%;text-align:left;padding:.85rem 0}.subnav{position:static;min-width:0;width:100%;box-sizing:border-box;box-shadow:none;background:transparent;border:0;padding:0 0 .5rem 1rem}.has-photo-hero .site-nav .subnav a{color:var(--surface-dark)}}
@media(max-width:600px){.consent-bar{align-items:stretch;flex-direction:column}.consent-actions .btn{flex:1;justify-content:center}}
