:root{--blue:#003cfc;--navy:#061b57;--ink:#071847;--muted:#50618a;--line:#d5deed;--soft:#f3f6fc;--white:#fff;--error:#a72424;--max:1304px;--gutter:clamp(24px,4.7vw,72px);--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto}a{color:var(--blue);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}input,select{color:var(--navy)}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:750;letter-spacing:-.035em;line-height:1.13;color:var(--ink)}h1{font-size:clamp(34px,3.2vw,50px);font-weight:800}h2{font-size:clamp(27px,2.65vw,39px)}h3{font-size:21px;letter-spacing:-.02em}p{color:var(--muted)}p+p{margin-top:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.closing :focus-visible{outline-color:#fff}.container{max-width:var(--max);width:calc(100% - var(--gutter)*2);margin-inline:auto}.section{padding-block:44px;border-top:1px solid var(--line)}.section h2{margin-bottom:18px}.eyebrow{font-size:14px;font-weight:750;letter-spacing:.045em;color:var(--blue);margin-bottom:12px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:48px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}.section-heading h2{margin:0}.section-heading>p{max-width:390px;font-size:13px}.section-heading>a{flex-shrink:0;font-size:14px}.fine-print{font-size:12px;line-height:1.5}.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-200%);background:var(--navy);color:#fff;padding:12px 18px;z-index:100}.skip-link:focus{transform:none}
.header{border-bottom:1px solid #e6ebf3;background:#fff;position:relative;z-index:20}.header-inner{max-width:1440px;margin:auto;min-height:108px;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:34px}.brand{display:block;flex-shrink:0;width:218px}.brand-crop{position:relative;display:block;overflow:hidden;width:100%;aspect-ratio:3.23}.brand-crop img{position:absolute;max-width:none;width:113.4%;left:-6.8%;top:-65.3%}.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.main-nav>a:not(.button),.nav-disclosure>summary{min-height:44px;display:flex;align-items:center;color:var(--navy)}.nav-disclosure{position:relative}.nav-disclosure>summary{list-style:none;cursor:pointer;gap:8px}.nav-disclosure>summary::-webkit-details-marker{display:none}.nav-disclosure>summary::after{content:'⌄';font-size:15px;color:var(--blue)}.nav-popover{position:absolute;top:calc(100% + 10px);left:0;width:290px;padding:14px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px #061b5714;border-radius:6px;z-index:30}.nav-popover a{display:block;line-height:1.4;padding:12px;color:var(--navy)}.nav-popover p{padding:6px;font-size:13px;font-weight:400}.header-preferences{display:flex;gap:14px;align-items:center}.language{display:flex;align-items:center;gap:8px;font-weight:400}.language a{min-width:25px;min-height:44px;display:flex;align-items:center;color:var(--muted)}.language a[aria-current]{color:var(--navy);font-weight:700}.language>span{color:#bcc7dd}.currency .nav-popover{left:auto;right:0;width:230px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 24px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:4px;font-size:16px;font-weight:650;text-align:center;line-height:1.4;transition:background .15s,border-color .15s}.button:hover{background:#0032ce;border-color:#0032ce;text-decoration:none}.button-outline{background:#fff;color:var(--blue)}.button-outline:hover{background:#eef2ff;color:var(--blue)}.reservation-link{font-size:14px;min-height:44px;padding:10px 16px;margin-left:14px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:47% 53%;max-width:1440px;margin:auto}.hero-form-side{padding:46px 34px 26px max(var(--gutter),calc((100vw - 1440px)/2));padding-left:var(--gutter)}.hero-description{font-size:19px;line-height:1.42;max-width:490px;margin-top:14px}.hero form{margin-top:22px}.trip-options{display:flex;gap:16px;border:0;padding:0;margin:0 0 10px;min-width:0}.trip-options label{position:relative;cursor:pointer;margin:0}.trip-options input{position:absolute;opacity:0;width:1px;height:1px}.trip-options span{display:block;padding:11px 12px;border-bottom:3px solid #e9edf5;min-height:46px;color:var(--muted);font-weight:650}.trip-options input:checked+span{color:var(--blue);border-color:var(--blue)}.trip-options input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}.route-fields{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 50px;gap:8px 10px}label{display:block;font-size:14px;font-weight:650;margin-bottom:5px;line-height:1.35}input:not([type=radio]):not([type=hidden]),select{width:100%;height:52px;border:1px solid #aebcda;background:#fff;border-radius:4px;padding:10px 14px;min-width:0;font-size:16px}input::placeholder{color:#5e6f95;opacity:1}.airport-control{height:52px;border:1px solid #aebcda;border-radius:4px;padding:10px 14px;display:flex;align-items:center;gap:14px;font-size:15px}.airport-control>span:first-child{font-size:26px;color:var(--blue);line-height:1}.swap-button{grid-column:2;align-self:end;height:52px;border:1px solid #aebcda;color:var(--blue);background:#fff;border-radius:4px;font-size:28px;line-height:1}.swap-button:hover{background:var(--soft)}.hotel-field{grid-column:1/-1;position:relative;min-width:0}.hotel-input{position:relative}.hotel-input>span{position:absolute;top:8px;left:14px;color:var(--blue);font-size:25px;pointer-events:none}.hotel-input input{padding-left:44px!important}.direction-fallback{grid-column:1/-1}.js .direction-fallback{display:none}.is-departure .hotel-field{grid-row:1;grid-column:1}.is-departure .airport-field{grid-row:2;grid-column:1/-1}.is-departure .swap-button{grid-row:1}.hotel-help{font-size:13px;margin-top:10px}.travel-fields{display:grid;grid-template-columns:1fr .85fr;gap:16px;margin-top:14px}.return-field{margin-top:14px}.js .return-field[data-visible=false]{display:none}.quote-button{width:100%;margin-top:20px;min-height:56px}.quote-help{font-size:13px;margin-top:10px}.demo-note{font-size:11px;line-height:1.45;margin-top:12px;padding-top:9px;border-top:1px dashed var(--line);color:#5a6580}.field-error{display:block;color:var(--error);font-size:12px;line-height:1.4}.field-error:not(:empty){margin-top:5px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--error)}.form-response{padding:18px;background:var(--soft);border:1px solid #b7c7eb;margin-top:20px;scroll-margin-top:20px}.form-response h2{font-size:21px;margin-bottom:10px}.form-response p,.form-response li{font-size:14px}.form-response ul{padding-left:20px;margin-bottom:0}.has-errors{border-color:#dbaaac;background:#fff7f7}.has-errors h2,.has-errors a{color:var(--error)}.route-context{padding:10px 12px;background:var(--soft);margin:0 0 14px!important;font-size:13px;color:var(--navy)}.suggestion-panel{position:absolute;top:100%;left:0;right:0;z-index:15;border:1px solid #aebcda;border-radius:4px;background:#fff;box-shadow:0 10px 24px #061b571c;max-height:320px;overflow:auto}.suggestion-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:10px 14px;background:var(--soft)}#hotel-options{list-style:none;padding:0;margin:0}#hotel-options li{padding:12px 14px;cursor:pointer;border-top:1px solid #e6ebf3;color:var(--navy);font-size:14px}#hotel-options li strong,#hotel-options li span{display:block}#hotel-options li span{font-size:12px;color:var(--muted);margin-top:3px}#hotel-options li[aria-selected=true],#hotel-options li:hover{background:#eaf0ff}#empty-results{font-size:13px;padding:14px}
.hero-visual{background:var(--navy);display:flex;flex-direction:column;overflow:hidden}.hero-brand-panel{color:#fff;padding:48px 38px 58px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:260px;position:relative;z-index:1;clip-path:polygon(0 0,100% 0,100% 78%,46% 100%,0 82%);margin-bottom:-50px;background:var(--navy)}.hero-statement{font-size:clamp(35px,3.65vw,54px);font-weight:750;letter-spacing:-.04em;line-height:1.04;color:#fff}.hero-brand-panel p+p{font-size:18px;color:#fff;margin-top:15px}.route-mark{object-fit:contain;width:150px;flex:0 0 150px;mix-blend-mode:screen}.hero-photo{position:relative;flex:1;min-height:440px}.hero-photo>img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:50% 50%}.hero-photo figcaption{position:absolute;bottom:10px;right:12px;color:#fff;font-size:10px;background:#061b57c9;padding:3px 7px;border-radius:2px}.benefits{display:flex;gap:26px;align-items:center;padding-block:23px}.benefits>span{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--muted);padding-right:32px;border-right:1px solid var(--line)}.benefits>span:last-child{border-right:0}.benefits>span>span{font-size:29px;line-height:1;color:var(--blue)}.intro{padding-top:36px}.intro h2{max-width:1200px}.prose p{font-size:17px;line-height:1.55}.prose p+p{margin-top:0}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}.fare-table{border:1px solid var(--line);border-radius:5px;overflow:hidden}.fare-table caption{text-align:left;color:var(--muted);font-size:14px;padding-bottom:12px}.fare-table thead{background:var(--navy);color:#fff}.fare-table th,.fare-table td{padding:15px 24px;text-align:center;font-weight:500;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.fare-table th:first-child{text-align:left;width:29%}.fare-table th:last-child,.fare-table td:last-child{border-right:0}.fare-table tr:last-child>*{border-bottom:0}.fare-table tbody tr:last-child>*{border-bottom:0}.fare-table tbody th{font-weight:650}.fares>.fine-print{margin-top:10px}.source-link{color:var(--muted)}.mobile-label{display:none}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:24px}.vehicle-card{padding-right:30px;border-right:1px solid var(--line)}.vehicle-card:last-child{border-right:0;padding-right:0}.vehicle-card>img{aspect-ratio:1.95;object-fit:cover}.vehicle-card h3{margin-top:16px}.vehicle-card>p{font-size:14px;margin-top:8px;min-height:42px}.vehicle-card dl{margin:20px 0;display:grid;gap:9px;font-size:13px;color:var(--muted)}.vehicle-card dl div{display:flex;justify-content:space-between;gap:8px}.vehicle-card dd{margin:0;color:var(--navy)}.vehicle-card>.fine-print{min-height:0;font-size:12px}.vehicle-card>.text-link{font-size:14px;margin-top:10px}.vehicle-disclaimer{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;text-align:center}.destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:26px}.destination-image img{aspect-ratio:1.53;object-fit:cover}.destination-grid h3{margin:15px 0 10px;font-size:21px;line-height:1.22;min-height:51px}.destination-grid p{font-size:14px;line-height:1.55}.destination-grid .text-link{font-size:14px;margin-top:10px}.destinations>.fine-print{margin-top:16px}.hotel-directory{align-items:center}.hotel-directory h2{max-width:500px}.hotel-directory p{font-size:15px;line-height:1.6}.directory-links>a{display:flex;justify-content:space-between;gap:18px;padding:19px 0;border-bottom:1px solid var(--line);font-weight:600}.directory-links>a:first-child{border-top:1px solid var(--line)}.directory-links>p{margin-top:16px;font-size:13px}.comparison-table{margin-top:24px;border:1px solid var(--line);border-radius:5px;overflow:hidden}.comparison-table th,.comparison-table td{text-align:left;padding:19px 22px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);width:25%;font-size:14px}.comparison-table thead th{background:var(--soft);font-weight:650}.comparison-table tbody th{font-weight:650}.comparison-table td{color:var(--muted)}.comparison-table tr>*:last-child{border-right:0}.comparison-table tbody tr:last-child>*{border-bottom:0}.comparison-note{font-size:14px;line-height:1.6;margin-top:18px;max-width:1180px}.comparison-mobile{display:none}.arrival{display:grid;grid-template-columns:.94fr 1fr;gap:46px;align-items:start}.arrival-image>img{aspect-ratio:.94;object-fit:cover;object-position:42%}.arrival-image>.fine-print{margin-top:8px}.arrival-steps{list-style:none;counter-reset:steps;padding:0;margin:26px 0 24px;display:grid;gap:24px}.arrival-steps li{counter-increment:steps;position:relative;padding-left:48px}.arrival-steps li::before{content:counter(steps);position:absolute;left:0;top:-1px;width:32px;height:32px;border:1px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:17px;font-weight:650}.arrival-steps h3{font-size:19px;margin-bottom:7px}.arrival p{font-size:14px;line-height:1.55}.return-note{background:var(--soft);padding:22px;margin-top:22px}.return-note h3{font-size:19px;margin-bottom:8px}.return-note a{display:inline-block;margin-top:12px;font-size:14px}.trust{align-items:center}.trust h2{font-size:32px}.trust-list{list-style:none;margin:20px 0;padding:0;display:grid;gap:14px;color:var(--muted);font-size:15px}.trust-list li{padding-left:28px;position:relative}.trust-list li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700}.reviews-placeholder{border:1px dashed #b3bfd7;padding:32px;border-radius:4px}.reviews-placeholder .eyebrow{font-size:13px}.reviews-placeholder h3{font-size:24px;margin-bottom:14px}.reviews-placeholder>p:last-child{font-size:14px}.faqs{margin-top:24px}.faqs details{border-bottom:1px solid var(--line)}.faqs details:first-child{border-top:1px solid var(--line)}.faqs summary{position:relative;list-style:none;cursor:pointer;padding:23px 50px 23px 0;font-size:17px;font-weight:650;line-height:1.4}.faqs summary::-webkit-details-marker{display:none}.faqs summary::after{content:'+';position:absolute;right:12px;top:20px;font-size:25px;color:var(--blue);font-weight:400}.faqs details[open] summary::after{content:'−'}.faqs details p{padding:0 60px 24px 0;max-width:1050px;font-size:15px;line-height:1.7}.b2b{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:38px}.b2b h2{font-size:26px;margin-bottom:10px}.b2b p{font-size:15px}.b2b .button{flex-shrink:0;font-size:14px}.closing{background:var(--navy);padding:56px 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing h2{font-size:43px;color:#fff}.closing p{color:#d8e2ff;margin-top:16px;font-size:17px}.closing-buttons{display:flex;gap:16px;margin-top:28px}.button-light-outline{background:transparent;border-color:#a1b4e7;color:#fff}.button-light-outline:hover{background:#ffffff12;border-color:#fff}.closing .route-mark{width:195px;flex-basis:195px;margin-right:50px}
.footer{padding-top:45px;padding-bottom:24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:46px}.footer h2{font-size:16px;margin:8px 0 15px;letter-spacing:0}.footer-grid>div>a:not(.brand){display:block;color:var(--muted);font-size:13px;padding-block:6px}.footer-brand .brand{width:225px}.footer-brand p{font-size:13px;margin-top:16px;max-width:250px}.footer-business-address{max-width:270px;margin-top:9px;color:var(--muted);font-size:12px;font-style:normal;line-height:1.55}.footer-help h2:not(:first-child){margin-top:22px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:32px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.footer-bottom>div{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom a{color:var(--muted)}.preview-note{font-size:11px;margin-top:20px;color:#626d85}
@media(min-width:1441px){.hero-form-side{padding-left:68px}.header-inner{padding-inline:68px}}
@media(max-width:1180px){.header-inner{gap:20px;min-height:92px}.brand{width:190px}.main-nav{gap:17px;font-size:13px}.reservation-link{margin:0;padding-inline:10px;font-size:12px}.header-preferences{gap:8px}.hero-form-side{padding-right:28px;padding-top:34px}.hero-brand-panel{padding:38px 28px 58px;min-height:235px}.hero-brand-panel .route-mark{width:112px;flex-basis:112px}.hero-brand-panel p+p{font-size:16px}.hero-photo{min-height:460px}.vehicle-grid{gap:24px}.vehicle-card{padding-right:22px}.section-heading{align-items:start;flex-wrap:wrap}.section-heading>p{max-width:none}.destination-grid{gap:22px}.footer-grid{gap:28px}}
@media(max-width:980px){.header-inner{min-height:86px}.menu-toggle{display:flex;align-items:center;gap:12px;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:4px;min-height:44px;padding:8px 14px;font-size:14px}.menu-toggle span{color:var(--blue)}.main-nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;flex-direction:column;padding:18px var(--gutter) 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #061b5712;gap:8px}.main-nav.is-open{display:flex}.main-nav>a:not(.button){min-height:44px;border-bottom:1px solid #e6ebf3}.main-nav .nav-popover{position:static;width:100%;box-shadow:none;margin-bottom:12px}.header-preferences{gap:24px}.currency .nav-popover{position:absolute;right:auto;left:0;width:210px}.reservation-link{align-self:start;font-size:14px;padding-inline:18px}.hero-form-side{padding-right:24px}.hero-brand-panel{padding:36px 25px 60px}.hero-brand-panel .route-mark{display:none}.hero-photo{min-height:430px}.hero-description{font-size:17px}.travel-fields{gap:12px}.hero h1{font-size:35px}.benefits{gap:20px}.benefits>span{padding-right:20px;gap:10px;font-size:12px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.destination-grid h3{min-height:0}.arrival{gap:28px}.vehicle-card dl div{display:block}.vehicle-card dd{margin-top:2px}.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:40px}.footer-brand p{margin:0;max-width:330px}}
@media(max-width:760px){:root{--gutter:24px}.header-inner{min-height:82px;padding-block:16px}.brand{width:185px}.hero{display:flex;flex-direction:column}.hero-form-side{padding:30px var(--gutter) 22px}.hero h1{font-size:38px;line-height:1.07;max-width:520px;letter-spacing:-.045em}.eyebrow{font-size:12px;margin-bottom:12px}.hero-description{font-size:17px;margin-top:14px;max-width:520px}.hero form{margin-top:18px}.trip-options{gap:18px;margin-bottom:12px}.trip-options span{font-size:15px;padding:10px 9px}.hero-visual{margin-top:2px}.hero-brand-panel{padding:28px 24px 52px;min-height:205px;margin-bottom:-38px}.hero-brand-panel .route-mark{display:block;width:105px;flex-basis:105px}.hero-statement{font-size:36px}.hero-brand-panel p+p{font-size:14px;margin-top:12px}.hero-photo{min-height:0;aspect-ratio:1.25}.hero-photo>img{object-position:50% 50%}.hero-brand-panel{clip-path:polygon(0 0,100% 0,100% 82%,46% 100%,0 83%)}.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:21px;gap:12px}.benefits>span{flex-direction:column;align-items:flex-start;gap:8px;font-size:11px;line-height:1.45;padding-right:6px;border:0}.benefits>span>span{font-size:24px}.section{padding-block:32px}h2{font-size:29px;line-height:1.12;letter-spacing:-.035em}.section h2{margin-bottom:17px}.two-column{grid-template-columns:1fr;gap:20px}.prose p{font-size:15px;line-height:1.65}.section-heading{display:block;margin-bottom:14px}.section-heading h2{margin-bottom:12px}.section-heading>p{font-size:13px;line-height:1.5}.section-heading>a{display:inline-block;min-height:35px}.fare-table{display:block;border:0;overflow:visible}.fare-table caption{display:block;font-size:12px;line-height:1.5;padding-bottom:14px}.fare-table thead{display:none}.fare-table tbody{display:grid;gap:14px}.fare-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:4px;overflow:hidden}.fare-table tbody th{grid-column:1/-1;background:var(--soft);width:auto;text-align:left;padding:13px 16px;border:0!important;font-size:16px}.fare-table td{border:0!important;text-align:left;padding:14px 16px;font-size:20px;font-weight:650;display:flex;flex-direction:column;gap:5px}.fare-table td:nth-child(2){border-right:1px solid var(--line)!important}.fare-table td:last-child{grid-column:1/-1;border-top:1px solid var(--line)!important;padding:2px 16px;font-size:14px;font-weight:500}.route-quote{display:flex;justify-content:space-between;align-items:center;min-height:46px}.mobile-label{display:block;font-size:12px;font-weight:400;color:var(--muted)}.fares>.fine-print{margin-top:14px;font-size:11px}.vehicle-grid{grid-template-columns:1fr;gap:26px;margin-top:22px}.vehicle-card{padding:0 0 26px;border-right:0;border-bottom:1px solid var(--line)}.vehicle-card:last-child{padding:0;border:0}.vehicle-card>img{aspect-ratio:1.7}.vehicle-card h3{font-size:23px;margin-top:15px}.vehicle-card>p{min-height:0;font-size:14px}.vehicle-card dl{margin:19px 0 15px}.vehicle-card dl div{display:flex;justify-content:flex-start;gap:12px}.vehicle-card dt{min-width:155px}.vehicle-card dd{margin:0}.vehicle-card .text-link{margin-top:8px;min-height:44px}.vehicle-disclaimer{text-align:left;padding-top:18px;margin-top:20px;font-size:11px}.destination-grid{grid-template-columns:1fr;gap:28px;margin-top:14px}.destination-image img{aspect-ratio:1.85}.destination-grid h3{font-size:23px;margin-top:15px}.destination-grid p{font-size:15px}.destination-grid .text-link{margin-top:7px}.hotel-directory{gap:24px}.directory-links>a{padding:18px 0;font-size:15px}.directory-links>p{font-size:13px}.comparison-table{display:none}.comparison-mobile{display:grid;gap:15px;margin-top:23px}.comparison-mobile article{border:1px solid var(--line);border-radius:4px;overflow:hidden}.comparison-mobile h3{background:var(--soft);padding:16px;font-size:19px}.comparison-mobile dl{margin:0;padding:4px 16px}.comparison-mobile dl div{padding:12px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}.comparison-mobile dl div:last-child{border:0}.comparison-mobile dt{font-weight:600}.comparison-mobile dd{margin:0;color:var(--muted)}.comparison-note{font-size:14px;line-height:1.65}.arrival{display:flex;flex-direction:column;gap:24px}.arrival-image{width:100%}.arrival-image>img{aspect-ratio:1.55}.arrival h2{font-size:29px}.arrival-steps{gap:26px}.arrival-steps li{padding-left:44px}.arrival-steps h3{font-size:19px}.arrival p{font-size:14px;line-height:1.6}.return-note{padding:20px}.trust{gap:26px}.trust h2{font-size:29px}.reviews-placeholder{padding:24px}.reviews-placeholder h3{font-size:24px}.faqs{margin-top:10px}.faqs summary{font-size:16px;padding:19px 35px 19px 0}.faqs summary::after{right:4px;top:15px}.faqs details p{padding-right:8px;font-size:14px;line-height:1.65}.b2b{display:block}.b2b h2{font-size:26px}.b2b .button{margin-top:20px;min-height:48px;width:100%}.closing{padding-block:38px}.closing-inner{display:block}.closing h2{font-size:35px}.closing p{font-size:15px;line-height:1.6}.closing-buttons{flex-direction:column;gap:12px;margin-top:24px}.closing .route-mark{display:none}.footer{padding-top:32px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 24px}.footer-brand{display:block;grid-column:1/-1}.footer-brand .brand{width:220px}.footer-brand p{margin-top:17px;max-width:310px;line-height:1.6}.footer h2{font-size:16px;margin:0 0 12px}.footer-grid>div>a:not(.brand){font-size:13px;padding-block:8px}.footer-help{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-help h2{grid-column:1/-1}.footer-help h2:not(:first-child){margin-top:22px}.footer-bottom{display:block;font-size:11px;margin-top:28px}.footer-bottom>div{margin-top:16px;gap:12px 20px}.footer-bottom a{min-height:30px;display:flex;align-items:center}.footer-bottom span{display:flex;align-items:center}.preview-note{font-size:10px;margin-top:14px}}
@media(max-width:370px){:root{--gutter:18px}.hero h1{font-size:34px}.brand{width:172px}.menu-toggle{padding-inline:10px}.hero-statement{font-size:31px}.hero-brand-panel .route-mark{width:90px;flex-basis:90px}.travel-fields{grid-template-columns:1fr .72fr;gap:10px}.airport-control{font-size:13px;gap:9px;padding-inline:10px}.vehicle-card dl div{font-size:12px}.vehicle-card dt{min-width:145px}}
/* Fidelity pass: v3 uses an editorial left rail for the FAQ and larger headings. */
@media(min-width:981px){h1{font-size:clamp(44px,4.16vw,60px);line-height:1.05}h2{font-size:clamp(32px,3.2vw,46px)}.hero-brand-panel{min-height:288px}.faq-section{display:grid;grid-template-columns:.82fr 1fr;gap:48px}.faq-section .section-heading{display:block}.faq-section .section-heading>p{font-size:15px;margin-top:16px;margin-bottom:14px}.faq-section .faqs{margin:0;border:1px solid var(--line);border-radius:4px}.faqs details:first-child{border-top:0}.faqs details:last-child{border-bottom:0}.faqs summary{padding:16px 42px 16px 20px;font-size:15px}.faqs summary::after{top:12px}.faqs details p{padding:0 22px 18px;font-size:14px}.arrival-image>img{aspect-ratio:1.04}.vehicle-card>p:not(.fine-print){min-height:42px}.vehicle-card .text-link{align-items:flex-end}}
@media(max-width:980px){html:not(.js) .header-inner{flex-wrap:wrap}html:not(.js) .menu-toggle{display:none}html:not(.js) .main-nav{display:flex;position:static;box-shadow:none;padding:10px 0;width:100%}}
html:not(.js) .swap-button{display:none}html:not(.js) .airport-field{grid-column:1/-1}
@media(min-width:981px){h1{font-size:clamp(42px,3.75vw,54px)}.vehicle-card{padding-right:0;border-right:0;position:relative}.vehicle-card:not(:last-child)::after{content:'';position:absolute;right:-17px;top:0;bottom:0;width:1px;background:var(--line)}.vehicle-card .text-link{align-items:center}}
.ui-icon{width:30px;height:30px;object-fit:contain;flex-shrink:0}.hotel-input>.ui-icon{position:absolute;left:10px;top:10px;pointer-events:none}.benefits .ui-icon{width:36px;height:36px}.benefits>span:nth-child(2) .ui-icon{object-fit:cover;transform:scale(1.25)}
.hero{grid-template-areas:'form visual' 'benefits benefits'}.hero-form-side{grid-area:form}.hero-visual{grid-area:visual}.hero .benefits{grid-area:benefits}.mobile-preferences{display:none}
@media(max-width:760px){.fare-table tbody th:first-child{width:100%}.hero-brand-panel{display:block;padding:28px 24px 58px;min-height:218px}.hero-brand-panel .route-mark{position:absolute;right:22px;bottom:40px;width:100px}.hero-brand-panel p+p{max-width:220px}.hero-statement{font-size:36px}.hero .benefits{padding-top:6px;padding-bottom:24px}.header-inner{gap:10px;min-height:80px}.header .brand{width:166px}.mobile-preferences{display:flex;align-items:center;gap:9px;font-size:12px;margin-left:auto}.mobile-preferences .nav-disclosure>summary{gap:3px;min-height:44px}.mobile-preferences .nav-popover{width:175px;left:auto;right:-30px}.mobile-preferences .currency .nav-popover{width:220px;right:0;left:auto}.menu-toggle{width:44px;height:44px;justify-content:center;padding:0;flex-shrink:0;font-size:20px;border-color:transparent}.menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.benefits>span{border-right:1px solid var(--line);align-items:center;text-align:center}.benefits>span:last-child{border-right:0}}
@media(max-width:370px){.header .brand{width:140px}.mobile-preferences{gap:6px}.header-inner{gap:7px}.hero-statement{font-size:32px}.hero-brand-panel p+p{max-width:190px}.hero-brand-panel .route-mark{right:16px;width:86px}}
@media(max-width:760px){.hero h1{max-width:300px}.arrival>div:not(.arrival-image){display:contents}.arrival>div>h2{order:0;margin-bottom:0}.arrival-steps{order:1;margin:0}.arrival>div>p{order:2}.arrival-image{order:3}.arrival .return-note{order:4;margin-top:0}}
@media(min-width:371px) and (max-width:760px){.closing-buttons{flex-direction:row;gap:10px}.closing-buttons .button{flex:1;padding:12px 10px;font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Approved polish only: same composition, section order, typography and imagery. */
:root {
  --radius-control: 10px;
  --radius-panel: 20px;
  --shadow-soft: 0 8px 24px rgb(6 27 87 / 6%);
  --shadow-booking: 0 12px 36px rgb(6 27 87 / 9%), 0 2px 6px rgb(6 27 87 / 3%);
}
.header { box-shadow: 0 3px 14px rgb(6 27 87 / 3%); }
.main-nav { gap: 22px; }
.nav-support { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.nav-support > a:first-child { display: inline-flex; align-items: center; min-height: 44px; color: var(--navy); white-space: nowrap; }
.phone-link { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; font-weight: 650; }
.phone-link img { width: 18px; height: 18px; flex-shrink: 0; }
.nav-support .phone-link { font-size: 12px; min-height: 24px; }
.locale-flag { width: 23px; height: 16px; flex-shrink: 0; object-fit: contain; }
.locale-disclosure .nav-popover { width: 172px; left: 50%; right: auto; transform: translateX(-50%); }
.locale-disclosure .nav-popover a { display: flex; align-items: center; gap: 10px; border-radius: 8px; }
.locale-disclosure .nav-popover a:hover,
.locale-disclosure .nav-popover a[aria-current] { background: var(--soft); }
.currency-fixed { font-size: 12px; font-weight: 650; color: var(--muted); cursor: default; }
.header-preferences { gap: 12px; }
.nav-popover, .suggestion-panel { border-radius: 12px; box-shadow: var(--shadow-booking); }
#hotel-options li { display: flex; gap: 10px; align-items: flex-start; }
#hotel-options li > div { min-width: 0; }
#hotel-options .destination-icon { flex: 0 0 22px; width: 22px; min-width: 22px; max-width: 22px; height: 22px; object-fit: contain; margin-top: 2px; }
.zone-quote-note { border-left: 3px solid var(--blue); padding-left: 10px; }
.passenger-field { margin: 0; padding: 0; border: 0; min-width: 0; }
.passenger-field legend { color: var(--navy); font-size: 14px; font-weight: 650; line-height: 1.35; margin-bottom: 5px; padding: 0; }
.passenger-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.passenger-controls > div { min-width: 0; }
.passenger-controls label { font-size: 12px; margin-bottom: 4px; }
.passenger-controls input[type=number] { min-width: 0; padding-inline: 8px; appearance: textfield; -moz-appearance: textfield; }
.passenger-controls input::-webkit-inner-spin-button, .passenger-controls input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.has-booking-dialog { overflow: hidden; }
.booking-dialog { color: var(--navy); background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 24px 80px #061b5740; width: min(460px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; margin: auto; overscroll-behavior: contain; }
.booking-dialog:not([open]) { display: none; }
.booking-dialog::backdrop { background: #061b5773; }
.dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); padding: 16px 20px; background: #fff; }
.dialog-header h2 { font-size: 22px; line-height: 1.2; margin: 0; letter-spacing: -.02em; }
.dialog-close { flex-shrink: 0; min-height: 44px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); color: var(--navy); font: inherit; font-size: 14px; cursor: pointer; }
.dialog-close span { font-size: 20px; padding-left: 5px; }
.destination-dialog-body { padding: 20px; min-height: 0; display: flex; flex-direction: column; }
.dialog-guidance { font-size: 13px; color: var(--muted); margin: 0 0 12px; }
.destination-dialog .hotel-input { flex-shrink: 0; }
.destination-dialog .hotel-input input { font-size: 16px; }
.destination-dialog .suggestion-panel { position: static; box-shadow: none; max-height: none; min-height: 0; flex: 1; margin-top: 14px; overflow: auto; overscroll-behavior: contain; }
.booking-control { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; min-height: 52px; padding: 10px 12px; border: 1px solid #aebcda; border-radius: var(--radius-control, 10px); background: #fff; color: var(--navy); font: inherit; font-size: 15px; line-height: 1.35; text-align: left; }
.booking-control:hover { border-color: var(--blue); background: #f7f9ff; }
.booking-control[aria-expanded=true] { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.booking-control[aria-invalid=true] { border-color: var(--error); }
.booking-control > img { width: 22px; height: 22px; flex: 0 0 22px; }
.booking-control > span:not(.control-chevron) { min-width: 0; }
.control-chevron { margin-left: auto; color: var(--blue); font-size: 19px; line-height: 1; }
#quote-form .travel-fields { grid-template-columns: minmax(0, 1fr); }
#quote-form.has-passenger-picker .travel-fields { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: start; }
.date-field { min-width: 0; }
.passenger-dialog-body { padding: 24px; }
.passenger-dialog .passenger-controls { display: grid; grid-template-columns: 1fr; gap: 20px; }
.passenger-dialog .passenger-row { display: grid; grid-template-columns: minmax(0, 1fr) 148px; gap: 8px 16px; align-items: center; }
.passenger-dialog .passenger-row > label { font-size: 16px; margin: 0; }
.passenger-dialog .passenger-row > .field-error { grid-column: 1 / -1; }
.passenger-dialog .passenger-stepper { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 4px; }
.passenger-stepper button { height: 44px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); color: var(--blue); font-size: 24px; }
.passenger-stepper button:hover:not(:disabled) { background: #e9efff; border-color: var(--blue); }
.passenger-stepper button:disabled { color: #8993a8; background: #f5f6f8; }
.passenger-dialog .passenger-stepper input { height: 44px; padding: 4px 0; text-align: center; border-color: transparent; font-size: 18px; }
.passenger-dialog .passenger-stepper input[aria-invalid=true] { border-color: var(--error); }
.passenger-apply { width: 100%; margin-top: 24px; }
#passenger-message:not(:empty) { margin-top: 16px; }
@container (max-width: 340px) {
  .booking-control { font-size: 14px; gap: 7px; padding-inline: 10px; }
  .booking-control > img { width: 20px; height: 20px; flex-basis: 20px; }
}
@container (max-width: 245px) {
  #quote-form.has-passenger-picker .travel-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .booking-dialog { width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; margin: 0; }
  .booking-dialog[open] { display: flex; flex-direction: column; }
  .passenger-dialog { top: auto; bottom: 0; height: fit-content; max-height: calc(100dvh - 24px); margin: auto 0 0; border-radius: 20px 20px 0 0; }
  .passenger-dialog-body { overflow: auto; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .dialog-header { flex-shrink: 0; padding: max(16px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 14px max(18px, env(safe-area-inset-left)); }
  .dialog-header h2 { font-size: 23px; }
  .destination-dialog-body { flex: 1; padding: 18px max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); }
}
.mobile-call-button { display: none; }
.menu-icon-close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-icon-lines { display: none; }
.menu-toggle[aria-expanded="true"] .menu-icon-close { display: block; }
.button { border-radius: var(--radius-control); transition: background .2s, border-color .2s, box-shadow .2s; }
.button:not(.button-outline):not(.button-light-outline) { box-shadow: 0 5px 14px rgb(0 60 252 / 15%); }
.button:hover { box-shadow: 0 7px 20px rgb(0 60 252 / 19%); }
#quote-form { padding: 20px; border: 1px solid #e0e7f3; border-radius: var(--radius-panel); box-shadow: var(--shadow-booking); background: #fff; container-type: inline-size; }
.trip-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 18px; }
.trip-options label { min-width: 0; }
.trip-options .trip-choice { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; min-height: 84px; height: 100%; padding: 10px 5px; border: 1px solid #d5deed; border-radius: 12px; font-size: 14px; text-align: center; background: #fff; transition: border-color .18s, background .18s, box-shadow .18s; }
.trip-choice img { width: 32px; height: 32px; flex-shrink: 0; }
.trip-options input:checked + .trip-choice { color: var(--blue); background: #edf2ff; border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue), 0 3px 9px rgb(0 60 252 / 7%); }
.trip-options label:hover .trip-choice { border-color: var(--blue); }
.trip-options input:focus-visible + .trip-choice { outline: 3px solid var(--blue); outline-offset: 3px; }
input:not([type=radio]):not([type=hidden]), select, .airport-control, .swap-button { border-radius: var(--radius-control); }
.airport-control { min-width: 0; }
.airport-control > span { min-width: 0; line-height: 1.25; }
.form-response, .route-context { border-radius: 12px; }
.form-response .quote-options { list-style: none; padding: 0; margin: 18px 0; display: grid; gap: 10px; }
.quote-options li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 13px; }
.quote-options li > div { min-width: 0; }
.quote-options li span { display: block; margin-top: 4px; font-size: 11px; color: var(--muted); }
.quote-amount { flex-shrink: 0; color: var(--blue); }
@media (max-width: 380px) { .quote-options li { align-items: flex-start; flex-direction: column; } }
.booking-support { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; padding-top: 12px; margin-top: 12px; border-top: 1px solid #e7edf7; font-size: 12px; color: var(--muted); }
.booking-support .phone-link { min-height: 32px; }
.hero-visual { border-radius: var(--radius-panel); box-shadow: var(--shadow-soft); }
.fare-table, .comparison-table, .faq-section .faqs { border-radius: 14px; box-shadow: 0 4px 18px rgb(6 27 87 / 4%); }
/* Keep the caption outside the clipping area; round the painted table cells. */
.fare-table { overflow: visible; }
.fare-table thead { background: transparent; }
.fare-table thead th { background: var(--navy); }
.fare-table thead th:first-child { border-top-left-radius: 13px; }
.fare-table thead th:last-child { border-top-right-radius: 13px; }
.fare-table tbody tr:last-child > :first-child { border-bottom-left-radius: 13px; }
.fare-table tbody tr:last-child > :last-child { border-bottom-right-radius: 13px; }
.fare-table tbody tr > * { transition: background .18s; }
@media (min-width: 761px) {
  .fare-table tbody tr:nth-child(odd) > * { background: #fff; }
  .fare-table tbody tr:nth-child(even) > * { background: #f2f5fa; }
  .fare-table tbody tr:not(:last-child) > * { border-bottom-color: #c5d1e4; }
  .fare-table tbody tr:hover > * { background: #e8efff; }
}
.vehicle-card > img, .destination-image, .arrival-image > img { border-radius: 16px; box-shadow: var(--shadow-soft); }
.destination-image { display: block; overflow: hidden; }
.destination-image img { transition: transform .3s ease; }
.return-note { border-radius: 16px; background: linear-gradient(120deg, #edf2ff, #f5f8ff); border: 1px solid #e3eafa; }
.reviews-placeholder { border-radius: 16px; }
.directory-links { border-radius: 14px; }
.faqs details[open] { background: #f8faff; }
.faqs { overflow: clip; }
.faqs summary:focus-visible { outline-offset: -4px; }
.closing { border-radius: 24px 24px 0 0; }
.footer-support { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 40px; margin-top: 28px; padding: 22px 0 0; border-top: 1px solid var(--line); }
.footer-support h2 { margin: 0; }
.footer-support > div { display: flex; flex-direction: column; font-size: 12px; color: var(--muted); }
.footer-support .phone-link { min-height: 36px; font-size: 14px; }
.footer-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:999px;background:#147a45;color:#fff!important;font-size:13px;font-weight:750;text-decoration:none}.footer-whatsapp span{font-weight:500}
.footer-language { display: inline-flex; align-items: center; gap: 8px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .destination-image:hover img { transform: scale(1.025); }
}
@media (max-width: 1180px) {
  .main-nav { gap: 13px; }
  .nav-support { gap: 12px; }
  .nav-support .phone-link { font-size: 11px; }
  .header-preferences { gap: 8px; }
}
@media (max-width: 980px) {
  .header-inner { gap: 8px; min-height: 80px; padding-block: 12px; }
  .header .brand { width: clamp(112px, 38vw, 190px); margin-right: auto; }
  .mobile-preferences { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0; margin-left: 0; flex-shrink: 0; font-size: 12px; }
  .mobile-preferences .nav-disclosure > summary { min-height: 44px; gap: 4px; padding-inline: 3px; }
  .mobile-preferences > .currency-fixed { font-size: 10px; line-height: 1; margin-top: -5px; pointer-events: none; }
  .mobile-preferences .nav-popover { width: 172px; right: auto; left: 50%; }
  .mobile-preferences .nav-popover a { min-height: 44px; }
  .mobile-call-button, .menu-toggle { display: inline-flex; flex: 0 0 44px; width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--blue); }
  .mobile-call-button { background: var(--soft); border-color: transparent; }
  .mobile-call-button img { width: 22px; height: 22px; }
  .menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .main-nav { padding: 12px var(--gutter) 20px; gap: 2px; max-height: calc(100dvh - 80px); overflow-y: auto; overscroll-behavior: contain; border-radius: 0 0 20px 20px; box-shadow: var(--shadow-booking); }
  .main-nav > a:not(.button), .main-nav > .nav-disclosure > summary, .nav-support > a:first-child { min-height: 48px; padding: 12px 8px; border-bottom: 1px solid #e6ebf3; font-size: 15px; }
  .main-nav > .nav-disclosure > summary { justify-content: space-between; }
  .main-nav .nav-popover { margin: 6px 0; padding: 6px; background: var(--soft); border: 0; }
  .main-nav .nav-popover a { display: flex; align-items: center; min-height: 48px; padding: 12px; border-radius: 8px; font-size: 14px; }
  .main-nav .nav-popover a:hover { background: #fff; }
  .nav-support { display: block; padding: 0; }
  .nav-support > a:first-child { display: flex; }
  .nav-support .phone-link, .main-nav .header-preferences { display: none; }
  .main-nav .reservation-link { align-self: stretch; margin: 14px 0 0; min-height: 48px; border-radius: 10px; font-size: 15px; }
  html:not(.js) .main-nav { max-height: none; overflow: visible; }
}
@media (max-width: 370px) {
  .header-inner { padding-inline: 12px; gap: 5px; }
  .header .brand { width: 112px; }
}
@media (max-width: 760px) {
  #quote-form { padding: 14px; border-radius: 16px; }
  .trip-options { gap: 6px; margin-bottom: 16px; }
  .trip-options .trip-choice { min-height: 80px; font-size: 13px; padding: 9px 3px; border-radius: 10px; }
  .trip-choice img { width: 28px; height: 28px; }
  .airport-control { font-size: 13px; padding-inline: 10px; gap: 8px; }
  .airport-control .ui-icon { width: 24px; height: 24px; }
  .travel-fields { gap: 10px; }
  .travel-fields label, .travel-fields > .passenger-field > legend, .return-field label { font-size: 13px; }
  input[type=date] { font-size: 14px !important; padding-inline: 10px !important; }
  .booking-support { display: block; }
  .booking-support > span { display: block; }
  .booking-support .phone-link { min-height: 36px; }
  .hero-visual { border-radius: 18px; }
  .fare-table { box-shadow: none; }
  .fare-table tbody tr:last-child > :first-child { border-bottom-left-radius: 0; }
  .fare-table tbody tr:last-child > :last-child { border-bottom-right-radius: 0; }
  .fare-table tr, .comparison-mobile article { border-radius: 12px; box-shadow: 0 4px 16px rgb(6 27 87 / 4%); }
  .faq-section .faqs { border: 1px solid var(--line); }
  .faqs details:first-child { border-top: 0; }
  .faqs details:last-child { border-bottom: 0; }
  .faqs summary { padding-left: 16px; }
  .faqs summary::after { right: 12px; }
  .faqs details p { padding-left: 16px; padding-right: 16px; }
  .footer-support { gap: 14px 24px; }
  .footer-support h2 { width: 100%; }
}
@media (max-width: 370px) {
  .locale-flag { width: 20px; }
  .mobile-preferences .nav-disclosure > summary { gap: 3px; }
  .trip-options .trip-choice { font-size: 12px; }
  .airport-control { font-size: 12px; }
}
/* Shared route actions keep information and quoting visibly distinct. */
.route-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:18px}
.route-actions a{min-height:44px;display:inline-flex;align-items:center}
.quote-options .quote-amount small{display:block;font-size:12px;font-weight:400;margin-top:5px}
.quote-options li.is-preferred{border:2px solid var(--blue);background:#eef3ff}
.quote-options li{scroll-margin-top:130px}
.quote-options li>div{min-width:0;overflow-wrap:anywhere}
.quote-options small{display:block;margin-top:6px;color:var(--muted)}
.share-quote{display:inline-flex;min-height:44px;align-items:center;margin-top:12px}

/* Shared destination navigation: short place names, existing imagery and URLs. */
.nav-disclosure > summary::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: -3px 3px 0 4px; }
.nav-disclosure[open] > summary::after { transform: rotate(225deg); margin-top: 3px; }
.main-nav .nav-destination { gap: 12px; }
.nav-destination img { width: 64px; height: 64px; flex-shrink: 0; object-fit: cover; border-radius: 10px; }
.nav-destination > .nav-destination-info { flex: 1; }
.main-nav .nav-all-destinations { display: flex; justify-content: space-between; gap: 12px; color: var(--blue); }
.nav-destination[aria-current] { background: #eaf0ff; color: var(--blue); }
@media (min-width: 981px) {
  .header-inner { min-height: 100px; gap: 32px; padding: 18px clamp(24px, 3vw, 48px); }
  .header .brand { width: 200px; }
  .main-nav { flex: 1; min-width: 0; gap: 4px; font-size: 15px; }
  .main-nav > a:not(.button), .main-nav > details > summary, .nav-support > a:first-child { min-height: 44px; padding: 10px 12px; border-radius: 10px; white-space: nowrap; }
  .main-nav > a:not(.button):hover, .main-nav > details > summary:hover, .nav-support > a:first-child:hover { background: var(--soft); text-decoration: none; }
  .main-nav > details[open] > summary, .main-nav > details[data-current] > summary { color: var(--blue); background: #eef3ff; }
  .nav-support { display: contents; }
  .nav-support .phone-link { margin-left: auto; min-height: 44px; padding: 10px 12px; background: var(--soft); border-radius: 10px; font-size: 13px; }
  .main-nav .reservation-link { margin: 0 8px; min-height: 44px; padding: 10px 16px; border-radius: 10px; font-size: 14px; white-space: nowrap; }
  .header-preferences { gap: 8px; flex-shrink: 0; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; }
  .header-preferences .locale-disclosure > summary { min-height: 42px; font-size: 13px; gap: 5px; }
  .header-preferences > .currency-fixed { border-left: 1px solid var(--line); padding-left: 8px; font-size: 11px; }
  .main-nav .nav-popover { top: calc(100% + 18px); padding: 10px; border-radius: 18px; border-color: #e1e7f2; box-shadow: 0 18px 48px rgb(6 27 87 / 14%), 0 2px 6px rgb(6 27 87 / 4%); }
  .main-nav .destinations-popover { width: 510px; padding: 14px; }
  .nav-destination-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .main-nav .nav-destination { display: flex; align-items: center; min-height: 88px; padding: 10px; border-radius: 12px; font-size: 15px; }
  .main-nav .nav-destination:hover { background: var(--soft); text-decoration: none; }
  .main-nav .nav-all-destinations { margin-top: 12px; padding: 14px 16px; min-height: 48px; background: var(--soft); border-radius: 10px; font-size: 14px; }
  .main-nav .nav-all-destinations:hover { background: #eaf0ff; text-decoration: none; }
  .header-preferences .nav-popover { left: 50%; right: auto; width: 184px; }
  .header-preferences .nav-popover a { min-height: 44px; }
}
@media (min-width: 981px) and (max-width: 1180px) {
  .header-inner { gap: 16px; padding-inline: 20px; }
  .header .brand { width: 160px; }
  .main-nav { gap: 2px; font-size: 13px; }
  .main-nav > a:not(.button), .main-nav > details > summary, .nav-support > a:first-child { padding-inline: 9px; }
  .nav-support .phone-link { padding-inline: 10px; font-size: 12px; }
  .main-nav .reservation-link { padding-inline: 12px; margin-inline: 4px; font-size: 13px; }
}
@media (max-width: 980px) {
  .main-nav .nav-destination img { display: none; }
  .main-nav .nav-destination-grid { display: grid; }
  .main-nav .nav-all-destinations { border-top: 1px solid var(--line); margin-top: 4px; }
}

/* Route facts render immediately; live starting fares load only when opened. */
.main-nav .nav-airport-label { margin: 0 0 12px; padding: 0 4px; font-size: 13px; font-weight: 600; color: var(--muted); }
.nav-destination-card { min-width: 0; border: 1px solid #e1e7f2; border-radius: 14px; overflow: hidden; background: #fff; }
.nav-destination-info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nav-destination-info strong { font-weight: 650; }
.nav-route-facts { display: flex; flex-wrap: wrap; gap: 5px 12px; font-size: 12px; font-weight: 400; color: var(--muted); }
.nav-route-facts > span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.nav-route-facts svg { width: 14px; height: 14px; flex-shrink: 0; }
.main-nav .nav-price-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 10px 14px; border-top: 1px solid #e1e7f2; border-radius: 0; font-size: 13px; background: var(--soft); color: var(--blue); }
.main-nav .nav-price-link:hover { background: #eaf0ff; text-decoration: none; }
@media (min-width: 981px) {
  .main-nav .destinations-popover { width: 650px; padding: 18px; max-height: calc(100dvh - 112px); overflow-y: auto; overscroll-behavior: contain; }
  .main-nav .nav-destination { min-height: 100px; padding: 12px; border-radius: 0; }
  .main-nav .nav-all-destinations { margin-top: 14px; }
}
@media (max-width: 980px) {
  .main-nav .destinations-popover { padding: 10px; }
  .main-nav .nav-destination-grid { gap: 10px; }
  .main-nav .nav-destination { min-height: 72px; border-radius: 0; padding: 12px; }
  .nav-route-facts { font-size: 11px; }
  .main-nav .nav-price-link { font-size: 12px; padding: 10px 12px; }
  .main-nav .nav-airport-label { font-size: 12px; margin-bottom: 10px; }
  .main-nav .nav-all-destinations { margin-top: 10px; }
}

/* The comparison is a decision aid: the recommended direct-to-hotel option stays visible. */
.comparison-intro { max-width: 760px; margin-top: -6px; color: var(--muted); font-size: 15px; line-height: 1.65; }
.comparison-table { table-layout: fixed; border-radius: 16px; box-shadow: 0 12px 32px rgb(6 27 87 / 7%); }
.comparison-table th, .comparison-table td { vertical-align: middle; line-height: 1.4; }
.comparison-table thead th { background: #f5f7fb; color: var(--navy); }
.comparison-table thead th:first-child { width: 34%; }
.comparison-table thead th:not(:first-child), .comparison-table tbody td { width: 22%; text-align: center; }
.comparison-table thead th[data-recommended="true"] { padding-top: 15px; border-top: 4px solid var(--blue); background: #edf3ff; color: var(--navy); }
.comparison-table td.is-recommended { background: #f3f6ff; }
.comparison-recommended-label { display: flex; align-items: center; justify-content: center; gap: 5px; margin-bottom: 5px; color: var(--blue); font-size: 10px; font-weight: 800; line-height: 1.2; letter-spacing: .055em; text-transform: uppercase; }
.comparison-recommended-label > span:first-child { font-size: 13px; letter-spacing: 0; }
.comparison-mark { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font-size: 18px; font-weight: 800; line-height: 1; }
.comparison-mark--yes { background: #e7efff; color: var(--blue); }
.comparison-mark--no { background: #f0f2f6; color: #7b879d; }
.comparison-recommendation { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 20px; padding: 24px 26px; border: 1px solid #cbd8fb; border-radius: 16px; background: linear-gradient(115deg, #eef3ff, #f8faff); }
.comparison-recommendation strong { display: block; color: var(--navy); font-size: 19px; }
.comparison-recommendation .comparison-note { margin: 7px 0 0; max-width: 850px; }
.comparison-recommendation .button { flex: 0 0 auto; min-height: 48px; white-space: nowrap; }
@media (max-width: 760px) {
  .comparison-intro { margin-top: -2px; font-size: 14px; }
  .comparison-mobile article { border-radius: 14px; }
  .comparison-mobile article[data-recommended="true"] { border: 1px solid #a9bff6; border-top: 4px solid var(--blue); background: #f8faff; box-shadow: 0 8px 22px rgb(0 60 252 / 8%); }
  .comparison-mobile .comparison-recommended-label { justify-content: flex-start; margin: 12px 16px 0; }
  .comparison-mobile article[data-recommended="true"] h3 { background: transparent; color: var(--navy); padding-top: 8px; }
  .comparison-mobile dd { display: flex; justify-content: flex-end; align-items: center; }
  .comparison-mobile .comparison-mark { width: 28px; height: 28px; font-size: 17px; }
  .fare-table tbody tr:nth-child(odd) td { background: #fff; }
  .fare-table tbody tr:nth-child(even) th { background: #e7edf7; }
  .fare-table tbody tr:nth-child(even) td { background: #f3f6fa; }
  .comparison-recommendation { display: block; padding: 21px 18px; }
  .comparison-recommendation strong { font-size: 18px; line-height: 1.35; }
  .comparison-recommendation .button { width: 100%; margin-top: 18px; white-space: normal; text-align: center; }
}

/* Keep the FAQ subject visible while its questions scroll beside it. */
.footer-explore{display:flex;flex-wrap:wrap;gap:10px 26px;border-top:1px solid var(--line);padding:24px 0;font-size:14px}.footer-explore a{display:flex;align-items:center;min-height:44px}
.footer-rating{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 36px;padding:22px 26px;border:1px solid #cddcf3;border-radius:20px;background:linear-gradient(110deg,#f4f8ff 0%,#fff 62%);box-shadow:0 16px 34px rgba(6,27,87,.08)}.footer-rating-score{display:flex;align-items:center;gap:16px;color:var(--navy)}.footer-rating-score strong{font-size:24px;letter-spacing:-.03em}.footer-rating-stars{color:#e9a900;font-size:20px;letter-spacing:3px}.footer-rating p{margin:0;color:var(--muted);font-size:14px;text-align:right}
@media(max-width:760px){.footer-rating{display:block;margin-bottom:30px;padding:20px;border-radius:16px}.footer-rating-score{justify-content:space-between}.footer-rating p{margin-top:8px;text-align:left;font-size:13px}}
@media (min-width: 981px) {
  .faq-section > :first-child {
    position: sticky;
    top: 24px;
    align-self: start;
  }
  .hotel-faqs > :first-child {
    top: 154px;
  }
}
