:root{--blue:#002868;--blue-2:#061d45;--red:#ce1126;--warm:#f7f6f2;--soft-blue:#e9eff8;--soft-red:#fbeaec;--ink:#14213d;--muted:#5c667a;--line:#dce1e8;--white:#fff;--shadow:0 22px 60px rgba(0,26,73,.12);--radius:22px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--warm);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:3px}button,input,select{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.narrow{max-width:860px}h1,h2,h3{margin:0 0 .6em;color:var(--blue-2);font-family:Georgia,"Times New Roman",serif;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3.2rem,8vw,7.5rem)}h2{font-size:clamp(2.15rem,4.5vw,4.6rem)}h3{font-size:clamp(1.25rem,2vw,1.65rem)}p{margin:.3em 0 1.2em}.lead{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55}.section-intro{max-width:760px;font-size:1.12rem;color:var(--muted)}.eyebrow{margin:0 0 13px;color:var(--red);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.light{color:#f5bbc2}.skip-link{position:fixed;z-index:200;top:8px;left:8px;transform:translateY(-140%);padding:10px 14px;background:#fff;color:var(--blue);border-radius:8px}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,40,104,.1);backdrop-filter:blur(16px)}.header-inner{height:78px;width:min(1320px,calc(100% - 34px));margin:auto;display:flex;align-items:center;gap:28px}.brand{display:block;flex:0 0 205px}.brand img{width:205px;height:auto}.site-nav{display:flex;align-items:center;justify-content:center;gap:22px;flex:1}.site-nav a{color:#263752;font-size:.86rem;font-weight:700;text-decoration:none}.site-nav a:hover{color:var(--red)}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;border-radius:999px;text-decoration:none;font-size:.9rem;font-weight:800;transition:.2s ease;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:#fff;box-shadow:0 12px 28px rgba(206,17,38,.26)}.button-primary:hover{background:#b70f22}.button-outline{border-color:rgba(0,40,104,.35);color:var(--blue);background:transparent}.button-outline:hover{background:var(--blue);color:#fff}.menu-button{display:none;background:transparent;border:0;padding:8px}.menu-button span{display:block;width:25px;height:2px;background:var(--blue);margin:5px}.hero{position:relative;height:clamp(660px,82vh,880px);overflow:hidden;background:var(--blue)}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;visibility:hidden;transition:opacity .8s ease;display:flex;align-items:flex-end}.slide.is-active{opacity:1;visibility:visible}.slide picture,.slide picture:after{position:absolute;inset:0}.slide picture:after{content:"";display:block;background:linear-gradient(90deg,rgba(0,20,55,.86) 0%,rgba(0,20,55,.48) 53%,rgba(0,20,55,.15) 100%),linear-gradient(0deg,rgba(0,20,55,.5),transparent 55%)}.slide img{width:100%;height:100%;object-fit:cover}.hero-copy{position:relative;z-index:2;color:#fff;padding-bottom:110px}.hero-copy h1,.hero-copy h2{color:#fff;max-width:850px}.hero-copy h2{font-size:clamp(2.8rem,6.5vw,6.8rem)}.hero-copy p{max-width:720px}.hero-lead{font-size:clamp(1.2rem,2.5vw,1.7rem);line-height:1.4}.hero-controls{position:absolute;z-index:5;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:16px}.hero-controls button{width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,40,104,.4);color:#fff;cursor:pointer}.hero-dots{display:flex;gap:8px}.hero-dots button{width:9px;height:9px;padding:0;background:#fff;border:0;opacity:.45}.hero-dots button.is-active{opacity:1;transform:scale(1.25)}.section{padding:clamp(72px,9vw,130px) 0}.section-overlap{position:relative;z-index:10;margin-top:-35px}.search-shell{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(24px,4vw,48px)}.search-shell h2{font-size:clamp(2rem,4vw,3.35rem)}.route-search{display:grid;grid-template-columns:1fr 1fr .85fr auto;gap:12px;margin-top:28px}.route-search label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#566076}.route-search input,.route-search select{display:block;width:100%;height:52px;margin-top:6px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;padding:0 13px;color:var(--ink)}.route-search .button{align-self:end;height:52px}.micro{font-size:.76rem;color:#6c7586;margin-top:14px}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}.answer-grid article{position:relative;min-height:250px;background:#fff;padding:28px;border:1px solid rgba(0,40,104,.08);border-radius:18px;box-shadow:0 12px 30px rgba(11,35,75,.06)}.answer-grid article:first-child,.answer-grid article:last-child{background:var(--blue);color:#fff}.answer-grid article:first-child h3,.answer-grid article:last-child h3{color:#fff}.answer-grid b{display:block;color:var(--red);font-size:.75rem;letter-spacing:.15em;margin-bottom:35px}.soft-blue{background:var(--soft-blue)}.soft-red{background:var(--soft-red)}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,7vw,100px);align-items:center}.status-card{background:var(--blue);color:#fff;padding:36px;border-radius:var(--radius);box-shadow:var(--shadow)}.status-card h3{color:#fff;font-size:3rem;margin:.15em 0}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#59d98e;box-shadow:0 0 0 5px rgba(89,217,142,.18);margin-right:12px}.small{font-size:.85rem;color:#cad6e8}.note{padding:16px 20px;border-left:4px solid var(--red);background:rgba(255,255,255,.58);font-size:.9rem}.note.strong{margin-top:42px;background:var(--soft-red);font-size:1.05rem}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.journey-card{background:#fff;border-radius:18px;padding:28px;border:1px solid rgba(0,40,104,.1);display:flex;flex-direction:column;min-height:245px}.journey-card p{color:var(--muted)}.journey-card a{margin-top:auto;color:var(--blue);font-weight:800}.journey-card.feature{grid-row:span 2;padding:0;overflow:hidden}.journey-card.feature img{height:270px;width:100%;object-fit:cover}.journey-card.feature div{padding:28px;display:flex;flex:1;flex-direction:column}.journey-card.feature span,.journey-card.dark span{color:var(--red);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.journey-card.dark{background:var(--blue);color:#fff}.journey-card.dark h3,.journey-card.dark a{color:#fff}.journey-card.dark p{color:#d9e1ef}.dark-section{background:var(--blue-2);color:#edf3ff}.dark-section h2,.dark-section h3{color:#fff}.dark-section .section-intro{color:#c4d0e5}.tables-grid{display:grid;gap:50px;margin-top:42px}.table-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.15);border-radius:15px}table{width:100%;border-collapse:collapse;min-width:700px;font-size:.9rem}th,td{padding:15px 18px;text-align:left;border-bottom:1px solid rgba(255,255,255,.11)}th{color:#9fb1d0;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.light-copy{color:#b7c4dc}.duration-list{border-top:1px solid var(--line);margin-top:36px}.duration-list div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.duration-list span{color:var(--muted)}.fare-card{background:#fff;padding:36px;border-radius:var(--radius);box-shadow:var(--shadow)}.tag{display:inline-block;padding:7px 11px;background:var(--soft-red);border-radius:999px;color:var(--red);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.tag.blue{background:var(--soft-blue);color:var(--blue)}.red-tag{background:var(--soft-red);color:var(--red)}.fare-card dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0}.fare-card dt{font-weight:700}.fare-card dd{margin:0;color:var(--blue);font-weight:800}.horizontal{display:flex;align-items:center;justify-content:space-between;gap:32px}.horizontal p{margin:0}.rail-map{display:grid;grid-template-columns:1fr auto 1.5fr;gap:26px;align-items:start;margin-top:50px;background:#fff;border-radius:var(--radius);padding:clamp(25px,5vw,55px);box-shadow:var(--shadow)}.line{position:relative;padding-left:32px}.line:before{content:"";position:absolute;left:9px;top:12px;bottom:25px;width:4px;border-radius:4px}.thai-line:before{background:var(--red)}.china-line:before{background:var(--blue)}.station{position:relative;padding:0 0 28px;font-weight:750}.station:before{content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--blue)}.thai-line .station:before{border-color:var(--red)}.station.major{font-size:1.08rem}.station small{display:block;color:var(--muted);font-size:.75rem;font-weight:500}.transfer{align-self:center;border:2px dashed #d8a4aa;padding:18px;text-align:center;background:var(--soft-red);border-radius:14px}.transfer span,.transfer b{display:block}.transfer span{color:var(--red);font-weight:850;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.transfer b{font-size:.78rem;margin-top:6px}.legend{display:flex;gap:26px;flex-wrap:wrap;margin-top:25px;font-size:.78rem}.legend i{display:inline-block;width:26px;height:4px;margin-right:8px;vertical-align:middle}.legend .red{background:var(--red)}.legend .blue{background:var(--blue)}.legend .dash{border-top:3px dashed #b56b75}.station-compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:42px}.station-compare article{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.station-compare picture img{width:100%;height:310px;object-fit:cover}.station-compare article>div{padding:32px}.station-compare strong{display:block;margin-bottom:12px}.critical-callout{margin-top:28px;background:var(--red);color:#fff;padding:clamp(28px,5vw,55px);border-radius:var(--radius)}.critical-callout h3{color:#fff;font-size:clamp(1.7rem,4vw,3.4rem)}.critical-callout span{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800}.ticket-facts{display:grid;gap:14px}.ticket-facts article{display:flex;align-items:center;gap:22px;background:#fff;padding:24px;border-radius:16px}.ticket-facts p{margin:0;color:var(--muted)}.big-number,.icon-passport{flex:0 0 65px;height:65px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:2rem;font-family:Georgia,serif}.icon-passport{font-size:1rem;border-radius:15px}.timeline{list-style:none;padding:0;margin:46px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.timeline li{background:#fff;border:1px solid var(--line);border-radius:17px;padding:26px;display:flex;gap:18px}.timeline li>span{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-weight:800}.timeline p{margin:0;color:var(--muted)}.check-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check-columns>div{padding:28px;border:1px solid rgba(255,255,255,.13);border-radius:16px}.checklist{list-style:none;padding:0}.checklist li{padding:7px 0}.checklist li:before{margin-right:10px;font-weight:900}.checklist.yes li:before{content:"✓";color:#65d69a}.checklist.no li:before{content:"!";color:#ff8997}.train-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.train-card{background:#fff;border-radius:var(--radius);padding:36px;border-top:7px solid var(--blue);box-shadow:0 12px 32px rgba(0,40,104,.07)}.train-card>span{font-family:Georgia,serif;font-size:4rem;color:var(--blue)}.train-card.d{border-color:var(--red)}.train-card.d>span{color:var(--red)}.train-card.k{border-color:#b58535}.train-card.k>span{color:#8a601e}.train-card small{color:var(--muted)}.class-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.class-grid article{background:#fff;border-radius:var(--radius);overflow:hidden}.class-grid img{width:100%;height:310px;object-fit:cover}.class-grid article>div{padding:30px}.text-class{grid-column:1/-1}.route-story article{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;padding:60px 0;border-bottom:1px solid var(--line)}.route-story article:nth-child(odd) img{order:-1}.route-story img{height:420px;width:100%;object-fit:cover;border-radius:var(--radius)}.route-story li{margin:8px 0}.city-line{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:45px 0}.city-line div{flex:1;background:#fff;color:var(--blue);padding:30px;border-radius:16px;text-align:center}.city-line b,.city-line span{display:block}.city-line b{font-family:Georgia,serif;font-size:1.45rem}.variants{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.variants article{border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:26px}.variants span{color:#ff8d9a;font-weight:800}.station-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.station-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding-bottom:24px}.station-grid img{width:100%;height:190px;object-fit:cover}.station-grid h3,.station-grid p,.station-grid a{margin-left:22px;margin-right:22px}.station-grid h3{margin-top:20px}.station-grid p{font-size:.9rem;color:var(--muted)}.station-grid a{font-weight:800;color:var(--blue);font-size:.85rem}.china-section{background:linear-gradient(135deg,#04183c,#002868);color:#e8effb}.china-section h2,.china-section h3{color:#fff}.china-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.china-grid article{border:1px solid rgba(255,255,255,.16);padding:28px;border-radius:17px}.china-grid .warning{background:var(--red);border:0}.international-example{margin-top:35px;padding:28px;background:#fff;color:var(--ink);border-radius:17px}.international-example div{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.international-example span{color:var(--red);font-weight:800}.schedule-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.schedule-pair article{padding:24px;border:1px solid var(--line);border-radius:16px}.schedule-pair span,.schedule-pair b{display:block}.schedule-pair span{color:var(--red);font-weight:800}.rounded-image{border-radius:var(--radius);box-shadow:var(--shadow)}.through-diagram{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:44px 0}.through-diagram span{background:#fff;border-radius:999px;padding:12px 18px;font-weight:750}.through-diagram strong{background:var(--red);color:#fff;border-radius:10px;padding:14px 18px}.statement{font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,3.8rem);text-align:center;color:var(--blue);font-weight:700;max-width:850px;margin:55px auto 20px}.center-copy{text-align:center;max-width:720px;margin:auto}.practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.practical-grid article{padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px}.mistake-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.13);margin-top:42px}.mistake-list div{padding:28px;background:var(--blue-2)}.mistake-list b,.mistake-list span{display:block}.mistake-list b{color:#fff;margin-bottom:8px}.mistake-list span{color:#b9c8e0;font-size:.9rem}.faq-list{margin-top:35px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:22px 45px 22px 0;font-weight:780;position:relative}summary:after{content:"+";position:absolute;right:8px;color:var(--red);font-size:1.5rem;top:16px}details[open] summary:after{content:"−"}details p{padding:0 40px 20px 0;color:var(--muted)}.final-cta{padding:100px 0;background:var(--blue);text-align:center;color:#fff}.final-cta img{margin:0 auto 20px}.final-cta h2{color:#fff}.final-cta p{max-width:600px;margin-left:auto;margin-right:auto}footer{background:#020e25;color:#aebbd0;padding:75px 0 110px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid img{filter:brightness(0) invert(1);margin-bottom:16px}.footer-grid h3{color:#fff;font-family:inherit;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.footer-grid a{display:block;text-decoration:none;margin:8px 0}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.13);padding-top:28px;margin-top:45px;font-size:.75rem}.footer-bottom p:first-child{max-width:750px}.mobile-book{display:none}
@media(max-width:1100px){.site-nav{gap:12px}.site-nav a{font-size:.76rem}.header-cta{display:none}.answer-grid{grid-template-columns:repeat(2,1fr)}.journey-grid,.station-grid{grid-template-columns:repeat(2,1fr)}.practical-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){html{scroll-padding-top:70px}.container{width:min(100% - 28px,var(--max))}.site-header{height:68px}.header-inner{height:68px;width:calc(100% - 28px)}.brand{flex-basis:160px}.brand img{width:160px}.menu-button{display:block;margin-left:auto}.site-nav{position:fixed;left:0;right:0;top:68px;bottom:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:24px;background:#fff;transform:translateX(100%);transition:.25s ease}.site-nav.is-open{transform:none}.site-nav a{font-size:1.15rem;padding:12px;border-bottom:1px solid var(--line)}.hero{height:720px}.slide picture:after{background:linear-gradient(0deg,rgba(0,20,55,.94) 5%,rgba(0,20,55,.38) 82%)}.hero-copy{padding-bottom:105px}.hero-copy p:not(.hero-lead):not(.eyebrow){display:none}.route-search{grid-template-columns:1fr}.section-overlap{margin-top:-20px}.answer-grid,.journey-grid,.split,.station-compare,.timeline,.train-grid,.class-grid,.route-story article,.station-grid,.china-grid,.practical-grid,.variants{grid-template-columns:1fr}.answer-grid article{min-height:auto}.journey-card.feature{grid-row:auto}.rail-map{grid-template-columns:1fr}.transfer{margin:0 0 20px}.station-compare picture img{height:235px}.timeline li{padding:20px}.class-grid .text-class{grid-column:auto}.route-story article:nth-child(odd) img{order:0}.route-story img{height:290px}.city-line{flex-direction:column}.city-line div{width:100%}.city-line i{transform:rotate(90deg)}.station-grid{grid-template-columns:1fr 1fr}.through-diagram{flex-direction:column}.through-diagram i{line-height:.8}.horizontal{align-items:flex-start;flex-direction:column}.check-columns{grid-template-columns:1fr}.schedule-pair{grid-template-columns:1fr}.mistake-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block;padding-bottom:20px}.mobile-book{display:flex;position:fixed;z-index:90;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:52px;align-items:center;justify-content:center;border-radius:999px;background:var(--red);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 10px 35px rgba(75,4,13,.38)}footer{padding-bottom:150px}body.near-footer .mobile-book{opacity:0;pointer-events:none;transform:translateY(20px)}.mobile-book{transition:.2s}.duration-list div{display:block}.duration-list span{display:block}.hero-controls{left:auto;right:16px;transform:none}.hero-dots{display:none}}
@media(max-width:480px){.station-grid{grid-template-columns:1fr}.answer-grid{grid-template-columns:1fr}.hero-copy h1{font-size:3.4rem}.hero-copy h2{font-size:2.7rem}.search-shell{padding:22px 18px}.fare-card{padding:26px 20px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
:focus-visible{outline:3px solid #ffcf4c;outline-offset:3px}
.tables-grid>div{min-width:0}.table-wrap{max-width:100%}
@media(max-width:780px){.site-nav{display:none;transform:none}.site-nav.is-open{display:flex}}
.skip-link{left:-9999px;transform:none}.skip-link:focus{left:8px;transform:none}.answer-grid article:first-child>b,.answer-grid article:last-child>b{color:#ffb8c0}

/* Phase 1 editorial expansion */
.affiliate-widget{margin-top:28px;width:100%;overflow:hidden;border-radius:18px;background:#fff}.affiliate-widget iframe{display:block;width:100%;height:330px;border:0;background:#fff}.search-shell-secondary{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:40px;align-items:center}
.answer-grid article{overflow:hidden;padding:0 24px 26px}.answer-grid .card-thumb{display:block;margin:0 -24px 18px}.answer-grid .card-thumb img{width:calc(100% + 48px);height:132px;object-fit:cover}.answer-grid b{margin-bottom:12px}.answer-grid h3{font-size:1.35rem}.answer-grid p{font-size:.92rem;margin-bottom:0}
.journey-card:not(.feature) .journey-thumb{display:block;margin:-28px -28px 20px}.journey-card:not(.feature) .journey-thumb img{width:calc(100% + 56px);height:132px;object-fit:cover}.journey-card.feature .journey-thumb{display:block}.journey-card.feature .journey-thumb img{width:100%;height:270px;object-fit:cover}
.decision-grid,.door-time-grid,.choice-grid,.planning-grid,.access-grid,.station-name-grid,.scenery-grid,.fare-details-grid{display:grid;gap:18px;margin-top:38px}.decision-grid,.scenery-grid,.fare-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.door-time-grid,.choice-grid,.access-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-grid,.station-name-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.decision-grid article,.door-time-grid article,.choice-grid article,.planning-grid article,.access-grid article,.scenery-grid article,.fare-detail{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}.door-time-grid article>span,.planning-grid article>span{display:inline-block;color:var(--red);font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.door-time-grid ol{padding-left:20px}.door-time-grid li{margin:7px 0}.dark-section .choice-grid article{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}.dark-section .choice-grid p{color:#cbd6e8}.align-start{align-items:start}.action-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.action-list li{display:flex;gap:14px;align-items:flex-start;background:#fff;padding:15px 18px;border-radius:13px}.action-list li span{flex:0 0 30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-weight:800}.action-list p{margin:0}.critical-note{margin:30px 0 0;padding:20px 24px;border-radius:14px;background:var(--blue);color:#fff;font-weight:750}.check-panel{padding:32px;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.choice-grid li,.download-list li{margin:8px 0}.recommendation{margin:30px 0 0;padding:22px 26px;border-left:5px solid var(--red);background:#fff;font-size:1.1rem;font-weight:750}.scenery-grid{margin-top:0}.scenery-grid h2{font-size:clamp(2rem,3.7vw,3.6rem)}.download-list{columns:2;padding-left:20px}.critical-callout.compact{padding:28px 34px}.critical-callout.compact h3{font-size:clamp(1.45rem,3vw,2.5rem);margin-bottom:0}.checklist-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;align-items:start}.departure-checklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.departure-checklist li{position:relative;background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px 16px 16px 46px;font-weight:700}.departure-checklist li:before{content:"✓";position:absolute;left:17px;color:var(--red);font-weight:900}.station-name-grid article{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.station-name-grid small{color:var(--muted)}.station-name-grid strong{font-family:Georgia,serif;color:var(--blue);font-size:1.1rem}.station-name-grid button{align-self:flex-start;border:0;border-bottom:1px solid var(--blue);padding:4px 0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer}.comparison-wrap,.fare-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:#fff}.comparison-table,.fare-table{min-width:640px}.comparison-table th,.comparison-table td,.fare-table th,.fare-table td{border-bottom:1px solid var(--line);color:var(--ink)}.comparison-table thead th,.fare-table thead th{background:var(--blue);color:#fff}.comparison-table tbody th,.fare-table tbody th{color:var(--blue)}.fare-details-grid{margin-top:24px}.fare-detail small{color:var(--muted)}.fare-context{max-width:920px;margin:28px auto 0}.station-grid .serves{color:var(--ink)}.station-grid .station-mistake{padding:12px;border-radius:10px;background:var(--soft-red);color:#70202a}.connection-warning{max-width:850px;margin:34px auto 0;padding:28px;border-radius:18px;background:#fff;border:2px solid var(--red)}.connection-warning h3{color:var(--red)}
@media(max-width:1100px){.planning-grid,.station-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.door-time-grid,.choice-grid,.access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.affiliate-widget iframe{height:365px}.search-shell-secondary,.decision-grid,.door-time-grid,.choice-grid,.planning-grid,.access-grid,.station-name-grid,.scenery-grid,.fare-details-grid,.checklist-layout{grid-template-columns:1fr}.search-shell-secondary{gap:20px}.answer-grid .card-thumb img{height:120px}.journey-card:not(.feature) .journey-thumb img{height:150px}.departure-checklist{grid-template-columns:1fr}.download-list{columns:1}.comparison-wrap{margin-inline:-4px}.comparison-table{min-width:100%;table-layout:fixed}.comparison-table th:first-child{width:30%}.fare-table{min-width:590px}.checklist-layout{gap:25px}}
@media(max-width:480px){.answer-grid article{padding:0 20px 22px}.answer-grid .card-thumb{margin:0 -20px 16px}.answer-grid .card-thumb img{width:calc(100% + 40px);height:112px}.door-time-grid article,.choice-grid article,.planning-grid article,.access-grid article,.scenery-grid article,.fare-detail{padding:22px}.comparison-table,.fare-table{font-size:.78rem}.comparison-table th,.comparison-table td,.fare-table th,.fare-table td{padding:12px}.station-name-grid article{padding:20px}}
.table-wrap,.comparison-wrap,.fare-table-wrap{contain:inline-size}
#fx-note{color:#596274}

/* Focused refinement: richer route cards, onboard editorial and mobile navigation */
.nav-book-mobile{display:none!important}.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.journey-card,.journey-card.feature{padding:0;overflow:hidden;min-height:0}.journey-grid .journey-card .journey-thumb{display:block;margin:0}.journey-grid .journey-card .journey-thumb img,.journey-card.feature .journey-thumb img{width:100%;height:210px;object-fit:cover}.journey-content{display:flex;flex:1;flex-direction:column;padding:28px}.journey-card h3{font-size:clamp(1.55rem,2.4vw,2.15rem)}.route-kicker{margin:0 0 9px;color:var(--red)!important;font-size:.72rem!important;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.route-facts{margin:10px 0 20px}.route-facts div{padding:12px 0;border-top:1px solid var(--line)}.route-facts dt{color:var(--blue);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.route-facts dd{margin:3px 0 0;color:var(--muted);font-size:.92rem;line-height:1.55}.route-note,.route-alert{margin:auto 0 20px;padding:14px 16px;border-left:4px solid var(--red);background:var(--soft-red);color:var(--ink)!important;font-size:.9rem;font-weight:700}.route-link{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;margin-top:0!important;padding:10px 16px;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-size:.86rem}.journey-card.dark .route-facts div{border-color:rgba(255,255,255,.16)}.journey-card.dark .route-facts dt{color:#ffb8c0}.journey-card.dark .route-facts dd{color:#d9e1ef}.journey-card.dark .route-note{background:rgba(255,255,255,.1);color:#fff!important}.journey-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)}.journey-wide .journey-thumb img{height:100%!important;min-height:480px}.transfer-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 20px}.transfer-steps span{padding:8px 11px;border-radius:999px;background:var(--soft-blue);color:var(--blue);font-size:.78rem;font-weight:800}.transfer-steps i{color:var(--red);font-style:normal}.onboard-editorial{display:grid;gap:22px;margin-top:42px}.onboard-editorial article{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 30px rgba(11,35,75,.05)}.onboard-editorial article:nth-child(even) picture{order:2}.onboard-editorial picture,.onboard-editorial img{width:100%;height:100%}.onboard-editorial img{min-height:260px;object-fit:cover}.onboard-editorial article>div{padding:clamp(25px,4vw,42px)}.onboard-editorial h3{font-size:clamp(1.5rem,3vw,2.5rem)}section[id]{scroll-margin-top:88px}
@media(max-width:780px){.site-nav{overflow-y:auto;overscroll-behavior:contain;padding-bottom:110px}.nav-book-mobile{display:flex!important;align-items:center;justify-content:center;margin-top:12px;border:0!important;border-radius:999px;background:var(--red);color:#fff!important;font-size:.92rem!important;text-align:center}.journey-grid{grid-template-columns:1fr}.journey-wide{grid-column:auto;display:flex}.journey-wide .journey-thumb img,.journey-grid .journey-card .journey-thumb img{height:185px!important;min-height:0}.journey-content{padding:24px}.journey-card h3{font-size:1.75rem}.route-facts dd{font-size:1rem}.onboard-editorial article{grid-template-columns:1fr}.onboard-editorial article:nth-child(even) picture{order:0}.onboard-editorial img{height:210px;min-height:0}.onboard-editorial article>div{padding:24px}section[id]{scroll-margin-top:76px}}
@media(max-width:480px){body{font-size:16px}.hero{height:650px}.hero-copy h1{font-size:2.35rem}.hero-copy h2{font-size:2.15rem}.hero-copy{padding-bottom:100px}.journey-content{padding:22px 20px}.journey-card h3{font-size:1.62rem}.transfer-steps{align-items:flex-start;flex-direction:column}.transfer-steps i{transform:rotate(90deg);margin-left:18px}.onboard-editorial img{height:185px}.mobile-book{height:48px;font-size:.9rem}}
.journey-card.dark .route-kicker{color:#ffb8c0!important}
#thailand picture,#thailand .rounded-image{width:100%}#thailand .rounded-image{height:auto;aspect-ratio:3/2;object-fit:cover}
.language-switcher{position:relative;display:block;flex:0 0 auto;border:0;padding:0;background:transparent}
.language-trigger{display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);font-size:.72rem;font-weight:850;cursor:pointer;white-space:nowrap}
.language-trigger:focus-visible,.language-menu a:focus-visible{outline:3px solid rgba(206,17,38,.35);outline-offset:2px}
.language-current-flag{font-size:1rem;line-height:1}
.language-chevron{font-size:.95rem;line-height:1;transition:transform .18s ease}
.language-switcher.is-open .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:160;display:none;min-width:174px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(0,26,73,.18)}
.language-switcher.is-open .language-menu{display:block}
.language-menu a{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:10px 9px;border-radius:9px;color:var(--ink);font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}
.language-menu a:hover,.language-menu a.is-current{background:var(--soft-blue);color:var(--blue)}
.language-menu a span:last-child{color:var(--muted);font-size:.7rem;font-weight:850}
@media(max-width:780px){.language-trigger{min-height:36px;padding:6px 8px}.language-menu{right:-4px;top:calc(100% + 7px);min-width:166px}.language-menu a{min-height:42px;padding:9px 8px}.language-switcher{z-index:170}}
@media(max-width:360px){.language-trigger{gap:3px;padding:5px 6px;font-size:.64rem}.language-current-flag{font-size:.9rem}.language-menu{right:-2px;min-width:160px}}
html,body{overflow-x:hidden}
html[lang="ja"] body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Noto Sans JP",sans-serif;line-height:1.68}

/* Mobile navigation: use a full-height, two-column panel instead of a cramped
   scrolling drawer. The compact grid keeps every destination visible at once
   on narrow phones while leaving the booking action full width. */
@media(max-width:780px){
  .site-nav,
  .site-nav.is-open{
    position:fixed;
    inset:68px 0 0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-content:start;
    gap:8px;
    width:100%;
    height:calc(100vh - 68px);
    height:calc(100dvh - 68px);
    max-height:none;
    overflow:visible;
    overscroll-behavior:auto;
    padding:20px 16px max(24px,env(safe-area-inset-bottom));
    background:#fff;
    transform:translateX(100%);
  }
  .site-nav.is-open{transform:translateX(0)}
  .site-nav>a:not(.nav-book-mobile){
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:10px 8px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fbfcfe;
    text-align:center;
    line-height:1.2;
  }
  .site-nav>a:not(.nav-book-mobile):hover,
  .site-nav>a:not(.nav-book-mobile):focus-visible{background:var(--soft-blue)}
  .site-nav .nav-book-mobile{
    grid-column:1/-1;
    min-height:48px;
    margin-top:4px;
  }
  .site-nav:not(.is-open){display:none}
}
@media(max-width:360px){
  .site-nav,
  .site-nav.is-open{padding-inline:12px;gap:6px}
  .site-nav>a:not(.nav-book-mobile){min-height:42px;padding-inline:5px;font-size:1rem}
}
@media(max-width:780px) and (max-height:520px){
  .site-nav,
  .site-nav.is-open{padding-top:12px;gap:5px}
  .site-nav>a:not(.nav-book-mobile){min-height:38px;padding-block:7px;font-size:1rem}
  .site-nav .nav-book-mobile{min-height:42px;margin-top:2px}
}
@media(max-width:780px){
  .menu-button span{transition:transform .2s ease,opacity .2s ease}
  .menu-button[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
