@font-face{font-family:LowSerif;src:url('assets/low-serif.woff2') format('woff2');font-display:swap;font-weight:400}
:root{color-scheme:light;--paper:#f4f1eb;--ink:#363d39;--muted:#626960;--line:#d3d5cd;--green:#3d4942;--white:#fcfbf8;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:16px;line-height:1.8;word-break:keep-all}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}.skip{position:fixed;top:-100px;left:16px;padding:12px;background:var(--ink);color:white;z-index:20}.skip:focus{top:16px}.page-shell{max-width:1104px;padding:0 64px;margin:auto}.masthead{display:flex;justify-content:space-between;align-items:center;padding:36px 0 29px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:24px}.brand-name{font-family:LowSerif,"Batang",serif;font-size:27px;letter-spacing:3px;display:flex;align-items:center;gap:12px}.brand-place{font-size:14px;letter-spacing:1px}.brand-en{font-size:12px;letter-spacing:2.3px}.edition{text-align:right;font-size:12px;letter-spacing:2px}.edition span{display:block;font-size:14px;letter-spacing:0;color:var(--muted)}.intro{position:relative;padding:46px 0 38px;overflow:hidden}.eyebrow{font-size:14px;color:var(--muted);margin:0 0 9px}h1,h2,p{margin-top:0}h1{font-family:LowSerif,"Batang",serif;font-size:38px;font-weight:400;line-height:1.5;letter-spacing:-1.2px;margin-bottom:6px}.intro-copy{margin:0;color:var(--muted);font-size:16px}.roofline{position:absolute;width:39%;height:auto;right:-10px;bottom:51px;opacity:1}.time-bar{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--paper);padding:21px 30px}.time-bar>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:30px}.time-bar>div+div{border-left:1px solid #6f7b71;padding:0 0 0 30px}.time-label{font-size:15px}.time-label span{display:block;font-size:12px;letter-spacing:1.4px;color:#d4dcd4}.time-bar strong{font-family:Georgia,serif;font-size:32px;line-height:1.3;font-weight:400;font-variant-numeric:tabular-nums}.guide-nav{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:5}.guide-nav a{display:flex;gap:12px;align-items:center;justify-content:center;min-height:76px;font-size:15px}.guide-nav a:hover{background:#e9e9e1}.guide-nav span{color:var(--muted);font:italic 14px Georgia,serif}.guide-section{display:grid;grid-template-columns:31% 1fr;gap:35px;padding:48px 0;border-bottom:1px solid var(--line);scroll-margin-top:12px}.section-label>span{font-size:12px;letter-spacing:1.3px;color:var(--muted)}h2{font-family:LowSerif,"Batang",serif;font-size:26px;font-weight:400;line-height:1.5;margin:10px 0}.section-label>p{font-size:14px;color:var(--muted);margin-bottom:0}.section-content details{border-bottom:1px solid var(--line)}.section-content details:last-child{border-bottom:0}summary{display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;cursor:pointer;min-height:62px;padding:14px 0;font-size:17px;font-weight:500}summary::-webkit-details-marker{display:none}.toggle{width:16px;height:16px;position:relative;flex-shrink:0}.toggle:before,.toggle:after{content:"";position:absolute;left:0;top:7px;width:16px;height:1px;background:var(--ink)}.toggle:after{transform:rotate(90deg)}details[open] .toggle:after{transform:rotate(0)}.detail-body{padding:0 30px 19px 0;color:#555e56}.detail-body p{margin-bottom:11px}.detail-body p:last-child{margin-bottom:0}.note{font-size:14px;color:var(--muted);line-height:1.8}.departure-time{display:flex;align-items:center;justify-content:space-between;padding:9px 0 20px;border-bottom:1px solid var(--line)}.departure-time>span{font-size:16px}.departure-time strong{font-family:LowSerif,"Batang",serif;font-size:25px;font-weight:400}.departure-list{list-style:none;margin:22px 0;padding:0}.departure-list li{display:flex;align-items:baseline;gap:16px;margin:13px 0}.departure-list li>span{color:var(--muted);font:italic 14px Georgia,serif;flex-shrink:0}.closing{text-align:center;padding:62px 0}.closing p{font-family:LowSerif,"Batang",serif;font-size:27px;line-height:1.75;margin-bottom:18px}.closing>span{font-size:12px;letter-spacing:3px;color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 30px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}footer a{padding:5px 0}
@media(min-width:1400px){.page-shell{max-width:1180px}.intro{padding:55px 0 44px}.guide-section{padding:54px 0}}
@media(max-width:720px){:root{scroll-padding-top:74px}.page-shell{padding:0 24px}.masthead{padding:25px 0 21px}.brand-name{font-size:25px;gap:8px}.brand-en{display:none}.edition{font-size:12px;letter-spacing:1.4px}.edition span{font-size:12px}.intro{padding:30px 0 23px}.eyebrow{font-size:14px}h1{font-size:29px;letter-spacing:-.8px}.intro-copy{font-size:15px}.roofline{position:static;display:block;margin:20px auto 0;width:100%;height:auto;opacity:1}.time-bar{padding:18px}.time-bar>div{display:block;padding-right:20px}.time-bar>div+div{padding-left:23px}.time-label{font-size:14px;display:block}.time-label span{font-size:12px;letter-spacing:1px}.time-bar strong{display:block;font-size:31px;margin-top:5px}.guide-nav{margin:0 -24px;padding:0 14px;border-bottom:1px solid var(--line)}.guide-nav a{min-height:64px;font-size:14px;gap:0;text-align:center;padding:6px}.guide-nav span{display:none}.guide-section{grid-template-columns:1fr;gap:19px;padding:34px 0}.section-label>span{font-size:12px}.section-label>p{font-size:14px}h2{font-size:26px;margin:7px 0 3px}summary{font-size:16px;min-height:60px}.detail-body{padding-right:8px;font-size:16px}.closing{padding:48px 0}.closing p{font-size:26px}footer{font-size:12px;padding-bottom:24px}footer a{font-size:14px}.departure-time{padding-top:0}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
@media print{.guide-nav,.skip,footer a{display:none}.page-shell{max-width:none;padding:0 20px}.masthead{padding:15px 0}.intro{padding:20px 0}.guide-section{break-inside:avoid;padding:25px 0}.closing{padding:20px 0}body{background:white}.time-bar{border:1px solid #ccc;background:white;color:#222}.time-label span{color:#555}}
