html{--f-mono:'Geist Mono','Noto Sans JP',ui-monospace,monospace;--f-disp:'Instrument Serif','Noto Serif JP',Georgia,serif}
html[lang="ja"],:not(html)[lang="ja"]{--f-mono:'Geist Mono','Noto Sans JP',ui-monospace,monospace;--f-disp:'Noto Serif JP','Instrument Serif',Georgia,serif}
:not(html)[lang="en"]{--f-mono:'Geist Mono',ui-monospace,monospace;--f-disp:'Instrument Serif',Georgia,serif}

body,.mono,.po-rows .item,.po-rows .note,.po-rows .price{font-family:var(--f-mono)}
.display,.po-lead,.po-card-title,.overlay-nav a{font-family:var(--f-disp)}
.po-idx .idx{font-family:'Instrument Serif',Georgia,serif}
:where(:not(html)[lang]){font-family:var(--f-mono)}
:where(.display,.po-lead,.po-card-title,.overlay-nav a) :where([lang]){font-family:var(--f-disp)}

html:not([lang="en"]) body *{text-transform:none!important}
html[lang="ja"] .words w{display:inline}
html:not([lang="en"]) .po-card-title{font-style:normal}
html[lang="ja"] body{line-break:strict}
html[lang="ja"] :is(h1,h2,h3){word-break:auto-phrase}
html[lang="ja"] :is(w,.po-card-foot p,.po-body,.po-faq-q,.po-faq-a,.po-faq-lede,.po-menu-memo,.po-visit-note,.po-map-small,.po-hours li,.po-visit-list li,.po-special figcaption,.ftr-credits){word-break:auto-phrase}
:is(#top,#menu,#fish,#about,#groups,#call,#before,#faq,#visit,#note){scroll-margin-top:clamp(92px,11vh,116px)}
html:not([lang="en"]) .hero h1{line-height:1.2;letter-spacing:.02em}
html:not([lang="en"]) .po-stage-title{line-height:1.3;max-width:9em}
html:not([lang="en"]) .po-cards-title{line-height:1.45}
html:not([lang="en"]) .po-lead{line-height:1.5}
html:not([lang="en"]) .overlay-nav a{line-height:1.32}
html:not([lang="en"]) :is(.po-menu-lede,.po-stage-copy){font-size:15px;line-height:1.85}
html:not([lang="en"]) :is(.po-card-foot .mono,.breath-coord,.po-hours,.po-visit-list){font-size:14px}
html:not([lang="en"]) .ftr-lede{line-height:1.85}
html:not([lang="en"]) .po-body{line-height:1.75}

.hero-photo::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(18,13,10,.62) 0%,rgba(18,13,10,.42) 30%,rgba(18,13,10,.12) 52%,rgba(18,13,10,0) 64%)}
.hero-ptag{display:inline-block;align-self:flex-start;margin:0 0 clamp(18px,3vh,30px);padding:6px 11px 7px;border:1px solid rgba(255,255,255,.62);
  background:rgba(18,13,10,.42);font-size:12.5px;line-height:1.5;letter-spacing:.04em;text-transform:none;max-width:100%}
.hero-langs{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:clamp(20px,3.4vh,34px);font-size:12.5px;letter-spacing:.04em}
.hero-langs a{display:inline-flex;align-items:center;min-height:32px;opacity:.78;border-bottom:1px solid transparent;transition:opacity .3s ease}
.hero-langs a:hover{opacity:1}
.hero-langs a[aria-current="page"]{opacity:1;border-bottom-color:currentColor}
.ph-cap{position:absolute;left:10px;bottom:10px;z-index:3;margin:0;padding:3px 8px 4px;font-size:10.5px;line-height:1.4;letter-spacing:.05em;
  color:#f4f2ee;background:rgba(18,13,10,.58);text-transform:none;pointer-events:none}
.hero-cap{left:auto;right:var(--spine);bottom:14px}
.po-stage-photo,.po-shot,.po-visit-shot,.overlay-shot{position:relative}
.po-card .ph-cap{top:10px;bottom:auto}
.overlay-pages ul{grid-template-columns:repeat(2,minmax(0,auto))}
@media (max-width:760px){.overlay-pages ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
.overlay-pages a[aria-current="page"]::after,.ftr-social a[aria-current="page"]{opacity:1}
.ftr-social a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}

.po-menu-memo{grid-column:1;grid-row:3;margin:30px 0 0;max-width:620px;font-size:12.5px;line-height:1.7;opacity:.72;border-top:1px solid rgba(21,18,15,.16);padding-top:14px}
.po-rows li{padding:7px 0}

.po-map-card{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:14px;
  padding:clamp(18px,2.4vw,36px);background:#2a211b;color:var(--cream)}
.po-map-card .po-visit-h{margin:0}
.po-map-big{font-size:clamp(28px,3.1vw,56px);line-height:1.12;text-transform:uppercase;margin:0}
html:not([lang="en"]) .po-map-big{line-height:1.3}
.po-map-small{font-size:13px;line-height:1.7;margin:0;opacity:.85}
.po-map-link{position:relative;display:inline-flex;align-items:center;min-height:32px;font-size:12.5px;letter-spacing:.04em}
.po-map-link::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;opacity:.6}

.ftr-credits{margin:18px 0 0;font-size:10.5px;line-height:1.6;letter-spacing:.02em;opacity:.62;text-transform:none}

.po-faq{display:grid;grid-template-columns:320px minmax(0,1fr);gap:0 56px;align-items:start}
.po-faq-head{position:sticky;top:var(--po-sticky);align-self:start}
.po-faq-head h2.display{font-size:34px;margin:0 0 18px;line-height:1.05}
.po-faq-lede{margin:0;max-width:26em;font-size:12.5px;line-height:1.75;opacity:.72}
.po-faq-list{margin:0;max-width:44em}
.po-faq-item{padding:24px 0;border-top:1px solid rgba(21,18,15,.16)}
.po-faq-item:first-child{border-top:0;padding-top:0}
.po-faq-q{margin:0 0 10px;font-size:clamp(19px,1.5vw,25px);line-height:1.4}
.po-faq-a{margin:0;max-width:40em;font-size:13.5px;line-height:1.8;opacity:.82}
html:not([lang="en"]) .po-faq-a{font-size:15px;line-height:1.85}
html:not([lang="en"]) .po-faq-lede{line-height:1.8}

@media (max-width:960px){
  .po-menu-memo{grid-row:4;max-width:none}
  .po-faq{grid-template-columns:minmax(0,1fr)}
  .po-faq-head{position:static;margin-bottom:34px}
}
@media (max-width:760px){
  .hero-ptag{font-size:12px;margin-bottom:16px}
  .hero-langs{margin-top:16px;font-size:12px;gap:4px 16px}
  .hero-cap{right:auto;left:var(--spine);top:auto;bottom:10px}
  html:not([lang="en"]) .po-stage-title{font-size:30px}
  html:not([lang="en"]) :is(.po-menu-lede,.po-stage-copy){font-size:16px}
  html:not([lang="en"]) .po-faq-a{font-size:16px}
  .po-faq-head h2.display{font-size:30px}
  .po-faq-item{padding:20px 0}
  .po-map-big{font-size:34px}
}
.ftr-legal span span{border:0;padding:0;margin:0;text-align:inherit;font-size:inherit}
