/* Compact public navigation, using the shared brand and focus tokens. */
@media (min-width:1280px){
  .site-header .desktop-mega-menu.desktop-mega-menu-compact{width:min(350px,calc(100vw - 32px));padding:10px;border-radius:18px;box-shadow:0 18px 48px #28145024}
  .desktop-mega-menu .mega-link-column{gap:3px}
  .desktop-mega-menu .mega-link-column>a{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:10px;min-height:62px;border:1px solid transparent}
  .desktop-mega-menu .mega-link-column>a:hover,.desktop-mega-menu .mega-link-column>a[aria-current="page"]{background:var(--wc-color-primary-soft);border-color:var(--wc-color-border-primary);transform:none}
  .desktop-mega-menu .mega-link-column>a>img{width:26px;height:26px;padding:4px;box-sizing:content-box;border-radius:10px;background:#f4efff}
  .desktop-mega-menu .mega-link-column strong{font-size:12px;line-height:1.7}
  .desktop-mega-menu .mega-link-column small{font-size:10px;line-height:1.7;margin-top:1px}
}
@media (max-width:1279px){
  body.wc-public-v2 #nav{position:sticky;top:0;height:64px;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .wc-public-v2 .site-main{padding-top:0;overflow:clip}
  .wc-home-r03 .wc3-home{overflow:clip}
  .wc-public-v2 .mobile-navigation{width:min(92vw,360px);max-width:100%;display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:auto;background:#faf8ff}
  .mobile-navigation .mobile-navigation-head{padding:14px 16px;background:var(--wc-color-navy);border-radius:0 0 20px 20px}
  .mobile-navigation .mobile-navigation-body{overflow:visible;padding:16px 14px 8px}
  .mobile-quick-links{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px}
  .mobile-navigation .mobile-main-link{display:flex;align-items:center;gap:9px;padding:12px;background:#fff;border:1px solid #e7def4;border-radius:12px;color:#30204b}
  .mobile-navigation .mobile-main-link.is-active{background:#eee5ff;border-color:#c5afea;color:#6022bc}
  .mobile-navigation .mobile-main-link svg,.mobile-navigation summary svg{width:22px;height:22px;flex-shrink:0;color:var(--wc-color-primary)}
  .mobile-navigation .mobile-nav-section{margin-bottom:9px;border:1px solid #e7def4;border-radius:14px;background:#fff;overflow:hidden}
  .mobile-navigation .mobile-nav-section summary{padding:13px 12px;color:#30204b}
  .mobile-navigation .mobile-nav-section summary b{display:flex;align-items:center;gap:10px;font-size:12px}
  .mobile-navigation .mobile-nav-section[open] summary{background:#f1eaff;border-bottom:1px solid #e7def4}
  .mobile-navigation .mobile-company-links{display:grid;gap:3px;padding:7px}
  .mobile-navigation .mobile-company-links>a{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:9px;border-radius:9px}
  .mobile-navigation .mobile-company-links>a>img{width:24px;height:24px}
  .mobile-navigation .mobile-company-links strong{display:block;font-size:12px;color:#30204b}
  .mobile-navigation .mobile-company-links small{display:block;font-size:10px;line-height:1.7;color:#68597d}
  .mobile-navigation .mobile-company-links>a:hover,.mobile-navigation .mobile-company-links>a[aria-current="page"]{background:#f1eaff}
  .mobile-navigation .mobile-navigation-footer{padding:12px 14px 20px;border:0;background:transparent;display:grid;gap:8px}
  .mobile-navigation-footer .btn{min-height:44px;padding:10px;font-size:12px}
  .wc-home-r03 .online-contact-launcher{position:static;margin:20px auto;transform:none;display:flex;width:max-content;max-width:calc(100% - 32px)}
  .wc-home-r03 .footer-back-to-top{display:none}
}
@media (max-width:760px){.wc-home-r03 .wc3-hero{padding-top:38px}}

/* Keep navigation in document flow; anchor destinations clear the sticky header. */
body.wc-public-v2 #nav{position:sticky;top:0;height:76px;isolation:isolate;background:#fff;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html{scroll-padding-top:0}.site-main [id]{scroll-margin-top:92px}
.wc-public-v2 .site-header-shell{min-width:0}
.site-header a:focus,.site-header button:focus,.site-header summary:focus{outline:3px solid #8a65ce;outline-offset:3px}
.mobile-language-control{margin-bottom:16px}
.mobile-navigation .wc-language-picker summary{width:100%;justify-content:space-between;box-sizing:border-box}
.mobile-navigation .wc-language-options{position:static;min-width:0;max-width:none;margin-top:8px;box-shadow:none}
@media(max-width:1279px){
 body.wc-public-v2 #nav{height:64px}
 .wc-public-v2 .desktop-navigation{display:none!important}
 .wc-public-v2 .site-header-actions>.wc-language-picker,.wc-public-v2 .site-header-actions>.site-header-cta{display:none!important}
 .wc-public-v2 .mobile-menu-toggle{display:flex;width:44px;height:44px;flex:none}
 .wc-public-v2 .site-header-shell{justify-content:space-between;padding-inline:20px;gap:16px}
 .wc-public-v2 .site-header-actions{margin-inline-start:auto}
 .wc-public-v2 .site-header-shell>.site-brand .site-brand-copy{display:block!important}
 .wc-public-v2 .site-header-shell>.site-brand .site-brand-copy small{display:none}
 .wc-public-v2 .mobile-navigation{width:360px;width:min(88vw,380px);max-width:calc(100vw - 24px);height:100vh;height:100dvh;bottom:auto;display:block;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:90px 24px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
 .wc-public-v2 .mobile-navigation-head{position:sticky;top:0;z-index:2;border-radius:0;padding-top:max(14px,env(safe-area-inset-top));min-height:72px;box-sizing:border-box}
 .wc-public-v2 .mobile-menu-close{width:44px;height:44px;flex:0 0 44px}
 .wc-public-v2 .mobile-navigation-body{overflow:visible}
 .wc-public-v2 .mobile-navigation-footer{padding-bottom:16px}
 body.mobile-nav-open{position:fixed;inset-inline:0;width:100%;overflow:hidden}
 html[dir="ltr"] .mobile-navigation{left:0;right:auto;transform:translateX(-105%)}
 html[dir="ltr"] .mobile-navigation.is-open{transform:none}
 html[dir="ltr"] .mobile-navigation.is-closing{transform:translateX(-105%)}
 html[dir="ltr"] .mobile-navigation-head .site-brand{direction:ltr}
 .site-main [id]{scroll-margin-top:80px}
}
@media(min-width:1280px){.wc-public-v2 .mobile-menu-toggle{display:none!important}}
@media(min-width:1600px){
 .wc-public-v2 .site-header-shell{max-width:1480px;padding-inline:40px}
 .wc-public-v2 .wrap{width:min(1440px,calc(100% - 96px))}
 .wc-public-v2 .desktop-nav-link,.wc-public-v2 .desktop-nav-trigger{font-size:15px;min-height:48px}
 .site-header-actions .wc-language-picker summary,.wc-public-v2 .site-header-cta{min-height:48px}
}
@media(prefers-reduced-motion:reduce){.mobile-navigation,.mobile-navigation-backdrop{transition:none!important}}

@media(min-width:1280px){.desktop-nav-group.is-open>.desktop-mega-menu{visibility:visible;transition-property:opacity,transform}}
body.mobile-nav-open #nav{z-index:1200}
.wc-public-v2 .desktop-nav-trigger:focus-visible,.wc-public-v2 .desktop-nav-link:focus-visible,.wc-public-v2 .desktop-nav-trigger:hover,.wc-public-v2 .desktop-nav-link:hover{color:#54239b;background:#f3edff}
.site-header-shell .site-brand-copy small{display:block;max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@supports selector(:focus-visible){.site-header a:focus:not(:focus-visible),.site-header button:focus:not(:focus-visible),.site-header summary:focus:not(:focus-visible){outline:none}}
/* Keep a visible keyboard highlight without a frame around the brand. */
.mobile-navigation-head .site-brand:focus{outline:none!important;box-shadow:none}
.mobile-navigation-head .site-brand:focus-visible{background:rgba(255,255,255,.1);border-radius:8px}
