/* Keep the original dark JP Tours design; refine the image and small screens. */
.tour-page img{max-width:100%;display:block;visibility:visible;opacity:1}
.tour-page :where(section[id]){scroll-margin-top:84px}
.tour-page :where(h1,h2,h3,h4,p,a){overflow-wrap:break-word}
.tour-page .hero{isolation:isolate}
.tour-page .hero-shade{background:linear-gradient(90deg,rgba(3,8,10,.68),rgba(3,8,10,.28) 52%,rgba(3,8,10,.06) 85%),linear-gradient(0deg,var(--bg),transparent 42%)}
.tour-page .hero-copy h1{max-width:1080px;font-size:clamp(3.7rem,7.5vw,7rem);text-shadow:0 2px 28px #0005}
.tour-page .hero-lead{max-width:740px;text-shadow:0 1px 8px #0008}
.tour-page .hero-interest-note{max-width:680px}
.tour-page .hero-visual-note{position:absolute;right:18px;bottom:18px;z-index:3;color:#c5cece;font-size:.62rem}
.tour-page .image-disclosure{display:block;margin-top:4px;font-size:.65rem;font-weight:400;color:#586d70}
.tour-page .planned-price{display:block;margin-top:8px;color:var(--muted);font-size:.78rem}
.tour-page .form-card,.tour-page .form-card fieldset,.tour-page .form-grid>*,.tour-page .hike-grid>*,.tour-page .price-grid>*{min-width:0}
.tour-page .form-card input,.tour-page .form-card textarea,.tour-page .form-card select{font-size:16px}
.tour-page .mobile-booking{display:none}
@media(min-width:761px) and (max-width:1050px){
 .tour-page .brand{font-size:.65rem;gap:8px}.tour-page .topbar nav{gap:16px;font-size:.8rem}
 .tour-page .price-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}
}
@media(max-width:760px){
 .tour-page{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 .tour-page .wrap{width:calc(100% - 36px)}
 .tour-page .topbar{position:sticky;top:0;height:64px;padding-inline:18px;gap:12px}
 .tour-page .brand{font-size:.62rem;gap:9px}.tour-page .brand b{display:block;font-size:.58rem;letter-spacing:.12em}
 .tour-page .topbar nav{gap:0}.tour-page .nav-cta{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:.73rem}
 .tour-page .hero{display:block;min-height:0;overflow:hidden}
 .tour-page .hero-image{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;object-position:center}
 .tour-page .hero-shade{display:none}
 .tour-page .hero-copy{padding:27px 0 36px}
 .tour-page .hero-copy .eyebrow{font-size:.64rem;letter-spacing:.11em;margin-bottom:15px}
 .tour-page .hero-copy h1{font-size:clamp(2.35rem,10.7vw,4.1rem);line-height:1.03;margin-bottom:20px;text-shadow:none}
 .tour-page .hero-lead{font-size:1rem;line-height:1.6;text-shadow:none}
 .tour-page .hero-actions{margin-top:23px;gap:12px}.tour-page .button{min-height:52px;text-align:center}
 .tour-page .hero-interest-note{font-size:.8rem}.tour-page .hero-facts{margin-top:28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .tour-page .hero-facts strong{font-size:1.12rem}.tour-page .hero-facts span{font-size:.78rem}
 .tour-page .hero-visual-note{top:calc(100vw * 941 / 1672 - 20px);bottom:auto;right:10px;font-size:.52rem;padding:2px 5px;background:#07101299;color:#fff}
 .tour-page h2{font-size:clamp(2.2rem,10vw,3.6rem)}
 .tour-page .intro,.tour-page .spots,.tour-page .fit-section,.tour-page .faq{padding-block:64px}
 .tour-page .route-section,.tour-page .photo-section,.tour-page .price-section,.tour-page .hike-section,.tour-page .inquiry-section,.tour-page .final-cta{padding-block:64px}
 .tour-page .scenic-strip{width:calc(100% - 36px);margin-bottom:60px}
 .tour-page .section-head{margin-bottom:32px}.tour-page .photo-duo{grid-template-columns:1fr}
 .tour-page .price-grid,.tour-page .hike-grid,.tour-page .inquiry-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .tour-page .form-grid{grid-template-columns:minmax(0,1fr)}.tour-page .form-card{padding:25px 18px}
 .tour-page .form-card .tour-choices label{display:flex;gap:11px}.tour-page .tour-choices small{font-size:.78rem}
 .tour-page .hike-details dl>div{grid-template-columns:90px minmax(0,1fr);gap:13px}
 .tour-page .experience-stop{grid-template-columns:35px minmax(0,1fr);gap:13px}.tour-page .experience-number{font-size:2rem}
 .tour-page .route-switch{display:flex;gap:3px}.tour-page .route-tab{font-size:.81rem;min-height:48px;min-width:0;padding-inline:9px}
 .tour-page .route-personal .button{width:100%}.tour-page .faq summary{min-height:48px;font-size:1rem}
 .tour-page .footer-grid a{overflow-wrap:anywhere}.tour-page .legal-note{font-size:.73rem}
 .tour-page .mobile-booking{display:flex;position:fixed;z-index:30;inset:auto 0 0;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:#071012f5;border-top:1px solid var(--line);transition:transform .2s ease}
 .tour-page .mobile-booking strong,.tour-page .mobile-booking span{display:block}.tour-page .mobile-booking strong{font-size:.82rem}.tour-page .mobile-booking span{font-size:.65rem;color:var(--muted);margin-top:3px}
 .tour-page .mobile-booking .button{min-height:48px;font-size:.81rem;padding:12px 17px;white-space:nowrap}
 .tour-page .mobile-booking.is-hidden{transform:translateY(115%);visibility:hidden}
}
@media(max-width:360px){.tour-page .topbar{padding-inline:12px}.tour-page .brand{font-size:.57rem}.tour-page .brand b{font-size:.51rem}.tour-page .nav-cta{font-size:.69rem;padding-inline:10px}.tour-page .mobile-booking{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.tour-page .mobile-booking{transition:none}}
