@font-face{font-family:Cal Sans;src:url('/assets/cal-sans-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#102a3c;--blue:#173ec4;--sky:#e1f3fe;--paper:#fff;--lime:#e0ef82;--coral:#ff7456;--muted:#516573;--line:#d9e4eb}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 'Cal Sans',Arial,sans-serif;text-align:center}button,input,select{font:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #eb510c;outline-offset:5px}p{margin:0 auto 20px}h1,h2,h3,strong{font-weight:400}h1,h2,h3{line-height:1.08;letter-spacing:-.035em;margin:0}h2{font-size:clamp(36px,4.2vw,58px)}h3{font-size:25px;line-height:1.2}svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip{position:absolute;left:10px;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:8px}.announcement{background:var(--blue);color:white;font-size:13px;letter-spacing:.04em;padding:9px 15px}.announcement span{color:var(--lime);padding:0 22px}.header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.nav-shell{max-width:1240px;min-height:91px;margin:auto;padding:12px 34px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:21px;line-height:1.05;letter-spacing:-.025em}.brand-mark{font-size:24px;display:flex;align-items:center;justify-content:center;width:51px;height:51px;background:var(--blue);color:#fff;border-radius:15px;position:relative;padding-bottom:6px}.brand-mark span{position:absolute;bottom:4px;font-size:9px;letter-spacing:.14em;color:var(--lime)}nav{display:flex;justify-content:center;gap:30px}nav a{text-decoration:none;font-size:15px}nav a:hover{color:var(--blue)}.nav-call{font-size:16px;text-decoration:none;border:1px solid #ccd8e2;padding:10px 17px;border-radius:9px}.nav-call:hover{background:var(--sky)}.menu-toggle{display:none}.hero{background:linear-gradient(160deg,#e9f6ff 0%,#cfeaff 52%,#e6f5fe 100%);padding:58px 26px 50px;overflow:hidden}.hero-inner{max-width:1180px;margin:auto}.eyebrow{color:var(--blue);font-size:13px;letter-spacing:.11em;margin-bottom:19px;line-height:1.6}.pill{display:inline-block;background:#fff;border:1px solid #c6dfea;padding:5px 11px;border-radius:5px;font-size:12px;letter-spacing:.07em}.hero .eyebrow{display:flex;justify-content:center;align-items:center;gap:14px}.hero h1{font-size:clamp(42px,5.6vw,80px);letter-spacing:-.045em;line-height:1.05;max-width:1040px;margin:auto}.hero h1>span{color:var(--blue)}.hero-copy{max-width:740px;color:#385369;font-size:20px;line-height:1.5;margin:23px auto 0}.actions{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin:27px auto}.button{min-height:53px;padding:14px 23px;border-radius:9px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;line-height:1.3;font-size:16px;transition:transform .18s,background .18s,box-shadow .18s}.button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #09234c17}.primary{background:var(--blue);color:white}.primary:hover{background:#102e98}.outline{background:#fff8;border-color:#afc5dc;color:var(--ink)}.outline:hover{background:white}.hero-note{display:flex;justify-content:center;gap:26px;font-size:13px;color:#435d70}.hero-note span:before{content:'';display:inline-block;width:9px;height:5px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg);vertical-align:3px;margin-right:7px}.hero-photo{position:relative;max-width:1030px;aspect-ratio:1.8;margin:39px auto 0;border-radius:20px;overflow:hidden;border:7px solid white;box-shadow:0 15px 36px #1f437821;background:#18354e}.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 45%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071929e8,transparent 45%,transparent 75%,#081e3999);pointer-events:none}.photo-topline{position:absolute;top:20px;left:23px;right:23px;display:flex;justify-content:space-between;z-index:2;color:white;font-size:11px;letter-spacing:.12em}.hero-photo figcaption{position:absolute;bottom:23px;left:20px;right:20px;color:white;z-index:2}.photo-label{display:block;font-size:11px;letter-spacing:.15em;color:#e4edb9;margin-bottom:5px}.hero-photo strong{font-size:31px;line-height:1.2;display:block;letter-spacing:-.02em}.airport-code{display:inline-block;font-size:17px;background:var(--lime);color:var(--ink);padding:4px 8px;border-radius:4px;vertical-align:middle;letter-spacing:.04em;margin-left:8px}.caption-line{display:block;font-size:13px;color:#e2e8ed;margin-top:5px}.route-band{padding:22px;background:var(--lime);display:flex;justify-content:center;gap:28px;align-items:center;font-size:18px;line-height:1.3}.route-band i{height:5px;width:5px;border-radius:100%;background:#677433}.route-band strong{color:var(--blue)}.section{padding:94px 24px}.container{max-width:1120px;margin:auto}.narrow{max-width:860px}.section-intro{max-width:710px;color:var(--muted);font-size:18px;line-height:1.65;margin-top:23px}.quote-form{max-width:890px;margin:37px auto 43px;border:1px solid #c8dbea;border-radius:17px;box-shadow:0 12px 30px #1636630a;padding:27px 30px 21px;background:#f9fcff}.journey-fields{display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;gap:14px}.field label,.field-label{display:block;font-size:11px;letter-spacing:.11em;color:#5b7182;margin-bottom:10px}.field select{width:100%;min-height:55px;border:1px solid #adbfcb;border-radius:8px;color:var(--ink);padding:12px 30px 12px 15px;background:#fff;text-align:center;font-size:19px}.destination strong{font-size:22px;display:block;padding:7px}.destination strong span{display:inline-block;font-size:13px;background:var(--sky);padding:3px 7px;border-radius:4px;color:var(--blue);vertical-align:middle;margin-left:5px}.journey-connector{font-size:20px;color:#93aab9;padding-top:23px;letter-spacing:.12em}.quote-submit{margin-top:25px}.form-note{font-size:12px;color:#607586;line-height:1.5;margin:12px auto 0;max-width:650px}.popular-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:#647a88;margin-bottom:17px}.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.route-card{display:flex;align-items:center;flex-direction:column;text-decoration:none;padding:25px 14px 21px;border-radius:12px;transition:transform .2s,box-shadow .2s}.route-card:hover{transform:translateY(-5px);box-shadow:0 10px 22px #092d4022}.coral{background:#ff795d}.blue{background:var(--blue);color:white}.lime{background:var(--lime)}.sky{background:#d5edfe}.region{font-size:10px;letter-spacing:.12em;opacity:.88;margin-bottom:19px}.route-card h3{font-size:31px;margin-bottom:7px}.route-destination{font-size:14px}.route-action{font-size:12px;padding-top:17px;margin-top:18px;border-top:1px solid currentColor;width:80%}.town-links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:25px auto 15px}.town-links button{border:1px solid #d3dfe5;background:#fff;color:#335369;border-radius:25px;font-size:14px;padding:8px 15px}.town-links button:hover{color:var(--blue);border-color:var(--blue);background:#f2f8ff}.coverage-note{font-size:14px;color:#5b7182;margin-bottom:0}.why{background:var(--blue);color:white}.why .eyebrow{color:var(--lime)}.why .section-intro{color:#d7e4ff}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:46px}.benefits article{padding:0 20px}.benefit-icon{display:inline-flex;justify-content:center;align-items:center;background:#2c50ce;border:1px solid #6686eb;color:var(--lime);border-radius:50%;height:50px;width:50px;font-size:19px;margin-bottom:20px}.benefits h3{font-size:24px;margin-bottom:15px}.benefits p{color:#dbe6ff;font-size:16px;max-width:320px;margin-bottom:0}.fleet{background:#f5fbff}.fleet-layout{display:grid;grid-template-columns:1fr 1.07fr;gap:65px;align-items:center;margin-top:43px}.fleet-copy .pill{margin-bottom:18px}.fleet-copy h3{font-size:38px;margin-bottom:23px}.fleet-copy p{color:var(--muted);font-size:17px;max-width:450px}.fleet-copy p+p{font-size:14px}.text-link{color:var(--blue);font-size:16px;text-underline-offset:6px}.fleet-photo{margin:0;border-radius:15px;overflow:hidden;background:var(--ink);position:relative;aspect-ratio:1.12}.fleet-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;display:block}.fleet-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#061523f5,#06152300);color:#fff;font-size:14px;padding:40px 12px 19px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.step-number{font-size:52px;color:#c6d2ff;line-height:1;display:block;margin-bottom:20px}.steps h3{margin-bottom:15px}.steps p{color:var(--muted);font-size:16px;max-width:290px}.booking-tip{max-width:850px;background:#eef4ff;border:1px solid #dce7fa;border-radius:10px;padding:23px 27px;margin:32px auto 0}.booking-tip strong{color:var(--blue);font-size:18px}.booking-tip p{color:#4c647a;font-size:15px;max-width:720px;margin:8px auto 0}.faqs{background:#f5f9fc;border-top:1px solid #e2ebf2}.faq-list{margin-top:40px;border-top:1px solid #cfdae4}.faq-list details{border-bottom:1px solid #cfdae4}.faq-list summary{cursor:pointer;list-style:none;font-size:19px;line-height:1.45;padding:24px 40px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:11px;top:18px;font-size:29px;font-family:Arial,sans-serif;color:var(--blue)}.faq-list details[open] summary:after{content:'−'}.faq-list details[open] summary{color:var(--blue)}.faq-list p{font-size:16px;color:var(--muted);line-height:1.75;padding:0 35px 24px;max-width:780px;margin:auto}.closing{background:var(--blue);color:#fff;padding:82px 24px}.closing .eyebrow{color:#dae8b5}.closing h2{font-size:clamp(45px,6vw,78px);line-height:1.03}.closing h2 span{color:var(--lime)}.closing p:not(.eyebrow){font-size:19px;color:#e2eaff;margin:23px auto}.yellow{background:var(--lime);color:#173929}.white{background:white;color:var(--blue)}.closing-note{font-size:13px;color:#d4e2ff}footer{padding:47px 22px 30px;background:#102a3c;color:#fff}.footer-brand{font-size:28px;text-decoration:none;letter-spacing:-.025em}footer p{font-size:14px;color:#c2d2de;margin:10px auto 19px}.footer-links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;font-size:14px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.legal{border-top:1px solid #355063;padding-top:23px;margin:30px auto 0;font-size:12px;max-width:900px;color:#a9becb}.mobile-contact{display:none}
@media(min-width:1450px){.hero{padding-top:66px}.hero-photo{aspect-ratio:1.8}}
@media(max-width:1000px){.nav-shell{padding-inline:24px;gap:18px}nav{gap:18px}.nav-call{display:none}.hero h1{font-size:65px}.hero-photo{aspect-ratio:1.9}.route-band{font-size:16px;gap:18px}.benefits{gap:18px}.benefits article{padding:0 8px}.fleet-layout{gap:30px}.steps{gap:25px}.route-card h3{font-size:27px}}
@media(max-width:700px){html{scroll-padding-top:24px}.announcement{font-size:10px;padding:8px 8px;letter-spacing:.02em}.announcement span{padding:0 7px}.nav-shell{min-height:78px;padding:13px 20px;flex-wrap:wrap}.brand{font-size:18px}.brand-mark{width:45px;height:45px;border-radius:12px;font-size:22px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:45px;height:45px;background:#edf5fb;border:1px solid #d5e3ee;border-radius:9px}.menu-toggle span{display:block;height:2px;width:19px;background:var(--ink)}nav{display:none;width:100%;flex-direction:column;gap:0;padding:5px 0 0}nav.open{display:flex}nav a{padding:13px;border-top:1px solid #e1e9f0;font-size:16px}.hero{padding:36px 17px 29px}.hero .eyebrow{font-size:10px;letter-spacing:.075em;gap:8px;margin-bottom:19px}.hero .pill{font-size:9px;padding:4px 7px}.hero h1{font-size:clamp(37px,8.5vw,57px);letter-spacing:-.04em;line-height:1.08}.hero h1 br{display:none}.hero h1>span{display:block}.hero-copy{font-size:17px;line-height:1.55;margin:20px auto 0;max-width:420px}.desktop-br{display:none}.actions{gap:10px;margin:22px auto}.hero .actions{max-width:360px}.hero .button{width:100%}.button{min-height:51px;padding:13px 19px;font-size:15px}.hero-note{gap:7px 14px;flex-wrap:wrap;font-size:11px;max-width:350px;margin:auto}.hero-note span:before{margin-right:5px}.hero-photo{margin-top:27px;border:5px solid white;border-radius:14px;aspect-ratio:1.3}.hero-photo img{object-position:50% 43%}.photo-topline{top:13px;left:12px;right:12px;font-size:8px;letter-spacing:.08em}.hero-photo figcaption{bottom:16px;left:10px;right:10px}.photo-label{font-size:8px}.hero-photo strong{font-size:24px}.airport-code{font-size:12px;padding:3px 6px;margin-left:4px}.caption-line{font-size:10px}.route-band{display:grid;grid-template-columns:1fr 1fr;font-size:14px;gap:10px 16px;padding:19px 17px}.route-band i{display:none}.section{padding:61px 20px}.eyebrow{font-size:11px;letter-spacing:.09em;margin-bottom:15px}h2{font-size:36px;line-height:1.13}.section-intro{font-size:16px;margin-top:20px;line-height:1.7}.section-intro br{display:none}.quote-form{padding:23px 18px 19px;margin:29px auto 32px;border-radius:13px}.journey-fields{grid-template-columns:1fr;gap:15px}.journey-connector{display:none}.field label,.field-label{font-size:10px;margin-bottom:8px}.field select{font-size:18px}.destination{border-top:1px dashed #bfceda;padding-top:17px}.destination strong{font-size:21px;padding:0}.quote-submit{width:100%;margin-top:21px;font-size:14px;gap:8px;padding-inline:10px}.form-note{font-size:11px;max-width:290px;line-height:1.6}.popular-heading{display:block;font-size:10px;margin-bottom:15px}.popular-heading span+span{display:none}.route-grid{grid-template-columns:1fr 1fr;gap:12px}.route-card{padding:21px 9px 18px}.route-card h3{font-size:27px}.region{font-size:8px;margin-bottom:13px}.route-destination{font-size:11px}.route-action{font-size:11px;margin-top:15px;padding-top:13px;width:86%}.town-links{gap:8px;margin-top:21px}.town-links button{padding:7px 12px;font-size:12px}.coverage-note{font-size:13px;max-width:360px}.benefits{grid-template-columns:1fr;gap:31px;margin-top:35px}.benefits article+article{padding-top:27px;border-top:1px solid #4a6ad4}.benefit-icon{height:45px;width:45px;margin-bottom:15px;font-size:17px}.benefits h3{font-size:24px;margin-bottom:12px}.benefits p{font-size:16px;max-width:370px}.fleet-layout{grid-template-columns:1fr;gap:28px;margin-top:31px}.fleet-copy h3{font-size:32px;margin-bottom:18px}.fleet-copy p{font-size:16px}.fleet-photo{aspect-ratio:1.15;max-width:450px;width:100%;margin:auto}.fleet-copy .pill{font-size:10px;margin-bottom:16px}.steps{grid-template-columns:1fr;gap:29px;margin-top:32px}.step-number{font-size:44px;margin-bottom:12px}.steps h3{font-size:24px;margin-bottom:12px}.steps p{max-width:370px;margin-bottom:0;font-size:16px}.booking-tip{padding:22px 19px;margin-top:30px}.booking-tip strong{font-size:17px}.booking-tip p{font-size:14px}.faq-list{margin-top:29px}.faq-list summary{font-size:17px;padding:22px 28px 22px 7px}.faq-list summary:after{right:0;font-size:25px;top:20px}.faq-list p{font-size:15px;padding:0 10px 23px}.closing{padding:61px 20px}.closing h2{font-size:47px}.closing p:not(.eyebrow){font-size:17px}.closing .actions{max-width:350px}.closing .button{width:100%}.closing-note{font-size:11px;display:block;max-width:280px;margin:auto}footer{padding:39px 20px 95px}.footer-brand{font-size:27px}.footer-links{gap:13px 20px;font-size:13px}.legal{font-size:11px;padding-top:20px;margin-top:24px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;padding:9px 10px calc(9px + env(safe-area-inset-bottom));gap:8px;background:#fff;border-top:1px solid #d1dce5;box-shadow:0 -3px 15px #0c244912}.mobile-contact a{text-decoration:none;border-radius:7px;background:var(--blue);color:#fff;font-size:13px;padding:11px 6px;line-height:1.4}.mobile-contact a+a{background:var(--lime);color:var(--ink)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Distinct contact methods: green WhatsApp, blue text, coral email. */
.contact-methods{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 24px}.contact-methods .button{min-width:118px;min-height:46px;padding:11px 19px;font-size:15px}.contact-whatsapp{background:#91e8b2;color:#123c28;border-color:#91e8b2}.contact-text{background:#c3e3ff;color:#123956;border-color:#c3e3ff}.contact-email{background:#ff9a83;color:#47221c;border-color:#ff9a83}.contact-whatsapp:hover{background:#a5edc1}.contact-text:hover{background:#d6ecff}.contact-email:hover{background:#ffad9b}.footer-contact{margin-top:23px;margin-bottom:25px}.closing .actions{max-width:780px}.mobile-contact .contact-call{background:var(--lime);color:var(--ink)}.mobile-contact .contact-whatsapp{background:#91e8b2;color:#123c28}.mobile-contact .contact-text{background:#c3e3ff;color:#123956}.mobile-contact .contact-email{background:#ff9a83;color:#47221c}
@media(max-width:700px){.hero .contact-methods{gap:8px;max-width:360px;margin-bottom:20px}.hero .contact-methods .button{flex:1;min-width:0;padding:11px 9px;min-height:44px;font-size:14px}.closing .actions .contact-whatsapp,.closing .actions .contact-text,.closing .actions .contact-email{width:auto;flex:1;min-width:90px;padding-inline:12px}.footer-contact{gap:8px}.footer-contact .button{min-width:88px;padding:11px 13px;font-size:14px}.mobile-contact{grid-template-columns:repeat(4,1fr);gap:7px}.mobile-contact a,.mobile-contact .button{min-width:0;min-height:44px;padding:13px 3px;margin:0;border:0;font-size:12px;line-height:1.45}.mobile-contact .button:hover{transform:none;box-shadow:none}}

/* Persistent contact controls. WhatsApp stays on the right at every size. */
html{scroll-padding-bottom:112px}footer{padding-bottom:122px}
.contact-dock{position:fixed;left:24px;bottom:20px;z-index:50;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:7px;background:#fff;border:1px solid #c4d7e6;border-radius:14px;box-shadow:0 5px 24px #102a3c20}
.contact-dock a{display:flex;align-items:center;justify-content:center;min-width:84px;min-height:44px;padding:11px 18px;border-radius:8px;text-decoration:none;font-size:14px;line-height:1.4;border:0;transition:background .18s}
.contact-dock .contact-call{background:var(--lime);color:var(--ink)}.contact-dock .contact-text{background:#c3e3ff;color:#123956}.contact-dock .contact-email{background:#ff9a83;color:#47221c}
.contact-dock .contact-call:hover{background:#ecf7a6}.contact-dock .contact-text:hover{background:#d6ecff}.contact-dock .contact-email:hover{background:#ffad9b}
.whatsapp-float{position:fixed;right:24px;bottom:20px;z-index:51;min-height:60px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 22px;border:1px solid #74ca96;border-radius:30px;text-decoration:none;font-size:15px;line-height:1.4;box-shadow:0 5px 24px #102a3c25;transition:background .18s}
.whatsapp-float svg{width:26px;height:26px;stroke-width:1.7}
@media(max-width:700px){html{scroll-padding-bottom:110px}footer{padding-bottom:calc(118px + env(safe-area-inset-bottom))}.contact-dock{left:12px;right:88px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;min-height:60px;gap:6px;padding:7px;border-radius:13px;flex-direction:row}.contact-dock a{flex:1;min-width:0;min-height:44px;font-size:13px;padding:11px 3px;border-top:0}.whatsapp-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));height:60px;width:60px;min-height:60px;padding:0;border-radius:50%;gap:0}.whatsapp-float svg{height:28px;width:28px}.whatsapp-float span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(prefers-reduced-motion:reduce){.contact-dock a,.whatsapp-float{transition:none}}

.announcement .announcement-separator{display:inline-block;width:4px;height:4px;background:var(--lime);border-radius:50%;padding:0;margin:0 22px;vertical-align:3px}
@media(max-width:700px){.announcement .announcement-separator{margin:0 7px;vertical-align:2px}}

/* Static airport arrival route pages and the homepage's real route directory. */
.breadcrumbs{display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;color:#4d6479;margin:0 0 25px;flex-wrap:wrap}.breadcrumbs a{font-size:12px;text-underline-offset:3px}.route-hero h1{font-size:clamp(40px,5.05vw,72px)}.route-hero .hero-copy{max-width:830px}.route-story{max-width:830px;margin:29px auto 0;color:var(--muted);font-size:18px;line-height:1.8}.route-story p:last-child{margin-bottom:0}.arrival-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:37px}.arrival-notes article{border:1px solid #d3e2eb;background:#f6fbff;border-radius:13px;padding:26px 23px}.arrival-notes .eyebrow{display:block;font-size:10px;margin-bottom:13px}.arrival-notes h3{font-size:23px;margin-bottom:16px}.arrival-notes p{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:0}.route-booking-note{max-width:840px;margin:40px auto 0;border:1px solid #6c85dc;background:#2549c9;border-radius:12px;padding:22px 27px}.route-booking-note strong{color:var(--lime);font-size:20px}.route-booking-note p{max-width:730px;font-size:16px;color:#e2eaff;margin:10px auto 0}.airport-directory{background:#eff7ff;border-top:1px solid #dceaf7}.arrival-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:34px}.arrival-route-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:167px;padding:25px 15px;border:1px solid #c6d9e8;background:#fff;border-radius:13px;text-decoration:none;transition:transform .18s,border-color .18s}.arrival-route-link:hover{transform:translateY(-3px);border-color:var(--blue)}.arrival-route-link:nth-child(4n+2){background:#e0ef82;border-color:#d5e57b}.arrival-route-link:nth-child(4n+3){background:#cceaff;border-color:#b9dffb}.arrival-route-link:nth-child(4n){background:#ffa18b;border-color:#f2947f}.arrival-route-link span{font-size:10px;letter-spacing:.09em;color:#405a6d}.arrival-route-link strong{font-size:27px;line-height:1.2;letter-spacing:-.02em}.arrival-route-link small{font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#29495f}.route-source-note{font-size:12px;color:#617381;line-height:1.7;max-width:860px;margin:28px auto 0}.route-source-note a{text-underline-offset:3px}.related-routes{padding-top:70px;padding-bottom:70px}
@media(max-width:1000px){.arrival-notes{gap:13px}.arrival-notes article{padding:23px 18px}.nav-shell{gap:22px}#main-nav{gap:20px}}
@media(max-width:700px){.breadcrumbs{display:flex;flex-direction:row;width:auto;gap:8px;font-size:11px;margin-bottom:22px;padding:0}.breadcrumbs a{border:0;padding:0;font-size:11px}.route-hero h1{font-size:clamp(35px,8.5vw,57px)}.route-story{font-size:16px;line-height:1.8;margin-top:23px}.arrival-notes{grid-template-columns:1fr;gap:14px;margin-top:27px}.arrival-notes article{padding:23px}.arrival-notes h3{font-size:24px;margin-bottom:12px}.arrival-notes .eyebrow{margin-bottom:11px}.arrival-route-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:27px}.arrival-route-link{padding:20px 9px;min-height:151px;gap:10px}.arrival-route-link span{font-size:8px;letter-spacing:.05em}.arrival-route-link strong{font-size:23px}.arrival-route-link small{font-size:11px}.route-booking-note{padding:23px 19px;margin-top:30px}.route-booking-note strong{font-size:18px}.route-booking-note p{font-size:15px}.route-source-note{font-size:11px;margin-top:23px}.related-routes{padding-top:55px;padding-bottom:55px}#main-nav{gap:0}}
.route-source-only{padding:0 24px 45px}.route-source-only .route-source-note{margin-top:0}

/* A single, labeled native disclosure menu on desktop and mobile. */
.menu-disclosure{position:static;display:block;margin:0}
.header .menu-toggle{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;width:auto;height:auto;min-height:46px;padding:11px 17px;border:1px solid #b9cedf;border-radius:9px;background:#eff6ff;color:var(--ink);font-size:16px;line-height:1.35;list-style:none;cursor:pointer;user-select:none}
.header .menu-toggle::-webkit-details-marker{display:none}.header .menu-toggle::marker{content:''}.header .menu-toggle svg{height:19px;width:19px;stroke-width:1.8}.header .menu-toggle:hover,.menu-disclosure[open] .menu-toggle{background:var(--blue);border-color:var(--blue);color:#fff}
#main-nav.site-menu{position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1fr;gap:21px;width:min(920px,calc(100vw - 40px));max-height:calc(100svh - 250px);overflow-y:auto;overscroll-behavior:contain;padding:23px;background:#fff;border:1px solid #c5d7e6;border-radius:16px;box-shadow:0 16px 45px #16365326;z-index:25;text-align:center}
.menu-disclosure:not([open]) #main-nav.site-menu{display:none}
.site-menu .menu-primary{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:19px;border-bottom:1px solid #dde7ef}
.site-menu .menu-primary a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;background:#f0f6fb;border:1px solid #d7e4ee;border-radius:8px;color:var(--ink);font-size:14px;line-height:1.35;text-decoration:none}
.site-menu .menu-primary a:hover,.site-menu .menu-route-links a:hover{background:#e1edff;border-color:#91b3e7;color:var(--blue)}
.site-menu h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em;color:var(--blue)}.site-menu p{margin:7px auto 16px;font-size:13px;line-height:1.5;color:#5a7082}
.site-menu .menu-route-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.site-menu .menu-route-links a{display:flex;align-items:center;justify-content:center;min-height:49px;padding:11px 8px;border:1px solid #ccdce9;border-radius:8px;text-decoration:none;line-height:1.35;font-size:15px;color:var(--ink);background:#fff}
.site-menu a[aria-current="page"]{background:var(--blue);color:white;border-color:var(--blue)}
@media(max-width:1000px){.site-menu .menu-route-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.nav-shell{flex-wrap:nowrap}.header .menu-toggle{min-height:45px;padding:10px 14px;font-size:15px}.header .menu-toggle svg{height:18px;width:18px}#main-nav.site-menu{top:calc(100% + 7px);width:calc(100vw - 24px);max-height:calc(100svh - 215px - env(safe-area-inset-bottom));padding:17px 15px;gap:17px;border-radius:13px}.site-menu .menu-primary{gap:7px;padding-bottom:15px}.site-menu .menu-primary a{flex:1 1 28%;min-width:0;font-size:13px;padding:10px 7px;min-height:44px}.site-menu h2{font-size:21px}.site-menu p{font-size:12px;margin-bottom:14px}.site-menu .menu-route-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.site-menu .menu-route-links a{font-size:14px;min-height:47px;padding:11px 5px;border-top:1px solid #ccdce9}.site-menu .menu-route-links a[aria-current="page"]{border-color:var(--blue)}}

/* Keep the brand on one left-to-right line beside the compact Menu. */
.header .brand{white-space:nowrap}.header .brand>span:last-child{display:inline;white-space:nowrap}.header .brand-mark{flex-shrink:0}
@media(max-width:700px){.nav-shell{padding:13px 16px;gap:14px}.header .brand{font-size:clamp(14px,3.85vw,17px);gap:8px}.header .brand-mark{width:36px;height:36px;border-radius:10px;font-size:18px;padding-bottom:5px}.header .brand-mark span{font-size:8px;bottom:3px}.header .menu-toggle{padding:10px 12px;font-size:14px;gap:7px}}

/* Homepage-only partner directory. */
.taxi-partners{background:#f3f8fd;border-top:1px solid #d8e5ef;padding-top:72px;padding-bottom:76px}.taxi-partners .section-intro{max-width:650px;margin-bottom:0}.partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:34px 0 0;padding:0;list-style:none}.partner-grid li{display:flex;min-width:0}.partner-grid a{width:100%;min-height:106px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:19px 13px;background:#fff;border:1px solid #cfdfeb;border-radius:10px;color:var(--ink);text-decoration:none;text-align:center;transition:background .18s,border-color .18s}.partner-grid a:hover{background:#e8f1ff;border-color:var(--blue)}.partner-name{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.partner-domain{font-size:12px;line-height:1.5;color:#536c80;overflow-wrap:anywhere;max-width:100%}
@media(max-width:1000px){.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.taxi-partners{padding:55px 18px 58px}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:27px}.partner-grid a{min-height:112px;padding:16px 9px;gap:8px;border-radius:9px}.partner-name{font-size:14px;line-height:1.45}.partner-domain{font-size:11px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.partner-grid a{transition:none}}

/* Compact alphabetical directory remains easy to browse as town coverage grows. */
.airport-directory .arrival-route-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.airport-directory .arrival-route-link{min-height:130px;padding:19px 12px;gap:9px}.airport-directory .arrival-route-link strong{font-size:24px}.airport-directory .arrival-route-link span{font-size:9px}.airport-directory .arrival-route-link small{font-size:11px}
@media(max-width:1000px){.airport-directory .arrival-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.airport-directory .arrival-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.airport-directory .arrival-route-link{min-height:123px;padding:17px 8px}.airport-directory .arrival-route-link strong{font-size:22px}.airport-directory .arrival-route-link span{font-size:8px}}

/* Center short related rows and the final row of the large destination directory. */
.related-routes .arrival-route-grid{display:flex;justify-content:center;flex-wrap:wrap}.related-routes .arrival-route-link{flex:0 1 calc((100% - 30px)/3);min-width:220px;max-width:360px}
.airport-directory .arrival-route-grid{display:flex;justify-content:center;flex-wrap:wrap}.airport-directory .arrival-route-link{flex:0 0 calc((100% - 39px)/4)}
@media(max-width:1000px){.airport-directory .arrival-route-link{flex-basis:calc((100% - 26px)/3)}}
@media(max-width:700px){.airport-directory .arrival-route-link{flex-basis:calc((100% - 10px)/2)}.related-routes .arrival-route-link{flex-basis:calc((100% - 12px)/2);min-width:0;max-width:none}}

/* Both transfer directions stay compact until the visitor opens a group. */
.menu-direction-groups{display:grid;gap:12px}.menu-direction{border:1px solid #c8daea;border-radius:11px;background:#f5f9ff;overflow:hidden;margin:0}.menu-direction>summary{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;list-style:none;cursor:pointer;padding:17px 36px;font-size:20px;line-height:1.3;min-height:66px;color:var(--ink)}.menu-direction>summary::-webkit-details-marker,.directory-group>summary::-webkit-details-marker{display:none}.menu-direction>summary::marker,.directory-group>summary::marker{content:''}.menu-direction>summary span{font-size:11px;color:#4e6376;letter-spacing:.04em}.menu-direction>summary::after,.directory-group>summary::after{content:'';position:absolute;right:19px;top:26px;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.menu-direction[open]>summary::after,.directory-group[open]>summary::after{transform:rotate(225deg);top:31px}.menu-direction[open]>summary{background:#dfeaff;color:#173ec4}.site-menu .menu-direction .menu-route-links{padding:14px}.menu-direction>summary:focus-visible,.directory-group>summary:focus-visible{outline:3px solid #173ec4;outline-offset:-4px}
.directory-groups{display:grid;gap:18px;margin-top:34px}.directory-group{border:1px solid #bdcfe2;border-radius:15px;background:#fff;overflow:hidden;scroll-margin-top:110px}.directory-group>summary{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:24px 38px;font-size:28px;line-height:1.3;min-height:105px}.directory-group>summary small{font-size:13px;color:#456178}.directory-group>summary::after{top:40px}.directory-group[open]>summary::after{top:45px}.directory-group[open]>summary{background:#ddecff}.airport-directory .directory-group .arrival-route-grid{padding:20px;margin-top:0}.reverse-route{margin:0 auto;padding:35px 24px;text-align:center;background:#e3ef9b;border-block:1px solid #cfdf7b}.reverse-route .eyebrow{margin-bottom:12px}.reverse-route>a{display:inline-block;max-width:850px;font-size:clamp(22px,3vw,30px);line-height:1.4;text-underline-offset:6px}.reverse-route>p:last-child{font-size:14px;margin:14px 0 0;color:#3e573e}
@media(max-width:700px){.menu-direction>summary{font-size:18px;padding:16px 28px;min-height:70px}.menu-direction>summary span{font-size:10px}.site-menu .menu-direction .menu-route-links{padding:10px}.menu-direction>summary::after{right:13px;width:7px;height:7px}.directory-group>summary{font-size:23px;padding:23px 30px;min-height:108px}.directory-group>summary small{font-size:11px}.directory-group>summary::after{right:13px;width:8px;height:8px}.airport-directory .directory-group .arrival-route-grid{padding:12px}.airport-directory .directory-group .arrival-route-link{flex-basis:calc((100% - 10px)/2)}.reverse-route{padding:29px 19px}.reverse-route>p:last-child{font-size:12px}}
