/* Home starts transparent over Hero and gains glass after scrolling.
   Both states share a top edge, height and horizontal logo. */
body.home-floating-nav{--home-nav-gap:10px;--home-nav-height:max(52px,calc(var(--header-height-compact) - 10px));--home-nav-inset:clamp(24px,calc(14.6vw - 32px),260px);--home-nav-duration:420ms}
body.home-floating-nav::before{content:none!important}
body.home-floating-nav .smooth-content{padding-top:var(--header-height-expanded)}
body.home-floating-nav .skip-link{z-index:30}
body.home-floating-nav .site-header{grid-template-columns:clamp(140px,20vw,410px) minmax(0,1fr)}
body.home-floating-nav .site-header,
body.home-floating-nav.header-motion-enhanced .site-header{
  position:fixed;
  top:var(--home-nav-gap);
  left:0;
  right:0;
  margin:0;
  width:auto;
  height:var(--home-nav-height);
  min-height:0;
  --home-wordmark-width:min(var(--header-logo-compact),calc((var(--home-nav-height) - 12px) * 2.29758));
  background:transparent;
  border:0;
  box-shadow:none;
  transition:top var(--home-nav-duration) cubic-bezier(.22,.61,.36,1),
    left var(--home-nav-duration) cubic-bezier(.22,.61,.36,1),
    right var(--home-nav-duration) cubic-bezier(.22,.61,.36,1),
    height var(--home-nav-duration) cubic-bezier(.22,.61,.36,1),
    padding var(--home-nav-duration) cubic-bezier(.22,.61,.36,1),
    grid-template-columns var(--home-nav-duration) cubic-bezier(.22,.61,.36,1),
    color 240ms ease;
}
body.home-floating-nav .site-header::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:transparent;
  border:1px solid transparent;
  border-radius:0;
  transition:background-color 280ms ease,border-color 280ms ease,
    border-radius var(--home-nav-duration) ease,box-shadow 280ms ease;
}
body.home-floating-nav.header-motion-enhanced .site-header.is-scrolled{
  top:var(--home-nav-gap);
  left:var(--home-nav-inset);
  right:var(--home-nav-inset);
  height:var(--home-nav-height);
  padding-left:24px;
  padding-right:24px;
  grid-template-columns:clamp(88px,13vw,210px) minmax(0,1fr);
  background:transparent;
  box-shadow:none;
}
body.home-floating-nav .site-header.is-scrolled::before{
  background:var(--paper);
  border-color:rgba(var(--paper-rgb),.42);
  border-radius:10px;
  box-shadow:inset 0 1px 0 rgba(var(--paper-rgb),.3),0 3px 16px rgba(var(--ink-rgb),.06);
  transition-delay:70ms;
}
/* Dim just the glass bar with the outgoing intro photo, never its menus.
   The paper edge clears this shade bottom-to-top as it passes behind the bar. */
body.home-floating-nav .intro-nav-shade{display:none}
body.home-floating-nav .site-header.is-scrolled>.intro-nav-shade{
  display:block;
  position:absolute;
  z-index:4;
  inset:0;
  border-radius:10px;
  background:#000;
  opacity:var(--intro-nav-shade,0);
  clip-path:inset(0 0 clamp(0px,calc(100% + var(--home-nav-gap) - var(--intro-nav-photo-edge,0px)),100%) 0);
  pointer-events:none;
}
/* Keep keyboard navigation and opened menus at normal reading contrast. */
body.home-floating-nav .site-header:focus-within>.intro-nav-shade,
body.home-floating-nav .site-header:has(.about-group:hover)>.intro-nav-shade,
body.home-floating-nav .site-header:has(.about-group.is-open)>.intro-nav-shade{opacity:0}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body.home-floating-nav .site-header.is-scrolled::before{
    -webkit-backdrop-filter:blur(24px) saturate(140%);
    backdrop-filter:blur(24px) saturate(140%);
  }
  body.home-floating-nav .site-header.is-scrolled::before{background:rgba(var(--paper-rgb),.58)}
}
body.home-floating-nav.header-motion-enhanced .site-header .desktop-nav{
  bottom:calc((var(--home-nav-height) - 26px) / 2);
  transition:bottom var(--home-nav-duration) cubic-bezier(.22,.61,.36,1),padding-right var(--home-nav-duration) cubic-bezier(.22,.61,.36,1);
}
body.home-floating-nav.header-motion-enhanced .site-header.is-scrolled .desktop-nav{padding-right:0;bottom:calc((var(--home-nav-height) - 26px) / 2)}
body.home-floating-nav .site-header.is-scrolled .desktop-nav>a,
body.home-floating-nav .site-header.is-scrolled .nav-trigger{font-size:var(--spa-type-nav,.8125rem);letter-spacing:.01em}
body.home-floating-nav .desktop-nav>a:first-child{transition:transform var(--home-nav-duration) cubic-bezier(.22,.61,.36,1),opacity .3s}
body.home-floating-nav .site-header.is-scrolled .desktop-nav>a:first-child{transform:none}
/* Keep the entire original horizontal artwork in both states. Target the
   first image too so older two-image headers cannot revert to a lone drop. */
