/* CHARUS shared header presentation.
   Markup lives in src/partials/site-header.html. This file owns the visual
   treatment of the wordmark/beam layers, navigation, language controls,
   mobile menu affordances and theme toggle. Header state/geometry behavior
   remains in JavaScript and will be audited separately before Contact. */

.header-shield{
  position:fixed;
  z-index:34;
  inset:0 0 auto 0;
  height:158px;
  --shield-surface:var(--bg);
  background:linear-gradient(
    to bottom,
    var(--shield-surface) 0,
    var(--shield-surface) 132px,
    color-mix(in srgb,var(--shield-surface) 94%,transparent) 138px,
    color-mix(in srgb,var(--shield-surface) 58%,transparent) 149px,
    transparent 158px
  );
  opacity:0;
  pointer-events:none;
  will-change:opacity;
}

.logo-wrap,
.logo-beam-wrap{
  position:fixed;
  top:11vh;
  left:50%;
  width:min(76vw,930px);
  transform:translateX(-50%);
  transform-origin:left top;
  pointer-events:none;
  will-change:left,top,width,transform,clip-path,opacity;
}
.logo-beam-wrap{
  z-index:38;
  opacity:0;
  clip-path:inset(0 100% 0 0);
  -webkit-clip-path:inset(0 100% 0 0);
}
.logo-beam-preview{
  z-index:37;
  opacity:.43;
  clip-path:inset(0 0 0 0);
  -webkit-clip-path:inset(0 0 0 0);
}
.logo-wrap{z-index:40;pointer-events:none}
.logo-home-link{
  display:block;
  width:100%;
  line-height:0;
  cursor:default;
  pointer-events:none;
  border-radius:2px;
}
.logo-home-link.is-compact-home{
  cursor:pointer;
  pointer-events:auto;
}
.logo-home-link:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:5px;
}
.logo-wrap img,
.logo-beam-wrap img{
  display:block;
  width:100%;
  height:auto;
}
html[data-theme="dark"] .logo-wrap img,
html[data-theme="dark"] .logo-beam-wrap img{
  filter:invert(1);
}

.energy-layer{
  position:fixed;
  z-index:35;
  inset:0 0 auto 0;
  height:100vh;
  pointer-events:none;
}
.energy-layer svg,
.travel-beam-layer svg,
.pulse-layer svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.travel-beam-layer{
  position:fixed;
  z-index:39;
  inset:0 0 auto 0;
  height:100vh;
  pointer-events:none;
  mix-blend-mode:normal;
}
.pulse-layer{
  position:fixed;
  z-index:41;
  inset:0 0 auto 0;
  height:100vh;
  pointer-events:none;
  mix-blend-mode:normal;
}

