/* Homepage critical bundle. Sources: base.css, components.css, responsive.css, ebf-system.css, luxury-compete.css, ebf-enquiry.css, ebf-home.css, ebf-home-refine.css, ebf-studio.css, ebf-home-perf.css. Rebuild with scripts/build-home-critical-css.py */


/* ===== base.css ===== */
/* ============================================================
   TRAVEL BUSINESS FIRST v2 — Light "Concourse" theme
   Apple-clean canvas · champagne-gold accent · navy ink.
   Rhythm: white → warm-grey → white, navy only as anchors.
   ============================================================ */
:root{
  /* Canvas */
  --white:#FFFFFF;
  --paper:#FFFFFF;        /* warm white */
  --haze:#F8F5EF;         /* light cream band */
  --haze2:#F3F4F6;
  --sand:#E9E3D6;

  /* Navy ink + anchors */
  --navy-950:#0B1B2E;
  --navy-900:#14253D;
  --navy-800:#1C334F;
  --navy-700:#243F5F;

  /* Text */
  --ink:#14253D;          /* primary on light */
  --ink-2:#3D4C63;        /* secondary */
  --muted:#596273;        /* tertiary — WCAG-friendlier on light bg */
  --mist:#D7DEE8;         /* light text on navy */
  --muted-d:#9AABC0;      /* muted on navy */

  /* Gold accent (used with restraint) */
  --gold:#C89A3D;
  --gold-lt:#D4AE5A;
  --gold-deep:#A07A2A;
  --gold-glow:rgba(200,154,61,.28);
  --gold-tint:#F7F0E1;    /* pale gold wash for chips */

  /* Support */
  --green:#1F7A5A;
  --green-lt:#E7F3EE;
  --red:#C0392B;
  --teal:#2E8C82;

  /* Lines */
  --line:rgba(20,38,63,.10);
  --line-2:rgba(20,38,63,.16);
  --line-d:rgba(201,212,226,.16);
  --line-d2:rgba(201,212,226,.3);

  --display:"Playfair Display",Georgia,serif;
  --body:"Inter",system-ui,sans-serif;
  --data:"Inter",system-ui,sans-serif;

  --fs-hero:clamp(2.6rem,5vw,4.6rem);
  --fs-h2:clamp(1.9rem,3.4vw,3rem);
  --fs-h3:clamp(1.25rem,1.8vw,1.6rem);

  --pad:clamp(4.5rem,8vw,7rem);
  --container:1300px;
  --r-xl:28px;--r-lg:20px;--r-md:14px;--r-sm:10px;--r-pill:100px;
  --ease:cubic-bezier(.22,1,.36,1);
  --luxe:cubic-bezier(.7,0,.16,1);
  --sh-sm:0 2px 10px -3px rgba(20,38,63,.12);
  --sh:0 16px 44px -16px rgba(20,38,63,.20);
  --sh-lg:0 30px 70px -28px rgba(20,38,63,.30);
  --sh-gold:0 16px 40px -12px var(--gold-glow);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--body);
  font-size:17px;                 /* larger base — senior friendly */
  background:var(--paper);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul{list-style:none}
input,select,textarea{font:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:430;line-height:1.08;letter-spacing:-.015em;color:var(--ink)}
::selection{background:var(--gold);color:#fff}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}

.container{width:min(var(--container),92vw);margin-inline:auto}
.section{padding-block:var(--pad);position:relative}

/* Section tones */
.tone-paper{background:var(--paper)}
.tone-white{background:var(--white)}
.tone-haze{background:var(--haze)}
.tone-navy{background:linear-gradient(165deg,var(--navy-900),var(--navy-950));color:var(--ivory,#fff)}
.tone-navy h2,.tone-navy h3,.tone-navy h4{color:#fff}
.tone-navy .section-head p{color:var(--mist)}
.tone-navy .eyebrow{color:var(--gold-lt)}
.tone-navy .eyebrow::before,.tone-navy .eyebrow::after{background:linear-gradient(90deg,var(--gold-lt),transparent)}

/* Eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--data);font-size:.75rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow::before{content:"";width:32px;height:1.5px;background:linear-gradient(90deg,var(--gold-deep),transparent)}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:32px;height:1.5px;background:linear-gradient(270deg,var(--gold-deep),transparent)}

.section-head{max-width:820px;margin-bottom:clamp(2.4rem,4.5vw,3.6rem)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head h2{font-size:var(--fs-h2);margin-top:1rem}
.section-head h2 em{font-style:italic;color:var(--gold-deep)}
.tone-navy .section-head h2 em{color:var(--gold-lt)}
.section-head p{color:var(--muted);margin-top:.9rem;font-size:1.1rem;max-width:64ch}
.section-head.center p{margin-inline:auto}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,3rem)}
.head-row .section-head{margin-bottom:0}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.85rem 1.9rem;border-radius:var(--r-pill);font-weight:640;font-size:1.02rem;transition:transform .34s var(--ease),box-shadow .34s var(--ease),background .3s,color .3s;white-space:nowrap;overflow:hidden}
.btn svg{width:17px;height:17px;flex-shrink:0;transition:transform .34s var(--ease)}
.btn-gold{background:linear-gradient(135deg,var(--gold-lt),var(--gold) 58%,var(--gold-deep));color:#fff;box-shadow:var(--sh-gold)}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 22px 50px -12px var(--gold-glow)}
.btn-gold:hover svg{transform:translateX(4px)}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%);transform:translateX(-130%);animation:sheen 6s var(--luxe) infinite}
.btn-navy{background:var(--navy-900);color:#fff}
.btn-navy:hover{transform:translateY(-3px);background:var(--navy-800);box-shadow:var(--sh)}
.btn-navy:hover svg{transform:translateX(4px)}
.btn-line{border:1.5px solid var(--line-2);color:var(--ink);background:var(--white)}
.btn-line:hover{border-color:var(--gold);color:var(--gold-deep);transform:translateY(-3px);box-shadow:var(--sh-sm)}
.tone-navy .btn-line{border-color:var(--line-d2);color:#fff;background:transparent}
.tone-navy .btn-line:hover{border-color:var(--gold-lt);color:var(--gold-lt)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{transform:translateY(-3px);box-shadow:0 18px 40px -14px rgba(31,122,90,.5)}
.btn-lg{min-height:58px;font-size:1.08rem;padding:1rem 2.2rem}

/* Chips / pills */
.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:var(--r-pill);font-family:var(--data);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.pill-gold{background:var(--gold-tint);color:var(--gold-deep)}
.pill-green{background:var(--green-lt);color:var(--green)}
.pill-navy{background:var(--navy-900);color:#fff}

/* Reveals */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--luxe),transform .8s var(--luxe)}
[data-reveal].in{opacity:1;transform:none}
[data-stagger]>*{opacity:0;transform:translateY(24px);transition:opacity .7s var(--luxe),transform .7s var(--luxe)}
[data-stagger].in>*{opacity:1;transform:none}
[data-stagger].in>*:nth-child(1){transition-delay:.05s}
[data-stagger].in>*:nth-child(2){transition-delay:.1s}
[data-stagger].in>*:nth-child(3){transition-delay:.15s}
[data-stagger].in>*:nth-child(4){transition-delay:.2s}
[data-stagger].in>*:nth-child(5){transition-delay:.25s}
[data-stagger].in>*:nth-child(6){transition-delay:.3s}
[data-stagger].in>*:nth-child(7){transition-delay:.35s}
[data-stagger].in>*:nth-child(8){transition-delay:.4s}

@keyframes sheen{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes railmove{to{transform:translateX(-50%)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 var(--gold-glow)}70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes spin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01s!important;transition-duration:.01s!important;scroll-behavior:auto!important}}

/* Skip link — must live in critical CSS (pages.css is deferred on homepage) */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:100000;
  padding:.75rem 1.1rem;
  background:#14263F;
  color:#FBFAF7;
  font-weight:600;
  text-decoration:none;
  border-radius:0 0 8px 0;
}
.skip-link:focus{
  left:0;
  outline:3px solid #E4BE6A;
}

/* Keep 320px viewports from expanding the layout (~370px clamp) */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100%}
img,video,iframe{max-width:100%}
.rail{overflow:hidden;max-width:100%}
.table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:360px){
  .globe-search{min-width:0;max-width:100%;flex:1 1 auto}
  .ebf-board__search,.ebf-explore__search{flex:1 1 100%;min-width:0;max-width:100%}
  .map-flyer{min-width:0;max-width:calc(100vw - 1.5rem)}
  .container,.money-hero-grid,.ebf-blog-layout{max-width:100%}
}



/* ===== components.css ===== */
/* ============================================================
   TBF v2 — Components (light "Concourse" theme)
   ============================================================ */

/* ---- Top rail ---- */
.rail{background:var(--paper);color:var(--ink-2);font-family:var(--data);font-size:.8rem;letter-spacing:.02em;overflow:hidden;position:relative;z-index:60;border-bottom:1px solid var(--line)}
.rail-track{display:flex;gap:2.6rem;white-space:nowrap;padding:.6rem 0;width:max-content;animation:railmove 36s linear infinite}
.rail:hover .rail-track{animation-play-state:paused}
.rail-track span{color:var(--ink-2)}
.rail-track b{color:var(--gold-deep);font-weight:600}
.rail-track .dot{color:var(--gold)}

/* ---- Header ---- */
.header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.82);backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid transparent;transition:box-shadow .4s,border-color .4s,background .4s}
.header.stuck{border-bottom-color:var(--line);box-shadow:var(--sh-sm)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:.85rem 0}
.brand{display:flex;align-items:center;gap:.7rem}
.brand--logo{gap:0}
.brand-logo{display:block;height:56px;width:auto;max-width:none;object-fit:contain;object-position:left center;flex-shrink:0}
.brand-logo--footer{height:64px;max-width:240px;opacity:1;filter:none}
.brand-logo--footer-invert{filter:brightness(0) invert(1);opacity:1}
.brand--footer{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin-bottom:.35rem;text-decoration:none}
.brand-footer-name{display:block;font-family:var(--display),Georgia,serif;font-size:1.05rem;font-weight:550;line-height:1.15;color:#fff;letter-spacing:.01em}
.brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(150deg,var(--navy-800),var(--navy-950));position:relative;overflow:hidden;flex-shrink:0}
.brand-mark svg{width:23px;height:23px;position:relative;z-index:2}
.brand-mark::after{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 72%,var(--gold-glow),transparent 88%);animation:spin 7s linear infinite}
.brand-txt b{font-family:var(--display);font-size:1.16rem;font-weight:500;display:block;line-height:1;color:var(--ink)}
.brand-txt small{font-family:var(--data);font-size:.57rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);display:block;margin-top:4px}

.nav-links{display:flex;align-items:center;gap:.1rem}
.nav-links>li{position:relative}
.nav-links>li.has-mega{position:relative}
.nav-links>li>a,
.nav-links>li>.nav-mega-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem .95rem;border-radius:var(--r-pill);font-size:.98rem;font-weight:550;color:var(--ink-2);transition:color .3s,background .3s;background:none;border:0;cursor:pointer;font-family:inherit;line-height:inherit}
.nav-links>li>a:hover,
.nav-links>li>.nav-mega-btn:hover,
.nav-links>li.mega-open>.nav-mega-btn{color:var(--ink);background:var(--haze)}
.nav-links .chev{width:11px;height:11px;opacity:.55;transition:transform .3s}
.nav-links li:hover .chev,
.nav-links li.mega-open .chev{transform:rotate(180deg)}

/* Destinations mega — split panel layout */
.mega{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  width:min(720px,92vw);
  max-height:min(70vh,560px);
  padding:0;
  border-radius:18px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--sh-lg);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) translateY(8px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
  overflow:hidden;
  z-index:220;
}
.nav-links li:hover > .mega,
.nav-links li:focus-within > .mega,
.nav-links li.mega-open > .mega{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.mega--split{
  display:grid;
  grid-template-columns:minmax(220px,42%) minmax(0,1fr);
  align-items:stretch;
}
.mega--airlines{
  width:min(520px,92vw);
  padding:0;
  overflow:hidden;
}
.mega-airlines__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.15rem .75rem;
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.mega-airlines__head strong{
  font-family:var(--display),Georgia,serif;
  font-size:1.05rem;
  font-weight:550;
  color:var(--ink);
}
.mega-airlines__head span{
  font-size:.75rem;
  font-weight:650;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}
.mega-airlines__list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.15rem .35rem;
  padding:.7rem .75rem;
  max-height:min(60vh,420px);
  overflow:auto;
}
.mega-airlines__list a{
  display:block;
  padding:.65rem .75rem;
  border-radius:10px;
  color:var(--ink-2);
  font-weight:550;
  font-size:.95rem;
  text-decoration:none;
  transition:background .2s,color .2s;
}
.mega-airlines__list a:hover{
  background:var(--haze);
  color:var(--ink);
}
.mega-airlines__all{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  padding:.85rem 1rem;
  border-top:1px solid var(--line);
  background:var(--paper);
  color:var(--gold-deep);
  font-weight:650;
  font-size:.9rem;
  text-decoration:none;
}
.mega-airlines__all:hover{color:var(--ink);background:var(--haze)}
.drawer-airlines{display:flex;flex-direction:column;gap:.15rem;padding:0 0 .5rem}
.drawer-airlines > a{
  display:block;
  padding:.7rem 0;
  border-bottom:1px solid rgba(0,0,0,.06);
  color:var(--ink-2);
  font-weight:550;
  text-decoration:none;
}
.drawer-airlines > a:last-child{border-bottom:0}
@media (max-width: 1100px){
  .nav-links>li>.nav-mega-btn{padding:.55rem .7rem;font-size:.9rem}
}
.mega-side{
  display:flex;
  flex-direction:column;
  min-height:0;
  border-right:1px solid var(--line);
  background:var(--paper);
}
.mega-side__head{padding:1.05rem 1.05rem .7rem}
.mega-side__brand{display:flex;align-items:flex-start;gap:.7rem}
.mega-side__ico{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;
  display:grid;place-items:center;
  background:var(--white);border:1px solid var(--line);color:var(--gold-deep);
}
.mega-side__ico svg{width:18px;height:18px}
.mega-side__brand strong{display:block;font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.2}
.mega-side__brand small{display:block;margin-top:.2rem;font-size:.75rem;color:var(--muted)}
.mega-side__hubs{
  display:flex;flex-wrap:wrap;gap:.35rem;
  padding:.15rem .85rem .55rem;
}
.mega-side__hubs a{
  display:inline-flex;align-items:center;
  padding:.28rem .65rem;border-radius:999px;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);font-size:.72rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;text-decoration:none;
}
.mega-side__hubs a:hover{border-color:#C4400E;color:#C4400E}
.mega-side__list{
  flex:1;min-height:0;overflow:auto;padding:.25rem .55rem .55rem;
  display:flex;flex-direction:column;gap:.2rem;
  -webkit-overflow-scrolling:touch;
}
.mega-region{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto 14px;
  align-items:center;
  gap:.55rem;
  width:100%;
  padding:.62rem .7rem;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--ink-2);
  cursor:pointer;
  text-align:left;
  font:inherit;
  text-decoration:none;
  box-sizing:border-box;
  transition:background .2s,color .2s;
}
.mega-region::before{
  content:"";
  position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;
  background:transparent;transition:background .2s;
}
.mega-region:hover{background:rgba(0,0,0,.04);color:var(--ink)}
.mega-region.on{
  background:var(--white);
  color:var(--ink);
  box-shadow:0 1px 0 var(--line);
}
.mega-region.on::before{background:var(--gold-deep)}
.mega-region__ico{
  width:28px;height:28px;border-radius:8px;
  display:grid;place-items:center;
  background:var(--white);border:1px solid var(--line);color:var(--gold-deep);
}
.mega-region.on .mega-region__ico{border-color:rgba(92,26,30,.18)}
.mega-region__ico svg{width:15px;height:15px}
.mega-region__label{font-size:.9rem;font-weight:600;line-height:1.2}
.mega-region__count{
  min-width:1.55rem;height:1.4rem;padding:0 .4rem;
  border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--data);font-size:.68rem;font-weight:700;
  color:var(--muted);background:rgba(0,0,0,.05);
}
.mega-region.on .mega-region__count{color:var(--gold-deep);background:var(--gold-tint)}
.mega-region__chev{width:14px;height:14px;opacity:.4}
.mega-region.on .mega-region__chev{opacity:.7;color:var(--gold-deep)}
.mega-side__all{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:auto;padding:.9rem 1.1rem;
  border-top:1px solid var(--line);
  font-size:.88rem;font-weight:650;color:var(--gold-deep);text-decoration:none;
}
.mega-side__all:hover{text-decoration:underline}
.mega-main{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--white)}
.mega-panel{display:none;flex-direction:column;min-height:0;height:100%;max-height:min(70vh,560px)}
.mega-panel.on{display:flex}
.mega-panel[hidden]{display:none!important}
.mega-main__head{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.95rem 1.15rem;border-bottom:1px solid var(--line);flex-shrink:0;
}
.mega-main__title{display:flex;align-items:center;gap:.55rem;min-width:0}
.mega-main__ico{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
  background:var(--paper);border:1px solid var(--line);color:var(--gold-deep);
}
.mega-main__ico svg{width:15px;height:15px}
.mega-main__title a{color:inherit;text-decoration:none}
.mega-main__title a:hover{color:#C4400E}
.mega-main__title strong{font-size:1rem;font-weight:700;color:var(--ink)}
.mega-main__list a.mega-hub-link{
  color:#14202B;font-weight:700;
  border:1px solid var(--line);background:var(--paper);
}
.mega-main__list a.mega-hub-link:hover{border-color:#C4400E;color:#C4400E}
.mega-main__see{
  flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem;
  padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);
  font-size:.78rem;font-weight:650;color:var(--ink-2);text-decoration:none;background:var(--paper);
}
.mega-main__see:hover{color:var(--gold-deep);border-color:rgba(92,26,30,.25)}
.mega-main__list{
  flex:1;min-height:0;overflow:auto;padding:.45rem .55rem .7rem;
  display:flex;flex-direction:column;gap:.1rem;
  -webkit-overflow-scrolling:touch;
}
.mega-main__list a{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.7rem .85rem;border-radius:10px;
  color:var(--ink-2);text-decoration:none;font-size:.92rem;font-weight:550;
  transition:background .2s,color .2s;
}
.mega-main__list a:hover{background:var(--paper);color:var(--gold-deep)}
.mega-foot{display:none}

.nav-right{display:flex;align-items:center;gap:.7rem}
.cred-badges{display:flex;align-items:center;gap:.5rem;padding-right:.7rem;border-right:1px solid var(--line)}
.cred-badges img{height:34px;width:auto}
.nav-phone{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--data);font-weight:650;font-size:1rem;color:var(--ink)}
.nav-phone svg{width:16px;height:16px;color:var(--gold-deep)}
.nav-cta{min-height:46px;padding:.6rem 1.35rem;font-size:.94rem}
.burger{display:none;flex-direction:column;gap:5px;padding:.55rem}
.burger span{width:25px;height:2.5px;background:var(--ink);border-radius:2px;transition:.3s}

/* Drawer */
.drawer{position:fixed;inset:0;z-index:300;background:rgba(255,255,255,.98);backdrop-filter:blur(24px);padding:5.5rem 8vw 3rem;transform:translateX(100%);transition:transform .5s var(--luxe);overflow-y:auto}
.drawer.open{transform:translateX(0)}
.drawer-close{position:absolute;top:1.5rem;right:6vw;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--ink)}
.drawer > a{display:block;padding:.85rem 0;font-family:var(--display);font-size:1.5rem;color:var(--ink);border-bottom:1px solid var(--line)}
.drawer-sub{font-family:var(--data);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);padding:1.4rem 0 .4rem;border:none!important}
.drawer-dests{border-bottom:1px solid var(--line);padding-bottom:.65rem;margin-bottom:.35rem}
.drawer-hubs{padding:.15rem 0 .55rem}
.drawer-acc{border:1px solid rgba(92,26,30,.1);border-radius:12px;margin-bottom:.55rem;background:#FBF7F7;overflow:hidden}
.drawer-acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:none;border:none;cursor:pointer;font-family:var(--display);font-size:1.12rem;color:var(--ink);text-align:left}
.drawer-acc-chev{width:18px;height:18px;flex-shrink:0;color:#5C1A1E;transition:transform .28s var(--ease)}
.drawer-acc.open .drawer-acc-chev{transform:rotate(180deg)}
.drawer-acc-panel{padding:0 .85rem .75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem .55rem}
.drawer-acc-panel[hidden]{display:none!important}
.drawer-acc-panel a{display:block;padding:.5rem .45rem;font-family:var(--body);font-size:.95rem;color:var(--ink-2);border:none;border-radius:8px}
.drawer-acc-panel a.drawer-hub{
  grid-column:1/-1;font-weight:700;color:#C4400E;
}
.drawer-dests-all{display:inline-block;margin:.85rem 0 .35rem;padding:0;font-family:var(--data)!important;font-size:1rem!important;font-weight:600;color:#5C1A1E!important;border:none!important}
.drawer-contact{margin-top:1.6rem;display:flex;flex-direction:column;gap:.7rem}
.drawer-contact a{font-family:var(--data);font-size:1.05rem;border:none;padding:0;color:var(--gold-deep)}

/* ============================================================
   HERO — split: copy + card carousel + map
   ============================================================ */
.hero{position:relative;background:
  radial-gradient(120% 80% at 85% 0%, #FFF9EC 0%, transparent 45%),
  radial-gradient(90% 70% at 0% 100%, #EEF3F8 0%, transparent 50%),
  var(--paper);
  /* overflow visible so traveller/cabin dropdown is not clipped by the section below */
  overflow:visible;padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(1.2rem,2vw,1.8rem);z-index:30}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.hero-copy{max-width:560px}
.hero-kick{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.1rem;border-radius:var(--r-pill);background:var(--white);border:1px solid var(--line);box-shadow:var(--sh-sm);font-family:var(--data);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1.5rem}
.hero-kick .live{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pulse 2.2s infinite}
.hero h1{font-size:var(--fs-hero);font-weight:400}
.hero h1 em{font-style:italic;color:var(--gold-deep);position:relative}
.hero h1 .strike{position:relative;white-space:nowrap}
.hero h1 .strike::after{content:"";position:absolute;left:-2%;right:-2%;top:52%;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;animation:strike 1s var(--luxe) 1.2s forwards}
@keyframes strike{to{transform:scaleX(1)}}
.hero-sub{margin-top:1.5rem;max-width:48ch;color:var(--ink-2);font-size:1.14rem}
.hero-cta{margin-top:2rem;display:flex;gap:.9rem;flex-wrap:wrap}
.hero-assure{margin-top:1.8rem;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center}
.hero-assure .a{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted)}
.hero-assure .a svg{width:18px;height:18px;color:var(--green)}
.hero-assure .div{width:1px;height:18px;background:var(--line-2)}

/* Hero card carousel */
.hero-stage{position:relative}
.promo-carousel{position:relative;perspective:1600px}
.promo-viewport{position:relative;height:clamp(440px,52vw,560px)}
.promo-card{position:absolute;inset:0;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(160deg,var(--navy-800),var(--navy-950));box-shadow:var(--sh-lg);opacity:0;transform:translateX(60px) scale(.94);transition:opacity .8s var(--luxe),transform .8s var(--luxe);pointer-events:none;border:1px solid rgba(255,255,255,.08)}
.promo-card.active{opacity:1;transform:none;pointer-events:auto}
.promo-card.prev{opacity:0;transform:translateX(-60px) scale(.94)}
.promo-media{position:absolute;inset:0}
.promo-media img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.promo-media::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(8,21,43,.78) 18%,rgba(8,21,43,.42) 52%,rgba(8,21,43,.22) 78%,rgba(8,21,43,.12));pointer-events:none}
.promo-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;padding:clamp(1.4rem,2.6vw,2.2rem)}
.promo-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.promo-quote-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:var(--navy-950);font-family:var(--data);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .9rem;border-radius:var(--r-pill)}
.promo-rating{text-align:right;color:#fff}
.promo-rating .r{font-family:var(--data);font-weight:700;font-size:.92rem}
.promo-rating .stars{color:var(--gold-lt);font-size:.82rem;letter-spacing:2px}
.promo-rating small{display:block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.promo-city{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,4.6vw,3.6rem);color:#fff;line-height:.95;margin-top:auto}
.promo-class{font-family:var(--data);font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-lt);margin-top:.5rem}
.promo-fareline{display:flex;align-items:flex-end;gap:1.2rem;margin-top:1.1rem;flex-wrap:wrap}
.promo-fare .lbl{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.promo-fare .amt{font-family:var(--data);font-weight:700;font-size:clamp(2rem,3.6vw,2.8rem);color:#fff;line-height:1}
.promo-fare .amt small{font-size:.9rem;color:var(--mist);font-weight:500}
.promo-save{background:var(--green);color:#fff;font-family:var(--data);font-weight:700;font-size:1rem;padding:.5rem 1rem;border-radius:var(--r-sm)}
.promo-table{margin-top:1.1rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);overflow:hidden;backdrop-filter:blur(4px)}
.promo-table .trow{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;padding:.5rem .9rem;font-size:.82rem}
.promo-table .trow+.trow{border-top:1px solid rgba(255,255,255,.09)}
.promo-table .th{background:rgba(0,0,0,.2);font-family:var(--data);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mist)}
.promo-table .apt{color:#fff;font-weight:600}
.promo-table .old{color:#FF9B8A;text-decoration:line-through;font-family:var(--data)}
.promo-table .new{color:var(--gold-lt);font-family:var(--data);font-weight:700}
.promo-trust{display:flex;gap:1.2rem;margin-top:1rem;flex-wrap:wrap}
.promo-trust .t{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--mist)}
.promo-trust .t svg{width:15px;height:15px;color:var(--gold-lt)}
.promo-cta{display:flex;gap:.7rem;margin-top:1.1rem;flex-wrap:wrap}
.promo-cta .btn{min-height:46px;font-size:.92rem;padding:.6rem 1.3rem}

/* Carousel controls */
.promo-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1.2rem}
.promo-dots{display:flex;gap:.5rem}
.promo-dots button{width:9px;height:9px;border-radius:50%;background:var(--line-2);transition:.3s}
.promo-dots button.on{width:26px;border-radius:var(--r-pill);background:var(--gold)}
.promo-arrows{display:flex;gap:.5rem}
.promo-arrows button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--white);display:grid;place-items:center;color:var(--ink);transition:.3s;box-shadow:var(--sh-sm)}
.promo-arrows button:hover{border-color:var(--gold);color:var(--gold-deep);transform:translateY(-2px)}
.promo-arrows svg{width:18px;height:18px}

/* ============================================================
   SEARCH DOCK
   ============================================================ */
.dock-wrap{position:relative;z-index:80;margin-top:clamp(2rem,4vw,3.2rem)}
.dock{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.15rem 1.25rem;box-shadow:var(--sh-lg);overflow:visible;position:relative;z-index:81}
.dock-top{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.85rem;position:relative;z-index:82}
.seg{display:inline-flex;background:var(--haze);border-radius:var(--r-pill);padding:3px}
.seg button{min-height:36px;padding:.4rem 1.05rem;border-radius:var(--r-pill);font-size:.88rem;font-weight:600;color:var(--muted);transition:.3s}
.seg button.on{background:var(--white);color:var(--navy-900);box-shadow:var(--sh-sm)}
.dock-pax{position:relative;margin-left:auto;z-index:90}
.pax-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:36px;padding:.4rem 1rem;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:.88rem;color:var(--ink);transition:.3s}
.pax-btn:hover{border-color:var(--gold)}
.pax-btn svg{width:15px;height:15px;color:var(--muted)}
.pax-pop{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:1.2rem;box-shadow:var(--sh-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s var(--ease);z-index:120;pointer-events:none}
.pax-pop.open{pointer-events:auto}
.pax-pop.open{opacity:1;visibility:visible;transform:none}
.pax-row{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0}
.pax-row+.pax-row{border-top:1px solid var(--line)}
.pax-row .lbl b{display:block;font-size:.95rem;font-weight:650}
.pax-row .lbl small{font-size:.76rem;color:var(--muted)}
.stepper{display:flex;align-items:center;gap:.75rem}
.stepper button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--gold-deep);font-size:1.1rem;transition:.25s}
.stepper button:hover{border-color:var(--gold);background:var(--gold-tint)}
.stepper span{font-family:var(--data);font-weight:650;min-width:18px;text-align:center}
.pax-cabins{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.pax-cabins label{padding:.6rem .8rem;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:.86rem;text-align:center;cursor:pointer;transition:.25s;color:var(--ink-2)}
.pax-cabins input{display:none}
.pax-cabins label:has(input:checked){border-color:var(--gold);background:var(--gold-tint);color:var(--gold-deep);font-weight:600}

.dock-fields{display:grid;grid-template-columns:minmax(0,1.25fr) auto minmax(0,1.25fr) minmax(220px,1.7fr) auto;gap:.55rem;align-items:center}
.dock-dates{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;min-width:0;align-items:stretch}
.dock-dates .field{min-width:0}
.dock-dates .field input{min-width:0;width:100%}

/* Multi-city dock */
.dock-multicity{display:flex;flex-direction:column;gap:.65rem}
.dock-multicity[hidden],#dockSimpleFields[hidden]{display:none!important}
.mc-legs{display:flex;flex-direction:column;gap:.55rem}
.mc-leg{padding:.55rem .65rem;background:var(--haze);border-radius:var(--r-md);border:1px solid var(--line)}
.mc-leg__label{font-family:var(--data);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.mc-leg__row{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1.2fr) minmax(140px,1fr) auto;gap:.45rem;align-items:center}
.mc-leg .field{background:var(--white)}
.mc-remove{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);background:var(--white);color:var(--muted);font-size:1.25rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:.2s}
.mc-remove:hover{border-color:#b33;color:#b33}
.mc-remove[hidden]{display:none!important}
.mc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem}
.mc-add{min-height:40px;padding:.45rem 1rem;border:1px dashed var(--line-2);border-radius:var(--r-pill);background:transparent;color:var(--gold-deep);font-weight:600;font-size:.88rem;cursor:pointer;transition:.25s}
.mc-add:hover{border-color:var(--gold);background:var(--gold-tint)}
.mc-add:disabled{opacity:.45;cursor:not-allowed}
.mc-toolbar .dock-search{margin-left:auto}
.field{position:relative;background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-md);padding:.42rem .75rem .48rem;min-height:0;transition:border-color .3s,box-shadow .3s}
.field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}
.field label{display:block;font-family:var(--data);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.1rem;line-height:1.2}
.field input{width:100%;background:none;border:none;outline:none;color:var(--ink);font-size:.95rem;font-weight:550;line-height:1.25;min-height:1.45rem;padding:0}
.field input::placeholder{color:var(--muted);font-weight:400}
.field .ico{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted);pointer-events:none}
.swap{align-self:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);background:var(--white);display:grid;place-items:center;color:var(--gold-deep);transition:.3s;flex-shrink:0;box-shadow:var(--sh-sm)}
.swap:hover{transform:rotate(180deg);border-color:var(--gold)}
.swap svg{width:14px;height:14px}
.dock-search{align-self:center;min-height:48px!important;height:48px;padding:0 1.35rem!important;font-size:.92rem!important;justify-content:center;border-radius:12px!important}
.dock-search .plane{width:16px;height:16px;transition:transform .4s var(--ease)}
.dock-search:hover .plane{transform:translateX(5px) translateY(-3px)}
.dock input[type="date"]{min-height:1.45rem!important;font-size:.9rem}
.suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-lg);z-index:60;display:none}
.suggest.open{display:block}
.suggest button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.7rem 1rem;text-align:left;transition:background .25s}
.suggest button:hover{background:var(--gold-tint)}
.suggest .ap-code{font-family:var(--data);font-weight:700;font-size:.84rem;color:var(--gold-deep);width:42px}
.suggest .ap-name{font-size:.9rem;color:var(--ink-2)}
.dock-extras{display:flex;gap:1.1rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line);flex-wrap:wrap}
.dock-extras label{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;color:var(--ink-2);cursor:pointer}
.dock-extras input{accent-color:var(--gold);width:15px;height:15px}

/* ============================================================
   TRUST STRIP (logos)
   ============================================================ */
.trustbar{border-block:1px solid var(--line);background:var(--white);position:relative;z-index:1}
.trustbar-inner{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap;padding:1.4rem 0}
.trustbar .tb{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--muted);font-weight:500}
.trustbar .tb svg{width:20px;height:20px;color:var(--gold-deep)}
.trustbar .tb b{color:var(--ink);font-weight:650}

