/* A continuous form below the agreed aircraft image. */
.flight-hero{height:300px;position:relative;isolation:isolate;background:#24263d;overflow:hidden}
.flight-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 64%;z-index:-2}
.flight-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,23,48,.85),rgba(18,23,48,.48) 48%,rgba(18,23,48,.02));z-index:-1}
.hero-content{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:25px;color:#fff}
.hero-content .eyebrow{color:#f5d484;letter-spacing:1.7px;font-size:10px}
.hero-content h1{font-size:45px;line-height:1.12;letter-spacing:-1.8px;font-weight:600;max-width:580px;margin:12px 0}
.hero-content h1 em{font-style:normal;color:#ffdc82}
.hero-content>p{font-size:15px;line-height:1.75;max-width:500px;margin:0;color:#e6e8f4}
.flight-search{padding-top:24px;padding-bottom:48px;scroll-margin-top:100px}
.flight-booking{padding:26px 30px 24px;border-radius:18px;box-shadow:0 10px 35px #24204308}
.flight-booking:before{display:none}
.flight-booking .booking-heading{padding-bottom:21px;margin-bottom:19px;align-items:center;gap:24px}
.flight-booking .booking-heading h2{font-size:27px;line-height:1.25;margin:6px 0 0;letter-spacing:-.7px}
.flight-booking .booking-heading .eyebrow{font-size:9px}
.booking-carriers{text-align:right;flex-shrink:0}
.booking-carriers .airline-logos{justify-content:flex-end;margin:0;gap:25px;min-height:27px}
.booking-carriers .airline-logos img{height:25px;width:auto;max-width:110px}
.booking-carriers .airline-logos img:first-child{max-width:94px}
.booking-carriers .airline-logos img:last-child{max-width:125px}
.booking-carriers>p{font-size:11px;line-height:1.5;margin:8px 0 0;color:#72758d}
.progressive-form .trip-tabs{gap:8px;margin:0 0 14px}
.progressive-form .trip-tabs button{font-size:13px;padding:8px 15px;min-height:38px}
.progressive-form .route-fields{grid-template-columns:1fr 1fr;gap:17px;position:relative}
.progressive-form .swap{position:absolute;left:calc(50% - 16px);top:22px;width:32px;height:32px;transform:none}
.progressive-form .field{padding:12px 15px 10px;border-radius:10px}
.progressive-form .field>span{font-size:12px;font-weight:600;margin-bottom:5px;color:#686b82}
.progressive-form .field input,.progressive-form .field select{font-size:18px;min-height:31px;line-height:1.5}
.progressive-form .field input[type=date]{font-size:17px;min-height:33px}
.route-prompt{font-size:12px;color:#77788d;line-height:1.6;margin:13px 0 0}
.flight-details,.flight-contact{margin-top:15px}
.progressive-form .details-fields{display:grid;grid-template-columns:1fr 1fr .8fr 1.05fr;gap:13px}
.progressive-form .details-fields.is-one-way{grid-template-columns:1fr .8fr 1fr}
.progressive-form .contact-fields{display:grid;grid-template-columns:1fr 1fr .95fr;gap:13px;align-items:stretch}
.progressive-form .submit-cell{display:flex;grid-column:auto;align-items:stretch;padding:0}
.progressive-form .submit{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:77px;font-size:16px;font-weight:650;border-radius:10px;white-space:nowrap;background:var(--gold);border:1px solid var(--gold);color:#382750;box-shadow:none;padding:12px 16px}
.progressive-form .submit:hover{background:#ffdb7d;border-color:#ffdb7d;transform:none}
.progressive-form .submit svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;flex-shrink:0}
.progressive-form .contact-extras{margin:9px 0 0;display:flex;align-items:center;justify-content:space-between;gap:15px}
.progressive-form .request-hint{font-size:11px;max-width:none;line-height:1.6;color:#7a7b8c}
.progressive-form .optional-email{font-size:12px;min-height:33px}
.progressive-form .email-field{max-width:550px;margin-top:10px}
.progressive-form .form-notice{font-size:12px;line-height:1.8;margin-top:10px;max-width:1100px;color:#6d6e83}
.progressive-form .leg-row{grid-template-columns:1fr 1fr .85fr auto;align-items:stretch;gap:11px;margin-top:13px;padding-top:13px}
.progressive-form .remove-leg{padding-inline:15px;min-height:40px}
.fields-enter{animation:fields-open .22s ease-out}
@keyframes fields-open{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero-content h1{font-size:40px}.flight-booking{padding:24px}.flight-booking .booking-heading h2{font-size:25px}.booking-carriers .airline-logos{gap:19px}.progressive-form .contact-fields{grid-template-columns:1fr 1fr}.progressive-form .submit-cell{grid-column:1/-1}.progressive-form .submit{min-height:52px;font-size:17px}.progressive-form .details-fields{grid-template-columns:1fr 1fr 1fr 1.2fr}}
@media(max-width:720px){.flight-hero{height:230px}.flight-hero>img{object-position:65% 66%}.flight-hero:after{background:linear-gradient(90deg,rgba(18,23,48,.86),rgba(18,23,48,.42) 70%,rgba(18,23,48,.2))}.hero-content{padding-block:20px}.hero-content .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-content h1{font-size:31px;line-height:1.13;letter-spacing:-1.1px;max-width:350px;margin:10px 0}.hero-content>p{font-size:12px;line-height:1.7;max-width:320px}.flight-search{padding-top:16px;padding-bottom:34px}.flight-booking{padding:20px 17px 18px;border-radius:15px}.flight-booking .booking-heading{display:block;padding-bottom:16px;margin-bottom:16px}.flight-booking .booking-heading h2{font-size:23px;letter-spacing:-.6px}.flight-booking .booking-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.booking-carriers{text-align:left;margin-top:17px}.booking-carriers .airline-logos{justify-content:flex-start;gap:22px}.booking-carriers .airline-logos img{height:23px;max-width:95px}.booking-carriers .airline-logos img:first-child{max-width:80px}.booking-carriers .airline-logos img:last-child{max-width:107px}.booking-carriers>p{font-size:10px;margin-top:7px}.progressive-form .trip-tabs{gap:6px}.progressive-form .trip-tabs button{font-size:12px;padding:8px 12px;min-height:37px}.progressive-form .route-fields{grid-template-columns:1fr 1fr;gap:12px}.progressive-form .swap{left:calc(50% - 15px);right:auto;top:25px;width:30px;height:30px;transform:none}.progressive-form .field{padding:11px 12px 9px}.progressive-form .field>span{font-size:12px}.progressive-form .field input,.progressive-form .field select{font-size:17px;min-height:32px}.progressive-form .field input[type=date]{font-size:16px;min-height:33px}.progressive-form .details-fields,.progressive-form .details-fields.is-one-way{grid-template-columns:1fr 1fr;gap:11px}.progressive-form .contact-fields{grid-template-columns:1fr 1fr;gap:11px}.progressive-form .submit-cell{grid-column:1/-1}.progressive-form .submit{min-height:53px;font-size:16px}.progressive-form .contact-extras{display:block;margin-top:6px}.progressive-form .request-hint{display:block;text-align:left;font-size:10px}.progressive-form .form-notice{font-size:12px;line-height:1.8}.flight-details,.flight-contact{margin-top:12px}.progressive-form .leg-row{grid-template-columns:1fr 1fr;gap:10px}.route-prompt{font-size:11px;margin-top:12px}}
@media(max-width:440px){.flight-hero{height:215px}.hero-content h1{font-size:29px}.flight-booking{padding:18px 15px 16px}.flight-booking .booking-heading h2{font-size:22px}.booking-carriers .airline-logos{display:flex;max-width:none;gap:20px;min-height:24px}.booking-carriers .airline-logos img{width:auto!important;max-width:95px!important;height:22px}.booking-carriers .airline-logos img:first-child{max-width:77px!important}.booking-carriers .airline-logos img:last-child{max-width:105px!important}.progressive-form .route-fields,.progressive-form .contact-fields{grid-template-columns:1fr}.progressive-form .swap{left:auto;right:15px;top:calc(50% - 15px);transform:rotate(90deg)}.progressive-form .field input,.progressive-form .field select{font-size:17px}.progressive-form .details-fields .field{padding-inline:10px}.progressive-form .details-fields input[type=date]{font-size:15px}.progressive-form .details-fields select{font-size:16px}.progressive-form .submit-cell{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.fields-enter{animation:none}}

/* A distinct booking surface and direct access to the travel team. */
.flight-search.wrap{width:100%;margin-inline:0;padding:30px max(24px,calc((100% - 1256px)/2)) 42px;background:#e9eef7;border-top:1px solid #d7dfed;border-bottom:1px solid #d7dfed;scroll-margin-top:84px}
.flight-booking{background:#fff;border:1px solid #c9d3e5;box-shadow:0 18px 42px rgba(36,48,86,.1),0 3px 7px rgba(36,48,86,.04);border-radius:18px;padding:27px 30px 26px}
.flight-booking:before{display:block;left:20px;right:20px;top:-1px;height:4px;background:linear-gradient(90deg,#493ad2 0%,#8f86ed 65%,#ffcd59 100%);border-radius:0 0 5px 5px}
.flight-booking .booking-heading{border-color:#dfe4ef;padding-bottom:20px;margin-bottom:19px}
.progressive-form .field{border-color:#ccd4e3;background:#f8fafc}
.progressive-form .field>span{color:#48566e;font-size:13px}
.progressive-form .field input::placeholder{color:#7b889d}
.progressive-form .field select:has(option:checked[value=""]){color:#7b889d}
.progressive-form .field:focus-within{background:#fff;border-color:#786cda;box-shadow:0 0 0 3px rgba(73,58,210,.08)}
.progressive-form .field:has([aria-invalid=true]){border-color:#d7989e;background:#fffafa}
.progressive-form .route-prompt{color:#616d82}
.progressive-form .trip-tabs button{background:#f4f6fa;color:#566178;border-color:#e0e5ef;min-height:42px}
.progressive-form .trip-tabs button[aria-pressed=true]{background:#efedff;border-color:#9c91ee;color:#4333ba}
.form-assistance{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 21px;padding:13px 17px;background:#f2f5fa;border:1px solid #e1e7f0;border-radius:11px}
.form-assistance p{font-size:14px;line-height:1.5;font-weight:650;margin:0;color:#273852}
.form-assistance p>span{display:inline;font-weight:400;color:#69768b;font-size:12px;margin-left:9px}
.form-assistance>a{display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#4034a5;text-decoration:none;white-space:nowrap;font-size:17px;font-weight:700;min-height:44px;padding:4px 0}
.form-assistance>a:hover{text-decoration:underline}
.header-call svg,.form-assistance svg,.footer-phone svg,.mobile-call-bar svg,.contact-phone-card svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.site-header .nav-inner{gap:22px}
.site-header .brand{order:0}
.site-header nav{order:1;margin-left:auto;gap:22px}
.header-call{order:2;display:flex;align-items:center;justify-content:center;gap:10px;background:#493ad2;color:#fff;text-decoration:none;border-radius:12px;padding:9px 14px;flex-shrink:0;min-height:52px;line-height:1.3}
.header-call:hover{background:#3527b0}
.header-call small{font-size:10px;color:#e4dfff;display:block;letter-spacing:.2px;margin-bottom:3px}
.header-call strong{font-size:15px;letter-spacing:.1px;font-weight:650}
.header-call .call-short{display:none}
.site-header .menu-toggle{order:3}
.site-footer .footer-top .footer-phone{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:650;font-size:15px;margin:0 0 13px;min-height:44px}
.footer-phone:hover{text-decoration:underline}
.mobile-call-bar{display:none}
.contact-phone-card{padding:20px;background:#fff;border:1px solid #d4daeb;border-radius:13px;margin-bottom:26px;box-shadow:0 8px 20px rgba(36,48,86,.04)}
.contact-phone-card .eyebrow{font-size:9px;letter-spacing:1px}
.contact-layout aside .contact-phone-card>a{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:650;white-space:nowrap;text-decoration:none;min-height:52px;margin-top:5px;color:#4034a5}
.contact-layout aside .contact-phone-card>a:hover{text-decoration:underline}
.contact-layout aside .contact-phone-card>p{font-size:12px;line-height:1.8;color:#68758a;margin:9px 0 0}
@media(min-width:961px) and (max-width:1120px){.site-header .nav-inner{gap:15px}.site-header nav{gap:16px}.site-header nav .nav-cta{padding-inline:13px;gap:10px}.header-call{padding-inline:12px}.header-call strong{font-size:14px}.site-header .brand{font-size:21px}}
@media(max-width:960px){.site-header .nav-inner{gap:12px}.header-call{margin-left:auto}.site-header nav{margin-left:0}.flight-search.wrap{scroll-margin-top:74px}.form-assistance p>span{display:block;margin-left:0;margin-top:3px}}
@media(max-width:720px){html{scroll-padding-bottom:100px}body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.flight-search.wrap{padding:22px 16px 30px;background:#e6edf7;scroll-margin-top:68px}.flight-booking{padding:23px 18px 20px;border-color:#c5d1e5;box-shadow:0 12px 28px rgba(34,49,85,.1)}.flight-booking .booking-heading{padding-bottom:17px;margin-bottom:16px}.form-assistance{padding:11px 13px;margin-bottom:18px;gap:10px}.form-assistance p{font-size:12px}.form-assistance p>span{display:none}.form-assistance>a{font-size:15px;gap:7px}.form-assistance svg{width:18px;height:18px}.progressive-form .field>span{font-size:13px}.mobile-call-bar{display:block;position:fixed;z-index:65;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid #d2daea;box-shadow:0 -6px 25px rgba(29,39,72,.09);backdrop-filter:blur(15px)}.mobile-call-inner{width:min(680px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-call-inner>p{margin:0;color:#24334e;font-size:13px;font-weight:650;line-height:1.45}.mobile-call-inner>p>small{display:block;font-size:10px;font-weight:400;color:#69758a;margin-top:3px}.mobile-call-inner>a{display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;background:#493ad2;color:#fff;border-radius:12px;min-height:56px;padding:9px 15px;flex-shrink:0;line-height:1.3;box-shadow:0 3px 8px rgba(73,58,210,.14)}.mobile-call-inner>a:active{background:#3527b0}.mobile-call-inner>a small{display:block;font-size:10px;color:#e6e1ff;margin-bottom:2px}.mobile-call-inner>a strong{font-size:15px;font-weight:650}.mobile-call-inner>a svg{width:23px;height:23px}body:has(input:focus,select:focus,textarea:focus) .mobile-call-bar{display:none}.contact-phone-card{margin-bottom:23px}}
@media(max-width:600px){.header-call{min-height:42px;gap:6px;padding:9px 11px;border-radius:10px}.header-call>span:not(.call-short){display:none}.header-call .call-short{display:block;font-size:13px;font-weight:650}.header-call svg{width:18px;height:18px}.site-header .nav-inner{gap:10px}.site-header .brand{font-size:21px}.site-header .brand-icon{width:36px;height:36px;border-radius:11px}.site-header .brand{gap:8px}.site-header .brand small{font-size:6px;letter-spacing:1px}.site-header .menu-toggle{width:39px;height:42px}}
@media(max-width:380px){.flight-search.wrap{padding-inline:12px}.flight-booking{padding-inline:15px}.form-assistance{padding-inline:10px;gap:8px}.form-assistance>a{font-size:14px}.mobile-call-bar{padding-inline:12px}.mobile-call-inner{gap:7px}.mobile-call-inner>p{font-size:12px}.mobile-call-inner>p>small{font-size:9px}.mobile-call-inner>a{padding-inline:12px}.mobile-call-inner>a strong{font-size:14px}.site-header .brand{font-size:19px}.site-header .nav-inner{gap:8px}}

@media(max-width:720px){.flight-booking .form-assistance{display:none}}
@media(max-width:360px){.header-call .call-short{display:none}.header-call{min-width:42px;padding-inline:10px}}

/* Compact, centered booking card; the itinerary remains a single continuous form. */
.flight-booking{max-width:1100px;margin-inline:auto;padding:25px 28px 24px;border-radius:20px}
.flight-booking .booking-heading{padding-bottom:18px;margin-bottom:17px;gap:20px}
.flight-booking .booking-heading h2{font-size:27px;letter-spacing:-.65px}
.flight-booking .form-assistance{padding:0;min-height:44px;background:transparent;border:0;border-radius:0;margin-bottom:18px}
.flight-booking .form-assistance>p{font-size:13px}
.flight-booking .form-assistance>a{background:#f1efff;border:1px solid #e0dbfa;border-radius:10px;padding:8px 12px;font-size:15px;min-height:42px}
.progressive-form .trip-tabs{display:inline-flex;gap:4px;padding:4px;background:#eef1f7;border-radius:12px;margin-bottom:17px}
.progressive-form .trip-tabs button{border:1px solid transparent;background:transparent;min-height:38px;padding:7px 15px;border-radius:9px;color:#647087;white-space:nowrap;line-height:1.4}
.progressive-form .trip-tabs button[aria-pressed=true]{background:#fff;border-color:#dce0ee;color:#4333ba;box-shadow:0 2px 5px rgba(37,42,81,.07);font-weight:700}
.progressive-form .trip-tabs button:hover:not([aria-pressed=true]){background:#e5e9f3;color:#3c4863}
.progressive-form .field{border-radius:11px;background:#f9fafc;padding:12px 14px 10px}
.progressive-form .field>span{font-size:13px;font-weight:650;letter-spacing:.05px}
.progressive-form .details-fields{gap:13px}
.progressive-form .contact-fields{gap:13px}
.progressive-form .submit{border-radius:11px;font-weight:700}
@media(max-width:1100px){.flight-booking{padding:24px}.flight-booking .booking-heading h2{font-size:25px}}
@media(max-width:720px){.flight-booking{padding:22px 18px 20px;border-radius:17px}.flight-booking .booking-heading{margin-bottom:17px;padding-bottom:17px}.flight-booking .booking-heading h2{font-size:23px}.progressive-form .trip-tabs{margin-bottom:16px;gap:3px;padding:4px}.progressive-form .trip-tabs button{font-size:12px;min-height:39px;padding:7px 11px}.progressive-form .field{padding:12px 12px 10px}.progressive-form .details-fields,.progressive-form .contact-fields{gap:11px}}
@media(max-width:380px){.flight-booking{padding-inline:15px}.flight-booking .booking-heading h2{font-size:22px}.progressive-form .trip-tabs button{font-size:11.5px;padding-inline:9px}.progressive-form .details-fields .field{padding-inline:10px}}
