:root{color-scheme:light;font-family:system-ui,sans-serif;color:var(--aw-text);background:var(--aw-white);--aw-navy:#0B1D3A;--aw-navy-light:#17335E;--aw-gold:#D4A017;--aw-gold-dark:#B3840D;--aw-sand:#F2E9D6;--aw-white:#FFFFFF;--aw-sky:#DCEAF6;--aw-sky-deep:#AFC9E6;--aw-text:#16202E;--aw-muted:#5E6B7A;--aw-border:#D9E0E7;--aw-success:#2E7D32;--aw-warning:#B7791F;--aw-danger:#C0392B;--aw-space-1:.25rem;--aw-space-2:.5rem;--aw-space-3:.75rem;--aw-space-4:1rem;--aw-space-6:1.5rem;--aw-space-8:2rem;--aw-radius-sm:.375rem;--aw-radius:.625rem;--aw-radius-lg:1rem;--aw-shadow-sm:0 2px 8px #0b1d3a14;--aw-shadow:0 12px 32px #0b1d3a1f;--aw-focus:0 0 0 3px #afc9e6;--aw-button-height:2.75rem;--aw-field-height:3rem;--aw-content-width:75rem;--aw-page-max-width:1440px;--aw-content-max-width:1200px;--aw-wide-content-max-width:1360px;--aw-page-gutter:clamp(20px,4vw,64px);--aw-section-gap:clamp(48px,6vw,96px);--aw-header-height:72px;--aw-colour-navy:var(--aw-navy);--aw-colour-teal:var(--aw-navy-light);--aw-colour-teal-dark:var(--aw-navy);--aw-colour-gold:var(--aw-gold);--aw-colour-charcoal:var(--aw-text);--aw-colour-background:var(--aw-white);--aw-colour-surface:var(--aw-white);--aw-colour-border:var(--aw-border);--aw-colour-error:var(--aw-danger);--aw-colour-success:var(--aw-success);--navy:var(--aw-navy);--teal:var(--aw-navy-light);--aqua:var(--aw-sky);--gold:var(--aw-gold);--ink:var(--aw-text);--cream:var(--aw-white)}
body { margin: 0; }
body:not(.home-page) > main { padding: 1.5rem max(1.5rem, calc((100vw - 70rem) / 2)); }
body:not(.home-page) > header { background: var(--aw-navy); }
.brand { color: white; font-size: 1.25rem; font-weight: 700; text-decoration: none; }
body:not(.home-page) > main { min-height: 70vh; padding-block: 5rem; }
h1 { max-width: 14ch; font-size: clamp(2.5rem, 7vw, 5rem); line-height: .95; }
.eyebrow { color: #a64b2a; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
nav { display: flex; flex-wrap: wrap; gap: 1rem; margin: 2rem 0; }
nav a { background: var(--aw-gold); color: #162622; padding: .8rem 1rem; border-radius: .35rem; font-weight: 700; }
body:not(.home-page) > main > section { background: white; border-left: .4rem solid var(--aw-gold); padding: 1.5rem; max-width: 42rem; }
body:not(.home-page) > main form { background:white; padding:1.5rem; border-radius:.6rem; box-shadow:0 .6rem 2rem var(--aw-navy)18; }
fieldset { border:0; padding:0; display:flex; gap:1rem; } legend { font-weight:700; margin-bottom:.5rem; }
.search-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(9rem,1fr)); gap:1rem; margin:1rem 0; }
label { font-weight:650; } input { display:block; width:100%; box-sizing:border-box; margin-top:.35rem; padding:.7rem; border:1px solid var(--aw-muted); border-radius:.3rem; font:inherit; }
.check { align-self:end; display:flex; gap:.5rem; align-items:center; }.check input, fieldset input { width:auto; display:inline; }
button { border:0; border-radius:.3rem; padding:.8rem 1.1rem; background:var(--aw-gold); color:#162622; font-weight:750; cursor:pointer; } button:disabled { opacity:.6; cursor:not-allowed; }
#results { max-width:none; margin-top:2rem; } #results article { display:flex; justify-content:space-between; gap:2rem; padding:1rem 0; border-bottom:1px solid var(--aw-border); } #results article div:last-child { text-align:right; display:grid; gap:.35rem; }
.journey { display:block; }.journey header { background:transparent; padding:0; }.fares { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:.7rem; margin-top:1rem; text-align:left!important; }.fare { display:grid; text-align:left; background:var(--aw-white); border:1px solid var(--aw-border); }.fare small { min-height:3rem; }.quote { margin-top:1rem; padding:1rem; background:color-mix(in srgb,var(--aw-gold) 14%,var(--aw-white)); border-left:.4rem solid var(--aw-gold); }
.seatmap { display:grid; grid-template-columns:repeat(4,3.5rem); gap:.5rem; margin:1rem 0; }.seatmap button:nth-child(4n+3){margin-left:1rem}.seatmap [aria-pressed="true"]{outline:3px solid var(--aw-navy);background:color-mix(in srgb,var(--aw-gold) 14%,var(--aw-white))}
footer { background: var(--aw-navy); color: white; }
header nav { display:inline-flex; margin:0 0 0 2rem; gap:.5rem; } header nav a, header nav span { color:white; background:transparent; padding:.5rem; } header nav span { opacity:.7; } .ticket { border:2px dashed var(--aw-navy); padding:1rem; margin:1rem 0; }
@media print { header,footer,form,button,nav { display:none!important; } main { padding:0; } section { border:0; max-width:none; } .ticket { border:0; } }
.airport-picker { position:relative; min-width:0; }.airport-picker label { display:block; }.combobox-wrap { position:relative; }.combobox-wrap input { padding-right:2.8rem; min-height:3rem; }.clear-airport { position:absolute; right:.2rem; top:.55rem; padding:.35rem .7rem; min-height:2.3rem; background:transparent; font-size:1.3rem; }.airport-options { position:absolute; z-index:20; top:4.7rem; left:0; right:0; max-height:min(22rem,50vh); overflow:auto; background:white; border:2px solid var(--aw-navy); border-radius:.35rem; box-shadow:0 .5rem 1.5rem var(--aw-navy)33; }.airport-group { padding:.6rem .8rem; background:var(--aw-sky); font-weight:750; }.airport-option { display:grid; gap:.2rem; padding:.8rem; min-height:2.8rem; cursor:pointer; }.airport-option span { font-size:.88rem; font-weight:400; }.airport-option[aria-selected="true"] { background:color-mix(in srgb,var(--aw-gold) 14%,var(--aw-white)); outline:2px solid var(--aw-navy); outline-offset:-2px; }.picker-status { margin:.3rem 0 0; min-height:1.3em; font-size:.85rem; }.swap-airports { align-self:center; min-height:3rem; }.swap-airports span { font-size:.8rem; } [role=combobox]:focus-visible,.swap-airports:focus-visible,.airport-option:focus-visible { outline:3px solid #a64b2a; outline-offset:2px; }
@media (max-width:600px){.airport-picker { grid-column:1/-1; }.airport-options { position:fixed; top:auto; bottom:0; left:.5rem; right:.5rem; max-height:45vh; }.swap-airports { width:100%; grid-column:1/-1; }}
.package-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(18rem,1fr)); gap:1rem; margin:1.5rem 0; }.package-card { padding:1.25rem; border:1px solid var(--aw-border); border-radius:.5rem; background:white; box-shadow:0 .25rem .8rem var(--aw-navy)1a; }.package-card h2 { margin-top:0; }.package-price { font-size:1.25rem; color:var(--aw-navy); }.package-terms { padding:.75rem; background:var(--aw-sky); border-radius:.3rem; }.package-availability { font-weight:700; color:#a64b2a; }
.destination-hero{position:relative;margin:0 0 2rem;max-width:70rem;background:var(--aw-navy);overflow:hidden;border-radius:.6rem}.destination-hero img,.fleet-card img{display:block;width:100%;height:auto}.destination-hero figcaption{position:absolute;inset:auto 0 0;padding:2rem;color:white;font-size:clamp(1.5rem,4vw,3rem);font-weight:800;background:linear-gradient(transparent,var(--aw-navy)dd)}.fleet-card{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(12rem,.6fr);align-items:center;background:white;border-radius:.6rem;padding:1rem;margin:2rem 0}.fleet-card img{object-fit:contain}@media(max-width:600px){.fleet-card{grid-template-columns:1fr}}
.brand{display:inline-flex;align-items:center;gap:.5rem}.brand img{object-fit:contain}.network-map,.amenity-reference{max-width:55rem;background:white;padding:1rem;border-radius:.6rem}.network-map img,.amenity-reference img{display:block;width:100%;height:auto}.network-map figcaption,.amenity-reference figcaption{margin-top:.75rem}
.terminal-experience{max-width:none;margin:2rem 0}.terminal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.terminal-grid figure{margin:0;background:var(--aw-sky);border-radius:.5rem;overflow:hidden}.terminal-grid img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}.terminal-grid figcaption{padding:.8rem;font-weight:650}

/* Prompt 28 approved homepage */
html{scroll-behavior:smooth}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;transform:translateY(-200%);background:white;color:var(--navy);padding:.75rem}.skip-link:focus{transform:none}.site-header{position:relative;z-index:40;padding:0;background:white;border-bottom:1px solid var(--aw-border)}.header-inner{max-width:88rem;margin:auto;min-height:4.8rem;padding:0 1.5rem;display:flex;align-items:center;gap:2rem}.site-header .brand{color:var(--navy);white-space:nowrap}.site-header .brand img,.site-footer .brand img{border-radius:50%}.site-navigation{display:flex;align-items:center;justify-content:space-between;flex:1;gap:1.25rem;margin:0}.primary-links,.utility-links{display:flex;align-items:center;gap:.2rem}.site-navigation a,.site-navigation span{display:inline-flex;padding:.7rem .6rem;color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:700}.site-navigation a:hover{color:var(--teal)}.login-link{border:1px solid var(--teal);border-radius:2rem}.menu-toggle{display:none;margin-left:auto}.home-shell{padding:0;min-height:0}.home-hero{position:relative;min-height:42rem;overflow:hidden;background:var(--navy)}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#082f4be8 0%,#082f4b88 38%,transparent 72%)}.hero-copy{position:relative;z-index:2;max-width:88rem;margin:auto;padding:8rem 1.5rem 12rem;color:white}.hero-copy .eyebrow{color:#7ed6cf}.hero-copy h1{margin:.6rem 0 1.25rem;max-width:12ch;font-size:clamp(3.5rem,7vw,6.7rem);letter-spacing:-.055em;line-height:.88}.hero-copy>p:not(.eyebrow){max-width:33rem;font-size:1.25rem;line-height:1.6}.button-link,.outline-button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.35rem;border-radius:.3rem;background:var(--teal);color:white!important;text-decoration:none;font-weight:800}.booking-card{position:relative;z-index:5;max-width:82rem;margin:-7rem auto 0;padding:0;background:white;border:0;border-radius:.8rem;box-shadow:0 1.5rem 4rem #092f4a2b}.booking-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-bottom:1px solid #dbe5e2}.booking-tabs a{padding:1.15rem;text-align:center;color:var(--ink);text-decoration:none;font-weight:800}.booking-tabs a.active{color:var(--teal);box-shadow:inset 0 -4px var(--gold)}.booking-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:1.5rem 2rem 0}.booking-heading h2{margin:.2rem 0;font-size:2rem}.product-links{display:flex;gap:.4rem}.product-links a{padding:.6rem .8rem;color:var(--ink);text-decoration:none;border-radius:2rem}.product-links a.active{background:var(--aqua);color:var(--teal);font-weight:800}.booking-card form{box-shadow:none;padding:1.25rem 2rem 2rem}.booking-card fieldset:first-of-type{margin-bottom:1rem}.booking-card .search-grid{grid-template-columns:minmax(12rem,1.5fr) auto minmax(12rem,1.5fr) repeat(4,minmax(6.5rem,.65fr));align-items:end}.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.points-toggle{display:flex;align-items:center;gap:.5rem}.points-toggle input{width:auto;margin:0}.home-section,.promo-grid,.support-grid,.adventure-section,.rewards-panel{max-width:82rem;margin:7rem auto;padding-inline:1.5rem}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.5rem}.section-heading h2,.adventure-copy h2,.rewards-panel h2{margin:.25rem 0;font-size:clamp(2rem,4vw,3.3rem);line-height:1}.section-heading label{display:flex;gap:.6rem;align-items:center}.specials-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.special-card{position:relative;min-height:23rem;overflow:hidden;border-radius:.6rem;background:var(--navy);color:white;text-decoration:none}.special-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}.special-card:hover img{transform:scale(1.04)}.special-card:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#092f4aee)}.special-card>div{position:absolute;z-index:2;inset:auto 1rem 1rem}.special-card .eyebrow{color:#9ce0da}.special-card h3{font-size:1.65rem;margin:.25rem 0}.special-card span,.special-card small{display:block}.special-card strong{display:block;font-size:2rem;color:var(--gold);margin:.3rem 0}.outline-button{margin-top:1.5rem;background:transparent;color:var(--teal)!important;border:2px solid var(--teal)}.adventure-section{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:31rem;overflow:hidden;border-radius:.8rem;background:var(--navy);color:white;padding:0}.adventure-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48}.adventure-section:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#092f4ae8 0 48%,#092f4a55)}.adventure-copy,.trip-planner{position:relative;z-index:2;padding:4rem}.trip-planner{align-self:center;margin:2rem;background:#fffffff0;color:var(--ink);border-radius:.6rem;padding:2rem}.trip-planner>span{font-size:2rem;color:var(--gold)}.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.promo-grid article{display:block;padding:0;background:white;border:1px solid #dbe3df;border-radius:.6rem;overflow:hidden}.promo-grid article>p,.promo-grid article>h2,.promo-grid article>a{margin-left:1.25rem;margin-right:1.25rem}.promo-grid article>a{display:inline-block;margin-bottom:1.5rem;color:var(--teal);font-weight:800}.promo-visual{height:14rem;background-position:center;background-size:cover}.promo-visual.perth{background-image:linear-gradient(#092f4a22,#092f4a22),url('/assets/air-westralia/backgrounds/background_busselton_jetty.png')}.promo-visual.wa-sale{background-image:url('/assets/air-westralia/backgrounds/background_rottnest_island.png')}.promo-visual.comfort{background-image:url('/assets/air-westralia/aircraft/aircraft_b787_albany.png');background-color:var(--aqua);background-size:contain;background-repeat:no-repeat}.rewards-panel{position:relative;min-height:32rem;overflow:hidden;border-radius:.8rem;background:var(--navy);color:white}.rewards-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}.rewards-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#092f4af5,#092f4a33)}.rewards-panel>div{position:relative;z-index:2;max-width:35rem;padding:5rem 3.5rem}.rewards-panel li{margin:.8rem 0}.gold{background:var(--gold);color:var(--ink)!important}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.support-grid article{display:block;padding:2rem;background:var(--aqua);border-radius:.6rem}.support-grid article>span{font-size:2rem;color:var(--teal)}.support-grid h2{font-size:1.25rem}.support-grid a{color:var(--teal);font-weight:800}.home-page #results,.home-page #passengers,.home-page #checkout{max-width:82rem;margin:2rem auto}.site-footer{padding:4rem max(1.5rem,calc((100vw - 88rem)/2)) 1.5rem;background:#072d43;color:white}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:2rem}.site-footer .brand{color:white;text-decoration:none}.site-footer h2{font-size:1rem;color:#9ce0da}.site-footer ul{list-style:none;padding:0}.site-footer li{margin:.65rem 0}.site-footer a{color:white}.social-links{display:flex;gap:.5rem}.social-links a{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #ffffff55;border-radius:50%;text-decoration:none}.legal-strip{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid #ffffff33;font-size:.85rem}.placeholder-page{max-width:52rem;margin:auto;padding-block:8rem}.placeholder-page h1{font-size:clamp(3rem,7vw,5rem)}.placeholder-page div{display:flex;gap:1rem;align-items:center}.text-link{color:var(--teal);font-weight:800}
@media(max-width:1050px){.site-navigation{position:absolute;display:none;inset:4.8rem 1rem auto;background:white;padding:1rem;box-shadow:0 1rem 2rem #092f4a33}.site-navigation.is-open{display:block}.primary-links,.utility-links{flex-wrap:wrap}.menu-toggle{display:block}.specials-grid{grid-template-columns:repeat(3,1fr)}.booking-card{margin:-5rem 1rem 0}.booking-card .search-grid{grid-template-columns:1fr auto 1fr repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.header-inner{padding:.5rem 1rem}.site-header .brand span{font-size:1rem}.home-hero{min-height:34rem}.hero-copy{padding:5rem 1.25rem 9rem}.hero-copy h1{font-size:3.5rem}.booking-heading,.section-heading{display:block}.product-links{overflow:auto}.booking-card form,.booking-heading{padding-inline:1rem}.booking-tabs a{padding:.8rem .25rem;font-size:.9rem}.booking-card .search-grid{grid-template-columns:1fr}.swap-airports{grid-column:auto}.specials-grid{grid-template-columns:1fr 1fr}.special-card{min-height:20rem}.adventure-section{grid-template-columns:1fr}.adventure-copy{padding:3rem 2rem 1rem}.trip-planner{margin:1rem 2rem 2rem}.promo-grid,.support-grid{grid-template-columns:1fr}.rewards-panel>div{padding:3rem 2rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.legal-strip{display:block}.legal-strip span{display:block;margin:.5rem 0}}
@media(max-width:430px){.specials-grid,.footer-grid{grid-template-columns:1fr}.booking-actions{align-items:stretch;flex-direction:column}.special-card{min-height:18rem}}
.promo-grid img.promo-visual{display:block;width:100%;height:14rem;object-fit:cover;background-image:none}.promo-grid img.promo-visual.comfort{object-fit:contain;background:var(--aqua)}
.home-hero{max-width:none}

/* Prompt 29 shared desktop mega menus and mobile drawer */
.mega-trigger,.locale-button,.search-toggle{min-height:0;padding:.85rem .7rem;background:transparent;color:var(--navy);border-radius:.25rem;font-size:.92rem}.mega-trigger:hover,.mega-trigger:focus-visible,.mega-trigger.active{color:var(--teal);background:#eaf7f5}.mega-trigger span{color:var(--gold);margin-left:.2rem}.primary-item{display:flex}.mega-menu{position:absolute;z-index:55;top:100%;left:0;right:0;max-width:none;margin:0;padding:0;background:white;border:0;border-top:1px solid var(--aw-border);border-bottom:1px solid var(--aw-border);box-shadow:0 .8rem 1.2rem #092f4a12}.mega-inner{max-width:88rem;margin:auto;padding:2.25rem 1.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.mega-inner.groups-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mega-inner.groups-5,.mega-inner.groups-6{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2rem}.mega-group{padding:0 2rem;border-left:1px solid var(--aw-border)}.mega-group:nth-child(3n+1){border-left:0;padding-left:0}.mega-group h2{margin:0 0 .8rem;font-size:1.25rem;color:var(--navy)}.mega-group h2 span{color:var(--gold)}.mega-group ul{columns:1;list-style:none;margin:0;padding:0}.mega-group li{break-inside:avoid;margin:.15rem 0}.mega-group a{display:block;padding:.4rem 0;color:var(--ink);text-decoration:none;font-weight:500}.mega-group a:hover,.mega-group a:focus-visible{color:var(--teal);text-decoration:underline;text-underline-offset:.2rem}.navigation-scrim{position:fixed;z-index:30;inset:4.8rem 0 0;background:#062b3e66}.site-search{position:absolute;z-index:60;left:0;right:0;top:100%;max-width:none;margin:0;padding:1.5rem;background:white;border:0;border-top:1px solid var(--aw-border);box-shadow:0 .8rem 1.2rem #092f4a18}.site-search>div{max-width:60rem;margin:auto;display:grid;grid-template-columns:1fr auto;gap:.6rem}.site-search label,.search-results{grid-column:1/-1}.site-search input{margin:0}.search-results{list-style:none;margin:0;padding:0}.search-results a{display:block;padding:.55rem;color:var(--teal)}.search-toggle{font-size:1.4rem}.utility-links button:focus-visible,.mega-trigger:focus-visible{outline:3px solid #a64b2a;outline-offset:2px}
@media(max-width:1050px){body.navigation-open{overflow:hidden}.navigation-scrim{inset:0;z-index:35}.site-header{z-index:50}.site-navigation{position:fixed;z-index:60;display:none;inset:0 0 0 auto;width:min(27rem,92vw);height:100dvh;overflow:auto;margin:0;padding:5.5rem 1rem 2rem;background:white;box-shadow:-1rem 0 2rem #092f4a33}.site-navigation.is-open{display:block}.primary-links,.utility-links{display:block}.primary-item{display:block;border-bottom:1px solid var(--aw-border)}.mega-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;padding:1rem;text-align:left}.mega-menu{position:static;box-shadow:none;border:0;border-top:1px solid #edf1ef}.mega-inner,.mega-inner.groups-2,.mega-inner.groups-5,.mega-inner.groups-6{display:block;padding:.5rem 1rem 1rem}.mega-group,.mega-group:nth-child(3n+1){padding:1rem 0;border:0;border-bottom:1px solid #edf1ef}.mega-group:last-child{border-bottom:0}.mega-group h2{font-size:1.05rem}.utility-links{padding-top:1rem}.utility-links>a,.utility-links>button{display:flex;width:100%;box-sizing:border-box;padding:.8rem}.menu-toggle{position:relative;z-index:70;display:flex;align-items:center;gap:.4rem}.site-search{position:fixed;z-index:75;inset:0;height:100dvh;box-sizing:border-box;padding:6rem 1rem 1rem}.site-search>div{display:grid}.search-close{grid-column:2}.search-results{max-height:60vh;overflow:auto}}
@media(min-width:1051px){.primary-item:hover .mega-trigger.active{background:#eaf7f5}}

/* Prompt 30 shared homepage booking actions */
.booking-tabs{background:#eef3f1;border-radius:.8rem .8rem 0 0;overflow:hidden}.booking-tabs [role=tab]{min-height:3.6rem;border-radius:0;background:#eef3f1;color:var(--navy);font-size:1rem}.booking-tabs [role=tab][aria-selected=true]{position:relative;background:var(--navy);color:white}.booking-tabs [role=tab][aria-selected=true]:after{content:"";position:absolute;left:20%;right:20%;bottom:0;height:4px;background:var(--gold)}.booking-tab-panel{min-height:14rem;background:linear-gradient(120deg,var(--navy),var(--teal));color:white;border-radius:0 0 .8rem .8rem}.booking-tab-panel .eyebrow{color:#9ce0da}.booking-tab-panel .booking-heading a{color:white}.booking-tab-panel form{margin:0;background:transparent;color:white;box-shadow:none}.booking-tab-panel input,.booking-tab-panel select{background:white;color:var(--ink);border:0;min-height:3rem}.booking-tab-panel .product-links a{color:white}.booking-tab-panel .product-links a.active{background:white;color:var(--teal)}.booking-lookup-form{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(14rem,1.3fr) auto;align-items:start;gap:1.25rem;padding:1.5rem 2rem 2rem}.booking-lookup-form label{display:grid;gap:.3rem}.booking-lookup-form small{font-weight:400;color:#d7efeb}.booking-lookup-form button{margin-top:1.7rem;min-height:3rem;background:white;color:var(--navy)}.booking-lookup-form [aria-invalid=true]{outline:3px solid #ffd36b}.field-error{min-height:1.25rem;color:#ffe39c;font-weight:600}.lookup-errors,.lookup-status{grid-column:1/-1}.lookup-errors{padding:.8rem;background:#fff;color:#8b2b17;border-left:4px solid #a64b2a}.lookup-errors ul{margin:.4rem 0}.lookup-status{min-height:1.5rem;margin:0}.lookup-panel:has([name=departureAirport]) .booking-lookup-form{grid-template-columns:repeat(3,minmax(11rem,1fr)) auto}.booking-lookup-form button[aria-busy=true]:after{content:" …"}.booking-tabs [role=tab]:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
@media(max-width:850px){.booking-lookup-form,.lookup-panel:has([name=departureAirport]) .booking-lookup-form{grid-template-columns:1fr 1fr}.booking-lookup-form button{margin-top:0}.booking-heading{align-items:start}}
@media(max-width:600px){.booking-tabs{display:flex;overflow-x:auto}.booking-tabs [role=tab]{flex:0 0 7.5rem}.booking-lookup-form,.lookup-panel:has([name=departureAirport]) .booking-lookup-form{grid-template-columns:1fr;padding:1.25rem}.booking-lookup-form button{width:100%}.booking-tab-panel .booking-heading{padding-top:1.25rem}}

/* Prompt 31 Book product selector and shared product forms */
.product-selector{display:flex;gap:.45rem;margin:1rem 2rem 0;padding:.35rem;background:#ffffff18;border:1px solid #ffffff35;border-radius:.55rem;overflow-x:auto}.product-selector [role=tab]{display:flex;flex:1;align-items:center;justify-content:center;gap:.5rem;min-width:8.5rem;min-height:3.2rem;padding:.65rem 1rem;background:transparent;color:white;border:2px solid transparent;font-weight:650}.product-selector [role=tab][aria-selected=true]{background:#ffffff14;border-color:var(--gold);box-shadow:inset 0 0 0 1px white;font-weight:850}.product-selector svg{width:1.4rem;height:1.4rem;fill:currentColor}.product-selector [role=tab]:focus-visible{outline:3px solid white;outline-offset:-5px}.product-panel{transition:opacity .18s ease}.product-search-form{display:grid;grid-template-columns:minmax(13rem,1fr) auto minmax(13rem,1fr) auto;align-items:end;gap:1rem}.product-search-form>label{display:grid;gap:.35rem}.product-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(8rem,1fr));gap:1rem;align-items:end}.product-details label{display:grid;gap:.35rem}.product-errors,.product-status{grid-column:1/-1}.product-errors{padding:.8rem;background:white;color:#8b2b17;border-left:4px solid #a64b2a}.product-errors ul{margin:.4rem 0}.product-status{min-height:1.5rem}.product-search-form>button{min-height:3rem;background:white;color:var(--navy)}.icon-field{position:relative}.icon-field input{padding-right:2.6rem}.icon-field>span{position:absolute;right:.8rem;top:.7rem;color:var(--teal);font-size:1.4rem}.between-icon{align-self:center;color:var(--gold);font-size:1.5rem}.same-location{grid-column:1/-1;display:flex!important;align-items:center;gap:.5rem}.same-location input{width:auto;min-height:auto}.product-search-form small{color:#d7efeb}.product-search-form [aria-invalid=true]{outline:3px solid #ffd36b}
@media(max-width:850px){.product-selector{margin-inline:1rem}.product-search-form{grid-template-columns:1fr 1fr}.product-details{grid-template-columns:repeat(2,1fr)}.between-icon{display:none}}
@media(max-width:600px){.product-selector [role=tab]{flex:0 0 7.5rem}.product-search-form,.product-details{grid-template-columns:1fr}.product-search-form{padding:1.25rem}.product-search-form>button{width:100%}}

/* Prompt 32 flight booking wizard */
body.wizard-open{overflow:hidden}.flight-wizard{position:fixed;z-index:200;inset:0;padding:clamp(.5rem,3vw,2rem);overflow:auto;background:#062b3ed9;backdrop-filter:blur(3px)}.wizard-shell{display:flex;flex-direction:column;width:min(70rem,100%);min-height:min(46rem,calc(100dvh - 4rem));margin:auto;overflow:hidden;background:var(--cream);color:var(--ink);border:1px solid #ffffff55;border-radius:1rem;box-shadow:0 2rem 5rem #001722aa}.wizard-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:1.2rem 1.5rem;background:linear-gradient(115deg,var(--navy),var(--teal));color:white}.wizard-brand img{display:block;object-fit:contain}.wizard-header h2,.wizard-header p{margin:.15rem 0}.wizard-header .eyebrow{color:#9ce0da}.wizard-close{align-self:start;display:grid;place-items:center;width:2.8rem;height:2.8rem;padding:0;background:white;color:var(--navy);font-size:1.8rem;border-radius:50%}.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0 1.5rem;background:white;border-bottom:1px solid #d8e2df}.wizard-progress li{position:relative}.wizard-progress button{width:100%;min-height:4rem;background:transparent;color:#567078}.wizard-progress span{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;margin-right:.4rem;border:2px solid currentColor;border-radius:50%}.wizard-progress [aria-current=step] button{color:var(--navy);font-weight:850;box-shadow:inset 0 -4px var(--gold)}.wizard-progress [data-complete] button{color:var(--teal)}.wizard-progress [data-complete] span:after{content:'✓';font-size:.8rem}.wizard-progress [data-complete] span{font-size:0}.wizard-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.wizard-step{flex:1;padding:1.5rem 2rem;overflow:auto}.wizard-step>h3{margin:.2rem 0 1rem;font-size:1.6rem}.wizard-route-fields{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem}.wizard-route-fields>[data-select-mode]{display:grid;gap:.25rem;min-height:4.5rem;padding:.8rem 1rem;text-align:left;background:white;color:var(--ink);border:2px solid #b6c9c5}.wizard-route-fields>[data-select-mode][aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 2px var(--gold)}.wizard-route-fields small{color:#527069}.wizard-swap{width:3rem;height:3rem;padding:0;border-radius:50%}.wizard-region-tabs{display:flex;gap:.5rem;margin:1.25rem 0 .75rem;overflow-x:auto}.wizard-region-tabs [role=tab]{background:white;color:var(--ink);border:2px solid #bdd0cc}.wizard-region-tabs [aria-selected=true]{background:var(--navy);color:white;border-color:var(--gold)}.wizard-airport-search{display:grid;gap:.35rem}.wizard-airport-search input{background:white}.wizard-airport-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem 1rem;max-height:17rem;margin-top:1rem;overflow:auto}.wizard-airport-list h4{grid-column:1/-1;margin:.5rem 0 0;padding-bottom:.25rem;border-bottom:1px solid #c8d7d4;color:var(--teal)}.wizard-airport-list [role=option]{display:grid;gap:.2rem;min-height:3.5rem;padding:.65rem;text-align:left;background:white;color:var(--ink);border:1px solid #d5e0dd}.wizard-airport-list [aria-selected=true]{border:3px solid var(--gold);background:#fff8e5}.wizard-airport-list span{font-size:.8rem;font-weight:400}.wizard-route-message{font-weight:650}.wizard-trip-type{display:flex;gap:1.5rem}.wizard-trip-type label{display:flex;align-items:center;gap:.4rem}.wizard-trip-type input{width:auto}.wizard-date-fields,.wizard-guests{display:grid;grid-template-columns:repeat(3,minmax(10rem,1fr));gap:1rem;margin:1.5rem 0}.wizard-date-fields{grid-template-columns:repeat(2,minmax(12rem,1fr))}.wizard-date-fields label,.wizard-guests label{display:grid;gap:.4rem}.wizard-guests small{font-weight:400}.wizard-footer{position:sticky;bottom:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 2rem;background:white;border-top:1px solid #d5dfdc}.wizard-error{margin:0;color:#8b2b17;font-weight:700}.wizard-next{min-width:10rem;background:var(--teal)}.wizard-next:disabled{background:#687c7a;color:white}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}.flight-wizard button:focus-visible,.flight-wizard input:focus-visible{outline:3px solid #a64b2a;outline-offset:2px}
@media(max-width:850px){.wizard-airport-list{grid-template-columns:repeat(2,1fr)}.wizard-header{gap:1rem}.wizard-brand{display:none}}
@media(max-width:600px){.flight-wizard{padding:0}.wizard-shell{min-height:100dvh;border-radius:0}.wizard-header{grid-template-columns:1fr auto;padding:1rem}.wizard-header>div{grid-column:1}.wizard-close{grid-column:2;grid-row:1}.wizard-progress{padding:0}.wizard-progress button{font-size:.78rem;padding:.5rem .2rem}.wizard-progress span{display:grid;margin:auto}.wizard-step{padding:1rem}.wizard-route-fields{grid-template-columns:1fr}.wizard-swap{justify-self:center}.wizard-airport-list{grid-template-columns:1fr;max-height:35dvh}.wizard-date-fields,.wizard-guests{grid-template-columns:1fr}.wizard-footer{grid-template-columns:auto 1fr;padding:1rem}.wizard-error{grid-column:1/-1;grid-row:1}.wizard-next{min-width:0;width:100%}}

/* Prompt 33 authoritative public-site layout */
html{font-size:100%;overflow-x:clip}.home-page{min-width:0;background:var(--cream);font-size:16px;line-height:1.5}.home-page *{box-sizing:border-box}.aw-homepage{width:100%;max-width:none;margin:0;padding:0;overflow:clip}.site-header{width:100%;min-height:var(--aw-header-height)}.header-inner{width:min(calc(100% - 2 * var(--aw-page-gutter)),var(--aw-wide-content-max-width));max-width:none;min-height:var(--aw-header-height);padding:0;margin-inline:auto;gap:clamp(1rem,2.2vw,2.5rem)}.site-header .brand{flex:0 0 auto;font-size:clamp(1.05rem,1.25vw,1.3rem)}.site-header .brand img{width:3.25rem;height:3.25rem}.site-navigation,.primary-links,.utility-links{min-width:0;flex-wrap:nowrap}.primary-links{flex:0 0 auto}.utility-links{justify-content:flex-end;margin-left:auto}.site-navigation a,.site-navigation span,.mega-trigger,.locale-button{white-space:nowrap;font-size:clamp(.875rem,.82vw,1rem)}.aw-home-hero{width:min(100%,var(--aw-page-max-width));max-width:none;min-height:clamp(420px,38vw,560px);margin-inline:auto;padding:0;border:0}.aw-home-hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.aw-home-hero .hero-copy{width:min(calc(100% - 2 * var(--aw-page-gutter)),var(--aw-wide-content-max-width));max-width:none;padding:clamp(5rem,8vw,8rem) 0 clamp(9rem,12vw,11rem);margin-inline:auto}.aw-home-hero .hero-copy h1{font-size:clamp(3.25rem,5vw,4.6rem);line-height:.94}.booking-card{width:min(calc(100% - 2 * var(--aw-page-gutter)),var(--aw-content-max-width));max-width:none;margin:clamp(-7.5rem,-8vw,-5.5rem) auto 0;padding:0;border:0}.booking-tabs [role=tab]{min-height:4.4rem;padding:1rem;font-size:clamp(1rem,1.1vw,1.15rem)}.booking-tab-panel{width:100%;min-width:0;padding:clamp(.35rem,1vw,.75rem) clamp(.25rem,1vw,.75rem) clamp(.75rem,1.5vw,1.25rem)}.booking-heading{padding:clamp(1.5rem,2.5vw,2.25rem) clamp(1.25rem,2.5vw,2.5rem) .5rem}.booking-heading h2{font-size:clamp(1.75rem,2.4vw,2.35rem)}.product-selector{margin:1rem clamp(1.25rem,2.5vw,2.5rem) 0}.product-selector [role=tab]{min-height:3.75rem;font-size:1rem}.booking-card form{width:100%;padding:clamp(1.25rem,2.5vw,2.5rem)}.booking-card .search-grid{grid-template-columns:minmax(12rem,1.45fr) auto minmax(12rem,1.45fr) repeat(4,minmax(6rem,.65fr));gap:clamp(.75rem,1.2vw,1.25rem)}.booking-tab-panel input,.booking-tab-panel select{min-height:3.5rem;padding:.8rem 1rem;font-size:1rem}.booking-card button[type=submit]{min-height:3.5rem;padding-inline:1.5rem;font-size:1rem}.booking-lookup-form{padding:clamp(1.5rem,2.5vw,2.5rem);grid-template-columns:minmax(15rem,1fr) minmax(17rem,1.3fr) auto}.home-section,.promo-grid,.support-grid,.adventure-section,.rewards-panel,.home-page #results,.home-page #passengers,.home-page #checkout{width:min(calc(100% - 2 * var(--aw-page-gutter)),var(--aw-content-max-width));max-width:none;margin:var(--aw-section-gap) auto;padding-inline:0;border:0}.specials-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.8rem,1.4vw,1.25rem)}.specials-grid>* ,.promo-grid>* ,.support-grid>* ,.footer-grid>*{min-width:0}.special-card{min-height:clamp(20rem,27vw,25rem)}.special-card h3{font-size:clamp(1.15rem,1.5vw,1.45rem)}.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}.promo-grid img.promo-visual{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.support-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.adventure-section{grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);min-height:30rem}.rewards-panel{min-height:30rem}.site-footer{width:100%;padding:clamp(3rem,5vw,5rem) var(--aw-page-gutter) 1.5rem}.footer-grid,.legal-strip{width:min(100%,var(--aw-wide-content-max-width));margin-inline:auto}.footer-grid{grid-template-columns:minmax(13rem,1.5fr) repeat(5,minmax(8rem,1fr));gap:clamp(1rem,2.5vw,2.5rem)}.site-footer p,.site-footer a,.site-footer li{font-size:max(.8rem,12px)}
@media(max-width:1200px){.header-inner{width:calc(100% - 2rem)}.utility-links>a:nth-of-type(-n+3){display:none}.booking-card .search-grid{grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr) repeat(2,minmax(7rem,1fr))}.specials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.header-inner{width:calc(100% - 2rem)}.aw-home-hero{min-height:32rem}.booking-card{width:calc(100% - 2rem)}.site-navigation{display:none}.site-navigation.is-open{display:block}.menu-toggle{display:inline-flex}.booking-card .search-grid{grid-template-columns:1fr auto 1fr}.booking-card .search-grid>label:not(.check){min-width:0}.promo-grid,.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.aw-home-hero{width:100%;min-height:31rem}.aw-home-hero .hero-copy{width:calc(100% - 2rem);padding:4.5rem 0 9rem}.aw-home-hero .hero-copy h1{font-size:clamp(3rem,14vw,4rem)}.booking-card{width:calc(100% - 1.5rem);margin-top:-6rem}.booking-tabs [role=tab]{min-height:3.7rem}.booking-tab-panel{padding-inline:0}.booking-card .search-grid{grid-template-columns:1fr}.product-selector{margin-inline:1rem}.specials-grid,.promo-grid,.support-grid{grid-template-columns:1fr}.special-card{min-height:20rem}.adventure-section{grid-template-columns:1fr}.home-section,.promo-grid,.support-grid,.adventure-section,.rewards-panel,.home-page #results,.home-page #passengers,.home-page #checkout{width:calc(100% - 2rem)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.booking-card{width:calc(100% - 1rem)}.footer-grid{grid-template-columns:1fr}}

/* Keep the hero's rendered box inside the approved height band; earlier copy padding
   must not be allowed to grow the section beyond its responsive design height. */
.aw-home-hero{height:clamp(420px,38vw,560px);min-height:0}
.aw-home-hero .hero-copy{padding-top:clamp(3.5rem,5vw,5rem);padding-bottom:clamp(5rem,7vw,7rem)}
.aw-home-hero>img{transform:scale(1.16)}
.special-card img{transform:scale(1.35)}
.special-card:hover img{transform:scale(1.4)}
.promo-grid img.promo-visual,.adventure-section>img,.rewards-panel>img{transform:scale(1.16)}
@media(max-width:1050px){.aw-home-hero{height:32rem;min-height:0}.aw-home-hero>img{transform:scale(1.35)}}
@media(max-width:700px){.aw-home-hero{height:31rem;min-height:0}}

/* Prompt 34: reference-driven homepage composition. This is the sole visual
   authority for public homepage components; legacy rules above remain isolated
   for the booking results and non-home pages. */
.home-page{background:#fff;color:#082f4b}
.home-page [hidden]{display:none}
.home-page .aw-site-header{height:72px;min-height:72px;background:#fff;border-bottom:1px solid #d9e1e5}
.home-page .aw-site-header .header-inner{width:min(calc(100% - 48px),1280px);min-height:72px}
.home-page .aw-site-header .brand{font-size:1.35rem;color:#082f4b}
.home-page .aw-site-header .brand img{width:48px;height:48px}
.home-page .aw-site-header .site-navigation{gap:1rem}
.home-page .aw-site-header .primary-links{gap:.25rem}
.home-page .aw-site-header .utility-links{gap:.15rem}
.home-page .aw-site-header .mega-trigger,.home-page .aw-site-header .utility-links a,.home-page .aw-site-header .locale-button{padding:.65rem .55rem;font-size:.875rem}
.home-page .aw-site-header .utility-links>a:nth-last-of-type(2){border:1px solid var(--gold);border-radius:3px;padding-inline:1.1rem}
.home-page .aw-site-header .login-link{border:0;border-radius:3px;background:#064c63;color:#fff;padding-inline:1.1rem}

.home-page .aw-home-hero{width:100%;height:548px;overflow:hidden;background:#07374f}
.home-page .aw-home-hero>img{inset:-64px 0 auto;width:100%;height:676px;transform:none;object-fit:cover;object-position:center 48%}
.home-page .aw-home-hero .hero-shade{background:linear-gradient(90deg,#052f49e8 0%,#063750b5 32%,#06375028 66%,transparent 82%)}
.home-page .aw-home-hero .hero-copy{width:min(calc(100% - 48px),1180px);padding:72px 0 0}
.home-page .aw-home-hero .hero-copy h1{max-width:9ch;margin:.55rem 0 1.2rem;font-size:64px;line-height:.98;letter-spacing:-.035em}
.home-page .aw-home-hero .hero-copy>p:not(.eyebrow){max-width:360px;font-size:17px;line-height:1.45}
.home-page .aw-home-hero .button-link{margin-top:.45rem;background:#e5b457;color:#092f4a!important}

.home-page .booking-card{width:min(calc(100% - 48px),1000px);margin:-20px auto 0;border-radius:10px;background:#00596b;box-shadow:0 18px 38px #082f4b2e;color:#fff}
.home-page .booking-tabs{position:absolute;left:40px;top:-49px;width:640px;height:50px;border:0;overflow:visible}
.home-page .booking-tabs [role=tab]{min-height:50px;padding:.8rem 1rem;border:1px solid #9eb5bd;border-bottom:0;border-radius:12px 12px 0 0;background:#06465e;color:#fff;font-size:16px}
.home-page .booking-tabs [role=tab][aria-selected=true]{background:#fff;color:#082f4b;box-shadow:none}
.home-page .booking-tab-panel{padding:20px 34px 24px}
.home-page .booking-heading{display:none}
.home-page .product-selector{margin:0 0 14px;display:flex;align-items:center;gap:0;border:0;background:transparent}
.home-page .product-selector [role=tab]{min-width:130px;min-height:42px;border:0;border-radius:4px;background:transparent;color:#fff;font-size:16px}
.home-page .product-selector [role=tab][aria-selected=true]{border:1px solid #fff;background:#ffffff12;color:#fff;box-shadow:none}
.home-page .product-selector svg{fill:currentColor}
.home-page .booking-card form{padding:0;background:transparent;color:#fff}
.home-page .booking-card fieldset:first-of-type{display:flex;align-items:center;gap:1rem;margin:0 0 10px}
.home-page .booking-card fieldset:first-of-type legend{float:left;margin:0 .5rem 0 0;font-size:12px}
.home-page .booking-card fieldset:first-of-type label{font-size:12px}
.home-page .booking-card .search-grid{grid-template-columns:minmax(160px,1.35fr) 46px minmax(160px,1.35fr) minmax(126px,.8fr) repeat(3,minmax(62px,.46fr));gap:10px;margin:0}
.home-page .booking-card .search-grid label,.home-page .booking-card .airport-picker label{font-size:12px;color:#fff}
.home-page .booking-card .search-grid input{min-height:48px;margin-top:4px;border:0;border-radius:3px;background:#fff;color:#102f3d;font-size:15px}
.home-page .booking-card .swap-airports{width:46px;height:46px;min-height:46px;margin-top:20px;border:1px solid #8bb3bd;border-radius:50%;background:transparent;color:#fff;padding:0}
.home-page .booking-card .swap-airports span{display:none}
.home-page .booking-card .picker-status{display:none}
.home-page .booking-card .airport-group{color:#102f3d}
.home-page .booking-card .check{grid-column:auto;min-height:28px;font-size:12px}
.home-page .booking-card .check:has(input[name=directOnly]){grid-column:1/3}
.home-page .booking-card .check:has(input[name=flexibleDates]){grid-column:3/5}
.home-page .booking-card .check{display:flex;align-items:center;gap:6px;white-space:nowrap}
.home-page .booking-card .check input{min-height:0;margin:0}
.home-page .booking-card #search-help{margin:8px 0 0;font-size:11px;color:#d8edef}
.home-page .booking-card .booking-actions{margin-top:-44px;pointer-events:none}
.home-page .booking-card .booking-actions button{pointer-events:auto;min-height:42px;background:#e5b457;color:#092f4a}
.home-page .booking-lookup-form{padding:12px 0;grid-template-columns:1fr 1fr auto}

.home-page .home-section,.home-page .promo-grid,.home-page .support-grid,.home-page .adventure-section,.home-page .rewards-panel{width:min(calc(100% - 48px),1180px);margin:48px auto}
.home-page .specials{margin-top:40px}
.home-page .section-heading{justify-content:flex-start;gap:24px;margin-bottom:18px}
.home-page .section-heading .eyebrow{display:none}
.home-page .section-heading h2{font-size:30px;line-height:1.1}
.home-page .section-heading label{font-size:13px}
.home-page .specials-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.home-page .special-card{display:grid;grid-template-rows:112px 150px 52px;min-height:314px;border:1px solid #cbd7dc;border-radius:6px;background:#fff;color:#082f4b;box-shadow:none}
.home-page .special-card:after{display:none}
.home-page .special-card>div{position:static;grid-row:1;padding:14px 16px;color:#082f4b}
.home-page .special-card>div .eyebrow{display:none}
.home-page .special-card h3{margin:0 0 3px;font-size:18px}
.home-page .special-card span{font-size:12px}
.home-page .special-card strong{margin:0;color:#00596b;font-size:21px}
.home-page .special-card small{position:absolute;left:14px;right:14px;bottom:10px;color:#536976;font-size:10px}
.home-page .special-card img{position:relative;inset:auto;grid-row:2;width:100%;height:150px;margin:0;transform:none;object-fit:cover;object-position:center}
.home-page .special-card:hover img{transform:none}
.home-page .specials .outline-button{margin-top:18px}

.home-page .adventure-section{display:grid;grid-template-columns:1.05fr .9fr 1.05fr;align-items:stretch;min-height:270px;overflow:hidden;border-radius:10px;background:#f1f6f8;color:#082f4b}
.home-page .adventure-section:after{display:none}
.home-page .adventure-section>img{position:static;grid-column:3;grid-row:1;align-self:stretch;display:block;width:100%;height:100%;min-height:100%;margin:0;opacity:1;transform:none;object-fit:cover;object-position:center}
.home-page .adventure-copy{grid-column:1;grid-row:1;align-self:center;padding:48px 28px}
.home-page .adventure-copy .eyebrow{display:none}
.home-page .adventure-copy h2{font-size:34px;line-height:1.06}
.home-page .trip-planner{grid-column:2;grid-row:1;align-self:center;margin:24px 10px;padding:28px;border:1px solid #d2dce0;background:#fff;color:#082f4b;box-shadow:0 8px 18px #082f4b12}
.home-page .trip-planner h3{font-size:18px}

.home-page .promo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-page .promo-grid article{border-color:#cbd7dc;border-radius:6px}
.home-page .promo-grid img.promo-visual{height:164px;margin:0;aspect-ratio:auto;transform:none;object-fit:cover}
.home-page .promo-grid article h2{font-size:19px}

.home-page .rewards-panel{min-height:232px;border-radius:9px;background:#00556a}
.home-page .rewards-panel>img{left:40%;width:60%;height:100%;opacity:1;transform:none;object-fit:cover;object-position:center 38%}
.home-page .rewards-panel:after{background:linear-gradient(90deg,#00556afc 0%,#00556aef 42%,#00556a62 68%,transparent)}
.home-page .rewards-panel>div{max-width:520px;padding:30px 34px}
.home-page .rewards-panel h2{font-size:31px}
.home-page .rewards-panel li{margin:4px 0;font-size:13px}

.home-page .support-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #ccd9dd;border-radius:8px}
.home-page .support-grid article{display:grid;grid-template-columns:1fr 54px;padding:25px 28px;border-radius:0;background:#fff}
.home-page .support-grid article+article{border-left:1px solid #dce4e7}
.home-page .support-grid article>span{grid-column:2;grid-row:1/4;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#eef4f6}
.home-page .support-grid h2{margin-top:0}
.home-page #results{width:min(calc(100% - 48px),1180px);margin:36px auto}

.home-page .site-footer{padding:40px max(24px,calc((100vw - 1280px)/2)) 0;background:#f4f6f7;color:#102f3d}
.home-page .footer-grid{grid-template-columns:1.7fr repeat(5,1fr);gap:28px}
.home-page .site-footer .brand,.home-page .site-footer a{color:#102f3d}
.home-page .site-footer h2{color:#102f3d}
.home-page .site-footer .social-links a{border-color:#315466}
.home-page .legal-strip{width:calc(100% + 2 * max(24px,calc((100vw - 1280px)/2)));margin:32px calc(-1 * max(24px,calc((100vw - 1280px)/2))) 0;padding:16px max(24px,calc((100vw - 1280px)/2));background:#052f49;color:#fff}
.home-page .legal-strip a{color:#fff}

@media(max-width:1050px){
 .home-page .aw-site-header .header-inner{width:calc(100% - 32px)}
 .home-page .aw-home-hero{height:512px}.home-page .aw-home-hero>img{inset:-50px 0 auto;height:612px;transform:none}
 .home-page .aw-home-hero .hero-copy{width:calc(100% - 48px)}
 .home-page .booking-card{width:calc(100% - 32px);margin-top:-18px}
 .home-page .booking-tabs{left:20px;width:min(640px,calc(100% - 40px))}
 .home-page .booking-card .search-grid{grid-template-columns:1fr 46px 1fr repeat(2,minmax(90px,.6fr))}
 .home-page .specials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-page .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Prompt 35: responsive shared brand logo. */
.aw-brand-logo-picture{display:block;line-height:0}
.aw-brand-logo{display:block;height:auto;max-width:100%;object-fit:contain;border-radius:0!important}
.site-header .brand .aw-brand-logo--responsive,.home-page .aw-site-header .brand .aw-brand-logo--responsive{width:220px;height:auto}
.site-footer .brand .aw-brand-logo--footer{width:200px;height:auto}
.placeholder-page>.aw-brand-logo--wordmark{width:min(360px,80vw);height:auto;margin-bottom:2rem}
@media(max-width:700px){.site-header .brand .aw-brand-logo--responsive{width:52px;height:52px}.site-header .brand{min-width:52px}.site-footer .brand .aw-brand-logo--footer{width:180px}}
@media(max-width:700px){
 .home-page .aw-home-hero{height:470px}.home-page .aw-home-hero>img{inset:-36px 0 auto;height:542px;transform:none;object-position:58% center}
 .home-page .aw-home-hero .hero-copy{width:calc(100% - 32px);padding-top:56px}
 .home-page .aw-home-hero .hero-copy h1{font-size:48px}
 .home-page .booking-card{width:calc(100% - 16px);margin-top:-14px}
 .home-page .booking-tabs{left:0;top:-44px;width:100%;height:45px;overflow-x:auto}
 .home-page .booking-tabs [role=tab]{min-width:92px;min-height:45px;padding:.65rem .4rem;font-size:14px;border-radius:7px 7px 0 0}
 .home-page .booking-tab-panel{padding:16px}
 .home-page .product-selector{overflow-x:auto}.home-page .product-selector [role=tab]{min-width:96px;font-size:14px}
 .home-page .booking-card .search-grid{grid-template-columns:1fr}.home-page .booking-card .swap-airports{margin:0 auto}.home-page .booking-card .check{grid-column:1}
 .home-page .booking-card .booking-actions{margin:10px 0 0}.home-page .booking-card .booking-actions button{width:100%}
 .home-page .home-section,.home-page .promo-grid,.home-page .support-grid,.home-page .adventure-section,.home-page .rewards-panel{width:calc(100% - 24px);margin:34px auto}
 .home-page .specials-grid,.home-page .promo-grid,.home-page .support-grid{grid-template-columns:1fr}
 .home-page .adventure-section{grid-template-columns:1fr}.home-page .adventure-copy{grid-column:1;padding:30px 24px}.home-page .trip-planner{grid-column:1;grid-row:2}.home-page .adventure-section>img{grid-column:1;grid-row:3;height:210px}
 .home-page .rewards-panel{min-height:360px}.home-page .rewards-panel>img{left:0;top:45%;width:100%;height:55%}.home-page .rewards-panel:after{background:linear-gradient(180deg,#00556aff 0 52%,#00556a88 72%,transparent)}
 .home-page .support-grid article+article{border-left:0;border-top:1px solid #dce4e7}
 .home-page .footer-grid{grid-template-columns:1fr 1fr}
}

/* Revised Prompt 31: reference-matched Book product states. */
.home-page #booking-panel-book{min-height:340px;padding:24px 52px 38px}
.home-page .aw-book-product-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(720px,100%);height:64px;margin:0;padding:0;overflow:hidden;border:1px solid #82aab3;border-radius:6px;background:#ffffff08}
.home-page .aw-book-product-selector .aw-book-product-option{min-width:0;min-height:64px;padding:0 18px;border:0;border-left:1px solid #82aab366;border-radius:0;background:transparent;color:#fff;font-size:18px;cursor:pointer}
.home-page .aw-book-product-selector .aw-book-product-option:first-child{border-left:0}
.home-page .aw-book-product-selector .aw-book-product-option[aria-selected=true]{margin:4px;border:2px solid #fff;border-radius:4px;background:#ffffff16;box-shadow:0 0 0 1px var(--gold);font-weight:850}
.home-page .aw-book-product-selector .aw-book-product-option[aria-selected=true]+.aw-book-product-option{border-left-color:transparent}
.home-page .aw-book-product-selector svg{width:24px;height:24px}
.home-page .aw-product-panel{margin-top:30px}
.home-page .aw-product-search-layout{width:100%;margin:0;padding:0;background:transparent;box-shadow:none}
.home-page .aw-product-search-layout--single{display:grid;grid-template-columns:minmax(0,1fr)}
.home-page .aw-product-search-layout--dual{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);align-items:end;column-gap:28px}
.home-page .aw-product-search-field{position:relative;display:grid;min-width:0;gap:4px;color:#fff;font-size:19px;font-weight:700}
.home-page .aw-product-search-field .icon-field{display:block}
.home-page #booking-panel-book .aw-product-search-field input,.home-page #booking-panel-book .aw-product-search-field select{display:block;width:100%;min-height:68px;margin:0;padding:4px 44px 10px 0;border:0;border-bottom:2px solid #9bc2ca;border-radius:0;outline:0;background:transparent;color:#fff;font-size:clamp(32px,3vw,42px);font-weight:650;line-height:1.1;appearance:none}
.home-page .aw-product-search-layout--dual .aw-product-search-field input,.home-page .aw-product-search-layout--dual .aw-product-search-field select{font-size:clamp(28px,2.25vw,32px)}
.home-page #booking-panel-book .aw-product-search-field input::placeholder{color:#c8dfe3;opacity:1}
.home-page #booking-panel-book .aw-product-search-field input:focus,.home-page #booking-panel-book .aw-product-search-field select:focus{border-bottom-color:#fff;box-shadow:0 3px 0 var(--gold)}
.home-page #booking-panel-book .aw-product-search-field select option{color:#102f3d;font-size:16px}
.home-page .aw-product-search-trailing-icon,.home-page .aw-product-search-field .icon-field>.aw-product-search-trailing-icon{position:absolute;right:8px;bottom:18px;top:auto;color:#fff;font-size:28px;line-height:1}
.home-page .aw-product-search-centre-icon,.home-page .between-icon.aw-product-search-centre-icon{align-self:end;display:grid;place-items:center;width:80px;height:72px;padding:0;border:0;background:transparent;color:#fff;font-size:42px}
.home-page .product-search-form:not(.has-primary-selection) .product-details,.home-page .product-search-form:not(.has-primary-selection)>.same-location,.home-page .product-search-form:not(.has-primary-selection)>button{display:none!important}
.home-page .product-search-form.has-primary-selection .product-details{grid-column:1/-1;margin-top:24px}
.home-page .product-search-form.has-primary-selection>.same-location{grid-column:1/-1;margin-top:16px}
.home-page .product-search-form.has-primary-selection>button{grid-column:3;justify-self:end;margin-top:18px}
.home-page .product-search-form .product-status:empty{display:none}

.home-page .aw-product-panel--hotels .aw-product-search-field{width:100%}
.home-page .aw-product-panel--flights #search-form{display:block}
.home-page .aw-product-panel--flights #search-form>fieldset:first-of-type,.home-page .aw-product-panel--flights #search-help,.home-page .aw-product-panel--flights .booking-actions{display:none}
.home-page .aw-product-panel--flights .search-grid{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);align-items:end;gap:28px;margin:0}
.home-page .aw-product-panel--flights .search-grid>label{display:none}
.home-page .aw-product-panel--flights .airport-picker,.home-page .aw-product-panel--flights .combobox-wrap{position:relative;display:grid;width:100%;min-width:0;gap:4px}
.home-page .aw-product-panel--flights #origin-picker{grid-column:1}.home-page .aw-product-panel--flights #swap-airports{grid-column:2}.home-page .aw-product-panel--flights #destination-picker{grid-column:3}
.home-page .aw-product-panel--flights .airport-picker>label{color:#fff;font-size:19px;font-weight:700}
.home-page .aw-product-panel--flights .combobox-wrap:after{content:'⌖';position:absolute;right:8px;bottom:18px;color:#fff;font-size:28px;pointer-events:none}
.home-page .aw-product-panel--flights .combobox-wrap input{min-height:68px;margin:0;padding:4px 44px 10px 0;border:0;border-bottom:2px solid #9bc2ca;border-radius:0;background:transparent;color:#fff;font-size:clamp(28px,2.25vw,32px);font-weight:650}
.home-page .aw-product-panel--flights .combobox-wrap input::placeholder{color:#c8dfe3;opacity:1}
.home-page .aw-product-panel--flights .swap-airports{align-self:end;width:80px;height:72px;margin:0;border:0;background:transparent;font-size:38px}

@media(max-width:1050px){
 .home-page #booking-panel-book{padding-inline:32px}
 .home-page .aw-book-product-selector{width:100%;overflow-x:auto}
 .home-page .aw-product-search-layout--dual,.home-page .aw-product-panel--flights .search-grid{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);column-gap:16px}
 .home-page .aw-product-search-centre-icon,.home-page .between-icon.aw-product-search-centre-icon,.home-page .aw-product-panel--flights .swap-airports{width:58px}
}
@media(max-width:600px){
 .home-page #booking-panel-book{min-height:320px;padding:18px 16px 28px}
 .home-page .aw-book-product-selector{display:flex;height:58px;overflow-x:auto}
 .home-page .aw-book-product-selector .aw-book-product-option{flex:0 0 112px;min-height:58px;font-size:16px}
 .home-page .aw-product-panel{margin-top:24px}
 .home-page .aw-product-search-layout--dual,.home-page .aw-product-panel--flights .search-grid{grid-template-columns:1fr;row-gap:12px}
 .home-page .aw-product-search-layout--dual>.aw-product-search-field:first-of-type,.home-page .aw-product-panel--flights #origin-picker{grid-column:1;grid-row:1}
 .home-page .aw-product-search-layout--dual>.aw-product-search-centre-icon,.home-page .aw-product-panel--flights #swap-airports{grid-column:1;grid-row:2;justify-self:center;height:48px}
 .home-page .aw-product-search-layout--dual>.aw-product-search-field:nth-of-type(2),.home-page .aw-product-panel--flights #destination-picker{grid-column:1;grid-row:3}
 .home-page #booking-panel-book .aw-product-search-field input,.home-page #booking-panel-book .aw-product-search-field select,.home-page .aw-product-panel--flights .combobox-wrap input{min-height:58px;font-size:28px}
 .home-page .product-search-form.has-primary-selection>button{grid-column:1;width:100%}
}

/* Prompt 35 final brand sizing overrides. */
.site-header .brand .aw-brand-logo--responsive{width:220px;height:auto}
.site-footer .brand .aw-brand-logo--footer{width:200px;height:auto}
@media(max-width:700px){.site-header .brand .aw-brand-logo--responsive,.home-page .aw-site-header .brand .aw-brand-logo--responsive{width:52px;height:52px}.site-footer .brand .aw-brand-logo--footer{width:180px}}

/* Configured fare comparison */
.next-flight-prompt{display:grid;justify-items:start;gap:.5rem;margin:2rem 0;padding:1.5rem;background:white;border-left:4px solid var(--gold)}.select-next-flight{font-size:1.05rem}
.booking-content>h1{max-width:none;white-space:nowrap;font-size:clamp(2.75rem,5vw,5rem);line-height:1}.home-page .aw-home-hero .hero-copy h1{max-width:none;white-space:nowrap;font-size:clamp(3.25rem,5vw,4.6rem)}@media(max-width:700px){.booking-content>h1,.home-page .aw-home-hero .hero-copy h1{white-space:normal}}
.fare-unavailable{display:grid;align-content:center;gap:.6rem;padding:1rem}.fare-unavailable small{display:block;line-height:1.4}
.wizard-progress button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:1rem}.wizard-progress button strong{text-align:left}.wizard-progress button small{min-width:3.5rem;margin-left:clamp(1rem,3vw,3rem);text-align:right}@media(max-width:600px){.wizard-progress button{column-gap:.35rem}.wizard-progress button small{min-width:0;margin-left:.25rem;font-size:.68rem}}
.baggage-extras{padding:1.5rem;background:white}.baggage-directions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.baggage-direction{padding:1rem;background:#edf5f3;border-top:4px solid var(--teal)}.passenger-baggage{display:grid;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:.6rem;margin:.75rem 0;padding:.75rem;background:white}.passenger-baggage>div{display:grid}.passenger-baggage button{width:2.5rem;height:2.5rem;padding:0}.passenger-baggage output{font-weight:850}.extras-disclosure{padding:1rem;background:color-mix(in srgb,var(--aw-gold) 14%,var(--aw-white))}.payment-placeholder{padding:8vh 1rem;text-align:center}@media(max-width:750px){.baggage-directions{grid-template-columns:1fr}.passenger-baggage{grid-template-columns:1fr auto auto auto}.passenger-baggage>strong{grid-column:1/-1}}
.seat-flight-tabs{display:flex;gap:.5rem;margin:1rem 0}.seat-flight-tabs [aria-selected=true]{background:var(--navy);color:white;outline:3px solid var(--gold)}.seat-layout{display:grid;grid-template-columns:16rem minmax(20rem,1fr) 18rem;gap:1rem;align-items:start}.seat-passengers,.seat-legend,.aircraft-map{padding:1rem;background:white}.seat-passengers button{display:grid;width:100%;text-align:left;background:#eef5f3;color:var(--ink)}.seat-passengers [aria-pressed=true]{background:var(--navy);color:white}.seat-grid{display:grid;grid-template-columns:repeat(7,3.5rem);grid-auto-rows:3.5rem;gap:.35rem;justify-content:center}.seat{grid-row:var(--row);grid-column:var(--column);display:grid;padding:.15rem;background:var(--aw-white);color:var(--ink);border:2px solid var(--teal)}.seat.preferred{background:#fff0bd;border-color:var(--aw-gold-dark)}.seat:disabled{background:color-mix(in srgb,var(--aw-muted) 20%,var(--aw-white));color:var(--aw-muted);border-color:var(--aw-muted)}.seat-swatch{display:inline-block;width:1rem;height:1rem;background:var(--aw-white);border:1px solid}.seat-swatch.preferred{background:#fff0bd}.seat-swatch.unavailable{background:color-mix(in srgb,var(--aw-muted) 20%,var(--aw-white))}.seat-detail-modal{position:fixed;z-index:240;inset:0;display:grid;place-items:center;padding:1rem;background:#062b3edc}.seat-detail-modal>div{width:min(30rem,100%);padding:1.5rem;background:white;border-radius:1rem}.seat-modal-close{float:right}@media(max-width:850px){.seat-layout{grid-template-columns:1fr}.seat-grid{overflow:auto}.seat-passengers{display:flex;overflow:auto}}
.passenger-draft-list{display:grid;gap:1rem}.passenger-card{background:white}.passenger-card>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;width:100%;text-align:left;background:white;color:var(--ink)}.passenger-card>button span{display:grid;place-items:center;width:2.8rem;height:2.8rem;background:var(--navy);color:white;border-radius:50%}.passenger-card>div{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1rem}.passenger-card label,.contact-card label{display:grid;gap:.35rem}.passenger-card details{grid-column:1/-1}.contact-card{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0;padding:1rem;background:white}.contact-card h2{grid-column:1/-1}.marketing-consent{display:flex;align-items:start;gap:.5rem}.marketing-consent input{width:auto}@media(max-width:650px){.passenger-card>div,.contact-card{grid-template-columns:1fr}.contact-card h2{grid-column:1}}
.selected-flight-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.selected-flight{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:1rem;background:white;border-left:4px solid var(--teal)}.selected-flight>span{grid-column:1}.selected-flight>button{grid-column:2}.mixed-fare-warning{margin:1rem 0;padding:1rem;background:color-mix(in srgb,var(--aw-gold) 14%,var(--aw-white));border-left:4px solid var(--gold)}.booking-actions{display:flex;justify-content:space-between;margin:2rem 0}@media(max-width:700px){.selected-flight-list{grid-template-columns:1fr}}
.fare-modal{position:fixed;z-index:230;inset:0;padding:2rem;overflow:auto;background:#0b1d3ae6}.fare-modal>div{position:relative;width:min(78rem,100%);margin:auto;padding:2rem;background:white;border-radius:1rem}.fare-modal-close{position:sticky;z-index:2;top:0;float:right;width:3rem;height:3rem;padding:0;border-radius:50%}.fare-flight-summary{display:grid;gap:.4rem;padding:1rem;background:var(--aw-sky)}.fare-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.fare-card{display:flex;flex-direction:column;gap:.6rem;padding:1rem;background:var(--aw-white);border:1px solid var(--aw-border);border-radius:.5rem}.fare-card.unavailable{border-color:var(--aw-border);background:color-mix(in srgb,var(--aw-muted) 8%,var(--aw-white))}.fare-card ul{display:grid;gap:.5rem;padding:0;list-style:none}.fare-card li{display:grid;gap:.15rem;padding-bottom:.4rem;border-bottom:1px solid #d5dfdc}.fare-card button{margin-top:auto}.booking-date-navigation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem}.inventory-message{font-weight:750;color:var(--teal)}@media(max-width:800px){.fare-comparison{grid-template-columns:1fr}.fare-modal{padding:.5rem}.booking-date-navigation{grid-template-columns:1fr}.booking-date-navigation>button{width:100%}}

/* Prompt 45 cabin availability */
.booking-fares{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-fares .fare-unavailable{display:grid;align-content:center;gap:.35rem;padding:1rem;border:2px solid var(--aw-border);background:#f0f3f2;color:var(--ink)}.booking-fares button.fare-retry{width:100%;text-align:left}@media(max-width:700px){.booking-fares{grid-template-columns:1fr}}

/* Fare calendar */
.wizard-calendar-controls label:has(select[name=wizardCurrency]){display:none}
.booking-wizard{position:fixed;z-index:210;inset:0;overflow:auto;background:var(--aw-white);color:var(--ink)}.booking-shell{min-height:100dvh}.booking-shell>header{display:flex;justify-content:space-between;padding:1rem max(1rem,calc((100% - 80rem)/2));background:var(--navy);color:white}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr) auto;list-style:none;margin:0;padding:0 max(1rem,calc((100% - 80rem)/2));background:white}.booking-progress li{padding:1.2rem;border-bottom:4px solid var(--aw-border)}.booking-progress [aria-current=step]{border-color:var(--gold);font-weight:850}.booking-total{color:var(--teal);font-weight:850}.booking-search-summary{display:flex;justify-content:space-between;align-items:center;padding:1rem max(1rem,calc((100% - 80rem)/2));background:var(--aw-sand)}.booking-content{width:min(80rem,calc(100% - 2rem));margin:auto;padding:2rem 0}.booking-loading,.booking-error{text-align:center;padding:10vh 1rem}.booking-spinner{width:3.5rem;height:3.5rem;margin:1rem auto;border:6px solid #c6d8d5;border-top-color:var(--teal);border-radius:50%;animation:booking-spin 1s linear infinite}@keyframes booking-spin{to{transform:rotate(360deg)}}.booking-date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin:1.5rem 0}.booking-date-strip button{display:grid;gap:.3rem;background:white;color:var(--ink)}.booking-date-strip [aria-pressed=true]{background:var(--navy);color:white;outline:3px solid var(--gold)}.booking-toolbar{display:flex;justify-content:space-between;align-items:center;margin:1rem 0}.booking-flight-card{margin:1rem 0;padding:1.25rem;background:white;border-radius:.5rem;box-shadow:0 .3rem 1rem #07304418}.flight-times{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem}.booking-fares{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.booking-fares button{display:grid;gap:.35rem;text-align:left;background:var(--aw-white);color:var(--ink);border:1px solid var(--aw-border)}.booking-fares [aria-pressed=true]{border-color:var(--gold);background:var(--navy);color:white}.booking-fare-info,.booking-selection{margin:1.5rem 0;padding:1rem;background:color-mix(in srgb,var(--aw-gold) 14%,var(--aw-white));border-left:4px solid var(--gold)}@media(max-width:700px){.booking-progress{grid-template-columns:repeat(4,1fr)}.booking-progress li{font-size:.75rem;padding:.8rem .3rem}.booking-total{grid-column:1/-1}.booking-search-summary{align-items:start;gap:.5rem}.booking-date-strip{grid-template-columns:repeat(3,1fr);overflow:auto}.booking-fares{grid-template-columns:1fr}.flight-times{font-size:1rem}}
.wizard-legacy-guest-fields{display:none!important}.wizard-review{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.wizard-review article{display:grid;gap:.3rem;padding:1rem;background:white;border-left:4px solid var(--gold)}.wizard-counter-guests{display:grid;gap:.75rem;margin:1rem 0}.wizard-counter-guests>div{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:.75rem;padding:.75rem 1rem;background:white}.wizard-counter-guests small{grid-column:1}.wizard-counter-guests button{width:2.5rem;height:2.5rem;padding:0}.wizard-counter-guests output{min-width:2ch;text-align:center;font-weight:800}.wizard-promo{margin:1rem 0}.wizard-promo label{display:grid;gap:.4rem;max-width:24rem;margin-top:.75rem}@media(max-width:600px){.wizard-review{grid-template-columns:repeat(2,1fr)}}
.wizard-calendar-controls{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.wizard-calendar-controls select{width:auto}.wizard-calendars{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:1rem 0}.wizard-month{background:white;padding:1rem;border-radius:.5rem}.wizard-month header{display:flex;justify-content:space-between;align-items:center}.wizard-month h4{text-align:center;margin:.25rem}.wizard-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.wizard-calendar-grid>span{text-align:center;font-size:.75rem;font-weight:800}.wizard-day{min-height:4.25rem;padding:.3rem;background:#f5f8f7;color:var(--ink);border:2px solid transparent}.wizard-day small{display:block}.wizard-day[disabled]{background:#edf0ef;color:#879491}.wizard-day[data-lowest=true]{border-color:var(--teal)}.wizard-day[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--gold)}.wizard-day[data-in-range=true]{background:#d8efeb}.wizard-fare-note{position:relative;padding:1rem 3rem 1rem 1rem;background:color-mix(in srgb,var(--aw-gold) 14%,var(--aw-white));border-left:4px solid var(--gold)}.wizard-fare-note button{position:absolute;right:.5rem;top:.5rem;padding:.2rem .6rem}.wizard-date-summary{font-weight:800}@media(max-width:600px){.wizard-calendars{grid-template-columns:1fr}.wizard-month:nth-child(2){display:none}.wizard-day{min-height:3.5rem;font-size:.8rem}}
.wizard-recent{margin:1rem 0;padding:1rem;background:#edf5f3;border-left:4px solid var(--gold)}.wizard-recent header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.wizard-recent h4,.wizard-recent p{margin:.2rem 0}.wizard-recent-list{display:grid;gap:.5rem;margin-top:.75rem}.wizard-recent-item{display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem;padding:.75rem;background:white}.wizard-recent-item>button:first-child{display:grid;gap:.15rem;text-align:left;background:transparent;color:var(--ink);border:0}.wizard-recent-item>button:first-child span{font-size:.85rem}.wizard-recent-remove{align-self:center;background:transparent;color:var(--ink);text-decoration:underline}.wizard-clear-recent{background:transparent;color:var(--ink);text-decoration:underline}@media(max-width:600px){.wizard-recent header{align-items:flex-start;flex-direction:column}}
.wizard-origin-preference{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin:.75rem 0}.wizard-set-default,.wizard-origin-preference summary{background:transparent;color:var(--ink);font-weight:750;text-decoration:underline;cursor:pointer}.wizard-origin-preference details{margin-left:auto;padding:.75rem;background:#fff;border:1px solid #cbd9d5;border-radius:.5rem}.wizard-origin-preference details p{max-width:28rem}.wizard-origin-preference label{display:grid;gap:.35rem}.wizard-origin-preference select{width:100%;margin-bottom:.75rem}.wizard-clear-default{background:transparent;color:var(--ink);text-decoration:underline}@media(max-width:600px){.wizard-origin-preference{flex-direction:column}.wizard-origin-preference details{width:100%;margin-left:0}}
.payment-flight-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.payment-flight-card{display:grid;gap:.5rem;padding:1rem;background:#fff;border-left:4px solid var(--teal)}.payment-flight-card>div{display:flex;justify-content:space-between;gap:.5rem}.payment-flight-card button{justify-self:end}.payment-review-layout{display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(28rem,1.3fr);gap:1.25rem;align-items:start}.payment-summary,.payment-methods{padding:1.25rem;background:#fff}.payment-summary dl,.payid-panel dl{display:grid;gap:.5rem}.payment-summary dl>div,.payid-panel dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid #d5dfdc}.payment-summary dd,.payid-panel dd{margin:0;text-align:right}.payment-summary-total{font-size:1.2rem;font-weight:850}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.payment-method{display:grid;grid-template-columns:auto 1fr;gap:.2rem .6rem;padding:.8rem;border:2px solid var(--aw-border);border-radius:.5rem;cursor:pointer}.payment-method input{grid-row:1/3}.payment-method span{font-size:.85rem}.payment-method.selected{border-color:var(--gold);background:#edf5f3}.payment-method.disabled{color:var(--aw-muted);background:#eef1f0;cursor:not-allowed}.card-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1rem 0;padding:1rem;background:#edf5f3}.card-panel h3,.card-panel p,.card-panel label:first-of-type{grid-column:1/-1}.card-panel label,.business-number{display:grid;gap:.3rem}.payid-panel{margin:1rem 0;padding:1rem;background:#edf5f3;border-left:4px solid var(--gold)}.payid-panel code{overflow-wrap:anywhere}.business-number{margin:1rem 0}.payment-terms{display:flex;align-items:flex-start;gap:.6rem;padding:1rem;background:color-mix(in srgb,var(--aw-gold) 14%,var(--aw-white));font-weight:750}.payment-terms input{width:auto;margin-top:.25rem}.payment-links{font-size:.85rem}.payment-submit{width:100%;font-size:1.05rem}.booking-confirmation{padding-bottom:3rem}.confirmation-reference{display:grid;justify-items:start;width:max-content;margin:1rem 0;padding:1rem 1.5rem;background:var(--navy);color:#fff}.confirmation-reference strong{font-size:2rem;letter-spacing:.15em}.booking-confirmation>ul{display:grid;gap:.5rem;padding:0;list-style:none}.booking-confirmation>ul li{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:#fff}.confirmation-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.pdf-preview{padding:1rem;background:#fff}.pdf-preview iframe{width:100%;height:45rem;border:1px solid var(--aw-border)}@media(max-width:800px){.payment-flight-review,.payment-review-layout{grid-template-columns:1fr}.payment-method-grid,.card-panel{grid-template-columns:1fr}.card-panel h3,.card-panel p,.card-panel label:first-of-type{grid-column:1}.pdf-preview iframe{height:32rem}}
/* Prompt 54: viewport-first journey modal */
body.wizard-open{overflow:hidden!important}
.flight-wizard:not([hidden]){position:fixed;inset:0;display:grid;place-items:center;padding:16px;overflow:hidden;background:rgba(3,43,61,.82);z-index:1000}
.flight-wizard .wizard-shell{width:min(1220px,100%);height:min(calc(100vh - 32px),880px);max-height:calc(100vh - 32px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border-radius:18px;background:#f8f7f2}
.flight-wizard .wizard-header{min-height:0;height:auto;padding:14px 24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}
.flight-wizard .wizard-brand img{width:auto;height:48px;object-fit:contain}
.flight-wizard .wizard-header .eyebrow{margin:0 0 2px}.flight-wizard .wizard-header h2{font-size:clamp(1.35rem,2.2vw,2rem);margin:0;line-height:1.05}.flight-wizard .wizard-header #wizard-description{display:none}
.flight-wizard .wizard-close{width:48px;height:48px;min-width:48px}
.flight-wizard .wizard-progress{min-height:56px;margin:0;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch}
.flight-wizard .wizard-progress button{min-height:56px;padding:7px 12px;display:flex;align-items:center;justify-content:center;gap:9px}.flight-wizard .wizard-progress small{display:none}
.flight-wizard .wizard-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.flight-wizard .wizard-step{min-height:0;overflow-y:auto;padding:16px 24px 12px;overscroll-behavior:contain}
.flight-wizard [data-wizard-step=route] h3{margin:0 0 10px;font-size:1.45rem}
.flight-wizard .wizard-route-fields{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:10px;margin:0 0 8px}.flight-wizard .wizard-route-fields>button{min-height:64px;padding:9px 14px}.flight-wizard .wizard-swap{min-width:48px;padding:0}
.flight-wizard .wizard-origin-preference{margin:0 0 8px;border:0;background:transparent}.flight-wizard .wizard-origin-preference>button{display:none!important}.flight-wizard .wizard-origin-preference details{display:inline-block;margin:0;padding:0;border:0;background:transparent}.flight-wizard .wizard-origin-preference summary{min-height:44px;display:flex;align-items:center;font-weight:700}.flight-wizard .wizard-origin-preference details[open]{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:end;padding:8px 10px;background:#fff;border:1px solid #bdd0ce;border-radius:8px}.flight-wizard .wizard-origin-preference details[open] summary,.flight-wizard .wizard-origin-preference details[open] p{grid-column:1/-1;margin:0}.flight-wizard .wizard-origin-preference details[open] label{margin:0}
.flight-wizard .wizard-recent{margin:0 0 8px;padding:0;border:0;background:transparent}.flight-wizard .wizard-recent header{display:flex;align-items:center;gap:8px}.flight-wizard .wizard-recent header h4{display:none}.flight-wizard .wizard-recent-toggle{min-height:44px;padding:7px 12px;background:transparent;border:1px solid #87aaa7}.flight-wizard .wizard-recent:not([data-expanded]) header>button:not(.wizard-recent-toggle),.flight-wizard .wizard-recent:not([data-expanded])>p,.flight-wizard .wizard-recent:not([data-expanded]) .wizard-recent-list{display:none}.flight-wizard .wizard-recent[data-expanded]{padding:10px;background:#fff;border:1px solid #bdd0ce;border-radius:10px}.flight-wizard .wizard-recent[data-expanded]>p{margin:5px 0}.flight-wizard .wizard-recent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:150px;overflow-y:auto}.flight-wizard .wizard-recent-item{margin:0;min-width:0}
.flight-wizard .wizard-airport-search{display:block;margin:0 0 6px}.flight-wizard .wizard-airport-search input{min-height:44px}.flight-wizard .wizard-region-tabs{margin:0 0 5px;display:flex;gap:6px;overflow-x:auto}.flight-wizard .wizard-region-tabs button{min-height:44px;padding:7px 12px;white-space:nowrap}.flight-wizard .wizard-region-label{font-size:.82rem;color:#4c686b}
.flight-wizard .wizard-airport-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px;align-content:start;max-height:none;overflow:visible}.flight-wizard .wizard-airport-list h4{grid-column:1/-1;margin:2px 0 -2px;font-size:.78rem;line-height:1;color:#486469}.flight-wizard .wizard-airport-list [role=option]{height:48px;min-height:44px;padding:5px 10px;text-align:left;overflow:hidden}.flight-wizard .wizard-airport-list [role=option] strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-wizard .wizard-airport-list [role=option] span{display:block;font-size:.75rem;line-height:1.1}.flight-wizard .wizard-route-message{margin:6px 0 0}
.flight-wizard .wizard-footer{position:relative;z-index:2;min-height:64px;padding:10px 24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;background:#fff;border-top:1px solid #cad8d6;box-shadow:0 -8px 18px rgba(3,43,61,.08)}.flight-wizard .wizard-footer button{min-height:44px}.flight-wizard .wizard-error{margin:0 12px;text-align:center}
@media(max-width:700px){.flight-wizard:not([hidden]){padding:0}.flight-wizard .wizard-shell{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.flight-wizard .wizard-header{padding:9px 12px;gap:10px}.flight-wizard .wizard-brand img{height:38px}.flight-wizard .wizard-header .eyebrow{display:none}.flight-wizard .wizard-progress{padding:0 8px;min-height:50px}.flight-wizard .wizard-progress button{min-height:50px;padding:5px;font-size:.83rem}.flight-wizard .wizard-step{padding:12px}.flight-wizard .wizard-route-fields{grid-template-columns:1fr 44px}.flight-wizard .wizard-route-fields>[data-select-mode=origin]{grid-column:1/-1}.flight-wizard .wizard-route-fields>[data-select-mode=destination]{grid-column:1/-1}.flight-wizard .wizard-swap{grid-row:2;grid-column:2}.flight-wizard .wizard-airport-list,.flight-wizard .wizard-recent-list{grid-template-columns:1fr}.flight-wizard .wizard-footer{padding:8px 12px;min-height:60px}.flight-wizard .wizard-origin-preference details[open]{grid-template-columns:1fr 1fr}.flight-wizard .wizard-origin-preference details[open] label{grid-column:1/-1}}
/* Prompt 55: compact task layouts and persistent actions */
.booking-wizard:not([hidden]){position:fixed;inset:0;z-index:950;overflow:hidden}.booking-wizard .booking-shell{height:100dvh;max-height:100dvh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}.booking-wizard .booking-shell>header{padding-block:10px;min-height:68px}.booking-wizard .booking-progress{position:relative;margin:0;padding-block:8px;min-height:58px}.booking-wizard .booking-search-summary{position:relative;padding-block:10px;min-height:54px}.booking-wizard .booking-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-top:clamp(18px,3vh,34px);padding-bottom:88px}.booking-content>h1{font-size:clamp(2rem,5vw,4.5rem);line-height:1;margin:0 0 1rem}.booking-wizard .booking-actions{position:fixed!important;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px;margin:0;padding:10px max(14px,calc((100vw - 1100px)/2));background:#fff;border-top:1px solid #c9d8d6;box-shadow:0 -10px 20px rgba(4,53,66,.1)}.booking-wizard .booking-actions button{min-width:8rem;min-height:46px}
.booking-flight-card{padding:18px 20px;margin-bottom:12px}.booking-flight-card .flight-times{margin-bottom:6px}.booking-flight-card>p{margin:.4rem 0}.booking-fares{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-fares>button,.booking-fares>span{min-height:76px;padding:10px 12px}.booking-date-navigation{margin-block:12px}.booking-date-strip>button{min-height:76px;padding:8px}.booking-toolbar{margin-block:10px}
.fare-modal:not([hidden]){position:fixed;inset:0;display:grid;place-items:center;padding:16px;overflow:hidden}.fare-modal>div{width:min(1180px,100%);max-height:calc(100dvh - 32px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.fare-modal-close{position:sticky;top:0;z-index:3;justify-self:end}.fare-modal-body{overflow-y:auto;padding:12px 18px 24px}.fare-flight-summary{padding:12px}.fare-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.fare-card{padding:14px}.fare-card ul{font-size:.92rem}.fare-card li{padding-block:4px}
.passenger-details-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:14px}.passenger-draft-list,.contact-card{min-width:0}.passenger-card>div,.contact-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.passenger-card details,.marketing-consent,.passenger-details-form>p,.passenger-details-form>.booking-actions,.passenger-error{grid-column:1/-1}.contact-card h2{grid-column:1/-1}.marketing-consent{margin:0}
.seat-flight-tabs,.seat-passengers,.seat-legend{position:sticky;z-index:8;background:#f8f7f2}.seat-flight-tabs{top:0}.seat-passengers{top:50px}.seat-legend{top:100px}.seat-layout{margin-top:10px}.seat-map-rows{padding-block:10px}.seat-summary{position:sticky;bottom:68px;z-index:7;background:#fff}
.baggage-directions{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px}.baggage-direction{padding:14px}.baggage-direction>p{margin:.4rem 0}.passenger-baggage{min-height:58px}.extras-disclosure{margin:.6rem 0}
.payment-review-layout{align-items:start;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:18px}.payment-summary{position:sticky;top:0;padding:14px}.payment-summary h2{margin-top:0}.payment-methods{padding:14px}.payment-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-panel h3,.card-panel>p,.card-panel label:first-of-type{grid-column:1/-1}.payment-links{max-height:90px;overflow:auto;padding:8px;border:1px solid #ccd8d6}.payment-submit{position:sticky;bottom:8px;z-index:5;width:100%;min-height:52px;box-shadow:0 5px 18px rgba(4,53,66,.2)}
.booking-confirmation>h1{font-size:clamp(2.3rem,5vw,4.6rem)}.booking-confirmation>ul{margin-block:8px}.confirmation-actions{position:sticky;bottom:0;z-index:8;padding:10px 0;background:#f8f7f2}.pdf-preview iframe{height:min(52vh,560px)!important;min-height:360px}
#manage-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:12px;max-width:62rem}#manage-form button{min-height:48px}.manage-booking-summary{position:sticky;top:0;z-index:5;padding:12px;background:#fff}.manage-tabs{display:flex;gap:6px;overflow-x:auto;margin:12px 0}.manage-tabs button{white-space:nowrap}.manage-panel{padding:14px;background:#fff;border:1px solid #ccd8d6;border-radius:10px}
@media(max-width:700px){.booking-wizard .booking-shell>header{min-height:56px}.booking-wizard .booking-progress{min-height:50px;overflow-x:auto}.booking-wizard .booking-search-summary{min-height:48px}.booking-content>h1{font-size:2.25rem}.booking-fares,.passenger-details-form,.passenger-card>div,.contact-card,.payment-review-layout,.card-panel,#manage-form{grid-template-columns:1fr}.fare-comparison{grid-template-columns:1fr}.baggage-directions{grid-template-columns:1fr}.booking-wizard .booking-actions{min-height:64px}.payment-summary{position:static}.pdf-preview iframe{height:420px!important;min-height:320px}.manage-tabs{position:sticky;top:0;background:#f8f7f2;padding-block:6px}}

/* Prompt 59: no-scroll desktop date selection */
@media(min-width:701px){
.flight-wizard [data-wizard-step=dates]{overflow-y:hidden;padding:10px 18px 8px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:5px}
.flight-wizard [data-wizard-step=dates][hidden]{display:none}
.flight-wizard [data-wizard-step=dates]>h3{margin:0;font-size:clamp(1.75rem,2.3vw,2.15rem);line-height:1.05}
.flight-wizard .wizard-calendar-controls{align-items:center;min-height:44px;gap:10px;flex-wrap:nowrap}
.flight-wizard .wizard-trip-type{display:flex;align-items:center;gap:0;margin:0;padding:0;border:0}.flight-wizard .wizard-trip-type legend{float:left;margin-right:10px;font-weight:800}.flight-wizard .wizard-trip-type label{min-height:40px;padding:8px 14px;border:1px solid #7b9d99;background:#fff}.flight-wizard .wizard-trip-type label:first-of-type{border-radius:8px 0 0 8px}.flight-wizard .wizard-trip-type label:last-of-type{border-radius:0 8px 8px 0}.flight-wizard .wizard-trip-type label:has(input:checked){background:var(--navy);color:#fff}.flight-wizard .wizard-trip-type input{width:auto;margin:0 6px 0 0}
.flight-wizard .wizard-reset-dates{min-height:42px;padding:7px 12px}
.flight-wizard .wizard-calendars{min-height:0;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.flight-wizard .wizard-month{min-height:0;padding:6px 8px}.flight-wizard .wizard-month header{min-height:44px}.flight-wizard .wizard-month header button{width:44px;height:44px;padding:0}.flight-wizard .wizard-month h4{margin:0;font-size:1rem}
.flight-wizard .wizard-calendar-grid{gap:2px}.flight-wizard .wizard-calendar-grid>span{line-height:18px}.flight-wizard .wizard-day{height:44px;min-height:44px;padding:2px;font-size:.82rem;line-height:1}.flight-wizard .wizard-day small{font-size:.68rem;line-height:1.05}
.flight-wizard .wizard-fare-note{min-height:34px;margin:0;padding:7px 38px 7px 10px;font-size:.78rem}.flight-wizard .wizard-fare-note p{display:inline;margin:0 0 0 6px}.flight-wizard .wizard-fare-note button{min-width:30px;min-height:30px;padding:0}
.flight-wizard .wizard-date-summary{min-height:16px;margin:0;font-size:.82rem}
}
@media(max-width:700px){.flight-wizard [data-wizard-step=dates]{overflow-y:auto}.flight-wizard .wizard-calendars{grid-template-columns:1fr;gap:8px;margin:8px 0}.flight-wizard .wizard-month{padding:8px}.flight-wizard .wizard-month:nth-child(2){display:none}.flight-wizard .wizard-day{min-height:44px;height:44px}.flight-wizard .wizard-calendar-controls{align-items:start;flex-direction:column}.flight-wizard .wizard-trip-type{gap:12px}.flight-wizard .wizard-fare-note{padding:8px 36px 8px 10px}.flight-wizard .wizard-fare-note p{margin:.25rem 0 0;font-size:.8rem}}

/* Prompt 60: document-scrolling compact flight results */
html.scroll-locked,html.scroll-locked body{overflow:hidden!important}
body:has(.booking-wizard:not([hidden]))>:not(.booking-wizard):not(script){display:none!important}
.booking-wizard:not([hidden]){position:relative;inset:auto;z-index:auto;display:block;min-height:100dvh;overflow:visible;background:var(--aw-white)}
.booking-wizard .booking-shell{height:auto;max-height:none;min-height:100dvh;display:grid;grid-template-rows:64px 56px 52px auto;overflow:visible}
.booking-wizard .booking-shell>header{min-height:64px;padding:7px max(16px,calc((100% - 1280px)/2))}.booking-wizard-header img{max-height:48px}
.booking-wizard .booking-progress{min-height:56px;padding:0 max(16px,calc((100% - 1280px)/2));align-items:stretch}.booking-wizard .booking-progress li{display:grid;place-items:center;padding:5px 10px}
.booking-wizard .booking-search-summary{position:sticky;top:0;z-index:12;min-height:52px;padding:6px max(16px,calc((100% - 1280px)/2))}
.booking-wizard .booking-content{width:min(1280px,calc(100% - 32px));min-height:0;margin:0 auto;padding:18px 0 32px;overflow:visible;overscroll-behavior:auto}
.booking-content>h1{font-size:clamp(2.25rem,3.5vw,3rem);line-height:1.05;margin:0 0 4px}.booking-content>h1+p{margin:0 0 10px}
.booking-date-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:8px;margin:8px 0}.booking-date-navigation>button{min-height:72px;padding:7px 10px}.booking-date-strip{height:72px;min-height:72px;margin:0;gap:5px}.booking-date-strip>button{min-height:72px;height:72px;padding:5px;line-height:1.05}
.booking-toolbar{min-height:42px;margin:7px 0;display:flex;align-items:center;gap:12px}.booking-toolbar label{display:flex;align-items:center;gap:6px}.booking-toolbar select{min-height:38px;padding-block:4px}.booking-toolbar>strong{margin-left:auto}
.booking-flight-card{min-height:150px;max-height:190px;margin:8px 0;padding:12px 16px;display:grid;grid-template-rows:auto auto minmax(70px,1fr);gap:5px}.booking-flight-card .flight-times{margin:0;font-size:1.12rem}.booking-flight-card>p{margin:0;font-size:.9rem}.booking-flight-card .inventory-message{display:none}.booking-fares{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.booking-fares>button,.booking-fares>span{min-height:70px;padding:7px 10px}
.booking-fare-info{margin:10px 0;padding:10px}.booking-fare-info p{display:inline;margin-left:6px}
.fare-modal:not([hidden]){position:fixed;inset:0;z-index:1000;overflow:hidden}
@media(max-width:700px){body:has(.booking-wizard:not([hidden]))>:not(.booking-wizard):not(script){display:none!important}.booking-wizard .booking-shell{grid-template-rows:56px auto auto auto}.booking-wizard .booking-progress{overflow-x:auto}.booking-wizard .booking-content{width:calc(100% - 20px);padding-top:12px}.booking-date-navigation{grid-template-columns:1fr}.booking-date-navigation>button{min-height:44px}.booking-date-strip{overflow-x:auto}.booking-flight-card{max-height:none}.booking-fare-info p{display:block;margin:4px 0}}
/* Prompt 62: stable accessible homepage carousel */
.homepage-carousel{isolation:isolate}.homepage-slide{position:absolute;inset:0}.homepage-slide[hidden]{display:none!important}.homepage-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.homepage-slide .hero-shade{background:linear-gradient(90deg,rgba(5,47,73,var(--hero-overlay,.8)) 0%,rgba(6,55,80,.72) 38%,rgba(6,55,80,.15) 70%,transparent 86%)}
.homepage-carousel .hero-copy h1{max-width:14ch;white-space:normal}.homepage-carousel .hero-copy{pointer-events:none}.homepage-carousel .hero-copy a{pointer-events:auto}.homepage-carousel-controls{position:absolute;z-index:6;right:max(24px,calc((100% - 1180px)/2));bottom:76px;display:flex;align-items:center;gap:2px;opacity:.55;transition:opacity .2s}.homepage-carousel-controls:hover,.homepage-carousel-controls:focus-within{opacity:1}.homepage-carousel-controls>button,.homepage-carousel-controls [data-carousel-indicator]{display:grid;place-items:center;width:30px;min-width:30px;height:30px;padding:0;border:0;background:transparent;color:#fff;text-shadow:0 1px 4px #052f49}.homepage-carousel-controls>div{display:flex;gap:0}.homepage-carousel-controls [data-carousel-indicator]{width:20px;min-width:20px}.homepage-carousel-controls [data-carousel-indicator] span{width:5px;height:5px;border:1px solid #fff;border-radius:50%;box-shadow:0 1px 3px #052f49}.homepage-carousel-controls [aria-current=true] span{width:13px;border-radius:4px;background:#fff}.homepage-carousel-controls [data-carousel-toggle]{font-size:0}.homepage-carousel-controls [data-carousel-toggle]:after{content:'Ⅱ';font-size:12px}.homepage-carousel-controls [data-carousel-toggle][aria-label^=Play]:after{content:'▶';font-size:11px}.homepage-carousel-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:1px;background:#052f49aa}
.home-page .booking-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.home-page .booking-tabs [role=tab]{width:100%;height:70px;min-height:70px;padding:12px}
@media(prefers-reduced-motion:reduce){.homepage-slide,.homepage-slide>img{animation:none!important;transition:none!important}.homepage-carousel{scroll-behavior:auto}}
@media(max-width:700px){.homepage-slide>img{object-position:center!important}.homepage-carousel .hero-copy .button-link{display:none}.homepage-carousel-controls{right:10px;top:10px;bottom:auto}.homepage-carousel-controls>div{display:none}.homepage-carousel-controls>button{width:36px;min-width:36px;height:36px}.home-page .booking-tabs [role=tab]{height:56px;min-height:56px;padding:8px}}

/* Homepage hero and booking frame: one stable above-the-fold composition. */
@media(min-width:1024px){
.home-page .aw-site-header .header-inner{min-height:76px}
.home-page .aw-home-hero{height:390px;min-height:390px}
.home-page .aw-home-hero>img{inset:0;height:100%;object-position:center 48%}
.home-page .aw-home-hero .hero-copy{padding:42px 0 0}
.home-page .aw-home-hero .hero-copy h1{margin:6px 0 10px;font-size:clamp(44px,4vw,60px);line-height:.96}
.home-page .aw-home-hero .hero-copy>p:not(.eyebrow){margin:8px 0;max-width:430px;font-size:16px;line-height:1.35}
.home-page .aw-home-hero .button-link{min-height:44px;margin-top:4px;padding:9px 16px}
.home-page .booking-card{height:356px;min-height:356px;margin:-58px auto 0}
.home-page .booking-tabs{height:56px}
.home-page .booking-tabs [role=tab]{height:56px;min-height:56px;padding:8px}
.home-page .booking-tab-panel{box-sizing:border-box;width:100%;height:300px;min-height:300px;max-height:300px;padding:14px 28px 18px;overflow:hidden}
.home-page .booking-tab-panel[hidden]{display:none!important}
.home-page #booking-panel-book{height:300px;min-height:300px;max-height:300px;padding:12px 28px 16px}
.home-page .aw-book-product-selector{width:100%;height:54px;margin-top:0}
.home-page .aw-book-product-selector .aw-book-product-option{height:54px;min-height:54px;font-size:16px}
.home-page .aw-product-panel{margin-top:8px}
.home-page .aw-product-panel--flights #search-form{position:relative;display:grid;grid-template-columns:1fr;gap:5px}
.home-page .aw-product-panel--flights #search-form>*{grid-column:1;width:100%}
.home-page .aw-product-panel--flights #search-form>fieldset:first-of-type{display:flex;margin:0;min-height:24px}
.home-page .aw-product-panel--flights .search-grid{display:grid;width:100%;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px 10px;align-items:end}
.home-page .aw-product-panel--flights #origin-picker{grid-column:1/6}
.home-page .aw-product-panel--flights #swap-airports{grid-column:6/8;width:100%;height:44px;margin-top:18px}
.home-page .aw-product-panel--flights #destination-picker{grid-column:8/13}
.home-page .aw-product-panel--flights .search-grid>label{display:grid;min-width:0}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(1){grid-column:1/3}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(2){grid-column:3/5}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(3){grid-column:5/7}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(4){grid-column:7/9}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(5){grid-column:9/11}
.home-page .aw-product-panel--flights .combobox-wrap input,.home-page .aw-product-panel--flights .search-grid>label input{height:42px;min-height:42px;margin-top:1px;padding:5px 9px;font-size:15px}
.home-page .aw-product-panel--flights .combobox-wrap input{padding-right:36px;font-size:19px}
.home-page .aw-product-panel--flights .combobox-wrap:after{bottom:9px;font-size:20px}
.home-page .aw-product-panel--flights .check,.home-page .aw-product-panel--flights #search-help{display:none!important}
.home-page .aw-product-panel--flights .booking-actions{position:absolute;right:0;bottom:0;display:flex;width:auto;margin:0}
.home-page .aw-product-panel--flights .booking-actions button{min-width:160px;height:42px;min-height:42px}
.home-page .lookup-panel .booking-heading{display:none}
.home-page .booking-card .booking-lookup-form{box-sizing:border-box;height:268px;min-height:268px;padding:70px 0 34px;align-items:start;align-content:start;gap:18px}
.home-page .booking-lookup-form label{min-width:0}
.home-page .booking-lookup-form input,.home-page .booking-lookup-form select{box-sizing:border-box;width:100%;min-width:0;height:52px;min-height:52px}
.home-page .booking-lookup-form button{height:52px;min-height:52px;margin-top:0;align-self:start}
.home-page #booking-panel-check-in .booking-lookup-form{grid-template-columns:minmax(170px,1fr) minmax(190px,1fr) minmax(210px,1.1fr) minmax(130px,auto)}
.home-page #booking-panel-check-in .booking-lookup-form>button{min-width:130px;white-space:nowrap}
.home-page .lookup-errors,.home-page .lookup-status{grid-column:1/-1}
}
@media(min-width:1024px) and (max-height:800px){.home-page .aw-home-hero{height:350px;min-height:350px}.home-page .aw-home-hero .hero-copy{padding-top:28px}.home-page .booking-card{margin-top:-64px}}

/* Final internal alignment for the shared desktop booking frame. */
@media(min-width:1024px){
.home-page #booking-panel-book{padding:12px 28px 16px}
.home-page .aw-product-panel--flights #search-form{display:grid;gap:6px}
.home-page .aw-product-panel--flights #search-form>fieldset:first-of-type{display:flex;align-items:center;gap:18px;height:26px;min-height:26px;margin:0}
.home-page .aw-product-panel--flights #search-form>fieldset:first-of-type legend{float:none;margin:0 8px 0 0;line-height:26px}
.home-page .aw-product-panel--flights #search-form>fieldset:first-of-type label{display:flex;align-items:center;gap:6px;height:26px;margin:0;font-size:12px;line-height:1;white-space:nowrap}
.home-page .aw-product-panel--flights #search-form>fieldset:first-of-type input{display:inline-block;width:16px;height:16px;min-height:0;margin:0}
.home-page .aw-product-panel--flights .search-grid{grid-template-columns:repeat(14,minmax(0,1fr));grid-template-rows:64px 52px;gap:6px 10px}
.home-page .aw-product-panel--flights #origin-picker{grid-column:1/7;grid-row:1}
.home-page .aw-product-panel--flights #swap-airports{grid-column:7/9;grid-row:1;width:100%;height:42px;margin:18px 0 0}
.home-page .aw-product-panel--flights #destination-picker{grid-column:9/15;grid-row:1}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(1){grid-column:1/3;grid-row:2}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(2){grid-column:3/5;grid-row:2}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(3){grid-column:5/7;grid-row:2}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(4){grid-column:7/9;grid-row:2}
.home-page .aw-product-panel--flights .search-grid>label:nth-of-type(5){grid-column:9/11;grid-row:2}
.home-page .aw-product-panel--flights .airport-picker>label{font-size:14px;line-height:18px}
.home-page .aw-product-panel--flights .combobox-wrap input{height:42px;min-height:42px;padding:4px 36px 6px 8px;border-bottom-width:1px;font-size:20px;line-height:1.1}
.home-page .aw-product-panel--flights #search-form>.booking-actions{right:0;bottom:0;width:27%}
.home-page .aw-product-panel--flights .booking-actions>span{display:none}
.home-page .aw-product-panel--flights .booking-actions button{width:100%;min-width:0}
.home-page .booking-card .booking-lookup-form{height:268px;min-height:268px;padding:72px 0 32px;align-items:start;align-content:start;column-gap:24px}
.home-page .lookup-panel:not(#booking-panel-check-in) .booking-lookup-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 220px}
.home-page #booking-panel-check-in .booking-lookup-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,1fr) 180px}
.home-page .booking-lookup-form label{display:grid;grid-template-rows:24px 52px 22px;gap:4px;margin:0}
.home-page .booking-lookup-form label>input,.home-page .booking-lookup-form label>select{grid-row:2;margin:0}
.home-page .booking-lookup-form label>small,.home-page .booking-lookup-form label>.field-error{grid-row:3;margin:0;line-height:18px}
.home-page .booking-lookup-form>button,.home-page #booking-panel-check-in .booking-lookup-form>button{width:100%;min-width:0;height:52px;min-height:52px;margin:28px 0 0;align-self:start;white-space:nowrap}
}

/* The homepage Book tab launches the wizard; detailed trip inputs belong there. */
@media(min-width:1024px){
.home-page .aw-product-panel--flights #search-form>fieldset:first-of-type,
.home-page .aw-product-panel--flights .search-grid>label,
.home-page .aw-product-panel--flights #search-help,
.home-page .aw-product-panel--flights #search-form>.booking-actions{display:none!important}
.home-page .aw-product-panel--flights .search-grid{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);grid-template-rows:92px;align-items:end;gap:28px;margin-top:22px}
.home-page .aw-product-panel--flights #origin-picker{grid-column:1;grid-row:1}
.home-page .aw-product-panel--flights #swap-airports{grid-column:2;grid-row:1;width:80px;height:72px;margin:0}
.home-page .aw-product-panel--flights #destination-picker{grid-column:3;grid-row:1}
.home-page .aw-product-panel--flights .airport-picker>label{font-size:19px;line-height:24px}
.home-page .aw-product-panel--flights .combobox-wrap input{height:68px;min-height:68px;padding:4px 44px 10px 0;border-bottom:2px solid #9bc2ca;font-size:clamp(28px,2.25vw,32px);line-height:1.1}
.home-page .aw-product-panel--flights .combobox-wrap:after{right:8px;bottom:18px;font-size:28px}
}

/* Booking-flow totals and dense desktop layouts. */
.booking-wizard .booking-progress{grid-template-columns:repeat(5,minmax(0,1fr))}
.booking-wizard .booking-total{display:none!important}
.booking-wizard .booking-content{overflow-y:auto!important}
.booking-wizard .booking-actions-with-total{display:grid!important;grid-template-columns:auto minmax(220px,1fr) auto}
.step-running-total{display:grid;gap:2px;justify-items:center;text-align:center;color:var(--ink)}
.step-running-total span{font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.step-running-total strong{font-size:1.2rem;color:var(--teal)}
.step-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1rem}
.step-heading h1{margin-bottom:0}

.fare-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 18px 8px}
.fare-modal-header img{display:block;width:min(230px,45vw);height:58px;object-fit:contain;object-position:left center}
.fare-modal-header .fare-modal-close{position:static;flex:0 0 auto;float:none}
.fare-modal-body{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;overflow:hidden;padding:4px 18px 14px}
.fare-modal-body>h2{margin:0;font-size:clamp(1.5rem,2.4vw,2rem)}
.fare-flight-summary{grid-template-columns:1.1fr 1.4fr 1.2fr auto;align-items:center;gap:10px;padding:9px 12px}
.fare-flight-summary p{margin:0}
.fare-flight-summary button{white-space:nowrap}
.fare-comparison{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:8px;margin:2px 0;min-height:0}
.fare-card{min-width:0;gap:4px;padding:10px;font-size:.8rem;line-height:1.18}
.fare-card h3,.fare-card p{margin:.15rem 0}
.fare-card h3{font-size:1.05rem}
.fare-card ul{gap:2px;margin:4px 0;font-size:.76rem;line-height:1.16}
.fare-card li{gap:1px;padding:3px 0}
.fare-card button{min-height:38px;padding:7px 8px}
.fare-modal-body>.booking-fare-info{margin:2px 0 0;padding:8px 10px;font-size:.78rem}
.fare-modal-body>.booking-fare-info p{margin:0}

.passenger-card input,.passenger-card select,.contact-card input,.contact-card select{box-sizing:border-box;width:100%;height:52px;min-height:52px;margin:0;padding:10px 12px}
.passenger-card label,.contact-card label{grid-template-rows:auto 52px;align-content:start}
.passenger-card label>input,.passenger-card label>select,.contact-card label>input,.contact-card label>select{grid-row:2}
.passenger-card>div,.contact-card{align-content:start}

.seat-legend .seat-running-total{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--aw-border)}
.extras-form .step-heading .step-running-total{min-width:220px;padding:12px 18px;background:white;border-left:4px solid var(--gold)}

@media(min-width:901px){
  .fare-modal>div{width:min(1460px,calc(100vw - 32px));max-height:calc(100dvh - 24px);padding:10px 14px 12px}
  .passenger-details-form{gap:12px}
  .passenger-card>div,.contact-card{padding:12px}
  .passenger-card>button{padding-block:8px}
  .passenger-card details{margin-top:0}
}
@media(max-width:900px){
  .fare-modal-body{overflow-y:auto}
  .fare-flight-summary,.fare-comparison{grid-template-columns:1fr}
  .booking-wizard .booking-actions-with-total{grid-template-columns:auto 1fr auto}
  .step-heading{align-items:start;flex-direction:column}
}
@media(max-width:600px){
  .booking-wizard .booking-actions-with-total{grid-template-columns:auto auto}
  .booking-actions-with-total .step-running-total{grid-column:1/-1;grid-row:1}
  .fare-modal-header img{height:44px}
}

/* Prompt 60: approved Air Westralia public design system */
body{color:var(--aw-text);background:var(--aw-white)}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--aw-gold);outline-offset:3px}
input,select,textarea{min-height:var(--aw-field-height);border:1px solid var(--aw-border);border-radius:var(--aw-radius-sm);background:var(--aw-white);color:var(--aw-text)}
button,.button-link{min-height:var(--aw-button-height);border-radius:var(--aw-radius-sm);background:var(--aw-navy);color:var(--aw-white)}
button:hover,.button-link:hover{background:var(--aw-navy-light)}.gold{background:var(--aw-gold);color:var(--aw-navy)!important}.outline-button{background:transparent;color:var(--aw-navy)!important;border-color:var(--aw-navy)}
.site-header,.home-page .aw-site-header{background:var(--aw-white);border-color:var(--aw-border)}.site-navigation a:hover,.mega-group a:hover,.mega-group a:focus-visible{color:var(--aw-gold-dark)}
.hero-shade,.home-page .aw-home-hero .hero-shade{background:linear-gradient(90deg,#0b1d3aed 0%,#0b1d3aaa 42%,#0b1d3a26 76%,transparent)}.hero-copy .eyebrow,.special-card .eyebrow{color:var(--aw-gold)}
.home-page .booking-card{background:var(--aw-navy);box-shadow:var(--aw-shadow)}.home-page .booking-card .booking-actions button{background:var(--aw-gold);color:var(--aw-navy)}
.home-page .support-grid article,.package-terms,.airport-group{background:var(--aw-sky)}.package-card,.fleet-card,.promo-grid article,.trip-planner{border-color:var(--aw-border);box-shadow:var(--aw-shadow-sm)}
.site-footer,.home-page .site-footer{background:var(--aw-navy);color:var(--aw-white)}.site-footer a,.site-footer .brand,.home-page .site-footer a,.home-page .site-footer .brand{color:var(--aw-white)}.site-footer h2,.home-page .site-footer h2{color:var(--aw-gold)}.legal-strip,.home-page .legal-strip{border-top:1px solid #d4a01766;background:var(--aw-navy);color:var(--aw-white)}
.fleet-page{max-width:var(--aw-content-width)}.fleet-page .fleet-card{max-width:none;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);padding:var(--aw-space-6);border:1px solid var(--aw-border)}.fleet-page h1{color:var(--aw-navy)}.fleet-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--aw-border)}.fleet-card dd{margin:0;text-align:right}.fleet-note{padding:var(--aw-space-6);border-radius:var(--aw-radius);background:var(--aw-sky);border-left:4px solid var(--aw-gold)}@media(max-width:700px){.fleet-page .fleet-card{grid-template-columns:1fr}}