/* ============================================================
   STATS
   ============================================================ */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.stat{text-align:center;padding:2rem 1.2rem;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);transition:transform .4s var(--ease),box-shadow .4s}
.stat:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.stat .num{font-family:var(--data);font-weight:700;font-size:clamp(2rem,3.2vw,2.7rem);color:var(--navy-900);line-height:1}
.stat .num .suf{color:var(--gold-deep)}
.stat .lbl{font-size:.9rem;color:var(--muted);margin-top:.5rem}

/* ============================================================
   PILLARS (why book)
   ============================================================ */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.pillar{padding:2.2rem 2rem;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);transition:transform .4s var(--ease),box-shadow .4s}
.pillar:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.pillar-ico{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(150deg,var(--navy-800),var(--navy-950));margin-bottom:1.3rem}
.pillar-ico svg{width:27px;height:27px;color:var(--gold-lt)}
.pillar h3{font-size:var(--fs-h3);margin-bottom:.6rem}
.pillar p{color:var(--muted);font-size:.98rem}

/* ============================================================
   POPULAR DESTINATIONS — 4-cabin fare cards + slider
   ============================================================ */
.slider{position:relative;overflow:hidden;touch-action:pan-y;-webkit-mask:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent);mask:linear-gradient(90deg,transparent,#000 1.5%,#000 98.5%,transparent)}
.slider-track{display:flex;gap:1.3rem;padding:.4rem .2rem 1.4rem;will-change:transform;cursor:grab;user-select:none}
.slider-track:active{cursor:grabbing}
.slider-track>*{flex:0 0 auto}
.slider-track img{-webkit-user-drag:none;user-drag:none;pointer-events:none}
.slider-arrows{display:flex;gap:.5rem}
.slarr{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);background:var(--white);display:grid;place-items:center;color:var(--ink);transition:.3s;box-shadow:var(--sh-sm)}
.slarr:hover{border-color:var(--gold);color:var(--gold-deep);transform:translateY(-2px)}
.slarr:disabled{opacity:.35;cursor:default;transform:none}
.slarr svg{width:19px;height:19px}

/* Native-scroll slider variant (used where content is filterable, e.g. Popular Destinations) */
.slider[data-slider="scroll"]{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.slider[data-slider="scroll"]::-webkit-scrollbar{display:none}
.slider[data-slider="scroll"] .slider-track{will-change:auto}
.slider[data-slider="scroll"] .slider-track>*{scroll-snap-align:start}

.pd-card{width:300px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .4s var(--ease),box-shadow .4s}
.pd-card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.pd-media{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--haze)}
.pd-media img{width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .7s var(--luxe)}
.pd-card:hover .pd-media img{transform:scale(1.04)}
.pd-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,21,43,.62));pointer-events:none}
.pd-name{position:absolute;left:1.1rem;bottom:.9rem;z-index:2;font-family:var(--display);font-weight:600;font-size:1.5rem;color:#fff}
.pd-flag{position:absolute;top:.9rem;left:.9rem;z-index:2}
.pd-body{padding:1.1rem 1.2rem 1.3rem}
.pd-cabins{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}
.pd-cab{padding:.55rem .7rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm)}
.pd-cab .c{font-family:var(--data);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pd-cab .p{font-family:var(--data);font-weight:700;font-size:1.05rem;color:var(--navy-900)}
.pd-cab.hi{background:var(--gold-tint);border-color:rgba(199,154,63,.35)}
.pd-cab.hi .p{color:var(--gold-deep)}
.pd-foot{display:flex;gap:.6rem}
.pd-foot .btn{flex:1;min-height:46px;font-size:.9rem;padding:.55rem 1rem}

/* ============================================================
   TOP SELLING (image + overlay)
   ============================================================ */
.ts-card{width:340px;position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);aspect-ratio:4/5;display:block;color:inherit;text-decoration:none;background:var(--navy-950)}
.ts-card img{width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .7s var(--luxe)}
.ts-card:hover img{transform:scale(1.04)}
.ts-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,21,43,.08) 18%,rgba(8,21,43,.55) 48%,rgba(8,21,43,.96) 100%);pointer-events:none}
.ts-body{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;color:#fff}
.ts-rating{position:absolute;top:1rem;right:1rem;z-index:3;display:flex;align-items:center;gap:.35rem;background:rgba(8,21,43,.55);backdrop-filter:blur(8px);padding:.35rem .7rem;border-radius:var(--r-pill);font-family:var(--data);font-size:.78rem;font-weight:600;color:#fff}
.ts-rating svg{width:13px;height:13px;fill:var(--gold-lt)}
.ts-body h3,.ts-body h4{color:#fff!important;font-size:1.5rem;margin-bottom:.4rem;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.ts-body p{font-size:.88rem;color:rgba(255,255,255,.95)!important;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 8px rgba(0,0,0,.5);line-height:1.45}
.ts-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.ts-foot .from{font-size:.7rem;color:rgba(255,255,255,.78)}
.ts-foot .price{font-family:var(--data);font-weight:700;font-size:1.5rem;color:var(--gold-lt)}
.ts-ctas{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.85rem}
.ts-ctas .btn{min-height:40px;font-size:.78rem;padding:.45rem .9rem}
.ts-ctas .btn-wa{background:#25D366;border-color:#25D366;color:#fff}
.ts-ctas .btn-wa:hover{filter:brightness(.95);color:#fff}
.ts-ctas .btn-call{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff}
.ts-ctas .btn-call:hover{background:rgba(255,255,255,.22);color:#fff}
.ts-ctas .btn-view{min-height:40px;font-size:.78rem;padding:.45rem .9rem}

/* ============================================================
   BEST OF MONTH (tall editorial)
   ============================================================ */
.bm-card{width:280px;position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4;box-shadow:var(--sh);display:block;color:inherit;text-decoration:none;background:var(--navy-950)}
.bm-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--luxe)}
.bm-card:hover img{transform:scale(1.09)}
.bm-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,21,43,.45),transparent 32%,rgba(8,21,43,.92));pointer-events:none}
.bm-top{position:absolute;top:1rem;left:1rem;z-index:2}
.bm-body{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;color:#fff}
.bm-body h3,.bm-body h4{color:#fff;font-size:1.35rem;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.bm-body .bm-desc{font-size:.8rem;color:rgba(255,255,255,.9);margin:.45rem 0 .55rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.bm-body .from{font-size:.7rem;color:rgba(255,255,255,.78);margin-top:.35rem}
.bm-body .price{font-family:var(--data);font-weight:700;font-size:1.55rem;color:var(--gold-lt)}
.bm-ctas{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.85rem}
.bm-ctas .btn{min-height:38px;font-size:.74rem;padding:.4rem .75rem}
.bm-ctas .btn-wa{background:#25D366;border-color:#25D366;color:#fff}
.bm-ctas .btn-call{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff}
.bm-arrow{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);display:grid;place-items:center;position:absolute;bottom:1.4rem;right:1.4rem;z-index:3;color:#fff;transition:.35s}
.bm-card:hover .bm-arrow{background:var(--gold);color:var(--navy-950)}
.bm-arrow svg{width:17px;height:17px}

/* ============================================================
   CABIN SHOWCASE
   ============================================================ */
.cabin{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);border:1px solid var(--line);background:var(--white)}
.cabin-media{position:relative;min-height:520px;overflow:hidden;background:var(--haze)}
.cabin-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cabin-body{padding:clamp(2.4rem,4vw,3.6rem);background:var(--white);color:var(--ink);display:flex;flex-direction:column;justify-content:center}
.cabin-body h2,.cabin-body h3{color:var(--ink);font-size:var(--fs-h2);margin:1rem 0 1.1rem}
.cabin-body h2 em,.cabin-body h3 em{font-style:italic;color:var(--gold-deep)}
.cabin-body>p{color:var(--muted)}
.cabin-feats{display:flex;flex-direction:column;gap:1.1rem;margin:1.6rem 0 2rem}
.cabin-feat{display:flex;gap:1rem;align-items:flex-start}
.cabin-feat .fi{width:46px;height:46px;border-radius:12px;background:var(--gold-tint);border:1px solid rgba(199,154,63,.3);display:grid;place-items:center;flex-shrink:0}
.cabin-feat .fi svg{width:22px;height:22px;color:var(--gold-deep)}
.cabin-feat h4{color:var(--ink);font-family:var(--body);font-weight:650;font-size:1.05rem;margin-bottom:.2rem}
.cabin-feat p{font-size:.9rem;color:var(--muted)}

/* Cabin & Lounge tabbed showcase */
.cl-media{position:relative}
.cl-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s var(--luxe)}
.cl-img.on{opacity:1}
.cl-tabs{display:flex;gap:.4rem;margin-bottom:1.6rem;flex-wrap:wrap}
.cl-tab{padding:.55rem 1.1rem;border-radius:var(--r-pill);font-size:.86rem;color:var(--ink-2);border:1px solid var(--line-2);transition:.3s var(--ease);background:var(--paper)}
.cl-tab:hover{border-color:var(--gold);color:var(--ink)}
.cl-tab.on{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:650}
.cl-pane{display:none}
.cl-pane.on{display:block;animation:clFade .5s var(--ease)}
@keyframes clFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ============================================================
   THE DIFFERENCE — storytelling comparison
   ============================================================ */
.diff-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:clamp(1.6rem,3vw,2.6rem);overflow:hidden}
.diff-heads{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:1.6rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line)}
.diff-head{display:flex;align-items:center;gap:.8rem}
.diff-head.us{justify-content:flex-end;text-align:right}
.diff-head b{font-family:var(--display);font-size:1.2rem;font-weight:500;color:var(--ink)}
.diff-head.us b{color:var(--gold-deep)}
.dh-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.diff-head.diy .dh-ico{background:var(--haze);color:var(--muted)}
.diff-head.us .dh-ico{background:var(--gold-tint);color:var(--gold-deep);order:2}
.diff-head.us b{order:1}
.dh-ico svg{width:21px;height:21px}
.diff-vs{font-family:var(--data);font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--ink);background:var(--haze);border:1px solid var(--line);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}

.diff-rows{display:flex;flex-direction:column}
.diff-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.2rem;padding:1.05rem 0;border-radius:var(--r-md);transition:background .3s}
.diff-row:hover{background:var(--paper)}
.diff-row+.diff-row{border-top:1px solid var(--line)}
.d-diy,.d-us{display:flex;align-items:flex-start;gap:.7rem;font-size:.98rem;line-height:1.5}
.d-diy{color:var(--muted)}
.d-us{color:var(--ink);font-weight:550}
.d-mid{width:1px;align-self:stretch;background:var(--line-2)}
.d-diy .x{color:#C7A9A0;font-size:1rem;flex-shrink:0;margin-top:.15rem}
.d-us .ck{color:var(--green);font-size:1.05rem;font-weight:700;flex-shrink:0;margin-top:.1rem}
.diff-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem;padding-top:2rem;border-top:1px solid var(--line)}

/* ============================================================
   DEALS — fancy slider cards with CTA
   ============================================================ */
.deal-card{width:330px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s}
.deal-card:hover{transform:translateY(-7px);box-shadow:var(--sh-lg)}
.deal-media{position:relative;aspect-ratio:3/2;overflow:hidden}
.deal-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--luxe)}
.deal-card:hover .deal-media img{transform:scale(1.08)}
.deal-badge{position:absolute;top:.9rem;left:.9rem;z-index:2}
.deal-stars{position:absolute;top:.9rem;right:.9rem;z-index:2;display:flex;gap:2px;padding:.3rem .55rem;background:rgba(255,255,255,.92);border-radius:var(--r-pill);box-shadow:var(--sh-sm)}
.deal-stars svg{width:11px;height:11px;fill:var(--gold)}
.deal-body{padding:1.3rem;display:flex;flex-direction:column;flex:1}
.deal-body h3,.deal-body h4{font-size:1.15rem;margin-bottom:.5rem}
.deal-meta{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted);margin-bottom:.7rem}
.deal-meta svg{width:14px;height:14px;color:var(--gold-deep)}
.deal-body .desc{font-size:.86rem;color:var(--muted);flex:1;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.deal-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:1rem;border-top:1px solid var(--line)}
.deal-foot .pr .from{font-size:.68rem;color:var(--muted);display:block}
.deal-foot .pr .price{font-family:var(--data);font-weight:700;font-size:1.4rem;color:var(--navy-900)}
.deal-foot .pr .price small{font-size:.64rem;color:var(--muted);font-weight:500}
.deal-foot .btn{min-height:44px;font-size:.88rem;padding:.5rem 1.2rem}

/* ============================================================
   SEO CONTENT BLOCK (about / 50% saving)
   ============================================================ */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.about-visual{position:relative}
.about-visual .av-main{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4/5}
.about-visual .av-main img{width:100%;height:100%;object-fit:cover}
.about-badge{position:absolute;bottom:-24px;left:-24px;background:var(--white);border-radius:var(--r-lg);padding:1.2rem 1.5rem;box-shadow:var(--sh-lg);border:1px solid var(--line)}
.about-badge .b-num{font-family:var(--data);font-weight:700;font-size:2.2rem;color:var(--gold-deep);line-height:1}
.about-badge .b-lbl{font-size:.82rem;color:var(--muted)}
.about-copy .prose{color:var(--ink-2)}
.about-copy .prose p{margin-bottom:1rem}
.about-copy .prose h3{font-size:1.3rem;color:var(--ink);margin:1.5rem 0 .6rem}
.about-copy .prose.clamp{max-height:16rem;overflow:hidden;position:relative;transition:max-height .6s var(--ease)}
.about-copy .prose.clamp::after{content:"";position:absolute;bottom:0;left:0;right:0;height:6rem;background:linear-gradient(transparent,var(--paper))}
.about-copy .prose.open{max-height:200rem}
.about-copy .prose.open::after{display:none}
.readmore{margin-top:1.2rem;display:inline-flex;align-items:center;gap:.5rem;color:var(--gold-deep);font-weight:650;font-family:var(--data);font-size:.92rem}
.readmore svg{width:16px;height:16px;transition:transform .3s}
.readmore.open svg{transform:rotate(180deg)}
.about-highlights{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.about-highlights .h{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--white);border:1px solid var(--line);border-radius:var(--r-pill);font-size:.88rem;box-shadow:var(--sh-sm)}
.about-highlights .h svg{width:16px;height:16px;color:var(--green)}

/* ============================================================
   SPECIALIST
   ============================================================ */
.spec{display:grid;grid-template-columns:.85fr 1.15fr;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);border:1px solid var(--line);background:var(--white)}
.spec-photo{position:relative;background:var(--haze);display:grid;place-items:center;min-height:440px;overflow:hidden}
.spec-photo::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,var(--gold-glow),transparent 65%);opacity:.35;filter:blur(30px)}
.spec-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:1}
.spec-photo.has-img::before{opacity:.15}
.spec-avatar{position:relative;width:210px;height:210px;border-radius:50%;background:var(--white);border:2px solid rgba(199,154,63,.45);display:grid;place-items:center;box-shadow:var(--sh-sm);z-index:2}
.spec-photo.has-img .spec-avatar{display:none}
.spec-avatar svg{width:94px;height:94px;color:var(--gold-deep)}
.spec-avatar .ring{position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgba(199,154,63,.35);animation:spin 22s linear infinite}
.spec-body{padding:clamp(2.4rem,4vw,3.4rem);background:var(--white);color:var(--ink);display:flex;flex-direction:column;justify-content:center}
.spec-body h2{color:var(--ink);font-size:var(--fs-h2);margin:1rem 0 .4rem}
.spec-body h2 em{font-style:italic;color:var(--gold-deep)}
.spec-title{font-family:var(--data);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1.4rem}
.spec-quote{font-family:var(--display);font-style:italic;font-size:1.35rem;line-height:1.5;color:var(--ink);margin-bottom:1.5rem}
.spec-review{padding:1.2rem 1.4rem;background:var(--paper);border-left:2px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;margin-bottom:1.8rem}
.spec-review p{font-size:.94rem;color:var(--ink-2)}
.spec-review cite{display:block;margin-top:.6rem;font-style:normal;font-family:var(--data);font-size:.8rem;color:var(--gold-deep)}
.spec-actions{display:flex;gap:.9rem;flex-wrap:wrap}

/* ============================================================
   REVIEWS
   ============================================================ */
.rev-row{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rev-track{display:flex;gap:1.3rem;width:max-content;animation:railmove 58s linear infinite;padding-block:.5rem}
.rev-row:hover .rev-track{animation-play-state:paused}
.rev-row.rev-rev .rev-track{animation-direction:reverse;animation-duration:70s}
.rev-row+.rev-row{margin-top:1.3rem}
.rev-card{width:400px;flex-shrink:0;padding:1.7rem;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);box-shadow:var(--sh-sm)}
.rev-stars{display:flex;gap:2px;margin-bottom:.9rem}
.rev-stars svg{width:15px;height:15px;fill:var(--gold)}
.rev-card p{font-size:.96rem;color:var(--ink-2);line-height:1.6}
.rev-who{display:flex;align-items:center;gap:.75rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.rev-av{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.rev-who b{font-size:.94rem;font-weight:650;display:block;color:var(--ink)}
.rev-who small{font-size:.74rem;color:var(--gold-deep);font-family:var(--data)}

/* ============================================================
   PARTNERS
   ============================================================ */
.partners-row{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.partners-track{display:flex;gap:3.4rem;align-items:center;width:max-content;animation:railmove 42s linear infinite}
.partners-row:hover .partners-track{animation-play-state:paused}
.partners-track img{height:44px;width:auto;opacity:.85;filter:none;transition:.4s;object-fit:contain}
.partners-track img:hover{opacity:1;transform:scale(1.04)}

/* ============================================================
   TRAVEL GUIDES / BLOG
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.blog-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.blog-media{aspect-ratio:16/10;overflow:hidden}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--luxe)}
.blog-card:hover .blog-media img{transform:scale(1.06)}
.blog-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.blog-body h3,.blog-body h4{font-size:1.2rem;line-height:1.25;margin-bottom:.7rem}
.blog-body h3 a:hover,.blog-body h4 a:hover{color:var(--gold-deep)}
.blog-body .ex{font-size:.9rem;color:var(--muted);flex:1}
.blog-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.82rem}
.blog-foot time{color:var(--muted);font-family:var(--data)}
.blog-foot a{color:var(--gold-deep);font-weight:650}

/* ============================================================
   FAQ
   ============================================================ */
.faq-wrap{max-width:860px;margin-inline:auto}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:.8rem;overflow:hidden;box-shadow:var(--sh-sm);transition:box-shadow .3s}
.faq-item.open{box-shadow:var(--sh)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.5rem;text-align:left;font-family:var(--display);font-size:1.12rem;color:var(--ink);font-weight:500}
.faq-q .pm{width:32px;height:32px;flex-shrink:0;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--gold-deep);transition:.35s;position:relative}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:currentColor;border-radius:2px}
.faq-q .pm::before{width:13px;height:2px}
.faq-q .pm::after{width:2px;height:13px;transition:transform .35s}
.faq-item.open .pm{background:var(--gold);border-color:var(--gold);color:#fff}
.faq-item.open .pm::after{transform:scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a-in{padding:0 1.5rem 1.4rem;color:var(--ink-2);font-size:1rem}

/* ============================================================
   WHERE WE FLY — interactive 3D globe (UK hub)
   ============================================================ */
.fly-map{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(1.2rem,2.4vw,1.8rem);align-items:stretch}
.fly-canvas-wrap{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh);padding:clamp(1.2rem,2.4vw,1.8rem);display:flex;flex-direction:column}
.globe-toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;justify-content:space-between;margin-bottom:1rem}
.globe-regions{display:flex;flex-wrap:wrap;gap:.4rem;max-width:100%}
.globe-region{padding:.38rem .8rem;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--ink-2);border:1px solid var(--line);background:var(--paper);transition:.25s var(--ease);cursor:pointer}
.globe-region:hover{border-color:var(--gold);color:var(--ink)}
.globe-region.on{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.globe-search{position:relative;flex:1;min-width:160px;max-width:240px}
.globe-search svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted);pointer-events:none}
.globe-search input{width:100%;padding:.5rem .75rem .5rem 2.1rem;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper);font-size:.85rem;color:var(--ink)}
.globe-search input:focus{outline:2px solid rgba(235,108,111,.35);border-color:var(--gold)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.map-canvas.globe-canvas{position:relative;width:100%;aspect-ratio:1/1;min-height:300px;max-height:560px;display:block;padding:0;margin:0;background:radial-gradient(circle at 48% 42%, #243d52 0%, #0f1c28 52%, #081018 100%);border-radius:var(--r-lg);overflow:hidden}
.globe-viz{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;overflow:hidden;box-shadow:none;cursor:grab}
.globe-viz:active{cursor:grabbing}
.globe-viz canvas{display:block!important;width:100%!important;height:100%!important;border-radius:0;transform:none}
.globe-fallback{padding:2rem;text-align:center;color:rgba(255,255,255,.75);font-size:.9rem}
.globe-hint{position:absolute;left:0;right:0;bottom:.55rem;text-align:center;font-size:.76rem;color:rgba(255,255,255,.72);font-family:var(--data);letter-spacing:.04em;z-index:3;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.45)}

/* Crisp HTML pins on the globe */
.gpin{position:relative;width:18px;height:18px;padding:0;border:0;background:transparent;cursor:pointer;transform:translate(-50%,-50%);z-index:2}
.gpin-dot{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#EB6C6F;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.gpin-ring{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:1.5px solid rgba(235,108,111,.55);opacity:.9;pointer-events:none}
.gpin.is-hub .gpin-dot{width:12px;height:12px;margin:-6px 0 0 -6px;background:#C94A4E;border-width:2.5px}
.gpin.is-hub .gpin-ring{width:22px;height:22px;margin:-11px 0 0 -11px;border-color:rgba(201,74,78,.7)}
.gpin.is-active .gpin-dot{width:12px;height:12px;margin:-6px 0 0 -6px;background:#5C1A1E}
.gpin.is-active .gpin-ring{width:26px;height:26px;margin:-13px 0 0 -13px;border-color:rgba(92,26,30,.55);animation:gpinPulse 1.6s ease-out infinite}
.gpin-lbl{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;font-family:var(--data);font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#3F1013;background:rgba(255,255,255,.96);border:1px solid rgba(92,26,30,.12);padding:.18rem .45rem;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.18);pointer-events:none}
@keyframes gpinPulse{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){.gpin.is-active .gpin-ring{animation:none}}

.map-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line);max-height:168px;overflow-y:auto;scrollbar-width:thin}
.map-chip{padding:.4rem .85rem;border-radius:var(--r-pill);font-size:.8rem;color:var(--ink-2);border:1px solid var(--line);background:var(--paper);transition:.25s var(--ease);cursor:pointer}
.map-chip:hover{border-color:var(--gold);color:var(--ink)}
.map-chip.on{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:650}
.map-chip[hidden]{display:none!important}
.globe-chip-meta{margin:.55rem 0 0;font-size:.75rem;color:var(--muted);font-family:var(--data)}

/* Flight price/duration flyer — stays until destination changes */
.map-flyer{position:absolute;z-index:6;left:50%;top:4.5%;min-width:148px;padding:.6rem .85rem;border-radius:12px;background:rgba(255,255,255,.97);border:1px solid var(--line);box-shadow:var(--sh-lg);pointer-events:none;opacity:0;transform:translate(-50%,0) scale(.96);transition:opacity .3s var(--ease),transform .3s var(--ease);backdrop-filter:blur(8px)}
.map-flyer.on{opacity:1;transform:translate(-50%,0) scale(1)}
.map-flyer .mf-city{font-family:var(--data);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin-bottom:.2rem}
.map-flyer .mf-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
.map-flyer .mf-dur{font-size:.78rem;color:var(--muted);font-weight:550}
.map-flyer .mf-price{font-family:var(--data);font-weight:700;font-size:1rem;color:var(--navy-900)}
.map-flyer .mf-from{font-size:.62rem;color:var(--muted);display:block;margin-top:.15rem}

.mc-route-meta{display:flex;gap:.7rem;flex-wrap:wrap;margin:.4rem 0 1rem}
.mc-route-meta span{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--data);font-size:.78rem;font-weight:650;color:var(--gold-lt);padding:.35rem .7rem;border-radius:var(--r-pill);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}
.mc-ctas{display:flex;flex-direction:column;gap:.55rem}
.mc-ctas .btn{width:100%}
.mc-ctas .btn-wa{background:#25D366;border-color:#25D366;color:#fff}
.mc-ctas .btn-call{background:#fff;border:1.5px solid #5C1A1E;color:#5C1A1E;font-weight:650}
.mc-ctas .btn-call:hover{background:#5C1A1E;color:#fff}

.map-card{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);min-height:380px}
.mc-media{position:relative;flex:1;min-height:180px;background-size:cover;background-position:center;background-repeat:no-repeat;image-rendering:auto;transition:background-image .3s}
.mc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,21,43,.05),rgba(8,21,43,.78))}
.map-card.no-img .mc-media{background:var(--haze)}
.map-card.no-img .mc-media::before{content:attr(data-mono);position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:5rem;color:rgba(156,119,36,.2);font-weight:600}
.mc-body{position:relative;z-index:2;padding:1.6rem 1.7rem 1.8rem;margin-top:-3.2rem;color:#fff}
.mc-body .eyebrow{color:var(--gold-lt);font-size:.68rem}
.mc-city{color:#fff;font-size:clamp(1.5rem,2.6vw,1.9rem);margin:.6rem 0 .6rem;transition:opacity .25s}
.mc-desc{color:var(--mist);font-size:.94rem;min-height:3.2em}
.mc-feats{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 1.4rem}
.mc-feat{display:flex;align-items:center;gap:.4rem;font-size:.76rem;color:var(--mist);padding:.4rem .7rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-pill)}
.mc-feat svg{width:14px;height:14px;color:var(--gold-lt)}
.mc-cta{width:100%;border-color:rgba(255,255,255,.25);background:transparent;color:#fff}
.mc-cta:hover{border-color:var(--gold-lt);color:var(--gold-lt)}

@media (max-width: 900px){
  .fly-map{grid-template-columns:1fr}
  .map-canvas.globe-canvas{max-height:460px;min-height:280px}
  .map-chips{max-height:140px}
}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band{position:relative;border-radius:var(--r-xl);overflow:hidden;padding:clamp(3rem,6vw,5rem);text-align:center;background:var(--white);border:1px solid var(--line);box-shadow:var(--sh)}
.cta-band::before{content:"";position:absolute;width:60vw;height:60vw;top:-30%;left:50%;transform:translateX(-50%);background:radial-gradient(circle,var(--gold-glow),transparent 62%);opacity:.22;filter:blur(60px)}
.cta-band h2{position:relative;color:var(--ink);font-size:var(--fs-h2);max-width:22ch;margin:1rem auto 1rem}
.cta-band h2 em{font-style:italic;color:var(--gold-deep)}
.cta-band p{position:relative;color:var(--muted);max-width:54ch;margin:0 auto 2rem;font-size:1.1rem}
.cta-band .eyebrow{color:var(--gold-deep)}
.cta-actions{position:relative;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.cta-band .btn-line{border-color:var(--line-2);color:var(--ink)}
.cta-band .btn-line:hover{border-color:var(--gold);color:var(--gold-deep)}

/* ============================================================
   PREMIUM ENQUIRY — light luxury panel
   ============================================================ */
.enquiry{background:var(--haze);overflow:hidden}
.enquiry-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.e-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.25}
.e-glow-1{width:46vw;height:46vw;top:-14%;left:-8%;background:radial-gradient(circle,var(--gold-glow),transparent 65%);animation:floaty 9s ease-in-out infinite}
.e-glow-2{width:38vw;height:38vw;bottom:-16%;right:-6%;background:radial-gradient(circle,rgba(199,154,63,.2),transparent 65%);animation:floaty 11s ease-in-out infinite reverse}
.e-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(20,38,63,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(20,38,63,.04) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(80% 80% at 50% 40%,#000,transparent)}

.enquiry-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
.enquiry-intro{color:var(--ink)}
.enquiry .eyebrow{color:var(--gold-deep)}
.enquiry .eyebrow::before{background:linear-gradient(90deg,var(--gold-deep),transparent)}
.enquiry-intro h2{color:var(--ink);font-size:var(--fs-h2);margin-top:1rem}
.enquiry-intro h2 em{font-style:italic;color:var(--gold-deep)}
.enquiry-intro>p{color:var(--muted);margin-top:1.1rem;font-size:1.1rem;max-width:46ch}
.enquiry-direct{display:flex;flex-direction:column;gap:.8rem;margin-top:2rem}
.enq-direct-item{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.2rem;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-sm);transition:.3s var(--ease)}
.enq-direct-item:hover{border-color:var(--gold);transform:translateX(4px)}
.edi-ico{width:42px;height:42px;border-radius:11px;background:var(--gold-tint);border:1px solid rgba(199,154,63,.35);display:grid;place-items:center;flex-shrink:0}
.edi-ico svg{width:19px;height:19px;color:var(--gold-deep)}
.enq-direct-item b{display:block;color:var(--ink);font-size:.98rem;font-weight:650}
.enq-direct-item small{color:var(--muted);font-size:.82rem}
.enquiry-trust{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.2rem}
.enquiry-trust .et{display:flex;align-items:center;gap:.7rem}
.enquiry-trust .et svg{width:26px;height:26px;color:var(--gold-deep);flex-shrink:0}
.enquiry-trust .et b{display:block;color:var(--ink);font-size:.9rem;font-weight:650}
.enquiry-trust .et small{color:var(--muted);font-size:.76rem}

.enquiry-panel{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.6rem,3vw,2.6rem);box-shadow:var(--sh)}
.enq-head{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.6rem}
.enq-head h3{color:var(--ink);font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:500}
.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.enq-span2{grid-column:1/-1}
.enq-field{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:.55rem .75rem}
.enq-field label{color:var(--muted);font-size:.72rem;font-weight:600}
.enq-field select,.enq-field input{width:100%;background:none;border:none;outline:none;color:var(--ink);font-size:1rem;font-weight:550}
.enq-field select{appearance:none;cursor:pointer}
.enq-field select option{color:var(--ink);background:var(--white)}
.enq-field input::placeholder{color:var(--muted);font-weight:400}
.enq-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(228,190,106,.18)}
.enq-stepper{display:flex;align-items:center;justify-content:space-between}
.enq-stepper button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);color:var(--gold-deep);display:grid;place-items:center;transition:.25s}
.enq-stepper button:hover{border-color:var(--gold);background:var(--gold-tint)}
.enq-stepper span{font-family:var(--data);font-weight:650;color:var(--ink)}
.enq-contact{margin-top:1.3rem;padding-top:1.2rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.enq-contact-lbl{font-family:var(--data);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.enq-contact-opts{display:flex;gap:.6rem;flex-wrap:wrap}
.enq-contact-opts label{position:relative}
.enq-contact-opts input{position:absolute;opacity:0;inset:0;cursor:pointer}
.enq-contact-opts span{display:inline-flex;padding:.5rem 1rem;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:.86rem;color:var(--ink-2);transition:.25s}
.enq-contact-opts input:checked+span{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:650}
.enq-submit{width:100%;margin-top:1.5rem}
.enq-fine{margin-top:.9rem;font-size:.76rem;color:var(--muted);text-align:center}
.enq-success{display:none;align-items:center;gap:.9rem;margin-top:1.3rem;padding:1rem 1.2rem;background:var(--green-lt);border:1px solid rgba(31,122,90,.35);border-radius:var(--r-md);color:var(--ink)}
.enq-success svg{width:26px;height:26px;color:var(--green);flex-shrink:0}
.enq-success b{display:block;font-size:.94rem}
.enq-success small{color:var(--muted);font-size:.8rem}
.enq-form.sent .enq-success{display:flex}
.enq-form.sent .enq-grid,.enq-form.sent .enq-contact,.enq-form.sent .enq-submit,.enq-form.sent .enq-fine{display:none}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--navy-900);color:var(--mist);padding-top:clamp(3.5rem,7vw,5rem)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2.4rem}
.footer .brand-txt b{color:#fff}
.footer-brand p{color:var(--muted-d);font-size:.92rem;margin:1.2rem 0;max-width:42ch}
.footer-pay{height:30px;opacity:.85}
.footer-heading,
.footer h5{font-family:var(--data);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:1.2rem}
.footer-links li{margin-bottom:.6rem}
.footer-links a{font-size:.94rem;color:var(--mist);transition:.25s}
.footer-links a:hover{color:var(--gold-lt);padding-left:4px}
.footer-contact{display:flex;flex-direction:column;gap:.85rem}
.footer-contact .fc{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:var(--mist)}
.footer-contact .fc svg{width:17px;height:17px;color:var(--gold-lt);flex-shrink:0;margin-top:3px}
.footer-contact .fc address{margin:0;font-style:inherit}
.footer-social{display:flex;gap:.6rem;margin-top:1.4rem}
.footer-social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-d2);display:grid;place-items:center;transition:.3s}
.footer-social a:hover{border-color:var(--gold-lt);background:rgba(199,154,63,.12);transform:translateY(-3px)}
.footer-social svg{width:18px;height:18px;fill:var(--mist)}
.footer-social a:hover svg{fill:var(--gold-lt)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:3.5rem;padding-block:1.6rem;border-top:1px solid var(--line-d);font-size:.84rem;color:var(--muted-d)}
.footer-bottom .num{font-family:var(--data);color:var(--mist)}

