/* Extend the shared travel journal with a clear, readable transport guide. */
.transport-guide{font-size:1rem;line-height:1.75;background:var(--paper,#f4f0e7);color:#21372c}
.transport-guide *{box-sizing:border-box;min-width:0}
.transport-guide a{text-underline-offset:.22em;overflow-wrap:anywhere}
.transport-guide a:focus-visible,.transport-guide [tabindex]:focus-visible{outline:3px solid #516d4a;outline-offset:4px}
.transport-guide .eyebrow{font-size:.875rem;letter-spacing:.09em;font-weight:600;margin:0 0 .5rem}
.transport-heading{background:#14271f;color:#f5f1e7;padding:2.3rem clamp(1.25rem,6vw,7rem) 0}
.transport-heading h1{font-family:var(--editorial-serif,Georgia,serif);font-size:clamp(2.4rem,4.7vw,4.2rem);font-weight:400;line-height:1.12;letter-spacing:-.02em;max-width:58rem;margin:0 0 .8rem}
.transport-heading>p{max-width:51rem;margin-bottom:1.4rem;color:#d3dbcf}
.transport-heading>.eyebrow{color:#d8b77b}
.transport-nav{display:flex;flex-wrap:wrap;gap:.15rem 1.2rem;border-top:1px solid #5d6a54;padding:.65rem 0}
.transport-nav>a{display:flex;align-items:center;min-height:2.8rem;padding:.4rem 0;font-size:1rem;color:#f0eee4;text-decoration:none;border-bottom:3px solid transparent}
.transport-nav>a[aria-current=page]{color:#ead1a4;border-bottom-color:#d8b77b}
.transport-nav>a:hover{color:#ead1a4}
.transport-heading a:focus-visible{outline-color:#d8b77b}
.transport-body{max-width:90rem;margin:auto;padding:2rem clamp(1.25rem,6vw,7rem) 3rem}
.transport-guide h2{font-family:var(--editorial-serif,Georgia,serif);font-size:clamp(1.85rem,3vw,2.6rem);font-weight:400;line-height:1.2;letter-spacing:-.01em;margin:0 0 1.1rem}
.transport-guide h3{font-size:1.14rem;line-height:1.45;font-weight:600;margin:0 0 .6rem}
.transport-guide p{margin:0 0 1rem}
.transport-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-bottom:2rem}
.transport-mode{display:flex;flex-direction:column;padding:1.45rem;border:1px solid #a6b19e;border-top:4px solid #4f6d84;background:#fffefa;color:inherit;text-decoration:none}
.transport-mode.bus{border-top-color:#63815a}.transport-mode.express{border-top-color:#9e653e}
.transport-mode .eyebrow{font-size:.875rem;color:#52664c}
.transport-mode h2{font-size:1.9rem;margin:.45rem 0 .8rem}
.transport-mode strong{font-size:1rem;margin-top:auto;padding-top:.5rem;text-decoration:underline;text-underline-offset:.25em}
.transport-mode:hover{background:#e9eddf;border-color:#677e5b}
.transport-section{padding:2.5rem 0;border-top:1px solid #b9c2af}
.transport-section>p{max-width:65rem}
.transport-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem 2.5rem}
.transport-two>article+article{padding-left:2.5rem;border-left:1px solid #bcc4b3}
.transport-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.transport-resource-grid article{padding:1.3rem;border:1px solid #b9c2af;background:#e9ecdf}
.transport-callout{background:#20382c;color:#f4f1e5;display:flex;align-items:center;justify-content:space-between;gap:1.8rem;padding:1.6rem 1.8rem;margin:0 0 2rem}
.transport-callout .eyebrow{color:#ddc595}
.transport-callout h2{font-size:1.8rem;margin-bottom:.5rem}
.transport-callout p:last-child{margin:0;max-width:48rem}
.transport-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.65rem 1rem;border:1px solid #5a7152;background:#e5e9d8;color:#21372c;font-size:1rem;font-weight:600;text-decoration:none}
.transport-button:hover{background:#d6dec4}
.transport-callout .transport-button{flex-shrink:0;max-width:100%;background:#e4c896;border-color:#e4c896;color:#14271f}
.transport-eligibility{border-left:5px solid #d8b77b}
.transport-table-wrap{overflow-x:auto;margin:1.5rem 0;max-width:100%;border:1px solid #b3beaa}
.transport-guide table{border-collapse:collapse;width:100%;text-align:left;font-size:1rem;line-height:1.65}
.transport-guide caption{text-align:left;font-size:.875rem;padding:.8rem 1rem;background:#e5e9dc;color:#43593c;caption-side:top}
.transport-guide th,.transport-guide td{padding:1rem;vertical-align:top;border-bottom:1px solid #c5cdbd;min-width:8rem;overflow-wrap:normal}
.transport-guide thead{background:#dce3d2}
.transport-guide tbody th{font-weight:600;width:24%}
.transport-guide tbody tr:nth-child(even){background:#edf0e5}
.transport-guide tbody tr:last-child>*{border-bottom:0}
.transport-source{font-size:.875rem;line-height:1.7;color:#4e6744;margin-top:1.2rem!important}
.transport-source a{display:inline;color:inherit}
.transport-note{font-size:.9375rem;color:#485e3e;margin-top:1rem!important}
.transport-edition{font-size:.875rem;color:#516846;border-top:1px solid #bec7b3;padding-top:1.3rem}
.transport-steps{list-style:none;counter-reset:ride;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}
.transport-steps>li{counter-increment:ride;position:relative;padding:0 0 0 3rem}
.transport-steps>li::before{content:counter(ride,decimal-leading-zero);position:absolute;left:0;top:0;font:1.4rem/1.5 Georgia,serif;color:#687f59;border-top:2px solid #91a27f;width:2.2rem}
.transport-link-row,.transport-region-links{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem}
.transport-region-links a{border-bottom:1px solid #6a805b;padding:.5rem 0;min-height:2.75rem;text-decoration:none}
@media(max-width:1000px){.transport-mode-grid{gap:.8rem}.transport-mode{padding:1.2rem}.transport-callout{align-items:flex-start;flex-direction:column}.transport-two{gap:1.5rem}.transport-two>article+article{padding-left:1.5rem}}
@media(max-width:700px){.transport-heading{padding-top:1.7rem}.transport-body{padding-top:1.3rem}.transport-mode-grid,.transport-two,.transport-steps,.transport-resource-grid{grid-template-columns:1fr}.transport-mode{padding:1.25rem}.transport-mode h2{margin:.25rem 0 .5rem}.transport-mode p{margin-bottom:.5rem}.transport-two>article+article{border-left:0;padding-left:0;border-top:1px solid #bcc4b3;padding-top:1.3rem}.transport-section{padding:2rem 0}.transport-nav{gap:.1rem 1rem}.transport-nav>a{font-size:.9375rem}.transport-callout{padding:1.3rem}.transport-guide th,.transport-guide td{padding:.8rem}.transport-guide table{min-width:38rem}.transport-source{overflow-wrap:anywhere}.transport-steps{gap:1rem}}
@media(prefers-reduced-motion:reduce){.transport-guide *{scroll-behavior:auto}}

.transport-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.transport-region-card{display:flex;flex-direction:column;padding:1.25rem;border:1px solid #b4bea9;text-decoration:none;background:#fffdf5}
.transport-region-card h2{font-size:1.8rem;margin:.3rem 0 .6rem}
.transport-region-card strong{margin-top:auto;font-size:1rem;text-decoration:underline;text-underline-offset:.2em}
.transport-region-card:hover{background:#e6ebdb;border-color:#6d805d}
.transport-regional-benefit{padding:1.25rem;background:#e3e9d8;border-left:4px solid #607e51;margin-bottom:1.5rem}
.transport-breadcrumb{font-size:.9375rem}.transport-national-entry{margin-bottom:1.4rem!important}
@media(max-width:900px){.transport-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.transport-region-grid{grid-template-columns:1fr}}

.transport-ticket-options{row-gap:1.25rem}.transport-ticket-options>article{border:1px solid #d9ddd4;border-radius:8px;padding:1.5rem;background:#fffefa;display:flex;flex-direction:column;align-items:flex-start}.transport-ticket-options .transport-button{margin-top:auto}.transport-counter-phrase{padding:1rem 1.2rem;border-left:3px solid #9d7c3f;background:#f4f1e8;font-style:italic}
.transport-ticket-options>article+article{padding:1.5rem;border:1px solid #d9ddd4}
.transport-ticket-options>article>img{width:100%;height:auto;aspect-ratio:3/2;max-height:190px;object-fit:contain;background:#f5f2ea;border-radius:5px;margin-bottom:1.25rem}
.transport-illustrated-howto{display:grid;grid-template-columns:minmax(0,22.5rem) minmax(0,1fr);align-items:start;gap:2rem;margin:1.6rem 0 2rem}
.transport-ticket-figure{margin:0;border:1px solid #b9c2af;background:#fffefa;border-radius:8px;overflow:hidden}
.transport-ticket-image{display:block;color:#21372c;text-decoration:none}
.transport-ticket-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#f5f2ea}
.transport-ticket-image span{display:block;padding:.5rem 1rem;font-size:.875rem;text-decoration:underline;text-underline-offset:.2em;background:#e5e9dc}
.transport-ticket-image:hover span{background:#d6dec4}
.transport-ticket-figure figcaption{padding:1rem;font-size:1rem;line-height:1.6}
.transport-ticket-figure small{display:block;margin-top:.6rem;font-size:.875rem;color:#516846}
.transport-illustrated-howto .transport-steps{grid-template-columns:1fr;margin:0;gap:1.15rem}
.transport-illustrated-howto .transport-steps p{margin-bottom:0}
@media(max-width:800px){.transport-illustrated-howto{grid-template-columns:1fr;gap:1.5rem}.transport-ticket-figure{width:100%;max-width:26.25rem;margin-inline:auto}.transport-ticket-options>article>img{max-height:170px}}
.transport-lead{font-size:1.05rem;max-width:68rem!important}.metro-ticket-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.metro-ticket-visuals figure{margin:0;background:#fffefa;border:1px solid #aeb9a6}.metro-ticket-visuals a{display:block}.metro-ticket-visuals img{display:block;width:100%;height:auto;aspect-ratio:30/19;object-fit:contain}.metro-ticket-visuals figcaption{display:flex;flex-direction:column;gap:.3rem;padding:1rem;line-height:1.5}.metro-ticket-visuals figcaption b{font-size:1.05rem;color:#17382e}.metro-ticket-visuals figcaption span{font-size:.9rem}.metro-ticket-rescue{padding:1.1rem 1.3rem;margin:1.5rem 0;background:#fff4d9;border-left:5px solid #ad6e25}.metro-ticket-rescue p{margin:.35rem 0 0}@media(max-width:700px){.metro-ticket-visuals{grid-template-columns:1fr}.metro-ticket-visuals figcaption{padding:.85rem}}
.metro-wide-figure{margin:1.4rem 0 1.8rem;border:1px solid #aeb9a6;background:#fffefa}.metro-wide-figure a,.metro-wide-figure img{display:block}.metro-wide-figure img{width:100%;height:auto}.metro-wide-figure figcaption{padding:.85rem 1rem;font-size:.9rem;line-height:1.55}.machine-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0 2rem}.machine-method-grid article{padding:1.2rem;background:#fffefa;border:1px solid #aeb9a6;border-top:5px solid #637d68}.machine-method-grid article ol{padding-left:1.25rem;margin:.7rem 0 1rem}.machine-method-grid article li{margin:.35rem 0}.transport-subheading{font-size:1.45rem!important;margin-top:2rem!important}@media(max-width:700px){.machine-method-grid{grid-template-columns:1fr}}
.practical-step-grid{counter-reset:practical;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.4rem 0 2rem}.practical-step-grid article{position:relative;min-height:13rem;padding:1.1rem;background:#fffefa;border:1px solid #aeb9a6;border-top:5px solid #d6ad62}.practical-step-grid article>b{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:#17382e;color:#fff}.practical-step-grid article>span{display:block;margin:.7rem 0 .2rem;color:#765b2f;font-size:.72rem;font-weight:800;letter-spacing:.08em}.practical-step-grid h3{font-size:1.05rem;margin:.45rem 0}.practical-step-grid p{font-size:.9rem;line-height:1.55;margin:0}.practical-step-grid.compact article{min-height:11rem}.locker-find-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.2rem 0 1.8rem}.locker-find-strip article{padding:1.1rem;background:#17382e;color:#fff}.locker-find-strip span{display:block;color:#e4c788;font-size:.72rem;font-weight:800;letter-spacing:.08em}.locker-find-strip strong{display:block;margin:.45rem 0;font-size:1.08rem}.locker-find-strip p{margin:0;color:#d8e3dc;font-size:.9rem;line-height:1.5}@media(max-width:1050px){.practical-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.practical-step-grid,.locker-find-strip{grid-template-columns:1fr}.practical-step-grid article,.practical-step-grid.compact article{min-height:0}}
.metro-real-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.3rem 0 2rem}.metro-real-photo-grid figure,.metro-real-sign{margin:0;background:#fffefa;border:1px solid #aeb9a6;overflow:hidden}.metro-real-photo-grid a,.metro-real-sign>a{display:block;background:#e8e5dc}.metro-real-photo-grid img,.metro-real-sign img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}.metro-real-photo-grid figcaption,.metro-real-sign figcaption{display:flex;flex-direction:column;gap:.35rem;padding:1rem;line-height:1.5}.metro-real-photo-grid figcaption b,.metro-real-sign figcaption b{font-size:1.08rem;color:#17382e}.metro-real-photo-grid figcaption span,.metro-real-sign figcaption span{font-size:.92rem}.metro-real-photo-grid figcaption small,.metro-real-sign figcaption small{font-size:.78rem;line-height:1.55;color:#50634c}.metro-real-photo-grid figcaption small a,.metro-real-sign figcaption small a{display:inline;background:transparent}.metro-wayfinding-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr);gap:1.2rem;margin:1.4rem 0 2rem;align-items:start}.metro-sign-checks{display:grid;gap:.75rem}.metro-sign-checks article{display:grid;grid-template-columns:2.65rem 1fr;gap:.8rem;padding:1rem;background:#1c3329;color:#f7f3e9}.metro-sign-checks article>span{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:#e0c58f;color:#173027;font:700 1.15rem/1 Georgia,serif}.metro-sign-checks b{font-size:.82rem;letter-spacing:.1em;color:#e7ce9e}.metro-sign-checks p{margin:.25rem 0 0;font-size:.92rem;line-height:1.55;color:#edf0e9}@media(max-width:800px){.metro-real-photo-grid,.metro-wayfinding-layout{grid-template-columns:1fr}.metro-real-photo-grid figcaption,.metro-real-sign figcaption{padding:.85rem}.metro-sign-checks{grid-template-columns:1fr}}

.station-start{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.station-start figure{margin:0}.station-start img{display:block;width:100%;height:auto}.station-start figcaption{font-size:.875rem;line-height:1.5;margin-top:.6rem}.station-ticket-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}.station-ticket-fields span{padding:1rem;border:1px solid #9aaea4;font-weight:700}#ktx-station-map{height:380px;width:100%;z-index:0;margin:1rem 0}.transport-link-row a{min-height:44px;display:inline-flex;align-items:center}@media(max-width:760px){.station-start{grid-template-columns:1fr}.station-ticket-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#ktx-station-map{height:300px}}

.station-actions,.station-scenic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.station-actions{margin:1rem 0 2rem}.station-actions>a{padding:1rem;background:#e3e9d8;border:1px solid #a5b49b;text-decoration:none;display:flex;flex-direction:column;gap:.5rem}.station-actions span{font-size:.875rem}.station-actions>a:hover{background:#d1ddc3}.station-scenic-card{padding:1.1rem;border:1px solid #b4bea9;background:#fffdf5;display:flex;flex-direction:column;min-width:0}.station-scenic-card h3{font-size:1.35rem;line-height:1.2;margin:.5rem 0}.station-scenic-card p{font-size:.95rem;overflow-wrap:anywhere}.station-korean-name{color:#526547}.station-train-route{font-weight:700;border-block:1px solid #d6ddcf;padding:.7rem 0}.station-train-links{margin-top:auto;display:flex;flex-direction:column;gap:.5rem}.station-train-links a{min-height:44px;display:flex;align-items:center;font-size:.95rem}@media(max-width:1000px){.station-actions,.station-scenic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.station-actions,.station-scenic-grid{grid-template-columns:1fr}}

/* Explicit foregrounds prevent global navigation colours leaking into light buttons. */
.transport-guide .station-actions{background:transparent;padding:0}
.transport-guide .station-actions>a,.transport-guide .station-actions>a:visited{background:#e3e9d8;color:#14271f;border-color:#718363}
.transport-guide .station-actions>a:hover,.transport-guide .station-actions>a:focus-visible{background:#cedabe;color:#102018}
.transport-guide .station-actions>a strong,.transport-guide .station-actions>a span{color:inherit;opacity:1}
.transport-guide .transport-button,.transport-guide .transport-button:visited{background:#e5e9d8;color:#14271f;border-color:#617455;font-weight:700}
.transport-guide .transport-button:hover,.transport-guide .transport-button:focus-visible{background:#cedabe;color:#102018}
.transport-guide .transport-callout .transport-button,.transport-guide .transport-callout .transport-button:visited{background:#e4c896;color:#14271f}
.transport-guide .transport-callout .transport-button:hover{background:#f0d9b0;color:#102018}
