.site-header.signal-header{position:fixed;inset:0 0 auto;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate;border-bottom:0;--body:#17243a}
/* Keep the bar blur off the ancestor so the dropdown can blur the page beneath it. */
.signal-header:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.6);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);pointer-events:none}
.signal-header a:focus-visible,.signal-header button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.signal-header .actions .btn{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:42px;padding:10px 17px;border-radius:8px;background:#151515;color:#f5f5f5;font-size:13px;font-weight:400;line-height:1.5;transition:background .2s ease-out}
.signal-header .actions .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease-out}
.signal-header .actions .btn:hover{background:#383838}
.signal-header .actions .btn:hover svg{transform:translate(2px,-2px)}
.signal-header .actions .btn:focus-visible{outline-color:#151515}
.signal-header .language-switch{color:var(--body);font-family:"Noto Sans JP",sans-serif;font-size:13px;white-space:nowrap;transition:color .2s ease-out}
.signal-header .language-switch:hover{color:#2c39b8}
.signal-header .site-nav{align-self:stretch}
.signal-header .nav-drop{position:static}
.signal-header .nav-drop .drop{display:block;position:absolute;top:100%;left:0;right:0;min-width:0;padding:30px 6% 36px;border-radius:0;transform:none;clip-path:inset(0 0 100% 0);visibility:hidden;pointer-events:none;background:rgba(255,255,255,.6);color:var(--body);box-shadow:none;animation:none;transition:clip-path .22s cubic-bezier(.4,0,1,1),visibility 0s .22s}
.signal-header .nav-drop.open .drop,html:not(.js) .signal-header .nav-drop:is(:hover,:focus-within) .drop{clip-path:inset(0);visibility:visible;pointer-events:auto;transition:clip-path .32s cubic-bezier(.22,1,.36,1),visibility 0s}
.signal-header .nav-drop .drop a{display:inline-flex;justify-content:space-between;gap:48px;padding:8px 0;color:var(--body);border-radius:0;font-size:26px;line-height:1.4;font-weight:400;letter-spacing:-.035em;opacity:0;transform:translateY(-8px);transition:opacity .12s ease-out,transform .2s ease-out,color .15s ease-out}
.signal-header .nav-drop.open .drop a,html:not(.js) .signal-header .nav-drop:is(:hover,:focus-within) .drop a{opacity:1;transform:translateY(0);transition:opacity .18s ease-out .06s,transform .28s cubic-bezier(.22,1,.36,1) .04s,color .15s ease-out}
.signal-header .nav-drop .drop a span{font-size:17px}
.signal-header .nav-drop .drop a:hover{background:transparent;color:#111}
.signal-header .hamburger svg path{transform-box:fill-box;transform-origin:center;transition:transform .2s ease-out,opacity .15s ease-out}
.signal-header .hamburger[aria-expanded="true"] svg path:first-child{transform:translateY(6px) rotate(45deg)}
.signal-header .hamburger[aria-expanded="true"] svg path:nth-child(2){opacity:0}
.signal-header .hamburger[aria-expanded="true"] svg path:last-child{transform:translateY(-6px) rotate(-45deg)}
.signal-menu-open{overflow:hidden}
html:not(.js) .signal-header{position:relative;inset:auto;background:#eee}
html:not(.js) .signal-header .mobile-menu{position:relative;top:auto;height:auto;max-height:none}
@media(max-width:900px){
  .signal-header .mobile-menu{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - 60px);max-height:calc(100dvh - 60px);border:0;padding:clamp(28px,5vw,48px);gap:36px;isolation:isolate;justify-content:space-between;overflow-y:auto;overscroll-behavior:contain;background:#050505;backdrop-filter:none;-webkit-backdrop-filter:none}
  .signal-header .mobile-menu:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#050505eb,#05050580),url('assets/menu_gallery.png') 62% center/cover;pointer-events:none}
  .signal-menu-links{display:flex;flex-direction:column;max-width:640px;width:100%}
  .signal-header .signal-menu-links a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid #ffffff25;color:#f0f0f0;font-family:Arial,"Noto Sans JP",sans-serif;font-size:clamp(30px,5vw,46px);line-height:1.15;font-weight:400;letter-spacing:-.055em;transition:color .18s ease-out}
  .signal-menu-links a span{font-size:.6em;letter-spacing:0;opacity:.65;transition:transform .18s ease-out}
  .signal-menu-links a:hover span{transform:translate(3px,-3px)}
  .signal-header .signal-menu-links a[aria-current="page"]{color:#b6b6b6}
  .signal-menu-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;max-width:640px;width:100%;padding-bottom:env(safe-area-inset-bottom)}
  .signal-header .signal-menu-actions a{color:#fff;border:0;font-size:16px;line-height:1.5}
  .signal-header .signal-menu-actions .btn{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;margin:0;padding:14px 22px;border-radius:8px;background:#f0f0f0;color:#111;font-weight:400}
  .signal-header .signal-menu-actions .btn:hover{background:#fff}
}
@media(prefers-reduced-motion:no-preference){
  .signal-header .mobile-menu.open .signal-menu-links,.signal-header .mobile-menu.open .signal-menu-actions{animation:signal-menu-enter .25s ease-out both}
  .signal-header .mobile-menu.open .signal-menu-actions{animation-delay:.05s}
  @keyframes signal-menu-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){.signal-header *{transition:none!important}}