/* Floating actions */
.wa-float{position:fixed;bottom:1.5rem;left:1.5rem;right:auto;z-index:150;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 34px -8px rgba(37,211,102,.6);animation:floaty 4s ease-in-out infinite;overflow:hidden}
.wa-float svg{width:31px;height:31px;fill:#fff;display:block}

/* Compete USP — must be sync (not only in deferred luxury-compete.css) or shield SVGs FOUC at full size */
.compete-usp{background:var(--haze,#F8F1F1);border-block:1px solid var(--line,rgba(42,21,23,.1));padding:1.15rem 0;position:relative;z-index:1}
.compete-usp__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 1.5rem}
.compete-usp__row li{display:flex;align-items:flex-start;gap:.85rem}
.cu-ico{width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line,rgba(42,21,23,.1));display:grid;place-items:center;flex-shrink:0}
.cu-ico svg{width:20px;height:20px;color:var(--gold-deep,#C94A4E);display:block;max-width:100%}
.compete-usp__row strong{display:block;font-size:.98rem;color:var(--ink,#2A1517);font-weight:650;margin-bottom:.15rem}
.compete-usp__row p{margin:0;font-size:.86rem;color:var(--muted,#8A6A6D);line-height:1.4}
@media (max-width:820px){.compete-usp__row{grid-template-columns:1fr;gap:.9rem}}

/* Native date fields */
input[type="date"].tbf-depart,
input[type="date"].tbf-return,
input[type="date"].money-depart,
input[type="date"].money-return,
#tbf-exit-depart,
#tbf-exit-return,
#dockDepart,
#dockReturn,
#enqDepart{min-height:1.45rem;cursor:pointer}
input.is-trip-disabled,
.trip-return-disabled input{opacity:.45;cursor:not-allowed;background:#F1EEE7!important}

/* Curtain */
.curtain{position:fixed;inset:0;z-index:9999;background:var(--paper);display:grid;place-items:center;transition:opacity .35s var(--luxe),visibility .35s;pointer-events:none}
.curtain.done{opacity:0;visibility:hidden;display:none}
.curtain-logo{text-align:center}
.curtain-logo .cl-plane{width:48px;height:48px;color:var(--gold);margin:0 auto 1.2rem;animation:cl-fly 1.6s var(--luxe) infinite alternate}
@keyframes cl-fly{0%{transform:translateX(-16px) rotate(-8deg)}100%{transform:translateX(16px) rotate(8deg)}}
.curtain-logo span{font-family:var(--data);font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-2)}


/* ===== responsive.css ===== */
/* ============================================================
   TBF v2 — Responsive
   ============================================================ */
@media (max-width:1150px){
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .cred-badges{display:none}
  .mega{left:0;transform:translateX(0) translateY(8px);width:min(640px,94vw)}
  .nav-links li:hover > .mega,
  .nav-links li:focus-within > .mega,
  .nav-links li.mega-open > .mega{transform:translateX(0) translateY(0)}
  .mega--split{grid-template-columns:minmax(200px,40%) minmax(0,1fr)}
  .dock-fields{grid-template-columns:minmax(0,1.2fr) auto minmax(0,1.2fr) minmax(200px,1.5fr);gap:.5rem}
  .dock-search{grid-column:1/-1;width:100%;height:46px;min-height:46px!important}
}
@media (max-width:980px){
  .nav-links,.nav-phone{display:none}
  .burger{display:flex}
  .mega{display:none!important}
  .drawer-acc-panel{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr;gap:2.4rem}
  .hero-copy{max-width:none;text-align:center;margin-inline:auto}
  .hero-kick{margin-inline:auto}
  .hero-cta,.hero-assure{justify-content:center}
  .dock{padding:1.1rem}
  .dock-fields{grid-template-columns:1fr auto 1fr;gap:.5rem}
  .dock-dates{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;grid-column:1/-1;min-width:0}
  .dock-search{grid-column:1/-1;width:100%;height:46px;min-height:46px!important}
  .mc-leg__row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.45rem}
  .mc-leg__row .field-depart{grid-column:1/-1}
  .mc-leg__row .mc-remove{grid-column:1/-1;justify-self:end}
  .mc-toolbar .dock-search{width:100%;margin-left:0}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .pillars{grid-template-columns:1fr}
  .cabin,.spec,.about-wrap{grid-template-columns:1fr}
  .cabin-media{min-height:360px}
  .spec-photo{min-height:340px}
  .about-visual{max-width:440px;margin-inline:auto}
  .about-badge{left:0}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .enquiry-grid{grid-template-columns:1fr;gap:2.6rem}
  .enquiry-intro{text-align:center}
  .enquiry-intro>p{margin-inline:auto}
  .enquiry-direct,.enquiry-trust{max-width:480px;margin-inline:auto}
  .fly-map{grid-template-columns:1fr}
  .map-card{min-height:300px}
}
@media (max-width:720px){
  :root{--pad:4rem}
  body{font-size:16.5px}
  .diff-row{grid-template-columns:1fr;gap:.6rem;padding:1.2rem 0}
  .d-mid{display:none}
  .d-diy{padding-bottom:.6rem;border-bottom:1px dashed var(--line-2)}
  .diff-heads{gap:.6rem}
  .diff-head b{font-size:1rem}
  .dh-ico{width:36px;height:36px}
  .dock{padding:1rem}
  .dock-fields{grid-template-columns:1fr;gap:.5rem}
  .dock-dates{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;grid-column:auto;min-width:0}
  .dock-search{width:100%;height:48px;min-height:48px!important;border-radius:12px!important}
  .swap{display:none}
  .mc-leg__row .swap{display:none}
  .mc-leg__row{grid-template-columns:1fr;gap:.45rem}
  .seg{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .seg button{flex:1 0 auto;white-space:nowrap;padding:.4rem .75rem;font-size:.8rem}
  .dock-top{flex-direction:column;align-items:stretch}
  .dock-pax{margin-left:0}
  .pax-btn{width:100%;justify-content:center}
  .pax-pop{left:0;right:0;width:auto}
  .dock-extras{gap:.75rem 1rem;margin-top:.85rem;padding-top:.85rem}
  .dock-extras label{font-size:.84rem}
  .blog-grid{grid-template-columns:1fr}
  .cta-actions{flex-direction:column}
  .cta-actions .btn{width:100%}
  .footer-grid{grid-template-columns:1fr}
  .promo-table .trow{font-size:.76rem}
  .head-row{flex-direction:column;align-items:flex-start}
  .enq-grid{grid-template-columns:1fr}
  .enq-span2{grid-column:auto}
  .enquiry-direct,.enquiry-trust{max-width:none}
  .map-svg .map-label:not(.hub-label){display:none}
  .map-chips{gap:.4rem}
  .map-chip{padding:.4rem .8rem;font-size:.78rem}
}
@media (max-width:480px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:.8rem}
  .stat{padding:1.4rem .8rem}
  .promo-city{font-size:2.2rem}
  .dock-dates{grid-template-columns:1fr;gap:.5rem}
  .field{padding:.4rem .7rem .45rem}
  .field input{font-size:.92rem}
}
@media (max-width:720px){
  .rail-track{animation:none!important}
  .brand-mark::after,.btn-gold::after{animation:none!important}
  [data-reveal],[data-stagger]>*{opacity:1!important;transform:none!important;transition:none!important}
  .section:not(.hero){content-visibility:auto;contain-intrinsic-size:1px 720px}
}
@media (hover:none){
  .pd-card:hover,.deal-card:hover,.stat:hover{transform:none}
}



/* ===== ebf-system.css ===== */
/* ============================================================
   Experts Business First — Light Luxury design system
   Tokens + global chrome + homepage + inner-page overrides.
   Loaded last so it wins over brand-logo / compete / authority.
   ============================================================ */

:root{
  --ebf-navy:#121820;
  --ebf-navy-deep:#0A0E14;
  --ebf-gold:#C9A66B;
  --ebf-gold-lt:#E0C48A;
  --ebf-gold-deep:#A4844A;
  --ebf-cream:#F3EEE4;
  --ebf-white:#FFFDF9;
  --ebf-grey:#F4F0E8;
  --ebf-text:#5C564C;
  --ebf-border:#E4DDD0;

  --white:#FFFDF9;
  --paper:#FFFDF9;
  --haze:#F3EEE4;
  --haze2:#F4F0E8;
  --sand:#E8DFD0;

  --navy-950:#0A0E14;
  --navy-900:#121820;
  --navy-800:#1B232E;
  --navy-700:#2A3340;

  --ink:#121820;
  --ink-2:#3F3A33;
  --muted:#5C564C;
  --mist:#D8D0C3;
  --muted-d:#A89F90;

  --gold:#C9A66B;
  --gold-lt:#E0C48A;
  --gold-deep:#A4844A;
  --gold-glow:rgba(201,166,107,.28);
  --gold-tint:#F6EFE3;

  --line:rgba(18,24,32,.10);
  --line-2:rgba(18,24,32,.16);
  --line-d:rgba(232,223,208,.16);
  --line-d2:rgba(232,223,208,.32);

  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Outfit",system-ui,sans-serif;
  --data:"Outfit",system-ui,sans-serif;

  --r-xl:18px;
  --r-lg:16px;
  --r-md:12px;
  --r-sm:8px;
  --r-pill:12px;

  --sh-sm:0 4px 16px -8px rgba(20,37,61,.12);
  --sh:0 14px 40px -18px rgba(20,37,61,.18);
  --sh-lg:0 24px 60px -24px rgba(20,37,61,.22);
  --sh-gold:0 12px 28px -10px rgba(200,154,61,.35);

  --space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;
  --space-5:32px;--space-6:48px;--space-7:64px;--space-8:80px;--space-9:96px;
}

html{background:var(--ebf-white)}
body.theme-ebf,
body{
  font-family:var(--body);
  font-size:17px;
  background:var(--ebf-white);
  color:var(--ink);
}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;color:var(--ebf-navy);letter-spacing:-.01em}
p{color:var(--ebf-text)}
::selection{background:var(--ebf-gold);color:#fff}
:focus-visible{outline:3px solid var(--ebf-gold);outline-offset:3px}

.eyebrow{
  font-family:var(--body);
  letter-spacing:.18em;
  color:var(--ebf-navy);
  font-weight:600;
}
.eyebrow::before,.eyebrow::after{background:var(--ebf-gold)!important}
.section-head h2 em,.tone-navy .section-head h2 em{color:var(--ebf-gold);font-style:italic}

/* ---- Buttons ---- */
.btn{
  border-radius:12px;
  font-family:var(--body);
  font-weight:650;
  letter-spacing:.01em;
  min-height:52px;
  overflow:visible;
}
.btn-gold,
.btn-gold.btn-lg,
a.btn-gold{
  background:var(--ebf-gold)!important;
  color:var(--ebf-navy-deep)!important;
  box-shadow:var(--sh-gold);
  border:1px solid transparent;
}
.btn-gold::after{display:none!important}
.btn-gold:hover{
  background:var(--ebf-gold-deep)!important;
  color:#fff!important;
  transform:translateY(-2px);
}
.btn-gold:active{transform:translateY(0)}
.btn-gold:disabled{opacity:.5;pointer-events:none}
.btn-navy{background:var(--ebf-navy)!important;color:#fff!important;border-radius:12px}
.btn-navy:hover{background:var(--ebf-navy-deep)!important}
.btn-line,
.btn-line-gold,
a.nav-cta.btn-line-gold{
  background:#fff!important;
  color:var(--ebf-gold)!important;
  border:1.5px solid var(--ebf-gold)!important;
  border-radius:12px;
  box-shadow:none;
}
.btn-line:hover,
.btn-line-gold:hover{
  background:var(--ebf-gold)!important;
  color:var(--ebf-navy-deep)!important;
}
.btn-call{border-radius:12px}

/* ---- Trust bar (must beat authority-clean charcoal) ---- */
body.theme-ebf .ebf-trustbar,
body.theme-ebf .compete-trust-top,
body.theme-compete.theme-ebf .compete-trust-top{
  background:#F8F5EF !important;
  border-bottom:1px solid var(--ebf-border);
  color:#14253D !important;
  font-size:.78rem;
}
.compete-trust-top__inner,
.ebf-trustbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:38px;
  flex-wrap:wrap;
}
.ebf-trustbar__brand,
body.theme-ebf .ebf-trustbar__brand{
  color:#14253D !important;
  font-weight:600;
  white-space:nowrap;
}
.ebf-trustbar__phone,
body.theme-ebf .ebf-trustbar__phone,
body.theme-ebf .ebf-trustbar__phone b{
  color:#14253D !important;
  font-weight:700;
}
.ebf-trustbar__meta{
  display:flex;
  align-items:center;
  gap:1.15rem;
  flex-wrap:wrap;
  color:#14253D;
}
.ebf-trustbar__meta span,
.ebf-trustbar__meta a,
body.theme-ebf .ebf-trustbar__meta span,
body.theme-ebf .ebf-trustbar__meta a{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:#14253D !important;
  font-weight:550;
  white-space:nowrap;
}
.ebf-trustbar__meta svg{width:14px;height:14px;color:var(--ebf-gold)!important;flex-shrink:0}
.compete-trust-top .ctt-item{color:var(--ebf-navy)!important}
.compete-trust-top .ctt-stars{color:var(--ebf-gold)!important;letter-spacing:.05em}

/* ---- Header / nav ---- */
.header{
  background:#fff!important;
  backdrop-filter:none;
  border-bottom:1px solid var(--ebf-border);
  position:sticky;
  top:0;
  z-index:200;
}
.header.stuck{box-shadow:var(--sh-sm)}
.nav{
  min-height:76px;
  gap:1rem;
  flex-wrap:nowrap;
  align-items:center;
}
.header .nav > nav{
  flex:1 1 auto;
  display:flex;
  justify-content:center;
  min-width:0;
}
.nav-right{flex:0 0 auto;display:flex;align-items:center;gap:.75rem}
.brand--logo{flex:0 0 auto;flex-shrink:0}
.header .brand-logo,
img.brand-logo{
  height:56px !important;
  width:auto !important;
  max-width:none !important;
  max-height:56px !important;
  object-fit:contain !important;
  object-position:left center;
  flex-shrink:0;
  aspect-ratio:1024 / 338;
}
.nav-links{
  flex-wrap:nowrap;
  white-space:nowrap;
}
.nav-links>li>a,
.nav-links>li>.nav-mega-btn{
  font-size:.8rem;
  font-weight:600;
  color:var(--ebf-navy);
  padding:.4rem .55rem;
  border-radius:8px;
  background:none;
  white-space:nowrap;
}
.nav-links>li>a:hover,
.nav-links>li>.nav-mega-btn:hover,
.nav-links>li>a.active,
.nav-links>li.mega-open>.nav-mega-btn{
  color:var(--ebf-gold);
  background:transparent;
}
.nav-cta{
  min-height:40px!important;
  padding:.45rem 1rem!important;
  font-size:.8rem!important;
  white-space:nowrap;
}
.nav-phone{color:var(--ebf-navy);font-weight:650;white-space:nowrap;font-size:.82rem}
.nav-phone svg{color:var(--ebf-gold)}
.cred-badges{opacity:.95}
@media (max-width:1280px){
  .cred-badges,.header .nav-phone{display:none}
}
.burger span{background:var(--ebf-navy)}

.drawer{background:#fff;color:var(--ebf-navy)}
.drawer a,.drawer-sub,.drawer-acc-btn{color:var(--ebf-navy)!important}
.drawer a:hover{color:var(--ebf-gold)!important}

/* ---- Homepage hero ---- */
.ebf-hero{
  position:relative;
  isolation:isolate;
  padding:0;
  min-height:min(78vh,720px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background:var(--ebf-cream);
}
.ebf-hero__media{
  position:absolute;
  inset:0;
  z-index:-1;
}
.ebf-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
}
.ebf-hero__shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, #F3EEE4 0%, #F3EEE4 28%, rgba(243,238,228,.94) 42%, rgba(243,238,228,.55) 58%, rgba(243,238,228,.12) 74%, transparent 100%);
}
.ebf-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(220px,.55fr);
  gap:2rem;
  align-items:center;
  padding-top:clamp(2.5rem,6vw,4.5rem);
  padding-bottom:clamp(7.5rem,12vw,9.5rem);
  width:min(var(--container),92vw);
  margin-inline:auto;
}
.ebf-hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ebf-gold);
  margin-bottom:1rem;
}
.ebf-hero__kicker svg{width:16px;height:16px;color:var(--ebf-gold)}
.ebf-hero h1{
  font-size:clamp(2.85rem,5.6vw,5rem);
  line-height:1.02;
  max-width:11ch;
  margin:0 0 1rem;
  color:var(--ebf-navy);
  font-weight:500;
}
.ebf-hero h1 em{
  display:block;
  font-style:italic;
  color:var(--ebf-gold-deep);
  font-weight:500;
}
.ebf-hero__sub{
  max-width:46ch;
  font-size:1.05rem;
  line-height:1.6;
  color:var(--ebf-text);
  margin:0 0 1.6rem;
}
.ebf-hero__benefits{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.85rem 1.1rem;
  max-width:640px;
}
.ebf-hero__benefits li{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  font-size:.82rem;
  font-weight:650;
  color:var(--ebf-navy);
  line-height:1.3;
}
.ebf-hero__benefits svg{
  width:22px;height:22px;color:var(--ebf-gold);
}
.ebf-promo{
  justify-self:end;
  width:min(100%,240px);
  background:#fff;
  border:1px solid var(--ebf-border);
  border-radius:18px;
  padding:1.25rem 1.2rem 1.15rem;
  box-shadow:var(--sh);
  text-align:center;
}
.ebf-promo__kicker{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ebf-gold);
  margin-bottom:.55rem;
}
.ebf-promo__kicker svg{width:16px;height:16px}
.ebf-promo p{margin:0;font-size:.85rem;color:var(--ebf-text)}
.ebf-promo strong{
  display:block;
  font-family:var(--display);
  font-size:1.85rem;
  color:var(--ebf-navy);
  margin:.15rem 0 .35rem;
  line-height:1.1;
}

/* Search dock — airline booking card overlapping hero */
.ebf-hero .dock-wrap{
  position:relative;
  z-index:3;
  margin-top:-4.5rem;
  padding-bottom:1.25rem;
}
.dock{
  background:#fff!important;
  border:1px solid var(--ebf-border)!important;
  border-radius:18px!important;
  box-shadow:var(--sh)!important;
  padding:1.1rem 1.15rem 1rem!important;
}
.dock .seg{background:transparent;gap:.2rem}
.dock .seg button{
  border-radius:0;
  font-weight:650;
  color:var(--ebf-text);
  padding:.45rem .85rem;
  background:none;
  border:0;
  border-bottom:2px solid transparent;
}
.dock .seg button.on{
  color:var(--ebf-navy);
  background:none;
  border-bottom-color:var(--ebf-gold);
  box-shadow:none;
}
.dock .field{
  background:var(--ebf-grey);
  border:1px solid var(--ebf-border);
  border-radius:12px;
}
.dock .field label{color:var(--ebf-text);font-weight:650;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}
.dock .field input{color:var(--ebf-navy);font-weight:600}
.dock .field input:focus{outline:none}
.dock .swap{
  border:1px solid var(--ebf-border);
  background:#fff;
  color:var(--ebf-navy);
}
.dock-search{
  border-radius:12px!important;
  min-height:56px;
}
.dock-trust,
.ebf-dock-trust{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.35rem;
  margin-top:.85rem;
  padding:.15rem .2rem 0;
  color:var(--ebf-text);
  font-size:.8rem;
}
.ebf-dock-trust span{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}
.ebf-dock-trust svg{width:15px;height:15px;color:var(--ebf-gold)}

/* USP / benefits */
.compete-usp{
  background:var(--ebf-cream)!important;
  border:0!important;
  padding:2.4rem 0!important;
}
.compete-usp__row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.5rem;
}
.compete-usp li{
  align-items:flex-start;
  gap:.85rem;
}
.compete-usp .cu-ico{
  width:44px;height:44px;
  border:1px solid rgba(200,154,61,.35);
  border-radius:12px;
  background:#fff;
  color:var(--ebf-gold);
}
.compete-usp strong{color:var(--ebf-navy);font-size:1.02rem}
.compete-usp p{color:var(--ebf-text);margin:.25rem 0 0;font-size:.9rem}

.pillars{gap:1.25rem}
.pillar{
  background:#fff;
  border:1px solid var(--ebf-border);
  border-radius:16px;
  padding:1.5rem 1.3rem;
  box-shadow:var(--sh-sm);
}
.pillar-ico{color:var(--ebf-gold)}
.pillar h3{font-family:var(--display);color:var(--ebf-navy)}

/* Destination cards */
.pd-card{
  border-radius:16px;
  border:1px solid var(--ebf-border);
  background:#fff;
  box-shadow:var(--sh-sm);
  overflow:hidden;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease);
}
.pd-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.pd-card:hover .pd-media img{transform:scale(1.05)}
.pd-media img{transition:transform .35s var(--ease)}
.pd-body .pd-cab.hi .p,
.ts-foot .price,
.promo-fare .amt{color:var(--ebf-gold)!important;font-family:var(--display);font-weight:700}
.pd-foot .btn-navy{background:transparent!important;color:var(--ebf-gold)!important;border:0;min-height:auto;padding:0;box-shadow:none}
.pd-foot .btn-navy:hover{color:var(--ebf-gold-deep)!important}

.partners-row,
.ebf-airlines{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:1.5rem 2.2rem;
}
.partners-row img{height:36px;width:auto;object-fit:contain;filter:none;opacity:.9}

.cta-band{
  background:var(--ebf-cream);
  border:1px solid var(--ebf-border);
  border-radius:18px;
  padding:clamp(2rem,4vw,3rem);
  box-shadow:none;
}
.cta-band h2 em{color:var(--ebf-gold)}

