html{scroll-padding-top:118px}
.skip{z-index:70}
.site-header{position:fixed;inset:0 0 auto;height:100px;padding:0 clamp(24px,5vw,80px);z-index:50;isolation:isolate;border-bottom:1px solid #dac49e35;background:linear-gradient(180deg,#080e18ed,#080e18b8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background .4s,border-color .4s,box-shadow .4s}
.site-header.is-scrolled{background:#080e18ed;border-color:#dac49e45;box-shadow:0 8px 32px #0002}
.site-header .brand{position:relative;z-index:3;flex-shrink:0;line-height:.95}
.site-header .brand span{margin-top:8px;letter-spacing:.16em}
.site-header #navigation{display:block;position:static;inset:auto;background:transparent;padding:0;border:0;font-size:1rem;letter-spacing:normal}
.nav-list{display:flex;align-items:center;gap:clamp(6px,1.4vw,22px);list-style:none;margin:0;padding:0}
.site-header #navigation .nav-link{position:relative;display:flex;align-items:flex-start;gap:8px;min-height:64px;padding:12px 6px;color:var(--text)}
.nav-index{margin-top:3px;font:12px/1.4 Georgia,serif;color:#c7ae82}
.nav-copy{display:flex;flex-direction:column;gap:5px}
.nav-english{font:22px/1.1 Georgia,'Times New Roman',serif;letter-spacing:.015em;transition:color .3s,transform .4s}
.nav-japanese{font-size:14px;line-height:1.5;letter-spacing:.04em;color:#b6bec8;white-space:nowrap}
.nav-link::after{content:"";position:absolute;bottom:0;left:6px;right:6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.nav-link:is(:hover,:focus-visible,[aria-current])::after{transform:scaleX(1)}
.nav-link:is(:hover,:focus-visible,[aria-current]) .nav-english{color:var(--gold);transform:translateY(-2px)}
.menu-intro,.menu-caption,.menu-art,.nav-arrow,.site-header .menu-toggle{display:none}

@media(max-width:1040px){
  html{scroll-padding-top:106px}
  .site-header{height:84px;padding:0 max(22px,env(safe-area-inset-right)) 0 max(22px,env(safe-area-inset-left))}
  .site-header .brand{font-size:30px}
  .site-header .brand span{font-size:12px}
  .menu-ready .site-header .menu-toggle{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:15px;min-width:112px;min-height:46px;padding:12px 16px;border:1px solid #dac49e70;border-radius:100px;background:#101925a6;color:var(--text);font:inherit;cursor:pointer;transition:border-color .3s,background .3s}
  .site-header .menu-toggle:hover{border-color:var(--gold);background:#dac49e15}
  .site-header .menu-word{font-size:12px;line-height:1.2;letter-spacing:.14em}
  .site-header .menu-lines{position:relative;width:22px;height:14px;display:block;flex-shrink:0}
  .menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0;width:22px;height:1px;background:var(--gold);transition:transform .45s,top .45s}
  .menu-lines::before{top:3px}
  .menu-lines::after{top:10px}
  [aria-expanded="true"] .menu-lines::before{top:7px;transform:rotate(45deg)}
  [aria-expanded="true"] .menu-lines::after{top:7px;transform:rotate(-45deg)}
  .menu-panel{position:fixed;inset:0;z-index:1;display:flex;flex-direction:column;height:100vh;height:100dvh;padding:116px max(28px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));background:#080e18;overflow-y:auto;overscroll-behavior:contain;isolation:isolate}
  .menu-ready .menu-panel{opacity:0;visibility:hidden;transform:translateY(-18px);transition:opacity .45s,transform .65s cubic-bezier(.2,.65,.3,1),visibility 0s .65s}
  .menu-is-open .menu-panel{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}
  html.menu-is-open,html.menu-is-open body{overflow:hidden}
  .menu-is-open .site-header{background:#080e18;border-color:transparent}
  .menu-is-open .site-header::before{content:"";position:absolute;inset:0;z-index:2;background:#080e18;pointer-events:none}
  .menu-art{display:block;position:absolute;right:0;bottom:0;z-index:-1;width:100%;height:75%;object-fit:cover;object-position:65% center;opacity:.11;filter:saturate(.5);mask-image:linear-gradient(145deg,transparent 15%,#000 80%);-webkit-mask-image:linear-gradient(145deg,transparent 15%,#000 80%);pointer-events:none}
  .menu-intro,.menu-caption,.site-header #navigation{position:relative;width:100%;max-width:720px;margin-left:auto;margin-right:auto}
  .menu-intro{display:flex;align-items:center;gap:20px;margin-top:0;margin-bottom:22px;font-size:12px;line-height:1.4;letter-spacing:.25em;color:var(--gold)}
  .menu-intro::after{content:"";flex:1;height:1px;background:#dac49e40}
  .nav-list{display:block}
  .site-header #navigation .nav-link{display:grid;grid-template-columns:22px minmax(0,1fr) 30px;align-items:center;gap:14px;min-height:78px;padding:18px 0;border-bottom:1px solid #dac49e30}
  .nav-index{margin:0}
  .nav-copy{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:6px 15px}
  .nav-english{font-size:clamp(32px,7vw,48px)}
  .nav-japanese{font-size:14px}
  .nav-arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid #dac49e50;border-radius:50%;font-size:15px;line-height:1;color:var(--gold);transition:background .3s,transform .3s}
  .nav-link::after{left:0;right:0;bottom:-1px}
  .nav-link:is(:hover,:focus-visible) .nav-arrow{transform:translateX(3px);background:#dac49e15}
  .menu-ready .nav-link{opacity:0;transform:translateY(24px);filter:blur(5px);transition:opacity .65s,transform .75s cubic-bezier(.2,.65,.3,1),filter .65s}
  .menu-is-open .nav-link{opacity:1;transform:translateY(0);filter:blur(0);transition-delay:calc(.1s + var(--menu-order)*.08s)}
  .menu-caption{display:block;margin-top:30px;margin-bottom:0;color:#c5bdaF;font:15px/1.9 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.09em}
  .menu-ready .menu-caption{opacity:0;transition:opacity .7s}
  .menu-is-open .menu-caption{opacity:1;transition-delay:.45s}

  /* Keep section links reachable if scripts are unavailable. */
  html:not(.menu-ready) .site-header{position:relative;height:auto;flex-wrap:wrap;padding-top:18px}
  html:not(.menu-ready) .menu-panel{position:static;width:100%;height:auto;padding:20px 0;background:transparent}
  html:not(.menu-ready) .nav-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
  html:not(.menu-ready) .site-header #navigation .nav-link{display:block;min-height:60px;padding:12px 0}
  html:not(.menu-ready) .nav-copy{display:block}
  html:not(.menu-ready) .nav-english{display:block;font-size:20px;margin-bottom:4px}
  html:not(.menu-ready) :is(.menu-intro,.menu-caption,.menu-art,.nav-index,.nav-arrow){display:none}
}
@media(max-width:360px){
  .site-header{padding-left:18px;padding-right:18px}
  .site-header .brand{font-size:27px}
  .menu-panel{padding-left:22px;padding-right:22px}
  .site-header #navigation .nav-link{gap:10px}
  .nav-english{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
  .site-header,.menu-panel,.nav-link,.nav-english,.nav-arrow,.menu-caption,.menu-lines::before,.menu-lines::after,.nav-link::after{transition:none!important}
  .menu-panel,.nav-link{transform:none!important;filter:none!important}
}
@media print{.site-header{display:none}}
