/* The live drink feature supplies typography, spacing and chapter components. */
.station-page {overflow-x:visible;}
.station-page .journey-hero::before {background-image:url('images/stations/tokyo-station-marunouchi-kakidai.jpg');background-position:center 58%;}
.station-page .journey-hero::after {background:linear-gradient(180deg,#101c2c70,#101c2cb3 60%,#101c2ce8);}
.hero-credit a {color:inherit;text-underline-offset:3px;}
.station-article {min-width:0;}
.intro-places {display:grid;gap:12px;}
.intro-places a {display:grid;gap:3px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);text-decoration:none;}
.intro-places span {font-family:var(--font-serif);font-size:22px;color:var(--accent);}
.intro-places strong {font-family:var(--font-serif);font-size:19px;}
.intro-places small {color:var(--ink-soft);font-size:12px;line-height:1.7;}
.place-line {padding:13px 16px;background:var(--paper-deep);border-radius:8px;font-size:12px;line-height:1.8;margin:0 0 25px;}
.station-figure {margin:0 0 22px;min-width:0;}
.photo-open {display:block;position:relative;width:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in;border-radius:10px;color:var(--ink);}
.photo-open img {display:block;width:100%;height:auto;}
.photo-enlarge {position:absolute;bottom:10px;right:10px;background:#101c2cd9;color:white;border-radius:5px;padding:5px 10px;font-size:11px;}
.station-figure figcaption,.detail-pair figcaption {font-size:11px;color:var(--ink-soft);line-height:1.75;margin-top:9px;}
figcaption a {color:inherit;text-underline-offset:3px;}
.dome-layout {display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;}
.dome-story h3,.station-text h3,.picture-step h3,.small-detour h3 {font-family:var(--font-serif);font-size:25px;line-height:1.35;margin:0 0 13px;}
.dome-story p,.station-text p,.small-detour p {font-size:14px;line-height:1.95;margin:0 0 16px;}
.look-prompt {border-left:3px solid var(--accent);padding:15px 18px;background:var(--paper-deep);margin:22px 0;}
.look-prompt .eyebrow {font-size:10px;color:var(--accent);display:block;margin-bottom:7px;}
.look-prompt p {margin:0;}
.station-text {max-width:660px;margin:25px auto 35px;}
.detail-pair {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:8px 0 28px;}
.detail-pair figure {margin:0;min-width:0;}
.detail-crop {height:205px;}
.detail-crop img {position:absolute;max-width:none;width:400%;height:auto;}
.eagle-crop img {width:650%;left:50%;top:50%;transform:translate(-50%,-15.8%);}
.animal-crop img {width:750%;left:50%;top:50%;transform:translate(-54%,-55.8%);}
.picture-step {margin:28px 0 17px;}
.picture-step > span {color:var(--accent);font-size:10px;letter-spacing:.09em;display:block;margin-bottom:9px;}
.window-step {margin:0;padding:22px 25px 0;}
.window-figure .photo-open {border-radius:0;}
.window-figure img {aspect-ratio:16/9;object-fit:contain;}
.clue-toggle {border:1px solid var(--line);padding:10px 14px;border-radius:7px;background:var(--paper-deep);font-size:12px;color:var(--ink);cursor:pointer;margin-bottom:20px;}
.window-clue {display:none;position:absolute;left:31%;top:40%;width:13%;height:20%;border:3px solid #ffd884;border-radius:50%;box-shadow:0 0 0 2px #101c2c;}
.window-figure.show-clue .window-clue {display:block;}
.visit-note {border-block:1px solid var(--line);padding:15px 0;margin:25px 0 0;}
.visit-note summary {cursor:pointer;font-size:13px;font-weight:600;line-height:1.6;}
.visit-note p {font-size:12px;line-height:1.9;color:var(--ink-soft);margin:12px 0;}
.visit-note a {font-size:12px;color:var(--accent);}
.small-detour {border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--paper-deep);margin:30px 0;}
.small-detour .eyebrow {font-size:10px;color:var(--accent);margin-bottom:10px;}
.small-detour a {font-size:12px;color:var(--accent);}
#photo-dialog {width:min(1100px,calc(100vw - 28px));max-width:none;max-height:92vh;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);}
#photo-dialog::backdrop {background:#101c2cbb;}
#photo-dialog form {text-align:right;margin-bottom:12px;}
.dialog-close {padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);cursor:pointer;}
#dialog-image {display:block;width:100%;max-height:72vh;object-fit:contain;}
#dialog-caption {font-size:12px;line-height:1.8;margin:12px 0 0;}
:is(button,a,summary):focus-visible {outline:3px solid var(--accent);outline-offset:4px;}
@media(max-width:767px){
 .dome-layout {grid-template-columns:1fr;gap:10px;}
 .dome-full {max-width:440px;margin-inline:auto;}
 .dome-full .photo-open {max-height:580px;}
 .dome-full img {max-height:580px;object-fit:contain;}
 .detail-pair {gap:12px;}
 .detail-crop {height:145px;}
 .dome-story h3,.station-text h3,.picture-step h3 {font-size:23px;}
 .window-step {padding:20px 18px 0;}
}
@media(max-width:360px){.chapter-nav a {font-size:11px;padding-inline:3px;}.chapter-nav a span {margin-right:2px;}.detail-crop {height:130px;}}
