:root{--ink:#132e38;--muted:#526972;--line:#d6e2e5;--paper:#f5f8fa;--teal:#006b64;--mint:#dff1eb;--blue:#e8f0fa;--white:#fff;--amber:#8b4b08;--radius:18px;color-scheme:light;font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI','Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ce6a28;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.2;letter-spacing:-.04em;font-weight:730}h2{font-size:1.5rem;line-height:1.35;letter-spacing:-.025em}h3{font-size:1.08rem;line-height:1.4}p{margin-bottom:1rem}small,.meta{font-size:.875rem;color:var(--muted)}.wrap{max-width:1100px;margin:auto;padding:0 28px}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:1.3rem;font-weight:800;letter-spacing:-.04em}.brand-icon{width:32px;height:32px;border:2px solid var(--teal);border-radius:9px;display:grid;place-items:center;color:var(--teal);font-size:1rem;letter-spacing:0}.brand em{font-style:normal;color:var(--teal)}.nav{display:flex;align-items:center;gap:24px}.nav a{color:var(--muted);font-size:.9rem;text-decoration:none}.lang-switch{border:1px solid var(--line);padding:5px 12px;border-radius:20px}.preview-note{font-size:.875rem;background:#fff4df;color:#785014;padding:8px 28px;text-align:center}.home{padding-top:44px;padding-bottom:60px}.eyebrow{text-transform:uppercase;font-size:.8rem;font-weight:750;letter-spacing:.12em;color:var(--teal);margin-bottom:12px}.lead{max-width:640px;font-size:1.08rem;color:var(--muted)}.search-panel{background:var(--ink);color:white;border-radius:22px;padding:30px;margin:28px 0 40px;box-shadow:0 12px 32px #132e3810}.search-panel h2{font-size:1.1rem;margin-bottom:20px}.search-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.field label{display:block;font-size:.875rem;color:#d0e5e6;margin-bottom:7px}.field input,.field select{width:100%;min-width:0;background:#fff;border:2px solid transparent;border-radius:10px;color:var(--ink);padding:12px 14px;height:54px}.primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:var(--teal);padding:13px 20px;border:0;border-radius:10px;min-height:48px;font-weight:650}.search-panel .primary{background:#afe9d6;color:#153b39;height:54px}.search-help{margin:14px 0 0;font-size:.875rem;color:#cfdddd}.error{background:#fff0d8;color:#6e3900;padding:14px;border-radius:8px;margin-top:16px}.error a{color:#624117}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.route-card{display:block;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}.route-card:hover{border-color:var(--teal);transform:translateY(-2px)}.route-card .number{font-size:.8rem;color:var(--teal);font-weight:750;letter-spacing:.08em}.route-card h3{margin:10px 0;font-size:1.2rem}.route-card p{color:var(--muted);font-size:.9rem;margin:0}.route-card:last-child{grid-column:1/-1;background:var(--blue)}.card-arrow{float:right;font-size:1.5rem;color:var(--teal)}.supporting{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px;align-items:center}.supporting img{width:100%;height:210px;object-fit:cover;border-radius:14px}.site-footer{border-top:1px solid var(--line);padding:28px 0;font-size:.875rem;color:var(--muted)}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;margin:24px 0;color:var(--muted)}.route-heading{max-width:870px}.route-heading h1{font-size:clamp(1.7rem,3.7vw,2.6rem);margin-bottom:16px}.route-meta{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 18px}.answer{background:var(--mint);border-left:4px solid var(--teal);padding:24px 26px;border-radius:0 16px 16px 0;font-size:1.03rem}.answer p:last-child{margin-bottom:0}.answer-label{display:block;color:var(--teal);font-size:.8rem;font-weight:750;letter-spacing:.07em;margin-bottom:8px}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:36px;padding-top:30px;padding-bottom:60px}.guide section{scroll-margin-top:24px;margin-bottom:38px}.guide section>h2{padding-bottom:12px;border-bottom:1px solid var(--line)}.toc{align-self:start;position:sticky;top:24px;font-size:.9rem;border-left:1px solid var(--line);padding-left:20px}.toc a{display:block;color:var(--muted);text-decoration:none;margin:12px 0}.recommend{border:1px solid var(--line);border-radius:14px;background:white;padding:22px}.tag{display:inline-block;border-radius:5px;padding:3px 8px;font-size:.8rem;background:var(--mint);color:var(--teal);margin:0 6px 10px 0}.table-wrap{max-width:100%}table{border-collapse:collapse;width:100%;font-size:.93rem}caption{text-align:left;color:var(--muted);font-size:.875rem;margin-bottom:12px}th,td{text-align:left;vertical-align:top;padding:13px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}thead{background:var(--ink);color:white}th{font-weight:650}tbody th{min-width:120px}td a{font-size:.82rem}td small{display:block}.option-detail{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin:14px 0}.option-detail p:last-child{margin-bottom:0}.condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.condition{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;scroll-margin-top:24px}.condition p{font-size:.93rem;margin-bottom:0}.condition-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.condition-nav a{font-size:.875rem;border:1px solid var(--line);padding:5px 10px;border-radius:20px;text-decoration:none}.steps{counter-reset:step;list-style:none;padding-left:0}.steps li{counter-increment:step;position:relative;padding:0 0 20px 42px}.steps li:before{content:counter(step);position:absolute;left:0;top:1px;width:27px;height:27px;border-radius:50%;background:var(--ink);color:white;text-align:center;font-size:.875rem}.terminal{border:1px solid var(--line);padding:20px;border-radius:12px;margin:18px 0;background:white;scroll-margin-top:24px}.official-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.official-links a{background:#fff;border:1px solid var(--line);padding:14px;border-radius:10px;text-decoration:none}.notice{background:#fff4df;padding:18px;border-radius:12px;color:#67481d}.faq{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:650;line-height:1.5}.faq p{margin:12px 0 0}.source-list{padding-left:20px;overflow-wrap:anywhere}.source-list li{margin:14px 0}.status{font-size:.85rem;color:#825219}.policy{max-width:800px;margin:36px auto 70px}.policy section{margin:30px 0}figure{margin:0}figcaption{font-size:.8rem;color:var(--muted)}.skip{position:absolute;top:-100px}.skip:focus{top:8px;left:8px;background:white;padding:12px;z-index:9}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:800px){.guide-layout{grid-template-columns:1fr}.toc{display:none}.search-grid{grid-template-columns:1fr 1fr}.search-grid .primary{grid-column:1/-1}.supporting{grid-template-columns:1fr 1fr}}@media(max-width:540px){.wrap{padding:0 18px}.header-inner{min-height:66px}.nav{gap:12px}.nav .nav-home{display:none}.preview-note{padding:6px 18px;text-align:left;font-size:.8rem}.home{padding-top:28px}.search-panel{padding:20px;margin:22px 0 30px}.search-grid{grid-template-columns:1fr}.route-grid,.condition-grid,.official-links,.supporting{grid-template-columns:1fr}.route-card{padding:20px}.section-head{display:block}.answer{padding:17px 18px}.route-heading h1{font-size:1.7rem}.breadcrumb{margin:16px 0;font-size:.8rem}.route-meta{font-size:.8rem;gap:8px}.guide-layout{padding-top:24px}.table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td,.table-wrap tbody th{display:block;width:100%}.table-wrap tr{border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:12px;overflow:hidden}.table-wrap tbody th{background:var(--ink);color:white;padding:12px}.table-wrap td{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:10px 12px}.table-wrap td:before{content:attr(data-label);font-size:.85rem;font-weight:650;color:var(--muted)}.table-wrap td:last-child{border:0}.terminal{padding:17px}.footer-inner{display:block}.footer-inner span{display:block;margin-bottom:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.site-header,.site-footer,.toc,.condition-nav,.preview-note{display:none}.guide-layout{display:block}.wrap{max-width:none}.answer{break-inside:avoid}details p{display:block}a{color:inherit}}

.table-wrap tbody th a{color:inherit}

/* Photography frames the search; route guides retain their compact answer-first layout. */
.arrival-hero{position:relative;isolation:isolate;overflow:hidden;background:#183b46;color:white}
.hero-scenery{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;z-index:-2}
.arrival-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,24,34,.78),rgba(5,24,34,.35) 66%,rgba(5,24,34,.14)),linear-gradient(0deg,rgba(5,24,34,.5),transparent 65%)}
.hero-content{padding-top:52px;padding-bottom:22px}
.arrival-hero h1{font-size:clamp(2rem,4.5vw,3.5rem);max-width:720px;text-shadow:0 2px 20px #0003;margin-bottom:18px}
.arrival-hero .eyebrow{color:#bdecdc}
.arrival-hero .lead{color:#f0f5f4;max-width:600px;margin-bottom:24px}
.arrival-hero .search-panel{background:rgba(255,255,255,.97);color:var(--ink);padding:22px 26px;margin:30px 0 16px;border-radius:16px;box-shadow:0 10px 32px #07192330}
.arrival-hero .search-panel h2{margin-bottom:14px}
.arrival-hero .field label{color:var(--muted)}
.arrival-hero .field input{border:1px solid #ccd9dc;background:#fff}
.arrival-hero .search-panel .primary{background:var(--teal);color:#fff}
.arrival-hero .search-help{color:var(--muted);font-size:.8rem;margin-top:10px}
.hero-location{font-size:.8rem;letter-spacing:.04em;text-align:right;color:#fff;margin:0;text-shadow:0 1px 4px #000}
.home-lower{padding-top:36px;padding-bottom:60px}
.route-card.scenic-card{position:relative;isolation:isolate;overflow:hidden;background:#183b46;color:#fff;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px}
.card-scenery{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2;transition:transform .3s}
.scenic-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,21,35,.85),rgba(4,21,35,.25)),linear-gradient(0deg,rgba(4,21,35,.65),transparent)}
.scenic-card:hover .card-scenery{transform:scale(1.025)}
.scenic-card .number,.scenic-card p{color:#e2f1ed}.scenic-card .card-arrow{position:absolute;right:28px;bottom:36px;color:#fff}.scenic-card h3{font-size:1.5rem;max-width:85%}
.scene-place{position:absolute;top:20px;right:24px;font-size:.78rem;color:#fff}
.photo-credits{font-size:.72rem;line-height:1.6;color:var(--muted);margin:12px 0 24px}.photo-credits a{color:inherit}
@media(max-width:800px){.hero-content{padding-top:36px}.arrival-hero .search-panel{padding:20px}.hero-scenery{object-position:60% center}}
@media(max-width:540px){.hero-content{padding-top:30px;padding-bottom:16px}.arrival-hero h1{font-size:2rem;margin-bottom:14px}.arrival-hero .lead{font-size:1rem;line-height:1.55;margin-bottom:18px}.arrival-hero .search-panel{margin-top:20px;padding:18px}.arrival-hero .search-grid{gap:10px}.arrival-hero .field input,.arrival-hero .search-panel .primary{height:48px}.arrival-hero .search-panel h2{font-size:1rem;margin-bottom:12px}.hero-location{font-size:.72rem}.home-lower{padding-top:28px}.route-card.scenic-card{min-height:230px;padding:22px}.scenic-card .card-arrow{right:22px}.scene-place{right:20px}.hero-scenery{object-position:60% center}}

.hero-scenery{opacity:0;transition:opacity 900ms ease;pointer-events:none}
.hero-scenery.is-active{opacity:1}
.hero-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;flex-wrap:wrap}
.hero-toolbar .hero-location{text-align:left}
.slideshow-controls{display:flex;align-items:center;gap:6px;background:rgba(4,21,30,.72);border:1px solid #ffffff50;border-radius:28px;padding:2px 6px;color:#fff}
.slideshow-controls button{border:0;background:transparent;color:inherit;min-width:40px;min-height:40px;border-radius:22px;font-size:1.5rem;line-height:1}
.slideshow-controls button:hover{background:#ffffff25}
.slideshow-controls .slide-toggle{font-size:.78rem;padding:0 12px;min-width:78px;border-left:1px solid #ffffff40;border-radius:0 22px 22px 0}
.slide-count{font-size:.75rem;font-variant-numeric:tabular-nums;min-width:43px;text-align:center}
@media(max-width:540px){.hero-toolbar{gap:8px}.slideshow-controls{margin-left:auto}.hero-toolbar .hero-location{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.hero-scenery{transition:none}}

/* Readable guides: a short answer, route flow, facts, then optional detail. */
.quick-answer{background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:16px;padding:24px}
.answer-lead{font-size:1.08rem;line-height:1.6;font-weight:600}
.route-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:0;margin:18px 0 20px;list-style:none}
.route-flow li{position:relative;background:var(--mint);border-radius:7px;padding:6px 10px;font-size:.85rem;font-weight:650}
.route-flow li+li:before{content:'›';position:absolute;left:-15px;color:var(--muted)}
.metric-context{font-size:.8rem;color:var(--muted);margin:0 0 8px}
.route-metrics{display:grid;grid-template-columns:1fr 1fr .65fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0}
.route-metrics>div{background:var(--paper);padding:15px;min-width:0}
.route-metrics dt{color:var(--teal);font-size:.78rem;font-weight:650;margin-bottom:8px}
.route-metrics dd{margin:0;font-size:.96rem;line-height:1.55;font-weight:600;overflow-wrap:anywhere}
.route-metrics dd .meta{display:inline;font-weight:400;font-size:.75rem}
.metric-note{font-size:.78rem;color:var(--muted);margin:12px 0 0}
.mini-details{margin-top:12px;font-size:.9rem}
.mini-details summary{cursor:pointer;color:var(--teal);font-size:.83rem;font-weight:600;padding:5px 0}
.mini-details p{margin-top:10px;font-size:.9rem;font-weight:400}
.answer-context{border-top:1px solid var(--line);padding-top:6px}
.quick-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.quick-pick{padding:18px;border:1px solid var(--line);background:white;border-radius:12px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:9px}
.quick-pick>span:first-child{font-size:.8rem;color:var(--teal);font-weight:700}
.quick-pick strong{font-size:1rem;line-height:1.5}.quick-pick .pick-link{font-size:.75rem;color:var(--muted);margin-top:auto}.quick-pick:hover{border-color:var(--teal)}
.option-detail{padding:0;margin:8px 0}
.option-detail>summary{cursor:pointer;padding:15px 18px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}
.option-detail>summary::-webkit-details-marker{display:none}
.option-detail>summary:after{content:'+';color:var(--teal);font-size:1.3rem}
.option-detail[open]>summary:after{content:'−'}
.option-detail>summary strong{font-size:.9rem;flex:1}.option-detail>summary span{font-size:.76rem;color:var(--muted)}
.option-points{padding:0 18px 14px;margin:0}.option-points>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.option-points dt{font-size:.8rem;font-weight:650;color:var(--teal)}.option-points dd{margin:0;font-size:.9rem}
.scan-list{list-style:none;margin:12px 0;padding:0}.scan-list li{position:relative;padding:9px 0 9px 20px;border-bottom:1px solid #d6e2e560;font-size:.93rem;line-height:1.55}.scan-list li:before{content:'•';position:absolute;left:2px;color:var(--teal);font-weight:700}.scan-list li:last-child{border:0}
.condition h3{margin-bottom:10px}.condition .scan-list{margin:0}.condition .scan-list li{font-size:.87rem}
.steps li>strong{display:block;margin-bottom:5px;font-size:.96rem}.steps li>span{display:block;font-size:.87rem;color:var(--muted);line-height:1.6}
.terminal-tag{display:inline-block;background:var(--ink);color:#fff;padding:4px 9px;border-radius:6px;font-size:.85rem;margin-right:6px}
@media(max-width:680px){.quick-picks{grid-template-columns:1fr}.quick-pick{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;padding:13px 16px;gap:10px}.quick-pick .pick-link{display:none}.quick-pick strong{font-size:.93rem}.route-metrics{grid-template-columns:1fr}.route-metrics>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;padding:12px 14px}.route-metrics dt{margin:0;padding-top:2px}.route-metrics dd{font-size:.9rem}.quick-answer{padding:18px}.answer-lead{font-size:1rem}.route-flow{gap:8px 18px}.route-flow li{font-size:.77rem;padding:5px 8px}.option-detail>summary span{display:none}.option-points>div{grid-template-columns:64px minmax(0,1fr)}}
@media print{.option-detail>summary:after{display:none}.option-detail>*:not(summary),.mini-details>*:not(summary){display:block!important}}

.route-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;margin-top:16px}
.route-actions a{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:10px 15px;background:#fff;border:1px solid var(--line);border-radius:9px;text-decoration:none;font-size:.85rem;font-weight:600;min-height:44px}
.route-actions a:first-child{background:var(--teal);border-color:var(--teal);color:white}.route-actions a:hover{box-shadow:0 2px 8px #132e3815}
.table-wrap tbody tr:nth-child(even){background:#edf3f580}.table-wrap thead th:first-child{border-radius:8px 0 0 0}.table-wrap thead th:last-child{border-radius:0 8px 0 0}
.toc{border-left:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.toc strong{font-size:.75rem;color:var(--teal);letter-spacing:.05em}.toc a:hover{color:var(--teal)}
.destination-list{display:grid;gap:14px;margin:28px 0 40px}.destination-option{display:grid;grid-template-columns:180px minmax(0,1fr) 25px;align-items:center;gap:24px;border:1px solid var(--line);border-radius:16px;padding:24px;background:#fff;color:var(--ink);text-decoration:none}
.destination-option:hover{border-color:var(--teal);box-shadow:0 6px 20px #132e3808}.destination-option .eyebrow{font-size:.7rem;letter-spacing:.05em}.destination-option h2{margin:7px 0 0}.destination-option .route-flow{margin:0 0 10px}.destination-option p{font-size:.87rem;color:var(--muted);margin:0}.destination-open{font-size:1.4rem;color:var(--teal)}.overview-tips{max-width:760px;margin-bottom:30px}
@media(max-width:680px){.route-actions{display:grid;grid-template-columns:1fr 1fr}.route-actions a{font-size:.8rem;padding:10px}.destination-option{grid-template-columns:minmax(0,1fr) 22px;gap:14px;padding:20px}.destination-option>div:nth-child(2){grid-column:1/-1;grid-row:2}.destination-open{grid-column:2;grid-row:1}.destination-option h2{font-size:1.3rem}.destination-option .route-flow{gap:8px 18px}.toc{display:none}}

/* A quieter search surface leaves the original Korean photography in view. */
.home-main{background:#fff}
.arrival-hero .hero-content{max-width:1240px;padding-top:64px;padding-bottom:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,410px);column-gap:64px;align-items:center;min-height:530px}
.hero-intro{padding:20px 0 60px}
.arrival-hero h1{font-size:clamp(2.6rem,5.3vw,4.4rem);font-weight:720;line-height:1.17;letter-spacing:-.055em;margin-bottom:24px}
.arrival-hero .lead{font-size:1.05rem;line-height:1.6;margin-bottom:0}
.arrival-hero .eyebrow{font-size:.75rem;letter-spacing:.18em;margin-bottom:24px}
.arrival-hero .search-panel{margin:0 0 40px;padding:12px 22px 18px;border-radius:20px;background:#fff;box-shadow:0 20px 60px #00151f24}
.arrival-hero .search-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}
.arrival-hero .field{padding:14px 0 10px;border-bottom:1px solid var(--line)}
.arrival-hero .field label{color:var(--teal);font-size:.875rem;font-weight:650;margin-bottom:2px}
.arrival-hero .field input{height:43px;padding:4px 0;border:0;border-radius:0;font-size:1rem;box-shadow:none}
.arrival-hero .field input::placeholder{color:#6b7c82;opacity:1}
.arrival-hero .search-panel .primary{margin-top:16px;min-height:48px;border-radius:10px;font-size:1rem}
.arrival-hero .search-help{font-size:.75rem;line-height:1.5;margin-top:12px}
.hero-toolbar{grid-column:1/-1;align-self:end;border-top:1px solid #ffffff40;padding-top:18px}
.hero-toolbar .hero-location{font-size:.875rem;letter-spacing:.02em}
.slideshow-controls{border:0;background:transparent;padding:0;gap:8px}
.slideshow-controls .slide-toggle{font-size:.8rem}.slide-count{font-size:.8rem}
.home-lower{max-width:1240px;padding-top:70px;padding-bottom:36px}
.home-lower .section-head{margin-bottom:22px;align-items:end}
.home-lower .section-head h2{font-size:clamp(1.8rem,3.2vw,2.6rem);letter-spacing:-.045em;margin-bottom:0}
.home-lower .section-head .eyebrow{font-size:.75rem;letter-spacing:.14em;margin-bottom:12px}
.home-lower .section-head .meta{margin:0 0 6px}
.destination-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.destination-grid .route-card{border:0;border-radius:0;padding:26px 22px 28px;position:relative;min-width:0;box-shadow:none}
.destination-grid .route-card:not(:nth-child(4)):not(:last-child){border-right:1px solid var(--line)}
.destination-grid .route-card:hover{background:#f0f7f6;transform:none}
.destination-grid .number{font-size:.75rem;letter-spacing:.05em;color:var(--muted)}
.card-origin{display:block;font-size:.875rem;color:var(--muted);margin-top:30px}
.destination-grid h3{font-size:1.55rem;line-height:1.2;letter-spacing:-.04em;margin:8px 0 18px;overflow-wrap:anywhere}
.destination-grid .route-card p{font-size:.875rem;line-height:1.6;min-height:46px}
.card-link{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:650;color:var(--teal);margin-top:26px}
.destination-grid .card-arrow{display:none}
.destination-grid .route-card.scenic-card{grid-column:1/-1;margin-top:16px;min-height:260px;border-radius:16px;padding:32px;align-items:start}
.destination-grid .scenic-card:hover{background:#183b46}
.destination-grid .scenic-card .card-origin{margin-top:22px;color:#e2f1ed}
.destination-grid .scenic-card h3{font-size:2.2rem;margin-bottom:12px}
.destination-grid .scenic-card p{min-height:0}
.destination-grid .scenic-card .card-link{color:white;margin-top:20px;gap:32px}
.supporting{padding-top:40px;margin-top:48px;border-top:1px solid var(--line);gap:64px}
.supporting h2{font-size:clamp(1.5rem,2.7vw,2rem)}.supporting p:not(.eyebrow){color:var(--muted)}
.supporting img{height:270px;border-radius:16px}.supporting a{font-weight:600}.supporting figcaption a{font-weight:400}
.home-lower .photo-credits{border-top:1px solid var(--line);margin:40px 0 0;padding-top:18px;font-size:.75rem}
@media(max-width:900px){.arrival-hero .hero-content{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:30px;min-height:510px}.arrival-hero h1{font-size:2.7rem}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-grid .route-card:nth-child(2){border-right:0}.destination-grid .route-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.supporting{gap:30px}}
@media(max-width:600px){.arrival-hero .hero-content{display:block;padding-top:36px;padding-bottom:16px;min-height:0}.hero-intro{padding:0 0 28px}.arrival-hero h1{font-size:2.55rem;margin-bottom:16px;max-width:100%}.arrival-hero .eyebrow{margin-bottom:18px;font-size:.75rem}.arrival-hero .lead{font-size:1rem}.arrival-hero .search-panel{padding:4px 16px 14px;margin:0 0 20px;border-radius:14px}.arrival-hero .search-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.arrival-hero .field{padding-top:12px;min-width:0}.arrival-hero .field input{font-size:.875rem;height:38px}.arrival-hero .search-panel .primary{grid-column:1/-1;margin-top:12px;min-height:46px}.arrival-hero .search-help{font-size:.75rem;margin-top:10px}.hero-toolbar{padding-top:0;border:0}.hero-toolbar .hero-location{font-size:.75rem}.home-lower{padding-top:40px}.home-lower .section-head{display:block;margin-bottom:20px}.home-lower .section-head .meta{margin-top:12px}.destination-grid .route-card{padding:22px 16px}.destination-grid h3{font-size:1.35rem}.card-origin{margin-top:24px;font-size:.8rem}.destination-grid .route-card p{font-size:.8rem;min-height:42px}.card-link{font-size:.8rem;margin-top:22px}.destination-grid .route-card.scenic-card{padding:24px;min-height:270px}.supporting{grid-template-columns:1fr;margin-top:36px;padding-top:32px;gap:24px}.supporting img{height:220px}}
@media(max-width:360px){.arrival-hero h1{font-size:2.2rem}.arrival-hero .search-grid{display:flex}.arrival-hero .field{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px;padding:7px 0}.arrival-hero .field label{margin:0}.arrival-hero .field input{height:38px}.destination-grid h3{font-size:1.2rem}.destination-grid .route-card{padding:20px 12px}.hero-toolbar{gap:4px}.slideshow-controls{gap:2px}.slideshow-controls .slide-toggle{padding:0 8px;min-width:64px}}

/* Citywide discovery shares the guide's compact, accessible working surface. */
.citywide-banner{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 30px;margin-bottom:44px;border:1px solid #b7d5cf;border-radius:16px;background:#f0f8f6;color:var(--ink);text-decoration:none}
.citywide-banner h2{font-size:1.35rem;margin:7px 0}.citywide-banner .eyebrow{font-size:.75rem}.citywide-banner p{margin:0;font-size:.9rem;color:var(--muted)}.citywide-link{font-size:.9rem;font-weight:650;color:var(--teal);flex-shrink:0}.citywide-banner:hover{border-color:var(--teal)}
.seoul-page{padding-bottom:60px}.seoul-intro{margin:30px 0 24px}.seoul-intro .lead{font-size:1rem}.seoul-intro h1{font-size:clamp(1.8rem,4vw,2.8rem)}
.city-planner{padding:24px;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:16px;background:white;scroll-margin-top:24px}
.city-planner .field label{color:var(--muted)}.city-planner .field input,.city-planner .field select{border:1px solid var(--line);font-size:1rem}.city-planner .search-help{color:var(--muted);font-size:.875rem}.city-status{font-size:.875rem;margin:12px 0 0;color:var(--teal)}.city-status:empty{display:none}
.city-result{scroll-margin-top:20px;margin:28px 0 40px}.city-result h2{font-size:1.5rem}.journey-endpoints{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:white;border-radius:12px;margin:0 0 12px}.journey-endpoints>div{padding:16px 20px;min-width:0}.journey-endpoints>div+div{border-left:1px solid var(--line)}.journey-endpoints dt{font-size:.875rem;color:var(--teal)}.journey-endpoints dd{margin:6px 0 0;font-weight:650;overflow-wrap:anywhere}
.city-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.city-options article{display:flex;flex-direction:column;align-items:start;background:white;padding:24px;border:1px solid var(--line);border-radius:14px;min-width:0}.city-options p{font-size:.95rem;color:var(--muted)}.city-options a{margin-top:auto;font-size:.9rem}.city-options h3{font-size:1.15rem}.secondary-action{display:inline-flex;padding:12px 16px;border:1px solid var(--teal);border-radius:10px;min-height:48px;align-items:center;text-decoration:none;font-weight:650}
.city-result .notice{font-size:.875rem}.seoul-directory{margin-top:44px;scroll-margin-top:24px}.seoul-directory .section-head{align-items:center;margin-bottom:16px}.seoul-directory h2{margin-bottom:0}.district-filter label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:5px}.district-filter select{padding:9px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:white;max-width:100%;min-width:165px}
.district-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.district-card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.district-card>p{font-size:.875rem;font-weight:650;color:var(--teal);margin-bottom:16px}.district-card>p span{display:block;font-size:.75rem;color:var(--muted);font-weight:400}.district-card h3{font-size:1.05rem;margin-bottom:8px;overflow-wrap:anywhere}.district-card h3 a{text-decoration:none;color:var(--ink);display:block}.district-card h3 a:hover{text-decoration:underline;color:var(--teal)}.district-place-alt{display:block;font-size:.8rem;color:var(--muted);margin-bottom:18px}.district-card>a{font-size:.875rem;display:inline-block;min-height:32px;padding:3px 0}
.city-official,.directory-sources{margin-top:40px}.directory-sources{padding-top:24px;border-top:1px solid var(--line)}.directory-sources h2{font-size:1.1rem}.directory-sources p{margin-bottom:8px}
@media(max-width:800px){.citywide-banner{align-items:start;flex-direction:column;gap:16px}.city-planner .search-grid{grid-template-columns:1fr 1fr}.district-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.citywide-banner{padding:20px;margin-bottom:32px}.citywide-banner h2{font-size:1.2rem}.city-planner{padding:18px}.city-planner .search-grid,.city-options,.journey-endpoints{grid-template-columns:1fr}.journey-endpoints>div+div{border-left:0;border-top:1px solid var(--line)}.seoul-directory .section-head{display:block}.district-filter{margin-top:18px}.district-filter select{width:100%}.district-grid{grid-template-columns:1fr}.district-card{padding:18px}.city-options article{padding:20px}.city-options a{width:100%;justify-content:center}.seoul-intro{margin-top:24px}}

/* Destination first: one invitation, one search, then ways to explore. */
.discovery-hero .hero-content{display:block;min-height:570px;padding-top:60px;padding-bottom:20px;max-width:1240px}
.discovery-hero .hero-intro{padding:0 0 28px}.discovery-hero h1{font-size:clamp(2.5rem,5vw,4.2rem);max-width:820px}.discovery-hero .lead{font-size:1.05rem}
.destination-search{max-width:780px}.destination-input-row{display:flex;gap:12px;align-items:center;padding:9px 10px 9px 20px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 30px #132e3810}.search-symbol{font-size:2rem;color:var(--teal);line-height:1}.destination-input-row input{flex:1;min-width:0;height:48px;border:0;background:transparent;padding:4px;font-size:1rem;color:var(--ink)}.destination-input-row .primary{gap:16px;white-space:nowrap;font-size:.95rem}.destination-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 44px}.destination-shortcuts a{font-size:.875rem;color:#fff;text-decoration:none;padding:6px 14px;border:1px solid #ffffff65;border-radius:24px;background:#09232940}.destination-shortcuts a:hover{background:#ffffff25}.discovery-hero .hero-toolbar{padding-top:16px}
.travel-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.travel-destination{text-decoration:none;color:var(--ink);min-width:0;display:block}.destination-photo{border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--ink)}.destination-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.travel-destination:hover img{transform:scale(1.035)}.destination-copy{padding:18px 0 0}.destination-copy>span:first-child{font-size:.75rem;letter-spacing:.13em;color:var(--teal);font-weight:700}.destination-copy h3{font-size:1.8rem;margin:6px 0 8px}.destination-copy p{font-size:.9rem;color:var(--muted);margin-bottom:14px}.destination-open-label{font-size:.875rem;font-weight:650;color:var(--teal)}.destination-feature{margin-bottom:48px}.home-transport{margin-top:48px}.home-transport .route-card{padding:20px}.home-transport .route-card:last-child{grid-column:auto}.home-transport h3{font-size:1.05rem}
.destination-cover{position:relative;isolation:isolate;background:var(--ink);color:white;min-height:340px;display:flex;align-items:end}.destination-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.destination-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#031d2de0,#031d2d05);z-index:-1}.destination-cover .wrap{width:100%;padding-top:90px;padding-bottom:30px}.destination-cover h1{font-size:clamp(3rem,7vw,5rem);margin-bottom:12px}.destination-cover p{margin-bottom:0}.destination-cover .eyebrow{color:#d1f4e7;margin-bottom:10px}
.destination-body{padding-bottom:60px}.destination-intro{font-size:1.1rem;max-width:800px;line-height:1.8;margin:32px 0}.destination-body section{scroll-margin-top:24px}.sight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sight-card{padding:24px;background:white;border:1px solid var(--line);border-radius:12px;position:relative;text-decoration:none;color:var(--ink)}.sight-card>span:first-child{font-size:.8rem;color:var(--muted)}.sight-card h3{font-size:1.25rem;margin:10px 0}.sight-card p{font-size:.875rem;margin-bottom:20px;color:var(--muted)}.sight-arrow{color:var(--teal);font-size:1.4rem}.sight-card:hover{border-color:var(--teal)}.all-places-link{display:inline-block;margin-top:18px;font-size:.9rem}
.interest-nav{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:30px 0 24px;padding:0 0 14px}.interest-nav a{padding:7px 14px;font-size:.95rem;font-weight:650;text-decoration:none;color:var(--teal);border-radius:20px;background:#e7f2ef}.destination-branches{display:grid;grid-template-columns:1fr 1fr;gap:18px}.branch-card{padding:26px;background:white;border:1px solid var(--line);border-radius:14px;scroll-margin-top:24px}.branch-card h2{font-size:1.35rem}.branch-card p:not(.eyebrow){font-size:.95rem;color:var(--muted)}.branch-links{display:flex;gap:12px;flex-wrap:wrap}.branch-links a{font-size:.9rem;display:inline-block;min-height:44px;padding:10px 0}.destination-mobility{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;padding:30px;margin-top:24px;background:#e7f2ef;border-radius:14px;scroll-margin-top:24px}.destination-mobility h2{font-size:1.4rem}.destination-mobility p{font-size:.95rem}.mobility-guide{margin-bottom:18px;font-size:.9rem}.destination-departure label{display:block;font-size:.875rem;font-weight:650;margin-bottom:8px}.destination-departure>div{display:flex;gap:8px}.destination-departure input:not([type=hidden]){width:100%;min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:1rem}.destination-departure button{font-size:.875rem}.mobility-tools .meta{font-size:.8rem;margin:12px 0 0}.destination-source{border-top:1px solid var(--line);margin-top:36px;padding-top:24px}.destination-source h2{font-size:1.2rem}.destination-source>p{font-size:.9rem;color:var(--muted)}.next-destinations{margin-top:40px}
.explore-page{padding-bottom:50px}.explore-page>h1{margin-top:12px}.explore-page>.destination-search{margin:24px 0}.explore-page>section{margin-top:30px}.place-catalog{scroll-margin-top:24px}.place-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.catalog-place{display:block;padding:20px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);text-decoration:none}.catalog-place>span{font-size:.8rem;color:var(--teal)}.catalog-place h3{margin:8px 0;font-size:1.1rem}.catalog-place p{font-size:.8rem;color:var(--muted);margin:0}.catalog-place:hover{border-color:var(--teal)}.place-catalog label{font-size:.875rem}.place-catalog select{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:.9rem;background:white;color:var(--ink)}.selected-place>[data-place-title]{font-size:2rem}.selected-place-overview{padding:24px;border-left:4px solid var(--teal);background:white;border-radius:0 12px 12px 0}.selected-place-overview p{font-size:.95rem}.selected-place>section{scroll-margin-top:24px}
@media(max-width:800px){.travel-destinations{gap:16px}.destination-copy h3{font-size:1.5rem}.destination-mobility{grid-template-columns:1fr}.place-catalog-grid{grid-template-columns:1fr 1fr}.sight-grid{grid-template-columns:1fr 1fr}.destination-departure button{white-space:nowrap}}
@media(max-width:600px){.discovery-hero .hero-content{padding-top:36px;min-height:480px}.discovery-hero h1{font-size:2.3rem}.discovery-hero .hero-intro{padding-bottom:26px}.destination-input-row{flex-wrap:wrap;padding:12px;gap:6px 10px}.destination-input-row input{font-size:.95rem;width:calc(100% - 42px);flex-basis:calc(100% - 42px)}.destination-input-row .primary{width:100%;margin-top:3px;min-height:44px}.destination-shortcuts{gap:8px;margin-bottom:28px}.destination-shortcuts a{font-size:.8rem;padding:5px 12px}.travel-destinations{grid-template-columns:1fr;gap:26px}.destination-photo{aspect-ratio:16/10}.destination-copy{padding-top:14px}.destination-copy h3{font-size:1.7rem}.destination-feature .section-head>a,.home-transport .section-head>a{display:inline-block;margin-top:14px;font-size:.9rem}.destination-branches,.destination-mobility,.sight-grid{grid-template-columns:1fr}.destination-mobility{padding:22px;gap:16px}.destination-departure>div{flex-direction:column}.destination-cover{min-height:280px}.destination-cover h1{font-size:3rem}.destination-intro{font-size:1rem}.branch-card{padding:22px}.place-catalog-grid{grid-template-columns:1fr}.place-catalog .section-head{display:block}.place-catalog label{display:block;margin:14px 0}.interest-nav{gap:8px}.interest-nav a{font-size:.85rem;padding:7px 12px}.selected-place>[data-place-title]{font-size:1.7rem}.next-destinations .travel-destinations{grid-template-columns:1fr 1fr}.next-destinations .destination-copy h3{font-size:1.3rem}.next-destinations .destination-photo{aspect-ratio:1}.next-destinations .destination-copy p{font-size:.8rem}}

/* Responsive foldable baseline: layout follows available space, not device names. */
:root{--page-gutter:clamp(1rem,3vw,1.75rem)}
.wrap{padding-left:max(var(--page-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--page-gutter),env(safe-area-inset-right,0px))}
.preview-note{padding-left:max(var(--page-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--page-gutter),env(safe-area-inset-right,0px))}
.site-header{padding-top:env(safe-area-inset-top,0px)}
.site-footer{padding-bottom:max(28px,env(safe-area-inset-bottom,0px))}
.header-inner{flex-wrap:wrap;column-gap:14px;row-gap:6px;padding-top:10px;padding-bottom:10px}
.brand{flex-shrink:0;max-width:100%}.nav{flex-wrap:wrap;gap:8px 16px;min-width:0}
.nav a,.interest-nav a,.condition-nav a,.destination-shortcuts a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.slideshow-controls button{min-width:44px;min-height:44px}.slideshow-controls{flex-wrap:wrap;max-width:100%}
.search-grid>*,.destination-branches>*,.destination-mobility>*,.city-options>*,.guide-layout>*,.section-head>*,.branch-card,.mobility-tools,.field,.catalog-place{min-width:0}
:is(h1,h2,h3,p,dd,a,button,summary){overflow-wrap:anywhere}
:is(.destination-input-row input,.arrival-hero .field input,.field input,.field select,.place-catalog select,.district-filter select,.destination-departure input:not([type=hidden])){font-size:max(1rem,16px)}
.primary,.secondary-action{max-width:100%;white-space:normal;line-height:1.4;min-height:48px}
.destination-input-row .primary{white-space:normal;flex-shrink:0}
.travel-destinations,.next-destinations .travel-destinations{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:24px}
.sight-grid,.place-catalog-grid,.district-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.destination-branches,.city-options,.condition-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.destination-mobility{grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr))}
.destination-departure>div{flex-wrap:wrap}.destination-departure input:not([type=hidden]){flex:1 1 12rem;width:auto;max-width:100%}.destination-departure button{flex:0 1 auto;white-space:normal}
.destination-input-row input{width:auto}.destination-shortcuts,.interest-nav,.condition-nav{max-width:100%}
@media(max-width:600px){.destination-departure input:not([type=hidden]){flex:0 1 auto;width:100%}}
.table-wrap{container-type:inline-size}
@container (max-width:40rem){
 .table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td,.table-wrap tbody th{display:block;width:100%}
 .table-wrap tr{border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:12px;overflow:hidden}
 .table-wrap tbody th{background:var(--ink);color:white;padding:12px;min-width:0}
 .table-wrap td{display:grid;grid-template-columns:minmax(64px,22%) minmax(0,1fr);gap:10px;padding:10px 12px}
 .table-wrap td:before{content:attr(data-label);font-size:.875rem;font-weight:650;color:var(--muted)}
 .table-wrap td:last-child{border:0}
}
@media(max-width:68rem){.guide-layout{grid-template-columns:minmax(0,1fr)}.toc{display:none}}
@media(max-width:25rem){
 .header-inner .nav{flex-basis:100%;justify-content:space-between;gap:4px 8px}.nav .nav-home{display:inline-flex}
 .brand{font-size:1.2rem}.brand-icon{flex-shrink:0}
 .hero-toolbar{align-items:start}.hero-toolbar .hero-location{flex-basis:100%}.slideshow-controls{margin-left:0}
 .next-destinations .destination-photo{aspect-ratio:16/10}
 .route-actions{grid-template-columns:minmax(0,1fr)}
 .option-points>div{grid-template-columns:minmax(0,1fr);gap:5px}
 .table-wrap td{grid-template-columns:minmax(60px,22%) minmax(0,1fr)}
}
@media(max-height:500px) and (orientation:landscape){
 .discovery-hero .hero-content{min-height:0;padding-top:24px;padding-bottom:16px}
 .discovery-hero .hero-intro{padding-bottom:16px}.discovery-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:12px}
 .discovery-hero .eyebrow{margin-bottom:12px}.destination-shortcuts{margin-bottom:18px}
 .destination-cover{min-height:220px}
}
@media print{.table-wrap{container-type:normal}}

/* Weather supports the destination-first home page. */
.home-weather{margin:40px 0 42px;scroll-margin-top:24px}
.home-weather>.section-head{margin-bottom:16px;align-items:end}
.home-weather>.section-head h2{font-size:1.6rem;margin-bottom:0}
.home-weather>.section-head .eyebrow{font-size:.7rem;margin-bottom:7px}
.home-weather>.section-head .meta{font-size:.8rem;margin-bottom:2px}
.weather-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,430px);gap:20px;align-items:start;max-width:960px;margin:0 auto}
.weather-grid{display:grid;grid-template-columns:1fr;gap:10px}
.weather-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:5px 12px;padding:14px 16px;background:#f7faf9;border:1px solid var(--line);border-radius:13px}
.weather-card-head{display:contents}
.weather-card-head>div{grid-column:1;grid-row:1}
.weather-card-head>.weather-icon{grid-column:2;grid-row:1 / span 2;align-self:center}
.weather-card h3{font-size:1.05rem;letter-spacing:-.025em;margin:0 0 2px}
.weather-location{font-size:.7rem;color:var(--muted);margin:0;line-height:1.4}
.weather-icon{width:44px;height:44px;flex:none;overflow:visible}
.weather-reading{grid-column:1;grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.weather-temperature{font-size:1.85rem;font-weight:750;letter-spacing:-.05em;line-height:1.1;color:var(--ink);white-space:nowrap}
.weather-state{font-size:.76rem;color:var(--muted);margin:0;line-height:1.4}
.weather-card[data-status="ready"] .weather-state{color:var(--teal);font-weight:650}
.weather-timing{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:0 10px;border-top:1px solid var(--line);padding-top:6px;margin-top:3px}
.weather-observed,.weather-sky{margin:0;color:var(--muted);font-size:.65rem;line-height:1.6}
.weather-source{margin:12px 0 0;color:var(--muted);font-size:.7rem;line-height:1.7}
.weather-map{min-width:0;width:100%;margin:0;border:1px solid #d6e6e5;border-radius:14px;background:#edf5f5;overflow:hidden}
.weather-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 0}
.weather-map-head h3{margin:0;font-size:.9rem;letter-spacing:-.025em}
.weather-map-head>span{font-size:.65rem;font-weight:650;color:var(--teal);letter-spacing:.08em;white-space:nowrap}
.weather-map-canvas{position:relative;aspect-ratio:640/620;width:100%;margin-top:0}
.weather-geography{position:absolute;inset:0;width:100%;height:100%}
.weather-land{fill:#cde3dc;stroke:#84b3a9;stroke-width:.85;stroke-linejoin:round}
.weather-leader{fill:none;stroke:#66938d;stroke-width:1;stroke-dasharray:2 2}
.weather-point{fill:#08766c;stroke:#fff;stroke-width:1.5}
.weather-map-markers{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.weather-map-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:18%;text-align:center;background:#ffffffed;border:1px solid #dce9e5;box-shadow:0 2px 8px #285d5310;border-radius:8px;padding:4px 2px;line-height:1.2}
.weather-map-city{display:block;font-size:.72rem;font-weight:750;letter-spacing:-.025em}
.weather-map-city small{display:block;font-size:.74em;color:var(--muted);font-weight:500;line-height:1.1;margin-top:2px}
.weather-map-reading{display:flex;align-items:center;justify-content:center;gap:1px;min-height:27px}
.weather-map-reading .weather-icon{width:26px;height:26px}
.weather-map-reading strong{font-size:1rem;letter-spacing:-.05em;white-space:nowrap}
.weather-map-state{display:block;font-size:.6rem;color:var(--teal);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weather-map-marker[data-status="unavailable"] .weather-map-state{color:var(--muted)}
.weather-map figcaption{font-size:.65rem;line-height:1.6;padding:0 16px 12px;margin-top:-8px;position:relative;color:var(--muted)}
@media(max-width:780px){.weather-layout{grid-template-columns:1fr;gap:16px}.weather-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-card{padding:12px;grid-template-columns:minmax(0,1fr) 36px;gap:5px 8px}.weather-card-head>.weather-icon{width:36px;height:36px}.weather-card h3{font-size:1rem}.weather-temperature{font-size:1.6rem}.weather-location{font-size:.65rem}.weather-map{max-width:430px;justify-self:center}}
@media(max-width:600px){.home-weather{margin:30px 0 34px}.home-weather>.section-head{display:block}.home-weather>.section-head h2{font-size:1.45rem}.home-weather>.section-head .meta{margin-top:7px}.weather-grid{grid-template-columns:1fr}.weather-card{padding:12px 14px;grid-template-columns:minmax(0,1fr) 40px}.weather-card-head>.weather-icon{width:40px;height:40px}.weather-temperature{font-size:1.75rem}.weather-location{font-size:.7rem}.weather-map-city{font-size:clamp(.65rem,2.75vw,.72rem)}.weather-map-reading .weather-icon{width:24px;height:24px}.weather-map-reading strong{font-size:clamp(.85rem,3.7vw,1rem)}.weather-map-marker{padding:4px 1px}.weather-map figcaption{margin-top:0}}

/* Place suggestions stay anchored to each editable journey field. */
.place-field{position:relative}.place-field:focus-within{z-index:5}
.place-suggestions{position:absolute;inset:auto 0 auto 0;top:100%;margin-top:7px;z-index:6;max-height:320px;max-height:min(320px,45dvh);overflow-y:auto;overscroll-behavior:contain;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #132e3826}
.place-option{display:flex;flex-direction:column;gap:2px;min-height:52px;padding:11px 14px;cursor:pointer;line-height:1.45;overflow-wrap:anywhere}
.place-option+.place-option{border-top:1px solid var(--line)}.place-option:hover,.place-option[aria-selected=true]{background:var(--mint);color:var(--teal)}
.place-option span{font-size:1rem;font-weight:600}.place-option small{font-size:.875rem;color:var(--muted)}.place-empty{padding:14px;font-size:.875rem;color:var(--muted)}

/* Practical help is readable and selectable without client-side JavaScript. */
.travel-help{margin:48px 0;scroll-margin-top:24px}.travel-help .section-head{align-items:end;gap:20px}.travel-help .section-head>.meta{max-width:340px;margin:0 0 5px}
.help-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.help-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--white);overflow:hidden;scroll-margin-top:24px}
.help-card summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;cursor:pointer;min-height:108px}.help-card summary::-webkit-details-marker{display:none}
.help-card summary strong{display:block;font-size:1.15rem;line-height:1.35;color:var(--ink)}.help-issue{display:block;margin-top:7px;font-size:.875rem;line-height:1.5;color:var(--muted)}
.help-toggle{font-size:1.65rem;color:var(--teal);flex-shrink:0}.help-card[open]{border-color:var(--teal)}.help-card[open] summary{background:var(--mint)}.help-card[open] .help-toggle{transform:rotate(45deg)}
.help-card summary:focus-visible{outline:3px solid #c56d26;outline-offset:-4px}.help-body{padding:22px}.help-answer{font-size:1rem;line-height:1.65;margin-bottom:20px}.help-body h3{font-size:.875rem;color:var(--teal);margin:0 0 8px}.help-body ol{margin:0;padding-left:22px}.help-body li{padding-left:4px;margin:0 0 12px;font-size:1rem}
.help-actions{display:flex;flex-direction:column;align-items:start;gap:8px;margin-top:20px}.help-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;max-width:100%}.help-source{border-top:1px solid var(--line);padding-top:14px;margin:18px 0 0;font-size:.8rem;line-height:1.6;color:var(--muted)}.help-note{font-size:.875rem;color:var(--muted);margin:16px 0 0}
@media(max-width:540px){.travel-help .section-head{display:block}.travel-help .section-head>.meta{max-width:none;margin-top:12px}.help-card summary,.help-body{padding:18px}}

/* Photo help cards keep their labels outside the image. */
.help-card summary{display:block;padding:0;min-height:0}
.help-card .help-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#eaf2f3}
.help-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:110px;padding:20px 22px}
.help-heading>span:first-child{min-width:0}.help-card summary:hover .help-heading{background:#f0f7f5}
.help-card[open] .help-heading{background:var(--mint)}
@media(max-width:540px){.help-heading{padding:18px;min-height:100px}.help-card .help-image{aspect-ratio:3/2}}
@media(min-width:600px){.help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.help-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){
 .help-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
 .help-heading{padding:16px 14px;gap:8px;min-height:154px;align-items:flex-start}
 .help-card summary strong{font-size:1rem;line-height:1.4}
 .help-toggle{font-size:1.35rem;line-height:1.4}
 .help-card:nth-child(2){--help-column:1}.help-card:nth-child(3){--help-column:2}
 .help-card:nth-child(4){--help-column:3}.help-card:nth-child(5){--help-column:4}.help-card:nth-child(6){--help-column:5}
 .help-card[open]{overflow:visible;border-color:transparent;background:transparent}
 .help-card[open] summary{border-radius:13px;box-shadow:0 0 0 1px var(--teal);overflow:hidden}
 /* The open answer stays in flow below the six equal summaries. Each step
    includes the 12px gap and both 1px card borders. */
 .help-card[open] .help-body{width:calc(600% + 70px);margin-top:16px;margin-inline-start:calc(var(--help-column,0) * -1 * (100% + 14px));padding:24px 28px;border:1px solid var(--line);border-radius:14px;background:var(--white);overflow-wrap:anywhere}
 .help-body>*{max-width:72ch}
}

.help-photo-credit{font-size:.875rem;color:var(--muted);line-height:1.6;margin:12px 0 0;overflow-wrap:anywhere}

/* Five photo-led routes on desktop, with labels separate from the image. */
.home-transport{scroll-margin-top:24px}
.home-transport .transport-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.home-transport .transport-card{padding:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;background:var(--white)}
.transport-card-photo{background:var(--paper)}
.transport-card-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.transport-card-photo figcaption{padding:8px 14px;color:var(--muted);font-size:.75rem;line-height:1.5;border-bottom:1px solid var(--line)}
.transport-card-copy{display:flex;flex-direction:column;flex:1;padding:16px;min-width:0}
.transport-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.transport-card-top .number{font-size:.7rem;letter-spacing:.06em}
.transport-card-top .card-arrow{float:none;font-size:1.35rem;line-height:1}
.transport-card h3{line-height:1.4;margin:12px 0 10px}
.transport-card p{font-size:.875rem;line-height:1.6}
.transport-card-action{margin-top:auto;padding-top:20px;color:var(--teal);font-size:.875rem;font-weight:650}
/* Photo attribution stays grouped and readable on wide and narrow screens. */
.photo-credit-panel{margin:24px 0;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:.875rem;line-height:1.6}
.photo-credit-panel>summary{display:flex;align-items:center;gap:12px;min-height:64px;padding:16px 20px;cursor:pointer;list-style:none;border-radius:14px;color:var(--teal)}
.photo-credit-panel>summary::-webkit-details-marker{display:none}
.photo-credit-panel>summary:hover{background:var(--mint)}
.photo-credit-title{flex:1;min-width:0;font-size:1rem;font-weight:700}
.photo-credit-count{flex-shrink:0;padding:3px 9px;background:var(--mint);border-radius:6px;font-size:.8125rem;color:var(--muted)}
.photo-credit-toggle{width:9px;height:9px;flex-shrink:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 3px 4px 5px}
.photo-credit-panel[open]>summary{border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}
.photo-credit-panel[open] .photo-credit-toggle{transform:rotate(225deg);margin-top:6px;margin-bottom:0}
.photo-credit-content{padding:0 20px 18px}
.photo-credit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;list-style:none;padding:0;margin:0}
.photo-credit-list>li{min-width:0;padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.photo-credit-place{display:block;font-size:.9375rem;font-weight:700;line-height:1.6;text-underline-offset:3px;margin-bottom:10px}
.photo-credit-list dl{margin:0}.photo-credit-list dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;margin:4px 0}
.photo-credit-list dt{color:var(--muted)}.photo-credit-list dd{margin:0;min-width:0}.photo-credit-list dd a{text-underline-offset:3px}
.photo-credit-note{font-size:.8125rem;color:var(--muted);margin:18px 0 0;max-width:90ch}
@media(max-width:650px){.photo-credit-panel>summary{padding:14px;gap:8px}.photo-credit-content{padding:0 16px 16px}.photo-credit-list{grid-template-columns:minmax(0,1fr)}.photo-credit-list dl>div{grid-template-columns:90px minmax(0,1fr);gap:8px}}

@media(min-width:600px){.home-transport .transport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.home-transport .transport-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.home-transport .transport-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

#help-transport .help-image{object-position:center 55%}
#help-luggage .help-image{object-position:center 72%}

/* A disclosed referral link beside the booking guidance. */
.help-affiliate{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f5f9f8}
.affiliate-label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:8px}
.help-affiliate .secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;max-width:100%;white-space:normal}
.help-affiliate p{font-size:.875rem;line-height:1.6;color:var(--muted);margin:10px 0 0}

/* Destination directories: scan by area and theme, then open only what is useful. */
.destination-shortnav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 36px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.destination-shortnav a{padding:9px 15px;min-height:44px;border-radius:999px;background:white;border:1px solid var(--line);font-size:.9rem;text-decoration:none}
.destination-shortnav .visitor-info-link{background:var(--teal);border-color:var(--teal);color:white;margin-left:auto}
.directory-section{margin:32px 0 48px;scroll-margin-top:24px}.directory-section .section-head{gap:16px;flex-wrap:wrap;margin-bottom:12px}
.directory-total{background:var(--mint);border-radius:999px;padding:8px 14px;font-size:.875rem;color:var(--teal);white-space:normal}
.directory-intro{color:var(--muted);margin-bottom:22px}.directory-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:22px;background:white;border:1px solid var(--line);border-radius:14px}
.directory-filters>label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;min-width:0;flex:1 1 160px;color:var(--muted)}
.directory-filters>.directory-search{flex:2 1 240px}.directory-filters input[type=search],.directory-filters select{width:100%;min-width:0;min-height:48px;font-size:1rem;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
.directory-reset{min-height:48px;padding:10px 16px;background:var(--mint);border:1px solid var(--line);border-radius:8px;color:var(--teal);font-size:.9rem;cursor:pointer}
.directory-result-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 18px;margin:20px 0 14px;font-size:.85rem;color:var(--muted)}
.directory-result-line p{margin:0;font-weight:600;color:var(--ink)}.directory-result-line>span{font-size:.8rem}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.directory-card{min-width:0;background:white;border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;scroll-margin-top:24px;overflow-wrap:anywhere}
.directory-card:hover{border-color:#91b9b3}.directory-card:focus{outline:3px solid #c56d26;outline-offset:3px}
.directory-tags{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:.75rem;line-height:1.5;margin-bottom:15px;color:var(--muted)}.directory-tags span:first-child{color:var(--teal);font-weight:600}
.directory-card h3,.information-card h2{font-size:1.13rem;line-height:1.4;margin:0 0 7px;letter-spacing:-.02em}.directory-card h3 a{color:var(--ink);text-decoration:none}.directory-card h3 a:hover{text-decoration:underline}
.place-local-name{font-size:.84rem;color:var(--muted);line-height:1.5;margin:0 0 18px}
.directory-card-links{display:flex;flex-wrap:wrap;gap:2px 16px;margin-top:auto;padding-top:12px;border-top:1px solid #edf2f3}
.directory-card-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;font-weight:600;text-underline-offset:3px}
.directory-more{display:block;margin:24px auto;min-height:48px;cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:10px 24px;background:white;color:var(--teal);font-size:1rem}
.directory-method{margin:28px 0;color:var(--muted);font-size:.875rem;line-height:1.7}.directory-method summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--teal)}.directory-method h2{font-size:1.3rem;color:var(--ink)}.directory-method li{margin:10px 0}
.information-page{padding-bottom:48px}.information-heading{max-width:800px;margin:40px 0 24px}.information-heading h1{font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.1;margin:18px 0 20px}.information-heading .lead{font-size:1.1rem;line-height:1.7}
.directory-types{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin:0 0 8px;flex-basis:100%;min-width:0}.directory-types legend{font-size:.85rem;color:var(--muted);margin-bottom:10px}
.directory-types label{position:relative;min-width:0;cursor:pointer}.directory-types input{position:absolute;opacity:0;width:1px;height:1px}.directory-types span{display:block;padding:11px 18px;background:#f3f7f7;border:1px solid var(--line);border-radius:999px;font-size:.9rem;line-height:1.5}
.directory-types input:checked+span{background:var(--teal);border-color:var(--teal);color:white}.directory-types input:focus-visible+span{outline:3px solid #c56d26;outline-offset:3px}
.directory-service-note{font-size:.875rem;color:var(--muted);margin:18px 0}.information-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.information-address{font-size:.9rem;line-height:1.7;margin:0 0 14px}.information-address>span{display:block;color:var(--muted);font-size:.75rem;font-weight:600;margin-bottom:4px}.korean-address{font-size:.8rem;line-height:1.6;margin:0 0 16px}.korean-address summary{color:var(--teal);cursor:pointer;min-height:30px}
.help-directory-link{font-size:.95rem;margin:22px 0 8px}.help-directory-link a{display:inline-flex;align-items:center;min-height:44px}
.directory-grid [hidden],[data-directory-controls][hidden],[data-directory-more][hidden],[data-walking-note][hidden],[data-directory-empty][hidden]{display:none!important}
@media(max-width:900px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-shortnav .visitor-info-link{margin-left:0}}
@media(max-width:560px){.directory-grid{grid-template-columns:minmax(0,1fr)}.directory-filters{padding:16px;gap:12px}.directory-filters>.directory-search{flex-basis:100%}.directory-filters>label{flex-basis:calc(50% - 12px);min-width:0}.directory-reset{flex:1 1 100%}.directory-card{padding:20px}.directory-types{gap:8px}.directory-types label{flex:1 1 100%}.directory-types span{text-align:center}.directory-result-line>span{display:none}.destination-shortnav{gap:6px}.destination-shortnav a{font-size:.8rem;padding:9px 12px}}

/* Time-of-day photo captions stay separate from destination search. */
.hero-photo-caption{flex:1 1 230px;min-width:0;display:flex;flex-direction:column;gap:4px;color:#fff;text-shadow:0 1px 4px #000}
.hero-period{font-size:.875rem;color:#e4f0f2;line-height:1.4}
.hero-photo-note{font-size:.875rem;line-height:1.5;color:#e4f0f2;max-width:42ch}
.slideshow-controls button:disabled{opacity:.4;cursor:default}
@media(max-width:540px){.hero-photo-caption{flex-basis:100%}.hero-toolbar .slideshow-controls{margin-left:0}.hero-photo-caption .hero-location{font-size:.875rem}}
/* The original festival photo has an embedded border; keep it outside the frame. */
.hero-scenery[data-photo-id="seoul-fireworks"]{transform:scale(1.05)}

/* The whole airport-bus card is one large, keyboard-accessible booking link. */
.airport-bus-booking{margin:24px 0 32px;max-width:100%;text-align:left}
.airport-bus-card{display:flex;align-items:center;gap:24px;padding:28px;border:2px solid #b7d8d3;border-radius:20px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 24px #132e380a}
.airport-bus-card:hover{border-color:var(--teal);background:#f4fbf9}
.airport-bus-card:focus-visible{outline:3px solid #b74310;outline-offset:5px}
.airport-bus-icon{display:grid;place-items:center;flex:0 0 112px;min-height:112px;border-radius:24px;background:#fff0e5;font-size:4.25rem;line-height:1.2}
.airport-bus-copy{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}
.airport-bus-kicker{font-size:.875rem;font-weight:750;letter-spacing:.08em;color:var(--teal)}
.airport-bus-copy strong{font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
.airport-bus-description{font-size:1rem;line-height:1.6;color:var(--muted)}
.airport-bus-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:5px;padding:11px 18px;border-radius:10px;background:#a93910;color:#fff;font-size:1rem;font-weight:700;line-height:1.5}
.airport-bus-card:hover .airport-bus-cta{background:#8e2d0a}
.airport-bus-booking .airport-bus-terms{margin:12px 4px 5px;color:var(--muted);font-size:.875rem;line-height:1.6}
.airport-bus-booking .airport-bus-disclosure{margin:0 4px;color:var(--muted);font-size:.875rem;line-height:1.6}
@media(max-width:540px){.airport-bus-card{flex-direction:column;align-items:flex-start;gap:16px;padding:22px}.airport-bus-icon{flex-basis:auto;width:88px;min-height:88px;font-size:3.5rem;border-radius:20px}.airport-bus-copy{width:100%}.airport-bus-cta{width:100%;margin-top:8px}.airport-bus-booking{margin:22px 0 28px}}
@media(max-width:480px){.weather-map-marker{padding:3px 1px}.weather-map-reading{min-height:24px}.weather-map-state{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.weather-map-city{font-size:clamp(.65rem,2.75vw,.82rem)}}
@media(max-width:360px){.weather-map-reading .weather-icon{width:24px;height:24px}}

/* Visitor taxi guide: readable instructions with compact service choices. */
.taxi-page{padding-bottom:64px}.taxi-heading{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:40px;align-items:center;margin:30px 0 34px}.taxi-heading h1{font-size:clamp(2rem,3.6vw,2.85rem);max-width:680px}.taxi-heading .lead{font-size:1.0625rem}.taxi-photo img{display:block;width:100%;height:auto;border-radius:14px}.taxi-photo figcaption{margin-top:6px}.taxi-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.taxi-choices>a{padding:20px 18px;border:1px solid var(--line);border-top:4px solid #e4b23d;border-radius:12px;text-decoration:none;color:var(--ink);background:#fff;display:flex;flex-direction:column}.taxi-choices>a:hover{border-color:var(--teal)}.taxi-choices>a>span{font-size:.875rem;color:var(--muted)}.taxi-choices h3{font-size:1.2rem;margin:7px 0 10px}.taxi-choices p{font-size:1rem;flex:1}.taxi-choices strong{font-size:.875rem;color:var(--teal)}.taxi-guide-link{display:flex;gap:20px;align-items:center;margin:22px 0 26px;padding:23px 25px;border:1px solid var(--line);background:#fff;border-radius:14px;color:var(--ink);text-decoration:none}.taxi-guide-link>span:nth-child(2){flex:1;min-width:0}.taxi-guide-link strong{display:block;font-size:1.2rem}.taxi-guide-link>span>span{display:block;color:var(--muted);font-size:1rem;margin-top:3px}.taxi-label{background:#f7cc57;border-radius:7px;padding:7px 9px;color:#24323a;font-size:.875rem;font-weight:800;letter-spacing:.06em}.taxi-link-arrow{font-size:1.6rem;color:var(--teal)}.taxi-article{max-width:740px}.taxi-article p,.taxi-article li{font-size:1rem}.taxi-article section{scroll-margin-top:24px}.taxi-article .steps strong{display:block;margin-bottom:3px}.taxi-article .steps span{display:block}.taxi-article .source-note{font-size:.875rem;color:var(--muted)}.taxi-note{padding:18px 20px;background:#edf5f4;border-left:3px solid var(--teal);margin:20px 0}.taxi-note p:last-child{margin-bottom:0}.taxi-checklist{padding-left:22px}.taxi-checklist li{padding:0 0 10px 5px}.taxi-section-number{color:var(--teal);font-size:.875rem;font-weight:750;letter-spacing:.05em}.taxi-article h2{font-size:1.65rem}.taxi-article h3{font-size:1.15rem;margin-top:24px}.taxi-mobile-nav{display:none}.taxi-phrases{margin:20px 0}.taxi-phrases>div{padding:14px 0;border-bottom:1px solid var(--line)}.taxi-phrases dt{color:var(--muted);font-size:.9375rem}.taxi-phrases dd{font-size:1.1rem;margin:5px 0 0;font-weight:650}.taxi-page .source-list{font-size:.875rem}.taxi-page .source-list li{font-size:.875rem}.taxi-page .guide-layout{border-top:1px solid var(--line);margin-top:30px}.taxi-page .toc{font-size:.875rem}.taxi-page .toc a{padding:3px 0}.taxi-page .faq summary{font-size:1rem}.taxi-official{margin:20px 0}.taxi-official a{display:inline-block;padding:10px 15px;border:1px solid var(--teal);border-radius:8px;text-decoration:none;font-weight:650}
@media(max-width:900px){.taxi-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.taxi-heading{grid-template-columns:minmax(0,1fr) 220px;gap:25px}}
@media(max-width:800px){.taxi-article{max-width:none}.taxi-mobile-nav{display:block;margin:24px 0}.taxi-mobile-nav summary{font-weight:650;cursor:pointer}.taxi-mobile-nav nav{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:12px}.taxi-mobile-nav a{font-size:.9375rem;padding:5px 0}}
@media(max-width:540px){.taxi-heading{display:block;margin:24px 0}.taxi-heading h1{font-size:2rem}.taxi-photo{max-width:100%;margin-top:20px}.taxi-photo img{max-height:175px;object-fit:cover}.taxi-choices{grid-template-columns:1fr}.taxi-choices>a{padding:16px 18px}.taxi-choices p{margin-bottom:10px}.taxi-choose h2{font-size:1.4rem}.taxi-guide-link{padding:18px 16px;gap:12px}.taxi-guide-link strong{font-size:1.1rem}.taxi-guide-link>span>span{font-size:.9375rem}.taxi-guide-link .taxi-label{font-size:.75rem;padding:6px}.taxi-link-arrow{display:none}.taxi-article h2{font-size:1.45rem}}
.taxi-article .steps strong,.taxi-article .steps span{font-size:1rem;line-height:1.65}

/* National subway directory and visitor guide. */
.subway-page{padding-bottom:60px}.subway-heading{padding:14px 0 24px}.subway-heading h1{max-width:800px;font-size:clamp(2rem,4vw,3rem)}.subway-summary{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}.subway-summary>span{font-weight:700;color:var(--teal)}.subway-explorer{background:white;border:1px solid var(--line);border-radius:18px;padding:26px;scroll-margin-top:24px}.subway-filters{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) auto;gap:14px;align-items:end}.subway-filters label{font-size:.875rem;font-weight:650;min-width:0}.subway-filters input,.subway-filters select{display:block;width:100%;height:48px;margin-top:7px;background:white;border:1px solid #a8bec5;border-radius:8px;padding:8px 10px;color:var(--ink);font-size:1rem}.subway-filters button{height:48px}.subway-result-count{font-size:.875rem;color:var(--muted);margin:20px 0 12px}.subway-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.subway-station-card{padding:18px 16px;border:1px solid var(--line);border-radius:12px;min-width:0}.subway-line-tag{display:inline-block;color:var(--route-color);font-size:.875rem;font-weight:750;border-left:4px solid var(--route-color);padding-left:9px}.subway-station-card h3{margin:12px 0 3px;font-size:1.15rem;overflow-wrap:anywhere}.subway-local-name{font-size:.9375rem;margin-bottom:8px;color:var(--muted)}.subway-station-card button{border:0;background:transparent;padding:8px 0;color:var(--teal);text-align:left;font-weight:650;font-size:.9375rem;min-height:44px}.subway-explorer>[data-subway-more]{display:block;margin:22px auto 0}.subway-station-detail{margin-top:24px;padding:24px;background:#f2f8f7;border:1px solid #a6c7be;border-radius:12px;scroll-margin-top:20px}.subway-detail-heading{display:flex;justify-content:space-between;gap:12px}.subway-detail-heading h3{font-size:1.6rem;margin:8px 0 3px}.subway-detail-heading button{align-self:start;border:1px solid var(--line);background:white;border-radius:8px;width:40px;height:40px;font-size:1.5rem;color:var(--ink)}.subway-arrivals{border-top:1px solid var(--line);padding-top:18px;margin-top:16px}.subway-arrivals h4{font-size:1.1rem;margin:0 0 10px}.subway-arrivals .primary{margin:8px 0 12px}.subway-arrivals .meta{margin-bottom:8px}.subway-arrival-list{list-style:none;padding:0}.subway-arrival-list li{padding:13px;background:white;margin:10px 0;border-radius:8px;border:1px solid var(--line)}.subway-arrival-list span,.subway-arrival-list small{display:block;margin-top:4px}.subway-official-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin:16px 0}.subway-official-links a{font-size:.9375rem;padding:5px 0}.subway-section-nav{display:flex;flex-wrap:wrap;gap:10px 20px;padding:24px 0;margin-bottom:20px}.subway-section-nav a{font-size:.9375rem}.subway-region{border-top:1px solid var(--line);padding:26px 0;scroll-margin-top:24px}.subway-region-title{display:flex;gap:14px;align-items:baseline}.subway-region-title>span{font-size:.875rem;font-weight:750;color:var(--teal)}.subway-region h3{font-size:1.45rem}.subway-region>p{max-width:800px}.subway-line-list{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.subway-line-list a{border:1px solid var(--line);border-left:4px solid var(--route-color);border-radius:6px;background:white;font-size:.875rem;text-decoration:none;padding:7px 12px;color:var(--ink)}.subway-guide{max-width:800px}.subway-guide section,.subway-coverage{padding:26px 0;border-top:1px solid var(--line);scroll-margin-top:24px}.subway-guide .steps span,.subway-guide .steps strong{display:block;font-size:1rem;line-height:1.7}.subway-guide li,.subway-coverage li{margin-bottom:12px}.subway-guide-photo{float:right;width:210px;margin:0 0 22px 24px}.subway-guide-photo img{width:100%;height:170px;object-fit:cover;border-radius:12px}.subway-guide-photo figcaption{font-size:.8rem;margin-top:6px}.subway-coverage{max-width:850px}.transport-help-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}.transport-help-links .taxi-guide-link{margin:22px 0 26px}.subway-label{background:#d9ede5;color:#175f49}
@media(max-width:900px){.subway-filters{grid-template-columns:1fr 1fr}.subway-search-label{grid-column:1/-1}.subway-filters button{grid-column:1/-1;justify-self:start}.subway-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.subway-explorer{padding:18px 14px}.subway-filters{grid-template-columns:1fr}.subway-filters label{grid-column:1}.subway-results{grid-template-columns:1fr}.subway-station-detail{padding:17px 14px}.subway-guide-photo{float:none;width:100%;margin:0 0 22px}.subway-guide-photo img{height:180px}.transport-help-links{grid-template-columns:1fr;gap:0}.transport-help-links .taxi-guide-link{margin:10px 0}.transport-help-links{margin:18px 0 25px}.subway-heading h1{font-size:2rem}.subway-section-nav{gap:8px 15px}}

.subway-page [hidden]{display:none!important}.subway-station-card{display:flex;flex-direction:column}.subway-station-card button{margin-top:auto}.subway-guide-photo{max-width:100%}

.subway-heading h1{word-break:keep-all;text-wrap:balance}.subway-guide section{display:flow-root}

/* Clear place identity and readable discovery results. */
.search-hint{max-width:68ch;font-size:1rem;line-height:1.65;color:#405862;margin:14px 0 22px}
.search-result-status{font-size:1rem;font-weight:700;color:#133d40;padding:16px 0;border-bottom:1px solid #c6d7da;margin:16px 0 24px}
.explore-filters{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#edf5f4;border:1px solid #cadcd9;border-radius:16px;padding:20px;margin-bottom:24px}
.explore-filters label{display:grid;gap:8px;font-size:.9375rem;font-weight:700;color:#203b45}
.explore-filters select{width:100%;min-width:0;min-height:48px;margin:0;border:1px solid #8ea9ae;border-radius:8px;background:white;padding:10px 12px;font:inherit;color:#132e38}
.place-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalog-place{display:flex;flex-direction:column;gap:0;min-width:0;padding:24px;background:white;border:1px solid #b9cdd0;border-radius:16px;text-decoration:none;color:#132e38;box-shadow:0 4px 14px #132e3805}
.catalog-place:hover{border-color:#006b62;box-shadow:0 6px 20px #132e3810}.catalog-place:focus-visible{outline:3px solid #b54810;outline-offset:4px}
.place-heading-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.875rem;color:#405862;margin-bottom:16px;line-height:1.5}
.place-heading-meta .place-type,.place-type{display:inline-flex;align-items:center;padding:5px 10px;border-radius:6px;background:#e0f1e9;color:#145140;font-size:.875rem;font-weight:750;letter-spacing:0}
.place-type[data-kind="station"]{background:#e7edfa;color:#264a87}.place-type[data-kind="neighborhood"]{background:#fff0d5;color:#79420c}.place-type[data-kind="airport"]{background:#eee9fa;color:#543d7f}
.catalog-place h3{font-size:1.35rem;line-height:1.4;margin:0 0 5px;letter-spacing:-.02em;color:#132e38}.catalog-place .place-local-name{font-size:.9375rem;color:#49606a;margin:0 0 16px}
.catalog-place .place-description{font-size:1rem;line-height:1.65;color:#405862;margin:0 0 22px}.catalog-place .catalog-open{font-size:.9375rem;font-weight:750;color:#00645b;display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid #deeaeb}
.place-catalog [hidden]{display:none!important}.selected-place>.place-heading-meta{margin-bottom:12px}.selected-place>h2{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.2;overflow-wrap:anywhere}
.selected-place-overview [data-place-description]{font-size:1.125rem;line-height:1.75;color:#29434c;max-width:65ch}.related-place-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.related-place-links a{display:inline-flex;align-items:center;min-height:46px;padding:10px 14px;background:#edf3fa;border:1px solid #c9d6e7;border-radius:8px;font-size:.9375rem;text-decoration:none;color:#264a87}
.explore-page .branch-links a{min-height:44px;display:inline-flex;align-items:center}.site-header .nav .nav-home{display:inline-flex}
@media(max-width:850px){.place-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.place-catalog-grid{grid-template-columns:1fr}.catalog-place{padding:22px}.explore-filters{gap:12px;padding:16px}.explore-filters label{font-size:.875rem}.explore-page .lead{font-size:1.0625rem}.site-header .nav{flex-wrap:wrap;gap:4px 12px}.site-header .nav a{min-height:44px;display:inline-flex;align-items:center}.selected-place{padding:22px 18px}.search-hint{font-size:.9375rem}}

/* Airport decisions: large comparable values, with scope alongside each figure. */
.airport-comparison{margin:36px 0 52px;padding:30px;border:1px solid #bdd3d2;border-radius:20px;background:#eff6f5;scroll-margin-top:24px}
.airport-comparison-heading{display:flex;justify-content:space-between;align-items:start;gap:24px}.airport-comparison-heading h2{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.3;margin:8px 0 12px;color:#132e38}.airport-comparison-heading p{font-size:1rem;line-height:1.65;max-width:62ch;color:#405862}.airport-comparison .eyebrow{font-size:.875rem;color:#00665d;margin:0}
.airport-checked{flex-shrink:0;font-size:.875rem;line-height:1.6;color:#405862}.airport-checked strong{display:block;color:#174b43;font-size:1rem}
.airport-terminal-switch{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin:24px 0 18px;min-width:0}.airport-terminal-switch legend{font-size:.9375rem;font-weight:750;margin-bottom:10px;color:#203b45}.airport-terminal-switch label{position:relative;cursor:pointer}.airport-terminal-switch input{position:absolute;opacity:0;width:1px;height:1px}.airport-terminal-switch span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid #9fbcb8;border-radius:9px;background:#fff;color:#26464b;font-size:1rem;font-weight:650}.airport-terminal-switch input:checked+span{background:#005e56;color:white;border-color:#005e56;box-shadow:0 2px 4px #003f3925}.airport-terminal-switch input:focus-visible+span{outline:3px solid #ae481a;outline-offset:4px}
.airport-context{font-size:.9375rem;line-height:1.65;color:#405862;margin:0 0 22px;max-width:90ch}
.airport-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.airport-mode-grid.four-modes{grid-template-columns:repeat(2,minmax(0,1fr))}
.airport-mode{min-width:0;display:flex;flex-direction:column;background:white;border:1px solid #bcd0d0;border-radius:14px;padding:24px;box-shadow:0 4px 12px #133c3405}.airport-mode-featured{border-top:4px solid #00695f;padding-top:21px}
.airport-mode-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px;color:#256258;font-size:.875rem;font-weight:750;line-height:1.4}.airport-mode-symbol{border:1px solid #bcd6cf;border-radius:5px;font-size:.75rem;padding:4px 6px;letter-spacing:.03em;color:#295b52}.airport-mode h3{font-size:1.35rem;line-height:1.4;margin:14px 0 22px;color:#132e38;letter-spacing:-.02em}
.airport-card-metrics{margin:0}.airport-card-metrics>div{padding:16px 0;border-top:1px solid #d7e4e4}.airport-card-metrics dt{font-size:.875rem;line-height:1.6;color:#435c65;font-weight:650;margin-bottom:9px}.airport-card-metrics dd{margin:0}.airport-values{display:grid;gap:7px}.airport-values>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;line-height:1.4}.value-terminal{font-size:.875rem;color:#47646b;font-weight:650;min-width:24px}.airport-values strong{font-size:clamp(1.65rem,2.6vw,2.15rem);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:#123e39}.value-unit{font-size:.875rem;color:#435c65}.airport-variable{font-size:1.1rem;line-height:1.5;font-weight:750;color:#27444b;margin:3px 0}
.airport-transfer{background:#eef5f3;border-radius:7px;padding:10px 12px;margin:8px 0 12px;font-size:.9375rem;line-height:1.55;color:#224e45}.airport-scope{background:#fff4dd;border-left:3px solid #a85c11;padding:10px 12px;color:#75400b;font-size:.9375rem;line-height:1.6;margin:0 0 12px}.airport-card-note{font-size:.9375rem;line-height:1.65;color:#435c65;margin:0 0 12px}.airport-pending{font-size:1rem;color:#75400b;line-height:1.6}
.airport-boarding{font-size:.9375rem;line-height:1.6;margin-bottom:12px}.airport-boarding>span{font-size:.875rem;color:#435c65}.airport-boarding p{font-size:.9375rem;margin:4px 0;color:#27444b}.airport-boarding strong{display:inline-block;min-width:28px}.airport-card-action{margin-top:auto;padding-top:16px;border-top:1px solid #d7e4e4}.airport-card-action a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:46px;font-size:.9375rem;line-height:1.5;color:#005e56;font-weight:750;text-decoration:none}.airport-card-action a:hover{text-decoration:underline}
.airport-evidence{margin-top:24px;border-top:1px solid #bfd5d1;padding-top:14px}.airport-evidence summary{font-size:1rem;color:#24554c;font-weight:650;cursor:pointer;min-height:44px}.airport-evidence p{font-size:.9375rem;line-height:1.7;color:#405862}.airport-evidence>div{display:flex;flex-wrap:wrap;gap:10px 22px}.airport-evidence a{font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center;color:#005e56}.airport-comparison [hidden]{display:none!important}
.airport-full-table{margin:20px 0}.airport-full-table>summary{padding:16px;background:#f1f6f5;border:1px solid #cadbd7;border-radius:10px;font-size:1rem;font-weight:650;color:#24554c;cursor:pointer;min-height:48px}
.airport-included{border-left:3px solid #007363;background:#e8f4ee;padding:10px 12px;color:#175345;font-size:.9375rem;line-height:1.6;margin:0 0 12px}
.airport-route-line{font-size:1rem;line-height:1.6;color:#173e36;margin:4px 0 8px}.airport-journey{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;border-top:1px solid #bfd5d1;padding-top:24px}.airport-journey-route{padding:8px 4px}.airport-journey .airport-estimator{margin:0}
.airport-time-breakdown{margin:0 0 18px}.airport-time-breakdown summary{cursor:pointer;min-height:44px;padding:10px 0;color:#005e56;font-size:.9375rem;font-weight:700;line-height:1.5}.airport-time-breakdown p{font-size:.9375rem;color:#435c65;line-height:1.65;margin:0 0 10px}
.airport-estimator{background:#edf5f2;border:1px solid #b7d1c9;border-radius:10px;padding:16px;margin-bottom:18px}.airport-estimator-title{color:#173e36;font-size:1.05rem;font-weight:800;line-height:1.5;margin:0 0 8px}.airport-estimator [data-allowance-control]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:12px 0}.airport-estimator label{font-size:.9375rem;color:#244b42;font-weight:700;flex:1 1 120px}.airport-estimator select{font:inherit;font-weight:700;color:#174a40;background:white;border:1px solid #668f81;border-radius:7px;padding:10px 12px;min-height:46px;min-width:90px}.airport-estimator select:focus-visible{outline:3px solid #ae481a;outline-offset:3px}
.airport-allowance-example{font-size:.9375rem;color:#34594e;margin:8px 0;line-height:1.6}.airport-estimates p{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;color:#214e42;font-size:.9375rem;margin:5px 0}.airport-estimates p>span{font-weight:650;min-width:24px}.airport-estimates strong{font-size:1.55rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.4}.airport-estimator-help{font-size:.875rem;line-height:1.7;color:#35584d;margin:12px 0 0}
@media(max-width:1000px){.airport-mode-grid{grid-template-columns:1fr 1fr}.airport-mode-grid:not(.four-modes)>.airport-mode:last-child{grid-column:1/-1}.airport-mode{padding:22px}.airport-mode-featured{padding-top:19px}}
@media(max-width:650px){.airport-comparison{padding:20px 16px;margin:26px 0 34px;border-radius:14px}.airport-comparison-heading{display:block}.airport-checked{display:flex;gap:9px;align-items:center;margin:14px 0}.airport-mode-grid,.airport-mode-grid.four-modes{grid-template-columns:1fr}.airport-mode-grid>.airport-mode{grid-column:1}.airport-terminal-switch{gap:8px}.airport-terminal-switch label{flex:1 1 calc(50% - 8px)}.airport-terminal-switch label:first-of-type{flex-basis:100%}.airport-terminal-switch span{padding:10px 8px;font-size:.9375rem}.airport-mode h3{font-size:1.4rem}.airport-values strong{font-size:2rem}.airport-comparison-heading h2{font-size:1.7rem}.airport-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px}.airport-card-metrics>div{min-width:0}.airport-values>div{gap:6px}.airport-context{font-size:.9375rem}}
@media(max-width:380px){.airport-card-metrics{grid-template-columns:1fr}.airport-values strong{font-size:1.85rem}}
@media print{.airport-terminal-switch{display:none!important}.airport-comparison [data-terminal-value][hidden]{display:block!important}.airport-mode{break-inside:avoid}.airport-mode-grid,.airport-mode-grid.four-modes{grid-template-columns:1fr 1fr}}

/* Official nationwide collection, without implying that the selections are ranked. */
.korea100-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:28px 0 16px;padding:28px 30px;border:1px solid #b5cec5;border-radius:18px;background:#e6f1e9;color:#173e36;overflow:hidden}
.korea100-intro h2{font-size:clamp(1.4rem,2.8vw,1.85rem);line-height:1.4;margin:7px 0 10px}.korea100-intro p:not(.eyebrow){max-width:65ch;font-size:1rem;line-height:1.65;color:#38594f;margin-bottom:10px}.korea100-intro a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:750;color:#00584c}.korea100-intro .eyebrow{color:#2d6655;font-size:.8125rem}.korea100-numeral{font-size:clamp(4rem,8vw,7rem);font-weight:800;line-height:1;color:#22604b;letter-spacing:-.08em;flex-shrink:0}
.explore-filters{grid-template-columns:1.4fr 1fr 1fr}.selection-badge{font-size:.8125rem;font-weight:750;color:#70400a;background:#fff1d5;border:1px solid #e6c991;padding:5px 9px;border-radius:6px;margin:0 0 12px;width:fit-content;line-height:1.5}.catalog-place .place-heading-meta{margin-bottom:12px}.catalog-place h3{overflow-wrap:anywhere;text-wrap:pretty}.group-selection-note{font-size:.9375rem;color:#405862;margin:0 0 18px}.catalog-count{font-size:.9375rem;text-align:center;color:#405862;margin:24px 0 12px}.collection-source-note{font-size:.9375rem;line-height:1.8;padding-top:24px;border-top:1px solid #c8d9d5;color:#405862}.collection-source-note a{display:inline-flex;align-items:center;min-height:44px}.place-component-picker{padding:22px;border:1px solid #b2cdc3;border-radius:12px;background:#ecf5ef;margin:24px 0}.place-component-picker label{display:block;font-size:1.1rem;font-weight:750;line-height:1.5;color:#164538}.place-component-picker p{font-size:1rem;margin:10px 0;color:#37594e}.place-component-picker select{width:100%;max-width:100%;min-height:50px;border:1px solid #72958a;border-radius:8px;background:white;padding:10px 12px;font:inherit;color:#173e36}.place-component-picker [data-visit-target]:empty{display:none}.selected-place [hidden],.korea100-intro[hidden]{display:none!important}.korea100-home{background:#e6f1e9;border-color:#b5cec5}
@media(min-width:651px){.four-modes .airport-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px}.four-modes .airport-card-metrics>div{min-width:0}}
@media(max-width:650px){.korea100-intro{padding:23px 20px;gap:15px;align-items:start}.korea100-numeral{font-size:3.4rem}.explore-filters{grid-template-columns:1fr 1fr}.explore-filters>label:first-child{grid-column:1/-1}.korea100-intro h2{font-size:1.45rem}.place-component-picker{padding:18px 14px}.place-component-picker select{font-size:1rem}}
@media(max-width:380px){.korea100-numeral{display:none}.explore-filters{grid-template-columns:1fr}.explore-filters>label:first-child{grid-column:auto}}
.explore-page.is-place-selected>.eyebrow,.explore-page.is-place-selected>.lead,.explore-page.is-place-selected>.search-hint,.is-place-selected .selected-place>h2{display:none}
.explore-page.is-place-selected>h1{margin-bottom:24px;font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.3;overflow-wrap:anywhere}.explore-page.is-place-selected #explore-status{margin:20px 0 12px;padding:0;border:0;font-size:.9375rem}.is-place-selected .selected-place{margin-top:0}

/* Photo-led destination cards keep all essential text off the photograph. */
.catalog-tile{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #b9cdd0;border-radius:16px;box-shadow:0 4px 14px #132e3805;overflow:clip}
.catalog-tile:hover{border-color:#006b62;box-shadow:0 6px 20px #132e3810}.catalog-tile:focus-within{outline:3px solid #b54810;outline-offset:4px}
.catalog-tile .catalog-place{flex:1;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}.catalog-tile .catalog-place:focus-visible{outline:0}.catalog-copy{padding:22px;display:flex;flex-direction:column;flex:1}
.catalog-photo{margin:0}.travel-photo-frame{position:relative;overflow:hidden;aspect-ratio:3/2;background:#e8efed}.travel-photo-frame>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.catalog-place:hover .travel-photo-frame>img{transform:scale(1.035)}
.catalog-photo figcaption{padding:9px 18px;background:#edf4f1;color:#315248;font-size:.875rem;line-height:1.5;border-bottom:1px solid #d5e1dc;min-height:39px}
.catalog-tile .catalog-photo-credit{margin:0 22px 8px;border-top:1px solid #deeaeb}.catalog-photo-credit summary{min-height:44px;display:list-item;align-content:center;font-size:.875rem;color:#405862;cursor:pointer;padding:10px 0}.catalog-photo-credit p{font-size:.875rem;line-height:1.6;color:#49606a;margin:0 0 12px;overflow-wrap:anywhere}.catalog-photo-credit p>span{display:block;margin-top:6px}.catalog-photo-credit a{color:#005e56}
.travel-photo-error{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-size:1rem;color:#405862}.travel-photo-frame>[hidden]{display:none!important}
.selected-place-photo{margin:24px 0 30px}.selected-place-photo .travel-photo-frame{aspect-ratio:16/9;border-radius:12px}.selected-place-photo figcaption{display:flex;justify-content:space-between;gap:18px;padding:12px 2px;font-size:.9375rem;color:#294c41;line-height:1.6}.selected-photo-credit{font-size:.875rem;color:#49606a;max-width:60%;text-align:right;overflow-wrap:anywhere}.selected-photo-credit a{color:#005e56}.selected-photo-credit small{display:block;font-size:.8125rem;margin-top:4px}
@media(max-width:650px){.selected-place-photo figcaption{display:block}.selected-photo-credit{display:block;max-width:none;text-align:left;margin-top:8px}.selected-place-photo .travel-photo-frame{aspect-ratio:3/2}.catalog-copy{padding:20px}.catalog-tile .catalog-photo-credit{margin-inline:20px}.catalog-photo figcaption{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.travel-photo-frame>img{transition:none}.catalog-place:hover .travel-photo-frame>img{transform:none}}

.catalog-photo-pending{aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#e8efed;color:#49675c;font-size:1rem}.catalog-photo-pending-link{margin:0 22px 12px;padding-top:12px;border-top:1px solid #deeaeb;font-size:.875rem}.catalog-photo-pending-link a{display:inline-block;padding:8px 0;color:#005e56}

@media(max-width:650px){.airport-journey{grid-template-columns:1fr;gap:14px}.airport-journey-route{padding:0}}
@media(max-width:480px){.airport-card-metrics{grid-template-columns:1fr;gap:0}.airport-card-metrics dt{word-break:keep-all}.airport-values strong{font-size:2rem}}
/* Airport guides: boarding decisions and the last part of the journey. */
.airport-extra-actions{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:10px}
.airport-extra-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:650;text-underline-offset:4px}
.guide-mobile-toc{display:none}
.airport-boarding .eyebrow,.airport-arrival .eyebrow,.condition-night .eyebrow{font-size:.8125rem;color:#00665d;font-weight:750;letter-spacing:.07em;margin:0 0 8px}
.boarding-checks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.boarding-checks>li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;padding:22px;background:#fff;border:1px solid #c4d6d8;border-radius:14px}
.boarding-number{width:42px;height:42px;background:#163d43;color:#fff;border-radius:11px;display:grid;place-items:center;font-size:.875rem;font-weight:750}
.boarding-checks h3{font-size:1.2rem;line-height:1.4;margin:1px 0 8px;color:#132e38}
.boarding-checks p{font-size:1rem;line-height:1.7;margin:0;color:#344f59;max-width:62ch}
.boarding-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;align-items:center}
.boarding-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:650;text-underline-offset:4px}
.boarding-links a.meta{font-size:.875rem;font-weight:400;color:#465f67}
.airport-guide .airport-arrival{padding:28px;border:1px solid #b9d3d0;border-radius:16px;background:#eff6f5}
.airport-guide .airport-arrival h2{border-color:#bed4d0}
.airport-arrival>p,.airport-arrival .scan-list li{font-size:1rem;line-height:1.7;color:#344f59}
.arrival-station{border-left:4px solid #08776c;padding:4px 0 4px 18px;margin:20px 0 24px}
.arrival-station span{display:block;font-size:.9375rem;color:#3f5a64;line-height:1.6}
.arrival-station strong{display:block;font-size:2rem;line-height:1.4;margin:5px 0;color:#132e38}
.arrival-map-links,.night-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.arrival-map-links a,.night-links a{display:inline-flex;align-items:center;gap:5px;min-height:48px;padding:11px 15px;border:1px solid #92b6b0;border-radius:9px;background:#fff;text-decoration:none;font-size:.9375rem;font-weight:650;color:#005e56}
.airport-arrival .arrival-map-note{font-size:.875rem;margin:14px 0 0}
.airport-guide .condition-night{grid-column:1/-1;border-color:#bccadf;background:#f0f4fb;padding:24px}
.condition-night .eyebrow{color:#344e7a}.condition-night h3{font-size:1.25rem;line-height:1.5}
.night-checks{padding-left:24px;margin:18px 0 0}.night-checks li{padding:0 0 14px 6px;font-size:1rem;line-height:1.7;color:#344a60}.night-checks li:last-child{padding-bottom:0}.night-checks strong{display:block;color:#18314c}
.condition-night .night-links a{border-color:#a9bcd7;color:#24476d}
.airport-guide .toc a{font-size:.875rem;line-height:1.45;margin:9px 0}
.airport-guide .faq summary{min-height:44px;align-content:center;font-size:1rem}.airport-guide .faq p{font-size:1rem;line-height:1.7}
@media(max-width:68rem){.guide-mobile-toc{display:block;border:1px solid #c4d6d8;border-radius:12px;background:#fff;margin-top:16px}.guide-mobile-toc summary{cursor:pointer;min-height:48px;align-content:center;padding:14px 18px;font-size:1rem;font-weight:650;color:#164c48}.guide-mobile-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:3px 14px;padding:0 18px 14px}.guide-mobile-toc nav a{display:flex;align-items:center;min-height:44px;font-size:.9375rem;padding:6px 0;text-underline-offset:4px}}
@media(max-width:540px){.boarding-checks>li{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:18px 14px}.boarding-number{width:34px;height:34px;border-radius:9px}.boarding-checks h3{font-size:1.125rem}.airport-guide .airport-arrival{padding:20px 18px}.airport-guide .condition-night{padding:20px 18px}.arrival-map-links{display:grid;grid-template-columns:1fr}.airport-extra-actions{gap:4px 16px}.airport-extra-actions a{font-size:.9375rem}.guide-mobile-toc nav{column-gap:12px}}
@media(max-width:360px){.guide-mobile-toc nav{grid-template-columns:1fr}.boarding-checks>li{grid-template-columns:1fr}.boarding-number{width:30px;height:30px}}
@media print{.guide-mobile-toc{display:none}.airport-boarding,.airport-arrival{break-inside:avoid}}
/* Information-centre photographs preserve the complete source image. */
.information-card{padding:0;overflow:hidden}
.information-card-body{display:flex;flex-direction:column;flex:1;padding:22px}
.information-photo{margin:0;border-bottom:1px solid #d6e2e5}
.information-photo-frame{aspect-ratio:16/10;background:#e7eeee;display:grid;overflow:hidden}
.information-photo-open{display:block;width:100%;height:100%;min-height:0}
.information-photo-open img{display:block;width:100%;height:100%;object-fit:contain;background:#e7eeee}
.information-photo-open:focus-visible{outline-offset:-5px}
.information-photo figcaption{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:13px 20px;background:#f8fafb;flex-wrap:wrap}
.information-photo-caption{margin:0;font-size:.875rem;line-height:1.5;color:#27434d;font-weight:650}
.information-photo-caption>span{display:block;color:#526972;font-size:.8125rem;font-weight:400;margin-top:4px}
.information-photo-credit{font-size:.8125rem;min-width:88px;max-width:55%}
.information-photo-credit summary{cursor:pointer;min-height:44px;color:#006b64;line-height:1.5}
.information-photo-credit p{font-size:.8125rem;line-height:1.65;margin:8px 0 0;color:#526972;overflow-wrap:anywhere}
.information-photo-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:10px;color:#244a52;background:#edf4f3;min-height:240px}
.information-photo-fallback strong{font-size:1.05rem;line-height:1.5}.information-photo-fallback p{font-size:.9rem;line-height:1.6;margin:0;max-width:33ch;color:#506973}
.information-photo-fallback a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:650}
.information-photo-symbol{display:grid;place-items:center;width:42px;height:42px;border:2px solid #739993;border-radius:50%;font-size:1.6rem;font-family:Georgia,serif;font-weight:700;color:#477b72}
.information-photo-pending{border-bottom:1px solid #d6e2e5}.information-photo-note{font-size:.9375rem;line-height:1.65;color:#405e67;margin:18px 0}
.information-card h2{font-size:1.2rem;line-height:1.5}.information-card .directory-tags{font-size:.8125rem}.information-card .information-address{font-size:1rem}.information-card .directory-card-links a{font-size:.9rem}
.information-photo [hidden]{display:none!important}
@media(max-width:560px){.directory-card.information-card{padding:0}.information-card-body{padding:20px}.information-photo figcaption{padding:12px 18px}.information-photo-fallback{padding:22px 18px}.information-photo-credit{max-width:48%;min-width:75px}}

.information-photo-credit[open]{flex-basis:100%;max-width:none}
.information-photo-frame[data-photo-state="unavailable"]{aspect-ratio:auto;min-height:240px}

/* Five across on desktop, with readable cards at smaller viewport widths. */
.wrap.information-page{max-width:1640px;padding-left:24px;padding-right:24px}
.information-heading{margin:24px 0 20px;max-width:880px}
.information-heading h1{font-size:clamp(2rem,3.5vw,2.75rem);margin:12px 0 14px}
.information-heading .lead{margin-bottom:12px}
.information-page .directory-filters{padding:20px}
.information-page .directory-service-note{margin:14px 0 8px}
.information-photo-note{margin:8px 0 14px}
.information-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.information-card-body{padding:16px}
.information-card .directory-tags{display:block;margin-bottom:12px;line-height:1.6}
.information-card .directory-tags span{display:block}
.information-card h2{font-size:1.125rem;line-height:1.45;letter-spacing:-.015em}
.information-card .information-address{font-size:.9375rem;line-height:1.65}
.information-card .place-local-name{margin-bottom:16px}
.information-photo figcaption{display:block;padding:12px 14px}
.information-photo-caption{font-size:.875rem;line-height:1.55}
.information-photo-credit{max-width:none;min-width:0;margin-top:4px}
.information-photo-credit summary{display:list-item;min-height:44px;align-content:center}
.information-card .directory-card-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding-top:10px}
.information-card .directory-card-links a{font-size:.875rem;line-height:1.5;min-height:44px}
.information-card .korean-address summary{min-height:44px;align-content:center}
@media(max-width:1199px){.information-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:899px){.information-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.wrap.information-page{padding-left:16px;padding-right:16px}.information-grid{grid-template-columns:minmax(0,1fr)}.information-card-body{padding:20px}.information-photo figcaption{padding:12px 18px}.information-heading{margin-top:24px}.information-page .directory-filters{padding:16px}}
@media(min-width:1200px){.information-photo-caption{min-height:66px}}

.information-national-link{margin:0 0 22px}.information-national-link a{display:inline-flex;align-items:center;min-height:48px;padding:10px 16px;border:1px solid #8ab7b0;border-radius:9px;background:#fff;color:#005f57;text-decoration:none;font-size:1rem;font-weight:650}
.national-information-page .information-heading{max-width:1000px;margin-bottom:20px}.national-information-page .directory-filters{gap:16px}.information-location-check{font-size:.8125rem;color:#526972;line-height:1.6;margin:0 0 16px}

.information-photo-open img{object-fit:scale-down}

/* Five starting destinations share one row on wide screens. */
.travel-destinations,.next-destinations .travel-destinations{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.travel-destination{display:flex;flex-direction:column;border-radius:14px}
.travel-destination:focus-visible{outline:3px solid #b54810;outline-offset:6px}
.destination-copy{display:flex;flex-direction:column;flex:1}
.destination-copy h3{font-size:1.5rem;line-height:1.3}
.destination-copy p{font-size:1rem;line-height:1.6;margin:0 0 14px}
.destination-open-label{display:flex;align-items:center;min-height:44px;margin-top:auto;line-height:1.5}
@media(max-width:1199px){.travel-destinations,.next-destinations .travel-destinations{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:899px){.travel-destinations,.next-destinations .travel-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.travel-destinations,.next-destinations .travel-destinations{grid-template-columns:minmax(0,1fr);gap:28px}.destination-copy h3{font-size:1.6rem}.destination-copy p{font-size:1rem}.destination-photo,.next-destinations .destination-photo{aspect-ratio:16/10}}

/* Intercity guide: comparable photo cards, then practical booking steps. */
.wrap.intercity-page{max-width:1320px;padding-bottom:56px}
.intercity-heading{max-width:980px;margin:28px 0 38px}.intercity-heading h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.18;margin:12px 0 20px}.intercity-heading .lead{max-width:70ch;font-size:1.125rem;line-height:1.7;margin-bottom:14px}
.intercity-page h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3}.intercity-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}.intercity-mode-card{display:flex;flex-direction:column;min-width:0;border:1px solid #b9cdd0;border-radius:16px;overflow:hidden;background:white}
.intercity-photo{margin:0;border-bottom:1px solid #d6e2e5}.intercity-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 64%;background:#e7eeee}.intercity-photo figcaption{padding:12px 22px;font-size:.875rem;line-height:1.5;color:#405e67;background:#f4f8f8}
.intercity-mode-copy{display:flex;flex-direction:column;flex:1;padding:24px}.intercity-mode-copy>.eyebrow{font-size:.8125rem;letter-spacing:.09em}.intercity-mode-copy h3{font-size:1.5rem;line-height:1.3;margin:10px 0 14px}.intercity-mode-copy>p{margin:0 0 18px;color:#405862;font-size:1rem;line-height:1.7}.intercity-mode-copy dl{margin:auto 0 22px}.intercity-mode-copy dl>div{border-top:1px solid #d6e2e5;padding:14px 0 0;margin-top:14px}.intercity-mode-copy dt{font-size:.875rem;font-weight:750;color:#173e36;margin-bottom:5px}.intercity-mode-copy dd{margin:0;font-size:1rem;line-height:1.6;color:#405862}.intercity-mode-copy .secondary-action{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.9375rem}
.intercity-journey-note{margin:24px 0 30px;background:#e8f3ee;border:1px solid #b5cec5;border-radius:12px;padding:22px 26px;color:#173e36}.intercity-journey-note strong{font-size:1.125rem}.intercity-journey-note p{font-size:1rem;line-height:1.7;color:#36594e;margin:8px 0 0}
.intercity-section-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}.intercity-section-nav a{padding:11px 16px;min-height:48px;border:1px solid #9ebdb9;border-radius:8px;color:#005e56;font-size:.9375rem;font-weight:650;text-decoration:none;background:#fff}.intercity-section-nav a:hover{background:#e8f3ee}
.intercity-detail{display:grid;grid-template-columns:250px minmax(0,1fr);gap:46px;border-top:1px solid #c5d6d6;padding:38px 0;scroll-margin-top:24px}.intercity-section-head .eyebrow{font-size:.8125rem;margin:0 0 10px}.intercity-section-head h2{margin:0}.intercity-detail-body{min-width:0}.intercity-detail .steps{margin:0;padding-left:26px}.intercity-detail .steps>li{padding:0 0 20px 8px;font-size:1.125rem;line-height:1.5}.intercity-detail .steps>li::marker{color:#00665d;font-weight:800}.intercity-detail .steps p{font-size:1rem;line-height:1.75;color:#405862;margin:8px 0 0;max-width:72ch}
.intercity-update{background:#fff5df;border-left:3px solid #a56622;padding:18px 22px;margin:8px 0 24px;color:#75400b}.intercity-update strong{font-size:1rem}.intercity-update p{font-size:.9375rem;line-height:1.75;margin:8px 0}.intercity-update a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem}
.intercity-booking{background:#edf5f3;border:1px solid #c0d6cf;border-radius:12px;padding:22px}.intercity-booking h3{font-size:1.125rem;margin:0 0 12px}.intercity-booking>div{display:flex;flex-wrap:wrap;gap:8px 18px}.intercity-booking a{min-height:44px;display:inline-flex;align-items:center;gap:5px;font-size:1rem;font-weight:650;text-underline-offset:4px}.intercity-booking .meta{font-size:.875rem;line-height:1.75;margin:14px 0 0}.intercity-example{margin:18px 0 0}.intercity-example a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.intercity-checklist{padding-top:32px;border-top:1px solid #c5d6d6;scroll-margin-top:24px}.intercity-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0 36px}.intercity-check-grid article{background:#fff;border:1px solid #c5d6d6;padding:24px;border-radius:12px}.intercity-check-grid h3{font-size:1.125rem;line-height:1.4;margin:0 0 12px}.intercity-check-grid p{font-size:1rem;line-height:1.75;color:#405862;margin:0}
.intercity-sources{border-top:1px solid #c5d6d6;padding-top:30px;scroll-margin-top:24px}.intercity-sources>.meta{font-size:.9375rem;line-height:1.75;max-width:90ch}.intercity-sources details{border-bottom:1px solid #d6e2e5}.intercity-sources summary{cursor:pointer;min-height:48px;padding:14px 0;color:#005e56;font-size:1rem;font-weight:650}.intercity-sources li{font-size:.9375rem;line-height:1.75;margin-bottom:12px;overflow-wrap:anywhere}.intercity-sources li a{display:inline-block;min-height:44px;align-content:center}.intercity-sources .meta{font-size:.9375rem}.intercity-return{margin-top:30px}.intercity-return a{min-height:48px;display:inline-flex;align-items:center;font-size:1rem}
@media(max-width:899px){.intercity-mode-grid{gap:14px}.intercity-mode-copy{padding:18px}.intercity-mode-copy h3{font-size:1.25rem}.intercity-photo figcaption{padding:10px 18px;min-height:62px}.intercity-detail{grid-template-columns:1fr;gap:22px}.intercity-check-grid{grid-template-columns:1fr;gap:12px}}
@media(max-width:699px){.wrap.intercity-page{padding-inline:20px}.intercity-mode-grid{grid-template-columns:minmax(0,1fr);gap:20px}.intercity-mode-copy{padding:24px}.intercity-mode-copy h3{font-size:1.5rem}.intercity-photo figcaption{min-height:0;padding:12px 24px}.intercity-heading{margin:26px 0 30px}.intercity-heading .lead{font-size:1.0625rem}.intercity-journey-note{padding:20px}.intercity-section-nav{gap:8px}.intercity-section-nav a{padding:10px 12px}.intercity-detail{padding:30px 0}.intercity-booking,.intercity-update{padding:18px}.intercity-booking>div{display:grid}.intercity-check-grid article{padding:20px}.intercity-page .breadcrumb{flex-wrap:wrap;row-gap:6px}}
/* Connect destination choices, local food and transport with visible evidence. */
/* A pending booking option stays readable and leaves airline links usable. */
.flight-booking-card{min-width:0;margin:24px 0;padding:24px;background:#f0f6fc;border:1px solid #a8bfd3;border-left:4px solid #245b87;border-radius:12px;color:#17333d;scroll-margin-top:24px}
.flight-booking-card .flight-booking-kicker{font-size:.875rem;font-weight:750;line-height:1.5;letter-spacing:.08em;color:#245b87;margin:0 0 8px}.flight-booking-card h3{font-size:1.375rem;line-height:1.4;margin:0 0 12px;overflow-wrap:anywhere}.flight-booking-card .flight-booking-description{font-size:1rem;line-height:1.75;color:#405862;margin:0 0 18px;max-width:65ch}
.flight-booking-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.flight-booking-card .flight-booking-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 18px;border:1px solid #245b87;border-radius:8px;background:#245b87;color:#fff;font:inherit;font-size:1rem;font-weight:700;line-height:1.5;text-decoration:none;text-align:center;white-space:normal}.flight-booking-card button.flight-booking-action:disabled{background:#e0e9f0;border-color:#b0c3d1;color:#405564;opacity:1;cursor:default}.flight-booking-card a.flight-booking-action:hover{background:#17486e}.flight-booking-card .flight-booking-alternative{display:inline-flex;align-items:center;min-height:48px;font-size:1rem;line-height:1.5;font-weight:650;color:#145579;text-underline-offset:4px}.flight-booking-card a:focus-visible{outline:3px solid #9a4b08;outline-offset:4px}.flight-booking-card .flight-booking-disclosure{font-size:.875rem;line-height:1.7;color:#405862;margin:16px 0 0}
.intercity-booking#flight-airlines{scroll-margin-top:24px}
@media(max-width:650px){.flight-booking-card{padding:20px;margin:20px 0}.flight-booking-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.flight-booking-card .flight-booking-action{width:100%}.flight-booking-card .flight-booking-alternative{justify-content:center;text-align:center}}
.trip-answer{margin:28px 0;padding:28px 32px;background:#e6f3f0;border:1px solid #91bdb5;border-left:5px solid #00776d;border-radius:14px;color:#17333d}
.trip-answer .eyebrow{margin:0 0 10px;font-size:.875rem}.trip-answer h2{margin:0 0 14px;font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.4}.trip-answer>p:not(.eyebrow){font-size:1.0625rem;line-height:1.8;max-width:85ch;margin:0 0 18px}
.trip-answer-links,.context-links{display:flex;flex-wrap:wrap;gap:10px}.trip-answer-links a,.context-links a{display:inline-flex;align-items:center;min-height:48px;padding:10px 16px;background:#fff;border:1px solid #8cb9b1;border-radius:8px;font-size:1rem;font-weight:650;color:#005f58;text-underline-offset:4px}
.context-links{margin:0 0 20px}.trip-answer-links a:hover,.context-links a:hover{background:#d7eee8}.destination-branches.has-local-food{grid-template-columns:minmax(0,1fr)}
.local-food{margin:24px 0}.local-food h3{font-size:1.35rem;margin:0 0 10px}.local-food>p{max-width:88ch;font-size:1rem;line-height:1.75}
.context-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #b4cccf;border-radius:10px;background:#fff}.context-table-wrap:focus-visible{outline:3px solid #00776d;outline-offset:4px}
.context-table{width:100%;min-width:620px;border-collapse:collapse;text-align:left;font-size:1rem;line-height:1.65}.context-table caption{margin-bottom:0;text-align:left;padding:14px 18px;color:#405862;font-size:.9375rem;background:#f2f7f7}.context-table th,.context-table td{padding:18px;vertical-align:top;border-bottom:1px solid #d1dfe1;overflow-wrap:anywhere}.context-table thead th{background:#193f48;color:white;font-weight:650}.context-table tbody th{font-weight:700;width:34%}.context-table tr:last-child>*{border-bottom:0}.context-table tbody tr:nth-child(even){background:#f4f8f8}.context-table a{font-size:1rem;display:inline-block;min-height:44px;align-content:center;text-underline-offset:4px}.table-detail{display:block;font-size:.9375rem;font-weight:400;color:#405862;margin-top:7px;line-height:1.65}
.evidence-note{font-size:.9375rem!important;line-height:1.75!important;color:#405862;margin:14px 0}.food-transport-link{display:inline-flex;min-height:48px;align-items:center;font-size:1rem;font-weight:650}.transport-comparison{margin:30px 0 38px;scroll-margin-top:24px}
.trip-connections{margin:32px 0;padding:28px 0;border-top:1px solid #c5d6d6}.trip-connection-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.trip-connection-grid article{min-width:0;padding:20px;background:#f0f7f5;border:1px solid #bdd4cf;border-radius:12px}.trip-connection-grid h3{font-size:1.2rem;margin:0 0 12px}.trip-connection-grid a{display:flex;align-items:center;min-height:44px;font-size:.9375rem;line-height:1.5;margin:4px 0;text-underline-offset:4px}.guide .trip-connection-grid{grid-template-columns:1fr}.guide .trip-connection-grid article{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}.guide .trip-connection-grid h3{margin:0}
.photo-evidence{padding:12px 18px;border-bottom:1px solid #cfdee0;background:#f4f8f8;color:#405862;border-radius:0 0 10px 10px;font-size:.875rem;line-height:1.65}.photo-evidence summary{cursor:pointer;min-height:44px;align-content:center;color:#005f58;font-weight:650}.photo-evidence dl{margin:10px 0}.photo-evidence dl>div{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:12px;padding:7px 0}.photo-evidence dt{font-weight:650}.photo-evidence dd{margin:0;overflow-wrap:anywhere}.photo-evidence p{font-size:.875rem!important;line-height:1.7!important;max-width:90ch}.photo-evidence a{min-height:32px;display:inline-block;align-content:center}.destination-body>.photo-evidence{margin-top:0}.catalog-tile .photo-evidence{border-bottom:0;border-top:1px solid #d1dfe1;border-radius:0}.catalog-tile .photo-evidence dl>div{grid-template-columns:1fr;gap:2px}.intercity-mode-card>.photo-evidence{border-radius:0}
@media(max-width:1050px){.trip-connection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.trip-answer{padding:22px 20px;margin:22px 0}.trip-answer-links,.context-links{display:grid;grid-template-columns:1fr}.trip-connection-grid{grid-template-columns:1fr}.trip-connection-grid article{padding:18px 20px}.trip-connection-grid a{font-size:1rem}.context-table th,.context-table td{padding:14px}.photo-evidence dl>div{grid-template-columns:1fr;gap:2px}.guide .trip-connection-grid article{display:block}.guide .trip-connection-grid h3{margin-bottom:12px}}

@media(max-width:650px){
 .context-table-wrap{overflow:visible;border:0;background:transparent}.context-table{min-width:0;display:block}.context-table caption{display:block;border-radius:8px;margin-bottom:12px}.context-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.context-table tbody,.context-table tr{display:block}.context-table tr{border:1px solid #adc9c6;border-radius:10px;overflow:hidden;margin-bottom:14px;background:#fff}.context-table tbody th{display:block;width:100%;min-width:0;background:#193f48;color:#fff;padding:18px}.context-table tbody th a{color:#fff}.context-table tbody th .table-detail{color:#e0f0ed}.context-table td{display:block;width:100%;padding:14px 18px;font-size:1rem}.context-table td::before{content:attr(data-label);display:block;font-weight:700;color:#23444d;font-size:.875rem;margin-bottom:6px}.context-table td:last-child{border-bottom:0}.context-table .table-detail{font-size:1rem}
}
/* Seven-day snapshots, updated at the four fixed Korea-time publication slots. */
.weather-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:22px}.weather-controls label{display:grid;gap:6px;font-size:.9375rem;font-weight:700;min-width:200px}.weather-controls select{width:100%;min-height:48px;padding:10px 14px;font:inherit;color:var(--ink);border:1px solid #b9cbe7;border-radius:10px;background:#fff}.weather-controls button{min-height:48px}.weather-location-note{flex-basis:100%;font-size:.9375rem;color:var(--muted);line-height:1.6;margin:0}
.weather-forecast-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:24px;align-items:start}.weather-forecast-heading h3{font-size:1.5rem;margin:0 0 5px}.weather-forecast-heading p{font-size:.9375rem;margin:0 0 8px;color:var(--muted)}.weather-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.weather-day{background:#fff;border:1px solid #d6e1f2;border-radius:16px;padding:18px;min-width:0}.weather-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.weather-day h4{font-size:1.125rem;line-height:1.35;margin:0 0 5px}.weather-day time{font-size:.875rem;color:var(--muted)}.weather-day .weather-icon{width:38px;height:38px}.weather-day-condition{font-size:1rem;min-height:3em;line-height:1.5;margin:16px 0 10px}.weather-day-temperatures{display:flex;justify-content:space-between;gap:12px;margin:0 0 16px}.weather-day-temperatures dt{font-size:.875rem;color:var(--muted)}.weather-day-temperatures dd{font-size:1.7rem;font-weight:800;margin:3px 0 0;color:#205bb8}.weather-day-temperatures div:last-child dd{color:#bf2945}.weather-day-rain{font-size:.875rem;padding-top:12px;border-top:1px solid #e0e7f1;margin:0;line-height:1.6}.weather-day-rain strong{display:block;font-size:1.125rem}.weather-day-period,.weather-forecast-note{font-size:.875rem;color:var(--muted);line-height:1.5}.weather-day-period{margin:10px 0 0}.weather-forecast-note{margin:12px 0 0}.weather-source{font-size:.875rem}
.weather-forecast-layout .weather-map{background:#edf3ff;border-color:#d6e1f2;max-width:none}.weather-forecast-layout .weather-land{fill:#d7e3f6;stroke:#88a6cf}.weather-forecast-layout .weather-map-marker{padding:0;overflow:hidden;width:20%}.weather-map-marker button{display:block;width:100%;padding:7px 2px;border:0;border-radius:7px;background:#fff;color:#17365e;cursor:pointer;font:inherit;min-height:44px}.weather-map-marker button[aria-pressed=true]{background:#1b57bb;color:#fff}.weather-map-marker button:focus-visible{outline:3px solid #cb294a;outline-offset:-3px}.weather-forecast-layout .weather-map-reading{font-size:.8rem;font-weight:700;min-height:20px}.weather-forecast-layout .weather-map-head h3{font-size:1rem}.weather-forecast-layout .weather-map figcaption{font-size:.875rem;line-height:1.5;margin-top:0}
@media(max-width:1100px){.weather-forecast-layout{grid-template-columns:1fr}.weather-forecast-layout .weather-map{max-width:430px;justify-self:center}}
@media(max-width:600px){.weather-controls label{flex:1;min-width:160px}.weather-forecast-grid{grid-template-columns:1fr}.weather-day{padding:18px}.weather-day-condition{min-height:0}.weather-day-temperatures{justify-content:flex-start;gap:36px}.weather-day-temperatures dd{font-size:2rem}.weather-day-rain strong{display:inline;margin-left:8px}.weather-map-marker .weather-map-reading{font-size:.72rem}}

.weather-forecast-layout{display:block}.weather-forecast-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.weather-day{padding:14px 12px}.weather-day-head{flex-direction:column;align-items:flex-start;gap:10px}.weather-day h4{font-size:1rem}.weather-day-temperatures{gap:6px}.weather-day-temperatures dd{font-size:1.6rem}.weather-day-condition{min-height:3em}.weather-day-period{font-size:.8125rem}.weather-region-disclosure{border:1px solid #d6e1f2;border-radius:12px;margin-top:20px;background:#fff}.weather-region-disclosure>summary{padding:16px;font-weight:750;cursor:pointer}.weather-region-disclosure .weather-map{max-width:430px;margin:0 auto 20px}.weather-forecast-grid{overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:4px;padding-bottom:8px}.weather-day{scroll-snap-align:start}
@media(max-width:1100px){.weather-forecast-grid{grid-template-columns:repeat(7,minmax(148px,1fr))}}
@media(max-width:600px){.weather-forecast-grid{grid-template-columns:repeat(7,minmax(156px,1fr))}.weather-day-condition{min-height:3em}.weather-day-temperatures{gap:18px}.weather-day-rain strong{display:block;margin-left:0}}

.weather-notes{margin-top:16px;padding-top:12px;border-top:1px solid #d6e1f2;color:var(--muted);font-size:.875rem;line-height:1.7}
.weather-notes p{margin:6px 0 0;font-size:inherit;line-height:inherit;color:inherit}.weather-notes p:first-child{margin-top:0}
.weather-notes-disclosure{margin-top:4px}.weather-notes-disclosure>summary{min-height:44px;padding:10px 0;font-size:inherit;line-height:24px;font-weight:700;cursor:pointer}.weather-notes-disclosure>summary:focus-visible{outline:2px solid #1b57bb;outline-offset:2px;border-radius:4px}.weather-notes-body{padding:0 0 8px}

/* Detailed administrative boundaries and temperature unit selection. */
.weather-controls .weather-unit-control{min-width:160px}
.weather-region-disclosure .weather-map{max-width:640px}
.weather-district-boundaries,.weather-province-boundaries{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
.weather-district-boundaries{stroke:#7394b8;stroke-width:.65;opacity:.85}
.weather-province-boundaries{stroke:#3d6591;stroke-width:1.1;opacity:.95}
.weather-map-attribution{display:block;margin-top:6px}
@media(max-width:600px){.weather-map-marker .weather-map-reading{font-size:.68rem;line-height:1.35}.weather-map-marker button{padding:7px 1px}}
.weather-map-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:10px;font-size:.75rem}.weather-map-legend>span{display:inline-flex;align-items:center;gap:6px}.weather-map-legend i{width:20px;border-top:1px solid #7394b8}.weather-map-legend .weather-map-province-key{border-top:2px solid #3d6591}

/* Date-by-date map playback keeps region names prominent within each marker. */
.weather-forecast-layout .weather-map-city{font-size:1rem;line-height:1.15;overflow-wrap:anywhere}.weather-map-icon{display:block;width:20px;height:20px;margin:2px auto}.weather-map-marker button{line-height:1.15}.weather-map-marker .weather-map-reading{white-space:nowrap}
.weather-map-timeline{padding:14px 16px 0;min-width:0}.weather-map-playback{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.weather-map-date{font-size:.875rem;font-weight:700;color:#17365e;line-height:1.45}.weather-map-playback-buttons{display:flex;gap:6px;align-items:center}.weather-map-timeline button{min-width:44px;min-height:44px;padding:8px;border:1px solid #b3c9e9;border-radius:8px;background:#fff;color:#17365e;font:inherit;font-size:.8125rem;font-weight:700;cursor:pointer}.weather-map-playback-buttons [data-weather-map-play]{min-width:106px}.weather-map-timeline button[aria-pressed=true]{border-color:#1b57bb;background:#1b57bb;color:#fff}.weather-map-timeline button:disabled{cursor:default;opacity:.55}.weather-map-timeline button:not(:disabled):hover{border-color:#1b57bb;box-shadow:inset 0 0 0 1px #1b57bb}.weather-map-timeline button:focus-visible{outline:3px solid #cb294a;outline-offset:2px}.weather-map-days{display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));gap:6px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 3px 7px;margin:-3px;overscroll-behavior-x:contain}.weather-map-days button{display:grid;gap:4px;align-content:center;scroll-snap-align:start;text-align:center;padding:8px 4px}.weather-map-days [data-map-day-label]{font-size:.75rem;line-height:1.3}.weather-map-days time{font-size:.875rem;line-height:1.3}
@media(max-width:600px){.weather-forecast-layout .weather-map-city{font-size:.8125rem}.weather-map-icon{width:16px;height:16px;margin:1px auto}.weather-map-timeline{padding:12px 12px 0}.weather-map-playback{gap:6px}.weather-map-date{font-size:.8125rem}.weather-map-days{grid-template-columns:repeat(7,minmax(60px,1fr))}.weather-map-marker button{padding:4px 1px}.weather-forecast-layout .weather-map-reading{min-height:15px}}
@media(max-width:360px){.weather-map-playback{display:grid;justify-content:stretch}.weather-map-playback-buttons{justify-content:space-between}.weather-map-playback-buttons [data-weather-map-play]{flex:1}.weather-forecast-layout .weather-map-city{font-size:.8rem}.weather-map-marker .weather-map-reading{font-size:.6rem;letter-spacing:-.03em}.weather-map-icon{width:14px;height:14px}}

/* Forecast cards retain a stable reading order: weekday and date share the top row,
   while the availability link anchors to the bottom of each card. */
.weather-forecast-grid{align-items:stretch}
.weather-day{display:flex;flex-direction:column;min-height:100%}
.weather-day-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}
.weather-day-date-row{display:flex;align-items:baseline;justify-content:space-between;gap:4px;min-width:0;white-space:nowrap}
.weather-day h4{margin:0;min-width:0}
.weather-day h4 button{min-width:0;white-space:nowrap;font-size:.875rem}
.weather-day time{flex:none;white-space:nowrap;text-align:right;font-size:.75rem}
.weather-day .weather-icon{width:24px;height:24px}
.weather-day-condition{min-height:3em}
.weather-day-period{min-height:2.5em}
.weather-day-detail-hint{margin-top:auto}
@media(max-width:600px){
 .weather-day-head{align-items:center}
 .weather-day-date-row{align-items:baseline}
 .weather-day-condition{min-height:3em}
}
