/* A visitor guide: official red in the controls, quiet surfaces for reading. */
:root{--wine:#860000;--deep:#620d12;--ink:#24211f;--muted:#615a54;--paper:#fffdfa;--line:#e2d9cf;--gold:#ba9256;--cream:#f6f0e9}
body{background:var(--paper);color:var(--ink)}
.wrap{width:min(1180px,calc(100% - 80px))}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--wine)}
h1,h2,h3,html:lang(en) h1,html:lang(en) h2,html:lang(en) h3{font-family:var(--sans);font-weight:600;line-height:1.23}
h1{letter-spacing:-.04em;text-wrap:balance}h2,h3{letter-spacing:-.025em}
html:lang(ko) h1,html:lang(ko) h2,html:lang(ko) h3{word-break:keep-all;overflow-wrap:break-word}
.site-header,.hub-page .site-header{min-height:83px;padding:14px max(22px,calc((100% - 1180px)/2));gap:26px;background:#fff;color:var(--ink);border-top:3px solid var(--wine);border-bottom:1px solid var(--line)}
.wordmark.visit-brand{flex-direction:row;align-items:center;gap:10px;min-width:0}
.brand-icon{width:38px;height:38px;object-fit:contain;flex-shrink:0}
.wordmark>.brand-text{font-family:var(--sans);letter-spacing:0;font-size:18px;font-weight:600;line-height:1.2;display:flex;flex-direction:column}
.brand-text strong{font-weight:650}
.wordmark .brand-text small{font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:.01em;line-height:1.45;color:var(--muted);margin:4px 0 0}
.main-nav{gap:22px;font-size:12px}
.main-nav a:hover,.hub-page .main-nav a:hover{color:var(--wine)}
.languages{margin-left:0;gap:3px}
.languages a{border-radius:4px;padding:5px 9px;font-size:11px}
.languages a[aria-current],.hub-page .languages a[aria-current]{background:#f7eeea;border-color:#dbc4be;color:var(--wine)}
.languages a:hover,.hub-page .languages a:hover{background:var(--cream);color:var(--wine)}
.breadcrumb{padding-block:18px}
.article-hero{padding:16px 0 42px;gap:48px}
.article-hero h1{font-size:clamp(33px,4vw,53px);line-height:1.18;margin-bottom:19px}
.edition{justify-content:flex-start;gap:18px;margin-bottom:19px}
.edition>span:last-child{letter-spacing:.07em}
.standfirst{font-size:16px;line-height:1.8}
.article-meta{font-size:11px;padding-top:7px}
.article-meta>span:first-child{color:var(--muted);font-weight:400}
.hero-photo img,.hero-art{height:340px}
.hero-photo img,.hub-photo img,.feature-image img,.city-story>.photo img{border-radius:8px}
.photo figcaption{font-size:10px}
.arrival-hero-photos{max-width:475px;gap:13px}
.article-layout{grid-template-columns:minmax(150px,205px) minmax(0,720px);gap:66px;justify-content:center;padding-top:54px}
.toc nav a{font-size:12px}
.toc nav a span,.section-num,.route-num,.rank-number,.phrase-list>div>span,.count-arrow,.journey li>span{color:#8c5c3c}
.lead{font-size:18px;line-height:1.9;letter-spacing:0}
.text-section p{font-size:16px;line-height:1.95;color:#403a35}
.takeaways,.visual-section,.source-notes{background:var(--cream);border-radius:7px}
.takeaways{border-left-color:var(--wine)}
.visual-section{border-color:var(--line)}
.source-notes{font-size:12px}
.faq-section summary{font-size:15px}
.faq-section details p{font-size:14px}
.button{min-height:46px;border-radius:5px;font-size:12px;font-weight:600;color:#fff}
.button.light{background:var(--wine);border-color:var(--wine);color:#fff}
.button.light:hover{background:var(--deep)}
.floor-mark,.step-dot,.week .closed{color:#fff}
.floor-mark{border-radius:6px}
.route-list>a{border-radius:6px;background:#fff}
.route-list small{font-size:11px}
.week>div{background:#fff}
.counting strong{color:var(--ink)}
.hero-art{background:#f1e8dd;color:var(--wine);border-radius:8px;border:1px solid #e4d7c8}
.hero-art:before{border-color:#c6a47c88}.hero-art:after{border-color:#c6a47c33}
.art-suit{color:#86000008}
.art-caption{color:var(--wine);font-family:var(--sans);font-size:14px;font-weight:500}
.score-bubble{color:var(--wine);border-color:#b88673}
.math{color:#8f5a3f}
.wheel-label{background:#f1e8dd;color:var(--wine)}
.card-image{border-radius:0;background:var(--cream)}
.guide-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;padding-bottom:16px}
.card-number{width:34px;height:32px;font-size:17px}
.card-copy{padding:17px 17px 0}
.card-copy h3{font-size:21px;line-height:1.35}
.card-copy p{font-size:13px;line-height:1.75}
.card-copy .text-link{font-size:12px}
.filters button{border-radius:5px;font-size:12px}
.hub-hero{background:#f7f1eb;color:var(--ink);padding-top:35px}
.hub-hero-inner{min-height:350px;gap:48px}
.hub-copy>.kicker{color:var(--wine);font-size:10px}
.hub-copy h1{font-size:clamp(35px,4.2vw,58px);line-height:1.13;margin:18px 0 20px}
.hub-copy>p{color:var(--muted);font-size:15px;line-height:1.8}
.hub-copy .button{font-size:12px}
.hub-photo img{height:295px}
.hub-photo figcaption{color:var(--muted);font-size:10px}
.edition-stamp{right:12px;bottom:24px;outline:0;border:1px solid var(--line);width:87px;height:74px;border-radius:7px;background:#fff;color:var(--wine)}
.edition-stamp b{font-size:32px}.edition-stamp span{font-size:8px}
.hub-bottom{margin-top:30px;border-color:var(--line);color:var(--muted);font-size:9px}
.feature-copy h2,.city-story h2,.collection .section-heading h2,.visit-panel h2{font-size:clamp(28px,3.3vw,39px)}
.feature-copy p,.city-story p{font-size:15px;line-height:1.8}
.visit-panel{background:var(--cream);color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--wine);border-radius:8px;padding:35px 38px;gap:45px}
.visit-panel .kicker,.visit-actions>a:not(.button){color:var(--wine)}
.visit-panel p,.visit-panel .store-fullname{color:var(--ink);font-size:13px}
.visit-actions{font-size:12px}.visit-actions .button{font-size:12px}
.site-footer{background:#f6f0e9;color:var(--ink)}
.footer-bottom{font-size:10px}
.language-options{border-radius:8px;overflow:hidden;background:#fff}
.language-options strong{font-family:var(--sans);font-size:24px}
.credits>p{font-size:14px}.credits li{font-size:12px}
.arrival-shortcut{background:var(--wine);color:#fff;border-color:var(--wine);border-radius:5px;font-size:13px;font-weight:600;line-height:1.55}
.arrival-shortcut:hover{background:var(--deep)}
.arrival-photos .photo>a{background:var(--cream);border-color:var(--line);border-radius:7px;overflow:hidden}
.arrival-heading h2{font-size:clamp(26px,3vw,36px)}
.arrival-floor-pill{border-radius:6px;color:#fff}
.arrival-map-layout{background:#f7f2ed;border:1px solid var(--line);border-radius:9px}
.arrival-map{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#eeeae3}
.arrival-map-fallback{background:#fff;font-size:12px}
.arrival-store-name{font-size:11px}
.arrival-japanese-address,.arrival-landmark{font-size:14px;color:#403a35}
.arrival-map-buttons .button{font-size:12px;font-weight:600}
.arrival-map-buttons .arrival-directions{background:#fff;color:var(--wine)}
.arrival-map-buttons .arrival-directions:hover{background:#f6ebe4}
.arrival-copy{font-size:12px}
.arrival-small-note,.arrival-photo-hint{font-size:11px}
@media(max-width:1100px){
 .article-hero{gap:32px}.article-layout{gap:38px}.arrival-hero-photos{max-width:430px}
 .hub-hero-inner{gap:32px}.hero-photo img,.hero-art{height:310px}
}
@media(max-width:800px){
 .wrap{width:calc(100% - 44px)}
 .site-header,.hub-page .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:13px 22px 10px;gap:10px 14px;min-height:0}
 .main-nav{font-size:11px;gap:10px;flex-wrap:wrap;justify-content:flex-end}
 .languages,.hub-page .languages{grid-column:1/-1;justify-content:flex-start;width:auto;margin:0;padding-top:7px;border-top:1px solid var(--line)}
 .article-hero{gap:24px;padding-bottom:30px}.article-hero h1{font-size:clamp(32px,6.5vw,45px)}
 .article-layout{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:35px}
 .arrival-hero-photos{max-width:460px;margin-inline:auto}
 .hub-hero-inner{min-height:0;gap:20px}.hub-copy h1{font-size:clamp(34px,7.5vw,52px)}
 .hub-hero{padding-top:24px}.hub-photo img{height:260px}.edition-stamp{bottom:25px}
 .visit-panel{padding:26px;gap:22px}
}
@media(max-width:480px){
 .brand-icon{width:31px;height:31px}.wordmark.visit-brand{gap:8px}.wordmark>.brand-text{font-size:16px}.wordmark .brand-text small{font-size:8px}
 .main-nav{max-width:125px;font-size:10px;gap:5px 10px}
 .article-hero h1{font-size:33px}.standfirst{font-size:15px}.article-meta{font-size:10px}
 .arrival-hero-photos{gap:9px}.arrival-shortcut{font-size:12px}
 .hero-photo img,.hero-art{height:270px}.hero-photo:has(img[src*="team"]) img{height:220px}
 .lead{font-size:16px}.text-section p{font-size:15px;line-height:1.9}
 .toc nav a{font-size:11px}.visual-section h2{font-size:24px}
 .photo figcaption,.arrival-photo-hint{font-size:9px}
 .hub-copy>p{font-size:14px}.hub-photo img{height:230px}.hub-photo figcaption{font-size:9px}
 .edition-stamp{width:73px;height:65px;right:9px}.edition-stamp b{font-size:28px}
 .card-copy h3{font-size:22px}.card-copy p{font-size:14px}
 .feature-copy p,.city-story p{font-size:14px}
 .arrival-map-layout{padding:10px}.arrival-japanese-address,.arrival-landmark{font-size:13px}
 .visit-panel{padding:23px}.visit-panel p,.visit-panel .store-fullname{font-size:12px}
}
