.rail-page{background:#fffef8}.rail-page .global-nav a[aria-current="page"]{border-color:var(--pink)}
.rail-hero{min-height:620px;padding:70px max(24px,7vw) 80px;display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;border-bottom:3px solid var(--ink);overflow:hidden}.rail-hero.jr{background:var(--blue)}.rail-hero.tokyu{background:var(--yellow)}.rail-hero.odakyu{background:var(--green)}.rail-copy h1{margin:0;font-size:clamp(2.7rem,4.7vw,4.9rem);line-height:1.06;letter-spacing:-.05em}.rail-copy h1 span{display:inline;background:linear-gradient(transparent 66%,var(--pink) 0)}.rail-copy>p:not(.eyebrow){max-width:680px;margin:25px 0;font-size:1.08rem;font-weight:700}.back-link{display:inline-block;margin-bottom:24px;font-weight:900;border-bottom:2px solid var(--ink)}
.rail-ticket-stack{position:relative;min-height:410px}.rail-ticket{position:absolute;width:min(430px,92%);padding:28px 32px;border:4px solid var(--ink);border-radius:28px;background:#fff;box-shadow:12px 12px 0 var(--ink)}.rail-ticket:first-child{top:24px;left:0;transform:rotate(-4deg)}.rail-ticket:nth-child(2){right:0;bottom:38px;transform:rotate(5deg);background:#fff0f4}.rail-ticket small{display:block;font-weight:900;letter-spacing:.14em}.rail-ticket strong{display:block;margin-top:10px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}.rail-ticket span{display:block;margin-top:12px;font-weight:800}.ticket-seal{position:absolute;z-index:3;right:4%;top:150px;width:110px;height:110px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;background:var(--yellow);font-weight:900;line-height:1.15;text-align:center;transform:rotate(-8deg)}
.rail-price-section{padding:100px max(24px,7vw);background:#fff}.rail-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1250px;margin:auto}.rail-card{min-height:315px;padding:25px;display:flex;flex-direction:column;border:3px solid var(--ink);border-radius:27px;background:#eaf7fd;box-shadow:7px 7px 0 var(--ink)}.rail-card:nth-child(2n){background:#fff9dc}.rail-card:nth-child(3n){background:#eaf9f4}.rail-card.featured{background:#fff0f4}.rail-card>span{align-self:flex-start;padding:5px 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:.78rem;font-weight:900}.rail-card h3{margin:20px 0 4px;font-size:2rem;line-height:1.12}.rail-card p{margin:8px 0 20px;font-size:.94rem;font-weight:700}.rail-card .prices{margin-top:auto;padding-top:14px;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:3px 12px;border-top:2px solid var(--ink)}.rail-card .prices small{font-weight:900}.rail-card .prices strong{font-size:1.22rem;color:#28715c}.rail-card .ask{margin-top:auto;padding-top:16px;border-top:2px solid var(--ink);font-size:1.15rem;font-weight:900}.price-caution{max-width:1050px;margin:34px auto 0;color:var(--muted);font-size:.85rem;font-weight:700;text-align:center}
.rail-card-grid.two-card-grid{max-width:850px;grid-template-columns:repeat(2,1fr)}
.grade-section{padding:100px max(24px,7vw);border-block:3px solid var(--ink);background:#eaf7fd}.grade-section.tokyu{background:#fff5c7}.grade-section.odakyu{background:#e4f8f1}.grade-table{max-width:1000px;margin:auto;border:3px solid var(--ink);border-radius:28px;overflow:hidden;background:#fff;box-shadow:8px 8px 0 var(--ink)}.grade-row{display:grid;grid-template-columns:110px 1fr 1fr;align-items:center;min-height:64px;border-bottom:2px solid var(--ink)}.grade-row:last-child{border-bottom:0}.grade-row>*{padding:13px 20px}.grade-row strong{font-size:1.1rem}.grade-row span:not(:first-child){border-left:2px solid var(--ink);font-weight:800}.grade-head{background:var(--ink);color:#fff;font-weight:900}.grade-head span{border-color:#fff!important}.grade-note{max-width:1000px;margin:28px auto 0;font-weight:700}
.tokyu-contact-prompt{padding:85px max(24px,7vw);background:#fff5c7;text-align:center;border-bottom:3px solid var(--ink)}.tokyu-contact-prompt h2{margin:0 0 28px;font-size:clamp(2rem,4vw,3.7rem);line-height:1.15}.tokyu-contact-prompt h2 span{background:linear-gradient(transparent 66%,var(--pink) 0)}
.station-contact-prompt{padding:85px max(24px,7vw);background:#e4f8f1;text-align:center;border-block:3px solid var(--ink)}.station-contact-prompt.jr-prompt{background:#eaf7fd}.station-contact-prompt h2{margin:0;font-size:clamp(2rem,4vw,3.7rem);line-height:1.15}.station-contact-prompt h2 span{background:linear-gradient(transparent 66%,var(--pink) 0)}.station-contact-prompt>p:not(.eyebrow){margin:22px auto 28px;font-weight:700}
.area-section{padding:100px max(24px,7vw);background:var(--pink)}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1200px;margin:auto}.area-grid article{padding:24px;border:3px solid var(--ink);border-radius:24px;background:#fff;box-shadow:6px 6px 0 var(--ink)}.area-grid strong{display:block;font-size:1.3rem}.area-grid span{font-weight:700;color:var(--muted)}
.line-switcher{padding:55px max(24px,7vw);background:var(--ink);color:#fff}.line-switcher strong{display:block;margin-bottom:16px}.line-switcher nav{display:flex;flex-wrap:wrap;gap:10px}.line-switcher a{padding:9px 16px;border:2px solid #fff;border-radius:999px;font-weight:900}.line-switcher a[aria-current="page"],.line-switcher a:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.rail-page .inquiry-section{padding:105px max(24px,9vw);display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;background:var(--yellow)}.rail-page .inquiry-intro h2{margin:0;font-size:clamp(2.25rem,4vw,4rem);line-height:1.08}.rail-page .inquiry-intro>p:last-child{font-weight:700}.rail-page .inquiry-form{padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:20px;border:3px solid var(--ink);border-radius:30px;background:#fff;box-shadow:10px 10px 0 var(--ink)}.rail-page .inquiry-form label{display:grid;gap:7px;font-weight:900}.rail-page .inquiry-form label:nth-of-type(5),.rail-page .inquiry-form label:nth-of-type(7){grid-column:1/-1}.rail-page .inquiry-form label span{width:max-content;padding:2px 8px;border-radius:999px;background:var(--pink);font-size:.72rem}.rail-page .inquiry-form input,.rail-page .inquiry-form select,.rail-page .inquiry-form textarea{width:100%;padding:13px 14px;border:2px solid var(--ink);border-radius:12px;background:#fffef8;font:inherit}.rail-page .inquiry-form textarea{resize:vertical}.rail-page .inquiry-form .button{grid-column:1/-1;width:100%;cursor:pointer}.rail-page .inquiry-form>small{grid-column:1/-1;text-align:center;font-weight:700;color:var(--muted)}
@media(max-width:900px){.rail-hero,.rail-page .inquiry-section{grid-template-columns:1fr}.rail-card-grid{grid-template-columns:repeat(2,1fr)}.rail-ticket-stack{min-height:390px}.area-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.rail-hero{min-height:auto;padding:48px 20px 68px}.rail-copy h1{font-size:clamp(2.2rem,10vw,3.1rem)}.rail-ticket-stack{min-height:330px}.rail-ticket{padding:22px}.rail-ticket strong{font-size:2rem}.ticket-seal{width:88px;height:88px;top:120px}.rail-price-section,.grade-section,.area-section,.rail-page .inquiry-section{padding:76px 20px}.rail-card-grid,.rail-card-grid.two-card-grid,.area-grid,.rail-page .inquiry-form{grid-template-columns:1fr}.rail-card{min-height:285px}.grade-row{grid-template-columns:72px 1fr 1fr;font-size:.82rem}.grade-row>*{padding:10px 8px}.rail-page .inquiry-form{padding:22px}.rail-page .inquiry-form label:nth-of-type(5),.rail-page .inquiry-form label:nth-of-type(7){grid-column:auto}}

/* Keep headline phrases together on desktop. */
.rail-copy h1{font-size:clamp(2.7rem,4vw,4.35rem);line-height:1.08}
.rail-copy h1 span{display:inline-block;white-space:nowrap}
.rail-ticket:nth-child(2){padding-right:128px}
.rail-ticket strong{font-size:clamp(2rem,3.3vw,3.25rem)}
.rail-page .inquiry-intro h2{font-size:clamp(2.1rem,3vw,3.2rem);line-height:1.15}
@media(max-width:620px){.rail-copy h1{font-size:clamp(2.05rem,9vw,2.8rem)}.rail-copy h1 span{white-space:normal}.rail-ticket:nth-child(2){padding-right:88px}.rail-page .inquiry-intro h2{font-size:clamp(2rem,10vw,2.8rem)}}

/* JR hero: keep every label readable and move the badge clear of the copy. */
.rail-hero.jr .rail-ticket:nth-child(2){right:2%;bottom:30px;padding-right:32px;width:min(420px,88%)}
.rail-hero.jr .rail-ticket:nth-child(2) strong{font-size:clamp(2rem,3vw,2.85rem);white-space:nowrap}
.rail-hero.jr .ticket-seal{right:-2%;top:172px;width:96px;height:96px}
.rail-hero.odakyu .rail-ticket:nth-child(2){padding-right:32px}.rail-hero.odakyu .rail-ticket:nth-child(2) strong{font-size:clamp(2rem,3vw,2.85rem);white-space:nowrap}
@media(max-width:620px){.rail-hero.jr .rail-ticket:nth-child(2){padding-right:22px}.rail-hero.jr .rail-ticket:nth-child(2) strong{font-size:1.85rem}.rail-hero.jr .ticket-seal{right:0;top:145px;width:78px;height:78px}}

.rail-size-section{padding:100px max(24px,7vw);background:#eaf7fd;border-top:3px solid var(--ink)}
.rail-size-section .size-intro{max-width:1050px;margin-bottom:42px}.rail-size-section .size-intro h2{margin:0;font-size:clamp(2.3rem,4vw,4rem);line-height:1.08}.rail-size-section .size-intro h2 span{background:linear-gradient(transparent 66%,var(--pink) 0)}.rail-size-section .size-intro>p:last-child{font-size:1.05rem;font-weight:700}.rail-size-section .size-intro>p:last-child span{display:block;white-space:nowrap}
.rail-size-section .size-board{min-height:260px;padding:36px;display:flex;align-items:center;justify-content:center;gap:22px;border:3px solid var(--ink);border-radius:32px;background:#fff;box-shadow:9px 9px 0 var(--ink);overflow:hidden}.rail-size-section .poster-size{display:grid;place-items:center;align-content:center;border:3px solid var(--ink);font-weight:900;text-align:center;box-shadow:5px 5px 0 var(--ink)}.rail-size-section .poster-size span{font-size:1.4rem}.rail-size-section .poster-size small{display:block;font-size:.72rem}.rail-size-section .size-b1{width:100px;height:142px;background:var(--yellow)}.rail-size-section .size-b0{width:180px;height:127px;background:var(--pink)}.rail-size-section .size-b0b1{width:270px;height:127px;background:var(--green)}.rail-size-section .size-b02{width:360px;height:127px;background:var(--blue)}
.rail-size-section .size-notes{margin-top:35px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.rail-size-section .size-notes article{padding:24px;border:3px solid var(--ink);border-radius:24px;background:#fff}.rail-size-section .size-notes article>span{display:block;color:var(--pink);font-size:2rem;font-weight:900;line-height:1}.rail-size-section .size-notes h3{margin:12px 0 4px;font-size:1.25rem}.rail-size-section .size-notes p{margin:0;font-weight:700}.rail-size-section .size-caution{margin:26px 0 0;color:var(--muted);font-size:.85rem;font-weight:700;text-align:center}
.grade-details{max-width:1000px;margin:auto}.grade-details summary{width:max-content;margin:0 auto 26px;padding:12px 22px;border:3px solid var(--ink);border-radius:999px;background:var(--yellow);box-shadow:4px 4px 0 var(--ink);font-weight:900;cursor:pointer}.grade-details[open] summary{margin-bottom:28px}.grade-details .grade-table{margin-top:0}
@media(max-width:900px){.rail-size-section .size-board{min-height:240px;gap:12px}.rail-size-section .size-b1{width:70px;height:99px}.rail-size-section .size-b0{width:126px;height:89px}.rail-size-section .size-b0b1{width:189px;height:89px}.rail-size-section .size-b02{width:252px;height:89px}.rail-size-section .size-notes{grid-template-columns:1fr}}
@media(max-width:620px){.rail-size-section{padding:76px 20px}.rail-size-section .size-intro>p:last-child span{white-space:normal}.rail-size-section .size-board{min-height:350px;padding:22px 12px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:18px 8px}.rail-size-section .poster-size{justify-self:center}.rail-size-section .poster-size span{font-size:.95rem}.rail-size-section .poster-size small{font-size:.58rem}.rail-size-section .size-b1{width:62px;height:88px}.rail-size-section .size-b0{width:112px;height:79px}.rail-size-section .size-b0b1{width:150px;height:71px}.rail-size-section .size-b02{width:170px;height:60px}}
