html{scrollbar-gutter:stable}
.h-nav{gap:clamp(20px,2.5vw,38px)}
.h-nav a{gap:12px;font-size:13px;font-weight:450;letter-spacing:.035em;white-space:nowrap}
.h-nav a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.h-opening{height:auto;display:block}
.h-opening-stage{--selector-height:57px;height:100svh;height:100dvh;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;isolation:isolate;overflow:hidden}
.h-hero{overflow:visible}
.h-scene{bottom:calc(-1 * var(--selector-height));transform:scale(var(--opening-image-scale,1));transform-origin:50% 55%}
.h-selector{position:relative;z-index:1;opacity:var(--opening-rail-opacity,1)}
.h-selector.is-scroll-hidden{pointer-events:none}
.h-time-track{opacity:var(--opening-rail-opacity,1)}
.h-scroll-ready .h-opening{height:calc(100svh + clamp(160px,38svh,380px));height:calc(100dvh + clamp(160px,38dvh,380px))}
.h-scroll-ready .h-opening-stage{position:sticky;top:0}
.h-header-menu{display:none;align-items:center;gap:16px;min-height:44px;margin-left:auto;margin-right:-8px;padding:0;background:none;border:0;color:inherit;font-size:13px}
.h-menu-lines{display:flex;flex-direction:column;justify-content:space-between;width:23px;height:15px}
.h-menu-lines i{display:block;width:100%;height:1px;background:currentColor}
.h-floating-menu{position:fixed;right:24px;top:22px;z-index:70;display:grid;place-items:center;width:54px;height:54px;border:1px solid #ffffff38;background:#1e2b2ff2;color:#fff;box-shadow:0 5px 18px #13202414;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease,visibility .25s;pointer-events:none}
.h-floating-menu.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.h-floating-menu:hover{background:#344348;border-color:#ffffff80}
.h-floating-menu:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.h-menu{inset:0 0 0 auto;margin:0 0 0 auto;border:0;padding:0;width:min(540px,100%);max-width:100%;height:100dvh;max-height:100dvh;background:var(--paper);color:var(--ink);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.h-menu::backdrop{background:#0d1c2582;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.h-menu-panel{display:flex;flex-direction:column;min-height:100%;padding:34px 44px 30px}
.h-menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.h-menu-top>img{display:block;width:210px;height:auto;aspect-ratio:1329/635;flex:0 0 auto;filter:none;mix-blend-mode:normal}
.h-menu-top>button{display:flex;align-items:center;justify-content:center;gap:18px;border:0;background:none;color:inherit;min-height:48px;padding:6px 0 6px 12px;font-size:13px}
.h-menu-top>button svg{width:24px;height:24px}
.h-menu-top>button:hover{color:var(--red)}
.h-menu-links{display:flex;flex-direction:column;margin-block:auto;padding-block:30px}
.h-menu-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding-block:14px;border-bottom:1px solid var(--line);font-size:clamp(23px,6.2vw,34px);font-weight:450;line-height:1.2;letter-spacing:-.025em;transition:color .2s}
.h-menu-links a svg{width:24px;height:24px;color:var(--muted);transition:transform .25s}
.h-menu-links a:hover,.h-menu-links a:focus-visible{color:var(--red)}
.h-menu-links a:hover svg{transform:translate(2px,-2px)}
.h-menu-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:12px;color:var(--muted)}
.h-menu-bottom a{color:var(--ink);white-space:nowrap;min-height:44px;display:flex;align-items:center}
@media(max-width:800px){.h-header-menu{display:flex}.h-floating-menu{width:48px;height:48px;top:16px;right:14px}.h-menu{width:50vw;max-width:calc(100vw - 32px)}.h-menu-panel{padding:24px clamp(12px,3.7vw,18px);min-width:0}.h-menu-top{position:relative;display:block;padding-top:40px}.h-menu-top>img{width:min(170px,100%);margin-inline:auto}.h-menu-top>button{position:absolute;top:0;right:0;width:44px;min-width:44px;min-height:44px;padding:0;gap:0}.h-menu-top>button>span{display:none}.h-menu-top>button svg{width:20px;height:20px}.h-menu-links a{gap:6px;min-height:54px;padding-block:12px;font-size:clamp(14px,3.7vw,19px);white-space:nowrap;overflow-wrap:normal}.h-menu-links a svg{width:16px;height:16px;flex:0 0 auto}.h-menu-bottom{align-items:start;flex-direction:column;flex-wrap:wrap;gap:5px 16px}}
@media(max-width:900px){.h-opening-stage{--selector-height:53px}}
/* Match mobileOpening in script.js: no pinned runway or scroll-driven fading on touch/narrow screens. */
@media(max-width:900px),(hover:none) and (pointer:coarse){
  .h-scroll-ready .h-opening{height:auto}
  .h-opening-stage,.h-scroll-ready .h-opening-stage{position:relative;top:auto;height:100svh}
  .h-scene{transform:none}
  .h-header,.h-hero-content{opacity:1;transform:none}
  .h-selector,.h-time-track{opacity:1}
}
@media(max-height:550px){.h-menu-panel{padding-block:18px}.h-menu-links{padding-block:16px}.h-menu-links a{font-size:23px;min-height:48px;padding-block:10px}.h-menu-bottom{flex-direction:row;align-items:center;padding-top:12px}.h-floating-menu{top:12px}}
@media(max-width:800px) and (max-height:550px){.h-menu-links a{font-size:clamp(14px,3.7vw,19px)}.h-menu-bottom{flex-direction:column;align-items:start}}
@media(prefers-reduced-motion:reduce){.h-scroll-ready .h-opening{height:auto}.h-scroll-ready .h-opening-stage{position:relative}.h-scene{transform:none}.h-floating-menu,.h-menu-links a,.h-menu-links a svg{transition:none}.h-floating-menu{transform:none}}
