/* Ink-colored identity on white, with live headline typography. */
@font-face{font-family:"Masudaya Headline";src:url("fonts/zen-old-mincho-headline-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
:root{--accent:#1e2830;--river:#1e2830;--night:#1e2830;--ink:#1e2830;--green:#1e2830;--muted:#59636c;--line:#dce0e3;--accent-pale:#f0f2f4;--rust:#1e2830}
.button-primary:hover,.journey-booking .button-primary:hover{background:#34424d;border-color:#34424d}
.rail-nav a:last-child{border-top-color:#b3bdc5}
.journey-desk nav,.journey-desk nav a,.reservation-at-a-glance,.bathing-info,.information-section,.next-chapter{border-color:#cbd2d8}
.night-letter>.chapter-name,.quiet-night .sky-note,.sky-photo figcaption{color:#e3e9ef}
.night-letter .story-link,.quiet-night .text-link{border-color:#aab8c4}
.faq-section details>p{color:var(--muted)}
.menu-dialog::backdrop{background:#1e2830a6}
::selection{background:#dce3e9}
.river-photo:after{background:linear-gradient(90deg,#1e2830ad,#1e283026 58%,transparent),linear-gradient(0deg,#1e283066,transparent 45%)}
.river-photo figcaption,.river-heading h2{text-shadow:0 2px 14px #1e283080}
.site-footer{background:var(--accent);color:#fff;margin-top:0;padding-top:78px}
.site-footer a,.site-footer p,.site-footer small{color:#fff}
.site-footer .footer-name img{filter:brightness(0) invert(1)}
.footer-top nav{font-size:13px;gap:15px 24px}.footer-top nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.footer-bottom{border-color:#ffffff40}.site-footer a:focus-visible{outline-color:#fff}
.opening h1{display:flex;flex-direction:row-reverse;justify-content:center;gap:16px;width:100%;height:auto;margin:0;font-family:"Masudaya Headline","Yu Mincho",YuMincho,serif;font-weight:500;font-size:40px;line-height:1.6;letter-spacing:.08em}
.opening h1 span{writing-mode:vertical-rl;white-space:nowrap}
.opening h1 span+span{padding-top:1em}
.page-onsen .page-title h1{font-family:"Masudaya Headline","Yu Mincho",YuMincho,serif;font-weight:500}
.opening-heading .location-note{margin-bottom:22px}.opening-note{margin-top:22px}
.opening-photo figcaption{margin-top:12px}.opening-foot{margin-top:28px}
@media(min-width:721px) and (max-width:1100px){.opening h1{font-size:32px;gap:14px}.opening-heading .location-note{margin-bottom:18px}.opening-note{margin-top:18px}}
@media(max-width:720px){.site-footer{padding-top:48px}.footer-top nav{font-size:13px;gap:10px 18px}.footer-top nav a{min-height:40px;display:flex;align-items:center}.opening h1{display:block;width:100%;margin:4px 0;font-size:clamp(26px,8.2vw,34px);line-height:1.65;letter-spacing:.035em}.opening h1 span{display:block;writing-mode:horizontal-tb}.opening h1 span+span{padding-top:0}.opening-heading{padding-top:24px;padding-bottom:25px}.opening-heading .location-note{margin-bottom:20px}.opening-note{margin-top:16px}.opening-foot{margin-top:29px}}
