/* Shared two-header component: contact top bar + transparent header + compact sticky header */
body.menu-open { overflow: hidden; }
.skip-link { position: fixed; z-index: 9999; left: 16px; top: 14px; padding: 10px 15px; border-radius: 8px; background: #fff; color: var(--navy-850); transform: translateY(-150%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }
.scroll-progress { position: fixed; z-index: 2600; left: 0; top: 0; width: 0; height: 3px; background: linear-gradient(90deg,var(--color-cyan-500),var(--color-cyan-300)); box-shadow: 0 0 16px rgba(2,166,221,.7); }
.site-header { inset: 0 0 auto; z-index: 2050; width: 100%; color: #fff; transition: transform .32s ease, opacity .25s ease, box-shadow .25s ease; }
.site-header-transparent { position: absolute; height: var(--header-height); background: linear-gradient(180deg,rgba(1,8,18,.94),rgba(1,8,18,.48) 68%,rgba(1,8,18,0)); }
.site-header-transparent.is-hidden { opacity: 0; pointer-events: none; transform: translateY(-18px); }
.header-topbar { height: 38px; border-bottom: 1px solid rgba(255,255,255,.14); background: rgba(0,10,23,.22); }
.header-topbar-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: .68rem; }
.header-contact-links,.header-utility-links,.header-social-links,.language-links,.sticky-languages { display: flex; align-items: center; gap: 16px; }
.header-contact-links a,.header-social-links a,.language-links a { transition: color .2s; }
.header-contact-links a:hover,.header-social-links a:hover,.language-links a:hover { color: var(--color-cyan-300); }
.language-links { gap: 8px; font-weight: 800; }
.language-links a + a::before { content: ""; margin-right: 8px; border-left: 1px solid rgba(255,255,255,.22); }
.site-header-sticky { --sticky-header-height: 76px; position: fixed; z-index: 2100; height: var(--sticky-header-height); color: var(--ink); background: rgba(255,255,255,.98); border-bottom: 1px solid rgba(13,55,85,.09); box-shadow: 0 14px 38px rgba(5,27,46,.11); backdrop-filter: blur(18px); opacity: 0; pointer-events: none; transform: translateY(-110%); }
.site-header-sticky.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.nav-shell { position: relative; z-index: 2; height: calc(100% - 38px); display: flex; align-items: center; gap: 18px; }
.site-header-sticky .nav-shell { height: 100%; }
.brand { position: relative; flex: 0 0 196px; width: 196px; height: 62px; display: block; }
.site-header-sticky .brand { flex-basis: 180px; width: 180px; height: 54px; }
.header-logo { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.primary-nav { margin-left: auto; display: flex; align-items: stretch; gap: 1px; }
.nav-link { position: relative; min-height: 46px; padding: 0 9px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: inherit; font-size: .72rem; font-weight: 750; white-space: nowrap; }
.nav-link::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 3px; height: 2px; border-radius: 999px; background: var(--cyan-300); transform: scaleX(0); transform-origin: right; transition: transform .25s; }
.nav-link:hover::after,.nav-link.active::after { transform: scaleX(1); transform-origin: left; }
.site-header-sticky .nav-link::after { background: var(--cyan-500); }
.nav-group { position: relative; display: flex; }
.nav-group-trigger { gap: 5px; }
.nav-group-trigger svg { width: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .22s; }
.nav-group.open .nav-group-trigger svg,.nav-group:hover .nav-group-trigger svg { transform: rotate(180deg); }
.mega-menu { position: absolute; top: calc(100% + 12px); left: 50%; width: 330px; padding: 0; overflow: hidden; border: 1px solid rgba(152,203,233,.22); border-radius: 16px; background: rgba(255,255,255,.99); color: var(--ink); box-shadow: 0 28px 70px rgba(0,18,35,.22); opacity: 0; visibility: hidden; transform: translate(-50%,12px); transition: opacity .22s,visibility .22s,transform .22s; }
.nav-group:hover .mega-menu,.nav-group:focus-within .mega-menu,.nav-group.open .mega-menu { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.mega-menu a { min-height: 58px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid #d9e2e8; color: #00479b; font-size: .93rem; transition: background .2s,color .2s,padding .2s; }
.mega-menu a:last-child { border-bottom: 0; }
.mega-menu a::after { content: "›"; color: #00479b; font-size: 1.8rem; line-height: 1; }
.mega-menu a:hover { padding-left: 27px; background: #edf8fd; color: #e12637; }
.mega-menu small { color: #718697; font-size: .66rem; }
.services-menu { width: 330px; overflow: hidden; border-radius: 16px; }
.service-audience-item { position: relative; }
.service-audience-trigger { width: 100%; min-height: 58px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 0; border-bottom: 1px solid #d9e2e8; background: #fff; color: #00479b; font: inherit; font-size: .93rem; text-align: left; transition: background .2s,color .2s,padding .2s; }
.service-audience-trigger span { color: currentColor; font-size: 1.8rem; line-height: 1; }
.service-audience-trigger:hover,.service-audience-trigger:focus-visible,.service-audience-item.is-active > .service-audience-trigger { padding-left: 27px; background: #edf8fd; color: #e12637; }
.service-submenu { position: absolute; z-index: 2; top: 0; left: calc(100% + 1px); width: 307px; overflow: hidden; border: 1px solid #d9e2e8; border-radius: 0; background: #fff; box-shadow: 24px 28px 54px rgba(0,18,35,.16); opacity: 0; visibility: hidden; transform: translateX(8px); transition: opacity .2s,visibility .2s,transform .2s; }
.service-audience-item.is-active > .service-submenu,.service-audience-item:hover > .service-submenu,.service-audience-item:focus-within > .service-submenu { opacity: 1; visibility: visible; transform: translateX(0); }
.services-menu .service-submenu a::after,.services-menu .service-direct-link::after { content: none; }
.service-submenu a.active { background: #edf8fd; color: #e12637; }
.service-community-link { line-height: 1.08; }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.checker-link { min-height: 40px; padding: 0 15px; display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; font-size: .68rem; font-weight: 800; white-space: nowrap; transition: background .2s,border-color .2s,color .2s; }
.site-header-sticky .checker-link { border-color: rgba(7,43,73,.18); background: #f2f9fd; color: #005c9b; }
.checker-link:hover { border-color: var(--color-cyan-300); background: rgba(2,166,221,.12); }
.sticky-languages { gap: 6px; color: #567184; font-size: .6rem; font-weight: 800; }
.sticky-languages a:hover { color: var(--color-brand-blue); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; }
.menu-toggle span { width: 19px; height: 2px; margin: 4px auto; display: block; border-radius: 99px; background: currentColor; }
.site-header-sticky .menu-toggle { border-color: rgba(7,43,73,.16); background: #f4f9fc; color: var(--ink); }
@media (max-width: 1160px) { .header-social-links { display:none; } .primary-nav .nav-link { padding-inline:7px; font-size:.67rem; } .brand { flex-basis:175px; width:175px; } .nav-actions .sticky-languages { display:none; } }
@media (max-width: 980px) {
  :root { --header-height: 96px; }
  .header-topbar { display:none; }
  .site-header-transparent { height: var(--header-height); }
  .nav-shell { height:100%; }
  .brand,.site-header-sticky .brand { flex-basis:185px; width:185px; height:58px; }
  .menu-toggle { margin-left:auto; display:block; }
  .nav-actions { display:none; }
  .primary-nav { position:fixed; z-index:2200; inset:var(--header-height) 0 auto; max-height:calc(100vh - var(--header-height)); padding:14px 18px 24px; display:block; overflow:auto; background:#fff; color:var(--ink); box-shadow:0 28px 60px rgba(0,0,0,.25); opacity:0; visibility:hidden; transform:translateY(-12px); transition:.22s; }
  .site-header-sticky .primary-nav { inset:76px 0 auto; }
  .primary-nav.open { opacity:1; visibility:visible; transform:translateY(0); }
  .nav-link { width:100%; min-height:52px; padding:0 5px; justify-content:space-between; border-bottom:1px solid #e2ecf2; font-size:.88rem; }
  .nav-link::after { display:none; }
  .nav-group { display:block; }
  .mega-menu { position:static; width:100%; max-height:0; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; transition:max-height .25s; }
  .nav-group:hover .mega-menu,.nav-group:focus-within .mega-menu,.nav-group.open .mega-menu { transform:none; }
  .nav-group.open .mega-menu { max-height:330px; }
  .mega-menu a { min-height:50px; padding-inline:18px; font-size:.82rem; }
  .services-menu { width:100%; overflow:hidden; border-radius:0; }
  .nav-group.open .services-menu { max-height:650px; }
  .service-audience-trigger { min-height:50px; padding-inline:18px; font-size:.82rem; }
  .service-audience-trigger:hover,.service-audience-trigger:focus-visible,.service-audience-item.is-active > .service-audience-trigger { padding-left:22px; }
  .service-submenu { position:static; width:100%; max-height:0; border:0; border-radius:0; background:#edf8fd; box-shadow:none; opacity:1; visibility:visible; transform:none; transition:max-height .25s; }
  .service-audience-item.is-active > .service-submenu { max-height:110px; }
  .service-submenu a { padding-left:36px; background:#edf8fd; }
}
@media (max-width: 520px) { .brand,.site-header-sticky .brand { flex-basis:155px; width:155px; } }