body.home-floating-nav .site-header .brand,
body.home-floating-nav.header-motion-enhanced .site-header .brand,
body.home-floating-nav.header-motion-enhanced .site-header.is-scrolled .brand{
  position:relative;align-self:stretch;width:var(--home-wordmark-width);height:100%;filter:none;transform:none;
}
body.home-floating-nav .site-header .brand>img:first-child,
body.home-floating-nav.header-motion-enhanced .site-header .brand>img:first-child{
  position:absolute;
  display:block!important;
  top:50%;
  left:0;
  width:var(--home-wordmark-width);
  height:auto;
  aspect-ratio:792.4 / 344.89;
  object-fit:contain;
  opacity:1;
  filter:invert(1);
  transform:translateY(-50%);
  transition:filter 240ms ease;
}
body.home-floating-nav.header-motion-enhanced .site-header.is-scrolled .brand>img:first-child{filter:none}
body.home-floating-nav .site-header .brand>img:not(:first-child),
body.home-floating-nav.header-motion-enhanced .site-header .brand>img:not(:first-child){display:none!important}
/* Both dropdown states are local panels; no full-width navy takeover. */
body.home-floating-nav .site-header::after{display:none}
body.home-floating-nav .site-header:has(.about-group:focus-within)::after{opacity:1;visibility:visible}
body.home-floating-nav .site-header:has(.about-group.is-dismissed)::after{opacity:0;visibility:hidden}
body.home-floating-nav .about-group.is-dismissed .about-panel{opacity:0!important;visibility:hidden!important;pointer-events:none}
body.home-floating-nav.header-motion-enhanced .site-header .about-panel,
body.home-floating-nav.header-motion-enhanced .site-header.is-scrolled .about-panel{
  top:calc(100% + (var(--home-nav-height) - 26px) / 2 + 12px);
  left:auto;
  right:-12px;
  width:270px;
  max-width:calc(100vw - 48px);
  padding:14px 20px;
  background:var(--paper);
  color:var(--ink);
  border:1px solid rgba(var(--ink-rgb),.1);
  border-radius:10px;
  box-shadow:0 8px 26px rgba(var(--ink-rgb),.1);
}
body.home-floating-nav .site-header .about-panel::before{
  content:"";position:absolute;left:0;right:0;bottom:100%;height:calc(var(--home-nav-height) / 2 + 16px);
}
body.home-floating-nav .site-header .about-panel a{padding:11px 0;font-size:15px}
body.home-floating-nav .site-header .about-panel a span{color:rgba(var(--ink-rgb),.5)}
body.home-floating-nav .site-header a:focus-visible,
body.home-floating-nav .site-header button:focus-visible{outline:2px solid var(--copper);outline-offset:5px}
/* Keep six labels readable on a laptop instead of squeezing the text. */
@media(min-width:901px) and (max-width:1400px){
  body.home-floating-nav{--home-nav-inset:24px}
  body.home-floating-nav .site-header{grid-template-columns:calc(var(--home-wordmark-width) + 20px) minmax(0,1fr);padding-left:48px;padding-right:36px}
  body.home-floating-nav .desktop-nav{gap:12px;padding-right:0}
  body.home-floating-nav .desktop-nav a{font-size:13px}
  body.home-floating-nav .site-header.is-scrolled .desktop-nav>a,
  body.home-floating-nav .site-header.is-scrolled .nav-trigger{font-size:var(--spa-type-nav,.8125rem)}
  body.home-floating-nav.header-motion-enhanced .site-header.is-scrolled{grid-template-columns:calc(var(--home-wordmark-width) + 20px) minmax(0,1fr);padding-left:24px;padding-right:24px}
}
@media(max-width:900px){
  body.home-floating-nav{--home-nav-gap:8px;--home-nav-height:56px;--home-nav-inset:12px;--home-nav-duration:260ms}
  body.home-floating-nav .smooth-content{padding-top:96px}
  body.home-floating-nav .site-header,
  body.home-floating-nav.header-motion-enhanced .site-header{grid-template-columns:minmax(0,1fr);--home-wordmark-width:min(calc(var(--header-logo-mobile) * 2.29758),clamp(76px,24vw,100px))}
  body.home-floating-nav.header-motion-enhanced .site-header.is-scrolled{grid-template-columns:minmax(0,1fr);padding:0 20px}
  body.home-floating-nav.header-motion-enhanced .site-header .menu-toggle,
  body.home-floating-nav.header-motion-enhanced .site-header.is-scrolled .menu-toggle{right:20px;top:calc((var(--home-nav-height) - 32px) / 2);min-height:32px;width:64px;padding:0}
  body.home-floating-nav .site-header>.nav-language,
  body.home-floating-nav .site-header.is-scrolled>.nav-language{right:88px;top:calc((var(--home-nav-height) - 26px) / 2)}
  body.home-floating-nav .language-trigger{gap:8px}
  body.home-floating-nav .language-panel{right:-68px}
  body.home-floating-nav .site-header .mobile-menu{top:100%;border-radius:0 0 10px 10px;color:var(--paper)}
  body.home-floating-nav .site-header.is-scrolled .mobile-menu{top:calc(100% + 8px);background:var(--paper);color:var(--ink);border:1px solid rgba(var(--ink-rgb),.12);border-radius:10px}
  body.home-floating-nav .site-header.is-scrolled .mobile-menu:not(.open){border:0}
  body.home-floating-nav .mobile-menu.open{max-height:min(560px,calc(100dvh - 112px));overflow-y:auto}
  body.home-floating-nav .site-header.is-scrolled .mobile-menu a{border-color:rgba(var(--ink-rgb),.12)}
}
@media(prefers-reduced-motion:reduce){
  body.home-floating-nav .site-header,
  body.home-floating-nav .site-header::before,
  body.home-floating-nav .site-header .brand img,
  body.home-floating-nav .site-header .desktop-nav,
  body.home-floating-nav .site-header .desktop-nav>a{transition:none!important}
}
@media(prefers-reduced-transparency:reduce){body.home-floating-nav .site-header.is-scrolled::before{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Pointer hover changes only the navigation surface, never page/menu opacity.
   Keyboard focus gets the same contrast; touch has no sticky hover state. */
@media(hover:hover) and (pointer:fine){
body.home-floating-nav .site-header:hover::before{background:#000;border-color:#000;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;transition-delay:0s}
body.home-floating-nav .site-header:hover>.intro-nav-shade{opacity:0}
body.home-floating-nav .site-header:hover :is(.desktop-nav>a,.nav-trigger,.nav-toggle,.language-trigger,.menu-toggle){color:#fff;opacity:1}
body.home-floating-nav .site-header:hover .menu-toggle b{background:#fff}
body.home-floating-nav .site-header:hover .desktop-nav>a:is(:hover,:focus-visible),
body.home-floating-nav .site-header:hover .about-group:is(:hover,:focus-within,.is-open) .nav-trigger{color:var(--copper)}
body.home-floating-nav .site-header:hover .language-trigger:is(:hover,:focus-visible),
body.home-floating-nav .site-header:hover .nav-language.is-open .language-trigger{background:var(--copper);border-color:var(--copper);color:#fff}
}

body.home-floating-nav .site-header:has(:focus-visible)::before{background:#000;border-color:#000;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;transition-delay:0s}
body.home-floating-nav .site-header:has(:focus-visible)>.intro-nav-shade{opacity:0}
body.home-floating-nav .site-header:has(:focus-visible) :is(.desktop-nav>a,.nav-trigger,.nav-toggle,.language-trigger,.menu-toggle){color:#fff;opacity:1}
body.home-floating-nav .site-header:has(:focus-visible) .menu-toggle b{background:#fff}
body.home-floating-nav .site-header:has(:focus-visible) .desktop-nav>a:is(:hover,:focus-visible),
body.home-floating-nav .site-header:has(:focus-visible) .about-group:is(:hover,:focus-within,.is-open) .nav-trigger{color:var(--copper)}
body.home-floating-nav .site-header:has(:focus-visible) .language-trigger:is(:hover,:focus-visible),
body.home-floating-nav .site-header:has(:focus-visible) .nav-language.is-open .language-trigger{background:var(--copper);border-color:var(--copper);color:#fff}
