.home h1,.home h2,.home h3{font-family:var(--font-head);font-weight:400;letter-spacing:-.005em;margin:0}.home .eyb{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.home .eyb .idx{color:var(--ink-3);margin-right:12px}.home .btn--accent{background:var(--ink);color:#fff;border-color:var(--ink)}.home .btn--accent:hover{background:#000;border-color:#000}.home .btn--ink{background:var(--ink);color:#fff;border-color:var(--ink)}.home .btn--ink:hover{background:#000}.home .hhero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:0;transition:opacity 1.5s ease}.home .hhero-bg img.on{opacity:1}.home .hhero h1{font-family:var(--font-head);font-weight:400;font-size:clamp(40px,5.7vw,80px);line-height:1.04;letter-spacing:-.005em;max-width:17ch;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.5)}.home .hhero h1 em{font-style:italic}.home .hhero-search .jsearch .fields{box-shadow:0 28px 66px #00000080}.home .hhero .jsearch .go{background:#fff;color:var(--ink)}.home .hhero .jsearch .go:hover{background:#e9e9e6}.home .hhero-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}.home .hhero-cta .hhero-browse{margin-top:0}.home .hsearch{padding-block:clamp(38px,4.5vw,60px);background:var(--paper-2);border-bottom:1px solid var(--line)}.home .hsearch-head{margin-bottom:24px}.home .hsearch-head .eyb{color:var(--ink)}.home .hsearch-head h2{font-size:clamp(24px,3vw,36px);margin-top:10px}.home .hsearch-head p{font-size:15px;color:var(--ink-2);margin-top:8px;max-width:62ch}.home .hsearch .jsearch .fields{box-shadow:0 12px 34px #080a0c17;border:1px solid var(--line-2)}.home .rail-foot{margin-top:38px}.home .biglink{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px}.home .biglink:hover{opacity:.6}.home .hsec{padding-block:clamp(64px,8vw,116px)}.home .hsec--alt{background:var(--paper-3)}.home .shead{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:end;border-top:1px solid var(--ink);padding-top:20px;margin-bottom:46px}.home .shead h2{font-size:clamp(30px,3.8vw,50px);line-height:1.06;margin-top:14px;max-width:18ch}.home .shead .sld{font-size:16.5px;color:var(--ink-2);max-width:48ch}.home .steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.home .step{padding:30px 36px;border-right:1px solid var(--line)}.home .step:first-child{padding-left:0}.home .step:last-child{border-right:none;padding-right:0}.home .step .n{font-family:var(--font-head);font-size:46px;line-height:1;color:var(--ink)}.home .step h3{font-size:22px;margin:18px 0 10px}.home .step p{font-size:14.5px;color:var(--ink-2);margin:0}.home .rail{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.home .ecard{display:block;text-decoration:none;background:var(--paper-2);border:1px solid var(--line);overflow:hidden;transition:.18s}.home .ecard:hover{border-color:var(--ink);transform:translateY(-3px)}.home .ecard .ph{position:relative;aspect-ratio:3/2;overflow:hidden;background:#0b1519}.home .ecard .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}.home .ecard:hover .ph img{transform:scale(1.04)}.home .ecard .live{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#080a0c99;padding:5px 9px;backdrop-filter:blur(3px)}.home .ecard .live .d{width:6px;height:6px;border-radius:50%;background:#5fd0a8}.home .ecard .body{padding:18px 20px 22px}.home .ecard .eb{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.home .ecard h3{font-size:24px;margin:8px 0 0}.home .ecard .dt{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);margin-top:10px}.home .ecard .more{display:inline-block;margin-top:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px;transition:.16s}.home .ecard:hover .more{opacity:.6}.home .arc{display:block;width:100%;height:40px}.home .arc path{stroke:var(--line-2);stroke-width:1.4;stroke-dasharray:2 10;fill:none;stroke-linecap:round}.home .arc circle{fill:var(--ink)}.home .split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.home .split p{font-size:17px;color:var(--ink-2);max-width:52ch}.home .split p+p{margin-top:16px}.home .bigstat{position:relative;background:linear-gradient(#080a0cb3,#080a0ccc),url(https://images.unsplash.com/photo-1759614581731-4c7090648de0?fm=jpg&q=80&w=1400&auto=format&fit=crop) center/cover;color:#fff;padding:54px 40px;text-align:center}.home .bigstat .num{font-family:var(--font-head);font-size:clamp(64px,9vw,104px);line-height:.95;color:#fff}.home .bigstat .cap{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3;margin-top:14px}.home .bigstat .ss{font-size:14px;color:#fff9;margin-top:18px}.home .fleet-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:32px}.home .fleet-tabs button{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);background:none;border:1px solid var(--line-2);padding:10px 17px;cursor:pointer;transition:.15s}.home .fleet-tabs button:hover{border-color:var(--ink)}.home .fleet-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.home .fleet-feature{display:grid;grid-template-columns:1.35fr .65fr;gap:46px;align-items:center}.home .fleet-img{aspect-ratio:16/10;overflow:hidden;background:#0b1519}.home .fleet-img img{width:100%;height:100%;object-fit:cover}.home .fleet-info h3{font-size:clamp(26px,3vw,40px);line-height:1.05}.home .fleet-info .specs{display:flex;flex-wrap:wrap;gap:22px 30px;margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.home .fleet-info .specs div{font-family:var(--font-mono);font-size:14px;color:var(--ink)}.home .fleet-info .specs span{display:block;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}.home .fleet-info .ex{font-size:14px;color:var(--ink-2);margin:0 0 24px}.home .fleet-info .ex b{color:var(--ink);font-weight:500}.home .routes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.home .route{display:block;text-decoration:none;border:1px solid var(--line);padding:20px;transition:.16s;background:var(--paper-2)}.home .route:hover{border-color:var(--ink)}.home .route .pair{font-family:var(--font-head);font-size:21px}.home .route .codes{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);margin-top:6px}.home .route .save{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2);margin-top:12px}.home .route .save b{color:var(--ink);font-weight:500}.home .route .n{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;margin-top:14px}.home .trust{background:var(--ink);color:#fff;padding-block:clamp(40px,5vw,64px)}.home .trust .row{display:flex;flex-wrap:wrap;gap:34px 56px;align-items:center;justify-content:center;text-align:center}.home .trust .item{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:#ffffffd1}.home .trust .item b{display:block;font-family:var(--font-head);font-size:34px;font-weight:400;color:#fff;letter-spacing:0;margin-bottom:6px}.home .alert{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding-block:clamp(54px,7vw,90px)}.home .alert .wrapx{position:relative;z-index:2;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--wrap-pad)}.home .alert-inner{max-width:620px}.home .alertmap{position:absolute;top:0;right:-4%;width:62%;height:100%;z-index:1;opacity:.5;pointer-events:none}.home .alertmap svg{width:100%;height:100%}.home .alert .eyb{color:#ffffffb3}.home .alert h2{color:#fff;font-size:clamp(28px,3.6vw,46px);max-width:20ch;margin:14px 0 26px}.home .alertform{display:flex;gap:10px;flex-wrap:wrap;max-width:620px}.home .alertform input{flex:1;min-width:200px;padding:15px 16px;border:1px solid rgba(255,255,255,.4);background:#ffffff14;color:#fff;font-family:var(--font-mono);font-size:14px;outline:none}.home .alertform input::placeholder{color:#fff9}.home .alertform .btn{background:#fff;color:var(--ink);border-color:#fff}.home .cal{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.home .cal a{background:var(--paper);padding:18px;text-decoration:none;transition:.16s}.home .cal a:hover{background:var(--paper-2)}.home .cal .nm{font-family:var(--font-head);font-size:18px}.home .cal .eb{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:7px}.home .bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.home .bpost{display:block;text-decoration:none}.home .bpost .ph{aspect-ratio:16/10;overflow:hidden;background:#0b1519}.home .bpost .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}.home .bpost:hover .ph img{transform:scale(1.04)}.home .bpost .cat{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-top:16px}.home .bpost h3{font-size:23px;line-height:1.16;margin:9px 0 0}.home .bpost .meta{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);margin-top:10px}.home .bpost p{font-size:14px;color:var(--ink-2);margin:10px 0 0;max-width:42ch}.home .foot{background:var(--ink);color:#ffffffb3;padding-block:clamp(54px,6vw,80px)}.home .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px}.home .fbrand .b{font-family:var(--font-sans);font-weight:700;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:#fff}.home .fbrand p{font-size:13.5px;max-width:32ch;margin-top:14px}.home .fcol h4{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;font-weight:500;margin:0 0 14px}.home .fcol a{display:block;font-size:13.5px;color:#ffffffbf;text-decoration:none;margin-bottom:9px}.home .fcol a:hover{color:#fff}.home .fbase{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:24px;font-family:var(--font-mono);font-size:11px;color:#ffffff80}@media (max-width:900px){.home .shead{grid-template-columns:1fr;gap:14px}.home .steps,.home .rail,.home .routes,.home .cal,.home .bgrid{grid-template-columns:1fr 1fr}.home .fleet-feature{grid-template-columns:1fr;gap:26px}.home .step{border-right:none;border-bottom:1px solid var(--line);padding:24px 0}.home .split{grid-template-columns:1fr;gap:30px}.home .fgrid{grid-template-columns:1fr 1fr;gap:28px}}@media (max-width:640px){.home .hhero{min-height:0}.home .hhero-cap{padding-block:46px}.home .jsearch .fields{flex-direction:column}.home .jsearch .f{border-right:none;border-bottom:1px solid var(--line)}.home .jsearch .go{padding:15px;width:100%}.home .steps,.home .rail,.home .routes,.home .cal,.home .fgrid,.home .bgrid{grid-template-columns:1fr}.home .alertmap{display:none}.home .alertform input{min-width:0}.home .fleet-tabs button{padding:8px 11px;font-size:11px}.home .trust .row{gap:26px 32px}}
/* HH hero fallback */
.hhero-bg{background:linear-gradient(155deg,#0b1519,#143b44 55%,#0b1519)}
/* HH hero scrim + nav legibility */
.hhero-bg::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(8,15,18,.58),rgba(8,15,18,.12) 26%,rgba(8,15,18,.12) 58%,rgba(8,15,18,.5))}
.hhero-bg img{z-index:0}
.hhero-cap{position:relative;z-index:6}
.hhero--article h1{max-width:24ch}
.hhero--article .sub{max-width:62ch}
.hhero .art-meta{color:rgba(255,255,255,.72);margin-top:14px;font-size:13px;letter-spacing:.02em}
/* HH nav: transparent overlay on hero — legibility from hero scrim + text-shadow */
.nav--hero .brand,.nav--hero .navlinks a{text-shadow:0 1px 14px rgba(0,0,0,.55)}

/* ===================== AUDIT FIXES 2026-06-23 (authoritative; appended last) ===================== */
/* A+D. Hero nav legibility on ANY photo: subtle dark fade as the nav's own background (stays absolute, fades to transparent by its lower edge) + stronger text-shadow */
.nav--hero{background:linear-gradient(180deg,rgba(8,13,16,.58),rgba(8,13,16,0))}
.nav--hero .brand,.nav--hero .navlinks a{text-shadow:0 1px 3px rgba(0,0,0,.6),0 1px 18px rgba(0,0,0,.55)}
/* Stronger hero scrim so photos aren't washed out and white copy always reads */
.hhero-bg::after{background:linear-gradient(180deg,rgba(8,15,18,.66),rgba(8,15,18,.24) 30%,rgba(8,15,18,.24) 55%,rgba(8,15,18,.62))}
/* C. Trim the void: shorter hero + tighter first section under the homepage hero */
#how{padding-top:clamp(44px,5vw,68px)}
/* Heroless pages (solid nav): close the big gap under the sticky bar */
header.nav:not(.nav--hero)+.crumb{padding-top:clamp(22px,3vw,34px)}
header.nav:not(.nav--hero)+.crumb+section.hsec,header.nav:not(.nav--hero)+section.hsec{padding-top:clamp(30px,4vw,56px)}
/* Events index: responsive image-card grid (reuses .ecard component) */
.ecard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}
@media (max-width:560px){.ecard-grid{grid-template-columns:1fr}}

/* ===================== AUDIT FIXES REV2 2026-06-23 (authoritative; appended last) ===================== */
/* Nav legibility: real dark band across the top chrome. .nav has z-index:60, so ::before z-index:-1 still paints above the hero photo but behind the nav text */
.nav--hero{background:none}
.nav--hero::before{content:"";position:absolute;left:0;right:0;top:0;height:144px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(6,11,14,.72),rgba(6,11,14,.36) 44%,rgba(6,11,14,0))}
.nav--hero .brand,.nav--hero .navlinks a{text-shadow:0 1px 2px rgba(0,0,0,.8),0 2px 22px rgba(0,0,0,.7)}
/* breadcrumb reads light on hero pages (it sits in the dark band) */
header.nav--hero ~ .crumb,header.nav--hero ~ .crumb a{color:rgba(255,255,255,.82)}
header.nav--hero ~ .crumb b{color:#fff}
header.nav--hero ~ .crumb{border-bottom-color:rgba(255,255,255,.16)}

/* Never-miss / alert band: deep teal so it reads as its own band, not a continuation of the near-black footer */
.alert,.alert-box{background:linear-gradient(160deg,#0b1519 0%,#13343c 52%,#0b1519 100%)}

/* Quick-facts -> trust / accreditation strip: icon, even padding, cleaner cells */
.facts{background:var(--paper-2);border-top:1px solid var(--line)}
.fact{display:flex;flex-direction:column;align-items:flex-start;padding:26px 28px}
.fact .ic{width:24px;height:24px;color:var(--accent);margin-bottom:13px}
.fact .ic svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fact .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.fact .v{font-weight:700;font-size:18px;letter-spacing:-.01em;margin-top:7px;line-height:1.2}
.fact .v small{display:block;font-weight:400;font-size:12px;color:var(--ink-2);font-family:var(--font-mono);margin-top:6px;letter-spacing:0;line-height:1.45}
@media(max-width:820px){.fact{padding:20px}}

/* Journal article: readable body type at the site scale + photo-weighted hero */
.art-body{max-width:740px;margin-inline:auto}
.prose p,.prose li{font-size:18px;line-height:1.72;color:var(--ink);margin:0 0 20px}
.prose h2{font-family:var(--font-head);font-weight:400;font-size:clamp(26px,3.2vw,34px);line-height:1.18;letter-spacing:-.01em;margin:48px 0 14px}
.prose h3{font-family:var(--font-head);font-weight:400;font-size:clamp(20px,2.4vw,24px);margin:34px 0 10px}
.prose ul,.prose ol{margin:0 0 22px;padding-left:22px}
.prose li{margin:0 0 9px}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.hhero--article .hhero-cap{align-self:flex-end;padding-bottom:54px}
.hhero--article .hhero-bg::after{background:linear-gradient(180deg,rgba(8,15,18,.5),rgba(8,15,18,.12) 24%,rgba(8,15,18,.46) 64%,rgba(8,15,18,.82))}

/* ===================== AUDIT FIXES REV3 2026-06-23 (supersedes REV1/REV2 on conflict) ===================== */
/* Nav: drop the band that didn't paint; rely on a strong hero-scrim top (renders reliably — it's the hero's own ::after) */
.nav--hero::before{display:none!important}
.nav--hero{background:none}
.nav--hero .brand,.nav--hero .navlinks a{text-shadow:0 1px 2px rgba(0,0,0,.85),0 2px 24px rgba(0,0,0,.78)}
/* Breadcrumb now sits BELOW the hero on paper -> dark text again */
header.nav--hero ~ .crumb,header.nav--hero ~ .crumb a{color:var(--ink-2)}
header.nav--hero ~ .crumb b{color:var(--ink)}
header.nav--hero ~ .crumb{border-bottom-color:var(--line)}
/* Hero scrim: dark band at the very top for the nav + dark bottom for the headline (works on any photo) */
.hhero-bg::after{background:linear-gradient(180deg,rgba(8,15,18,.82) 0%,rgba(8,15,18,.34) 15%,rgba(8,15,18,.18) 40%,rgba(8,15,18,.2) 56%,rgba(8,15,18,.66) 100%)}
/* THE FIX: every hero is the homepage height from the shared sheet (events were collapsing to min-height:0) */
.hhero{min-height:clamp(600px,80vh,790px)}
/* Alert / never-miss band: same near-black as the homepage (revert teal) */
.alert,.alert-box{background:var(--ink)}
/* Quick-facts strip: no icons, original padding restored */
.facts{background:var(--paper-3);border-top:1px solid var(--line)}
.fact{display:block;padding:24px 26px 26px 0}
.fact .ic{display:none}
/* 'Where most legs originate' grid: one consistent set of dividers (legacy had conflicting nth-child rules) */
.ac{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line);padding:10px 24px 12px 24px}
.ac:nth-child(4n+1){padding-left:0}
.ac:nth-child(4n){border-right:none!important;padding-right:0}
@media(max-width:900px){.ac{padding-right:20px}.ac:nth-child(4n){border-right:1px solid var(--line)!important}.ac:nth-child(2n){border-right:none!important;padding-right:0}.ac:nth-child(2n+1){padding-left:0}}
/* Lead intro: readable measure, consistent with section copy */
.lead p{max-width:760px}

/* ===================== AUDIT FIXES REV4 2026-06-23 ===================== */
/* Predictive search dropdown must escape the hero (was clipped by overflow:hidden) */
.hhero{overflow:visible}
.hhero-bg{overflow:hidden}
.ac-menu{z-index:1200}
/* Primary action buttons: solid black (were silver gradient). These sit on light surfaces. */
.nav:not(.nav--hero) .nav-cta,.hhero-search .jsearch .go,.jsearch .go,.home .hhero-search .jsearch .go,.hsq-crow button,.qw-est,.qw-go,.table .trow .btn--enquire,.alert-box #al-submit,.alert .alertform .btn{background:#0e1518!important;color:#fff!important;border:1px solid #0e1518!important;text-shadow:none!important}
.nav:not(.nav--hero) .nav-cta:hover,.hhero-search .jsearch .go:hover,.jsearch .go:hover,.hsq-crow button:hover,.qw-est:hover,.qw-go:hover,.table .trow .btn--enquire:hover,.alert-box #al-submit:hover,.alert .alertform .btn:hover{background:#000!important;border-color:#000!important}
/* Hero nav 'Get a quote' stays an outline (a black button would vanish on a dark hero) */
.nav--hero .nav-cta{background:transparent!important;border:1px solid rgba(255,255,255,.6)!important;color:#fff!important;text-shadow:0 1px 10px rgba(0,0,0,.5)!important}
.nav--hero .nav-cta:hover{background:rgba(255,255,255,.16)!important;border-color:#fff!important}
/* Hero CTA buttons + search were ONLY in the homepage inline block -> define in the shared sheet so events/locations render them as buttons, not plain text */
.hhero-ctarow{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}
.btn--hero-outline{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border:1px solid rgba(255,255,255,.6);color:#fff;background:transparent;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:.16s;white-space:nowrap}
.btn--hero-outline:hover{background:#fff;color:var(--ink);border-color:#fff}
.hhero-search{margin-top:28px;max-width:960px}
.hhero-search .fields{border:none;box-shadow:0 28px 66px rgba(0,0,0,.5)}
/* Discount badge: white on black (was yellow/grey) */
.save{color:#fff!important;background:#0e1518!important;border:1px solid #0e1518!important}
/* Interior pages (those with a breadcrumb) carry many dense sections — tone the section headings down from the homepage's marquee scale. Homepage (no crumb) untouched. */
body:has(.crumb) .shead h2{font-size:clamp(25px,2.8vw,38px)}

/* ===================== JOURNAL — high-end editorial (REV5) ===================== */
.art-body{max-width:none;margin:0;padding-block:clamp(40px,5vw,64px) clamp(8px,2vw,20px)}
.artwrap{max-width:720px;margin-inline:auto;padding-inline:var(--wrap-pad,24px)}
.prose .standfirst{font-family:var(--font-head);font-weight:400;font-size:clamp(20px,2.2vw,25px);line-height:1.5;color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}
.prose>p.standfirst+p,.prose>p:first-of-type{}
.takeaways{background:var(--paper-3);border:1px solid var(--line);padding:24px 28px;margin:34px 0}
.takeaways h4{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:0 0 14px}
.takeaways ul{margin:0;padding-left:18px}
.takeaways li{font-size:15.5px;line-height:1.6;margin:0 0 8px;color:var(--ink)}
.prose blockquote{margin:42px 0;padding:4px 0 4px 26px;border-left:2px solid var(--accent);font-family:var(--font-head);font-weight:400;font-size:clamp(21px,2.5vw,28px);line-height:1.34;color:var(--ink);letter-spacing:-.01em}
.prose hr{border:0;border-top:1px solid var(--line);margin:46px 0}
.prose table{width:100%;border-collapse:collapse;margin:30px 0;font-size:15px}
.prose th,.prose td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45}
.prose thead th{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--ink)}
.prose tbody tr td:first-child{font-weight:600;color:var(--ink)}
.prose .endcta{margin:38px 0 4px}
.continue{padding-block:clamp(48px,6vw,84px);background:var(--paper-2);border-top:1px solid var(--line)}
.continue .shead{margin-bottom:34px}

/* ============ EVENT aircraft grid "What actually flies this" — clean dividers + balanced padding (REV6) ============ */
.acg{border-bottom:1px solid var(--line)}              /* single clean baseline instead of ragged per-card bottoms */
.acb{padding:26px 26px 32px;border-bottom:none}        /* balanced horizontal padding so text doesn't hug the divider */
.acb:nth-child(3n+1){padding-left:0}                   /* row-start cell flush to the column */
.acb:nth-child(3n){border-right:none;padding-right:0}  /* row-end cell: no trailing divider */
@media (max-width:760px){.acg{border-bottom:none}.acb{padding:22px 0 4px!important;border-right:none;border-bottom:1px solid var(--line)}.acb:last-child{border-bottom:none}}

/* ============ FACTS STRIP — breathing room under the breadcrumb + adapt to fact count (REV7) ============ */
.facts .wrap{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding-block:clamp(24px,3.4vw,36px);column-gap:28px;row-gap:22px}
.lead{padding-block:clamp(30px,3.6vw,40px) 0}
@media (max-width:760px){.facts .wrap{grid-template-columns:1fr 1fr;padding-block:24px}}

/* ===================== UNIVERSAL QUOTE FUNNEL (REV8) ===================== */
.hf-scrim{position:fixed;inset:0;background:rgba(8,12,14,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;z-index:1000;overflow:auto;padding:34px 16px}
.hf-scrim.open{display:flex}
.hf-modal{background:var(--paper-2);width:100%;max-width:560px;box-shadow:0 40px 100px rgba(0,0,0,.4);animation:hfpop .22s ease}
@keyframes hfpop{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.hf-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}
.hf-steps{display:flex;gap:7px;align-items:center}
.hf-dot{width:7px;height:7px;border-radius:50%;background:var(--line-2)}
.hf-dot.on{background:var(--ink);transform:scale(1.25)}
.hf-dot.done{background:#7fb893}
.hf-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-left:10px}
.hf-x{background:none;border:none;font-size:20px;color:var(--ink-3);line-height:1;padding:4px;cursor:pointer}
.hf-body{padding:26px 24px 28px}
.hf-chip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--paper-3);border:1px solid var(--line);padding:12px 14px;margin-bottom:20px;font-family:var(--font-mono);font-size:13px}
.hf-chip .c{font-weight:600}.hf-chip .ar{color:var(--ink-3)}
.hf-chip .meta{color:var(--ink-3);font-size:12px;flex-basis:100%}
.hf-chip.dark{background:var(--ink);border-color:var(--ink);color:#fff}.hf-chip.dark .meta{color:rgba(255,255,255,.6)}
.hf-step{display:none}.hf-step.on{display:block}
.hf-glabel{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px}
.hf-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hf-field{position:relative;margin-bottom:14px}
.hf-field input,.hf-field select{width:100%;border:1px solid var(--line-2);background:var(--paper-2);padding:13px 14px;font-family:var(--font-sans);font-size:15px;outline:none}
.hf-field input:focus,.hf-field select:focus{border-color:var(--ink)}
.hf-field .ac-menu{position:absolute;top:100%;left:0;right:0;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 20px 44px rgba(0,0,0,.22);z-index:1100;display:none;max-height:260px;overflow:auto}
.hf-field .ac-menu.open{display:block}
.hf-field .ac-opt{padding:11px 14px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);cursor:pointer}
.hf-field .ac-opt:last-child{border-bottom:none}
.hf-field .ac-opt:hover,.hf-field .ac-opt.hi{background:var(--paper-3)}
.hf-field .ac-opt .nm{font-size:14px;color:var(--ink)}.hf-field .ac-opt .ct{font-size:12px;color:var(--ink-3)}
.hf-field .ac-opt .cd{font-family:var(--font-mono);font-size:11px;color:var(--ink-2)}
.hf-cta{width:100%;background:var(--accent);color:#fff;border:none;padding:16px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:6px;cursor:pointer}
.hf-cta:hover{background:#000}
.hf-cta.hf-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-2)}.hf-cta.hf-ghost:hover{background:var(--paper-3)}
.hf-back{background:none;border:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:14px;padding:4px 0;cursor:pointer}
.hf-back:hover{color:var(--ink)}
.hf-trust{font-size:12.5px;color:var(--ink-3);margin-top:14px;text-align:center}
.hf-priceband{text-align:center;padding:8px 0 4px}
.hf-priceband .hf-lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.hf-big{font-family:var(--font-head);font-size:clamp(30px,6.4vw,44px);line-height:1.05;margin:6px 0 2px}
.hf-pp{font-size:13px;color:var(--ink-2)}
.hf-statrow{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:20px 0}
.hf-stat{padding:14px;border-right:1px solid var(--line);text-align:center}.hf-stat:last-child{border-right:none}
.hf-stat .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.hf-stat .v{font-family:var(--font-head);font-size:17px;margin-top:4px}
.hf-note{font-size:12.5px;color:var(--ink-3);line-height:1.5;margin:4px 0 20px}
.hf-done{text-align:center;padding:8px 0}
.hf-tick{width:54px;height:54px;border-radius:50%;background:#eef6f0;border:1px solid #cfe6d6;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:26px;color:#3f8c5d}
.hf-done h3{font-family:var(--font-head);font-size:26px;margin-bottom:8px}
.hf-done p{color:var(--ink-2);max-width:40ch;margin:0 auto 8px}
.hf-handoff{background:var(--paper-3);border:1px solid var(--line);padding:16px;margin:18px 0;font-size:13.5px;color:var(--ink-2);text-align:left}.hf-handoff b{color:var(--ink)}
.hf-msg{font-size:13px;color:#3f8c5d;margin-top:10px;min-height:18px}
.hf-spin{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:hfsp .7s linear infinite;vertical-align:-2px;margin-right:7px}
@keyframes hfsp{to{transform:rotate(360deg)}}
@media(max-width:600px){.hf-row2{grid-template-columns:1fr}}

/* ===================== JOURNAL long-form: two-column + sticky sidebar (REV9) ===================== */
.art-credential{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-3)}
.art-credential .wrap{display:flex;flex-wrap:wrap;gap:9px 22px;align-items:center;padding-block:13px;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--ink-2)}
.art-credential .cred{display:flex;align-items:center;gap:8px}
.art-credential .cred::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.art-layout{max-width:1180px;margin-inline:auto;padding-inline:24px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(36px,5vw,72px);padding-block:clamp(40px,5vw,64px);align-items:start}
.art-main{min-width:0;max-width:720px}
.art-side .sticky{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
.toc{border-top:1px solid var(--ink);padding-top:16px}
.toc h4,.side-card h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}
.toc a{display:block;font-size:13.5px;color:var(--ink-2);text-decoration:none;padding:6px 0;border-bottom:1px solid var(--line);line-height:1.35}
.toc a:last-child{border-bottom:none}.toc a:hover{color:var(--ink)}
.side-card{background:var(--ink);color:#fff;padding:22px 20px}
.side-card h4{color:rgba(255,255,255,.55)}
.side-card p{font-size:13.5px;color:rgba(255,255,255,.8);margin:0 0 14px;line-height:1.5}
.side-cta{display:block;width:100%;background:#fff;color:var(--ink);border:none;padding:13px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:center;text-decoration:none}
.side-cta:hover{background:var(--accent-soft)}
.side-card--soft{background:var(--paper-3);color:var(--ink);border:1px solid var(--line)}
.side-card--soft h4{color:var(--ink-3)}.side-card--soft p{color:var(--ink-2)}
.side-card--soft .side-cta{background:var(--ink);color:#fff}.side-card--soft .side-cta:hover{background:#000}
.byline{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);background:var(--paper-3);padding:18px 20px;margin:0 0 30px}
.byline .mark{flex:none;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:15px;letter-spacing:.02em}
.byline .who{font-size:14px;line-height:1.55;color:var(--ink-2)}.byline .who b{color:var(--ink)}
.qanswer{border:1px solid var(--ink);padding:24px 26px;margin:0 0 32px}
.qanswer h4{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}
.qanswer>p{font-size:17px;line-height:1.55;margin:0 0 18px;color:var(--ink)}
.qa-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.qa-stat{padding:14px 12px 2px;border-right:1px solid var(--line)}.qa-stat:last-child{border-right:none}
.qa-stat .v{font-family:var(--font-head);font-size:19px;line-height:1.1}.qa-stat .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}
@media(max-width:980px){.art-layout{grid-template-columns:1fr;max-width:760px}.art-side .sticky{position:static;flex-direction:column}.toc{display:none}}
@media(max-width:600px){.qa-stats{grid-template-columns:1fr;border-top:none}.qa-stat{border-right:none;border-top:1px solid var(--line);padding:12px 0 2px}}

/* ===================== HERO SEARCH fixes (REV10) ===================== */
.ac-menu{color:var(--ink)}                                  /* options were inheriting hero white → invisible */
.ac-menu .ac-opt,.ac-menu .ac-opt .nm{color:var(--ink)}
.ac-menu .ac-opt .ct{color:var(--ink-3)}
.ac-menu .ac-opt .cd{color:var(--ink-2)}
.jsearch .go svg,.jsearch--hero .go svg{stroke:#fff!important;opacity:1!important}  /* magnifying glass always visible */

/* ===================== HERO SEARCH + ALERT polish (REV11) ===================== */
/* See-live-prices button: white & visible on dark heroes, inverts to black on hover (fixes both the invisible CTA and the hidden magnifying glass) */
.jsearch--hero .go{background:#fff!important;color:var(--ink)!important;border:1px solid #fff!important}
.jsearch--hero .go svg{stroke:var(--ink)!important;fill:none!important;opacity:1!important}
.jsearch--hero .go:hover{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.jsearch--hero .go:hover svg{stroke:#fff!important}
/* From/To dropdown was oversized — fit it to the field */
.jsearch .ac-menu,.jsearch--hero .ac-menu{min-width:0!important;max-width:none!important;max-height:300px}
/* Alert band was the same ink as the footer and blended in — add a clear seam */
.foot{border-top:1px solid rgba(255,255,255,.16)}
.alert{border-bottom:1px solid rgba(255,255,255,.10)}

/* ===================== HOMEPAGE hero 'See live prices' — match event/destination hero buttons; fixes invisible magnifying glass (was dark icon on a dark button) (REV13) ===================== */
.home .hhero-search .jsearch--hero .go{background:#fff!important;color:var(--ink)!important;border:1px solid #fff!important}
.home .hhero-search .jsearch--hero .go svg{stroke:var(--ink)!important;fill:none!important;opacity:1!important}
.home .hhero-search .jsearch--hero .go:hover{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.home .hhero-search .jsearch--hero .go:hover svg{stroke:#fff!important}

/* ===================== REV14: site-wide hero/alert button visibility · modal USP banner · gateways grid ===================== */
/* Hero search buttons on EVERY page: white button, dark icon, invert on hover (fixes black-on-black over dark hero photos) */
.jsearch--hero .go{background:#fff!important;color:var(--ink)!important;border:1px solid #fff!important}
.jsearch--hero .go svg{stroke:var(--ink)!important;fill:none!important;opacity:1!important}
.jsearch--hero .go:hover{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.jsearch--hero .go:hover svg{stroke:#fff!important}
/* Alert CTAs ("Watch my route" / "Watch this route"): accent fill so they're visible on the dark alert panel */
.alert .alertform .btn,.alert-box #al-submit{background:var(--accent)!important;color:#0e1518!important;border:1px solid var(--accent)!important;text-shadow:none!important}
.alert .alertform .btn:hover,.alert-box #al-submit:hover{background:var(--accent-strong)!important;border-color:var(--accent-strong)!important;color:#0e1518!important}
/* Funnel modal: stop the empty chip rendering as a blank grey box, and add a persistent USP/urgency banner */
.hf-chip[hidden]{display:none!important}
.hf-usp{font-family:var(--font-mono);font-size:11px;line-height:1.55;color:var(--ink-2);background:var(--paper-3);border-left:2px solid var(--accent);padding:11px 13px;margin-bottom:18px}
.hf-usp b{color:var(--ink)}
/* Alert section explanation copy (light text on the dark panel) */
.alert .alert-note{color:rgba(255,255,255,.72);font-size:14px;line-height:1.55;max-width:46ch;margin:14px 0 22px}
/* "Where most legs originate": lone alert card spans full width so there are no empty cells / tall vertical gap */
.grid-cards{align-items:start}
.grid-cards .ac--alert{grid-column:1 / -1;border-right:none}

/* ===================== REV15: hero silver button · dropdown font · alert + article-hero spacing ===================== */
/* Hero search button: silver at rest, black on hover (distinct from the white search bar) */
.jsearch--hero .go,.home .hhero-search .jsearch--hero .go{background:#c6c6c1!important;color:var(--ink)!important;border:1px solid #c6c6c1!important}
.jsearch--hero .go svg,.home .hhero-search .jsearch--hero .go svg{stroke:var(--ink)!important;fill:none!important;opacity:1!important}
.jsearch--hero .go:hover,.home .hhero-search .jsearch--hero .go:hover{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.jsearch--hero .go:hover svg,.home .hhero-search .jsearch--hero .go:hover svg{stroke:#fff!important}
/* Typeahead dropdown option name matches the search input (mono, 14px) */
.ac-menu .ac-opt .nm{font-family:var(--font-mono)!important;font-size:14px!important;font-weight:500}
/* Alert section: heading sized to match the rest of the site; tidier vertical rhythm + form gap */
.alert h2{font-size:clamp(25px,2.8vw,38px)!important;max-width:24ch;margin:12px 0 16px!important}
.alert .alert-note{margin:0 0 22px!important}
.alertform{gap:12px!important}
/* Journal article hero: shorter than the landing hero, balanced top/bottom spacing */
.hhero--article{min-height:clamp(360px,50vh,520px)!important}
.hhero--article .hhero-cap{padding-top:clamp(40px,6vh,64px)!important;padding-bottom:clamp(48px,7vh,76px)!important}

/* ===================== REV16: required-field validation + international phone picker ===================== */
.hf-invalid,.hf-invalid:focus{border-color:#c0392b!important;box-shadow:0 0 0 1px #c0392b inset!important}
.hf-field.hf-tel{display:flex;gap:8px;align-items:stretch}
.hf-field.hf-tel #hfDial{width:auto;flex:0 0 auto;min-width:132px;max-width:162px}
.hf-field.hf-tel #hfPhone{flex:1 1 auto;min-width:0}

/* ===================== REV17: homepage hero fills the screen + even vertical rhythm + live pulse ===================== */
.home .hhero{min-height:100vh!important;min-height:100svh!important}
.home .hhero-cap{align-self:center!important;padding-top:clamp(40px,7vh,88px)!important;padding-bottom:clamp(40px,7vh,88px)!important}
.home .hhero .eyebrow{margin-bottom:16px!important}
.home .hhero h1{margin:0!important}
.home .hhero .sub{margin:16px 0 0!important;max-width:62ch}
.home .hhero-search{margin-top:26px!important}
.home .hhero-ctarow{margin-top:26px!important}
@media(max-width:640px){.hhero-ctarow{flex-direction:column;gap:10px}.hhero-ctarow .btn--hero-outline{width:100%;justify-content:center}}
@keyframes hhlive{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(95,208,168,.55)}50%{opacity:.5;box-shadow:0 0 0 5px rgba(95,208,168,0)}}
.live .d{animation:hhlive 1.8s ease-in-out infinite}
.hf-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5fd0a8;margin-right:5px;vertical-align:middle;animation:hhlive 1.8s ease-in-out infinite}

/* ===================== REV18: required-field markers + autofill normalise + tel polish ===================== */
.hf-field.req::after{content:'*';position:absolute;top:8px;right:11px;color:#c0392b;font-size:14px;line-height:1;font-family:var(--font-sans);pointer-events:none;z-index:3}
.hf-field.req:has(#hfDate)::after,.hf-field.req:has(input[type=date])::after{right:38px}
.hf-reqnote{display:block;margin:-2px 0 12px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.hf-reqnote b{color:#c0392b;font-weight:400}
.hf-field input:-webkit-autofill,.hf-field input:-webkit-autofill:hover,.hf-field input:-webkit-autofill:focus,.hf-field select:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--paper-2) inset;box-shadow:0 0 0 1000px var(--paper-2) inset;transition:background-color 9999s ease-in-out 0s}
.hf-field.hf-tel #hfDial{padding-right:30px}

/* ===================== REV19: name-only standards strip (no icons), woven under hero ===================== */
.creds{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.creds .wrap{padding-block:clamp(22px,3vw,34px);text-align:center}
.creds-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:11px 26px}
.creds-row span{font-family:var(--font-sans);font-weight:700;font-size:clamp(14px,1.4vw,18px);letter-spacing:.03em;color:var(--ink-3);text-transform:uppercase}
.creds-row b{color:var(--line-2);font-weight:400}
.creds-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--ink-3);margin:14px 0 0}

/* ===================== REV20: accreditation line at hero bottom (white on dark) ===================== */
.hhero-creds{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 18px;padding:38px 20px 16px;background:linear-gradient(180deg,transparent,rgba(8,12,15,.6));pointer-events:none;text-align:center}
.hhero-creds span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.84);text-shadow:0 1px 10px rgba(0,0,0,.6)}
.hhero-creds b{color:rgba(255,255,255,.4);font-weight:400}
@media(max-width:560px){.hhero-creds span{font-size:9.5px;letter-spacing:.12em}.hhero-creds{gap:5px 12px;padding-bottom:12px}}
