:root{--ink:#0a101c;--navy:#101b2d;--paper:#f6f3ed;--white:#fff;--red:#e3342f;--muted:#657080;--line:#d9d8d4}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.site-header{height:82px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:5}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:11px;font-weight:800;line-height:1.05;letter-spacing:.12em}
.mark{display:grid;place-items:center;background:var(--red);color:white;width:31px;height:36px;font-family:Georgia,serif;font-size:24px}
.site-header nav{display:flex;gap:32px}
.site-header nav a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.site-header nav a.active{color:var(--red)}
.menu{display:none;border:0;background:none;font-weight:bold}
.hero{min-height:680px;padding:110px clamp(22px,8vw,120px);background:var(--navy);color:white;position:relative;overflow:hidden}
.hero:after,.guide-hero:after{content:"日";position:absolute;right:-2vw;bottom:-14vw;color:rgba(255,255,255,.035);font-size:min(48vw,650px);font-family:serif;line-height:1}
.eyebrow,.kicker{display:block;font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--red);margin-bottom:28px}
.hero h1,.guide-hero h1{font-family:Georgia,serif;font-size:clamp(64px,11vw,145px);line-height:.82;letter-spacing:-.055em;margin:0 0 38px}
.hero h1 em,.guide-hero h1 em{font-weight:400;color:var(--red)}
.hero>p,.guide-hero>p{max-width:570px;color:#c5cad2;font-size:18px;line-height:1.65}
.button{display:inline-flex;justify-content:space-between;gap:40px;align-items:center;padding:18px 22px;text-decoration:none;font-weight:800;font-size:12px;letter-spacing:.06em;border:0}
.primary{background:var(--red);color:white}
.hero .button{margin-top:20px}
.trust{margin-top:90px;display:flex;gap:30px;color:#9ba4b2;font-size:11px;letter-spacing:.08em}
.feature,.promise,.topics,.finder,.compare,.how,.disclosure-strip{padding:100px clamp(22px,8vw,120px)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.feature h2,.promise h2,.topics h2,.finder h2,.compare h2,.how h2{font-family:Georgia,serif;font-size:clamp(42px,6vw,78px);line-height:.98;margin:0 0 30px;letter-spacing:-.04em}
.feature p{max-width:510px;color:var(--muted);line-height:1.7}
.text-link{font-weight:800;text-underline-offset:5px}
.signal-card{min-height:430px;background:var(--ink);color:white;padding:40px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.signal-card strong{font-family:Georgia;font-size:190px;color:var(--red);line-height:1;margin:auto 0}
.signal-card small{letter-spacing:.14em}
.promise,.how{background:white}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:60px}
.steps article{padding:35px 35px 20px 0;border-right:1px solid var(--line)}
.steps article+article{padding-left:35px}
.steps b{color:var(--red);font-size:12px}
.steps h3{font-family:Georgia;font-size:26px}
.steps p{color:var(--muted);line-height:1.6}
.topics{background:var(--navy);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}
.topic-list>div{font-family:Georgia;font-size:35px;padding:24px 0;border-bottom:1px solid #344052;display:grid;grid-template-columns:45px 1fr;align-items:center}
.topic-list span{font:11px Arial;color:var(--red)}
.topic-list small{grid-column:2;font:13px Arial;color:#8e99a9;margin-top:8px}
.guide-hero{padding:105px clamp(22px,8vw,120px);background:var(--navy);color:white;position:relative;overflow:hidden}
.guide-hero h1{font-size:clamp(56px,9vw,120px)}
.quick-facts{display:flex;justify-content:center;gap:8vw;padding:20px;background:var(--red);color:white;font-size:10px;font-weight:bold;letter-spacing:.14em}
.trip-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 24px}
.trip-tabs button{padding:14px 17px;border:1px solid var(--ink);background:transparent;font-weight:700;cursor:pointer}
.trip-tabs button.selected{background:var(--ink);color:white}
.result{display:grid;grid-template-columns:1fr 1fr;background:white;border-top:5px solid var(--red);padding:45px;gap:7vw}
.result-label,.provider-grid article>span{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--red)}
.result h3{font:58px Georgia;margin:16px 0}
.result p{color:var(--muted);line-height:1.65}
.result small{display:block;color:var(--red);font-weight:bold;letter-spacing:.12em;margin-top:25px}
.compare{background:var(--ink);color:white}
.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#344052;margin-top:55px}
.provider-grid article{background:var(--navy);padding:34px}
.provider-grid h3{font:38px Georgia;margin:18px 0 35px}
.provider-grid p{color:#aeb5c0;line-height:1.6}
.provider-grid .text-link{display:inline-block;margin-top:20px}
.note{color:#8c96a4;font-size:12px;margin-top:25px}
.disclosure-strip{background:#e7e3db;display:grid;grid-template-columns:.5fr 2fr .7fr;gap:30px;align-items:start}
.disclosure-strip p{margin:0;color:var(--muted);line-height:1.5}
.legal{max-width:850px;padding:100px 25px;margin:auto}
.legal h1{font:clamp(45px,8vw,85px) Georgia}
.legal p{font-size:17px;line-height:1.8;color:#515b69}
footer{padding:55px clamp(22px,8vw,120px);background:#080d15;color:white;display:grid;grid-template-columns:1fr 1fr;gap:30px}
footer p,footer small{color:#8993a1}
footer div:last-of-type{display:flex;justify-content:flex-end;gap:25px;font-size:12px}
footer small{grid-column:1/-1;border-top:1px solid #293141;padding-top:25px;font-size:10px}
@media(max-width:720px){.site-header{height:70px}
.menu{display:block}
.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column}
.site-header nav.open{display:flex}
.hero{min-height:650px;padding-top:90px}
.hero h1,.guide-hero h1{line-height:.9}
.trust{flex-direction:column;gap:12px;margin-top:65px}
.feature,.topics{grid-template-columns:1fr}
.feature,.promise,.topics,.finder,.compare,.how,.disclosure-strip{padding:70px 22px}
.signal-card{min-height:340px}
.steps,.provider-grid,.result,.disclosure-strip{grid-template-columns:1fr}
.steps article,.steps article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
.quick-facts{overflow:auto;justify-content:flex-start;white-space:nowrap}
.result{padding:28px}
.guide-hero{padding:80px 22px}
.topic-list>div{font-size:29px}
footer{grid-template-columns:1fr}
footer div:last-of-type{justify-content:flex-start;flex-direction:column}
footer small{grid-column:1}
}

/* JWS editorial expansion */
.editorial-intro,.guide-index,.latest-guide,.comparison,.decision-notes{padding:100px clamp(22px,8vw,120px)}
.editorial-intro{display:grid;grid-template-columns:.7fr 1.2fr 1fr;gap:5vw;background:#fff}.editorial-intro h2,.guide-index h2,.latest-guide h2,.comparison h2,.decision-notes h2{font:clamp(42px,6vw,78px)/.98 Georgia,serif;letter-spacing:-.04em;margin:0}.editorial-intro p,.section-head p,.latest-guide p{color:var(--muted);font-size:17px;line-height:1.7;margin:0}.hero-home>p{max-width:650px}.guide-index{background:#ece8df}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:end;margin-bottom:55px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bbb9b4;border-left:1px solid #bbb9b4}.category-grid>*{min-height:260px;padding:30px;border-right:1px solid #bbb9b4;border-bottom:1px solid #bbb9b4;text-decoration:none;display:flex;flex-direction:column;transition:.2s}.category-grid .live{background:var(--navy);color:white}.category-grid .live:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0a101c26}.cat-no{font-size:10px;color:var(--red);font-weight:800;letter-spacing:.15em}.cat-icon{margin:32px 0 18px;font-weight:900;font-size:12px;letter-spacing:.1em}.category-grid h3{font:31px Georgia;margin:0 0 8px}.category-grid p{color:var(--muted);font-size:13px;line-height:1.5}.category-grid .live p{color:#aeb6c2}.category-grid b,.category-grid small{margin-top:auto;font-size:10px;letter-spacing:.13em}.latest-guide{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.latest-guide em{color:var(--red);font-weight:400}.latest-guide p{max-width:580px;margin:25px 0}.latest-meta{min-height:390px;background:var(--ink);color:white;padding:34px;display:flex;flex-direction:column}.latest-meta span,.latest-meta small{font-size:10px;letter-spacing:.15em}.latest-meta strong{font:190px/1 Georgia;color:var(--red);margin:auto 0}.checked{margin-top:70px;font-size:10px;letter-spacing:.13em;color:#aeb6c2}.checked span{display:block;margin-top:8px;letter-spacing:.02em}.comparison{background:var(--ink);color:white}.inverse p{color:#aab2bf}.price-table{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#394355}.price-card{background:var(--navy);padding:34px}.price-card>span{font-size:10px;color:var(--red);font-weight:800;letter-spacing:.13em}.price-card h3{font:38px Georgia;margin:18px 0}.price{font:58px Georgia;margin-bottom:25px}.price small{font:10px Arial;color:#929dab;margin-left:8px}.price-card dl{margin:0}.price-card dl>div{padding:12px 0;border-top:1px solid #344053}.price-card dt{font-size:9px;color:#8f99a8;text-transform:uppercase;letter-spacing:.13em}.price-card dd{margin:5px 0 0;font-size:13px;line-height:1.4}.secondary{border:1px solid #697485;color:white;margin-top:24px}.table-note{color:#929dab;font-size:11px;line-height:1.6}.decision-notes{background:var(--paper)}.button{transition:.15s}.button:hover,.button:focus-visible{filter:brightness(.92);transform:translateY(-1px)}
@media(max-width:900px){.editorial-intro{grid-template-columns:1fr 1fr}.editorial-intro .kicker{grid-column:1/-1}.category-grid{grid-template-columns:repeat(2,1fr)}.price-table{grid-template-columns:1fr}}
@media(max-width:720px){.editorial-intro,.guide-index,.latest-guide,.comparison,.decision-notes{padding:70px 20px}.editorial-intro,.section-head,.latest-guide{grid-template-columns:1fr}.editorial-intro{gap:25px}.section-head{gap:20px;margin-bottom:35px}.category-grid{grid-template-columns:1fr}.category-grid>*{min-height:205px;padding:24px}.cat-icon{margin:22px 0 12px}.latest-meta{min-height:280px}.latest-meta strong{font-size:130px}.checked{margin-top:45px}.trip-tabs{display:grid;grid-template-columns:1fr}.trip-tabs button{min-height:52px;text-align:left}.price-card{padding:25px}.button{min-height:52px}.guide-hero h1{font-size:clamp(48px,14vw,70px)}.hero h1{font-size:clamp(58px,17vw,86px)}}
@media(max-width:360px){.hero,.guide-hero,.editorial-intro,.guide-index,.latest-guide,.comparison,.decision-notes,.finder,.how,.promise{padding-left:16px;padding-right:16px}.site-header{padding:0 15px}.brand{font-size:9px}.result{padding:22px}.result h3{font-size:42px}}

/* Decision Guide #002 */
.decision-guides,.rail-options,.pass-prices,.price-change,.route-cases,.trip-match,.rail-decider,.rail-faq,.rail-cta{padding:100px clamp(22px,8vw,120px)}.decision-guides{background:var(--paper)}.decision-guide-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.decision-guide-grid a{padding:42px;text-decoration:none;min-height:340px;display:flex;flex-direction:column;border-right:1px solid var(--line);transition:.2s}.decision-guide-grid a:last-child{border:0;background:var(--navy);color:#fff}.decision-guide-grid a:hover{transform:translateY(-3px);box-shadow:0 14px 35px #0a101c20}.decision-guide-grid span{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.16em}.decision-guide-grid h2{font:clamp(36px,4.8vw,64px)/1 Georgia;margin:30px 0}.decision-guide-grid p{color:var(--muted)}.decision-guide-grid a:last-child p{color:#aeb6c2}.decision-guide-grid b{margin-top:auto;font-size:11px;letter-spacing:.1em}.category-grid .transport{background:#18263b}.rail-hero{padding:105px clamp(22px,8vw,120px);background:var(--navy);color:#fff;position:relative;overflow:hidden}.rail-hero:after{content:'02';position:absolute;right:-3vw;bottom:-10vw;color:#ffffff08;font:42vw/1 Georgia}.rail-hero h1{font:clamp(56px,9vw,120px)/.88 Georgia;letter-spacing:-.055em;margin:0 0 25px;position:relative;z-index:1}.rail-hero h1 em{color:var(--red);font-weight:400}.rail-hero>p{max-width:620px;color:#c3c9d2;font-size:18px;line-height:1.65;position:relative;z-index:1}.rail-sub{font:24px Georgia!important;color:#fff!important}.rail-options h2,.pass-prices h2,.price-change h2,.route-cases h2,.trip-match h2,.rail-decider h2,.rail-faq h2,.rail-cta h2{font:clamp(42px,6vw,78px)/.98 Georgia;letter-spacing:-.04em;margin:0 0 45px}.rail-option-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.rail-option-grid article{padding:34px;border-right:1px solid var(--line)}.rail-option-grid article:last-child{border:0}.rail-option-grid span,.case-grid>article>span,.rail-result>span{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.14em}.rail-option-grid h3{font:38px Georgia;margin:30px 0 15px}.rail-option-grid p{color:var(--muted);line-height:1.65}.rail-option-grid small{display:block;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;line-height:1.55;font-weight:700}.pass-prices{background:#ece8df}.pass-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c8c5bf;margin-bottom:28px}.pass-price-grid article{background:var(--paper);padding:35px}.pass-price-grid span{font-size:10px;letter-spacing:.15em;color:var(--red);font-weight:800}.pass-price-grid strong{display:block;font:clamp(44px,6vw,75px) Georgia;margin-top:25px}.price-change{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--ink);color:#fff}.price-change p{color:#acb4bf;line-height:1.7}.price-change h3{font:28px Georgia;margin:0 0 20px}.price-change h3:not(:first-child){margin-top:45px}.change-rows{border-top:1px solid #394355}.change-rows>div{display:grid;grid-template-columns:1fr 1fr 1fr;padding:17px 0;border-bottom:1px solid #394355}.change-rows s{color:#7e8998}.change-rows b{color:var(--red);font-size:19px}.official-warning{display:block;color:#fff;border-left:4px solid var(--red);padding:15px 20px;margin-top:30px;background:#ffffff08}.route-cases{background:var(--paper)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.case-grid article{padding:38px;background:#fff}.case-grid article.close{background:var(--navy);color:#fff}.case-grid h3{font:28px/1.2 Georgia;min-height:70px}.case-grid article>div{display:flex;justify-content:space-between;align-items:end;padding:18px 0;border-top:1px solid var(--line)}.case-grid small{max-width:190px;font-size:9px;letter-spacing:.1em}.case-grid strong{font:35px Georgia}.case-grid>article>b{display:block;color:var(--red);margin-top:25px}.trip-match{background:#fff}.match-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line)}.match-grid article{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.match-grid span{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em;margin-bottom:14px}.match-grid b{font:22px Georgia}.trip-match blockquote{font:clamp(35px,5vw,65px)/1.05 Georgia;margin:70px 0 0;border-left:5px solid var(--red);padding-left:28px}.rail-decider{background:#ece8df}.rail-questions{display:flex;flex-wrap:wrap;gap:10px}.rail-questions button{padding:16px 20px;border:1px solid var(--ink);background:transparent;min-height:52px;font-weight:700;cursor:pointer}.rail-questions button.selected{background:var(--ink);color:#fff}.rail-result{background:#fff;border-top:5px solid var(--red);padding:38px;margin-top:25px}.rail-result h3{font:36px Georgia;margin:18px 0}.rail-result p{color:var(--muted);line-height:1.65}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0 5px}.faq-list summary{padding:24px 0;font:22px Georgia;cursor:pointer}.faq-list p{max-width:850px;color:var(--muted);line-height:1.7;padding-bottom:20px}.rail-cta{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.rail-cta p{color:#adb5c0;line-height:1.7}.rail-cta>div:last-of-type{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px}.rail-cta>small{grid-column:1/-1;color:#8d98a7;border-top:1px solid #394355;padding-top:22px}
@media(max-width:800px){.decision-guide-grid,.rail-option-grid,.price-change,.case-grid,.rail-cta{grid-template-columns:1fr}.decision-guide-grid a{border-right:0;border-bottom:1px solid var(--line);min-height:290px}.rail-option-grid article{border-right:0;border-bottom:1px solid var(--line)}.pass-price-grid{grid-template-columns:1fr}.rail-cta>small{grid-column:1}.match-grid{grid-template-columns:1fr}.price-change{gap:40px}}
@media(max-width:720px){.decision-guides,.rail-options,.pass-prices,.price-change,.route-cases,.trip-match,.rail-decider,.rail-faq,.rail-cta{padding:70px 20px}.rail-hero{padding:80px 20px}.rail-hero h1{font-size:clamp(48px,15vw,70px)}.decision-guide-grid a{padding:27px}.rail-option-grid article,.case-grid article{padding:25px}.case-grid h3{min-height:auto}.change-rows>div{grid-template-columns:1fr auto auto;gap:14px}.rail-questions{display:grid}.rail-result{padding:25px}.rail-result h3{font-size:28px}.faq-list summary{font-size:19px}.trip-match blockquote{margin-top:45px}}

/* Shared decision-support components */
.quick-answer,.traveler-voice,.trip-starter{padding:82px clamp(22px,8vw,120px)}
.quick-answer{background:#fff}
.quick-answer-card{max-width:980px;border-left:5px solid var(--red);background:#ece8df;padding:34px 38px}
.quick-answer-card h2,.traveler-voice h2,.trip-starter h2{font:clamp(38px,5vw,65px)/1 Georgia;margin:0 0 20px;letter-spacing:-.035em}
.quick-answer-card p{font-size:18px;line-height:1.65;margin:0;max-width:820px}
.quick-answer-link{display:inline-block;margin-top:22px}
.verification-bar{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid #c9c5be;font-size:11px;line-height:1.5;color:var(--muted)}
.verification-bar strong{text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}
.partner-pick{margin:0 clamp(22px,8vw,120px) 82px;display:grid;grid-template-columns:minmax(180px,320px) 1fr;background:var(--navy);color:#fff;overflow:hidden}
.partner-pick img{width:100%;height:100%;object-fit:cover;min-height:260px}
.partner-pick>div{padding:38px;align-self:center}
.partner-pick h2{font:clamp(32px,4vw,52px)/1 Georgia;margin:14px 0}
.partner-pick p{color:#b7bfca;line-height:1.65;max-width:620px}
.partner-pick small{display:block;color:#929dac;margin-top:16px;line-height:1.5}
.traveler-voice{background:#ece8df}
.voice-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
.feedback-form,.report-form{background:#fff;padding:34px;border-top:4px solid var(--red)}
.feedback-form fieldset{border:0;padding:0;margin:0}
.feedback-form legend,.report-form h3{font:28px Georgia;margin:0 0 22px}
.choice-row{display:flex;flex-wrap:wrap;gap:10px}
.choice-button{border:1px solid var(--ink);background:transparent;padding:14px 18px;font-weight:800;cursor:pointer}
.choice-button[aria-pressed="true"]{background:var(--ink);color:#fff}
.followup{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.optional-feedback{margin-top:18px;border-top:1px solid var(--line)}
.optional-feedback>summary,.report-form summary{padding:18px 0;font-weight:800;cursor:pointer;list-style-position:outside}
.optional-feedback[open]>summary,.report-form details[open]>summary{color:var(--red)}
.optional-feedback:not([open])>*:not(summary),.report-form details:not([open])>*:not(summary){display:none}
.optional-next{margin-top:8px}
.report-fields{padding-top:16px}
.followup>p,.field-label{display:block;font-weight:800;line-height:1.45;margin:0 0 13px}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.check-grid label{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.4}
.feedback-form textarea,.report-form textarea,.report-form select{width:100%;border:1px solid #aeb2b7;background:#fff;padding:13px;font:inherit;margin-bottom:18px}
.feedback-form textarea,.report-form textarea{min-height:105px;resize:vertical}
.form-submit{background:var(--ink);color:#fff;border:0;padding:15px 19px;font-weight:800;cursor:pointer}
.form-status{min-height:22px;margin:15px 0 0;font-size:13px;color:#236b44}
.form-status[data-state="error"]{color:#b22420}.form-status[data-state="pending"]{color:var(--muted)}
.form-note{font-size:12px;color:var(--muted);line-height:1.55}
.trip-starter{background:#fff}
.trip-starter-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);max-width:1000px}
.trip-starter-grid a{padding:30px;text-decoration:none;border-right:1px solid var(--line)}
.trip-starter-grid a:last-child{border:0;background:var(--navy);color:#fff}
.trip-starter-grid span{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.14em}
.trip-starter-grid h3{font:30px Georgia;margin:18px 0 10px}.trip-starter-grid p{color:var(--muted);line-height:1.55}.trip-starter-grid a:last-child p{color:#adb6c2}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.voice-grid,.partner-pick{grid-template-columns:1fr}.partner-pick img{height:170px;min-height:0}.trip-starter-grid{grid-template-columns:1fr}.trip-starter-grid a{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:720px){.quick-answer,.traveler-voice,.trip-starter{padding:62px 20px}.quick-answer-card,.feedback-form,.report-form{padding:25px}.partner-pick{margin:0 20px 62px}.partner-pick>div{padding:26px}.check-grid{grid-template-columns:1fr}.choice-row{display:grid}.choice-button{min-height:50px;text-align:left}}

/* Visual rhythm and centralized feedback */
.decision-guide-grid img,.guide-route-thumb{width:100%;height:150px;object-fit:contain;object-position:center;background:#0d1727;margin:-10px 0 28px}
.guide-route-thumb{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px}
.guide-route-thumb i{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;color:#fff;display:flex;align-items:center;gap:10px}.guide-route-thumb i:not(:last-child):after{content:'→';color:var(--red)}
.partner-pick img{object-fit:contain;object-position:center;background:#0d1727}
.brand-break{padding:72px clamp(22px,8vw,120px);background:var(--red);color:#fff;display:grid;grid-template-columns:.8fr 1.4fr .8fr;align-items:end;gap:30px}.brand-break span,.brand-break small{font-size:10px;font-weight:800;letter-spacing:.15em}.brand-break strong{font:clamp(44px,7vw,92px)/.84 Georgia;letter-spacing:-.05em}
.site-feedback{padding:90px clamp(22px,8vw,120px);background:#ece8df;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.site-feedback h2{font:clamp(42px,6vw,78px)/.98 Georgia;margin:0 0 20px}.site-feedback>div>p{color:var(--muted);font-size:17px;line-height:1.6}.site-feedback .feedback-form{max-width:720px}.site-feedback textarea{width:100%;min-height:110px;border:1px solid #aeb2b7;padding:13px;font:inherit;margin-bottom:18px}.site-feedback select,.site-feedback input[type="text"]{width:100%;min-height:48px;border:1px solid #aeb2b7;padding:10px;font:inherit;margin-bottom:18px}.choice-label{display:flex;align-items:center;gap:9px;border:1px solid var(--ink);padding:14px 18px;font-weight:800;min-width:130px}.field-label small{font-weight:400;color:var(--muted)}.field-label.compact{font-size:12px;color:var(--muted)}
.guide-support{padding:48px clamp(22px,8vw,120px);background:#ece8df;display:flex;align-items:flex-start;justify-content:space-between;gap:35px}.guide-support>a{font-weight:800;text-underline-offset:5px;margin-top:20px}.guide-support .report-form{width:min(560px,100%)}
@media(max-width:720px){.brand-break,.site-feedback{grid-template-columns:1fr;padding:62px 20px}.brand-break{gap:22px}.brand-break strong{font-size:50px}.site-feedback{gap:35px}.guide-support{padding:35px 20px;display:grid}.decision-guide-grid img,.guide-route-thumb{height:125px;margin-top:0}.guide-route-thumb{gap:6px;padding:12px}.guide-route-thumb i{font-size:8px;gap:5px}}

/* Editorial homepage visual system */
.hero-home{padding:0;min-height:640px;display:grid;align-items:center;background:#0d1727}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:0}
.hero-home:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,27,.88) 0%,rgba(8,15,27,.68) 42%,rgba(8,15,27,.1) 78%);z-index:1}
.hero-home:after{z-index:1}
.hero-content{position:relative;z-index:2;padding:95px clamp(22px,8vw,120px);width:100%}
.hero-home h1{font-size:clamp(58px,9vw,118px);max-width:850px}
.hero-content>p{max-width:570px;color:#d4dae2;font-size:18px;line-height:1.65}
.hero-home .trust{margin-top:55px}
.decision-guides{background:#fff}
.decision-guide-grid{gap:18px;border:0;background:transparent}
.decision-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.decision-guide-grid a,.decision-guide-grid a:last-child{padding:0;min-height:0;border:0;background:#fff;color:var(--ink);position:relative;overflow:hidden}
.decision-guide-grid a:last-child{background:#fff;color:var(--ink)}
.decision-guide-grid img{width:100%;height:auto;aspect-ratio:16/9;margin:0;object-fit:cover;position:relative;inset:auto;transition:transform .35s}
.decision-guide-grid .ic-guide-card picture{display:block;background:var(--navy)}
.decision-guide-grid .ic-guide-card img{object-fit:contain;object-position:center 20%;background:var(--navy)}
.decision-guide-grid a:after{content:none}
.decision-guide-grid a:hover img{transform:scale(1.025)}
.guide-card-copy{position:relative;z-index:2;padding:30px 32px 34px;display:flex;flex-direction:column;min-height:315px;max-width:none}
.decision-guide-grid h2{font-size:clamp(38px,4.3vw,58px);margin:22px 0}
.decision-guide-grid p,.decision-guide-grid a:last-child p{color:var(--muted);line-height:1.55}
.decision-guide-grid b{margin-top:auto;align-self:flex-start;background:var(--navy);color:#fff;padding:14px 18px}
.editorial-break{padding:0 clamp(22px,8vw,120px);display:grid;grid-template-columns:.65fr 1.35fr;background:#ece8df;align-items:center}
.editorial-break>div{padding:70px 55px 70px 0}.editorial-break h2{font:clamp(40px,5vw,70px)/.98 Georgia;margin:0 0 22px}.editorial-break p{color:var(--muted);font-size:17px;line-height:1.65}.editorial-break img{width:100%;height:340px;object-fit:cover;object-position:center}
.promise .method-icon{display:grid;place-items:center;width:58px;height:58px;background:#ece8df;color:var(--navy);font:22px Georgia;border-radius:50%;margin-bottom:22px}.promise .steps article>b{display:none}
.category-grid .cat-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;margin-bottom:22px}
.category-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.category-actions a{color:#fff;font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:4px;padding:6px 0}.category-actions a+a{margin-left:12px}
.trip-starter-grid{grid-template-columns:repeat(3,1fr);max-width:none}.trip-starter-grid a:nth-child(2){background:#fff;color:var(--ink)}.trip-starter-grid a:nth-child(2) p{color:var(--muted)}
@media(max-width:900px){.decision-guide-grid{grid-template-columns:1fr 1fr}.trip-starter-grid{grid-template-columns:1fr 1fr}.trip-starter-grid a:last-child{grid-column:1/-1}}
@media(max-width:720px){.hero-home{min-height:720px;align-items:end;background:#08101d}.hero-media{height:340px;bottom:auto;object-position:50% center}.hero-home:before{background:linear-gradient(180deg,rgba(8,15,27,.04) 0,rgba(8,15,27,.12) 38%,#08101d 48%,#08101d 100%)}.hero-content{padding:360px 20px 55px}.hero-home h1{font-size:clamp(54px,16vw,76px)}.hero-home>p,.hero-content>p{font-size:16px}.hero-home .trust{margin-top:38px}.decision-guide-grid{grid-template-columns:1fr}.decision-guide-grid a,.decision-guide-grid a:last-child{min-height:0}.guide-card-copy{padding:26px;min-height:300px;max-width:none}.decision-guide-grid img{height:auto;aspect-ratio:16/9}.decision-guide-grid h2{font-size:38px}.editorial-break{grid-template-columns:1fr;padding:0}.editorial-break>div{padding:55px 20px 35px}.editorial-break img{height:auto;aspect-ratio:16/9;order:2}.promise .method-icon{width:50px;height:50px}.site-feedback .choice-row{grid-template-columns:1fr 1fr}.choice-label{min-width:0;justify-content:center}.trip-starter-grid{grid-template-columns:1fr}.trip-starter-grid a:last-child{grid-column:auto}}

/* Small-screen type safety: keep editorial headlines inside the viewport. */
@media(max-width:720px){
  body{overflow-x:hidden}
  .hero-content{min-width:0;max-width:100%}
  .hero-home h1{font-size:clamp(48px,13.5vw,58px);line-height:.88}
  .guide-hero h1,.rail-hero h1{font-size:clamp(46px,13vw,56px);line-height:.9;overflow-wrap:normal}
  .hero-content p,.guide-hero>p,.rail-hero>p{max-width:min(100%,340px);overflow-wrap:break-word}
}

/* Decision Guide #003 · IC Cards */
.ic-hero,.ic-verdict,.ic-uses,.ic-interoperability,.ic-compare,.arrival-section,.kansai-section,.iphone-section,.limits-section,.visual-recap,.final-verdict,.official-sources{padding:100px clamp(22px,8vw,120px)}
.ic-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.ic-hero:after{content:'03';position:absolute;right:-3vw;bottom:-10vw;color:#ffffff08;font:42vw/1 Georgia;pointer-events:none}
.ic-hero>*{position:relative;z-index:1}.ic-hero h1{max-width:1120px;font:clamp(48px,7.8vw,105px)/.92 Georgia,serif;letter-spacing:-.05em;margin:0 0 28px}.ic-hero h1 em{color:var(--red);font-weight:400}.ic-hero>p{max-width:700px;color:#c3c9d2;font-size:18px;line-height:1.65}.ic-hero .ic-lead{font:clamp(24px,3vw,38px)/1.2 Georgia;color:#fff}.ic-hero .button{margin-top:20px}
.ic-verdict{background:#fff}.ic-verdict h2,.ic-uses h2,.ic-interoperability h2,.ic-compare h2,.arrival-section h2,.kansai-section h2,.iphone-section h2,.limits-section h2,.visual-recap h2,.final-verdict h2,.official-sources h2{font:clamp(42px,6vw,78px)/.98 Georgia,serif;letter-spacing:-.04em;margin:0 0 30px}.verdict-lead{font:clamp(21px,2.5vw,32px)/1.3 Georgia;max-width:800px}.verdict-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);margin-top:50px}.verdict-grid article{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.verdict-grid article:nth-child(2n){border-right:0}.verdict-grid article:nth-last-child(-n+2){border-bottom:0}.verdict-grid span,.ic-card-grid>article>span,.tourist-grid>article>span{font-size:10px;color:var(--red);font-weight:800;letter-spacing:.15em}.verdict-grid h3{font:30px/1.1 Georgia;margin:18px 0 12px}.verdict-grid p{color:var(--muted);line-height:1.6}
.ic-uses{background:#ece8df}.use-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #c9c5be}.use-grid article{min-height:175px;padding:26px;border-right:1px solid #c9c5be;border-bottom:1px solid #c9c5be}.use-grid article:nth-child(3n){border-right:0}.use-grid article:nth-last-child(-n+3){border-bottom:0}.use-grid b{color:var(--red);font-size:11px;letter-spacing:.12em}.use-grid h3{font:26px/1.1 Georgia;margin:38px 0 0}.scope-note{margin:28px 0 0;color:var(--muted)}
.ic-interoperability{background:var(--red);color:#fff}.ic-interoperability .kicker{color:#fff9}.ic-interoperability>p{max-width:820px;font-size:20px;line-height:1.7}.interoperability-rule{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;border-top:1px solid #ffffff66;margin-top:45px;padding-top:28px}.interoperability-rule strong{font:27px Georgia}.interoperability-rule span{line-height:1.6}
.ic-compare{background:var(--ink);color:#fff}.ic-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#394355;margin-top:55px}.ic-card-grid article{background:var(--navy);padding:34px}.ic-card-grid h3{font:44px Georgia;margin:24px 0}.ic-card-grid p{color:#d5dae1;line-height:1.65}.ic-card-grid small{display:block;color:#99a3b1;line-height:1.55;border-top:1px solid #394355;margin-top:26px;padding-top:22px}
.arrival-section{background:var(--paper)}.arrival-intro{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end}.arrival-intro p{color:var(--muted);line-height:1.7}.tourist-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:55px}.tourist-grid article{background:#fff;padding:38px;border-top:5px solid var(--red)}.tourist-grid h3{font:40px Georgia;margin:20px 0 30px}.tourist-grid dl{margin:0}.tourist-grid dl>div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:15px 0;border-top:1px solid var(--line)}.tourist-grid dt{font-size:10px;color:var(--red);font-weight:800;letter-spacing:.1em}.tourist-grid dd{margin:0;line-height:1.5}.tourist-grid p{color:var(--muted);line-height:1.6}.arrival-section blockquote{font:clamp(34px,5vw,64px)/1 Georgia;margin:70px 0 0;border-left:5px solid var(--red);padding-left:28px}
.kansai-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#fff}.kansai-section p{font-size:18px;line-height:1.7;color:var(--muted)}
.iphone-section{background:#ece8df}.phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:50px}.phone-grid article{background:#fff;padding:36px}.phone-grid h3{font:34px Georgia;margin:0 0 20px}.phone-grid p{line-height:1.65;color:var(--muted)}.android-note{border-left:4px solid var(--red);padding:18px 22px;background:#fff;margin:20px 0 0;line-height:1.55}
.limits-section{background:var(--navy);color:#fff}.limits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#394355;margin-top:50px}.limits-grid article{background:var(--navy);padding:34px}.limits-grid span{color:var(--red);font-weight:800}.limits-grid h3{font:29px Georgia;margin:18px 0}.limits-grid p{color:#adb6c2;line-height:1.65}
.visual-recap{background:#fff}.visual-recap>p{max-width:760px;color:var(--muted);line-height:1.65}.recap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:45px}.recap-grid picture:last-child{grid-column:2}.recap-grid img{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#ece8df}
.final-verdict{background:var(--paper)}.final-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);margin:45px 0}.final-grid p{margin:0;padding:28px;font-size:18px;line-height:1.55;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.final-grid p:nth-child(2n){border-right:0}.final-grid p:nth-last-child(-n+2){border-bottom:0}.final-verdict blockquote{margin:0;font:clamp(44px,7vw,95px)/.9 Georgia;color:var(--red)}.final-verdict .tagline{font:28px Georgia;margin-top:24px}
.official-sources{background:#fff}.official-sources ul{max-width:900px;padding:0;list-style:none;border-top:1px solid var(--line)}.official-sources li{border-bottom:1px solid var(--line)}.official-sources li a{display:block;padding:18px 4px;font-weight:800;text-underline-offset:4px}.official-sources>p{color:var(--muted);font-size:12px}
@media(max-width:900px){.recap-grid{grid-template-columns:repeat(3,1fr)}.recap-grid picture:last-child{grid-column:auto}}
@media(max-width:800px){.ic-card-grid,.arrival-intro,.tourist-grid,.kansai-section,.phone-grid,.interoperability-rule{grid-template-columns:1fr}.use-grid{grid-template-columns:repeat(2,1fr)}.use-grid article:nth-child(3n){border-right:1px solid #c9c5be}.use-grid article:nth-child(2n){border-right:0}.use-grid article:nth-last-child(-n+3){border-bottom:1px solid #c9c5be}.use-grid article:nth-last-child(-n+2){border-bottom:0}.recap-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.ic-hero,.ic-verdict,.ic-uses,.ic-interoperability,.ic-compare,.arrival-section,.kansai-section,.iphone-section,.limits-section,.visual-recap,.final-verdict,.official-sources{padding:70px 20px}.ic-hero h1{font-size:clamp(43px,12vw,55px);overflow-wrap:break-word}.ic-hero>p{font-size:16px}.verdict-grid,.limits-grid,.final-grid{grid-template-columns:1fr}.verdict-grid article,.verdict-grid article:nth-child(2n),.verdict-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.verdict-grid article:last-child{border-bottom:0}.ic-card-grid article,.tourist-grid article,.phone-grid article,.limits-grid article{padding:26px}.tourist-grid dl>div{grid-template-columns:90px 1fr}.arrival-section blockquote{margin-top:45px}.limits-grid article{border-bottom:1px solid #394355}.final-grid p,.final-grid p:nth-child(2n),.final-grid p:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.final-grid p:last-child{border-bottom:0}.recap-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px}.recap-grid picture{flex:0 0 min(78vw,330px);scroll-snap-align:start}.official-sources li a{padding:18px 0}}
@media(max-width:390px){.use-grid{grid-template-columns:1fr}.use-grid article,.use-grid article:nth-child(2n),.use-grid article:nth-child(3n),.use-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid #c9c5be}.use-grid article:last-child{border-bottom:0}.tourist-grid dl>div{grid-template-columns:1fr;gap:5px}.ic-hero h1{font-size:42px}.ic-interoperability h2{overflow-wrap:anywhere}}
