/*
Theme Name: Airport Transfer Tokyo
Description: An original Japan-inspired WordPress theme. Flag red, clean white, editorial typography, and a personal arrival experience.
Version: 1.8.1
Author: Airport Transfer Tokyo
Requires at least: 6.5
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: airporttransfertokyo
*/
@font-face{font-family:Inter;src:url(fonts/inter-latin.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Playfair;src:url(fonts/playfair-display-latin.woff2) format('woff2');font-weight:600 700;font-display:swap}
:root{--red:#bc002d;--red-dark:#900022;--ink:#202221;--muted:#626561;--paper:#faf9f6;--line:#deded8;--serif:Playfair,Georgia,serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--width:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;background:var(--paper);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block;height:auto}figure,p{margin:0}p+p{margin-top:1em}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--red)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button:disabled{cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:4px}h1,h2,h3{margin:0;font-weight:600}h1,h2{font-family:var(--serif);line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3rem,4.8vw,4.6rem)}h2{font-size:clamp(2.2rem,3.8vw,3.35rem)}h3{font-size:1.3rem;line-height:1.35;letter-spacing:-.025em}svg{flex-shrink:0}.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:600;line-height:1.5;text-transform:uppercase}.eyebrow+h2{margin-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 23px;background:var(--red);color:white;border:1px solid var(--red);border-radius:3px;text-decoration:none;font-size:.875rem;font-weight:600;transition:background .18s ease}.button:hover{background:var(--red-dark);color:white;border-color:var(--red-dark)}.button--small{min-height:45px;padding:10px 18px;gap:13px}.button--white{background:white;border-color:white;color:var(--ink)}.button--white:hover{background:var(--paper);color:var(--red);border-color:white}.button--outline{background:transparent;color:var(--ink);border-color:var(--line)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:.875rem;font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.skip-link{position:absolute;top:-100px;left:16px;padding:12px;background:white;z-index:1000}.skip-link:focus{top:10px}.screen-reader-text{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.announcement{height:35px;padding-inline:48px;display:flex;align-items:center;justify-content:space-between;background:#202321;color:#fff;font-size:.625rem;letter-spacing:.15em}.announcement-divider{color:#a7aaa5;margin-inline:14px}.announcement [lang]{font-size:.75rem;letter-spacing:.2em}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,249,246,.97);border-bottom:1px solid var(--line)}.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:.61rem;letter-spacing:.105em;font-weight:600;line-height:1.5;flex-shrink:0}.brand-symbol{height:35px;width:35px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center}.brand-symbol:after{content:'';width:24px;height:24px;border-radius:50%;background:var(--red)}.brand strong{display:block;font-size:1.36rem;letter-spacing:.08em;font-weight:600;line-height:1.2}.brand strong [lang]{font-size:.8rem;letter-spacing:.08em;font-weight:400;margin-left:12px;vertical-align:middle}#main-nav,#main-nav ul{display:flex;align-items:center;gap:28px}#main-nav ul{list-style:none;margin:0;padding:0}#main-nav a:not(.button){font-size:.875rem;text-decoration:none}#main-nav a[aria-current]{color:var(--red)}.menu-toggle{display:none;border:0;background:transparent;padding:10px}
.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;position:relative}.hero-copy{padding:58px 45px 92px max(48px,calc((100vw - var(--width))/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;font-size:.67rem;letter-spacing:.105em}.red-line{width:27px;height:2px;background:var(--red)}.hero h1{margin-top:27px}.hero h1 em{color:var(--red);font-style:normal}.hero-lead{max-width:415px;font-size:1rem;line-height:1.8;color:var(--muted);margin-top:26px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.hero-note{margin-top:31px;display:flex;gap:9px;align-items:center;font-size:.75rem;color:var(--muted)}.hero-note svg{width:17px;color:var(--red)}.hero-photo{position:relative;min-height:630px;overflow:hidden;background:#ded9d5}.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45));pointer-events:none}.photo-jp{position:absolute;right:29px;top:34px;writing-mode:vertical-rl;color:#fff;font-family:serif;font-size:3.6rem;letter-spacing:.13em;text-shadow:0 1px 12px #0004}.hero-photo figcaption{position:absolute;bottom:74px;left:32px;right:32px;z-index:1;display:flex;justify-content:space-between;gap:12px;color:white;font-size:.625rem;text-transform:uppercase;letter-spacing:.15em}.hero--inner .hero-copy{padding-block:65px}.hero--inner .hero-photo{min-height:540px}.hero--inner .hero-photo figcaption{bottom:28px}.hero--inner h1{font-size:clamp(2.8rem,4.3vw,4.3rem)}
.booking-wrap{position:relative;z-index:2;margin-top:-49px;scroll-margin-top:115px}.booking-panel{background:#fff;border:1px solid var(--line);padding:29px 32px 23px;box-shadow:0 12px 24px #20222104;border-radius:4px}.booking-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.booking-heading h2{font-family:var(--sans);font-size:1.2rem;letter-spacing:-.03em}.booking-progress{font-size:.75rem;display:flex;gap:11px;align-items:center;color:#777b75}.booking-progress .active{color:var(--red);font-weight:600}.booking-progress span[aria-hidden]{width:36px;height:1px;background:var(--line)}.booking-fields{display:grid;grid-template-columns:1.7fr 1.7fr 1fr .9fr;gap:16px}.booking-fields--contact{grid-template-columns:1fr 1fr 1fr}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:.75rem;font-weight:600}.field input,.field select,.field textarea{width:100%;min-width:0;background:#fcfcfa;color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:12px;font-size:.875rem;min-height:47px}.field textarea{resize:vertical;min-height:90px}.field input::placeholder,.field textarea::placeholder{color:#767972;opacity:1}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--red);background:#fff9fa}.field-full{grid-column:1/-1}.booking-bottom{display:flex;align-items:center;gap:22px;justify-content:space-between;margin-top:19px}.booking-extras{display:flex;gap:20px}.booking-extras .field{flex-direction:row;align-items:center;gap:10px}.booking-extras select{width:74px;min-height:40px;padding:7px}.booking-help{font-size:.75rem;color:var(--muted);margin-top:16px}.booking-help a{color:var(--ink)}.booking-bottom .button{min-width:207px}.booking-status{font-size:.875rem;color:var(--red);margin-top:14px}.booking-status:empty{display:none}.booking-consent{font-size:.8rem;color:var(--muted);display:flex;gap:10px;align-items:flex-start;margin-top:18px}.booking-consent input{margin-top:5px;accent-color:var(--red);width:17px;height:17px;flex-shrink:0}.booking-success{text-align:center;padding:25px}.booking-success .icon-wrap{margin:0 auto 17px}.booking-success h3{font-family:var(--serif);font-size:2rem;margin-bottom:12px}.booking-success p{max-width:650px;margin:auto}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}.booking-summary{font-size:.8rem;margin-top:15px;color:var(--muted)}
.trust-strip{display:flex;justify-content:center;gap:50px;padding:35px 0 42px;color:var(--muted);font-size:.78rem;border-bottom:1px solid var(--line)}.trust-strip span{display:flex;gap:10px;align-items:center}.trust-strip svg{width:18px;color:var(--red)}.section{padding-block:91px}.section--soft{background:#f0f0ea}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:39px}.section-heading p:not(.eyebrow){font-size:.9rem;color:var(--muted)}.airport-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.airport-card{border:1px solid var(--line);padding:30px 36px;background:#fff;border-radius:3px}.airport-card:nth-child(2){background:#f0f0ea}.airport-top{display:flex;align-items:center;justify-content:space-between}.airport-code{font-size:4.2rem;font-weight:500;line-height:1.1;letter-spacing:-.07em}.airport-jp{font-family:serif;font-size:2rem;color:var(--red)}.airport-rule{display:flex;gap:12px;align-items:center;margin-block:24px;color:var(--red)}.airport-rule span{height:1px;background:var(--line);flex:1}.airport-rule svg{width:17px;transform:rotate(35deg)}.airport-card h3{font-family:var(--serif);font-size:1.75rem}.airport-card p{color:var(--muted);font-size:.9rem;max-width:425px;margin-top:13px}.airport-card .text-link{margin-top:25px}.airport-connection{text-align:center;margin-top:24px;color:var(--muted);font-size:.8rem}.airport-connection a{color:var(--ink);margin-left:5px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:58px;margin-top:45px}.icon-wrap{display:grid;place-items:center;height:46px;width:46px;border:1px solid #d9c5c6;color:var(--red);border-radius:50%;margin-bottom:22px}.benefit-grid p{color:var(--muted);font-size:.9rem;margin-top:12px}.city-story{display:grid;grid-template-columns:.94fr 1fr;gap:90px;align-items:center}.city-story figure{position:relative;height:570px}.city-story img{height:100%;width:100%;object-fit:cover}.city-story figcaption{position:absolute;bottom:19px;left:22px;color:white;font-size:.68rem;letter-spacing:.15em;background:#202221aa;padding:5px 9px}.city-story h2{font-size:clamp(2.9rem,4.7vw,4.3rem);margin:22px 0 25px}.city-story p:not(.eyebrow){color:var(--muted);max-width:435px}.districts{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.districts span{font-size:.75rem;border:1px solid var(--line);padding:7px 13px;border-radius:2px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:44px}.step-number{display:block;color:var(--red);font-size:.85rem;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.steps p{font-size:.9rem;color:var(--muted);margin-top:13px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.vehicle-card{border:1px solid var(--line);padding:28px;background:white}.vehicle-top{display:flex;align-items:center;justify-content:space-between;color:var(--red);font-size:.75rem;margin-bottom:35px}.vehicle-top svg{width:40px;height:40px}.vehicle-card h3{font-family:var(--serif);font-size:1.8rem}.vehicle-card p{color:var(--muted);font-size:.875rem;margin-top:14px}.vehicle-card .vehicle-sub{color:var(--ink);font-weight:600}.vehicle-card .text-link{margin-top:26px;font-size:.8rem;gap:8px}.fine-print{color:var(--muted);font-size:.8rem;margin-top:22px}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-intro p{font-size:.9rem;color:var(--muted);margin:22px 0}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:25px;list-style:none;font-size:.94rem;font-weight:500;line-height:1.5;padding:23px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--red);font-weight:400;font-size:1.4rem}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>div{padding:0 38px 23px 0;font-size:.9rem;color:var(--muted)}.closing{background:var(--red);color:white;text-align:center;padding:73px 0 77px}.closing h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:21px 0 30px}.closing .eyebrow{color:#ffdae3}.site-footer{padding:68px 0 0;background:var(--paper)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.1fr 1.4fr;gap:37px}.footer-brand p{font-size:.8rem;color:var(--muted);margin-top:24px}.footer-grid h2{font-family:var(--sans);font-size:.8rem;letter-spacing:0;margin:4px 0 24px;font-weight:600}.footer-grid>div>a:not(.brand){display:block;font-size:.75rem;text-decoration:none;margin-top:12px;overflow-wrap:anywhere;color:var(--muted)}.footer-grid>div>a:hover{color:var(--red)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid var(--line);margin-top:55px;font-size:.67rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a{text-decoration:none}.footer-bottom>span:last-child{display:flex;align-items:center;gap:9px;letter-spacing:.08em}.tiny-sun{display:inline-block;background:var(--red);height:11px;width:11px;border-radius:50%}.page-heading{padding-block:65px 30px}.page-heading h1{font-size:3.4rem;margin-top:20px}.prose{max-width:850px;padding-block:20px 80px}.prose h1{margin-block:20px}.prose h2{font-size:1.85rem;margin:38px 0 16px}.prose h3{margin:28px 0 12px}.prose p,.prose li{color:var(--muted)}.prose li{margin-top:8px}.prose .section{padding:20px 0}.prose .container{width:100%}.prose .contact-grid{display:block}.prose .contact-grid article{margin:20px 0}.prose .booking-wrap{width:100%;margin-top:30px}.prose .booking-fields{grid-template-columns:1fr 1fr}.prose .booking-fields--contact{grid-template-columns:1fr 1fr}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-grid article{padding:30px;border:1px solid var(--line);background:white}.contact-grid .eyebrow{margin-bottom:15px}.contact-grid a{font-size:clamp(.9rem,1.8vw,1.4rem);overflow-wrap:anywhere}.contact-grid p:last-child{font-size:.875rem;color:var(--muted);margin-top:15px}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:32px}.editorial-grid h3{margin-bottom:12px}.editorial-grid p{color:var(--muted);font-size:.95rem}.route-list{list-style:none;margin:35px 0 0;padding:0}.route-list li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:22px}.route-list strong{font-weight:500}.route-list span{color:var(--muted);font-size:.875rem}.post-summary{padding-block:25px;border-bottom:1px solid var(--line)}
@media(min-width:1441px){.hero-copy{padding-left:100px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.header-inner{gap:20px}#main-nav,#main-nav ul{gap:19px}#main-nav .button{font-size:.8rem;padding-inline:12px;gap:9px}.hero-copy{padding:62px 36px 92px 32px}.hero h1{font-size:4rem}.hero-actions{flex-wrap:wrap;gap:20px}.hero-photo{min-height:640px}.booking-wrap{margin-top:-48px}.booking-panel{padding:25px}.city-story{gap:60px}.city-story figure{height:520px}.footer-grid{gap:25px;grid-template-columns:1fr 1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand p{margin-top:13px}.faq-layout{gap:60px}}
@media(max-width:900px){.announcement{padding-inline:24px}.container{width:calc(100% - 48px)}.header-inner{height:76px}.menu-toggle{display:block}#main-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:15px}#main-nav.is-open{display:flex}#main-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}#main-nav a:not(.button){display:block;padding-block:9px}#main-nav .button{align-self:flex-start}.hero-copy{padding:46px 30px 92px 24px}.hero h1{font-size:3.2rem}.hero-copy .eyebrow{font-size:.6rem;gap:9px}.red-line{width:18px}.hero-photo{min-height:580px}.hero-actions .text-link{font-size:.8rem}.hero-note{font-size:.68rem}.hero-lead{font-size:.95rem}.photo-jp{font-size:2.8rem}.booking-fields{grid-template-columns:1fr 1fr}.booking-heading{margin-bottom:20px}.trust-strip{gap:28px;flex-wrap:wrap;padding-block:27px}.section{padding-block:65px}.section-heading{align-items:flex-start}.section-heading p:not(.eyebrow){max-width:220px;font-size:.8rem}.airport-card{padding:25px}.airport-code{font-size:3.3rem}.benefit-grid{gap:28px}.benefit-grid h3{font-size:1.13rem}.city-story{gap:40px}.city-story figure{height:490px}.city-story p:not(.eyebrow){font-size:.9rem}.steps{gap:28px}.vehicle-grid{gap:14px}.vehicle-card{padding:20px}.vehicle-card .text-link{align-items:flex-start}.faq-layout{gap:40px;grid-template-columns:1fr 1.5fr}.footer-grid{gap:30px}.hero--inner .hero-photo{min-height:530px}.hero--inner h1{font-size:3rem}}
@media(max-width:640px){html{scroll-padding-top:85px}.container{width:calc(100% - 40px)}.announcement{padding-inline:20px;height:29px;font-size:.53rem;letter-spacing:.06em}.announcement>span:last-child{display:none}.announcement>span:first-child{white-space:nowrap}.announcement-divider{margin-inline:5px}.header-inner{height:72px}.brand{font-size:.54rem;gap:10px}.brand strong{font-size:1.22rem}.brand-symbol{height:31px;width:31px}.brand-symbol:after{height:21px;width:21px}#main-nav{top:72px}.hero{display:flex;flex-direction:column}.hero-copy{padding:43px 20px 37px}.hero h1{font-size:clamp(2.95rem,12vw,4.4rem);margin-top:22px;letter-spacing:-.05em}.hero-copy .eyebrow{font-size:.6rem;letter-spacing:.08em}.hero-lead{font-size:.94rem;margin-top:21px;max-width:460px}.hero-actions{gap:23px;margin-top:25px}.hero-actions .button{font-size:.8rem;padding-inline:17px;gap:14px}.hero-note{margin-top:22px;font-size:.72rem}.hero-photo{min-height:320px;height:320px;margin:0 20px}.hero-photo img{object-position:center 53%}.photo-jp{font-size:2.65rem;top:23px;right:19px}.hero-photo figcaption{bottom:40px;left:19px;right:19px;font-size:.55rem}.hero--inner .hero-copy{padding-block:40px}.hero--inner h1{font-size:3rem}.hero--inner .hero-photo{min-height:300px}.booking-wrap{margin-top:-20px;scroll-margin-top:90px}.booking-panel{padding:23px 19px}.booking-heading{align-items:flex-start;gap:12px;flex-direction:column;margin-bottom:20px}.booking-heading h2{font-size:1.15rem}.booking-progress{font-size:.7rem}.booking-fields{grid-template-columns:1fr 1fr;gap:15px 12px}.booking-fields .field:nth-child(1),.booking-fields .field:nth-child(2){grid-column:1/-1}.booking-fields--contact .field{grid-column:1/-1}.field input,.field select,.field textarea{font-size:16px;padding:10px;min-height:48px}.booking-bottom{align-items:stretch;flex-direction:column;gap:19px}.booking-extras{justify-content:space-between;gap:12px}.booking-extras .field{gap:8px}.booking-extras select{width:65px}.booking-bottom .button{width:100%}.booking-help{font-size:.7rem}.booking-consent{font-size:.75rem}.booking-success{padding:12px 0}.trust-strip{gap:13px 22px;padding-block:28px;font-size:.7rem;justify-content:flex-start}.trust-strip span:last-child{width:100%}.trust-strip svg{width:17px}.section{padding-block:49px}.section-heading{display:block;margin-bottom:28px}.section-heading p:not(.eyebrow){max-width:100%;margin-top:17px;font-size:.875rem}.section-heading h2{font-size:2.3rem}.eyebrow{font-size:.65rem}.airport-grid{grid-template-columns:1fr;gap:17px}.airport-card{padding:26px}.airport-code{font-size:3.7rem}.airport-connection{font-size:.76rem;line-height:1.9}.airport-connection a{display:block;margin-left:0}.benefit-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.benefit-grid article{position:relative;padding-left:67px}.benefit-grid .icon-wrap{position:absolute;left:0;top:1px}.benefit-grid h3{font-size:1.2rem}.benefit-grid p{margin-top:9px}.city-story{grid-template-columns:1fr;gap:35px}.city-story figure{height:410px}.city-story h2{font-size:3rem;margin-top:20px}.city-story p:not(.eyebrow){font-size:.95rem}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.steps article{position:relative;padding-left:48px}.step-number{position:absolute;top:0;left:0;border:0;margin:0;padding:0}.steps p{margin-top:9px}.vehicle-grid{grid-template-columns:1fr;gap:17px;margin-top:28px}.vehicle-card{padding:25px}.vehicle-top{margin-bottom:19px}.vehicle-card .text-link{font-size:.875rem}.faq-layout{grid-template-columns:1fr;gap:25px}.faq-list summary{font-size:.9rem;padding-block:20px}.faq-list details>div{padding-right:15px}.closing{padding-block:55px}.closing h2{font-size:2.7rem}.footer-grid{grid-template-columns:1fr 1fr;gap:33px 25px}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid h2{margin-bottom:18px}.footer-grid>div>a:not(.brand){font-size:.8rem}.site-footer{padding-top:45px}.footer-bottom{margin-top:35px;flex-wrap:wrap;gap:16px;font-size:.65rem}.footer-bottom>div{gap:17px;order:3;width:100%}.page-heading{padding-top:45px}.page-heading h1{font-size:2.5rem}.prose{padding-bottom:50px}.prose h2{font-size:1.6rem}.contact-grid,.editorial-grid{grid-template-columns:1fr;gap:20px}.contact-grid article{padding:23px}.route-list li{flex-direction:column;gap:5px}.prose .booking-fields{grid-template-columns:1fr}.prose .booking-extras{flex-wrap:wrap}.fine-print{font-size:.75rem}.booking-summary{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Photograph-led fleet cards. */
.fleet-intro{color:var(--muted);max-width:720px}.fleet-card.vehicle-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.fleet-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.fleet-body{padding:27px;display:flex;flex-direction:column;flex:1}.fleet-class{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:600;margin-bottom:13px}.fleet-body h3{font-size:1.65rem}.fleet-capacity{display:flex;flex-wrap:wrap;gap:15px;margin-top:19px;padding-bottom:17px;border-bottom:1px solid var(--line);font-size:.78rem}.fleet-capacity span{display:flex;align-items:center;gap:7px}.fleet-capacity svg{height:18px;width:18px;color:var(--red)}.fleet-body>p{margin-bottom:25px}.fleet-body .text-link{margin-top:auto;padding-top:5px}.fleet-special{margin-top:30px;padding:30px;background:#eeeae5;display:flex;align-items:center;justify-content:space-between;gap:30px}.fleet-special h3{font-family:var(--serif);font-size:1.7rem}.fleet-special p{max-width:680px;color:var(--muted);font-size:.9rem;margin-top:12px}.fleet-special .button{flex-shrink:0}@media(min-width:641px) and (max-width:1050px){.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.fleet-body{padding:24px}.fleet-special{align-items:flex-start;flex-direction:column;padding:24px}}

/* Two-step booking card, matching the supplied reference layout. */
.booking-wrap--card{max-width:760px;margin:40px auto 55px;scroll-margin-top:115px}.booking-wrap--card .booking-panel{padding:38px 40px;border-radius:22px;border:1px solid var(--line);box-shadow:0 14px 50px #2022210c;scroll-margin-top:110px;background:#fff}.booking-wrap--card .booking-heading{display:block;margin-bottom:32px}.booking-wrap--card .booking-heading h2{font-family:var(--sans);font-size:clamp(1.65rem,3vw,2.15rem);font-weight:700;letter-spacing:-.04em}.booking-wrap--card .booking-progress{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:27px;font-size:.95rem}.booking-wrap--card .booking-progress span{border-top:5px solid #e2dcdd;padding-top:12px;color:var(--muted)}.booking-wrap--card .booking-progress .active{border-color:var(--red);color:var(--red);font-weight:600}.booking-wrap--card .booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.booking-wrap--card .booking-fields:not(.booking-fields--contact)>.field:nth-child(-n+2),.booking-wrap--card .field-full{grid-column:1/-1}.booking-wrap--card .field label{font-size:.95rem;font-weight:600;line-height:1.5}.booking-wrap--card .field input,.booking-wrap--card .field select,.booking-wrap--card .field textarea{width:100%;min-width:0;min-height:54px;padding:13px 14px;background:#fcfafb;border:1px solid #ddd5d7;border-radius:9px;font-size:16px;color:var(--ink)}.booking-wrap--card .field input:focus,.booking-wrap--card .field select:focus,.booking-wrap--card .field textarea:focus{outline:3px solid #bc002d25;border-color:var(--red)}.booking-wrap--card .booking-fields--contact .field{grid-column:auto}.booking-wrap--card .booking-fields--contact .field-full{grid-column:1/-1}.booking-wrap--card .booking-bottom{display:flex;gap:15px;margin-top:28px;flex-direction:row;align-items:stretch}.booking-wrap--card .booking-next,.booking-wrap--card .booking-submit{flex:1;justify-content:center;border-radius:9px;font-size:1rem;min-height:56px}.booking-wrap--card .booking-back{border:0;background:#f1eded;border-radius:9px;font-size:.95rem;padding-inline:22px}.booking-wrap--card .booking-help{text-align:center;line-height:1.8;font-size:.8rem;margin-top:20px}.booking-wrap--card .booking-summary{line-height:1.8;margin-block:20px}.booking-wrap--card .booking-success h3{font-family:var(--sans);font-size:1.7rem}.booking-wrap--card .booking-success .button{margin-top:20px}.place-search{margin-top:9px;font-size:.8rem}.place-search summary{cursor:pointer;color:var(--red)}.place-search gmp-place-autocomplete{display:block;margin-top:10px;width:100%}.place-search-status{font-size:.8rem}
@media(max-width:640px){.booking-wrap--card{margin-block:30px 40px}.booking-wrap--card .booking-panel{padding:27px 20px;border-radius:17px}.booking-wrap--card .booking-fields{gap:19px 13px}.booking-wrap--card .booking-progress{font-size:.8rem;gap:12px}.booking-wrap--card .field label{font-size:.85rem}.booking-wrap--card .booking-fields--contact .field{grid-column:1/-1}.booking-wrap--card .booking-bottom{gap:10px}.booking-wrap--card .booking-back{padding-inline:15px}.booking-wrap--card .booking-submit{font-size:.9rem}}

/* Booking hero: Tokyo photograph across the full section. */
.hero.hero--booking{width:100%;max-width:none;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:64px;align-items:center;padding:58px max(48px,calc((100vw - 1240px)/2));background:#202725;overflow:hidden}.hero--booking .hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;min-height:0;margin:0}.hero--booking .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.hero--booking:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,15,20,.94),rgba(8,15,20,.80) 55%,rgba(8,15,20,.62))}.hero--booking .hero-photo .photo-jp,.hero--booking .hero-photo figcaption{display:none}.hero--booking .hero-copy{padding:25px 0;color:#fff;max-width:570px}.hero--booking .hero-copy .eyebrow{color:#fff}.hero--booking .hero-copy .red-line{background:#f2859c}.hero--booking h1{font-size:clamp(3rem,5vw,4.7rem);line-height:1.09}.hero--booking h1 em{color:#fff}.hero--booking .hero-lead,.hero--booking .hero-note{color:#f0eeee}.hero--booking .hero-lead{max-width:470px}.hero--booking .hero-actions .text-link{color:#fff}.hero--booking .hero-note svg{color:#ff9cb1}.hero--booking .booking-wrap--card{width:100%;max-width:none;margin:0;position:relative}.hero--booking .booking-panel{padding:30px;border:0;box-shadow:0 18px 65px #0003}.hero--booking .booking-heading h2{font-size:1.75rem}.hero--booking .booking-heading{margin-bottom:24px}.hero--booking .booking-progress{margin-top:23px;font-size:.85rem}.hero--booking .booking-fields{gap:17px}.hero--booking .field label{font-size:.86rem}.hero--booking .booking-help{font-size:.75rem}.hero--booking .booking-bottom{margin-top:23px}.hero--booking:has([data-step="2"]:not([hidden])){align-items:start}.hero--booking:has([data-step="2"]:not([hidden])) .hero-copy{padding-top:65px}
@media(max-width:1100px) and (min-width:901px){.hero.hero--booking{grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:32px;padding:45px 32px}.hero--booking h1{font-size:3.5rem}}
@media(max-width:900px){.hero.hero--booking{grid-template-columns:1fr;gap:32px;padding:44px 24px}.hero--booking .hero-copy{max-width:680px;padding:0}.hero--booking .booking-wrap--card{max-width:680px;margin-inline:auto}.hero--booking:has([data-step="2"]:not([hidden])) .hero-copy{padding-top:0}.hero--booking:before{background:rgba(8,15,20,.86)}}
@media(max-width:640px){.hero.hero--booking{display:grid;padding:36px 20px;gap:30px}.hero--booking h1{font-size:clamp(2.8rem,11vw,3.8rem)}.hero--booking .booking-panel{padding:25px 20px}.hero--booking .hero-photo{height:100%;min-height:0}.hero--booking .booking-heading h2{font-size:1.5rem}.hero--booking .booking-progress{font-size:.78rem}}

.breadcrumbs{padding-block:17px;font-size:.78rem;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.breadcrumbs a{color:var(--ink)}

.airport-overview{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.airport-overview figure{position:relative}.airport-overview img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.airport-overview figcaption{font-size:.75rem;color:var(--muted);margin-top:10px}.airport-overview h2{margin:17px 0 23px}.airport-overview p:not(.eyebrow){color:var(--muted);font-size:.95rem}.airport-overview .text-link{margin-top:24px}.destination-intro{margin-top:23px;max-width:750px;color:var(--muted)}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-top:32px}.destination-grid article{padding:28px;border:1px solid var(--line);background:white;display:flex;flex-direction:column}.destination-grid .eyebrow{color:var(--red)}.destination-grid h3{font-family:var(--serif);font-size:1.55rem;margin:15px 0}.destination-grid article>p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin-bottom:23px}.destination-grid .text-link{margin-top:auto;font-size:.85rem}@media(max-width:900px){.airport-overview{grid-template-columns:1fr;gap:30px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.destination-grid{grid-template-columns:1fr}.airport-overview h2{font-size:2.3rem}}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:40px}.blog-card{padding:30px;background:white;border:1px solid var(--line);display:flex;flex-direction:column}.blog-card .eyebrow{color:var(--red)}.blog-card h2{font-size:1.85rem;line-height:1.25;margin:18px 0}.blog-card h2 a{text-decoration:none}.blog-card>p:not(.eyebrow){color:var(--muted);font-size:.9rem;margin-bottom:24px}.blog-card .text-link{margin-top:auto}.blog-article h1{font-size:clamp(2.4rem,4vw,3.6rem)}.blog-article>.fine-print{margin-bottom:30px}@media(max-width:900px){.blog-grid{grid-template-columns:1fr}.blog-card{max-width:760px}}

.single-post{padding-bottom:100px}.blog-sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 30px #20222112;padding:15px 0}.blog-sticky-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:20px}.blog-sticky-cta strong{display:block;font-size:1rem}.blog-sticky-cta span{display:block;color:var(--muted);font-size:.8rem}.blog-sticky-cta .button{flex-shrink:0}.blog-article .faq-list{margin-top:22px}.blog-article .faq-list summary{font-size:1rem}.blog-article .faq-list p{margin:0}.single-post :target{scroll-margin-bottom:110px}.single-post{scroll-padding-bottom:110px}.article-table-wrap{overflow-x:auto;margin:25px 0}.article-table{width:100%;border-collapse:collapse;font-size:.9rem}.article-table caption{text-align:left;font-weight:600;margin-bottom:12px}.article-table th,.article-table td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--line)}.article-table thead{background:#eeeae5}.article-table tbody th{font-weight:500}@media(max-width:640px){.blog-sticky-cta{padding:12px 0 calc(12px + env(safe-area-inset-bottom))}.blog-sticky-cta>.container{gap:12px}.blog-sticky-cta strong{font-size:.8rem;line-height:1.4}.blog-sticky-cta span{display:none}.blog-sticky-cta .button{font-size:.8rem;padding:12px 14px;gap:10px;min-height:48px}.single-post{padding-bottom:100px}.article-table th,.article-table td{padding:10px 7px;font-size:.8rem}}
