.site-header.has-scroll-navigation { position:fixed; transition:transform .32s cubic-bezier(.2,.7,.2,1),background-color .25s,color .25s; }
.site-header.is-hidden { transform:translateY(-105%); }
.site-header.is-solid { color:#fff; background:rgb(0 21 38 / 48%); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); box-shadow:0 2px 16px #00152614; }
.brand-logo-colored { position:absolute; inset:0; opacity:0; }
.brand-logo-design,.brand-logo-colored { transition:opacity .25s; }
.site-header.is-solid .brand-logo-design { opacity:1; }
.site-header.is-solid .brand-logo-colored { opacity:0; }
.site-header.is-solid summary>img,.site-header.is-solid .language-current>img { filter:none; }
.site-nav>.nav-dropdown { position:absolute; top:0; white-space:nowrap; }
.site-nav>.nav-segments { left:calc(-56 * var(--u)); }
.site-nav>.nav-products { left:calc(152 * var(--u)); }
.nav-dropdown[open]>summary { color:#52b5bc; }
.nav-dropdown[open] .nav-segments-chevron { transform:rotate(180deg); }
.nav-segments-options { left:calc(-20 * var(--u)); top:100%; width:calc(526 * var(--u)); max-width:calc(100vw - 48px); padding:calc(10 * var(--u)); border:0; border-radius:0 0 calc(10 * var(--u)) calc(10 * var(--u)); background:rgb(16 21 27 / 58%); box-shadow:none; font-size:calc(16 * var(--u)); font-weight:300; -webkit-backdrop-filter:none; backdrop-filter:none; }
.nav-segments-options:before { top:-1px; height:1px; }
.nav-products .nav-segments-options { width:calc(300 * var(--u)); min-width:0; }
.nav-segments-options>a,.nav-segments-options>span { display:block; padding:calc(9.5 * var(--u)) calc(10 * var(--u)); line-height:calc(20 * var(--u)); }
.nav-segments-options>a:hover,.nav-segments-options>a:focus-visible,.nav-segments-options>a[aria-current=page] { color:#52b5bc; font-weight:inherit; background:transparent; }
.nav-segments-options>span[aria-disabled] { cursor:default; }
.nav-dropdown[open] .nav-segments-options,.language-switch details[open] .language-options { animation:nav-panel-in .25s cubic-bezier(.2,.7,.2,1) both; transform-origin:top; }
@keyframes nav-panel-in { from { opacity:0; clip-path:inset(0 0 100%); } to { opacity:1; clip-path:inset(0); } }
@media(max-width:1023px) {
  .site-nav>.nav-dropdown { position:static; border-bottom:1px solid #ffffff20; }
  .site-nav { color:#fff; }
  .nav-segments-options,.nav-products .nav-segments-options { width:auto; min-width:0; padding:0 0 0 12px; background:transparent; font-size:14px; -webkit-backdrop-filter:none; backdrop-filter:none; }
  .nav-segments-options>a,.nav-segments-options>span { padding:10px 12px; min-height:44px; line-height:1.5; }
  .site-header.is-solid .menu-toggle { border-color:#ffffff55; background:transparent; }
  .site-header.is-solid .menu-toggle>span:not(.sr-only) { background:#fff; }
  .site-header.is-solid .site-nav summary>img,.site-header.is-solid .language-current>img { filter:none; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header.has-scroll-navigation { transition:none; }
  .nav-dropdown[open] .nav-segments-options,.language-switch details[open] .language-options { animation:none; }
}

.site-nav>.nav-esg:hover,.site-nav>.nav-about:hover,.site-nav>.nav-esg:focus-visible,.site-nav>.nav-about:focus-visible { color:#52b5bc; }
.language-switch .language-options { top:100%; right:0; min-width:0; width:calc(138 * var(--u)); margin-top:0; padding:calc(10 * var(--u)); border:0; border-radius:0 0 calc(10 * var(--u)) calc(10 * var(--u)); background:rgb(16 21 27 / 58%); font-size:calc(16 * var(--u)); font-weight:300; }
.language-options:before { content:""; position:absolute; left:0; right:0; top:-1px; height:1px; }
.language-options>a,.language-options>span { display:block; padding:calc(9.5 * var(--u)) calc(10 * var(--u)); line-height:calc(20 * var(--u)); }
.language-options>a:hover { color:#52b5bc; }
.language-options [aria-disabled] { opacity:.6; cursor:default; }
@media(min-width:1024px) {
  .site-header {
    --header-height:80px;
    --header-title-height:calc(20 * var(--u));
    --header-nav-top:calc((var(--header-height) - var(--header-title-height)) / 2);
    height:var(--header-height);
  }
  .brand { top:calc((var(--header-height) - 30 * var(--u)) / 2); }
  .site-nav { top:var(--header-nav-top); }
  .nav-dropdown { --submenu-bridge-height:calc(var(--header-height) - var(--header-nav-top) - var(--header-title-height)); }
  .language-switch details { position:relative; }
  /* Attach panels to the header edge, with a one-pixel overlap for fractional scaling. */
  .nav-submenu { position:absolute; left:-20px; top:calc(var(--header-height) - var(--header-nav-top) - 1px); width:max-content; max-width:calc(100vw - 48px); }
  .language-switch .nav-submenu { left:0; right:0; width:100%; }
  .nav-submenu>.nav-segments-options,.language-switch .nav-submenu>.language-options { position:relative; inset:auto; width:max-content; min-width:0; max-width:100%; margin:0; padding:20px; }
  .nav-submenu>.nav-segments-options>a,.nav-submenu>.nav-segments-options>span,.nav-submenu>.language-options>a,.nav-submenu>.language-options>span { padding:0; }
  .nav-submenu>.nav-segments-options>:not(:first-child),.nav-submenu>.language-options>:not(:first-child) { margin-top:calc(19 * var(--u)); }
  /* Match the other header dropdowns: square top corners and rounded bottom corners. */
  .language-switch .nav-submenu>.language-options { width:100%; height:calc(99 * var(--u)); padding:calc(20 * var(--u)); border-radius:0 0 calc(10 * var(--u)) calc(10 * var(--u)); white-space:nowrap; }
  /* The closed trigger stays title-sized. Only an open menu gets a transparent
     bridge, outside the animated panel, matching its intrinsic content width. */
  .nav-dropdown[open]>.nav-submenu::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:calc(-1 * var(--submenu-bridge-height));
    height:calc(var(--submenu-bridge-height) + 1px);
    background:transparent;
  }
}
@media(max-width:1023px) { .language-switch .language-options { position:static; width:auto; padding:0 0 0 12px; background:transparent; font-size:14px; } .language-options:before { content:none; } .language-options>a,.language-options>span { padding:10px 12px; line-height:1.5; } }
