:root{--bg:#0d0d12;--surface:#17171f;--ink:#f6f3ef;--muted:#c4c0bc;--line:rgba(255,255,255,.14);--brand:#ff5145;--brand-dark:#dc3d34;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Noto Sans",sans-serif;line-height:1.65}.shell{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(13,13,18,.94);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.site-header .shell{min-height:68px;display:flex;align-items:center;gap:18px}.brand{font-weight:900;letter-spacing:.12em;color:white;text-decoration:none;white-space:nowrap}.brand span{color:var(--brand)}.primary-nav{display:flex;align-items:center;gap:15px;min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.primary-nav a{font-size:.86rem;font-weight:700;color:#dedad5;text-decoration:none}.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:var(--brand)}.book-link{margin-left:auto;flex:0 0 auto;background:var(--brand);color:#fff;text-decoration:none;font-weight:800;padding:9px 13px;border-radius:999px;white-space:nowrap}.book-link:hover{background:var(--brand-dark)}.hero{padding:82px 0 48px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 76% 0,#442326 0,transparent 38%)}.eyebrow{margin:0;color:#ff9a92;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero h1{font-size:clamp(2.3rem,6vw,4.7rem);line-height:.98;margin:13px 0 20px;letter-spacing:-.045em;max-width:900px}.lead{max-width:760px;margin:0;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border:1px solid var(--line);border-radius:5px;color:var(--ink);text-decoration:none;font-weight:800}.button.primary{background:var(--brand);border-color:var(--brand)}.button:hover{border-color:var(--brand);background:rgba(255,81,69,.12)}.button.primary:hover{background:var(--brand-dark)}main section.content{padding:56px 0;border-bottom:1px solid var(--line)}h2{font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.1;margin:0 0 18px;letter-spacing:-.025em}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{padding:22px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--brand)}.card h3{font-size:1.06rem;margin:0 0 8px}.card p,.content>p,.list li{color:var(--muted)}.list{padding-left:20px;margin:17px 0}.notice{margin-top:22px;padding:18px 20px;border-left:4px solid var(--brand);background:#281a1c;color:#f0ddda}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:19px 4px;font-weight:800}.faq-list p{padding:0 4px 20px;margin:0;color:var(--muted)}.breadcrumb{padding-top:22px;font-size:.88rem;color:var(--muted)}.breadcrumb a{color:var(--muted)}.site-footer{padding:44px 0;background:#09090d}.footer-grid{display:grid;grid-template-columns:1.3fr 2fr;gap:30px}.footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;align-content:start}.footer-links a{color:var(--muted);text-decoration:none;font-size:.92rem}.footer-links a:hover{color:var(--brand)}.small{font-size:.9rem;color:var(--muted)}.core-page{padding:38px 0 70px}.core-page h1{font-size:clamp(2.25rem,5vw,4.2rem);line-height:1.04;letter-spacing:-.045em;margin:10px 0 18px;max-width:900px}.core-page .page-intro{max-width:780px;color:var(--muted);font-size:1.08rem}.core-page section{padding:29px 0;border-top:1px solid var(--line);max-width:850px}.core-page section p,.core-page li{color:var(--muted)}.core-page h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:10px}.core-page img{width:min(100%,760px);height:auto;border:1px solid var(--line);background:#fff}.review-notice{margin:28px 0;padding:18px 20px;border-left:4px solid #f0bd5b;background:rgba(240,189,91,.11);color:#f2dfbb;max-width:850px}.related-links{padding-left:20px}.breadcrumb span{margin:0 7px;color:var(--muted)}@media(max-width:760px){.shell{width:min(var(--max),calc(100% - 28px))}.site-header .shell{gap:12px;min-height:60px}.primary-nav{order:3;position:absolute;left:0;right:0;top:60px;padding:10px 14px;background:#15151b;border-bottom:1px solid var(--line);gap:14px}.site-header{margin-bottom:42px}.book-link{font-size:.84rem;padding:8px 11px}.hero{padding-top:46px}.cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-links{gap:8px 14px}.core-page{padding-top:20px}.core-page h1{font-size:clamp(2rem,10vw,2.8rem)}}

/* Tokyo tour sales page */
.mobile-menu{display:none}.tour-page{overflow-x:hidden}.tour-page main{overflow:hidden}.tour-breadcrumb{padding-bottom:16px}.tour-hero{padding:16px 0 64px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 14% 20%,rgba(255,81,69,.19),transparent 34%)}.tour-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;gap:clamp(28px,5vw,68px)}.tour-hero h1{font-size:clamp(2.65rem,4.5vw,4.4rem);line-height:.96;letter-spacing:-.052em;margin:13px 0 20px;max-width:760px}.tour-hero .lead{max-width:680px}.tour-hero-media,.tour-photo{margin:0;overflow:hidden;border:1px solid var(--line);background:var(--surface)}.tour-hero-media{aspect-ratio:4/5;max-height:620px;transform:rotate(1deg);box-shadow:18px 18px 0 rgba(255,81,69,.13)}.tour-hero-media picture,.tour-photo picture,.tour-hero-media img,.tour-photo img{display:block;width:100%;height:100%}.tour-hero-media img,.tour-photo img{object-fit:cover}.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:28px 0 0;padding:1px;list-style:none;background:var(--line);border:1px solid var(--line)}.hero-facts li{display:flex;min-width:0;flex-direction:column;padding:14px 12px;background:rgba(13,13,18,.9)}.hero-facts strong{font-size:.94rem;color:#fff}.hero-facts span{font-size:.76rem;line-height:1.35;color:var(--muted)}.section-heading{max-width:740px;margin-bottom:24px}.section-heading h2{margin-top:8px}.glance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.glance-item{min-width:0;padding:20px 17px;background:var(--surface);border:1px solid var(--line)}.glance-number{display:block;margin-bottom:20px;color:var(--brand);font-size:.75rem;font-weight:900;letter-spacing:.12em}.glance-item h3{margin:0 0 8px;font-size:1rem;line-height:1.3}.glance-item p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.live-price{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:21px 24px;background:#281a1c;border-left:4px solid var(--brand)}.live-price div{display:flex;flex-direction:column}.live-price span{color:#ff9a92;font-size:.72rem;font-weight:900;letter-spacing:.13em}.live-price strong{font-size:1.08rem}.tour-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.84fr);align-items:center;gap:clamp(30px,6vw,76px)}.tour-split.reverse>.tour-copy{order:2}.tour-split.reverse>:not(.tour-copy){order:1}.tour-copy p{color:var(--muted)}.tour-copy h2{margin-top:8px}.tour-photo{aspect-ratio:4/3}.route-list{list-style:none;margin:26px 0;padding:0;border-top:1px solid var(--line)}.route-list li{display:grid;grid-template-columns:145px minmax(0,1fr);gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.route-list span{color:#ff9a92;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.route-list strong{font-size:.96rem}.route-note{padding:16px 18px;border-left:3px solid var(--brand);background:var(--surface);font-size:.9rem}.tour-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.tour-cards .card{min-height:215px}.originals-notice{margin:22px 0;padding:18px 20px;background:#281a1c;border-left:4px solid var(--brand)}.originals-notice strong{display:block;color:#fff}.originals-notice p{margin:5px 0 0;color:#f0ddda}.requirements-card{padding:30px;background:linear-gradient(145deg,#25252f,#17171f);border:1px solid var(--line);border-top:4px solid var(--brand)}.requirements-card span{color:#ff9a92;font-size:.72rem;font-weight:900;letter-spacing:.13em}.requirements-card strong{display:block;margin:12px 0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.2}.requirements-card p{margin:0;color:var(--muted)}.tour-copy address{margin:0 0 18px;padding:15px 18px;background:var(--surface);border-left:3px solid var(--brand);color:#fff;font-style:normal}.checkin-steps{display:grid;gap:10px}.checkin-steps div{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--surface);border:1px solid var(--line)}.checkin-steps span{color:var(--brand);font-size:.76rem;font-weight:900}.checkin-steps strong{font-size:.96rem}.policy-callout,.review-callout{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;background:var(--surface);border:1px solid var(--line)}.policy-callout h2,.review-callout h2{margin-top:8px}.policy-callout p,.review-callout p{max-width:740px;margin-bottom:0;color:var(--muted)}.tour-faq{max-width:900px}.tour-faq details:last-of-type{border-bottom:1px solid var(--line)}.tour-faq a,.more-faq a,.tour-copy a{color:#ff9a92}.more-faq{margin-top:22px!important;padding:0!important}.tour-final-cta{padding:76px 0;background:radial-gradient(circle at 20% 50%,rgba(255,81,69,.2),transparent 42%),#111117;border-bottom:1px solid var(--line)}.tour-final-cta .shell{max-width:800px;text-align:center}.tour-final-cta h2{margin:10px 0 16px;font-size:clamp(2.1rem,5vw,3.8rem)}.tour-final-cta p{color:var(--muted)}.tour-final-cta .actions{justify-content:center}.tour-page .button{min-height:46px}.tour-page a:focus-visible,.tour-page summary:focus-visible{outline:3px solid #fff;outline-offset:3px}

@media(max-width:980px){.tour-hero-grid{grid-template-columns:minmax(0,1fr) minmax(290px,.78fr);gap:28px}.glance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tour-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tour-page .site-header{margin-bottom:0}.tour-page .primary-nav{display:none}.tour-page .site-header .shell{gap:9px}.tour-page .brand{font-size:.86rem}.tour-page .book-link{margin-left:auto}.mobile-menu{position:relative;display:block;flex:0 0 auto}.mobile-menu summary{display:flex;min-height:38px;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:#fff;font-size:.78rem;font-weight:800;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-nav{position:absolute;top:calc(100% + 11px);right:0;width:min(270px,calc(100vw - 28px));display:grid;padding:8px;background:#15151b;border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.45)}.mobile-nav a{padding:11px 12px;color:#dedad5;text-decoration:none;font-size:.9rem;font-weight:700;border-bottom:1px solid var(--line)}.mobile-nav a:last-child{border-bottom:0}.mobile-nav a[aria-current="page"]{color:var(--brand)}.tour-breadcrumb{padding-top:14px;padding-bottom:10px}.tour-hero{padding:6px 0 38px}.tour-hero-grid{display:flex;flex-direction:column;gap:20px}.tour-hero-copy{display:contents}.tour-hero h1{order:1;margin:8px 0 10px;font-size:clamp(2.15rem,10.5vw,3rem);line-height:.98}.tour-hero .eyebrow{order:0}.tour-hero .lead{order:2;font-size:.96rem;line-height:1.5}.hero-facts{order:3;width:100%;margin:3px 0 0;grid-template-columns:repeat(3,minmax(0,1fr))}.hero-facts li{padding:10px 8px}.hero-facts strong{font-size:.78rem}.hero-facts span{font-size:.66rem}.tour-hero .actions{order:4;width:100%;margin-top:0}.tour-hero .actions .button{flex:1 1 150px;padding:10px 11px;font-size:.84rem}.tour-hero-media{order:5;width:100%;aspect-ratio:16/9;max-height:none;transform:none;box-shadow:none}.tour-hero-media img{object-position:center 43%}main section.content{padding:44px 0}.section-heading{margin-bottom:20px}.glance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.glance-item{padding:16px 13px}.glance-number{margin-bottom:10px}.glance-item:last-child{grid-column:1/-1}.live-price{align-items:stretch;flex-direction:column;gap:16px;padding:18px}.live-price .button{width:100%}.tour-split{grid-template-columns:1fr;gap:25px}.tour-split.reverse>.tour-copy,.tour-split.reverse>:not(.tour-copy){order:initial}.route-list li{grid-template-columns:110px minmax(0,1fr)}.tour-cards{grid-template-columns:1fr}.tour-cards .card{min-height:0}.policy-callout,.review-callout{align-items:stretch;flex-direction:column;padding:24px;gap:18px}.policy-callout .button,.review-callout .button{width:100%}.tour-final-cta{padding:58px 0}.tour-final-cta .actions{display:grid}.tour-final-cta .button{width:100%}}
@media(max-width:390px){.tour-page .brand{font-size:.78rem}.tour-page .book-link{font-size:.76rem;padding:7px 9px}.mobile-menu summary{min-height:36px;padding:0 8px;font-size:.72rem}.hero-facts{grid-template-columns:1fr}.hero-facts li{display:grid;grid-template-columns:95px 1fr;gap:8px}.glance-grid{grid-template-columns:1fr}.glance-item:last-child{grid-column:auto}.route-list li{grid-template-columns:1fr;gap:3px}.tour-hero .actions{display:grid}.tour-hero .actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Country pages use a compact disclosure menu on phones. This prevents the
   full desktop navigation from creating a page-wide horizontal scroll. */
.idp-country-page .mobile-menu{display:none}
@media(max-width:760px){
  .idp-country-page{overflow-x:hidden}
  .idp-country-page .site-header .shell{gap:9px;min-width:0}
  .idp-country-page .primary-nav{display:none}
  .idp-country-page .mobile-menu{position:relative;display:block;flex:0 0 auto}
  .idp-country-page .mobile-menu summary{display:flex;min-height:38px;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:#fff;font-size:.78rem;font-weight:800;cursor:pointer;list-style:none}
  .idp-country-page .mobile-menu summary::-webkit-details-marker{display:none}
  .idp-country-page .mobile-nav{position:absolute;top:calc(100% + 11px);right:0;width:min(270px,calc(100vw - 28px));display:grid;padding:8px;background:#15151b;border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:20}
  .idp-country-page .mobile-nav a{padding:11px 12px;color:#dedad5;text-decoration:none;font-size:.9rem;font-weight:700;border-bottom:1px solid var(--line)}
  .idp-country-page .mobile-nav a:last-child{border-bottom:0}
}
@media(max-width:390px){
  .idp-country-page .brand{font-size:.78rem}
  .idp-country-page .book-link{font-size:.76rem;padding:7px 9px}
  .idp-country-page .mobile-menu summary{min-height:36px;padding:0 8px;font-size:.72rem}
}

/* Keep the four tour-at-a-glance cards balanced at every common phone and tablet width. */
.tour-page .glance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.tour-page .glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-page .glance-item:last-child{grid-column:auto}}
@media(max-width:390px){.tour-page .glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Long translations need a content-driven navigation breakpoint. The tour
   page already provides an accessible details/summary menu, so use it before
   Russian, German, French, Turkish or Dutch labels can collide. */
@media(max-width:1400px){
  .tour-page .primary-nav{display:none}
  .tour-page .mobile-menu{position:relative;display:block;flex:0 0 auto}
  .tour-page .mobile-menu summary{display:flex;min-height:40px;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:#fff;font-size:.8rem;font-weight:800;cursor:pointer;list-style:none}
  .tour-page .mobile-menu summary::-webkit-details-marker{display:none}
  .tour-page .mobile-nav{position:absolute;top:calc(100% + 11px);right:0;z-index:30;width:min(300px,calc(100vw - 28px));display:grid;padding:8px;background:#15151b;border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.45)}
  .tour-page .mobile-nav a{padding:11px 12px;color:#dedad5;text-decoration:none;font-size:.9rem;font-weight:700;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}
  .tour-page .mobile-nav a:last-child{border-bottom:0}
  .tour-page .mobile-nav a[aria-current="page"]{color:var(--brand)}

  .idp-country-page .primary-nav{display:none}
  .idp-country-page .mobile-menu{position:relative;display:block;flex:0 0 auto}
  .idp-country-page .mobile-menu summary{display:flex;min-height:40px;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:#fff;font-size:.8rem;font-weight:800;cursor:pointer;list-style:none}
  .idp-country-page .mobile-menu summary::-webkit-details-marker{display:none}
  .idp-country-page .mobile-nav{position:absolute;top:calc(100% + 11px);right:0;z-index:30;width:min(300px,calc(100vw - 28px));display:grid;padding:8px;background:#15151b;border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.45)}
  .idp-country-page .mobile-nav a{padding:11px 12px;color:#dedad5;text-decoration:none;font-size:.9rem;font-weight:700;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}
  .idp-country-page .mobile-nav a:last-child{border-bottom:0}
  .idp-country-page .mobile-nav a[aria-current="page"]{color:var(--brand)}

  body:not(.idp-country-page):not(.tour-page) .site-header .shell{flex-wrap:wrap;padding:8px 0;gap:8px 12px}
  body:not(.idp-country-page):not(.tour-page) .primary-nav{position:static;order:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1 0 100%;overflow:visible;white-space:normal;padding:8px 0 0;border-top:1px solid var(--line);border-bottom:0;background:transparent;gap:7px 10px}
  body:not(.idp-country-page):not(.tour-page) .primary-nav a{min-width:0;text-align:center;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}
}

/* Arabic remains RTL inside translated content while official Latin names
   use the browser's natural bidi handling. */
html[lang="ar"] body{direction:rtl;text-align:right}
html[lang="ar"] .brand,html[lang="ar"] [dir="ltr"]{direction:ltr;unicode-bidi:isolate}
html[lang="ar"] .route-list strong,html[lang="ar"] .source-meta a{unicode-bidi:plaintext}
.driving-route-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.driving-route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.driving-route-cards{grid-template-columns:1fr}}

/* Core-page navigation wraps on narrow screens instead of becoming a
   horizontally scrolling strip. Country pages keep their existing compact
   mobile navigation rule below 760px. */
@media(max-width:900px){
  body:not(.idp-country-page) .site-header .shell{flex-wrap:wrap;padding:8px 0;gap:8px 12px}
  body:not(.idp-country-page) .primary-nav{position:static;order:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1 0 100%;overflow:visible;white-space:normal;padding:8px 0 0;border-top:1px solid var(--line);border-bottom:0;background:transparent;gap:7px 10px}
  body:not(.idp-country-page) .primary-nav a{min-width:0;text-align:center;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}
  body:not(.idp-country-page) .site-header{margin-bottom:0}
}
@media(max-width:520px){
  body:not(.idp-country-page) .primary-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.faq-route-list{display:grid;gap:.8rem;margin:.35rem 0 0;padding:0;list-style:none}
.faq-route-list li{display:grid;gap:.25rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.faq-route-list li:last-child{border-bottom:0}
.faq-route-list strong{color:var(--text);overflow-wrap:anywhere}
.faq-route-list span{color:var(--muted);overflow-wrap:anywhere}
[dir="rtl"] .idp-country-page .mobile-nav{left:0;right:auto}
