/* Wunder site header — shared across all pages.
 * Fixed bar: full-bleed & flush at the very top, hides on scroll-down,
 * reappears as a floating rounded pill on scroll-up or when scrolling stops.
 * Two themes: dark (default) and light (.site-header--light) to match the page. */

.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  transition:transform .42s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.site-header.is-hidden{ transform:translateY(calc(-100% - 20px)); }

/* background layer — spans the full width when flush at the top */
.site-header__bar{
  background:rgba(14,16,19,.82);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid transparent; border-bottom-color:rgba(255,255,255,.08);
  border-radius:0;
  transition:margin .4s ease, max-width .4s ease, border-radius .4s ease,
             background .4s ease, border-color .4s ease, box-shadow .4s ease;
}
/* centered content row */
.site-header__inner{
  max-width:1280px; margin:0 auto;
  padding:14px clamp(20px,4vw,48px);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
/* floating rounded pill once scrolled */
.site-header.is-floating .site-header__bar{
  margin:12px auto; max-width:min(1200px, calc(100% - 24px));
  border-color:rgba(255,255,255,.14); border-radius:18px;
  background:rgba(14,16,19,.9); box-shadow:0 20px 44px rgba(0,0,0,.5);
}

/* content offset for pages whose body must sit below the fixed header */
body.wh-offset{ padding-top:66px; }

/* internals (dark defaults) */
.site-header a{ text-decoration:none; }
.site-header__brand{ display:flex; align-items:center; }
.site-header__logo{ height:38px; width:auto; display:block; }
.site-header__nav{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; justify-content:flex-end; }
.site-header__links{ display:flex; gap:26px; font-size:14px; }
.site-header .nav-link{ color:rgba(255,255,255,.72); transition:color .2s ease; }
.site-header .nav-link:hover,.site-header .nav-link.active{ color:#fff; }
.site-header__lang{ display:flex; align-items:center; gap:6px; height:38px; padding:0 12px; border-radius:999px; background:transparent; border:1px solid rgba(255,255,255,.18); color:#fff; font-family:'Geist Mono',monospace; font-size:12px; letter-spacing:.06em; }
.site-header .lang-btn{ cursor:pointer; transition:border-color .2s ease; }
.site-header .lang-btn:hover{ border-color:rgba(255,255,255,.45)!important; }
.site-header .cta-primary{ background:#004BA4; color:#fff; font-size:14px; font-weight:500; padding:10px 18px; border-radius:999px; display:inline-flex; align-items:center; transition:background .2s ease; }
.site-header .cta-primary:hover{ background:#0A5BC2; color:#fff; }
.site-header .wh-cta-short{ display:none; }

/* hamburger + mobile menu (injected by site-header.js; hidden on desktop) */
.site-header__burger{ display:none; }
.site-header__menu{ display:none; }

/* light theme — overrides (must follow the dark defaults) */
.site-header--light .site-header__bar{ background:rgba(255,255,255,.82); border-bottom-color:rgba(10,14,22,.10); }
.site-header--light.is-floating .site-header__bar{ background:rgba(255,255,255,.94); border-color:rgba(10,14,22,.12); box-shadow:0 18px 40px rgba(12,22,45,.16); }
.site-header--light .nav-link{ color:rgba(18,22,30,.64); }
.site-header--light .nav-link:hover,.site-header--light .nav-link.active{ color:#0A0C14; }
.site-header--light .site-header__lang{ color:#0A0C14; border-color:rgba(10,14,22,.22); }

@media (max-width:719px){
  .site-header__links{ display:none; }
  .site-header__logo{ height:30px; }
  .site-header__nav{ gap:10px; flex-wrap:nowrap; }
  .site-header__inner{ padding:12px 16px; }
  .site-header.is-floating .site-header__bar{ margin:10px auto; max-width:calc(100% - 16px); border-radius:14px; }
  .site-header .cta-primary{ font-size:13px; padding:9px 14px; white-space:nowrap; }
  .site-header .wh-cta-full{ display:none; }
  .site-header .wh-cta-short{ display:inline; }

  /* language pill moves into the menu on mobile */
  .site-header__lang{ display:none; }

  /* hamburger button */
  .site-header__burger{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    width:40px; height:40px; padding:0; border-radius:999px; flex:0 0 auto;
    background:transparent; border:1px solid rgba(255,255,255,.22); cursor:pointer;
  }
  .site-header--light .site-header__burger{ border-color:rgba(10,14,22,.22); }
  .site-header__burger .shb-bar{ width:16px; height:1.5px; border-radius:2px; background:#fff; transition:transform .2s ease, opacity .2s ease; }
  .site-header--light .site-header__burger .shb-bar{ background:#0A0C14; }
  .site-header__burger.is-open .shb-bar:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
  .site-header__burger.is-open .shb-bar:nth-child(2){ opacity:0; }
  .site-header__burger.is-open .shb-bar:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

  /* overlay (appended to <body>, kept dark regardless of header theme) */
  .site-header__menu{
    position:fixed; left:0; right:0; top:67px; bottom:0; z-index:49;
    background:rgba(5,7,11,.97); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    padding:28px 20px 32px; flex-direction:column; gap:28px; overflow:auto;
  }
  .site-header__menu.is-open{ display:flex; }
  .site-header__menu .shm-links{ display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.1); }
  .site-header__menu .shm-link{ display:flex; align-items:center; justify-content:space-between; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.1); font-family:'Geist',system-ui,sans-serif; font-size:26px; font-weight:500; letter-spacing:-.02em; color:#fff; }
  .site-header__menu .shm-link:hover{ color:#7FA8E0; }
  .site-header__menu .shm-link-label{ display:inline-flex; align-items:center; }
  .site-header__menu .shm-dot{ width:7px; height:7px; border-radius:999px; background:#C31900; margin-left:10px; }
  .site-header__menu .shm-arrow{ font-size:18px; color:rgba(255,255,255,.4); }
  .site-header__menu .shm-lang-label{ font-family:'Geist Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:12px; }
  .site-header__menu .shm-chips{ display:flex; gap:8px; flex-wrap:wrap; }
  .site-header__menu .shm-chip{ height:40px; min-width:56px; padding:0 14px; border-radius:999px; font-family:'Geist Mono',monospace; font-size:13px; letter-spacing:.06em; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.2); cursor:pointer; }
  .site-header__menu .shm-chip.active{ background:rgba(127,168,224,.18); border-color:rgba(127,168,224,.7); }
  .site-header__menu .shm-cta{ margin-top:auto; display:flex; align-items:center; justify-content:center; gap:8px; width:100%; background:#004BA4; color:#fff; font-size:17px; font-weight:500; padding:18px 24px; border-radius:999px; }
  .site-header__menu .shm-cta:hover{ background:#0A5BC2; color:#fff; }
}

/* footer link helper (new footer on legacy pages) */
.foot-link{ color:rgba(255,255,255,.6); transition:color .2s ease; }
.foot-link:hover{ color:#fff; }

@media (prefers-reduced-motion: reduce){ .site-header, .site-header__bar{ transition:none; } }