/* Footer */
.footer{
  background:var(--ebf-navy-deep)!important;
  color:#d7dee8;
}
.footer-heading,
.footer h5{color:var(--ebf-gold)!important;font-family:var(--body);letter-spacing:.14em}
.footer-links a:hover{color:var(--ebf-gold)!important}
.footer-brand p{color:#9AABC0}
.brand-logo--footer,
.footer img.brand-logo{
  height:auto !important;
  max-height:64px !important;
  max-width:240px !important;
  width:auto !important;
  background:transparent;
  padding:0;
  border-radius:0;
  aspect-ratio:1024 / 338;
}
.brand-footer-name{display:none}
.footer-bottom{border-top-color:rgba(255,255,255,.1)}
.footer-grid{grid-template-columns:1.35fr .9fr .9fr .9fr .9fr;gap:1.4rem}
.footer-tp{display:inline-flex;flex-direction:column;gap:.15rem;margin-top:1rem;text-decoration:none}
.footer-tp strong{color:#fff;font-size:.95rem}
.footer-tp span{color:var(--ebf-gold);letter-spacing:.06em;font-size:.85rem}

/* Forms — money pages, enquiry, hotel */
.money-enq,
.enquiry,
.enq-form,
.tbf-pax,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select,
textarea{
  border-radius:12px;
}
.money-enq{
  border:1px solid var(--ebf-border)!important;
  box-shadow:var(--sh)!important;
  border-radius:18px!important;
}
.money-enq input,
.enq-form input,
.enq-form select,
.money-enq select{
  min-height:52px;
  border:1px solid var(--ebf-border);
  background:var(--ebf-grey);
  color:var(--ebf-navy);
}
.money-enq input:focus,
.enq-form input:focus,
.enq-form select:focus,
.money-enq select:focus{
  border-color:var(--ebf-gold);
  box-shadow:0 0 0 3px rgba(200,154,61,.18);
  outline:none;
}

/* Inner page heroes — keep photo, lighten brand */
.money-hero-kicker,
.page-hero .eyebrow{color:var(--ebf-gold)!important;font-family:var(--body)!important}
.money-hero-copy h1,
.page-hero h1{font-family:var(--display)!important}
.money-hero-lead a{color:var(--ebf-gold-lt)}
.page-hero{
  background:var(--ebf-cream);
  color:var(--ebf-navy);
}
.airline-hero-points li{color:#fff}
.airline-hero-call a{color:var(--ebf-gold-lt)!important;font-weight:700}
.blog-article a.btn,
.premium-cta .btn{border-radius:12px}

.tbf-pax__panel{
  border-radius:16px;
  border-color:var(--ebf-border);
  box-shadow:var(--sh);
}

@media (max-width:1280px){
  .nav-links>li>a,
  .nav-links>li>.nav-mega-btn{padding:.45rem .5rem;font-size:.82rem}
}

/* Blog editorial */
.blog-card,
.blog-grid article{
  border-radius:16px;
  border:1px solid var(--ebf-border);
  overflow:hidden;
  background:#fff;
  box-shadow:var(--sh-sm);
}
.blog-card:hover{box-shadow:var(--sh);transform:translateY(-3px)}

/* FAQ */
.faq-item{border-color:var(--ebf-border);border-radius:12px;background:#fff}
.faq-q{color:var(--ebf-navy);font-weight:650}

/* Trust badges */
.compete-badges{background:var(--ebf-cream);border-top:1px solid var(--ebf-border)}

/* Loading curtain */
.curtain{background:var(--ebf-cream)!important}
.curtain-logo span{color:var(--ebf-navy);font-family:var(--display)}
.cl-plane{color:var(--ebf-gold)}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .pd-card:hover .pd-media img{transform:none}
}

/* Responsive */
@media (max-width:1150px){
  .ebf-hero__inner{grid-template-columns:1fr;padding-bottom:clamp(6.5rem,14vw,8.5rem)}
  .ebf-promo{justify-self:start}
  .ebf-hero__benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compete-usp__row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:720px){
  .header .brand-logo, img.brand-logo{height:48px!important;max-height:48px!important}
  .ebf-hero{min-height:auto}
  .ebf-hero h1{max-width:none;font-size:clamp(2rem,10vw,2.6rem)}
  .ebf-hero__inner{padding-top:2rem;padding-bottom:6.5rem}
  .ebf-hero__benefits{grid-template-columns:1fr 1fr}
  .ebf-hero .dock-wrap{margin-top:-3.2rem}
  .compete-usp__row{grid-template-columns:1fr!important}
  .ebf-trustbar__inner{justify-content:center;text-align:center}
  .nav-phone,.cred-badges{display:none}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:430px){
  .ebf-hero__benefits{grid-template-columns:1fr}
  .ebf-promo{width:100%}
}


/* ===== luxury-compete.css ===== */
/* ============================================================
   luxury-compete.css — Competitive luxury structure polish
   Revert: TBF_COMPETITIVE_LAYOUT=false  (+ config:clear)

   Patterns from top competitors (Check2Fly / Business Flight Shop):
   · Top trust microbar
   · Clean USP strip under hero
   · Generous whitespace, light canvas rhythm
   · Dual CTAs (solid primary + outline phone)
   · Trust badge band before footer
   · Tighter forms, calmer cards
   ============================================================ */

body.theme-compete {
  --pad: clamp(3.5rem, 7vw, 6rem);
}

/* ---- Top trust microbar (replaces fare ticker when compete on) ---- */
.compete-trust-top {
  background: var(--navy-900, #5C1A1E);
  color: var(--mist, #F0D6D8);
  font-family: var(--data, "Space Grotesk", sans-serif);
  font-size: .78rem;
  letter-spacing: .02em;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.compete-trust-top__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .55rem 1.1rem;
  padding: .55rem 0;
}
.ctt-item {
  display: inline-flex;
  align-items: baseline;
  gap: .4rem;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}
.ctt-item strong { color: #fff; font-weight: 650; }
.ctt-item span:not(.ctt-stars) { opacity: .78; font-weight: 400; }
.ctt-stars { color: var(--gold-lt, #F28B8E); letter-spacing: 1px; font-size: .7rem; }
.ctt-sep {
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, .22);
  flex-shrink: 0;
}
.ctt-phone:hover strong { color: var(--gold-lt, #F28B8E); }
@media (max-width: 720px) {
  .ctt-sep--hide-sm { display: none; }
  .compete-trust-top__inner { gap: .45rem .85rem; justify-content: flex-start; }
  .ctt-item span:not(.ctt-stars) { display: none; }
}

/* Hide fare ticker when competitive layout uses trust top */
body.theme-compete .rail { display: none !important; }

/* ---- Header: calmer, more “agency luxury” ---- */
body.theme-compete .header {
  background: rgba(255, 255, 255, .94) !important;
  backdrop-filter: blur(18px) saturate(1.2);
}
body.theme-compete .nav { padding: .7rem 0; }
body.theme-compete .nav-cta {
  min-height: 46px;
  padding: .65rem 1.35rem;
  font-size: .95rem;
}

/* ---- Hero: less clutter, clearer CTA hierarchy ---- */
body.theme-compete .hero {
  padding-top: clamp(2.2rem, 4vw, 3.5rem);
}
body.theme-compete .hero-sub {
  max-width: 38ch;
  font-size: 1.08rem;
  color: var(--muted, #8A6A6D);
}
body.theme-compete .hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}
body.theme-compete .hero-assure {
  margin-top: 1.4rem;
  opacity: .9;
}
body.theme-compete .promo-card {
  border-radius: 20px;
  box-shadow: 0 24px 60px -28px rgba(42, 21, 23, .28);
}

/* ---- USP strip (Check2Fly pattern) ---- */
.compete-usp {
  background: var(--haze, #F8F1F1);
  border-block: 1px solid var(--line, rgba(42, 21, 23, .1));
  padding: 1.15rem 0;
  position: relative;
  z-index: 1; /* keep below open search traveller dropdown */
}
.compete-usp__row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 1.5rem;
}
.compete-usp__row li {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
}
.cu-ico {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--line, rgba(42, 21, 23, .1));
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: var(--sh-sm, 0 2px 10px -3px rgba(42, 21, 23, .1));
}
.cu-ico svg {
  width: 20px;
  height: 20px;
  color: var(--gold-deep, #C94A4E);
}
.compete-usp__row strong {
  display: block;
  font-size: .98rem;
  color: var(--ink, #2A1517);
  font-weight: 650;
  margin-bottom: .15rem;
}
.compete-usp__row p {
  margin: 0;
  font-size: .86rem;
  color: var(--muted, #8A6A6D);
  line-height: 1.4;
}
@media (max-width: 820px) {
  .compete-usp__row { grid-template-columns: 1fr; gap: .9rem; }
}

/* Hide duplicate thin trustbar when USP is present */
body.theme-compete .trustbar { display: none !important; }

/* ---- Section rhythm: more air, calmer heads ---- */
body.theme-compete .section-head {
  margin-bottom: clamp(2rem, 3.5vw, 2.8rem);
}
body.theme-compete .section-head p {
  max-width: 52ch;
}
body.theme-compete .stats-grid {
  gap: 1.5rem;
}
body.theme-compete .stat .num {
  font-size: clamp(1.85rem, 3vw, 2.4rem);
}

/* Destination / deal cards — outlined “Read more” feel */
body.theme-compete .pd-card,
body.theme-compete .deal-card,
body.theme-compete .blog-card {
  border-radius: 18px;
  border-color: var(--line, rgba(42, 21, 23, .1));
  box-shadow: 0 8px 28px -18px rgba(42, 21, 23, .18);
}
body.theme-compete .pd-foot .btn-line,
body.theme-compete .deal-foot .btn-line {
  border-width: 1.5px;
}

/* ---- Enquiry form: light, rounded, coral CTA (search-bar competitor feel) ---- */
body.theme-compete .enquiry-panel {
  border-radius: 22px;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border: 1px solid var(--line);
  box-shadow: 0 20px 50px -28px rgba(42, 21, 23, .22);
}
body.theme-compete .enq-field {
  border-radius: 12px !important;
  background: #fff !important;
  border: 1.5px solid #E8DADA !important;
  min-height: 52px;
}
body.theme-compete .enq-submit {
  border-radius: 12px !important;
  min-height: 54px;
  width: 100%;
}
body.theme-compete .money-enq,
body.theme-compete .enquiry-section {
  border-radius: 18px !important;
}

/* ---- Final CTA band: dual CTAs like Business Flight Shop ---- */
body.theme-compete .cta-band {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 24px !important;
  padding: clamp(2.4rem, 5vw, 3.6rem) !important;
  box-shadow: 0 18px 48px -24px rgba(42, 21, 23, .16);
}
body.theme-compete .cta-band h2 {
  max-width: 18ch;
}
body.theme-compete .cta-actions {
  gap: .85rem;
}
body.theme-compete .cta-actions .btn-lg {
  min-width: min(100%, 240px);
}
body.theme-compete .cta-actions .btn-line {
  background: #fff !important;
  border: 1.5px solid var(--ink) !important;
  color: var(--ink) !important;
}
body.theme-compete .cta-actions .btn-line:hover {
  border-color: var(--gold) !important;
  color: var(--gold-deep) !important;
  background: var(--gold-tint) !important;
}

/* ---- Trust badges band before footer ---- */
.compete-badges {
  background: #fff;
  border-top: 1px solid var(--line, rgba(42, 21, 23, .1));
  border-bottom: 1px solid var(--line, rgba(42, 21, 23, .1));
  padding: 1.35rem 0;
}
.compete-badges__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.5rem 2.5rem;
}
.compete-badges img {
  display: block;
  height: auto;
  max-height: 48px;
  width: auto;
  object-fit: contain;
  opacity: .92;
}
.cb-tp {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  text-decoration: none;
  color: var(--ink);
  font-family: var(--data, "Space Grotesk", sans-serif);
  font-size: .85rem;
}
.cb-tp-stars { color: var(--gold, #EB6C6F); letter-spacing: 1px; font-size: .9rem; }
.cb-tp strong { font-weight: 700; }
.cb-pay img { max-height: 28px; opacity: .85; }

/* ---- Footer: cleaner columns ---- */
body.theme-compete .footer {
  padding-top: clamp(3rem, 6vw, 4.5rem);
}
body.theme-compete .footer-grid {
  gap: 2rem 2.2rem;
}
body.theme-compete .footer-bottom {
  margin-top: 2.5rem;
}

/* ---- Money pages: calmer side panel ---- */
body.theme-compete .multi-fare-section {
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 14px 40px -24px rgba(42, 21, 23, .18);
}
body.theme-compete .money-faq {
  background: var(--haze, #F8F1F1) !important;
}

/* ---- Global: reduce competing dark slabs ---- */
body.theme-compete .tone-navy {
  background: var(--haze, #F8F1F1) !important;
}


/* ===== ebf-enquiry.css ===== */
/* ============================================================
   Experts Business First — shared enquiry form chrome.
   Trip-type control, inline validation states, field polish.
   Applies to: homepage enquiry, exit popup, money-page forms.
   Purely presentational — no field names or logic depend on this.
   ============================================================ */

:root{
  --ebfq-navy:#14202B;
  --ebfq-accent:#C4400E;
  --ebfq-line:#D9E3EC;
  --ebfq-soft:#4A6173;
  --ebfq-err:#C0261B;
  --ebfq-err-bg:#FDF1EF;
}

/* ------------------------------------------- trip select (compact) ---- */
/* Replaces the old three-button segmented control, which ate a full row. */
.ebf-enq__tripsel{
  width:100%;
  min-height:46px;
  padding:.72rem 2.3rem .72rem .85rem;
  border:1.5px solid var(--ebfq-line);
  border-radius:14px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A6173' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .8rem center;
  background-size:16px;
  color:var(--ebfq-navy);
  font-size:.94rem;
  font-family:inherit;
  line-height:1.35;
  -webkit-appearance:none;appearance:none;
  transition:border-color .2s,box-shadow .2s;
}
.ebf-enq__tripsel:focus{outline:none;border-color:var(--ebfq-accent);box-shadow:0 0 0 3px rgba(240,83,28,.16)}
#tbf-exit-form .ebf-enq__tripsel{min-height:42px;padding-block:.6rem}
.money-enq-trip .ebf-enq__tripsel{min-height:44px}
@media (max-width:640px){
  .ebf-enq__tripsel{font-size:16px}
}

/* ------------------------------- legacy segmented control (fallback) ---- */
.ebf-enq__trip{display:inline-flex;gap:4px;padding:4px;margin:0 0 1.15rem;border-radius:999px;background:#EDF2F7;border:1px solid var(--ebfq-line);max-width:100%;flex-wrap:nowrap;overflow:auto;scrollbar-width:none}
.ebf-enq__trip::-webkit-scrollbar{display:none}
.ebf-enq__trip-opt{position:relative;margin:0;flex:0 0 auto}
.ebf-enq__trip-opt input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.ebf-enq__trip-opt span{display:block;padding:.5rem 1.05rem;border-radius:999px;font-size:.86rem;font-weight:650;letter-spacing:-.01em;color:var(--ebfq-soft);white-space:nowrap;transition:background .22s,color .22s,box-shadow .22s;cursor:pointer}
.ebf-enq__trip-opt input:checked+span{background:var(--ebfq-navy);color:#fff;box-shadow:0 2px 8px rgba(20,32,43,.22)}
.ebf-enq__trip-opt input:focus-visible+span{outline:2px solid var(--ebfq-accent);outline-offset:2px}
.ebf-enq__trip-opt:hover input:not(:checked)+span{color:var(--ebfq-navy)}
.ebf-enq__trip--compact{margin-bottom:.35rem}

/* --------------------------------------------- inline validation ---- */
.ebf-enq__err{display:block;margin:.35rem 0 0;font-size:.79rem;line-height:1.4;font-weight:600;color:var(--ebfq-err)}
.ebf-enq__err[hidden]{display:none!important}
.ebf-enq__err::before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;margin-right:.4rem;border-radius:50%;background:var(--ebfq-err);color:#fff;font-size:10px;font-weight:800;vertical-align:-2px}

.enq-form input.is-invalid,
.enq-form select.is-invalid,
.money-enq-form input.is-invalid,
.money-enq-form select.is-invalid,
.money-enq-form textarea.is-invalid,
#tbf-exit-form input.is-invalid{
  border-color:var(--ebfq-err)!important;
  background:var(--ebfq-err-bg)!important;
  box-shadow:0 0 0 3px rgba(192,38,27,.12)!important;
}

/* Fields hidden by trip mode must not hold layout or be tabbable. */
.ebf-enq__return[hidden],
.ebf-enq__leg2[hidden],
[data-ebf-return-wrap][hidden]{display:none!important}

/* ------------------------------------- homepage enquiry form skin ---- */
.ebf-enq{--ebfq-radius:14px}
.ebf-enq__head{margin-bottom:1.15rem}
.ebf-enq__sub{margin:.5rem 0 0;font-size:.9rem;line-height:1.55;color:var(--ebfq-soft)}
.ebf-enq__grid{row-gap:1.05rem}
.ebf-enq__f{position:relative;min-width:0}
.ebf-enq__f>label{display:block;margin-bottom:.4rem;font-size:.79rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ebfq-soft)}
.ebf-enq__f>label span[aria-hidden]{color:var(--ebfq-accent)}

.ebf-enq input[type="text"],
.ebf-enq input[type="tel"],
.ebf-enq input[type="email"],
.ebf-enq input[type="date"],
.ebf-enq select{
  width:100%;
  padding:.72rem .85rem;
  border:1.5px solid var(--ebfq-line);
  border-radius:var(--ebfq-radius);
  background:#fff;
  color:var(--ebfq-navy);
  font-size:.94rem;
  font-family:inherit;
  line-height:1.35;
  transition:border-color .2s,box-shadow .2s,background .2s;
  -webkit-appearance:none;appearance:none;
  min-height:46px;
}
.ebf-enq select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A6173' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .8rem center;
  background-size:16px;
  padding-right:2.3rem;
}
.ebf-enq input::placeholder{color:#94A8B8}
.ebf-enq input:focus,
.ebf-enq select:focus{
  outline:none;
  border-color:var(--ebfq-accent);
  box-shadow:0 0 0 3px rgba(240,83,28,.16);
}
.ebf-enq input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}
.ebf-enq input[type="date"]:hover::-webkit-calendar-picker-indicator{opacity:1}

.ebf-enq__contact{margin-top:1.15rem;padding-top:1.05rem;border-top:1px solid var(--ebfq-line)}
.ebf-enq .enq-contact-lbl{display:block;margin-bottom:.5rem;font-size:.79rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ebfq-soft)}
.ebf-enq .enq-contact-opts{display:flex;gap:.5rem;flex-wrap:wrap}
.ebf-enq .enq-contact-opts label{position:relative;margin:0}
.ebf-enq .enq-contact-opts input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.ebf-enq .enq-contact-opts span{display:block;padding:.5rem 1rem;border:1.5px solid var(--ebfq-line);border-radius:999px;font-size:.86rem;font-weight:600;color:var(--ebfq-soft);background:#fff;transition:border-color .2s,color .2s,background .2s;cursor:pointer}
.ebf-enq .enq-contact-opts input:checked+span{border-color:var(--ebfq-accent);color:var(--ebfq-accent);background:rgba(240,83,28,.07)}
.ebf-enq .enq-contact-opts input:focus-visible+span{outline:2px solid var(--ebfq-accent);outline-offset:2px}

.ebf-enq .enq-submit{width:100%;margin-top:1.15rem;min-height:52px;border-radius:var(--ebfq-radius);font-size:1rem;letter-spacing:-.01em}
.ebf-enq .enq-fine{margin-top:.8rem;font-size:.78rem;line-height:1.5;color:var(--ebfq-soft);text-align:center}

/* The passenger picker trigger should read as a field, not a button. */
.ebf-enq .tbf-pax__trigger{width:100%;min-height:46px;border:1.5px solid var(--ebfq-line);border-radius:var(--ebfq-radius);background:#fff;transition:border-color .2s,box-shadow .2s}
.ebf-enq .tbf-pax__trigger:focus-visible{outline:none;border-color:var(--ebfq-accent);box-shadow:0 0 0 3px rgba(240,83,28,.16)}

/* --------------------------------------------- exit popup tweaks ---- */
#tbf-exit-form .ebf-enq__trip{width:100%;justify-content:center}
#tbf-exit-form .ebf-enq__err{grid-column:1 / -1;margin-top:-.15rem}
#tbf-exit-form .tbf-exit-returnwrap{display:block;min-width:0}
#tbf-exit-form .tbf-exit-returnwrap input{width:100%}

/* --------------------------------------------- money form tweaks ---- */
.money-enq-form .ebf-enq__err{margin-top:.3rem}
.money-enq-form.is-oneway .money-return-wrap{display:none}

/* -------------------------------- compact quote UI (money / home / popup) ---- */
.ebf-quote--dense{--ebfq-gap:.4rem}
.ebf-quote--dense .ebf-quote__title{font-size:1.05rem;margin:0 0 .5rem;text-align:center;line-height:1.2}
.ebf-quote--dense .ebf-quote__row{margin-bottom:var(--ebfq-gap)}
.ebf-quote--dense .ebf-quote__field{margin-bottom:0}
.ebf-quote--dense .ebf-quote__field>label{margin:0 0 .12rem;font-size:.65rem;letter-spacing:.02em}
.ebf-quote--dense input[type="text"],
.ebf-quote--dense input[type="tel"],
.ebf-quote--dense input[type="email"],
.ebf-quote--dense input[type="date"],
.ebf-quote--dense select,
.ebf-quote--dense textarea,
.ebf-quote--dense .ebf-cal__btn{
  min-height:36px;padding:.4rem .55rem;font-size:.85rem;border-radius:8px
}
.ebf-quote--dense textarea{min-height:36px;max-height:72px}
.ebf-quote--dense .ebf-quote__submit{min-height:40px;margin-top:.35rem;font-size:.9rem}
.money-enq.ebf-quote--dense{padding:.75rem .8rem .85rem}
.money-enq.ebf-quote--dense .money-enq-form{gap:0}
.ebf-quote--dense.money-enq input,
.ebf-quote--dense.money-enq select,
.ebf-quote--dense.enq-form input,
.ebf-quote--dense.enq-form select,
.ebf-quote--dense textarea,
.ebf-quote--dense .ebf-cal__btn{
  min-height:36px!important;
}

@media (max-width:560px){
  .ebf-quote--dense .ebf-quote__row--contact{grid-template-columns:1fr}
}
.ebf-quote__head{text-align:center;margin:0 0 .7rem}
.ebf-quote__ico{display:inline-grid;place-items:center;width:36px;height:36px;margin:0 auto .4rem;border-radius:50%;background:#C4400E;color:#fff}
.ebf-quote__ico svg{width:18px;height:18px}
.ebf-quote__title{margin:0;font-size:1.28rem;line-height:1.2;color:var(--ebfq-navy);font-weight:700}
.ebf-quote__sub{margin:.2rem 0 0;font-size:.82rem;color:var(--ebfq-soft)}
.ebf-quote__sub strong{color:var(--ebfq-accent);font-weight:750}
.ebf-quote__lbl{margin:.55rem 0 .3rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ebfq-soft)}
.ebf-quote__lbl span{color:var(--ebfq-accent)}
.ebf-quote__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ebfq-gap);margin-bottom:var(--ebfq-gap)}
.ebf-quote__row--contact{grid-template-columns:repeat(3,minmax(0,1fr))}
.ebf-quote__field{min-width:0;margin-bottom:var(--ebfq-gap)}
.ebf-quote--popup,
.ebf-quote--popup .ebf-quote__row,
.ebf-quote--popup .ebf-quote__field{min-width:0;max-width:100%}
.ebf-quote__field--full{grid-column:1 / -1}
.ebf-quote__field>label{display:block;margin:0 0 .22rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ebfq-soft)}
.ebf-quote__field>label span{color:var(--ebfq-accent)}
.ebf-quote input[type="text"],
.ebf-quote input[type="tel"],
.ebf-quote input[type="email"],
.ebf-quote input[type="date"],
.ebf-quote select,
.ebf-quote textarea{
  width:100%;min-height:42px;padding:.55rem .7rem;border:1.5px solid var(--ebfq-line);border-radius:10px;background:#fff;color:var(--ebfq-navy);font-size:.9rem;font-family:inherit;line-height:1.3
}
.ebf-quote textarea{min-height:64px;max-width:100%;resize:vertical;overflow-x:hidden}
.ebf-quote input,
.ebf-quote select,
.ebf-quote textarea{min-width:0;max-width:100%}
.ebf-quote input:focus,
.ebf-quote select:focus,
.ebf-quote textarea:focus{outline:none;border-color:var(--ebfq-accent);box-shadow:0 0 0 3px rgba(240,83,28,.14)}
.ebf-quote .tbf-pax__trigger{width:100%;min-height:42px;border:1.5px solid var(--ebfq-line);border-radius:10px;background:#fff}
.ebf-quote__trust{margin:.35rem 0 .45rem;padding:.45rem .65rem;border-radius:8px;background:#eaf7ee;color:#1b5e3b;font-size:.78rem;font-weight:600;text-align:center}
.ebf-quote__submit{width:100%;min-height:46px;margin:0;border:none;border-radius:10px;background:#C4400E!important;color:#fff!important;font-weight:700;font-size:.95rem;cursor:pointer}
.ebf-quote__submit:hover{background:#D2410E!important}
.ebf-quote__foot{margin:.45rem 0 0;font-size:.78rem;color:var(--ebfq-soft);text-align:center}
.ebf-quote__foot a{color:#C4400E;font-weight:700;text-decoration:none}
.ebf-quote__contact{display:flex;flex-wrap:wrap;gap:.35rem .7rem;align-items:center;margin:.15rem 0 .5rem;font-size:.8rem;color:var(--ebfq-soft)}
.ebf-quote__contact>span{font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}

.ebf-trip-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin:0 0 .65rem}
.ebf-trip-pills--2{grid-template-columns:1fr 1fr}
.ebf-trip-pills__opt{position:relative;margin:0}
.ebf-trip-pills__opt input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ebf-trip-pills__opt span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:.4rem .5rem;border:1.5px solid var(--ebfq-line);border-radius:10px;font-size:.82rem;font-weight:650;color:var(--ebfq-soft);background:#fff}
.ebf-trip-pills__opt input:checked+span{border-color:#C4400E;color:#C4400E;box-shadow:0 0 0 1px #C4400E}
.ebf-trip-pills__opt input:focus-visible+span{outline:2px solid #C4400E;outline-offset:2px}

.ebf-cal{position:relative}
.ebf-cal__btn{display:none;width:100%;min-height:42px;align-items:center;gap:.45rem;padding:.45rem .65rem;border:1.5px solid var(--ebfq-line);border-radius:10px;background:#fff;color:var(--ebfq-navy);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}
.ebf-cal.is-ready .ebf-cal__btn{display:flex}
.ebf-cal.is-ready .ebf-cal__native{
  position:absolute;left:0;top:0;width:1px!important;max-width:1px;height:1px;
  padding:0!important;margin:0;overflow:hidden;clip:rect(0,0,0,0);border:0!important
}
.ebf-cal__btn svg{width:16px;height:16px;color:var(--ebfq-soft);flex-shrink:0}
.ebf-cal-backdrop{
  position:fixed;inset:0;z-index:2147483005;background:rgba(15,23,32,.45);
}
.ebf-cal-backdrop[hidden]{display:none!important}
.ebf-cal__pop{
  position:fixed;z-index:2147483006;width:min(340px,calc(100vw - 24px));
  padding:.85rem .7rem;background:#fff;border:1px solid var(--ebfq-line);
  border-radius:14px;box-shadow:0 18px 48px rgba(20,32,43,.22);
  -webkit-overflow-scrolling:touch;
  touch-action:manipulation;
  overscroll-behavior:contain;
}
.ebf-cal__pop[hidden]{display:none!important}
.ebf-cal__pop--sheet{
  left:0!important;right:0!important;bottom:0!important;top:auto!important;
  width:100%!important;max-width:none!important;margin:0!important;
  border:none!important;border-radius:18px 18px 0 0!important;
  padding:0!important;overflow:hidden!important;
  max-height:88vh!important;
  display:flex!important;flex-direction:column!important;
  box-shadow:0 -10px 44px rgba(8,16,26,.32)!important;
}
.ebf-cal__pop--sheet::before{
  content:"";flex:0 0 auto;width:40px;height:4px;border-radius:99px;
  background:#d8dee3;margin:9px auto 3px;
}
.ebf-cal__pop--sheet .ebf-cal__toolbar{
  flex:0 0 auto;margin:0;padding:.5rem .9rem .55rem;
  border-bottom:1px solid var(--ebfq-line);
}
.ebf-cal__pop--sheet .ebf-cal__hint{font-size:.9rem}
.ebf-cal__pop--sheet .ebf-cal__nav{width:40px;height:40px;font-size:1.3rem}
.ebf-cal__pop--sheet .ebf-cal__months{
  flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;
  margin:0;padding:.7rem .9rem 1rem;gap:1rem;
}
.ebf-cal__pop--sheet .ebf-cal__month-title{font-size:1rem}
.ebf-cal__pop--sheet .ebf-cal__dow{font-size:.72rem;margin-bottom:.35rem}
.ebf-cal__pop--sheet .ebf-cal__grid{gap:3px}
.ebf-cal__pop--sheet .ebf-cal__day{min-height:46px;font-size:1.02rem;border-radius:10px}
.ebf-cal__pop--sheet .ebf-cal__done{
  flex:0 0 auto;margin:0;border-radius:0;min-height:52px;font-size:1rem;
  background:#C4400E;
  padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom,0px));
}
.ebf-cal__day{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.tbf-pax__ages{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.15rem 0 .5rem .15rem}
.tbf-pax__ages[hidden]{display:none!important}
.tbf-pax__ages-lbl{grid-column:1 / -1;margin:0;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4A6173}
.tbf-pax__ages select{min-height:40px;width:100%;border:1.5px solid #E7E2D6;border-radius:8px;padding:.35rem .5rem;font:inherit;background:#fff}
.ebf-quote--dense .tbf-pax__trigger{min-height:36px!important;padding:.35rem .5rem}

/* Passenger panel layout (homepage skips pages.css). Keep [hidden] closed. */
html.tbf-pax-open,
html.tbf-pax-open body,
body.tbf-pax-open{
  overflow:hidden!important;
}
.tbf-pax{position:relative;width:100%;min-width:0}
.tbf-pax__trigger{
  width:100%;display:flex;align-items:center;gap:.45rem;
  padding:.55rem .7rem;border:1.5px solid #E7E2D6;border-radius:10px;
  background:#fff;color:#14263F;font:inherit;font-size:.88rem;font-weight:600;
  cursor:pointer;text-align:left;min-height:0;line-height:1.25;box-sizing:border-box;
}
.tbf-pax__trigger-ico{display:grid;place-items:center;flex-shrink:0;color:#9C7724}
.tbf-pax__trigger-ico svg{width:16px;height:16px}
.tbf-pax__trigger-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbf-pax__trigger-chev{color:#616E83;font-size:.75rem;flex-shrink:0}
.tbf-pax__backdrop{
  position:fixed;inset:0;z-index:2147483000;
  background:rgba(15,23,32,.45);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  pointer-events:auto;
}
.tbf-pax__panel[hidden],
.tbf-pax__backdrop[hidden]{display:none!important}
.tbf-pax__panel{
  position:fixed;z-index:2147483001;
  display:flex;flex-direction:column;
  background:#fff;color:#14263F;border:1.5px solid #E7E2D6;border-radius:12px;
  box-shadow:0 16px 40px rgba(20,38,63,.18);
  max-height:min(70vh,380px);overflow:hidden;box-sizing:border-box;
  pointer-events:auto!important;
}
.tbf-pax__panel--sheet{
  border-radius:14px;
  max-height:min(70vh,420px)!important;
  bottom:calc(16px + env(safe-area-inset-bottom, 0px))!important;
  left:12px!important;right:12px!important;
  width:auto!important;max-width:420px!important;margin:0 auto!important;
}
.tbf-pax__sheet-head{
  display:none;align-items:center;justify-content:space-between;
  gap:.5rem;padding:.55rem .8rem .35rem;flex-shrink:0;
  border-bottom:1px solid #EEE8DC;
}
.tbf-pax__panel--sheet .tbf-pax__sheet-head{display:flex}
.tbf-pax__sheet-title{font-size:.86rem;font-weight:700;color:#14263F}
.tbf-pax__sheet-close{
  width:30px;height:30px;border:0;border-radius:50%;
  background:#F4F1EA;color:#14263F;font-size:1.15rem;line-height:1;
  cursor:pointer;display:grid;place-items:center;
}
.tbf-pax__scroll{
  padding:.3rem .75rem .15rem;overflow-y:auto;-webkit-overflow-scrolling:touch;
  flex:0 1 auto;min-height:0;
}
.tbf-pax__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.32rem 0}
.tbf-pax__row+.tbf-pax__row{border-top:1px solid #EEE8DC}
.tbf-pax__lbl{min-width:0;padding-right:.35rem}
.tbf-pax__lbl b{display:block;font-size:.84rem;font-weight:700;color:#14263F;line-height:1.2}
.tbf-pax__lbl small{display:block;font-size:.68rem;color:#616E83;margin-top:.06rem;font-weight:500}
.tbf-pax__stepper{display:flex;align-items:center;gap:.4rem;flex-shrink:0}
.tbf-pax__stepper span{min-width:1.05rem;text-align:center;font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums;color:#14263F}
.tbf-pax__btn{
  width:28px;height:28px;border-radius:50%;border:1.5px solid #C79A3F;
  background:#fff;color:#9C7724;display:grid;place-items:center;
  font-size:.95rem;line-height:1;cursor:pointer;padding:0;
}
.tbf-pax__footer{
  display:flex;justify-content:flex-end;flex-shrink:0;
  padding:.4rem .75rem .5rem;border-top:1px solid #EEE8DC;background:#fff;
}
.tbf-pax__panel--sheet .tbf-pax__footer{padding:.45rem .8rem .55rem}
.tbf-pax__done{
  border:none;border-radius:8px;padding:.45rem .95rem;background:#C79A3F;color:#14263F;
  font-weight:800;font-size:.84rem;cursor:pointer;min-width:5.25rem;
}
.tbf-pax__panel--sheet .tbf-pax__done{width:100%;padding:.6rem 1rem;font-size:.88rem;border-radius:9px}
.enq-form,.enq-grid,.enq-field,.ebf-quote,.ebf-quote__field,.ebf-quote__field--pax{overflow:visible!important;min-width:0}
#tbf-exit-overlay .ebf-cal__pop{z-index:10050}
.ebf-cal__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.45rem}
.ebf-cal__hint{margin:0;font-size:.75rem;font-weight:650;color:var(--ebfq-soft);text-align:center;flex:1}
.ebf-cal__nav{width:32px;height:32px;border:1px solid var(--ebfq-line);border-radius:8px;background:#fff;font-size:1.1rem;cursor:pointer}
.ebf-cal__months{display:block}
.ebf-cal__month-title{margin:0 0 .35rem;font-size:.88rem;font-weight:750;color:var(--ebfq-navy);text-align:center}
.ebf-cal__dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.2rem;font-size:.68rem;font-weight:700;color:var(--ebfq-soft);text-align:center}
.ebf-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.ebf-cal__day{min-height:34px;border:none;border-radius:8px;background:transparent;font:inherit;font-size:.82rem;cursor:pointer;color:var(--ebfq-navy)}
.ebf-cal__day:hover:not(:disabled){background:#fff3ed}
.ebf-cal__day.is-disabled{color:#c5d0d8;cursor:not-allowed}
.ebf-cal__day.is-today{font-weight:800}
.ebf-cal__day.is-in{background:#ffe4d6;border-radius:0}
.ebf-cal__day.is-start,.ebf-cal__day.is-end{background:#C4400E;color:#fff;font-weight:700}
.ebf-cal__done{display:block;width:100%;margin-top:.55rem;min-height:36px;border:none;border-radius:8px;background:#14202B;color:#fff;font-weight:650;cursor:pointer}

.dock .ebf-cal__btn{min-height:38px;border:0;padding:.2rem 0;box-shadow:none;background:transparent;font-size:.95rem}
.dock-dates.ebf-cal{position:relative}

@media (max-width:720px){
  .ebf-quote__row,
  .ebf-quote__row--contact{grid-template-columns:1fr}
  .ebf-quote__row--dates{grid-template-columns:1fr 1fr}
  .ebf-quote--dense .ebf-quote__row{grid-template-columns:1fr 1fr}
  .ebf-quote--dense .ebf-quote__row--contact{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ebf-quote input,.ebf-quote select,.ebf-quote textarea,.ebf-cal__btn{font-size:16px}
}

@media (max-width:640px){
  .ebf-enq__trip{width:100%;justify-content:space-between}
  .ebf-enq__trip-opt{flex:1 1 0}
  .ebf-enq__trip-opt span{text-align:center;padding:.55rem .5rem;font-size:.82rem}
  .ebf-enq .enq-contact-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .ebf-enq .enq-contact-opts span{text-align:center;padding:.5rem .4rem;font-size:.82rem}
  /* iOS zooms any focused field under 16px — keep inputs at 16px on phones. */
  .ebf-enq input[type="text"],
  .ebf-enq input[type="tel"],
  .ebf-enq input[type="email"],
  .ebf-enq input[type="date"],
  .ebf-enq select{font-size:16px}
}

@media (prefers-reduced-motion:reduce){
  .ebf-enq__trip-opt span,
  .ebf-enq input,
  .ebf-enq select,
  .ebf-enq .enq-contact-opts span{transition:none}
}


/* ===== ebf-home.css ===== */
/* Experts Business First — homepage sections (forms restyled via existing .dock / .enq-form) */

.ebf-home{background:var(--ebf-cream);color:var(--ebf-navy);overflow-x:clip}
.ebf-home .container{width:min(1280px,92vw);margin-inline:auto}

.ebf-sec-head{max-width:46rem;margin:0 auto 2.4rem}
.ebf-sec-head h2{font-size:clamp(2rem,3.8vw,3.35rem);line-height:1.08;margin:0 0 .75rem;font-weight:500}
.ebf-sec-head h2 em{font-style:italic;font-weight:500}
.ebf-sec-head p{margin:0;color:var(--ebf-text);font-size:1.05rem;line-height:1.65}
.ebf-sec-head--light{color:#fff}
.ebf-sec-head--light h2{color:#fff}
.ebf-sec-head--light p{color:#E4E9F0}
.ebf-sec-head--light h2 em{color:var(--ebf-gold);font-style:italic}
.ebf-sec-cta{display:flex;justify-content:center;margin-top:2.2rem}
.ebf-eyebrow-gold{color:var(--ebf-gold)!important}
.ebf-text-link{color:var(--ebf-gold);font-weight:650;text-decoration:none;white-space:nowrap}
.ebf-text-link:hover{color:var(--ebf-gold-lt)}

/* Hero */
.ebf-hero__inner--solo{grid-template-columns:1fr;padding-bottom:clamp(2rem,5vw,3rem)}
.ebf-hero__copy{max-width:38rem;position:relative;z-index:1;padding-right:2rem}
.ebf-hero h1{max-width:14ch}
.ebf-hero__benefits--three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px}
.ebf-hero__benefits small{display:block;font-weight:500;color:var(--ebf-text);font-size:.78rem}
.ebf-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.1rem;margin-top:1.6rem}
.ebf-hero__phone{font-weight:700;color:var(--ebf-navy);letter-spacing:.02em}
/* Search dock lives inside the hero; overflow:hidden was clipping cabin class. */
.ebf-home .ebf-hero{overflow:visible;z-index:5}
.ebf-home .ebf-hero__media{overflow:hidden}
.ebf-disc{position:relative;z-index:3;padding-bottom:2.5rem}
.ebf-disc__head{text-align:center;margin-bottom:.35rem}
.ebf-disc__head h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 .35rem}
.ebf-disc__head p{margin:0;color:var(--ebf-text)}
.ebf-hero .dock-wrap{margin-top:.4rem}
.ebf-disc__prefer{text-align:center;margin:.9rem 0 0;color:var(--ebf-text);font-size:.95rem}
.ebf-disc__prefer a{color:var(--ebf-navy);font-weight:700}

.ebf-home .tbf-qa{padding:1.5rem 0 0}
.ebf-home .tbf-qa-card{border:1px solid var(--ebf-border);border-radius:16px;background:var(--ebf-cream);box-shadow:none}

/* Priorities */
.ebf-prio{background:var(--ebf-cream);padding:clamp(2.2rem,4.5vw,3.6rem) 0}
.ebf-prio .ebf-sec-head{max-width:none;text-align:center}
.ebf-prio .ebf-sec-head h2{
  white-space:normal;
  font-size:clamp(1.45rem,2.8vw + .4rem,2.85rem);
}
@media (max-width:640px){
  .ebf-prio .ebf-sec-head h2{white-space:normal}
}
.ebf-prio__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ebf-prio__card{
  text-align:left;background:#fff;border:1px solid var(--ebf-border);border-radius:16px;
  padding:1.2rem 1.15rem;min-height:168px;cursor:pointer;
  box-shadow:0 2px 6px rgba(20,37,61,.05),0 10px 24px rgba(20,37,61,.06);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ebf-prio__card:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgba(20,37,61,.08),0 18px 36px rgba(20,37,61,.1)}
.ebf-prio__card.is-on,.ebf-prio__card[aria-pressed="true"]{border-color:var(--ebf-gold);box-shadow:0 0 0 2px rgba(200,154,61,.22),0 10px 28px rgba(200,154,61,.14)}
.ebf-prio__ico{display:grid;place-items:center;width:36px;height:36px;margin-bottom:.7rem;color:var(--ebf-gold)}
.ebf-prio__ico svg{width:24px;height:24px}
.ebf-prio__card strong{display:block;color:var(--ebf-navy);margin-bottom:.35rem}
.ebf-prio__card span:last-child{display:block;color:var(--ebf-text);font-size:.88rem;line-height:1.45}

/* Coverflow carousel — GPU transforms only, no scroll flattening */
.ebf-stage{
  position:relative;height:480px;perspective:1600px;perspective-origin:50% 42%;
  overflow:hidden
}
.ebf-stories .ebf-stage{height:380px}
.ebf-track{
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:.85rem .15rem 1.15rem;position:relative;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;touch-action:pan-x
}
.ebf-track.ebf-cover{
  display:block;position:absolute;inset:0;overflow:visible;gap:0;padding:0;
  transform-style:preserve-3d;scrollbar-width:none;touch-action:pan-y
}
.ebf-track.ebf-cover::-webkit-scrollbar{display:none}
.ebf-track:not(.ebf-cover)::-webkit-scrollbar{height:6px}
.ebf-track:not(.ebf-cover)::-webkit-scrollbar-thumb{background:rgba(18,24,32,.22);border-radius:99px}
.ebf-track:focus-visible{outline:2px solid var(--ebf-gold);outline-offset:4px}
.ebf-track.ebf-cover > *{
  position:absolute;left:50%;top:28px;width:min(340px,70vw);height:420px;
  margin:0 0 0 calc(min(340px,70vw) / -2);
  transform-origin:center center;backface-visibility:hidden;
  transform:
    translateX(calc(var(--i, 0) * 158px))
    rotateY(calc(var(--i, 0) * -52deg))
    translateZ(calc(var(--ai, 0) * -90px))
    scale(calc(1 - min(var(--ai, 0), 3) * .07));
  opacity:calc(1 - min(var(--ai, 0), 4) * .2);
  z-index:calc(20 - (var(--ai, 0) * 4));
  will-change:transform,opacity;
  transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s ease,box-shadow .4s ease;
  pointer-events:none;
}
.ebf-track.ebf-cover > *.is-focus{z-index:40;pointer-events:auto}
.ebf-track.ebf-cover > *.is-near{pointer-events:auto}
.ebf-track.ebf-cover > .ebf-stories__card{height:320px;top:24px}
.ebf-destx__nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.55rem;flex-shrink:0}
.ebf-slider-btn{
  width:52px;height:52px;flex:0 0 52px;border-radius:50%;border:1px solid var(--ebf-border);
  background:#fff;color:var(--ebf-navy);display:inline-grid;place-items:center;cursor:pointer;
  box-shadow:0 8px 24px rgba(18,24,32,.1);
  transition:border-color .2s ease,color .2s ease,transform .2s ease,background .2s ease
}
.ebf-slider-btn svg{width:20px;height:20px;display:block}
.ebf-slider-btn:hover{border-color:var(--ebf-gold);color:var(--ebf-gold);transform:translateY(-1px)}
.ebf-destx__nav--light .ebf-slider-btn{
  background:rgba(255,255,255,.08);border-color:rgba(201,166,107,.45);color:#F3EEE4;
  box-shadow:0 8px 22px rgba(0,0,0,.28)
}
.ebf-destx__nav--light .ebf-slider-btn:hover{border-color:var(--ebf-gold);color:var(--ebf-gold);background:rgba(201,166,107,.14)}

/* Flight intelligence — Dribbble-style stacked journey cards */
.ebf-intel{
  background:linear-gradient(180deg,#E7ECF1 0%,#F3EEE4 100%);
  padding:clamp(2.4rem,5vw,3.8rem) 0;color:var(--ebf-navy);overflow:hidden
}
.ebf-intel__intro{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:.2rem}
.ebf-intel__intro .ebf-sec-head{margin:0;max-width:40rem}
.ebf-intel .ebf-stage--stack{height:580px;perspective:1600px;overflow:visible}
.ebf-track.ebf-stack{
  display:block;position:absolute;inset:0;overflow:visible;padding:0;
  transform-style:preserve-3d;touch-action:pan-y
}
.ebf-track.ebf-stack > *{
  position:absolute;left:50%;top:18px;width:min(390px,78vw);height:540px;
  margin:0 0 0 calc(min(390px,78vw) / -2);
  transform-origin:center center;backface-visibility:hidden;
  transform:
    translateX(calc(var(--i, 0) * 58%))
    translateZ(calc(var(--ai, 0) * -160px))
    rotateY(calc(var(--i, 0) * -16deg))
    scale(calc(1 - min(var(--ai, 0), 3) * .11));
  opacity:calc(1 - min(var(--ai, 0), 3) * .12);
  z-index:calc(12 - (var(--ai, 0) * 3));
  will-change:transform,opacity;
  transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .45s ease;
  pointer-events:none;
}
.ebf-track.ebf-stack > *.is-focus{z-index:40;pointer-events:auto;opacity:1}
.ebf-track.ebf-stack > *.is-near{pointer-events:auto}
.ebf-journey{border-radius:28px;overflow:hidden;box-shadow:0 22px 50px rgba(18,24,32,.18)}
.ebf-journey.is-focus{box-shadow:0 32px 70px rgba(18,24,32,.28)}
.ebf-journey__link{display:block;position:relative;height:100%;color:#fff;text-decoration:none}
.ebf-journey__photo{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.04);transition:transform .8s cubic-bezier(.22,1,.36,1);will-change:transform
}
.ebf-journey.is-focus .ebf-journey__photo{transform:scale(1.1)}
.ebf-journey__shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,10,14,.08) 0%,rgba(8,10,14,.18) 42%,rgba(8,10,14,.78) 100%)
}
.ebf-journey__glass{
  position:absolute;left:16px;top:70px;width:108px;bottom:168px;margin:0;padding:14px 10px;
  list-style:none;display:flex;flex-direction:column;justify-content:space-evenly;gap:.35rem;
  border-radius:18px;border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.12);color:#fff;
  opacity:0;transform:translateY(10px);
  transition:opacity .45s ease,transform .45s ease;
  pointer-events:none
}
.ebf-journey.is-focus .ebf-journey__glass{
  opacity:1;transform:none;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)
}
.ebf-journey__glass li{display:flex;flex-direction:column;align-items:flex-start;gap:.28rem}
.ebf-journey__glass svg{width:16px;height:16px}
.ebf-journey__glass span{font-size:.72rem;font-weight:600;letter-spacing:.02em;line-height:1.2}
.ebf-journey__spine{
  position:absolute;top:0;right:0;bottom:0;width:68px;
  background:#0B0C0E;color:#fff;display:flex;flex-direction:column;align-items:center;
  padding:14px 0 18px
}
.ebf-journey__badge{
  font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:.28rem .42rem;white-space:nowrap;
  transform:scale(.92)
}
.ebf-journey__kicker,.ebf-journey__name{
  writing-mode:vertical-rl;transform:rotate(180deg);text-align:left
}
.ebf-journey__kicker{margin-top:1.1rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;opacity:.72;font-weight:500}
.ebf-journey__name{
  margin-top:auto;font-family:var(--body);font-size:1.55rem;font-weight:700;letter-spacing:.04em;line-height:1
}
.ebf-journey__foot{position:absolute;left:0;right:68px;bottom:0;padding:0 16px 16px}
.ebf-journey__stats{
  display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:.4rem;margin:0 0 .75rem;color:#fff
}
.ebf-journey__stats dt{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:.72;margin:0}
.ebf-journey__stats dd{margin:.1rem 0 0;font-size:.95rem;font-weight:700}
.ebf-journey__cta{
  display:flex;align-items:center;justify-content:center;gap:.4rem;height:46px;
  border-radius:999px;background:rgba(12,10,10,.72);color:#fff;font-weight:650;letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.12)
}
.ebf-journey.is-focus .ebf-journey__cta{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ebf-intel__empty{color:var(--ebf-text);text-align:center;padding:3rem 1rem}

/* Trust 5 */
.ebf-trust5{background:#fff;padding:clamp(2.4rem,5vw,3.5rem) 0;border-block:1px solid var(--ebf-border)}
.ebf-trust5__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem;list-style:none;margin:0;padding:0}
.ebf-trust5 li{text-align:center}
.ebf-trust5__ico{display:grid;place-items:center;width:52px;height:52px;margin:0 auto .7rem;border:1px solid rgba(200,154,61,.35);border-radius:50%;color:var(--ebf-gold)}
.ebf-trust5__ico svg{width:22px;height:22px}
.ebf-trust5 strong{display:block;color:var(--ebf-navy);margin-bottom:.25rem}
.ebf-trust5 p{margin:0;color:var(--ebf-text);font-size:.9rem}

/* Destinations — cinematic coverflow cards */
.ebf-destx{background:var(--ebf-cream);padding:clamp(2.2rem,4.5vw,3.6rem) 0;overflow:hidden}
.ebf-destx__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:.4rem}
.ebf-destx__head .ebf-sec-head{margin:0}
.ebf-destx__tools{display:flex;align-items:center;gap:.8rem}
.ebf-destx__card{position:relative;height:420px;border-radius:22px;overflow:hidden;display:block;color:#fff;text-decoration:none;box-shadow:0 18px 40px rgba(18,24,32,.18)}
.ebf-destx__card.is-focus{box-shadow:0 32px 70px rgba(18,24,32,.28),0 0 0 1px rgba(201,166,107,.35)}
.ebf-destx__card img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform .7s cubic-bezier(.22,1,.36,1);will-change:transform}
.ebf-destx__card.is-focus img,.ebf-destx__card:hover img{transform:scale(1.14)}
.ebf-destx__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,24,32,.05) 0%,rgba(18,24,32,.18) 42%,rgba(18,24,32,.82) 100%)}
.ebf-destx__copy{position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1.35rem 1.4rem;z-index:1}
.ebf-destx__region{display:block;color:var(--ebf-gold-lt);font-size:.68rem;font-weight:650;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.4rem}
.ebf-destx__copy h3{margin:0 0 .35rem;font-size:2rem;color:#fff;font-weight:500}
.ebf-destx__fare{margin:0;color:#fff;font-family:var(--display);font-size:1.25rem;font-weight:500}
.ebf-destx__fare small{display:block;font-family:var(--body);font-weight:400;color:rgba(243,238,228,.72);font-size:.72rem;margin-top:.2rem;letter-spacing:.02em}
.ebf-destx__fare--ask{font-family:var(--body);font-size:.92rem;opacity:.85}

/* Fare intelligence */
.ebf-fare{background:#fff;padding:clamp(2.2rem,4.5vw,3.4rem) 0}
.ebf-fare__panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.1rem 1.6rem;align-items:center;background:var(--ebf-cream);border-radius:20px;padding:clamp(1.4rem,3.5vw,2.2rem);border:1px solid var(--ebf-border)}
.ebf-fare__copy h2{margin:.4rem 0 .7rem}
.ebf-fare__copy .btn{margin-top:.4rem}
.ebf-fare__photo{margin:0}
.ebf-fare__photo img{width:100%;height:220px;object-fit:cover;border-radius:16px;display:block}
.ebf-fare__stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ebf-fare__stats>div{background:#fff;border-radius:14px;padding:1rem 1.05rem;border:1px solid var(--ebf-border)}
.ebf-fare__ico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ebf-navy);color:#fff;margin-bottom:.55rem}
.ebf-fare__ico svg{width:16px;height:16px}
.ebf-fare__stats strong{display:block;font-size:.82rem;color:var(--ebf-text);font-weight:650}
.ebf-fare__stats b{display:block;font-family:var(--display);font-size:1.15rem;color:var(--ebf-navy);margin:.2rem 0;line-height:1.25}
.ebf-fare__stats small{color:var(--ebf-text)}

/* Experts pick */
.ebf-pick{background:var(--ebf-navy-deep);padding:clamp(2rem,4vw,3.2rem) 0;color:#fff}
.ebf-pick__top{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.ebf-pick__intro h2{color:#fff;margin:.2rem 0 0;font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.15}
.ebf-pick__controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ebf-pick__btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.ebf-pick__btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ebf-pick__dots{display:flex;gap:7px}
.ebf-pick__dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.28);cursor:pointer}
.ebf-pick__dots i.on{background:#fff;transform:scale(1.25)}
.ebf-pick__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,260px);gap:1.15rem;align-items:stretch}
.ebf-pick__stage{position:relative;min-width:0}
.ebf-pick__grid{display:none;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.15rem;align-items:center}
.ebf-pick__grid.is-on{display:grid}
.ebf-pick__copy h2,.ebf-pick__copy h3{color:#fff}
.ebf-pick__copy h2{margin:0 0 .35rem;font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.15}
.ebf-pick__copy h3{font-size:clamp(1.45rem,2.4vw,2.05rem);margin:0 0 .15rem;font-weight:600;color:#fff}
.ebf-pick__stars{margin:.15rem 0;color:var(--ebf-gold);letter-spacing:.08em}
.ebf-pick__stars span{color:#fff;letter-spacing:0;font-weight:700;margin-left:.35rem}
.ebf-pick__price{font-family:var(--display);color:var(--ebf-gold);font-size:clamp(1.6rem,3vw,2.2rem);margin:.15rem 0;letter-spacing:-.03em}
.ebf-pick__note,.ebf-pick__lead{color:#E4E9F0}
.ebf-pick__lead{margin:.55rem 0 0;max-width:42ch}
.ebf-pick__reasons{list-style:none;margin:.85rem 0 1.1rem;padding:0}
.ebf-pick__reasons li{position:relative;padding-left:1.35rem;margin:.28rem 0;color:#E4E9F0}
.ebf-pick__reasons li::before{content:"";position:absolute;left:2px;top:.38rem;width:8px;height:5px;border-left:2px solid var(--ebf-gold);border-bottom:2px solid var(--ebf-gold);transform:rotate(-45deg);border-radius:0;background:transparent}
.ebf-pick__actions{display:flex;flex-wrap:wrap;gap:.7rem}
.ebf-pick__phone{display:block;margin-top:.55rem;color:var(--ebf-gold);font-weight:750;font-size:1.15rem}
.ebf-pick__right{display:flex;flex-direction:column;gap:.75rem}
.ebf-pick__visual{margin:0;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.06)}
.ebf-pick__visual img{width:100%;height:280px;object-fit:cover;border-radius:0;display:block}
.ebf-pick__facts{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:0;background:rgba(255,255,255,.04);border:0;border-radius:0;padding:.85rem 1rem}
.ebf-pick__facts dt{color:#C5D0DC;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}
.ebf-pick__facts dd{margin:0;color:#fff;font-weight:650}
.ebf-pick__aside{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;border:1px solid rgba(200,154,61,.35);border-radius:16px;padding:1.2rem 1.1rem;margin:0}
.ebf-pick__aside h3{margin:0;font-size:1.05rem;color:#fff;line-height:1.3}
.ebf-pick__aside p{color:rgba(255,255,255,.82);margin:.35rem 0 0;font-size:.92rem}
.ebf-pick__aside .ebf-text-link{display:inline-block;margin-top:.55rem;color:var(--ebf-gold)}
.ebf-pick__headset{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(200,154,61,.4);color:var(--ebf-gold);flex-shrink:0}
.ebf-pick__headset svg{width:20px;height:20px}

/* Airports */
.ebf-airports .ebf-sec-head{margin-left:0;margin-right:0;text-align:left}
.ebf-airports__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.ebf-airports__card{position:relative;display:block;background:#fff;border:1px solid var(--ebf-border);border-radius:16px;padding:1.25rem 1.2rem 3rem;color:inherit;text-decoration:none}
.ebf-airports__code{display:inline-block;color:var(--ebf-gold);font-weight:800;letter-spacing:.08em;font-size:.8rem}
.ebf-airports__card h3{margin:.35rem 0 .4rem;font-size:1.05rem;line-height:1.25}
.ebf-airports__card p{margin:0;color:var(--ebf-text);font-size:.9rem}
.ebf-airports__go{position:absolute;right:1rem;bottom:1rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--ebf-gold);color:var(--ebf-gold);display:grid;place-items:center}
.ebf-airports__go svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Airlines */
.ebf-airx{background:var(--ebf-navy-deep);padding:clamp(2.2rem,4.5vw,3.6rem) 0;overflow:hidden}
.ebf-airx__card{display:block;height:420px;border-radius:22px;overflow:hidden;position:relative;color:#fff;text-decoration:none;box-shadow:0 18px 40px rgba(0,0,0,.3)}
.ebf-airx__card.is-focus{box-shadow:0 28px 64px rgba(0,0,0,.42),0 0 0 1px rgba(201,166,107,.4)}
.ebf-airx__card img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .7s cubic-bezier(.22,1,.36,1);will-change:transform}
.ebf-airx__card.is-focus img,.ebf-airx__card:hover img,.ebf-airx__card:focus-visible img{transform:scale(1.14)}
.ebf-airx__card span{position:absolute;left:0;right:0;bottom:0;padding:1.15rem 1.1rem;font-family:var(--display);font-size:1.45rem;font-weight:500;text-align:left;color:#fff;background:linear-gradient(180deg,transparent,rgba(10,14,20,.82))}
.ebf-airx__tall.ebf-peek{grid-auto-columns:calc((100% - 64px) / 5)}
.ebf-airx__tall-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;min-height:0;color:var(--ebf-navy);box-shadow:0 16px 36px rgba(0,0,0,.22)}
.ebf-airx__tall-card::after{display:none}
.ebf-airx__tall-card img{width:100%;height:210px;object-fit:cover;display:block}
.ebf-airx__tall-card span{position:static;padding:.9rem .75rem;font-family:var(--body);font-size:.95rem;font-weight:750;text-align:center;color:var(--ebf-navy);background:#fff;z-index:1}
.ebf-airx__logos{overflow:hidden;margin-top:1.2rem;opacity:.85;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ebf-airx__logos-track{display:flex;gap:2.6rem;align-items:center;width:max-content;animation:ebf-marquee 42s linear infinite}
.ebf-airx__logos-track img{height:36px;width:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.8}
@keyframes ebf-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Cabins */
.ebf-cabins{background:#fff;padding:clamp(2.2rem,4.5vw,3.6rem) 0}
.ebf-cabins__grid{display:grid;grid-template-columns:1fr 1fr .75fr;gap:1.1rem}
.ebf-cabins__card{background:#fff;border:1px solid var(--ebf-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.ebf-cabins__bar{color:#fff;text-align:center;padding:.7rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}
.ebf-cabins__bar--navy{background:var(--ebf-navy)}
.ebf-cabins__bar--gold{background:var(--ebf-gold);color:#071A2E}
.ebf-cabins__card img{width:100%;height:200px;object-fit:cover}
.ebf-cabins__card ul{list-style:none;margin:0;padding:1.1rem 1.2rem 0}
.ebf-cabins__card li{position:relative;padding-left:1.15rem;margin:.4rem 0;color:var(--ebf-text)}
.ebf-cabins__card li::before{content:"";position:absolute;left:0;top:.5rem;width:7px;height:7px;border-radius:50%;background:var(--ebf-gold)}
.ebf-cabins__fine{padding:0 1.2rem;color:var(--ebf-text);font-size:.82rem}
.ebf-cabins__card .btn{margin:0 1.2rem 1.2rem;align-self:flex-start}
.ebf-cabins__quote{position:relative;border-radius:16px;overflow:hidden;min-height:100%}
.ebf-cabins__quote img{width:100%;height:100%;object-fit:cover;min-height:420px}
.ebf-cabins__quote blockquote{position:absolute;left:1rem;right:1rem;bottom:1rem;margin:0;color:var(--ebf-gold);font-family:var(--display);font-size:1.15rem;line-height:1.4}

/* Lounge */
.ebf-lounge{background:var(--ebf-navy-deep);padding:clamp(2rem,4vw,3.2rem) 0;color:#fff}
.ebf-lounge__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:1.4rem;align-items:center}
.ebf-lounge h2{color:#fff;margin:.25rem 0 .5rem;font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.15}
.ebf-lounge p{color:rgba(255,255,255,.84)}
.ebf-lounge__list{list-style:none;margin:1rem 0 1.15rem;padding:0}
.ebf-lounge__feats{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}
.ebf-lounge__list li{display:flex;gap:.75rem;margin:0}
.ebf-lounge__list span{color:var(--ebf-gold);flex-shrink:0}
.ebf-lounge__list svg{width:22px;height:22px}
.ebf-lounge__list strong{color:#fff}
.ebf-lounge__list p{margin:.1rem 0 0;color:#E4E9F0}
.ebf-lounge figure{margin:0}
.ebf-lounge figure img{width:100%;height:400px;object-fit:cover;border-radius:20px}

/* Why */
.ebf-why{background:#fff;padding:clamp(2.2rem,4.5vw,3.6rem) 0}
.ebf-why__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center}
.ebf-why__list{list-style:none;margin:1.4rem 0 1.6rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.ebf-why__list li{display:flex;gap:.75rem}
.ebf-why__list span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(200,154,61,.35);color:var(--ebf-gold);flex-shrink:0}
.ebf-why__list svg{width:18px;height:18px}
.ebf-why__photo{position:relative}
.ebf-why__photo img{width:100%;height:520px;object-fit:cover;border-radius:18px}
.ebf-why__float{position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.7rem;background:var(--ebf-navy-deep);color:#fff;border-radius:999px;padding:.7rem 1rem;text-decoration:none;max-width:calc(100% - 2rem)}
.ebf-why__float svg{width:18px;height:18px;color:var(--ebf-gold)}
.ebf-why__float b{display:block;color:#fff}
.ebf-why__float em{display:block;font-style:normal;font-size:.78rem;color:rgba(255,255,255,.72);font-weight:500}
.ebf-why__float small{color:var(--ebf-gold);font-weight:700}

/* Steps */
.ebf-steps{background:var(--ebf-cream);padding:clamp(2.2rem,4.5vw,3.6rem) 0}
.ebf-steps__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;position:relative;text-align:center}
.ebf-steps__row::before{content:"";position:absolute;top:36px;left:12%;right:12%;border-top:2px dotted rgba(20,32,43,.18);pointer-events:none}
.ebf-steps__row li{background:transparent;border:0;border-radius:0;padding:0;position:relative;z-index:1}
.ebf-steps__ico{display:grid;place-items:center;width:72px;height:72px;margin:0 auto .7rem;border-radius:50%;background:#fff;color:var(--ebf-gold);box-shadow:0 10px 28px rgba(20,32,43,.08);border:1px solid var(--ebf-border)}
.ebf-steps__ico svg{width:26px;height:26px}
.ebf-steps__num{display:block;font-family:var(--display);color:var(--ebf-gold);font-size:1.15rem;font-weight:700;letter-spacing:.04em}
.ebf-steps__row h3{margin:.35rem 0 .35rem;font-size:1.1rem}
.ebf-steps__row p{margin:0 auto;max-width:22ch}

/* Stories */
.ebf-stories{background:var(--ebf-navy-deep);padding:clamp(2.2rem,4.5vw,3.6rem) 0;overflow:hidden}
.ebf-stories__card{min-height:280px;background:linear-gradient(180deg,#171e28,#10151c);border:1px solid rgba(201,166,107,.22);border-radius:22px;padding:1.55rem 1.45rem;box-shadow:0 18px 40px rgba(0,0,0,.28);display:flex;flex-direction:column}
.ebf-stories__card.is-focus{border-color:rgba(201,166,107,.5);box-shadow:0 28px 64px rgba(0,0,0,.4)}
.ebf-stories__who{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}
.ebf-stories__who img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#fff}
.ebf-stories__who strong{color:#fff;display:block;font-family:var(--display);font-size:1.2rem;font-weight:500}
.ebf-stories__stars{color:var(--ebf-gold);font-size:.9rem}
.ebf-stories__card p{color:#EDE7DC;margin:0;line-height:1.6;font-family:var(--display);font-size:1.2rem;font-style:italic}
.ebf-stories__empty{color:#E4E9F0;max-width:40rem}
.ebf-story-card{color:#fff;display:flex;flex-direction:column;gap:.55rem;padding:.2rem .15rem .35rem}
.ebf-story-card__media{margin:0;border-radius:12px;overflow:hidden}
.ebf-story-card__media img{width:100%;height:148px;object-fit:cover;display:block}
.ebf-story-card__who{display:flex;align-items:center;gap:.75rem}
.ebf-story-card__who strong{display:block;color:#fff;font-size:1.02rem}
.ebf-story-card__who small{display:block;color:rgba(255,255,255,.7);font-size:.82rem}
.ebf-story-card>p{margin:0;color:#EDE7DC;line-height:1.55;font-size:1rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ebf-story-card__stars{margin:0;color:var(--ebf-gold);letter-spacing:.08em}
.ebf-story-card__stars span{color:#fff;letter-spacing:0;margin-left:.35rem;font-weight:700}

/* Corporate */
.ebf-corp{background:var(--ebf-navy-deep);padding:clamp(2rem,4vw,3.2rem) 0;color:#fff}
.ebf-corp__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.4rem;align-items:center}
.ebf-corp h2{color:#fff;margin:.25rem 0 .55rem}
.ebf-corp h2 em{color:var(--ebf-gold);font-style:italic}
.ebf-corp__lead{color:#E8EDF4;font-size:1.05rem;line-height:1.65;margin:0 0 1.1rem;max-width:42ch}
.ebf-corp__feats{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}
.ebf-corp__feats strong{display:block;color:#fff;margin-bottom:.15rem}
.ebf-corp__feats span{color:#E4E9F0;font-size:.92rem;line-height:1.45}
.ebf-corp__visual{margin:0;position:relative}
.ebf-corp__visual img{width:100%;height:420px;object-fit:cover;border-radius:20px;background:#182430}
.ebf-corp__quote{position:absolute;left:1rem;bottom:1rem;max-width:280px;margin:0;background:rgba(14,24,34,.92);border:1px solid rgba(200,154,61,.35);border-radius:16px;padding:1rem 1.05rem;color:#fff}
.ebf-corp__quote p{margin:0 0 .55rem;color:#fff;font-size:.95rem;line-height:1.45}
.ebf-corp__quote cite{display:block;font-style:normal;color:var(--ebf-gold);font-size:.82rem;font-weight:650}

/* Guides */
.ebf-guides{background:#fff;padding:clamp(2.2rem,4.5vw,3.6rem) 0}
.ebf-guides__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.ebf-guides__card{border:1px solid var(--ebf-border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--sh-sm)}
.ebf-guides__media{display:block;position:relative}
.ebf-guides__media img{width:100%;height:200px;object-fit:cover}
.ebf-guides__media span{position:absolute;left:.8rem;top:.8rem;background:var(--ebf-navy);color:#fff;border-radius:999px;padding:.25rem .65rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ebf-guides__body{padding:1.15rem 1.2rem 1.3rem}
.ebf-guides__body h3{margin:0 0 .5rem;font-size:1.2rem}
.ebf-guides__body h3 a{color:var(--ebf-navy);text-decoration:none}
.ebf-guides__body p{color:var(--ebf-text)}
.ebf-guides__foot{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.85rem}
.ebf-guides__foot span{color:var(--ebf-text);font-size:.82rem}
.ebf-guides__foot .ebf-destx__cta{color:var(--ebf-gold);font-weight:700;text-decoration:none;white-space:nowrap}

/* FAQ */
.ebf-faq{background:var(--ebf-cream);padding:clamp(2.2rem,4.5vw,3.6rem) 0;position:relative;overflow:hidden}
.ebf-faq::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 12% 20%,rgba(20,32,43,.05) 1px,transparent 1.5px),radial-gradient(circle at 80% 70%,rgba(20,32,43,.04) 1px,transparent 1.5px);background-size:42px 42px,64px 64px;pointer-events:none;opacity:.7}
.ebf-faq__plane{position:absolute;right:8%;top:1.4rem;width:36px;height:36px;color:var(--ebf-gold);opacity:.55;pointer-events:none}
.ebf-faq__plane svg{width:100%;height:100%}
.ebf-faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.4rem;align-items:start;position:relative}
.ebf-faq .faq-item{background:#fff}

/* Final enquiry surrounding chrome */
.ebf-final .enquiry-intro h2{color:var(--ebf-navy);font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.12}
.ebf-final .enquiry-intro>p{color:var(--ebf-text)}
.ebf-final__prefer{color:var(--ebf-text);margin-top:.65rem;margin-bottom:0}
.ebf-final .enquiry-direct{margin-top:1rem;gap:10px}
.ebf-final .enq-direct-item{
  padding:.75rem .9rem;border-radius:14px;gap:.75rem;text-decoration:none;
}
.ebf-final .edi-ico{
  width:40px;height:40px;border-radius:10px;background:var(--ebf-gold);border:0;color:#fff;
}
.ebf-final .edi-ico svg{color:#fff;width:18px;height:18px}
.ebf-final .enq-direct-item b{color:var(--ebf-navy);font-weight:750;font-size:.95rem}
.ebf-final .enq-direct-item small{color:var(--ebf-gold);font-weight:750;font-size:.95rem}
.ebf-final .enquiry-trust{margin-top:1.1rem;gap:.75rem}

@media (max-width:1150px){
  .ebf-prio__grid,.ebf-guides__grid,.ebf-cabins__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ebf-trust5__row,.ebf-steps__row,.ebf-airports__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ebf-fare__panel,.ebf-lounge__grid,.ebf-why__grid,.ebf-faq__grid,.ebf-pick__grid,.ebf-pick__layout,.ebf-corp__grid{grid-template-columns:1fr}
  .ebf-fare__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ebf-hero__benefits--three{grid-template-columns:1fr}
  .ebf-cabins__quote{display:none}
  .ebf-corp__visual img{height:320px}
  .ebf-steps__row::before{display:none}
}
@media (max-width:720px){
  .ebf-prio__grid,.ebf-guides__grid,.ebf-trust5__row,.ebf-steps__row,.ebf-airports__grid,.ebf-fare__stats,.ebf-why__list,.ebf-corp__feats,.ebf-lounge__feats,.ebf-cabins__grid{grid-template-columns:1fr}
  .ebf-destx__head{flex-direction:column;align-items:flex-start}
  .ebf-hero__actions{flex-direction:column;align-items:stretch}
  .ebf-why__float{left:.6rem;right:.6rem}
  .ebf-pick__facts{grid-template-columns:repeat(2,1fr)}
  .ebf-pick__aside{flex-direction:column;align-items:flex-start}
  .ebf-pick__top{flex-direction:column;align-items:flex-start}
  .ebf-pick__grid.is-on{grid-template-columns:1fr}
  .ebf-track.ebf-cover > *{
    width:min(78vw,300px);height:360px;margin-left:calc(min(78vw,300px) / -2);top:20px;
    transform:
      translateX(calc(var(--i, 0) * 92px))
      rotateY(calc(var(--i, 0) * -38deg))
      translateZ(calc(var(--ai, 0) * -56px))
      scale(calc(1 - min(var(--ai, 0), 3) * .08));
  }
  .ebf-intel__intro{flex-direction:column;align-items:flex-start}
  .ebf-intel .ebf-stage--stack{height:500px}
  .ebf-track.ebf-stack > *{
    width:min(86vw,340px);height:460px;margin-left:calc(min(86vw,340px) / -2);top:16px;
    transform:
      translateX(calc(var(--i, 0) * 42%))
      translateZ(calc(var(--ai, 0) * -110px))
      rotateY(calc(var(--i, 0) * -12deg))
      scale(calc(1 - min(var(--ai, 0), 3) * .1));
  }
  .ebf-journey__glass{display:none}
  .ebf-journey__spine{width:56px}
  .ebf-journey__foot{right:56px}
  .ebf-journey__name{font-size:1.25rem}
  .ebf-stage{height:420px}
  .ebf-stories .ebf-stage{height:360px}
  .ebf-destx__card,.ebf-intel__card,.ebf-airx__card{height:360px}
  .ebf-track.ebf-cover > .ebf-stories__card{height:300px}
  .ebf-destx__copy h3{font-size:1.65rem}
}
@media (prefers-reduced-motion:reduce){
  .ebf-prio__card,.ebf-airx__card img,.ebf-destx__card img,.ebf-intel__card img,.ebf-track > *{transition:none}
  .ebf-prio__card:hover{transform:none}
  .ebf-airx__logos-track{animation:none}
  .ebf-track.ebf-cover > *{
    transform:none !important;
    opacity:1 !important;
    will-change:auto;
    position:relative;left:auto;top:auto;margin:0 .5rem 0 0;
    pointer-events:auto;
  }
  .ebf-track.ebf-stack > *{
    transform:none !important;opacity:1 !important;will-change:auto;
    position:relative;left:auto;top:auto;margin:0 .6rem 0 0;pointer-events:auto
  }
  .ebf-track.ebf-stack{position:relative;display:flex;overflow-x:auto;inset:auto;height:auto}
  .ebf-intel .ebf-stage--stack{height:auto;overflow:auto}
  .ebf-journey__glass{opacity:1;transform:none;backdrop-filter:none}
  .ebf-stage{height:auto;overflow:auto}
  .ebf-destx__card img,.ebf-intel__card img,.ebf-airx__card img{transform:none;will-change:auto}
}

/* OhhMyDesign featured slider (destinations + reviews) */
.ebf-omw{padding:clamp(1.8rem,3.6vw,2.8rem) 0 1.1rem;overflow:hidden}
.ebf-omw__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.ebf-omw__head .ebf-sec-head{margin:0;max-width:36rem;text-align:left}
.ebf-omw-slider{position:relative;overflow:visible;cursor:grab;user-select:none;touch-action:pan-y}
.ebf-omw-slider.is-drag{cursor:grabbing}
.ebf-omw-track{display:flex;align-items:stretch;will-change:transform}
.ebf-omw-slide{flex:0 0 58vw;max-width:820px;padding:0 8px;box-sizing:border-box;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s}
.ebf-omw-slide.is-side{transform:scale(.92);opacity:.78}
.ebf-omw-shell{position:relative;background:rgba(255,255,255,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:18px;padding:16px 16px 14px;box-shadow:0 18px 50px rgba(20,32,43,.1)}
.ebf-omw-lab{position:absolute;top:6px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(20,32,43,.55);white-space:nowrap;pointer-events:none;max-width:70%;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.ebf-omw-h{position:absolute;width:10px;height:10px;background:#0D99FF;border:2px solid #fff;box-shadow:0 0 0 1px #0D99FF;opacity:0;pointer-events:none;transition:opacity .2s}
.ebf-omw-h.tl{top:12px;left:12px}.ebf-omw-h.tr{top:12px;right:12px}.ebf-omw-h.bl{bottom:10px;left:12px}.ebf-omw-h.br{bottom:10px;right:12px}
.ebf-omw-slide.is-on .ebf-omw-h{opacity:1}
.ebf-omw-slide.is-on .ebf-omw-shell{box-shadow:0 0 0 2px #0D99FF,0 18px 40px rgba(20,32,43,.12)}
.ebf-omw-card{position:relative}
.ebf-omw-frame{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:23/16;background:#dce6ef}
.ebf-omw-photo{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);transition:transform .7s}
.ebf-omw-slide.is-on .ebf-omw-photo{transform:scale(1)}
.ebf-omw-cs{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:#14202B;box-shadow:0 4px 12px rgba(20,32,43,.18);z-index:3}
.ebf-omw-cs svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ebf-omw-cin{display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem;margin-top:12px;padding:0 2px;flex-wrap:nowrap}
.ebf-omw-nm{font-size:clamp(1.35rem,2.3vw,1.9rem);font-weight:800;letter-spacing:-.04em;color:var(--ebf-navy);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ebf-omw-mt{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-end;flex-shrink:0}
.ebf-omw-mt span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(20,32,43,.18);border-radius:999px;padding:5px 11px;color:rgba(20,32,43,.72);white-space:nowrap;font-weight:650}
.ebf-omw-nav{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px}
.ebf-omw-dots{display:flex;justify-content:center;gap:7px;margin:0}
.ebf-omw-dots i{width:7px;height:7px;border-radius:50%;background:rgba(20,32,43,.18);cursor:pointer}
.ebf-omw-dots i.on{background:var(--ebf-navy);transform:scale(1.25)}
.ebf-omw-arrows{display:flex;justify-content:center;gap:8px;margin:0}
.ebf-omw-arrows button{width:38px;height:38px;border:1px solid rgba(20,32,43,.14);background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ebf-omw-arrows svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.ebf-omw--dark{background:var(--ebf-navy);color:#fff}
.ebf-omw--dark .ebf-omw-shell{background:rgba(255,255,255,.08);box-shadow:none}
.ebf-omw--dark .ebf-omw-lab{color:rgba(255,255,255,.55)}
.ebf-omw--dark .ebf-omw-nm,.ebf-omw--dark .ebf-omw-quote strong{color:#fff}
.ebf-omw--dark .ebf-omw-mt span{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.65)}
.ebf-omw-dots--light i{background:rgba(255,255,255,.28)}
.ebf-omw-dots--light i.on{background:#fff}
.ebf-omw-arrows--light button{background:transparent;border-color:rgba(255,255,255,.22);color:#fff}

.ebf-omw-quote{min-height:220px;padding:1.15rem 1.05rem 1rem;display:flex;flex-direction:column;gap:.85rem}
.ebf-omw-quote p{margin:0;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.5;letter-spacing:-.01em;color:#F4F7FA;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.ebf-omw-quote__top{display:flex;align-items:center;gap:.75rem}
.ebf-omw-quote__av{width:48px;height:48px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex-shrink:0;color:#fff}
.ebf-omw-quote__av img{width:100%;height:100%;object-fit:cover}
.ebf-omw-quote__av b{font-size:1.1rem;font-weight:800;line-height:1}
.ebf-omw-quote__stars{display:block;color:#E4A11B;letter-spacing:.08em;font-size:.85rem}

.ebf-peek{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px) / 3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ebf-peek::-webkit-scrollbar{display:none}
.ebf-peek__card{scroll-snap-align:start;border-radius:24px;overflow:hidden;position:relative;min-height:220px;color:#fff;text-decoration:none}
.ebf-peek__card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(14,24,34,.78))}
.ebf-peek__card img{width:100%;height:260px;object-fit:cover;display:block}
.ebf-peek__card span{position:absolute;left:1.05rem;bottom:1.05rem;z-index:1;font-weight:800;font-size:1.25rem;letter-spacing:-.03em}
.ebf-airx .ebf-omw__head{margin-bottom:.9rem}
.ebf-airx{padding:clamp(1.8rem,3.6vw,2.8rem) 0}
.ebf-peek-nav{display:flex;align-items:center;gap:12px;margin-top:14px}
.ebf-peek-nav button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.ebf-peek-nav svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ebf-peek-bar{flex:1;height:2px;background:rgba(255,255,255,.18);border-radius:99px;position:relative}
.ebf-peek-bar i{position:absolute;left:0;top:-2px;height:6px;width:30%;background:#fff;border-radius:99px;transition:transform .18s linear}
.ebf-airx__tall-card.ebf-peek__card::after{display:none}

@media (max-width:900px){
  .ebf-omw-slide{flex-basis:82vw;max-width:none;padding:0 6px}
  .ebf-omw-slide.is-side{transform:scale(.96);opacity:.88}
  .ebf-omw-shell{padding:12px 12px 10px;border-radius:14px}
  .ebf-omw-frame{aspect-ratio:4/5}
  .ebf-omw-cin{flex-direction:row;align-items:flex-end}
  .ebf-omw-mt span:first-child{display:none}
  .ebf-omw__head{flex-direction:column;align-items:flex-start}
  .ebf-pick{grid-auto-columns:78vw;gap:12px}
  .ebf-airx__tall.ebf-peek{grid-auto-columns:72vw}
  .ebf-omw-quote{min-height:200px}
  .ebf-omw-slide.is-on .ebf-omw-h{opacity:0}
  .ebf-omw-slide.is-on .ebf-omw-shell{box-shadow:none}
  .ebf-pick__visual img,.ebf-lounge figure img,.ebf-corp__visual img{height:260px}
}
@media (prefers-reduced-motion:reduce){
  .ebf-omw-slider{cursor:auto}
  .ebf-omw-track{overflow-x:auto;transform:none !important;display:flex}
  .ebf-omw-slide{flex:0 0 min(86vw,420px);transform:none !important;opacity:1 !important}
}


/* ===== ebf-home-refine.css ===== */
/* ============================================================
   Experts Business First — homepage section refinement
   Scoped to .ebf-home only. Loaded from welcome.blade.php.
   No form field, ID, name, validation or submission is touched.
   Revert: remove the <link> in welcome.blade.php.
   ============================================================ */

.ebf-home{--ebfr-radius:20px;--ebfr-radius-sm:14px;--ebfr-line:rgba(20,32,43,.12);--ebfr-ink:#14202B;--ebfr-soft:#4A6173;--ebfr-accent:#C4400E;--ebfr-paper:#fff;--ebfr-shadow:0 18px 46px rgba(20,32,43,.09)}

/* ------------------------------------------------------------
   0. VERTICAL RHYTHM
   The homepage had grown five different section padding scales
   (2rem/2.2rem/2.4rem/1.8rem clamps) plus one section with none at
   all, so the gaps between blocks read as uneven. One token now
   drives them; only padding and seams change, never layout.
   ------------------------------------------------------------ */
.ebf-home{--ebfr-sec-y:clamp(2.75rem,5.2vw,4.5rem)}

.ebf-home > section:not(.ebf-hero),
.ebf-home > .ebf-jrny{
  padding-top:var(--ebfr-sec-y);
  padding-bottom:var(--ebfr-sec-y);
}

/* Carousel sections shipped asymmetric (45px top / 18px bottom). */
.ebf-home > .ebf-omw{padding-top:var(--ebfr-sec-y);padding-bottom:var(--ebfr-sec-y)}

/* Closing CTA keeps a little more air than a standard section.
   Specificity must beat the :not(.ebf-hero) rule above. */
.ebf-home > section.ebf-final{padding-top:calc(var(--ebfr-sec-y) * 1.25);padding-bottom:calc(var(--ebfr-sec-y) * 1.25)}

/* The answer-engine block is a narrow strip, not a full section. */
.ebf-home > section.tbf-qa{padding-top:calc(var(--ebfr-sec-y) * .55);padding-bottom:calc(var(--ebfr-sec-y) * .55)}

/* Adjacent dark sections used two near-identical navies (#14202B vs #0E1822),
   which read as a seam rather than a deliberate step. Match the deeper one so
   the journey + airlines run reads as a single dark chapter. */
.ebf-home > .ebf-jrny{background:var(--ebf-navy-deep,#0E1822)}

/* Shared editorial eyebrow rule — matches the reference's small ruled kicker */
.ebf-home .ebf-prio .eyebrow,
.ebf-home .ebf-intel .eyebrow,
.ebf-home .ebf-destx .eyebrow,
.ebf-home .ebf-airports .eyebrow,
.ebf-home .ebf-jrny .eyebrow,
.ebf-home .ebf-airx .eyebrow,
.ebf-home .ebf-trust5 .eyebrow,
.ebf-home .ebf-why .eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.72rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:var(--ebfr-accent);margin:0 0 .9rem}
.ebf-home .ebf-prio .eyebrow::before,
.ebf-home .ebf-intel .eyebrow::before,
.ebf-home .ebf-destx .eyebrow::before,
.ebf-home .ebf-airports .eyebrow::before,
.ebf-home .ebf-jrny .eyebrow::before,
.ebf-home .ebf-airx .eyebrow::before,
.ebf-home .ebf-trust5 .eyebrow::before,
.ebf-home .ebf-why .eyebrow::before{content:"";width:34px;height:1px;background:currentColor;flex:none}

/* ------------------------------------------------------------
   1. PRIORITIES — numbered editorial cards + verified stat bar
   ------------------------------------------------------------ */
.ebf-home .ebf-prio__card{position:relative;overflow:hidden;padding-top:2.9rem;border-radius:var(--ebfr-radius);background:var(--ebfr-paper);border:1px solid var(--ebfr-line);box-shadow:0 2px 10px rgba(20,32,43,.04);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .25s}
.ebf-home .ebf-prio__card:hover{transform:translateY(-4px);box-shadow:var(--ebfr-shadow);border-color:rgba(240,83,28,.35)}
.ebf-home .ebf-prio__card:focus-visible{outline:2px solid var(--ebfr-accent);outline-offset:3px}
.ebf-home .ebf-prio__n{position:absolute;top:1rem;left:1.15rem;font-size:1.85rem;font-weight:400;line-height:1;letter-spacing:-.04em;color:rgba(20,32,43,.16);transition:color .3s}
.ebf-home .ebf-prio__card:hover .ebf-prio__n{color:rgba(240,83,28,.3)}
.ebf-home .ebf-prio__card .ebf-prio__ico{position:absolute;top:.95rem;right:1.05rem;color:var(--ebfr-accent)}
.ebf-home .ebf-prio__card.is-on{border-color:var(--ebfr-accent);box-shadow:0 0 0 1px var(--ebfr-accent),var(--ebfr-shadow)}
.ebf-home .ebf-prio__card.is-on .ebf-prio__n{color:var(--ebfr-accent)}

.ebf-home .ebf-prio__stats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:2.4rem 0 0;padding:1.35rem 1rem;background:var(--ebfr-paper);border:1px solid var(--ebfr-line);border-radius:var(--ebfr-radius);box-shadow:0 2px 10px rgba(20,32,43,.04)}
.ebf-home .ebf-prio__stats li{display:flex;align-items:center;justify-content:center;gap:.85rem;padding:.35rem 1rem;border-right:1px solid var(--ebfr-line);text-align:left}
.ebf-home .ebf-prio__stats li:last-child{border-right:0}
.ebf-home .ebf-prio__stats li>span{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(240,83,28,.09);color:var(--ebfr-accent)}
.ebf-home .ebf-prio__stats svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-prio__stats b{display:block;font-size:1.4rem;font-weight:600;letter-spacing:-.03em;line-height:1.15;color:var(--ebfr-ink)}
.ebf-home .ebf-prio__stats small{display:block;font-size:.8rem;color:var(--ebfr-soft);line-height:1.35}

/* ------------------------------------------------------------
   2. FLIGHT INTELLIGENCE — editorial left column + pillars
   ------------------------------------------------------------ */
.ebf-home .ebf-intel__intro{display:block;max-width:44rem}
.ebf-home .ebf-intel__intro .ebf-sec-head{max-width:none;text-align:left;margin-bottom:1.5rem}
.ebf-home .ebf-intel__pillars{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:1.7rem 0 0;padding:0}
.ebf-home .ebf-intel__pillars li{padding:0 1.15rem;border-left:1px solid var(--ebfr-line)}
.ebf-home .ebf-intel__pillars li:first-child{padding-left:0;border-left:0}
.ebf-home .ebf-intel__pillars li>span{display:block;color:var(--ebfr-accent);margin-bottom:.6rem}
.ebf-home .ebf-intel__pillars svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-intel__pillars strong{display:block;font-size:.98rem;font-weight:650;letter-spacing:-.01em;color:var(--ebfr-ink);margin-bottom:.25rem}
.ebf-home .ebf-intel__pillars small{display:block;font-size:.83rem;line-height:1.45;color:var(--ebfr-soft)}
.ebf-home .ebf-intel .ebf-destx__nav{margin-top:1.6rem}

/* ------------------------------------------------------------
   3. DESTINATIONS — premium editorial carousel
   Scoped to .ebf-destx so the testimonials carousel is untouched.
   ------------------------------------------------------------ */
.ebf-home .ebf-destx .ebf-omw-slide{flex:0 0 26vw;max-width:420px;padding:0 10px}
.ebf-home .ebf-destx .ebf-omw-slide.is-side{transform:scale(.965);opacity:.9}
.ebf-home .ebf-destx .ebf-omw-shell{background:var(--ebfr-paper);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--ebfr-line);border-radius:var(--ebfr-radius);padding:0;overflow:hidden;box-shadow:0 4px 18px rgba(20,32,43,.06);transition:box-shadow .4s,transform .4s}
.ebf-home .ebf-destx .ebf-omw-slide.is-on .ebf-omw-shell{box-shadow:var(--ebfr-shadow)}
.ebf-home .ebf-destx .ebf-omw-h{display:none}
.ebf-home .ebf-destx .ebf-omw-lab{top:14px;left:14px;right:auto;transform:none;z-index:3;background:rgba(255,255,255,.92);color:var(--ebfr-ink);border-radius:999px;padding:5px 10px;font-size:10px;letter-spacing:.12em;max-width:none}
.ebf-home .ebf-destx .ebf-omw-frame{border-radius:0;aspect-ratio:4/3}
.ebf-home .ebf-destx .ebf-omw-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,24,34,.34) 0%,rgba(14,24,34,0) 38%,rgba(14,24,34,.68) 100%);pointer-events:none}
.ebf-home .ebf-destx .ebf-omw-photo{transform:scale(1.02);transition:transform .9s cubic-bezier(.22,1,.36,1)}
.ebf-home .ebf-destx .ebf-omw-shell:hover .ebf-omw-photo{transform:scale(1.08)}
.ebf-home .ebf-destx .ebf-omw-cs{top:14px;right:14px;background:rgba(255,255,255,.94)}
.ebf-home .ebf-destx .ebf-omw-cs:hover{background:var(--ebfr-accent);color:#fff}
.ebf-home .ebf-destx .ebf-omw-cin{flex-direction:column;align-items:stretch;gap:.5rem;margin:0;padding:1.05rem 1.15rem 1.15rem}
.ebf-home .ebf-destx .ebf-omw-nm{font-size:clamp(1.15rem,1.55vw,1.5rem);font-weight:600;letter-spacing:-.03em}
.ebf-home .ebf-omw-desc{display:block;font-size:.86rem;line-height:1.5;color:var(--ebfr-soft);white-space:normal}
.ebf-home .ebf-destx .ebf-omw-mt{justify-content:flex-start;flex-wrap:wrap}
.ebf-home .ebf-omw-explore{display:inline-flex;align-items:center;gap:.4rem;margin-top:.2rem;font-size:.86rem;font-weight:650;color:var(--ebfr-accent);text-decoration:none;transition:gap .25s}
.ebf-home .ebf-omw-explore span{transition:transform .25s}
.ebf-home .ebf-omw-explore:hover{color:#D2410E}
.ebf-home .ebf-omw-explore:hover span{transform:translateX(4px)}
.ebf-home .ebf-destx .ebf-omw-arrows button{width:44px;height:44px;transition:background .25s,color .25s,border-color .25s}
.ebf-home .ebf-destx .ebf-omw-arrows button:hover{background:var(--ebfr-accent);border-color:var(--ebfr-accent);color:#fff}

/* ------------------------------------------------------------
   4. JOURNEY — "From your door to your destination" (new)
   ------------------------------------------------------------ */
.ebf-home .ebf-jrny{background:var(--ebf-navy,#14202B);color:#fff;padding:clamp(2.6rem,5.5vw,4.4rem) 0;overflow:hidden}
.ebf-home .ebf-jrny__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(1.8rem,4vw,3.4rem);align-items:center}
.ebf-home .ebf-jrny h2{font-size:clamp(2rem,3.8vw,3.35rem);line-height:1.08;font-weight:500;margin:0 0 .5rem;color:#fff;letter-spacing:-.02em}
.ebf-home .ebf-jrny h2 em{font-style:normal;color:var(--ebfr-accent);display:block}
.ebf-home .ebf-jrny__lead{margin:0 0 2rem;max-width:34rem;color:#C7D4DF;font-size:1.02rem;line-height:1.65}
.ebf-home .ebf-jrny__steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ebf-home .ebf-jrny__step{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:1.05rem;padding:0 0 1.35rem}
.ebf-home .ebf-jrny__step:last-child{padding-bottom:0}
.ebf-home .ebf-jrny__step::before{content:"";position:absolute;left:25px;top:52px;bottom:.35rem;width:1px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.04))}
.ebf-home .ebf-jrny__step:last-child::before{display:none}
.ebf-home .ebf-jrny__ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(240,83,28,.12);border:1px solid rgba(240,83,28,.3);color:var(--ebfr-accent);flex:none}
.ebf-home .ebf-jrny__ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-jrny__stepbody strong{display:block;font-size:1.05rem;font-weight:650;letter-spacing:-.01em;color:#fff;margin:.55rem 0 .3rem}
.ebf-home .ebf-jrny__stepbody p{margin:0;font-size:.92rem;line-height:1.6;color:#A9BCCA;max-width:34rem}

.ebf-home .ebf-jrny__visual{position:relative;margin:0;aspect-ratio:1/1;display:grid;place-items:center}
.ebf-home .ebf-jrny__globe{width:100%;height:100%;display:block;overflow:visible}
.ebf-home .ebf-jrny__sphere{stroke:rgba(255,255,255,.14);stroke-width:1}
.ebf-home .ebf-jrny__grid{fill:none;stroke:rgba(255,255,255,.11);stroke-width:1}
.ebf-home .ebf-jrny__veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 70% at 34% 26%,rgba(255,255,255,.05),transparent 62%)}
.ebf-home .ebf-jrny__line{fill:none;stroke:var(--ebfr-accent);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1.6 2.6;opacity:.85;animation:ebfrFlow 9s linear infinite}
@keyframes ebfrFlow{to{stroke-dashoffset:-42}}

.ebf-home .ebf-jrny__node{position:absolute;left:calc(var(--x) / 600 * 100%);top:calc(var(--y) / 600 * 100%);transform:translate(-50%,-50%)}
.ebf-home .ebf-jrny__dot{display:block;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(240,83,28,.35),0 0 16px 4px rgba(240,83,28,.5);animation:ebfrPulse 3.2s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes ebfrPulse{0%,100%{box-shadow:0 0 0 4px rgba(240,83,28,.3),0 0 14px 3px rgba(240,83,28,.4)}50%{box-shadow:0 0 0 7px rgba(240,83,28,.16),0 0 22px 6px rgba(240,83,28,.6)}}
.ebf-home .ebf-jrny__node.is-flip .ebf-jrny__pin{left:auto;right:16px;flex-direction:row-reverse}
.ebf-home .ebf-jrny__pin{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.45rem;white-space:nowrap;padding:.34rem .6rem;border-radius:999px;background:rgba(16,27,38,.88);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.ebf-home .ebf-jrny__pin b{font-size:.62rem;font-weight:800;letter-spacing:.1em;color:var(--ebfr-accent)}
.ebf-home .ebf-jrny__pin strong{font-size:.78rem;font-weight:600;color:#fff;line-height:1.2}

.ebf-home .ebf-jrny__assure{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:clamp(1.8rem,3.5vw,2.8rem) 0 0;padding:1.5rem 1rem;border-radius:var(--ebfr-radius);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}
.ebf-home .ebf-jrny__assure li{display:flex;gap:.8rem;padding:.2rem 1.15rem;border-right:1px solid rgba(255,255,255,.1)}
.ebf-home .ebf-jrny__assure li:last-child{border-right:0}
.ebf-home .ebf-jrny__assure li>span{flex:none;color:var(--ebfr-accent)}
.ebf-home .ebf-jrny__assure svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-jrny__assure strong{display:block;font-size:.9rem;font-weight:650;color:#fff;margin-bottom:.2rem}
.ebf-home .ebf-jrny__assure small{display:block;font-size:.78rem;line-height:1.45;color:#9FB3C2}

/* ------------------------------------------------------------
   5. UK AIRPORTS — feature card, popular strip, contact bar
   ------------------------------------------------------------ */
.ebf-home .ebf-airports__top{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.8rem}
.ebf-home .ebf-airports__top .ebf-sec-head{margin:0;max-width:38rem;text-align:left}
.ebf-home .ebf-airports__badge{display:flex;align-items:center;gap:.75rem;margin:0;padding:.85rem 1.15rem;border-radius:var(--ebfr-radius-sm);background:var(--ebf-navy,#14202B);color:#fff;flex:none}
.ebf-home .ebf-airports__badge>span{color:var(--ebfr-accent);display:grid;place-items:center}
.ebf-home .ebf-airports__badge svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-airports__badge b{display:block;font-size:.95rem;font-weight:650}
.ebf-home .ebf-airports__badge small{display:block;font-size:.78rem;color:#A9BCCA}

.ebf-home .ebf-airports__grid{display:grid;grid-template-columns:1.15fr repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.ebf-home .ebf-airports__card{position:relative;display:flex;flex-direction:column;padding:1.4rem 1.25rem 1.25rem;border-radius:var(--ebfr-radius);background:var(--ebfr-paper);border:1px solid var(--ebfr-line);text-decoration:none;color:var(--ebfr-ink);overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .25s}
.ebf-home .ebf-airports__card:hover{transform:translateY(-5px);box-shadow:var(--ebfr-shadow);border-color:rgba(240,83,28,.3)}
.ebf-home .ebf-airports__card:focus-visible{outline:2px solid var(--ebfr-accent);outline-offset:3px}
.ebf-home .ebf-airports__card.is-featured{background:var(--ebf-navy,#14202B);border-color:transparent;color:#fff}
.ebf-home .ebf-airports__card.is-featured::before{content:"";position:absolute;top:0;left:1.25rem;width:42px;height:4px;border-radius:0 0 4px 4px;background:var(--ebfr-accent)}
.ebf-home .ebf-airports__mark{color:var(--ebfr-accent);margin-bottom:.9rem}
.ebf-home .ebf-airports__mark svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;transform:rotate(45deg)}
.ebf-home .ebf-airports__city{display:block;font-size:1.15rem;font-weight:450;letter-spacing:-.01em;color:inherit;opacity:.95}
.ebf-home .ebf-airports__code{display:block;font-size:clamp(2.1rem,3.2vw,2.9rem);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:.1rem 0 .5rem;color:inherit}
.ebf-home .ebf-airports__card h3{font-size:.86rem;font-weight:500;margin:0 0 .35rem;color:inherit;opacity:.75}
.ebf-home .ebf-airports__card p{margin:0 0 1.1rem;font-size:.84rem;line-height:1.5;color:var(--ebfr-soft)}
.ebf-home .ebf-airports__card.is-featured p{color:#A9BCCA}
/* The base rule styles .ebf-airports__go as a fixed 32px absolutely-positioned
   circle (it used to hold only an arrow). This markup puts a label inside it,
   so the circle role moves to .ebf-airports__arrow and the wrapper is reset. */
.ebf-home .ebf-airports__go{position:static;right:auto;bottom:auto;width:auto;height:auto;
  border:0;border-radius:0;display:flex;align-items:center;gap:.6rem;margin-top:auto;
  font-size:.86rem;font-weight:650;color:inherit;white-space:nowrap;place-items:initial}
.ebf-home .ebf-airports__arrow{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(20,32,43,.06);color:var(--ebfr-accent);transition:background .25s,color .25s,transform .25s}
.ebf-home .ebf-airports__card.is-featured .ebf-airports__arrow{background:var(--ebfr-accent);color:#fff}
.ebf-home .ebf-airports__card:hover .ebf-airports__arrow{background:var(--ebfr-accent);color:#fff;transform:translateX(3px)}
.ebf-home .ebf-airports__go svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.ebf-home .ebf-airports__strip{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,3fr);gap:1.5rem;align-items:center;margin-top:1.6rem;padding:1.35rem 1.5rem;border-radius:var(--ebfr-radius);background:var(--ebfr-paper);border:1px solid var(--ebfr-line)}
.ebf-home .ebf-airports__striplbl{margin:0;font-size:.95rem;color:var(--ebfr-soft);line-height:1.4}
.ebf-home .ebf-airports__striplbl em{display:block;font-style:normal;font-size:1.25rem;font-weight:500;letter-spacing:-.02em;color:var(--ebfr-ink);margin-top:.1rem}
.ebf-home .ebf-airports__striplbl::after{content:"";display:block;width:34px;height:2px;background:var(--ebfr-accent);margin-top:.6rem}
.ebf-home .ebf-airports__strip ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0}
.ebf-home .ebf-airports__strip li{display:flex;align-items:center;gap:.75rem;padding:.2rem 1rem;border-left:1px solid var(--ebfr-line)}
.ebf-home .ebf-airports__strip li:first-child{border-left:0}
.ebf-home .ebf-airports__strip li>span{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(240,83,28,.09);color:var(--ebfr-accent)}
.ebf-home .ebf-airports__strip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-airports__strip b{display:block;font-size:1rem;font-weight:650;color:var(--ebfr-ink);letter-spacing:-.01em}
.ebf-home .ebf-airports__strip small{display:block;font-size:.78rem;line-height:1.4;color:var(--ebfr-soft)}

.ebf-home .ebf-airports__cta{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.2rem;padding:1.3rem 1.6rem;border-radius:var(--ebfr-radius);background:var(--ebf-navy,#14202B);color:#fff}
.ebf-home .ebf-airports__ctaico{width:52px;height:52px;flex:none;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(240,83,28,.4);background:rgba(240,83,28,.12);color:var(--ebfr-accent)}
.ebf-home .ebf-airports__ctaico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-airports__ctacopy{margin-right:auto}
.ebf-home .ebf-airports__ctacopy strong{display:block;font-size:1.2rem;font-weight:500;letter-spacing:-.02em}
.ebf-home .ebf-airports__ctacopy small{display:block;font-size:.86rem;color:#A9BCCA;margin-top:.15rem}
.ebf-home .ebf-airports__ctaphone{font-size:1.35rem;font-weight:600;letter-spacing:-.02em;color:#fff;text-decoration:none;white-space:nowrap}
.ebf-home .ebf-airports__ctaphone:hover{color:var(--ebfr-accent)}

/* ------------------------------------------------------------
   6. AIRLINES / EXPERIENCE MATTERS — editorial split
   ------------------------------------------------------------ */
.ebf-home .ebf-airx__split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(1.6rem,3.5vw,3rem);align-items:center}
.ebf-home .ebf-airx__lede .ebf-sec-head{margin:0 0 1.1rem;max-width:none;text-align:left}
.ebf-home .ebf-airx__note{margin:0 0 1.35rem;font-size:.95rem;line-height:1.65;color:#A9BCCA;max-width:30rem;padding-left:1rem;border-left:2px solid var(--ebfr-accent)}
.ebf-home .ebf-airx__rail{min-width:0}
.ebf-home .ebf-airx__tall.ebf-peek{grid-auto-columns:calc((100% - 28px) / 2.35)}
.ebf-home .ebf-airx__tall-card{border-radius:var(--ebfr-radius)}
.ebf-home .ebf-airx__tall-card.ebf-peek__card::after{display:block;content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,24,34,0) 40%,rgba(14,24,34,.82) 100%)}
.ebf-home .ebf-airx__tall-card img{transition:transform .9s cubic-bezier(.22,1,.36,1)}
.ebf-home .ebf-airx__tall-card:hover img{transform:scale(1.06)}
.ebf-home .ebf-airx__tall-card span{font-weight:600;letter-spacing:-.02em}
.ebf-home .ebf-airx .ebf-peek-nav button:hover{background:var(--ebfr-accent);border-color:var(--ebfr-accent)}
.ebf-home .ebf-airx__logos{margin-top:clamp(1.4rem,3vw,2.2rem)}

/* ------------------------------------------------------------
   7. TRUST — heading, cards, accreditation
   ------------------------------------------------------------ */
.ebf-home .ebf-trust5__top{margin-bottom:1.8rem}
.ebf-home .ebf-trust5__top .ebf-sec-head{margin:0;max-width:44rem;text-align:left}
.ebf-home .ebf-trust5__top h2 em{font-style:normal;color:var(--ebfr-accent)}
.ebf-home .ebf-trust5__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ebf-home .ebf-trust5__row li{padding:1.35rem 1.15rem;border-radius:var(--ebfr-radius);background:var(--ebfr-paper);border:1px solid var(--ebfr-line);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.ebf-home .ebf-trust5__row li:hover{transform:translateY(-4px);box-shadow:var(--ebfr-shadow)}
.ebf-home .ebf-trust5__ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(240,83,28,.09);color:var(--ebfr-accent);margin-bottom:.85rem}
.ebf-home .ebf-trust5__ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-trust5__row strong{display:block;font-size:1rem;font-weight:650;letter-spacing:-.01em;color:var(--ebfr-ink);margin-bottom:.3rem}
.ebf-home .ebf-trust5__row p{margin:0;font-size:.85rem;line-height:1.5;color:var(--ebfr-soft)}

.ebf-home .ebf-trust5__creds{margin-top:1.4rem;padding:1.35rem 1.6rem;border-radius:var(--ebfr-radius);background:var(--ebfr-paper);border:1px solid var(--ebfr-line);display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,2fr);gap:1.5rem;align-items:center}
.ebf-home .ebf-trust5__credlbl{margin:0;font-size:1.15rem;font-weight:500;letter-spacing:-.02em;color:var(--ebfr-ink)}
.ebf-home .ebf-trust5__credlbl::after{content:"";display:block;width:34px;height:2px;background:var(--ebfr-accent);margin-top:.6rem}
.ebf-home .ebf-trust5__creds ul{list-style:none;display:flex;flex-wrap:wrap;gap:1.5rem 2.4rem;margin:0;padding:0}
.ebf-home .ebf-trust5__creds li{display:flex;align-items:center;gap:.85rem}
.ebf-home .ebf-trust5__creds li a{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:inherit}
.ebf-home .ebf-trust5__creds img{width:56px;height:56px;object-fit:contain;flex:none}
.ebf-home .ebf-trust5__star{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(240,83,28,.09);color:var(--ebfr-accent)}
.ebf-home .ebf-trust5__star svg{width:22px;height:22px}
.ebf-home .ebf-trust5__creds b{display:block;font-size:.92rem;font-weight:650;color:var(--ebfr-ink)}
.ebf-home .ebf-trust5__creds small{display:block;font-size:.78rem;color:var(--ebfr-soft);margin-top:.1rem}

/* ------------------------------------------------------------
   8. WHY — editorial benefits; expert card on the photo; stats below
   ------------------------------------------------------------ */
.ebf-home .ebf-why__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 1.5rem}
.ebf-home .ebf-why__list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:.85rem;align-items:start}
.ebf-home .ebf-why__list li>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(240,83,28,.09);color:var(--ebfr-accent)}
.ebf-home .ebf-why__list svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ebf-home .ebf-why__list strong{display:block;font-size:1rem;font-weight:650;letter-spacing:-.01em;margin-bottom:.2rem}
.ebf-home .ebf-why__list p{margin:0;font-size:.87rem;line-height:1.55;color:var(--ebfr-soft)}
.ebf-home .ebf-why__photo{position:relative;border-radius:var(--ebfr-radius);overflow:hidden;background:var(--ebfr-paper)}
.ebf-home .ebf-why__frame{position:relative}
.ebf-home .ebf-why__photo img{border-radius:var(--ebfr-radius) var(--ebfr-radius) 0 0;display:block;width:100%;height:520px;object-fit:cover}
body.theme-studio .ebf-home .ebf-why__float,
.ebf-home .ebf-why__float{
  position:absolute;left:1rem;bottom:1rem;right:auto;
  display:flex;align-items:center;gap:.75rem;
  max-width:min(22rem,calc(100% - 2rem));
  padding:.85rem 1rem;border-radius:14px;
  background:#fff;color:var(--ebfr-ink);
  text-decoration:none;
  border:1px solid rgba(20,32,43,.1);
  box-shadow:0 12px 32px rgba(20,32,43,.16);
}
body.theme-studio .ebf-home .ebf-why__float>span:first-child,
.ebf-home .ebf-why__float>span:first-child{
  width:42px;height:42px;border-radius:12px;flex:none;
  display:grid;place-items:center;
  background:rgba(240,83,28,.12);color:var(--ebfr-accent);
}
body.theme-studio .ebf-home .ebf-why__float svg,
.ebf-home .ebf-why__float svg{width:20px;height:20px;color:var(--ebfr-accent)}
body.theme-studio .ebf-home .ebf-why__float b,
.ebf-home .ebf-why__float b{display:block;color:var(--ebfr-ink);font-size:.95rem}
body.theme-studio .ebf-home .ebf-why__float em,
.ebf-home .ebf-why__float em{display:block;font-style:normal;font-size:.78rem;color:var(--ebfr-soft)!important;font-weight:500}
body.theme-studio .ebf-home .ebf-why__float small,
.ebf-home .ebf-why__float small{color:var(--ebfr-accent);font-weight:700}
.ebf-home .ebf-why__stats{
  position:static;left:auto;right:auto;bottom:auto;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;
  padding:1rem .75rem .95rem;
  background:var(--ebf-navy,#14202B);color:#fff;
}
.ebf-home .ebf-why__stats>div{text-align:center;padding:0 .45rem;border-right:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;min-width:0}
.ebf-home .ebf-why__stats>div:last-child{border-right:0}
.ebf-home .ebf-why__stats dd{margin:0;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:650;letter-spacing:-.03em;line-height:1.15;order:1;color:#fff}
.ebf-home .ebf-why__stats dt{font-size:.7rem;letter-spacing:.04em;color:#B9C9D6;order:2;margin-top:.2rem}

/* ------------------------------------------------------------
   10. HERO — hot deals rail (text-only fare cards)
   ------------------------------------------------------------ */
.ebf-home .ebf-hero__inner--deals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,376px);gap:clamp(1.5rem,3.5vw,3rem);align-items:center}
.ebf-home .ebf-hero__inner--deals .ebf-hero__copy{max-width:38rem;padding-right:0}

.ebf-home .ebf-hdeals{position:relative;z-index:2;padding:1.05rem 1.05rem .95rem;border-radius:var(--ebfr-radius);background:linear-gradient(160deg,rgba(14,24,34,.42),rgba(14,24,34,.3));border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);box-shadow:0 20px 48px rgba(6,14,22,.3);color:#fff}
.ebf-home .ebf-hdeals__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.ebf-home .ebf-hdeals__title{display:flex;align-items:center;gap:.55rem;margin:0;font-size:.76rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.ebf-home .ebf-hdeals__spark{width:8px;height:8px;border-radius:50%;background:var(--ebfr-accent);box-shadow:0 0 0 4px rgba(240,83,28,.25);animation:ebfrLive 2.4s ease-in-out infinite}
@keyframes ebfrLive{0%,100%{box-shadow:0 0 0 3px rgba(240,83,28,.28)}50%{box-shadow:0 0 0 7px rgba(240,83,28,.1)}}
.ebf-home .ebf-hdeals__nav{display:flex;gap:6px}
.ebf-home .ebf-hdeals__nav button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}
.ebf-home .ebf-hdeals__nav button:hover{background:var(--ebfr-accent);border-color:var(--ebfr-accent)}
.ebf-home .ebf-hdeals__nav button:focus-visible{outline:2px solid var(--ebfr-accent);outline-offset:2px}
.ebf-home .ebf-hdeals__nav svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.ebf-home .ebf-hdeals__viewport{overflow:hidden;border-radius:var(--ebfr-radius-sm)}
/* No CSS scroll-behavior here: the JS passes `behavior` per call, and a CSS
   smooth value cancels programmatic scrollTo in some engines. */
.ebf-home .ebf-hdeals__track{display:flex;gap:10px;margin:0;padding:0;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ebf-home .ebf-hdeals__track::-webkit-scrollbar{display:none}
.ebf-home .ebf-hdeals__track:focus-visible{outline:2px solid var(--ebfr-accent);outline-offset:3px}
.ebf-home .ebf-hdeals__card{flex:0 0 100%;scroll-snap-align:start;box-sizing:border-box;padding:.95rem 1rem 1rem;border-radius:var(--ebfr-radius-sm);background:rgba(255,255,255,.97);color:var(--ebfr-ink);display:flex;flex-direction:column;gap:.7rem;box-shadow:0 6px 20px rgba(6,14,22,.18)}

.ebf-home .ebf-hdeals__route{display:flex;align-items:center;gap:.6rem}
.ebf-home .ebf-hdeals__code{font-size:1.32rem;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--ebfr-ink)}
.ebf-home .ebf-hdeals__path{flex:1;display:flex;align-items:center;gap:5px;min-width:0}
.ebf-home .ebf-hdeals__path i{flex:1;height:1px;background:repeating-linear-gradient(90deg,rgba(20,32,43,.32) 0 4px,transparent 4px 8px)}
.ebf-home .ebf-hdeals__path svg{width:15px;height:15px;flex:none;fill:var(--ebfr-accent);transform:rotate(45deg)}

.ebf-home .ebf-hdeals__body{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.ebf-home .ebf-hdeals__city{font-size:1.02rem;font-weight:650;letter-spacing:-.01em;color:var(--ebfr-ink)}
.ebf-home .ebf-hdeals__region{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ebfr-soft)}

.ebf-home .ebf-hdeals__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding-top:.7rem;border-top:1px solid rgba(20,32,43,.1)}
.ebf-home .ebf-hdeals__fare{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.ebf-home .ebf-hdeals__fare small{font-size:.7rem;letter-spacing:.04em;color:var(--ebfr-soft)}
.ebf-home .ebf-hdeals__fare b{font-size:1.4rem;font-weight:600;letter-spacing:-.03em;color:var(--ebfr-accent)}
.ebf-home .ebf-hdeals__cta{flex:none;display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .9rem;border-radius:999px;background:var(--ebf-navy,#14202B);color:#fff;font-size:.82rem;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.ebf-home .ebf-hdeals__cta span{transition:transform .2s}
.ebf-home .ebf-hdeals__cta:hover{background:var(--ebfr-accent);color:#fff}
.ebf-home .ebf-hdeals__cta:hover span{transform:translateX(3px)}
.ebf-home .ebf-hdeals__cta:focus-visible{outline:2px solid var(--ebfr-accent);outline-offset:2px}

.ebf-home .ebf-hdeals__fine{margin:.65rem 0 0;font-size:.72rem;color:rgba(255,255,255,.88);text-align:center;text-shadow:0 1px 5px rgba(0,0,0,.6)}

/* ------------------------------------------------------------
   9. STORIES — image-free review cards (real review data only)
   ------------------------------------------------------------ */
.ebf-home .ebf-story-card--noimg{position:relative;gap:.9rem;padding:1.5rem 1.35rem 1.35rem;min-height:250px;justify-content:flex-start}
.ebf-home .ebf-story-card--noimg::before{content:"\201C";position:absolute;top:.1rem;right:1.1rem;font-size:4.6rem;line-height:1;color:rgba(255,255,255,.13);pointer-events:none}
.ebf-home .ebf-story-card--noimg>p{font-size:1.06rem;line-height:1.62;color:#EEF3F8;-webkit-line-clamp:6;order:1;margin-bottom:auto}
.ebf-home .ebf-story-card--noimg .ebf-story-card__stars{order:2}
.ebf-home .ebf-story-card--noimg .ebf-story-card__who{order:3;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.14)}
.ebf-home .ebf-story-card--noimg .ebf-story-card__who strong{font-size:1rem;font-weight:650;letter-spacing:-.01em}

/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */
@media (max-width:1200px){
  .ebf-home .ebf-destx .ebf-omw-slide{flex-basis:32vw}
  .ebf-home .ebf-airports__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ebf-home .ebf-airports__card.is-featured{grid-column:span 3}
}
@media (max-width:1100px){
  .ebf-home .ebf-hero__inner--deals{grid-template-columns:minmax(0,1fr);align-items:start}
  .ebf-home .ebf-hdeals{width:100%;max-width:min(520px,100%);box-sizing:border-box}
  .ebf-home .ebf-hdeals__card{flex-basis:88%}
}
@media (max-width:640px){
  .ebf-home .ebf-hdeals{max-width:100%;padding:.95rem .9rem .85rem}
  .ebf-home .ebf-hdeals__card{flex-basis:100%;padding:.85rem .9rem .9rem}
  .ebf-home .ebf-hdeals__code{font-size:1.18rem}
  .ebf-home .ebf-hdeals__fare b{font-size:1.25rem}
  .ebf-home .ebf-hdeals__cta{padding:.55rem .8rem;font-size:.8rem}
  .ebf-home .ebf-hdeals__nav button{width:36px;height:36px}
}
@media (max-width:1024px){
  .ebf-home .ebf-jrny__grid{grid-template-columns:1fr}
  .ebf-home .ebf-jrny__visual{aspect-ratio:6/5;order:-1}
  .ebf-home .ebf-jrny__assure{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
  .ebf-home .ebf-jrny__assure li{border-right:0;padding:.2rem .4rem}
  .ebf-home .ebf-airx__split{grid-template-columns:1fr}
  .ebf-home .ebf-trust5__row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ebf-home .ebf-trust5__creds{grid-template-columns:1fr}
  .ebf-home .ebf-intel__pillars{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 0}
  .ebf-home .ebf-intel__pillars li:nth-child(odd){padding-left:0;border-left:0}
  .ebf-home .ebf-airports__strip{grid-template-columns:1fr}
  .ebf-home .ebf-airports__strip ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 0}
  .ebf-home .ebf-airports__strip li:nth-child(odd){border-left:0}
}
@media (max-width:900px){
  .ebf-home .ebf-destx .ebf-omw-slide{flex-basis:46vw;max-width:none;padding:0 7px}
  .ebf-home .ebf-destx .ebf-omw-frame{aspect-ratio:4/3}
  .ebf-home .ebf-destx .ebf-omw-cin{flex-direction:column;align-items:stretch}
  .ebf-home .ebf-destx .ebf-omw-mt span:first-child{display:inline-block}
  .ebf-home .ebf-prio__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 0}
  .ebf-home .ebf-prio__stats li:nth-child(odd){border-right:0}
  .ebf-home .ebf-prio__stats li{border-right:0;justify-content:flex-start}
  .ebf-home .ebf-airports__top{flex-direction:column;align-items:flex-start}
  .ebf-home .ebf-airports__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ebf-home .ebf-airports__card.is-featured{grid-column:span 2}
  .ebf-home .ebf-trust5__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ebf-home .ebf-why__list{grid-template-columns:1fr}
  .ebf-home .ebf-airx__tall.ebf-peek{grid-auto-columns:calc((100% - 16px) / 1.7)}
  .ebf-home .ebf-jrny__pin{min-width:104px;max-width:132px;padding:.45rem .55rem}
  .ebf-home .ebf-jrny__pin small{display:none}
}
@media (max-width:640px){
  .ebf-home .ebf-destx .ebf-omw-slide{flex-basis:80vw}
  .ebf-home .ebf-airports__grid{grid-template-columns:1fr}
  .ebf-home .ebf-airports__card.is-featured{grid-column:span 1}
  .ebf-home .ebf-airports__cta{flex-direction:column;align-items:flex-start;gap:.9rem}
  .ebf-home .ebf-airports__ctacopy{margin-right:0}
  .ebf-home .ebf-airports__cta .btn{width:100%;justify-content:center}
  .ebf-home .ebf-trust5__row{grid-template-columns:1fr}
  .ebf-home .ebf-trust5__creds ul{gap:1.1rem}
  .ebf-home .ebf-prio__stats{grid-template-columns:1fr}
  .ebf-home .ebf-intel__pillars{grid-template-columns:1fr;gap:1.1rem}
  .ebf-home .ebf-intel__pillars li{padding-left:0;border-left:0}
  .ebf-home .ebf-airports__strip ul{grid-template-columns:1fr}
  .ebf-home .ebf-airports__strip li{border-left:0;padding-left:0}
  .ebf-home .ebf-jrny__assure{grid-template-columns:1fr}
  .ebf-home .ebf-jrny__visual{aspect-ratio:1/1}
  .ebf-home .ebf-jrny__pin{display:none}
  .ebf-home .ebf-why__stats{position:static;background:var(--ebf-navy,#14202B);border-radius:0 0 var(--ebfr-radius) var(--ebfr-radius)}
  .ebf-home .ebf-why__float{left:.75rem;right:.75rem;max-width:none}
}
@media (max-width:400px){
  .ebf-home .ebf-destx .ebf-omw-slide{flex-basis:86vw}
  .ebf-home .ebf-airports__ctaphone{font-size:1.15rem}
}

/* ------------------------------------------------------------
   MOTION PREFERENCES
   ------------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  .ebf-home .ebf-prio__card,
  .ebf-home .ebf-airports__card,
  .ebf-home .ebf-trust5__row li,
  .ebf-home .ebf-destx .ebf-omw-photo,
  .ebf-home .ebf-airx__tall-card img,
  .ebf-home .ebf-omw-explore,
  .ebf-home .ebf-airports__arrow{transition:none}
  .ebf-home .ebf-prio__card:hover,
  .ebf-home .ebf-airports__card:hover,
  .ebf-home .ebf-trust5__row li:hover{transform:none}
  .ebf-home .ebf-destx .ebf-omw-shell:hover .ebf-omw-photo,
  .ebf-home .ebf-airx__tall-card:hover img{transform:none}
  .ebf-home .ebf-jrny__line{animation:none;stroke-dasharray:1.6 2.6}
  .ebf-home .ebf-jrny__dot{animation:none}
  .ebf-home .ebf-hdeals__spark{animation:none}
  .ebf-home .ebf-hdeals__cta, .ebf-home .ebf-hdeals__cta span, .ebf-home .ebf-hdeals__nav button{transition:none}
  .ebf-home .ebf-destx .ebf-omw-slide{flex:0 0 min(86vw,420px)}
}


/* ===== ebf-studio.css ===== */
/* ============================================================
   Experts Business First — studio visual overlay
   Colours, type, cards, buttons, cursor chrome, motion.
   Forms / fields / IDs / integrations are not changed here.

   Revert: TBF_STUDIO_THEME=false  then php artisan config:clear
   Or unlink this file and theme/js/ebf-studio.js
   ============================================================ */

body.theme-studio{
  --ebf-navy:#14202B;
  --ebf-navy-deep:#0E1822;
  --ebf-gold:#C4400E;
  --ebf-gold-lt:#FF7A2E;
  --ebf-gold-deep:#D2410E;
  --ebf-cream:#EAF3FB;
  --ebf-white:#FFFFFF;
  --ebf-grey:#F1F6FA;
  --ebf-text:#4A6173;
  --ebf-border:#14202b22;

  --white:#FFFFFF;
  --paper:#FFFFFF;
  --haze:#EAF3FB;
  --haze2:#F1F6FA;
  --sand:#D7E8F4;

  --navy-950:#0E1822;
  --navy-900:#14202B;
  --navy-800:#1C2C3A;
  --navy-700:#274257;

  --ink:#14202B;
  --ink-2:#4A6173;
  --muted:#4A6173;
  --mist:#8AA6B8;
  --muted-d:#8AA6B8;

  --gold:#C4400E;
  --gold-lt:#FF7A2E;
  --gold-deep:#D2410E;
  --gold-glow:rgba(240,83,28,.32);
  --gold-tint:#FFF3EE;

  --line:#14202b12;
  --line-2:#14202b22;
  --line-d:rgba(255,255,255,.12);
  --line-d2:rgba(255,255,255,.22);

  --tool:#0D99FF;
  --brand:#C4400E;
  --brand-deep:#D2410E;
  --grn:#27c06b;
  --tape:#FBE9CF;
  --frame:#FFFFFF;
  --soft:#F1F6FA;

  --display:"Bricolage Grotesque",sans-serif;
  --body:"Hanken Grotesk",system-ui,sans-serif;
  --data:"Hanken Grotesk",system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
  --hand:"Hanken Grotesk",system-ui,cursive;

  --r-xl:18px;
  --r-lg:16px;
  --r-md:12px;
  --r-sm:8px;
  --r-pill:10px;

  --sh-sm:0 8px 22px -14px rgba(20,32,43,.22);
  --sh:0 20px 50px -32px rgba(20,19,16,.32);
  --sh-lg:0 34px 70px -34px rgba(20,32,43,.42);
  --sh-gold:0 12px 26px -12px var(--brand);
}

html:has(body.theme-studio),
body.theme-studio{
  font-family:var(--body);
  background:
    radial-gradient(130% 95% at 82% -18%,rgba(255,255,255,.7) 0%,rgba(255,255,255,0) 40%),
    radial-gradient(120% 80% at 10% 118%,rgba(196,230,255,.75) 0%,rgba(196,230,255,0) 52%),
    linear-gradient(180deg,#3E97E2 0%,#5EAEEA 40%,#86C4EF 76%,#AcD8F4 100%);
  background-attachment:fixed;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
body.theme-studio h1,
body.theme-studio h2,
body.theme-studio h3,
body.theme-studio h4{
  font-family:var(--display);
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--ink);
}
body.theme-studio p{color:var(--ebf-text)}
body.theme-studio ::selection{background:var(--brand);color:#fff}
body.theme-studio :focus-visible{outline:2.5px solid var(--tool);outline-offset:3px}

/* Native OS cursor — trailing custom cursor removed */

/* Eyebrows / notes */
body.theme-studio .eyebrow{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand);
}
body.theme-studio .eyebrow::before,
body.theme-studio .eyebrow::after{display:none!important}
body.theme-studio .ebf-eyebrow-gold{color:var(--brand)!important;font-family:var(--mono)!important;letter-spacing:.14em}
body.theme-studio .section-head h2 em,
body.theme-studio .tone-navy .section-head h2 em,
body.theme-studio .ebf-sec-head h2 em,
body.theme-studio h1 em,
body.theme-studio h2 em{
  color:var(--brand);
  font-style:italic;
  font-weight:700;
}

/* Buttons */
body.theme-studio .btn{
  font-family:var(--body)!important;
  font-weight:700!important;
  font-size:14px!important;
  letter-spacing:0!important;
  padding:12px 22px!important;
  border-radius:10px!important;
  min-height:0;
  gap:10px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .24s cubic-bezier(.2,.85,.25,1),box-shadow .24s,background-color .2s,color .2s,border-color .2s;
}
body.theme-studio .btn::after{display:none!important}
body.theme-studio .btn:not(.ghost):not(.btn-line):not(.btn-line-gold)::before,
body.theme-studio .btn-gold::before,
body.theme-studio .nav-cta::before,
body.theme-studio .foot-book::before{
  content:"";
  display:block;
  position:absolute;
  right:18px;top:50%;
  width:36px;height:36px;
  border-radius:50%;
  background:var(--ink);
  transform:translateY(-50%) scale(0);
  transition:transform .6s cubic-bezier(.65,0,.35,1);
  z-index:-1;
  pointer-events:none;
}
body.theme-studio .btn:not(.ghost):not(.btn-line):not(.btn-line-gold):hover::before,
body.theme-studio .btn-gold:hover::before,
body.theme-studio .nav-cta:hover::before{
  transform:translateY(-50%) scale(28);
}
body.theme-studio .btn-gold,
body.theme-studio .btn-gold.btn-lg,
body.theme-studio a.btn-gold,
body.theme-studio .dock-search,
body.theme-studio .nav-cta,
body.theme-studio a.nav-cta.btn-line-gold{
  background:var(--brand)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:var(--sh-gold)!important;
}
body.theme-studio .btn-gold:hover,
body.theme-studio .dock-search:hover,
body.theme-studio .nav-cta:hover{
  background:var(--brand)!important;
  color:#fff!important;
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 20px 40px -16px rgba(20,32,43,.42)!important;
}
body.theme-studio .btn-line,
body.theme-studio .btn-line-gold,
body.theme-studio a.btn-line{
  background:transparent!important;
  color:var(--ink)!important;
  border:1.6px solid var(--ink)!important;
  box-shadow:none!important;
}
body.theme-studio .btn-line:hover,
body.theme-studio .btn-line-gold:hover,
body.theme-studio a.btn-line:hover{
  background:var(--brand)!important;
  border-color:var(--brand)!important;
  color:#fff!important;
}
body.theme-studio .btn-navy{background:var(--ink)!important;color:#fff!important;border-radius:10px}
body.theme-studio .btn-navy:hover{background:var(--brand)!important}

/* Header / nav — pill menu; trust bar left untouched */
body.theme-studio .curtain{background:#EAF6FF}
body.theme-studio .rail{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-2);
  color:var(--ink);
}
body.theme-studio .header,
body.theme-studio .nav,
body.theme-studio .site-header{
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
}
body.theme-studio .nav{
  min-height:68px;
  gap:.8rem;
}
body.theme-studio .nav-links{
  background:#fff;
  border-radius:999px;
  padding:5px 6px;
  box-shadow:0 10px 28px -18px rgba(20,32,43,.4),0 0 0 1px rgba(20,32,43,.06);
  gap:2px;
}
body.theme-studio .nav-links>li>a,
body.theme-studio .nav-links>li>.nav-mega-btn{
  font-weight:500;
  font-size:13px;
  color:var(--ink);
  border-radius:999px;
  padding:10px 15px;
  transition:background .15s,color .15s;
}
body.theme-studio .nav-links>li>a:hover,
body.theme-studio .nav-links>li>.nav-mega-btn:hover,
body.theme-studio .nav-links>li>a.active,
body.theme-studio .nav-links>li.mega-open>.nav-mega-btn{
  background:var(--soft);
  color:var(--brand);
}
body.theme-studio .nav-phone{color:var(--ink)}
body.theme-studio .nav-phone svg{color:var(--brand)}
body.theme-studio .header .cred-badges{display:none}
body.theme-studio .nav-cta{
  border-radius:999px!important;
  padding:11px 18px!important;
}
body.theme-studio .burger span{background:var(--ink)}
body.theme-studio .drawer{
  background:rgba(255,255,255,.96);
}
body.theme-studio .drawer > a{
  font-family:var(--display);
  font-weight:700;
  letter-spacing:-.03em;
  border-bottom-color:var(--line-2);
}
body.theme-studio .drawer > a:hover{color:var(--brand)!important}
body.theme-studio .drawer-sub{
  font-family:var(--mono)!important;
  color:var(--brand)!important;
  letter-spacing:.16em;
}
body.theme-studio .drawer-contact a{color:var(--brand)!important}

/* Homepage canvas */
body.theme-studio .ebf-home{
  background:transparent;
  color:var(--ink);
}
body.theme-studio .ebf-sec-head h2{
  font-weight:800;
  letter-spacing:-.03em;
  text-transform:none;
  font-size:clamp(1.65rem,3.4vw,3.05rem);
  line-height:1.08;
}
body.theme-studio .ebf-sec-head p{color:var(--ebf-text)}
body.theme-studio .ebf-sec-head--light h2{color:#fff}
body.theme-studio .ebf-sec-head--light p{color:rgba(255,255,255,.78)}
body.theme-studio .ebf-sec-head--light h2 em{color:var(--brand)}
body.theme-studio .ebf-text-link{color:var(--brand)}
body.theme-studio .ebf-text-link:hover{color:var(--brand-deep)}
body.theme-studio .ebf-omw-nm{font-family:var(--display);font-weight:800}
body.theme-studio .ebf-omw-lab{max-width:70%;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1150px){
  body.theme-studio .nav-links>li>a,
  body.theme-studio .nav-links>li>.nav-mega-btn{padding:8px 10px;font-size:12px}
}

/* Light sections sit on the sky; cards are white */
body.theme-studio .ebf-prio,
body.theme-studio .ebf-destx,
body.theme-studio .ebf-airports,
body.theme-studio .ebf-steps,
body.theme-studio .ebf-faq,
body.theme-studio .compete-usp{
  background:transparent!important;
}
body.theme-studio .ebf-trust5,
body.theme-studio .ebf-fare,
body.theme-studio .ebf-cabins,
body.theme-studio .ebf-why,
body.theme-studio .ebf-guides{
  background:rgba(255,255,255,.38);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-block:1px solid rgba(255,255,255,.55);
}

/* Dark sections — ink canvas */
body.theme-studio .ebf-pick,
body.theme-studio .ebf-airx,
body.theme-studio .ebf-lounge,
body.theme-studio .ebf-stories,
body.theme-studio .ebf-corp{
  background:#0E1822;
  color:#fff;
  border-radius:0;
  margin:0;
  overflow:hidden;
}
body.theme-studio .ebf-pick h2,
body.theme-studio .ebf-pick h3,
body.theme-studio .ebf-airx h2,
body.theme-studio .ebf-lounge h2,
body.theme-studio .ebf-stories h2,
body.theme-studio .ebf-corp h2,
body.theme-studio .ebf-omw--dark h2,
body.theme-studio .ebf-sec-head--light h2{
  color:#fff !important;
}
body.theme-studio .ebf-pick p,
body.theme-studio .ebf-pick li,
body.theme-studio .ebf-airx p,
body.theme-studio .ebf-lounge p,
body.theme-studio .ebf-lounge li,
body.theme-studio .ebf-stories p,
body.theme-studio .ebf-corp p,
body.theme-studio .ebf-corp span,
body.theme-studio .ebf-omw--dark p,
body.theme-studio .ebf-sec-head--light p{
  color:rgba(255,255,255,.84) !important;
}
body.theme-studio .ebf-pick__copy h2{color:#fff !important;font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.15}
body.theme-studio .ebf-pick__copy h3{color:rgba(255,255,255,.9) !important}
body.theme-studio .ebf-pick__aside h3{color:#fff !important}
body.theme-studio .ebf-pick__aside p{color:rgba(255,255,255,.8) !important}
body.theme-studio .ebf-pick p.ebf-pick__price,
body.theme-studio .ebf-pick a.ebf-pick__phone{color:var(--brand) !important}
body.theme-studio .ebf-lounge h2{font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.15}
body.theme-studio .ebf-lounge__list strong{color:#fff !important}
body.theme-studio .ebf-lounge__list p{color:rgba(255,255,255,.78) !important}
body.theme-studio .ebf-corp h2{font-size:clamp(1.55rem,2.6vw,2.25rem);line-height:1.12}
body.theme-studio .ebf-corp h2 em{color:var(--brand) !important}
body.theme-studio .ebf-corp__feats strong{color:#fff !important}
body.theme-studio .ebf-corp__feats span{color:rgba(255,255,255,.78) !important}
body.theme-studio .ebf-omw-quote p{color:rgba(255,255,255,.92) !important}
body.theme-studio .ebf-omw-quote strong{color:#fff !important}
body.theme-studio .ebf-airx .ebf-text-link,
body.theme-studio .ebf-stories .ebf-text-link{
  color:var(--brand) !important;
}

body.theme-studio .ebf-hero{background:transparent}

/* Hero — keep cabin photo, cooler left wipe so copy stays readable */
body.theme-studio .ebf-hero__shade{
  background:linear-gradient(90deg,#EAF3FB 0%,#EAF3FB 28%,rgba(234,243,251,.94) 42%,rgba(234,243,251,.55) 58%,rgba(234,243,251,.12) 74%,transparent 100%)!important;
}
body.theme-studio .ebf-hero__kicker{
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink);
}
body.theme-studio .ebf-hero h1{
  font-weight:800;
  letter-spacing:-.04em;
  line-height:.92;
}
body.theme-studio .ebf-hero__sub{color:var(--ebf-text);font-weight:500}
body.theme-studio .ebf-hero__phone{color:var(--ink);font-weight:700}
body.theme-studio .ebf-disc__head h2{font-weight:800;letter-spacing:-.03em}
body.theme-studio .ebf-disc__prefer a{color:var(--brand)}

/* Search dock — visual only */
body.theme-studio .dock{
  background:#fff!important;
  border:1px solid rgba(255,255,255,.9)!important;
  border-radius:20px!important;
  box-shadow:0 14px 26px -14px rgba(40,50,70,.2),0 48px 90px -40px rgba(40,50,70,.45)!important;
}
body.theme-studio .dock .seg button.on{
  color:var(--brand);
  border-bottom-color:var(--brand);
}
body.theme-studio .dock .field{
  background:var(--soft);
  border:1px solid var(--line-2);
  border-radius:12px;
}
body.theme-studio .dock .field:focus-within{
  border-color:var(--tool);
  box-shadow:0 0 0 3px rgba(13,153,255,.16);
}
body.theme-studio .ebf-dock-trust svg{color:var(--brand)}

/* Cards */
body.theme-studio .ebf-prio__card,
body.theme-studio .ebf-airports__card,
body.theme-studio .ebf-guides__card,
body.theme-studio .ebf-cabins__card,
body.theme-studio .ebf-fare__stats>div,
body.theme-studio .ebf-home .tbf-qa-card,
body.theme-studio .ebf-faq .faq-item,
body.theme-studio .enquiry-panel{
  background:#fff;
  border:1px solid var(--line-2);
  border-radius:18px;
  box-shadow:var(--sh);
  transition:transform .25s,box-shadow .25s;
}
body.theme-studio .ebf-prio__card:hover,
body.theme-studio .ebf-airports__card:hover,
body.theme-studio .ebf-guides__card:hover,
body.theme-studio .ebf-cabins__card:hover,
body.theme-studio .ebf-fare__stats>div:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 54px -30px rgba(20,19,16,.42);
}
body.theme-studio .ebf-prio__card.is-on,
body.theme-studio .ebf-prio__card[aria-pressed="true"]{
  border-color:var(--brand);
  box-shadow:0 0 0 2px rgba(240,83,28,.22),0 10px 28px rgba(240,83,28,.14);
}
body.theme-studio .ebf-prio__ico,
body.theme-studio .ebf-trust5__ico,
body.theme-studio .ebf-why__list span,
body.theme-studio .ebf-airports__code,
body.theme-studio .ebf-steps__row span{
  color:var(--brand);
}
body.theme-studio .ebf-trust5__ico{
  border-color:rgba(240,83,28,.35);
}
body.theme-studio .ebf-cabins__card li::before{
  background:var(--brand);
}
body.theme-studio .ebf-pick__reasons li::before{
  background:transparent;
  border-color:var(--brand);
}
body.theme-studio .ebf-cabins__bar--navy{background:var(--ink)}
body.theme-studio .ebf-cabins__bar--gold{background:var(--brand);color:#fff}
body.theme-studio .ebf-cabins__quote blockquote{color:#fff}

/* Figma-style hover frame (JS adds .ebf-fig) */
body.theme-studio .ebf-fig{position:relative}
body.theme-studio .ebf-fig::after{
  content:"";
  position:absolute;
  inset:-7px;
  border:1.5px solid var(--tool);
  border-radius:22px;
  opacity:0;
  pointer-events:none;
  z-index:6;
  transition:opacity .18s;
}
body.theme-studio .ebf-fig:hover::after,
body.theme-studio .ebf-fig.is-fig::after{opacity:1}
body.theme-studio .ebf-fig .ebf-h{
  position:absolute;width:10px;height:10px;background:#fff;
  border:1.5px solid var(--tool);border-radius:2px;
  opacity:0;z-index:7;pointer-events:none;transition:opacity .18s;
}
body.theme-studio .ebf-fig:hover .ebf-h,
body.theme-studio .ebf-fig.is-fig .ebf-h{opacity:1}
body.theme-studio .ebf-fig .ebf-h.tl{top:-12px;left:-12px}
body.theme-studio .ebf-fig .ebf-h.tr{top:-12px;right:-12px}
body.theme-studio .ebf-fig .ebf-h.bl{bottom:-12px;left:-12px}
body.theme-studio .ebf-fig .ebf-h.br{bottom:-12px;right:-12px}

/* Coverflow / stack — keep motion, restyle chrome */
body.theme-studio .ebf-slider-btn{
  background:#fff;
  border:1.5px solid rgba(240,83,28,.42);
  color:var(--brand);
  border-radius:50%;
}
body.theme-studio .ebf-slider-btn:hover{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
body.theme-studio .ebf-destx__card.is-focus,
body.theme-studio .ebf-airx__card.is-focus{
  box-shadow:0 32px 70px rgba(20,32,43,.28),0 0 0 1.5px var(--tool);
}
body.theme-studio .ebf-destx__region{color:var(--brand)}
body.theme-studio .ebf-intel{background:transparent!important;color:var(--ink)}
body.theme-studio .ebf-journey.is-focus{box-shadow:0 32px 70px rgba(20,32,43,.28),0 0 0 1.5px var(--tool)}
body.theme-studio .ebf-journey__cta{
  background:var(--brand);
  color:#fff;
  border:0;
}
body.theme-studio .ebf-fare__panel{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:var(--sh);
}
body.theme-studio .ebf-fare__ico{background:var(--brand);color:#fff}

/* Experts pick / lounge / stories */
body.theme-studio .ebf-pick__price,
body.theme-studio .ebf-pick__phone,
body.theme-studio .ebf-pick__headset,
body.theme-studio .ebf-lounge__list span,
body.theme-studio .ebf-stories__stars,
body.theme-studio .ebf-corp h2 em,
body.theme-studio .ebf-why__float svg,
body.theme-studio .ebf-why__float small{
  color:var(--brand);
}
body.theme-studio .ebf-pick .btn-line,
body.theme-studio .ebf-pick .btn-line-gold,
body.theme-studio .ebf-lounge .btn-line,
body.theme-studio .ebf-lounge .btn-line-gold,
body.theme-studio .ebf-airx .btn-line,
body.theme-studio .ebf-airx .btn-line-gold,
body.theme-studio .ebf-stories .btn-line,
body.theme-studio .ebf-stories .ebf-text-link,
body.theme-studio .ebf-corp .btn-line,
body.theme-studio .ebf-airx .ebf-text-link{
  color:#fff!important;
  border-color:rgba(255,255,255,.4)!important;
}
body.theme-studio .ebf-airx .ebf-text-link,
body.theme-studio .ebf-stories .ebf-text-link{
  border:0!important;
  color:var(--brand)!important;
}
body.theme-studio .ebf-pick__aside,
body.theme-studio .ebf-pick__headset{
  border-color:rgba(240,83,28,.4);
}
body.theme-studio .ebf-stories__card{
  background:linear-gradient(180deg,#182430,#101820);
  border:1px solid rgba(255,255,255,.12);
}
body.theme-studio .ebf-stories__card.is-focus{border-color:var(--tool)}
body.theme-studio .ebf-why__float{background:var(--ink)}
body.theme-studio .ebf-why__float em{color:rgba(255,255,255,.7)!important}
body.theme-studio .ebf-guides__media span{background:var(--brand)}
body.theme-studio .ebf-guides__foot .ebf-destx__cta{color:var(--brand)}
body.theme-studio .ebf-airx__tall-card span{color:var(--ink)!important;background:#fff}
body.theme-studio .ebf-story-card__who strong,
body.theme-studio .ebf-story-card>p{color:#fff!important}
body.theme-studio .ebf-story-card__who small{color:rgba(255,255,255,.7)!important}
body.theme-studio .ebf-story-card__stars{color:var(--brand)!important}
body.theme-studio .ebf-story-card__stars span{color:#fff!important}
body.theme-studio .ebf-corp__quote{background:rgba(14,24,34,.94);border-color:rgba(240,83,28,.4)}
body.theme-studio .ebf-corp__quote p{color:#fff!important}
body.theme-studio .ebf-corp__quote cite{color:var(--brand)!important}
body.theme-studio p.ebf-pick__stars,
body.theme-studio .ebf-pick__aside .ebf-text-link{color:var(--brand)!important}
body.theme-studio .ebf-airports__go{border-color:var(--brand);color:var(--brand)}
body.theme-studio .ebf-steps__ico{color:var(--brand);border-color:rgba(240,83,28,.22)}
body.theme-studio .ebf-steps__num{color:var(--brand)}
body.theme-studio .footer-tp{display:inline-flex;flex-direction:column;gap:.15rem;margin-top:1rem;text-decoration:none}
body.theme-studio .footer-tp strong{color:#fff;font-size:.95rem}
body.theme-studio .footer-tp span{color:var(--brand);letter-spacing:.06em;font-size:.85rem}

/* FAQ */
body.theme-studio .faq-item button,
body.theme-studio .faq-q{
  font-family:var(--display);
  font-weight:600;
}

/* Enquiry / final CTA */
body.theme-studio .enquiry.ebf-final{
  background:transparent;
  border-radius:0;
  margin:0;
}
body.theme-studio .ebf-final .enquiry-intro,
body.theme-studio .ebf-final .enquiry-intro h2{
  color:var(--ink)!important;
}
body.theme-studio .ebf-final .enquiry-intro>p,
body.theme-studio .ebf-final .ebf-final__prefer,
body.theme-studio .ebf-final .enquiry-trust .et small{
  color:var(--ebf-text)!important;
}
body.theme-studio .ebf-final .enquiry-trust .et b{color:var(--ink)!important}
body.theme-studio .ebf-final .enquiry-trust .et svg,
body.theme-studio .ebf-final .enquiry .eyebrow{color:var(--brand)!important}
body.theme-studio .enquiry-direct{margin-top:1rem;gap:10px}
body.theme-studio .enq-direct-item{
  background:#fff!important;
  border:1px solid var(--line-2)!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  box-shadow:var(--sh-sm);
  color:var(--ink);
}
body.theme-studio .enq-direct-item:hover{
  border-color:var(--brand)!important;
  transform:translateY(-2px);
}
body.theme-studio .edi-ico{
  width:40px!important;height:40px!important;
  background:var(--brand)!important;
  border:0!important;
  border-radius:10px!important;
}
body.theme-studio .edi-ico svg{color:#fff!important}
body.theme-studio .enq-direct-item b{color:var(--ink)!important;font-weight:750}
body.theme-studio .enq-direct-item small{color:var(--brand)!important;font-weight:750;font-size:15px}
body.theme-studio .enquiry-trust{margin-top:1.05rem;gap:.7rem}
body.theme-studio .enq-form input,
body.theme-studio .enq-form select,
body.theme-studio .enq-form textarea,
body.theme-studio .money-enq input,
body.theme-studio .money-enq select{
  border:1.5px solid var(--line-2)!important;
  border-radius:12px!important;
  background:#fff!important;
}
body.theme-studio .enq-form input:focus,
body.theme-studio .enq-form select:focus,
body.theme-studio .enq-form textarea:focus,
body.theme-studio .money-enq input:focus,
body.theme-studio .money-enq select:focus,
body.theme-studio .enq-field:focus-within{
  border-color:var(--tool)!important;
  box-shadow:0 0 0 3px rgba(13,153,255,.16)!important;
  outline:none!important;
}

/* Footer */
body.theme-studio .footer{
  background:#0E1822;
  color:rgba(255,255,255,.78);
  border-radius:36px 36px 0 0;
  margin-top:0;
  padding-top:2rem;
}
body.theme-studio .footer-heading,
body.theme-studio .footer h5{
  font-family:var(--mono)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
  color:rgba(255,255,255,.42)!important;
  margin-bottom:.7rem;
}
body.theme-studio .footer a{color:rgba(255,255,255,.78)}
body.theme-studio .footer a:hover{color:var(--brand)}
body.theme-studio .footer-brand p{color:rgba(255,255,255,.55);margin:.7rem 0}
body.theme-studio .footer-contact{margin:.75rem 0;font-size:13px;gap:.4rem}
body.theme-studio .footer-social{margin-top:.8rem}
body.theme-studio .footer .brand-logo--footer,
body.theme-studio .footer img.brand-logo{
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
}
body.theme-studio .footer-bottom{
  border-top-color:rgba(255,255,255,.13);
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
  margin-top:1.6rem;
  padding-block:1.1rem;
}
body.theme-studio .footer-bottom a{color:rgba(255,255,255,.55)}

/* Exit popup — visual only, same fields */
body.theme-studio #tbf-exit-popup{
  background:#fff!important;
  border:1px solid var(--line-2)!important;
  border-radius:20px!important;
  font-family:var(--body)!important;
  box-shadow:0 40px 90px -30px rgba(20,32,43,.55)!important;
}
body.theme-studio .tbf-exit-hero{
  background:#fff!important;
  border-bottom:1px solid var(--line-2)!important;
}
body.theme-studio .tbf-exit-kicker{color:var(--brand)!important;font-family:var(--mono)!important}
body.theme-studio .tbf-exit-hero h3{
  font-family:var(--display)!important;
  font-weight:700!important;
  color:var(--ink)!important;
}
body.theme-studio #tbf-exit-form input:focus{
  border-color:var(--tool)!important;
  box-shadow:0 0 0 3px rgba(13,153,255,.16)!important;
}
body.theme-studio .tbf-exit-submit{
  background:var(--brand)!important;
  color:#fff!important;
  border-radius:10px!important;
  box-shadow:var(--sh-gold)!important;
}
body.theme-studio .tbf-exit-submit:hover{
  background:var(--ink)!important;
  color:#fff!important;
}
body.theme-studio .tbf-exit-footer a{color:var(--brand)!important}

/* Scroll reveal (JS adds .ebf-rv / .in) */
body.theme-studio .ebf-rv{
  opacity:0;
  transform:translateY(22px);
  filter:blur(6px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),filter .7s;
}
body.theme-studio .ebf-rv.in{
  opacity:1;
  transform:none;
  filter:none;
}

/* Sticky-note chips if present */
body.theme-studio .note,
body.theme-studio .ebf-tape{
  display:inline-block;
  background:var(--tape);
  font-family:var(--hand);
  font-weight:500;
  padding:8px 14px;
  border-radius:6px;
  transform:rotate(-1.2deg);
  box-shadow:0 8px 20px -12px rgba(20,19,16,.2);
}

/* Inner pages — destination + blog, same OMD palette as homepage */
body.theme-studio .page-hero{
  background:
    radial-gradient(900px 320px at 12% -20%,rgba(240,83,28,.12),transparent 58%),
    linear-gradient(160deg,#EAF3FB 0%,#F7FBFE 100%);
  color:var(--ink);
  border-bottom:1px solid rgba(20,32,43,.08);
}
body.theme-studio .page-hero.ebf-blog-hero{
  background:#F3EEE4;
  color:#14202B;
  border-bottom:1px solid #D9E3EC;
}
body.theme-studio .page-crumbs,
body.theme-studio .page-lead{color:var(--ink-2)}
body.theme-studio .page-crumbs a,
body.theme-studio .page-kicker{color:var(--brand)}
body.theme-studio .page-hero h1{color:var(--ink);font-family:var(--display);font-weight:800;letter-spacing:-.03em;max-width:22ch}

body.theme-studio .money-hero-shade{
  background:linear-gradient(100deg,rgba(14,24,34,.78) 0%,rgba(14,24,34,.42) 40%,rgba(14,24,34,.08) 68%,transparent 100%)!important;
}
body.theme-studio .money-hero-kicker{color:var(--brand)!important;font-family:var(--mono);letter-spacing:.18em}
body.theme-studio .money-hero-copy h1{
  color:#fff!important;
  font-family:var(--display)!important;
  font-weight:800!important;
  letter-spacing:-.035em;
  max-width:18ch;
}
body.theme-studio .money-hero-lead,
body.theme-studio .money-hero-lead a{color:#fff!important}
body.theme-studio .money-hero-lead a{text-decoration:underline;text-underline-offset:3px}

body.theme-studio .money-enq{
  background:#fff!important;
  border:1px solid rgba(255,255,255,.9)!important;
  border-radius:20px!important;
  box-shadow:0 14px 26px -14px rgba(40,50,70,.2),0 48px 90px -40px rgba(40,50,70,.45)!important;
  color:var(--ink)!important;
}
body.theme-studio .money-enq-field label,
body.theme-studio .money-enq-trip legend,
body.theme-studio .money-enq-field input,
body.theme-studio .money-enq-field select,
body.theme-studio .money-enq-field textarea{color:var(--ink)!important}
body.theme-studio .money-enq-field input,
body.theme-studio .money-enq-field select,
body.theme-studio .money-enq-field textarea{
  background:var(--soft)!important;
  border:1px solid var(--line-2)!important;
  border-radius:12px!important;
}
body.theme-studio .money-enq-field input:focus,
body.theme-studio .money-enq-field select:focus,
body.theme-studio .money-enq-field textarea:focus{
  border-color:var(--tool)!important;
  box-shadow:0 0 0 3px rgba(13,153,255,.16)!important;
}
body.theme-studio .money-enq-submit,
body.theme-studio .money-enq button[type="submit"]{
  background:var(--brand)!important;
  color:#fff!important;
  border-radius:12px!important;
  text-transform:none!important;
  letter-spacing:-.01em!important;
}

body.theme-studio .tbf-trust{
  background:#fff;
  border-block:1px solid var(--line-2);
}
body.theme-studio .tbf-trust-k,
body.theme-studio .tbf-trust a{color:var(--ink)!important}
body.theme-studio .money-page .tbf-qa-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}

body.theme-studio .money-intro-facts li{background:transparent;padding:0}
body.theme-studio .money-intro-facts strong{color:var(--ink)}
body.theme-studio .explore-more,
body.theme-studio .money-explore{
  background:transparent!important;
  padding:clamp(2rem,4vw,3.2rem) 0 2.4rem;
}
body.theme-studio .explore-more>div.container>div:first-child,
body.theme-studio .explore-more h4{
  background:transparent!important;
  color:var(--ink)!important;
  border-radius:0;
  padding:0;
  margin:0 0 .35rem!important;
}
body.theme-studio .explore-more .tab-content.explore-contents{
  background:transparent!important;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
body.theme-studio .money-explore__kicker{color:var(--brand)!important}
body.theme-studio .money-explore__head h2{color:var(--ink)!important}
body.theme-studio .money-explore__search input{
  background:#fff;
  border-color:var(--line-2);
  color:var(--ink);
}
body.theme-studio .money-explore__search input:focus{
  border-color:var(--tool)!important;
  box-shadow:0 0 0 3px rgba(13,153,255,.16)!important;
}
body.theme-studio .money-explore__search svg{color:var(--brand)}
body.theme-studio .money-explore__grid a{color:var(--ink)!important}
body.theme-studio .money-explore__grid a:hover{color:var(--brand)!important;border-bottom-color:var(--brand)}
body.theme-studio .explore-more .tab-content.explore-contents .tab-pane a{color:var(--ink)!important}
body.theme-studio .explore-more .tab-content.explore-contents .tab-pane a:hover,
body.theme-studio .explore-more .menutxtcol a{color:var(--brand)!important}
body.theme-studio .hub-card,
body.theme-studio .hub-panel,
body.theme-studio .airline-hub-card,
body.theme-studio .tbf-article-glass,
body.theme-studio .ebf-blog-main,
body.theme-studio .tbf-widget,
body.theme-studio .ebf-blog-widget,
body.theme-studio .class-fare{
  background:#fff;
  border:1px solid var(--line-2);
  border-radius:18px;
  box-shadow:var(--sh);
}
body.theme-studio .money-feature-fare{background:var(--ink)}
body.theme-studio .money-feature-fare b{color:#fff}
body.theme-studio .money-fare-table td,
body.theme-studio .money-related-table td:last-child,
body.theme-studio .money-route-fare strong,
body.theme-studio .hub-read,
body.theme-studio .tbf-r-date,
body.theme-studio .ebf-blog-rel-date,
body.theme-studio .money-related-lead a,
body.theme-studio .money-related-more a,
body.theme-studio .money-rich-content a,
body.theme-studio .money-crumbs a{
  color:var(--brand)!important;
}
body.theme-studio .money-related-table th,
body.theme-studio .tbf-rich-text table thead tr,
body.theme-studio .tbf-rich-text thead,
body.theme-studio .money-rich-content table thead,
body.theme-studio .money-rich-content table th{
  background:var(--ink)!important;
  color:#fff!important;
}
body.theme-studio .tbf-rich-text tbody tr:nth-child(even),
body.theme-studio .tbf-blog-post tbody tr:nth-child(even),
body.theme-studio .money-related-table tr:nth-child(even) td,
body.theme-studio .money-rich-content table tbody tr:nth-child(even){
  background:#F4F8FB!important;
}
body.theme-studio .tbf-rich-text .lead-paragraph,
body.theme-studio .tbf-rich-text blockquote{
  border-left-color:var(--brand)!important;
}
body.theme-studio .tbf-rich-text a{border-bottom-color:var(--brand)!important;color:var(--ink)!important}
body.theme-studio .tbf-rich-text a:hover{background:rgba(240,83,28,.08)!important}
body.theme-studio .tbf-rich-text .airline-guide-cta,
body.theme-studio .tbf-rich-text a.airline-guide-cta{
  background:var(--brand)!important;
  color:#fff!important;
}
body.theme-studio .tbf-rich-text .airline-guide-bottom-cta,
body.theme-studio .tbf-rich-text .airline-guide-mid-cta,
body.theme-studio .tbf-rich-text .airline-guide-choose{
  background:#FFF3EE!important;
  border-color:rgba(240,83,28,.22)!important;
}

body.theme-studio .money-faq,
body.theme-studio .blog-faq{
  background:#F0F7FF!important;
  border-color:rgba(13,153,255,.12)!important;
}
body.theme-studio .money-faq-kicker{color:var(--brand)!important}
body.theme-studio .money-faq-head h2,
body.theme-studio .money-faq-item summary{color:var(--ink)!important}
body.theme-studio .money-faq-head a,
body.theme-studio .money-faq-item summary::after{color:var(--brand)!important}
body.theme-studio .money-faq-item{
  background:#fff;
  border-color:var(--line-2);
  border-radius:14px;
}

body.theme-studio .money-route-row{
  background:#fff;
  border:1px solid var(--line-2);
  border-radius:16px;
  padding:.85rem 1rem;
}
body.theme-studio .money-routes-title,
body.theme-studio .money-rich-content h1,
body.theme-studio .money-rich-content h2,
body.theme-studio .money-rich-content h3,
body.theme-studio .city-description h2,
body.theme-studio .tbf-rich-text h2,
body.theme-studio .tbf-rich-text h3{color:var(--ink)!important;font-family:var(--display)!important}

body.theme-studio .enquiry-bottom{
  background:var(--ink)!important;
  color:#fff!important;
  border-radius:0 0 18px 18px;
}
body.theme-studio .enquiry-bottom p,
body.theme-studio .enquiry-bottom a{color:#fff!important}
body.theme-studio .enquiry-bottom a[href^="tel"]{color:var(--brand)!important}
body.theme-studio .class-fare h4,
body.theme-studio .money-side-title{color:var(--ink)!important}

body.theme-studio .explore-more{
  background:transparent!important;
  padding-top:0;
}
body.theme-studio .explore-more>div.container>div:first-child,
body.theme-studio .explore-more h4{
  background:var(--ink)!important;
  color:#fff!important;
  border-radius:16px 16px 0 0;
  padding:.95rem 1.2rem;
  margin:0!important;
}
body.theme-studio .explore-more .tab-content.explore-contents{
  background:#fff!important;
  border:1px solid var(--line-2);
  border-top:0;
  border-radius:0 0 16px 16px;
  padding:1.1rem 1.2rem 1.3rem;
}
body.theme-studio .explore-more .tab-content.explore-contents .tab-pane a{color:var(--ink)!important}
body.theme-studio .explore-more .tab-content.explore-contents .tab-pane a:hover,
body.theme-studio .explore-more .menutxtcol a{color:var(--brand)!important}

body.theme-studio .hub-chip,
body.theme-studio .guides-tag,
body.theme-studio .tbf-hero-badge{background:var(--brand)!important;color:#fff!important;border:0!important}
body.theme-studio .hub-card h2 a,
body.theme-studio .airline-hub-card h2 a,
body.theme-studio .tbf-r-title{color:var(--ink)!important}
body.theme-studio .hub-cats a.on,
body.theme-studio .hub-search button{
  background:var(--brand)!important;
  color:#fff!important;
  border-color:var(--brand)!important;
}
body.theme-studio .blog-promo-inner{
  background:#F3EEE4 !important;
  color:#14202B !important;
}
body.theme-studio .blog-promo-save{background:var(--brand)!important}
body.theme-studio .blog-promo-city{color:#14202B !important;font-family:inherit;font-weight:750}
body.theme-studio .blog-promo-class{color:#C4400E !important}
body.theme-studio .blog-promo-fare .amt{color:#14202B !important}
body.theme-studio .blog-promo-note,
body.theme-studio .blog-promo-trust{color:#4A6173 !important}
body.theme-studio .blog-promo-cta .btn-line{
  border:1.5px solid #14202B !important;
  color:#14202B !important;
  background:transparent !important;
}
body.theme-studio .blog-promo-cta .btn-line:hover{
  background:#14202B !important;
  color:#fff !important;
}
body.theme-studio .blog-promo-dots button.on{background:var(--brand)!important}
body.theme-studio .blog-enq-call{color:var(--brand)!important}
body.theme-studio .tbf-widget-header,
body.theme-studio .ebf-blog-widget-header{color:var(--ink)!important;border-bottom-color:var(--line-2)!important}
body.theme-studio .bcf-side .blog-promo-wrap,
body.theme-studio .bcf-side-card{
  border-top:3px solid #C4400E !important;
}
body.theme-studio .tbf-rel-item:hover,
body.theme-studio .ebf-blog-rel:hover{background:var(--soft)}
body.theme-studio .tbf-action-footer .tbf-tag,
body.theme-studio .ebf-blog-tag{background:var(--soft);color:var(--ink)}
body.theme-studio .tbf-share-btn,
body.theme-studio .ebf-blog-share-btn{color:var(--brand)!important}
body.theme-studio .tbf-blog-wrapper,
body.theme-studio .ebf-blog-wrapper{background:transparent}

body.theme-studio .money-answer__label,
body.theme-studio .money-faq-kicker{color:var(--brand)!important}
body.theme-studio .money-answer__text{color:var(--ink)}
body.theme-studio .money-hero .money-answer__text,
body.theme-studio .money-hero-answer{color:#fff!important}
body.theme-studio .money-compare__table th{background:var(--ink)!important}
body.theme-studio .money-problem h2,
body.theme-studio .money-solution h2,
body.theme-studio .money-proof h2,
body.theme-studio .money-compare h2{color:var(--ink)!important;font-family:var(--display)!important}

@media (max-width:760px){
  body.theme-studio .ebf-pick,
  body.theme-studio .ebf-airx,
  body.theme-studio .ebf-lounge,
  body.theme-studio .ebf-stories,
  body.theme-studio .ebf-corp,
  body.theme-studio .enquiry.ebf-final{
    margin:0;border-radius:0;
  }
  body.theme-studio .footer{border-radius:24px 24px 0 0}
  body.theme-studio .ebf-fig::after,
  body.theme-studio .ebf-fig .ebf-h{display:none}
  body.theme-studio .nav-links{box-shadow:none;background:transparent;padding:0}
}

@media (prefers-reduced-motion:reduce){
  body.theme-studio .btn,
  body.theme-studio .btn::before,
  body.theme-studio .ebf-prio__card,
  body.theme-studio .ebf-fig::after,
  body.theme-studio .ebf-rv{
    transition:none!important;
    animation:none!important;
  }
  body.theme-studio .ebf-rv{opacity:1;transform:none;filter:none}
  body.theme-studio .btn:hover{transform:none}
}


/* ===== ebf-home-perf.css ===== */
/* Homepage performance + CLS + a11y overlays. Loaded last in home-critical.css */

/* Reserve first-viewport chrome before late CSS/fonts apply */
.ebf-trustbar,
.compete-trust-top{
  min-height:38px;
  box-sizing:border-box;
}
.header .nav{
  min-height:76px;
}
.header .brand-logo,
img.brand-logo{
  height:56px;
  width:auto;
  max-height:56px;
  aspect-ratio:1024 / 338;
  object-fit:contain;
  object-position:left center;
}
.ebf-hero{
  min-height:min(78vh,720px);
  background:#F3EEE4;
  contain:layout;
}
.ebf-hero__media{
  position:absolute;
  inset:0;
  z-index:-1;
}
.ebf-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
  aspect-ratio:1536 / 1024;
}
.ebf-home .ebf-hdeals{
  min-height:220px;
}

@media (max-width:720px){
  .ebf-hero{min-height:560px}
  .ebf-home .ebf-hdeals{min-height:240px}
  .header .brand-logo,
  img.brand-logo{height:44px;max-height:44px}
  .header .nav{min-height:64px}
}

/* Footer column titles are not document headings */
.footer-heading,
.footer h5{
  font-family:var(--body);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ebf-gold,#C9A66B);
  margin-bottom:1.2rem;
}
body.theme-studio .footer-heading{
  font-family:var(--mono),ui-monospace,monospace !important;
}

/* Links in running copy: not colour-only */
.ebf-disc__prefer a,
.ebf-hero__phone,
.ebf-home .ebf-hero__copy a:not(.btn){
  text-decoration:underline;
  text-underline-offset:.18em;
  text-decoration-thickness:from-font;
}
.footer-links a:hover,
.footer-bottom a{
  text-decoration:underline;
  text-underline-offset:.16em;
}

/* Readable body copy on cream */
.ebf-home,
.ebf-hero__sub,
.ebf-disc__head p,
.ebf-disc__prefer{
  color:#3F3A33;
}
.ebf-hero__benefits small{
  color:#4A453C;
}

/* ------------------------------------------------------------------
   Contrast on the dark home-page bands (S34)

   Two surfaces need two corals. --brand is #C4400E, which is 5.14:1 on
   white but only 3.49:1 on the navy bands; the lighter #F0531C is the
   exact reverse at 3.52:1 and 5.08:1. So the navy bands get the lighter
   coral and everything on white keeps the darker one. Both measured
   against the rendered background, not chosen by eye.

   The home page loads only this stylesheet, so the equivalent rules in
   brand-unify.css never reach it — these have to live here.
   ------------------------------------------------------------------ */
.ebf-pick,
.ebf-jrny,
.ebf-airx,
.ebf-corp,
.ebf-omw--dark,
.ebf-airports__card.is-featured{ --brand-on-dark:#F0531C; }

body.theme-studio .ebf-pick .ebf-text-link,
body.theme-studio .ebf-pick__aside .ebf-text-link,
body.theme-studio .ebf-pick a.ebf-pick__phone,
body.theme-studio .ebf-pick p.ebf-pick__price,
body.theme-studio .ebf-jrny .eyebrow,
body.theme-studio .ebf-airx .ebf-text-link,
body.theme-studio .ebf-omw--dark .ebf-text-link,
body.theme-studio .ebf-corp .ebf-corp__quote cite,
body.theme-studio .ebf-airports__card.is-featured .ebf-airports__code,
body.theme-studio .ebf-airports__card.is-featured .ebf-airports__go{
  color:var(--brand-on-dark,#F0531C)!important;
}

/* The cabin chip's coral label on its own pale coral fill is 4.29:1. */
body.theme-studio .pax-cabins label,
.pax-cabins label{ color:#BE3D0C; }

/* ==========================================================================
   Mobile fixes (S44)

   From phone screenshots at 375px. Each rule below answers a measured
   number, not an impression.
   ========================================================================== */

@media (max-width:480px){
  /* The header row is logo + "Talk to an Expert" + burger. Measured at 375px
     the controls alone were 199px inside a 345px container, so the burger sat
     10px past the viewport and the whole page scrolled sideways. The logo and
     the CTA both give a little; nothing is hidden. */
  .header .container.nav{gap:.5rem;min-width:0}
  .nav-right{min-width:0;flex-shrink:1}
  .nav-right .nav-cta{
    padding-inline:.8rem;
    font-size:.78rem;
    white-space:nowrap;
  }
  .header .brand-logo,
  img.brand-logo{max-width:42vw;height:auto}
}

/* A CTA must never be wider than the card holding it. The cabin cards were
   164px with a 212px button inside, so "Explore Business Class" was cut off
   mid-word. This is a floor under the grid fix rather than a substitute for
   it: even at a width nobody planned for, the button stays inside. */
.ebf-cabins__card .btn,
.ebf-cabins__card a[class*="btn"],
.ebf-cabins__card a[class*="cta"]{
  max-width:100%;
  box-sizing:border-box;
  white-space:normal;
  text-align:center;
}

@media (max-width:720px){
  /* One column, so the cards get the full width and the list stops wrapping
     to one word per line ("A more / premium / overall / experience"). */
  .ebf-cabins__card{width:100%}
  .ebf-cabins__card ul li{overflow-wrap:break-word}
}

/* The floating WhatsApp and chat buttons are fixed to the bottom corners and
   were sitting on top of body copy — "…what matters to you…" was half hidden
   behind the WhatsApp bubble. Give every page enough tail room to scroll the
   last line clear of them. */
@media (max-width:768px){
  body{padding-bottom:5.5rem}
}

/* --------------------------------------------------------------------------
   Coverflow carousels on phones (S44)

   .ebf-omw slides are 82vw below 900px, and the track centres the active one.
   At 375px that leaves each neighbour sticking 116-157px into view — about
   half a card, with its sentences sliced mid-word and star ratings cut in
   half. Measured, not guessed: "excellent support when comparing business
   class flights" arrived as "lent support when / aring business class".

   A peek is the intent, so the peek stays — but as a deliberate sliver rather
   than half a card of unreadable text. The slide takes almost the full width
   and the neighbours recede, which also keeps the carousel's own JS and its
   prev/next arrows working, unlike hiding the side slides outright.
   -------------------------------------------------------------------------- */
@media (max-width:560px){
  .ebf-omw-slide{flex-basis:90vw;padding:0 4px}
  .ebf-omw-slide.is-side{transform:scale(.94);opacity:.4}

  /* Nothing in a half-visible card should invite reading. */
  .ebf-omw-slide.is-side .ebf-omw-cin,
  .ebf-omw-slide.is-side .ebf-omw-quote{opacity:.5}

  /* The badge sat on the card's right edge and was the first thing clipped. */
  .ebf-omw-card .ebf-omw-cs{right:auto;left:10px}
}

/* ==========================================================================
   "At a glance" panel (S45)

   The homepage loads only home-critical.css, so the styling this component has
   in authority-clean.css never arrived: the card computed to padding:0, and the
   label, the answer and every fact all rendered at 17px/400. Four visually
   identical blocks of text touching the edges of a white box — which is why it
   read as unfinished rather than as a summary.

   It now has the hierarchy the content already implies: a quiet label, one
   readable answer, and the facts as a scannable list rather than loose lines.
   ========================================================================== */

.ebf-home .tbf-qa-card{
  padding:1.6rem 1.75rem 1.5rem;
}

.ebf-home .tbf-qa-label{
  margin:0 0 .55rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#C4400E;
}

.ebf-home .tbf-qa-answer{
  margin:0 0 1.15rem;
  font-size:1.02rem;
  line-height:1.65;
  color:#14202B;
  max-width:62ch;
}

/* The facts are four short, independent statements — a two-column grid reads
   them in half the vertical space and stops them looking like a paragraph that
   lost its punctuation. */
.ebf-home .tbf-qa-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem 1.5rem;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(20,32,43,.10);
  padding-top:1.15rem;
}

.ebf-home .tbf-qa-facts li{
  position:relative;
  padding-left:1.5rem;
  font-size:.94rem;
  line-height:1.5;
  font-weight:500;
  color:#14202B;
}

/* A tick, drawn rather than loaded: these are things the site does, and a
   marker makes them scannable where a bare line does not. */
.ebf-home .tbf-qa-facts li::before{
  content:"";
  position:absolute;
  left:0;
  top:.38em;
  width:.7rem;
  height:.38rem;
  border-left:2px solid #C4400E;
  border-bottom:2px solid #C4400E;
  transform:rotate(-45deg);
}

.ebf-home .tbf-qa-note{
  margin:1.1rem 0 0;
  font-size:.88rem;
  color:#616E83;
}

@media (max-width:640px){
  .ebf-home .tbf-qa-card{padding:1.25rem 1.15rem}
  .ebf-home .tbf-qa-facts{grid-template-columns:1fr;gap:.5rem}
}