/* Theme-map the orange energy family to the accepted dark-mode cyan family. */
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) stop[stop-color="#FF4A00" i],
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) stop[stop-color="#ff5a18" i]{stop-color:#25C9FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) stop[stop-color="#FF5A12" i],
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) stop[stop-color="#FF5920" i]{stop-color:#2FCFFF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) stop[stop-color="#FF6A20" i]{stop-color:#3BD3FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) stop[stop-color="#FF7B2D" i]{stop-color:#58DAFF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) stop[stop-color="#FF8E4E" i]{stop-color:#78E1FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) stop[stop-color="#FFB777" i]{stop-color:#ACEFFF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [stroke="#FF4A00" i],
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [stroke="#ff5a18" i]{stroke:#25C9FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [fill="#FF4A00" i],
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [fill="#ff5a18" i]{fill:#25C9FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [stroke="#FF5A12" i],
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [stroke="#FF5920" i]{stroke:#2FCFFF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [fill="#FF5A12" i],
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [fill="#FF5920" i]{fill:#2FCFFF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [stroke="#FF6A20" i]{stroke:#3BD3FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [fill="#FF6A20" i]{fill:#3BD3FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [stroke="#FF7B2D" i]{stroke:#58DAFF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [fill="#FF7B2D" i]{fill:#58DAFF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [stroke="#FF8E4E" i]{stroke:#78E1FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [fill="#FF8E4E" i]{fill:#78E1FF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [stroke="#FFB777" i]{stroke:#ACEFFF}
html[data-theme="dark"] :is(.energy-layer,.travel-beam-layer,.pulse-layer) [fill="#FFB777" i]{fill:#ACEFFF}

.nav{
  position:fixed;
  z-index:45;
  right:3.72rem;
  top:24px;
  min-height:1.72rem;
  display:flex;
  align-items:center;
  gap:1.25rem;
  padding-right:0;
  font-size:.88rem;
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.nav__links,
.nav__mobile-actions{
  display:flex;
  align-items:center;
}
.nav__links{gap:2rem}
.nav__mobile-actions{
  position:relative;
  width:0;
  min-width:0;
  justify-content:flex-end;
  gap:0;
}

.nav-link{
  position:relative;
  display:inline-block;
  padding:.16rem 0 .3rem;
  color:color-mix(in srgb,var(--ink) 72%,var(--bg));
  font-weight:400;
  text-decoration:none;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  will-change:opacity,transform;
  transition:color .22s ease,transform .22s ease;
}
.nav-link::before{
  content:"";
  position:absolute;
  left:-.2rem;
  right:-.2rem;
  top:-.2rem;
  bottom:-.38rem;
}
.nav-link::after{content:none}
.nav-link[aria-current="page"]{
  color:color-mix(in srgb,var(--ink) 96%,var(--bg));
  font-weight:500;
  -webkit-text-stroke:.1px currentColor;
  paint-order:stroke fill;
}
.nav-link:is(:hover,:focus-visible){
  color:var(--orange);
  transform:translateY(-1px) !important;
}
.nav-link:active{transform:translateY(0) !important}
.nav-link:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:4px;
}
.beam-reactive-label{
  display:inline-flex;
  align-items:baseline;
  gap:0;
}
.beam-char{
  display:inline-block;
  color:inherit;
  opacity:1;
  filter:none;
  text-shadow:none;
  transform:translateY(0);
  transition:opacity .12s linear,filter .12s linear,text-shadow .12s linear,transform .12s linear;
  will-change:opacity,filter,text-shadow,transform;
}

.language-switch,
.mobile-language-switch{
  position:relative;
  border:0;
  background:transparent;
  font:inherit;
  font-weight:400;
  letter-spacing:0;
  line-height:1;
  text-transform:uppercase;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
}
.language-switch{
  display:inline-flex;
  align-items:center;
  width:1.92rem;
  min-width:1.92rem;
  height:1.12rem;
  margin-left:.36rem;
  padding:0;
  color:color-mix(in srgb,var(--ink) 48%,var(--bg));
  font-size:1em;
  text-align:left;
  white-space:nowrap;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  will-change:opacity,transform;
}
.mobile-language-switch{display:none}
.language-switch__divider{display:none}
.language-switch .language-switch__option,
.mobile-language-switch .language-switch__option{
  position:absolute;
  left:50%;
  top:50%;
  width:auto;
  color:color-mix(in srgb,var(--ink) 68%,var(--bg));
  line-height:1;
  transform-origin:50% 50%;
  will-change:transform,opacity;
  transition:transform .34s cubic-bezier(.22,.72,.24,1),opacity .2s ease,color .22s ease;
}
.language-switch .language-switch__option{top:calc(50% - .06rem)}
.mobile-language-switch .language-switch__option{top:calc(50% + .19rem)}
.language-switch .language-switch__option[aria-current="true"],
.mobile-language-switch .language-switch__option[aria-current="true"]{
  opacity:1;
  transform:translate(-50%,-50%);
  color:color-mix(in srgb,var(--ink) 68%,var(--bg));
  font-weight:400;
  -webkit-text-stroke:0;
}
.language-switch .language-switch__option[aria-current="false"],
.mobile-language-switch .language-switch__option[aria-current="false"]{
  opacity:0;
  transform:translate(-50%,72%);
}
.language-switch:is(:hover,:focus-visible) .language-switch__option[aria-current="true"],
.mobile-language-switch:is(:hover,:focus-visible) .language-switch__option[aria-current="true"]{
  color:color-mix(in srgb,var(--ink) 46%,var(--bg));
  opacity:0;
  transform:translate(-50%,-172%);
}
.language-switch:is(:hover,:focus-visible) .language-switch__option[aria-current="false"],
.mobile-language-switch:is(:hover,:focus-visible) .language-switch__option[aria-current="false"]{
  color:var(--orange);
  opacity:1;
  transform:translate(-50%,-50%);
}
.language-switch:focus-within:not(:hover):not(:focus-visible) .language-switch__option[aria-current="true"],
.mobile-language-switch:focus-within:not(:hover):not(:focus-visible) .language-switch__option[aria-current="true"]{
  color:color-mix(in srgb,var(--ink) 68%,var(--bg));
  opacity:1;
  transform:translate(-50%,-50%);
}
.language-switch:focus-within:not(:hover):not(:focus-visible) .language-switch__option[aria-current="false"],
.mobile-language-switch:focus-within:not(:hover):not(:focus-visible) .language-switch__option[aria-current="false"]{
  opacity:0;
  transform:translate(-50%,72%);
}
.language-switch:focus-visible{
  outline:1px solid color-mix(in srgb,var(--orange) 52%,transparent);
  outline-offset:.32rem;
}
.language-switch.is-header-intro{transition:transform .22s ease}
.language-switch.is-header-intro .language-switch__option{transition:none !important}
.language-switch.is-header-intro .language-switch__option[aria-current="true"]{
  color:color-mix(in srgb,var(--ink) 72%,var(--bg));
  opacity:1 !important;
  transform:translate(-50%,-50%) !important;
}
.language-switch.is-header-intro .language-switch__option[aria-current="false"]{
  opacity:0 !important;
  transform:translate(-50%,72%) !important;
}
.language-switch.is-language-commit .language-switch__option[aria-current="true"],
.mobile-language-switch.is-language-commit .language-switch__option[aria-current="true"]{
  color:color-mix(in srgb,var(--ink) 68%,var(--bg)) !important;
  opacity:1 !important;
  transform:translate(-50%,-50%) !important;
}
.language-switch.is-language-commit .language-switch__option[aria-current="false"],
.mobile-language-switch.is-language-commit .language-switch__option[aria-current="false"]{
  opacity:0 !important;
  transform:translate(-50%,72%) !important;
}
@media(hover:none){
  .language-switch:hover .language-switch__option[aria-current="true"],
  .mobile-language-switch:hover .language-switch__option[aria-current="true"]{
    color:color-mix(in srgb,var(--ink) 68%,var(--bg));
    opacity:1;
    transform:translate(-50%,-50%);
  }
  .language-switch:hover .language-switch__option[aria-current="false"],
  .mobile-language-switch:hover .language-switch__option[aria-current="false"]{
    opacity:0;
    transform:translate(-50%,72%);
  }
  .language-switch:focus-visible .language-switch__option[aria-current="true"],
  .mobile-language-switch:focus-visible .language-switch__option[aria-current="true"]{
    opacity:0;
    transform:translate(-50%,-172%);
  }
  .language-switch:focus-visible .language-switch__option[aria-current="false"],
  .mobile-language-switch:focus-visible .language-switch__option[aria-current="false"]{
    color:var(--orange);
    opacity:1;
    transform:translate(-50%,-50%);
  }
}
@media(min-width:921px){
  @media(hover:hover){
    .language-switch:hover .language-switch__option[aria-current="false"]{
      transform:translate(-50%,calc(-50% - 1px));
    }
  }
  .language-switch:focus-visible .language-switch__option[aria-current="false"]{
    transform:translate(-50%,calc(-50% - 1px));
  }
}

.mobile-menu-toggle{
  display:none;
  position:relative;
  align-items:center;
  justify-content:center;
  min-width:3rem;
  height:2rem;
  padding:0 .48rem;
  border:0;
  border-radius:0;
  background:transparent;
  color:color-mix(in srgb,var(--ink) 72%,var(--bg));
  font:inherit;
  font-size:.76rem;
  font-weight:400;
  -webkit-text-stroke:0;
  paint-order:normal;
  letter-spacing:.01em;
  line-height:1;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,color .22s ease;
}
.mobile-menu-toggle::before,
.mobile-contact-link::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:max(44px,100%);
  height:44px;
  transform:translate(-50%,-50%);
  background:transparent;
}
.mobile-menu-toggle[aria-expanded="true"]{color:var(--orange)}
.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus-visible,
.mobile-contact-link:hover,
.mobile-contact-link:focus-visible{
  color:var(--orange);
  transform:translateY(-1px);
}
.mobile-menu-toggle:active,
.mobile-contact-link:active{transform:translateY(0)}
.mobile-menu-toggle:focus-visible,
.mobile-contact-link:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:4px;
}
.mobile-menu-panel{
  position:fixed;
  z-index:44;
  top:58px;
  right:clamp(10px,2vw,18px);
  width:min(12.5rem,calc(100vw - 20px));
  padding:.5rem;
  border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);
  border-radius:1rem;
  background:color-mix(in srgb,var(--bg) 96%,var(--ink) 4%);
  box-shadow:0 18px 34px color-mix(in srgb,var(--ink) 12%,transparent),0 1px 0 color-mix(in srgb,var(--ink) 8%,transparent) inset;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  display:grid;
  gap:.28rem;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.mobile-menu-panel.is-open{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.mobile-menu-link{
  appearance:none;
  display:block;
  border:0;
  background:transparent;
  border-radius:.72rem;
  padding:.72rem .85rem;
  text-align:left;
  text-decoration:none;
  color:color-mix(in srgb,var(--ink) 72%,var(--bg));
  font:inherit;
  font-size:.9rem;
  font-weight:400;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.mobile-menu-link[aria-current="page"]{
  color:color-mix(in srgb,var(--ink) 96%,var(--bg));
  font-weight:500;
  -webkit-text-stroke:.1px currentColor;
  paint-order:stroke fill;
}
.mobile-menu-link:is(:hover,:focus-visible){color:var(--orange)}
.mobile-menu-link:hover{background:color-mix(in srgb,var(--ink) 6%,var(--bg))}
.mobile-menu-link:active{transform:scale(.99)}
.mobile-menu-link:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

.mobile-language-switch{
  align-items:center;
  width:1.8rem;
  min-width:1.8rem;
  margin:.2rem .85rem 0;
  padding:.72rem 0 .34rem;
  border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);
  color:color-mix(in srgb,var(--ink) 44%,var(--bg));
  font-size:.65rem;
  text-align:left;
}

.mobile-contact-link{
  display:none;
  position:relative;
  align-items:center;
  justify-content:center;
  height:2rem;
  padding:0 .34rem;
  border:0;
  background:transparent;
  color:color-mix(in srgb,var(--ink) 72%,var(--bg));
  font:inherit;
  font-size:.76rem;
  font-weight:400;
  -webkit-text-stroke:0;
  paint-order:normal;
  letter-spacing:.01em;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,color .22s ease;
}

.theme-toggle{
  --toggle-hit:2.45rem;
  --toggle-visual:1.92rem;
  --toggle-icon:1.04rem;
  --toggle-outline:color-mix(in srgb,var(--ink) 28%,transparent);
  --toggle-surface:color-mix(in srgb,var(--bg) 96%,var(--ink) 4%);
  --toggle-moon:color-mix(in srgb,var(--ink) 92%,var(--bg));
  --toggle-near-ring:color-mix(in srgb,var(--ink) 94%,var(--orange) 6%);
  --toggle-near-glow:color-mix(in srgb,var(--ink) 16%,transparent);
  --toggle-near-inset:color-mix(in srgb,var(--ink) 14%,transparent);
  --toggle-near:0;
  --toggle-halo:0;
  width:var(--toggle-hit);
  height:var(--toggle-hit);
  position:fixed;
  right:1.15rem;
  top:calc(24px + (1.72rem - var(--toggle-hit)) / 2 - 1px);
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--ink);
  font:inherit;
  line-height:1;
  cursor:pointer;
  isolation:isolate;
  opacity:.30;
  will-change:opacity,transform;
  transition:transform .18s ease,color .2s ease,background-color .2s ease,opacity .22s ease;
}
html[data-theme="dark"] .theme-toggle{
  --toggle-outline:color-mix(in srgb,var(--ink) 26%,transparent);
  --toggle-surface:color-mix(in srgb,var(--bg) 90%,var(--ink) 10%);
  --toggle-moon:color-mix(in srgb,var(--ink) 98%,var(--bg) 2%);
  --toggle-near-ring:color-mix(in srgb,var(--ink) 82%,var(--orange) 18%);
  --toggle-near-glow:color-mix(in srgb,var(--orange) 30%,transparent);
  --toggle-near-inset:color-mix(in srgb,var(--orange) 20%,transparent);
}
.theme-toggle::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:calc(var(--toggle-visual) + .42rem);
  height:calc(var(--toggle-visual) + .42rem);
  transform:translate(-50%,-50%);
  transform-origin:center center;
  border:1px solid var(--toggle-near-ring);
  border-radius:50%;
  opacity:calc(var(--toggle-halo) * .60);
  box-shadow:0 0 calc(2px + var(--toggle-halo) * 5px) var(--toggle-near-glow),0 0 0 1px var(--toggle-near-inset) inset;
  pointer-events:none;
  will-change:opacity,box-shadow;
  animation:themeToggleGlowPulse 3.1s ease-in-out infinite;
  transition:opacity .22s ease-out,box-shadow .28s ease-out;
}
@keyframes themeToggleGlowPulse{
  0%,100%{
    opacity:calc(var(--toggle-halo) * .58);
    box-shadow:0 0 calc(2px + var(--toggle-halo) * 5px) var(--toggle-near-glow),0 0 0 1px var(--toggle-near-inset) inset;
  }
  50%{
    opacity:calc(var(--toggle-halo) * .83);
    box-shadow:0 0 calc(4px + var(--toggle-halo) * 10.3px) var(--toggle-near-glow),0 0 0 1px var(--toggle-near-inset) inset;
  }
}
.theme-toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:var(--toggle-visual);
  height:var(--toggle-visual);
  transform:translate(-50%,-50%);
  border:1px solid var(--toggle-outline);
  border-radius:50%;
  background:var(--toggle-surface);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--bg) 74%,transparent) inset,0 1px 2px color-mix(in srgb,var(--ink) 7%,transparent);
  transition:border-color .2s ease,background-color .2s ease,transform .18s ease,box-shadow .2s ease;
}
.theme-toggle.is-theme-switching::after{
  transition:border-color .2s ease,background-color 2.45s cubic-bezier(.08,.82,.14,1),transform .18s ease,box-shadow .2s ease;
}
@supports (transition-timing-function:linear(0,1)){
  .theme-toggle.is-theme-switching::after{
    transition:border-color .2s ease,
               background-color 2.45s linear(.50,.64 5%,.74 12%,.82 22%,.89 36%,.94 52%,.972 68%,.988 82%,.996 92%,.999 97%,1),
               transform .18s ease,
               box-shadow .2s ease;
  }
}
.theme-toggle__touch-target{display:none}
.theme-toggle__icon{
  position:relative;
  z-index:1;
  width:var(--toggle-icon);
  height:var(--toggle-icon);
  display:block;
  overflow:visible;
  transform:rotate(-14deg);
  opacity:calc(.56 + var(--toggle-near) * .44);
  animation:themeToggleMoonPulse 3.1s ease-in-out infinite;
  transition:transform .22s ease,opacity .08s linear;
  will-change:opacity;
}
@keyframes themeToggleMoonPulse{
  0%,100%{opacity:calc(.56 + var(--toggle-near) * .44)}
  50%{opacity:calc(.56 + var(--toggle-near) * .395)}
}
.theme-toggle__moon{
  vector-effect:non-scaling-stroke;
  fill:var(--toggle-moon);
}
.theme-toggle:hover::after{
  border-color:color-mix(in srgb,var(--ink) 40%,transparent);
  background:color-mix(in srgb,var(--ink) 4%,var(--bg));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 7%,transparent) inset,0 2px 6px color-mix(in srgb,var(--ink) 9%,transparent);
}
.theme-toggle:hover .theme-toggle__icon{transform:rotate(-10deg) scale(1.02)}
.theme-toggle{transform:none}
.theme-toggle:hover{transform:translateY(-.5px)}
.theme-toggle:active{transform:scale(.98)}
.theme-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

