@import url('/visitor-fonts.css?v=40');
/* Language access belongs within the quiet navigation, never over the imagery. */
.language-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 23px;font-size:13px;line-height:1.5;letter-spacing:.04em}
.language-links>span{font-size:11px;letter-spacing:.12em;color:var(--muted,#777);margin-right:4px}
.language-links a{display:inline-flex;align-items:center;min-height:44px;border:0;padding:0;text-decoration:none}
.language-links a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.language-links a:hover{opacity:.65}
.calm-menu>.language-links{grid-column:1/-1;margin:0 0 18px;border-bottom:1px solid var(--line,#ddd);padding-bottom:15px;align-self:start}
.calm-menu.is-open>section:nth-of-type(1){transition-delay:.1s}
.calm-menu.is-open>section:nth-of-type(2){transition-delay:.15s}
.calm-menu.is-open>section:nth-of-type(3){transition-delay:.2s}
.calm-menu.is-open>section:nth-of-type(4){transition-delay:.25s}
.footer>.language-links{margin:38px 0 12px}
.visitor-page{--visitor-font:Georgia,'Times New Roman',serif;--font:var(--visitor-font);font-family:var(--visitor-font)}
.visitor-page:lang(ko){--visitor-font:'Mekari Noto Serif KR','Noto Serif KR','Batang','AppleMyungjo',serif;word-break:keep-all;overflow-wrap:anywhere}
.visitor-page:lang(ko) :is(h1,h2,h3,p,dt,dd,a){word-break:keep-all;overflow-wrap:anywhere}
.visitor-page:lang(ja){--visitor-font:'Noto Serif JP','Yu Mincho',serif}
.visitor-page h1,.visitor-page h2,.visitor-page h3{font-weight:400;letter-spacing:.035em;line-height:1.65}
.visitor-page p,.visitor-page dd{line-height:2;letter-spacing:.015em}
.visitor-page h2{font-size:clamp(23px,2.6vw,34px)}
.visitor-page h3{font-size:20px;margin:25px 0 14px}
.visitor-page main>section,.visitor-page main>nav{scroll-margin-top:calc(var(--header-height) + 30px)}
.visitor-intro{max-width:900px;margin:0 auto;padding:30px var(--gutter) 60px;text-align:center}
.visitor-intro>.language-links{justify-content:center;margin:0 0 38px}
.visitor-intro:has(.visitor-return)>.language-links{margin-bottom:0}
.visitor-return{display:block;width:max-content;max-width:100%;min-height:44px;margin:3px auto 28px;padding:10px 0;font-size:12px;letter-spacing:.03em;text-decoration:underline;text-underline-offset:4px}
.visitor-place{font-size:13px;color:var(--muted,#777);margin:0 0 23px}
.visitor-intro h1{font-size:clamp(29px,4vw,48px);margin:0 0 28px}
.visitor-lead{font-size:16px;max-width:620px;margin:0 auto}
.visitor-hero{margin:0 var(--gutter);max-width:1500px}
.visitor-hero img{display:block;width:100%;height:auto}
.visitor-jump{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 40px;margin:40px var(--gutter) 0;border-bottom:1px solid var(--line,#ddd);padding-bottom:25px}
.visitor-jump a{display:flex;align-items:center;min-height:44px;font-size:14px}
.visitor-reading{max-width:760px;margin:0 auto;padding:90px var(--gutter)}
.visitor-reading h2{margin:0 0 30px}
.visitor-reading p+p{margin-top:25px}
.visitor-reading .text-link{font-size:14px;margin-top:20px}
.visitor-views,.visitor-visit,.visitor-access{margin:0 var(--gutter);padding:40px 0 80px}
.visitor-views>h2,.visitor-access>h2{margin:0 0 40px}
.visitor-views-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--photo-gap)}
.visitor-views-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.visitor-views-grid p{font-size:15px;margin:0}
.visitor-section-intro{max-width:720px;margin-bottom:45px}
.visitor-visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.visitor-visit-layout figure{margin:0}
.visitor-visit-layout img{width:100%;height:auto}
.visitor-visit-layout article:first-child h3{margin-top:0}
.visitor-visit-layout p{font-size:15px}
.visitor-links{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:28px;font-size:14px}
.visitor-links a{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid var(--line,#ddd)}
.visitor-photo-story{margin:0 var(--gutter);padding:35px 0 85px}
.visitor-photo-story figure{margin:0;min-width:0}
.visitor-photo-story img{display:block;width:100%;height:auto}
.visitor-architecture-grid{display:grid;grid-template-columns:8fr 9fr;grid-template-rows:minmax(0,1fr);gap:var(--photo-gap);aspect-ratio:17/12;align-items:stretch}
.visitor-photo-stack{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--photo-gap);min-height:0}
.visitor-architecture-grid figure{position:relative;min-height:0;overflow:hidden}
.visitor-architecture-grid .zoom-photo{position:absolute;inset:0;width:100%;height:100%;margin:0}
.visitor-architecture-grid img{width:100%;height:100%;object-fit:cover}
.visitor-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--photo-gap)}
.visitor-gift-grid,.visitor-practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--photo-gap)}
.visitor-gift-grid img{aspect-ratio:3/2;object-fit:contain}
.visitor-gift-grid p,.visitor-practical-grid p{font-size:15px}
.visitor-practical-grid h3{margin-top:0}
.visitor-evening{padding-bottom:85px}
.visitor-jump{gap:10px 28px}
.visitor-access{border-top:1px solid var(--line,#ddd);padding-top:65px;padding-bottom:20px}
.visitor-access-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}
.visitor-access-grid p{max-width:350px}
.visitor-access-grid .button{margin:12px 0 20px}
.visitor-access dl{margin:0}
.visitor-access dl>div{border-bottom:1px solid var(--line,#ddd);padding:20px 0}
.visitor-access dl>div:first-child{padding-top:0}
.visitor-access dt{font-size:16px;margin-bottom:10px}
.visitor-access dd{font-size:15px;margin:0}
.visitor-note{font-size:12px;color:var(--muted,#777);margin-top:25px}
.visitor-menu{align-content:start;grid-template-columns:1fr}
.visitor-menu>section{max-width:500px}
.visitor-menu>section a{font-size:18px}
.visitor-footer-name{font-size:24px;letter-spacing:.12em}
.visitor-footer>p{font-size:13px;margin-top:20px}
.selection-intro{padding-top:55px}
.selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px 35px;margin:0 var(--gutter)}
.selection-number{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.12em;margin-bottom:15px;color:#777}
.selection-grid .zoom-photo{background:#f0eeea;display:flex;width:100%;height:280px;align-items:center;justify-content:center}
.selection-grid img{width:100%;height:100%;object-fit:contain}
.selection-grid h2{font-size:21px;margin:22px 0 12px}
.selection-grid p{font-size:14px;margin:8px 0}
.selection-grid .selection-placement{font-size:12px;color:#777}
@media(min-width:1690px){.visitor-hero{margin-left:auto;margin-right:auto}}
@media(max-width:900px){.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-views-grid{gap:22px}.visitor-views-grid h3{font-size:18px}}
@media(max-width:700px){
 .calm-menu>.language-links{gap:5px 17px;margin-bottom:4px;padding-bottom:10px;font-size:12px}
 .calm-menu>.language-links>span{display:none}
 .visitor-intro{padding:16px 24px 40px}.visitor-intro>.language-links{margin-bottom:28px}
 .visitor-intro h1{font-size:29px;line-height:1.6}.visitor-lead{font-size:14px}.visitor-place{font-size:12px}
 .visitor-jump{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:25px;text-align:center}.visitor-jump a{justify-content:center;font-size:12px}
 .visitor-reading{padding:60px 24px}.visitor-reading p{font-size:14px}
 .visitor-views,.visitor-visit,.visitor-access{margin:0 24px;padding:15px 0 55px}
 .visitor-views-grid,.visitor-visit-layout,.visitor-access-grid{grid-template-columns:1fr;gap:38px}
 .visitor-views-grid h3{font-size:20px;margin-top:22px}.visitor-views-grid p{font-size:14px}
 .visitor-section-intro{margin-bottom:30px}.visitor-section-intro p{font-size:14px}
 .visitor-access{padding-top:45px}.visitor-access-grid{gap:35px}.visitor-access-grid p{font-size:14px}
 .visitor-access dd{font-size:14px}.visitor-links{gap:8px 20px;font-size:12px}
 .visitor-group{padding-top:0}.visitor-footer .footer-bottom{gap:16px;flex-wrap:wrap}
 .visitor-photo-story{margin:0 24px;padding:15px 0 55px}
 .visitor-photo-pair{grid-template-columns:1fr;gap:20px}
 .visitor-gift-grid{grid-template-columns:1fr 1fr;gap:28px 18px}
 .visitor-gift-grid article:first-child{grid-column:1/-1}
 .visitor-gift-grid h3{font-size:17px;line-height:1.6;margin-top:18px}
 .visitor-gift-grid p{font-size:13px;line-height:1.9}
 .visitor-practical-grid{grid-template-columns:1fr;gap:20px}
 .visitor-practical-grid p{font-size:14px}
 .visitor-architecture-grid{gap:14px}.visitor-photo-stack{gap:14px}
 .selection-grid{grid-template-columns:1fr;gap:48px;margin:0 24px}.selection-grid .zoom-photo{height:auto;min-height:180px}.selection-grid img{max-height:420px;height:auto}
}

/* Chinese readers receive script-appropriate serif glyphs. */
.visitor-page:lang(zh-Hant){--visitor-font:'Mekari Noto Serif TC','Mekari Noto Serif SC','Noto Serif TC','Songti TC','PMingLiU',serif}
.visitor-page:lang(zh-Hans){--visitor-font:'Mekari Noto Serif SC','Noto Serif SC','Songti SC','SimSun',serif}
.visitor-page:lang(zh){line-break:strict;word-break:normal;overflow-wrap:break-word}
.language-links a{white-space:nowrap}
.visitor-intro>.language-links{column-gap:20px;row-gap:0}
.visitor-intro>.language-links>span{flex-basis:100%;margin:0;text-align:center}

/* Carry each language's serif through controls and existing footer overrides. */
.visitor-page :is(h1,h2,h3,p,a,dt,dd,span,button,input,select,textarea,figcaption){font-family:var(--visitor-font)}
.visitor-page .footer-bottom{font-family:var(--visitor-font)}
.language-links a:lang(en){font-family:Georgia,'Times New Roman',serif}
.language-links a:lang(ko){font-family:'Mekari Noto Serif KR','Noto Serif KR','Batang','AppleMyungjo',serif}
.language-links a:lang(zh-Hant){font-family:'Mekari Noto Serif TC','Mekari Noto Serif SC','Noto Serif TC','Songti TC','PMingLiU',serif}
.language-links a:lang(zh-Hans){font-family:'Mekari Noto Serif SC','Noto Serif SC','Songti SC','SimSun',serif}
.language-links a:lang(ja),.visitor-page .visitor-return{font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif}