@media(max-width:920px){
  .logo-wrap,.logo-beam-wrap{width:92vw;top:17svh}
  .energy-layer,.travel-beam-layer,.pulse-layer{height:100svh}
  .nav{
    right:max(clamp(10px,2vw,18px),calc(env(safe-area-inset-right) + 8px));
    min-height:1.92rem;
    gap:.62rem;
    padding-right:0;
    font-size:clamp(.58rem,2.5vw,.68rem);
    white-space:nowrap;
  }
  .nav__links{display:none}
  .language-switch{display:none}
  .nav__mobile-actions{
    width:auto;
    min-width:auto;
    justify-content:flex-end;
    gap:clamp(.36rem,1.5vw,.58rem);
  }
  .mobile-menu-toggle{
    display:inline-flex;
    font-size:clamp(.64rem,2.55vw,.72rem);
    height:1.82rem;
    min-width:2.74rem;
    padding:0 .34rem;
  }
  .mobile-menu-panel{
    top:calc(50px + env(safe-area-inset-top));
    right:max(clamp(10px,2vw,18px),calc(env(safe-area-inset-right) + 8px));
  }
  .mobile-language-switch{
    display:flex;
    width:2.05rem;
    min-width:2.05rem;
    height:1.18rem;
    font-size:.9rem;
    font-weight:400;
    letter-spacing:0;
    line-height:1;
  }
  .theme-toggle{
    --toggle-hit:1.90rem;
    --toggle-visual:1.10rem;
    --toggle-icon:.60rem;
    position:relative;
    right:auto;
    top:auto;
    flex:0 0 var(--toggle-hit);
    margin-left:0;
    transform:none;
  }
  .theme-toggle__touch-target{
    display:block;
    position:absolute;
    left:50%;
    top:50%;
    width:44px;
    height:44px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:transparent;
    pointer-events:auto;
    z-index:0;
  }
  .theme-toggle:hover{transform:translateY(-.5px)}
  .theme-toggle:active{transform:scale(.98)}
  .mobile-contact-link{
    display:inline-flex;
    font-size:clamp(.64rem,2.55vw,.72rem);
    height:1.82rem;
  }
}

@media (max-width:600px) and (orientation:portrait){
  .mobile-menu-panel{
    top:calc(48px + env(safe-area-inset-top));
    right:max(10px,calc(env(safe-area-inset-right) + 8px));
    width:min(11.25rem,calc(100vw - 20px));
  }
  .mobile-menu-toggle{
    height:1.72rem;
    min-width:2.54rem;
    padding:0 .28rem;
  }
  .theme-toggle{
    --toggle-hit:1.76rem;
    --toggle-visual:.94rem;
    --toggle-icon:.52rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .travel-beam-layer,.pulse-layer{opacity:.92}
  .theme-toggle::before,
  .theme-toggle__icon{animation:none}
  .theme-toggle.is-theme-switching::after{transition-duration:.01ms}
  .language-switch .language-switch__option,
  .mobile-language-switch .language-switch__option{transition-duration:.01ms}
}
