:root{
  --cream:#FFF9F1;
  --panel:#FFFFFF;
  --ink:#1E2A28;
  --ink-soft:#5F6E6A;
  --coral:#FF6B4A;
  --coral-deep:#E8532F;
  --teal:#0B3D3A;
  --teal-soft:#E4EFEC;
  --yellow:#FFC857;
  --yellow-soft:#FFF3D8;
  --sky:#4FA8D8;
  --sky-soft:#E6F3FA;
  --line:#EBE0D4;
  --disp:'Bricolage Grotesque', sans-serif;
  --sans:'Inter', sans-serif;
  --radius:24px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{font-family:var(--disp);margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- Header ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(255,249,241,0.92);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease;}
header.scrolled{border-bottom-color:var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;}
.logo{display:flex;align-items:center;}
.logo-img{height:56px;width:auto;display:block;max-width:none;}
@media (max-width:500px){ .logo-img{height:42px;} }
nav.links{display:flex;gap:30px;align-items:center;}
nav.links a{font-size:0.94rem;font-weight:500;color:var(--ink-soft);transition:color .15s;}
nav.links a:not(.cta-btn):hover{color:var(--ink);}
.cta-btn{background:var(--teal);color:var(--cream) !important;padding:11px 22px;border-radius:999px;font-weight:600;font-size:0.9rem;transition:transform .18s, background .18s;}
.cta-btn:hover{background:var(--ink);transform:translateY(-2px);}
.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--ink);}
@media (max-width:900px){
  nav.links{position:fixed;inset:66px 0 auto 0;background:var(--panel);flex-direction:column;align-items:flex-start;gap:0;padding:8px 28px 20px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .25s ease;}
  nav.links.open{transform:translateY(0);}
  nav.links a{padding:13px 0;width:100%;border-bottom:1px solid var(--line);}
  nav.links .cta-btn{margin-top:14px;display:inline-block;text-align:center;}
  .menu-toggle{display:block;}
}

/* ---------- Hero ---------- */
.hero{padding:70px 0 40px;position:relative;}
.hero-inner{display:grid;grid-template-columns:1.05fr 0.95fr;gap:50px;align-items:center;}
@media (max-width:980px){ .hero-inner{grid-template-columns:1fr;} }

.hero h1{font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:0.98;font-weight:700;letter-spacing:-0.03em;margin-bottom:22px;}
.hero h1 .line2{display:block;color:var(--coral);}
.hero p.lead{font-size:1.1rem;color:var(--ink-soft);max-width:46ch;line-height:1.6;margin:0 0 30px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px;}
.btn-primary{background:var(--coral);color:#fff;padding:16px 30px;border-radius:999px;font-weight:700;font-size:1rem;border:none;cursor:pointer;box-shadow:0 14px 28px -10px rgba(255,107,74,0.55);transition:transform .18s, box-shadow .18s;position:relative;overflow:hidden;isolation:isolate;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 34px -10px rgba(255,107,74,0.65);}
.btn-primary::before{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.4),transparent);transform:skewX(-20deg);transition:left .6s ease;z-index:1;}
.btn-primary:hover::before{left:125%;}
@media (prefers-reduced-motion: reduce){ .btn-primary::before{display:none;} }
.btn-text{padding:16px 6px;font-weight:600;font-size:1rem;color:var(--ink);border-bottom:2px solid var(--ink);transition:color .18s, border-color .18s;}
.btn-text:hover{color:var(--coral);border-color:var(--coral);}
.trust-row{display:flex;gap:24px;flex-wrap:wrap;}
.trust-item{font-size:0.86rem;color:var(--ink-soft);font-weight:500;opacity:0;transform:translateY(10px);animation:trustFadeIn .5s ease forwards;}
.trust-item:nth-child(1){animation-delay:.5s;}
.trust-item:nth-child(2){animation-delay:.62s;}
.trust-item:nth-child(3){animation-delay:.74s;}
@keyframes trustFadeIn{to{opacity:1;transform:translateY(0);}}
.trust-item b{color:var(--ink);transition:color .2s ease;}
.trust-item:hover b{color:var(--coral);}
@media (prefers-reduced-motion: reduce){ .trust-item{animation:none;opacity:1;transform:none;} }

/* Hero visual: stamp + ticket card composition */
.hero-visual{position:relative;height:400px;}
.stamp{
  position:absolute;top:-14px;right:20px;width:132px;height:132px;
  border:3px solid var(--teal);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transform:rotate(-14deg);color:var(--teal);
  font-family:var(--disp);font-weight:700;text-align:center;
  background:var(--cream);z-index:3;
}
.stamp::before{content:"";position:absolute;inset:8px;border:1.5px dashed var(--teal);border-radius:50%;}
.stamp-text{font-size:0.72rem;line-height:1.3;letter-spacing:0.02em;}
.stamp-text .big{display:block;font-size:1.05rem;}

.hero-card{
  position:absolute;left:0;top:60px;width:78%;
  background:var(--panel);border-radius:var(--radius);
  padding:28px 26px;box-shadow:0 30px 60px -24px rgba(30,42,40,0.28);
  z-index:2;
}
.hero-card .hc-route{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.hero-card .hc-code{font-family:var(--disp);font-weight:700;font-size:1.9rem;}
.hero-card .hc-city{font-size:0.7rem;color:var(--ink-soft);display:block;margin-top:2px;}
.hero-card .hc-plane{width:34px;height:34px;border-radius:50%;background:var(--sky-soft);display:flex;align-items:center;justify-content:center;color:var(--sky);font-size:1rem;}
.hero-card .hc-meta{display:flex;gap:20px;border-top:1px dashed var(--line);padding-top:16px;}
.hero-card .hc-meta div{flex:1;}
.hero-card .hc-meta .k{display:block;font-size:0.62rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:3px;}
.hero-card .hc-meta .v{font-weight:700;font-size:0.86rem;}

.hero-blob{
  position:absolute;bottom:-10px;right:0;width:210px;height:210px;
  background:var(--yellow);border-radius:44% 56% 62% 38% / 48% 42% 58% 52%;
  z-index:1;opacity:0.55;
  animation:blobFloat1 9s ease-in-out infinite;
}
.hero-blob2{
  position:absolute;bottom:40px;right:100px;width:120px;height:120px;
  background:var(--sky);border-radius:58% 42% 38% 62% / 52% 58% 42% 48%;
  z-index:1;opacity:0.35;
  animation:blobFloat2 7s ease-in-out infinite;
}
@keyframes blobFloat1{
  0%, 100%{transform:translate(0,0) scale(1);border-radius:44% 56% 62% 38% / 48% 42% 58% 52%;}
  50%{transform:translate(-10px,-16px) scale(1.05);border-radius:52% 48% 40% 60% / 42% 56% 44% 58%;}
}
@keyframes blobFloat2{
  0%, 100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(12px,10px) scale(0.95);}
}

/* Hero ticket card: gentle float + entrance, plane icon drifts across its badge */
.hero-card{animation:cardEnter .7s cubic-bezier(.22,1,.36,1) both, cardFloat 6s ease-in-out .7s infinite;}
@keyframes cardFloat{
  0%, 100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}
@keyframes cardEnter{
  from{opacity:0;transform:translateY(24px) scale(.97);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
.hero-card .hc-plane{animation:planeDrift 3.2s ease-in-out infinite;}
@keyframes planeDrift{
  0%, 100%{transform:translateX(0);}
  50%{transform:translateX(4px);}
}

.stamp{animation:stampDrop .6s cubic-bezier(.34,1.56,.64,1) .3s both, stampWobble 5s ease-in-out 1s infinite;}
@keyframes stampDrop{
  from{opacity:0;transform:rotate(-14deg) scale(0.4);}
  to{opacity:1;transform:rotate(-14deg) scale(1);}
}
@keyframes stampWobble{
  0%, 100%{transform:rotate(-14deg);}
  50%{transform:rotate(-9deg);}
}
@media (prefers-reduced-motion: reduce){
  .hero-blob, .hero-blob2, .hero-card, .hero-card .hc-plane, .stamp{animation:none;}
}

/* Marquee strip */
.strip{overflow:hidden;background:var(--teal);padding:16px 0;}
.strip-track{display:flex;white-space:nowrap;animation:scrollStrip 26s linear infinite;width:max-content;}
@keyframes scrollStrip{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.strip-track span{color:var(--cream);font-family:var(--disp);font-weight:600;font-size:1.1rem;padding:0 30px;display:flex;align-items:center;gap:30px;}
.strip-track span::after{content:"✦";color:var(--yellow);}

/* ---------- Section shell ---------- */
section{padding:88px 0;}
.kicker{font-size:0.84rem;font-weight:700;color:var(--coral);margin-bottom:14px;}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;letter-spacing:-0.02em;margin-bottom:14px;line-height:1.08;}
.section-head p{color:var(--ink-soft);font-size:1.05rem;line-height:1.6;margin:0;max-width:56ch;}

/* How it works */
.steps{display:flex;flex-direction:column;}
.step-row{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:34px 0;border-top:1px solid var(--line);align-items:start;transition:padding-left .25s ease;}
.step-row:first-child{border-top:none;}
.step-row:hover{padding-left:6px;}
.step-num{font-family:var(--disp);font-size:3rem;font-weight:800;color:var(--yellow);line-height:1;display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1), color .25s ease;}
.step-row:hover .step-num{transform:scale(1.15) rotate(-4deg);color:var(--coral);}
.step-row h3{font-size:1.24rem;font-weight:700;margin-bottom:8px;}
.step-row p{color:var(--ink-soft);font-size:0.98rem;line-height:1.6;margin:0;max-width:52ch;}
@media (max-width:640px){ .step-row{grid-template-columns:60px 1fr;} .step-num{font-size:2rem;} }

/* Why us */
.feature-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.feature-wall .tile{grid-column:span 3;border-radius:var(--radius);padding:32px;position:relative;overflow:hidden;transition:transform .25s ease;}
.feature-wall .tile:hover{transform:translateY(-6px);}
.feature-wall .tile.wide{grid-column:span 6;display:flex;align-items:center;gap:30px;}
@media (max-width:820px){ .feature-wall{grid-template-columns:1fr 1fr;} .feature-wall .tile{grid-column:span 1;} .feature-wall .tile.wide{grid-column:span 2;flex-direction:column;align-items:flex-start;} }
@media (max-width:560px){ .feature-wall{grid-template-columns:1fr;} .feature-wall .tile, .feature-wall .tile.wide{grid-column:span 1;} }
.tile h3{font-size:1.2rem;font-weight:700;margin:16px 0 10px;}
.tile p{font-size:0.94rem;line-height:1.6;margin:0;color:var(--ink-soft);}
.tile .t-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;}
.t-1{background:var(--teal-soft);}
.t-1 .t-icon{background:var(--teal);color:var(--cream);}
.t-2{background:var(--yellow-soft);}
.t-2 .t-icon{background:var(--yellow);}
.t-3{background:var(--sky-soft);}
.t-3 .t-icon{background:var(--sky);color:#fff;}
.t-4{background:#FFE4DC;}
.t-4 .t-icon{background:var(--coral);color:#fff;}
.t-5{background:var(--teal);color:var(--cream);}
.t-5 p{color:#B9D3CE;}
.t-5 .t-icon{background:rgba(255,249,241,0.15);}

/* Pricing */
.price-row{display:flex;gap:20px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;}
.price-row::-webkit-scrollbar{height:6px;}
.price-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;}
.price-card{
  flex:0 0 240px;scroll-snap-align:start;background:var(--panel);border-radius:20px;
  padding:26px 22px;position:relative;box-shadow:0 16px 34px -22px rgba(30,42,40,0.25);
  border:2px solid transparent;transition:border-color .2s, transform .2s;
}
.price-card:hover{transform:translateY(-5px);}
.price-card.popular{border-color:var(--coral);}
.price-card .p-badge{position:absolute;top:-12px;left:20px;background:var(--coral);color:#fff;font-size:0.62rem;font-weight:700;padding:4px 10px;border-radius:999px;animation:badgePulse 2.4s ease-in-out infinite;}
@keyframes badgePulse{
  0%, 100%{box-shadow:0 0 0 0 rgba(255,107,74,0.55);}
  50%{box-shadow:0 0 0 7px rgba(255,107,74,0);}
}
@media (prefers-reduced-motion: reduce){ .price-card .p-badge{animation:none;} }
.price-card .p-notch{position:absolute;width:20px;height:20px;background:var(--cream);border-radius:50%;left:50%;transform:translateX(-50%);}
.price-card .p-notch.top{top:-11px;}
.price-card .p-notch.bottom{bottom:66px;}
.price-card h3{font-size:1rem;font-weight:700;margin-bottom:6px;}
.price-card .p-amt{font-family:var(--disp);font-size:2.1rem;font-weight:800;color:var(--coral-deep);margin-bottom:14px;}
.price-card .p-amt span{font-family:var(--sans);font-size:0.7rem;font-weight:500;color:var(--ink-soft);}
.price-card ul{list-style:none;margin:0 0 20px;padding:14px 0 0;border-top:1.5px dashed var(--line);display:flex;flex-direction:column;gap:9px;}
.price-card li{font-size:0.82rem;color:var(--ink-soft);}
.price-card li::before{content:"● ";color:var(--coral);font-size:0.6rem;}
.price-card a.p-cta{display:block;text-align:center;background:var(--teal-soft);color:var(--teal);padding:11px;border-radius:999px;font-weight:700;font-size:0.86rem;transition:background .2s, color .2s;}
.price-card:hover a.p-cta{background:var(--teal);color:var(--cream);}
.price-card.popular a.p-cta{background:var(--coral);color:#fff;}

/* Destinations */
.dest-row{display:flex;gap:18px;overflow-x:auto;padding-bottom:12px;}
.dest-row::-webkit-scrollbar{height:6px;}
.dest-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;}
.dest-tile{border-radius:20px;padding:22px;color:#fff;position:relative;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;}
.dest-tile .d-route{font-family:var(--disp);font-weight:700;font-size:1.3rem;}
.dest-tile .d-cities{font-size:0.78rem;opacity:0.92;margin-top:4px;}
.dest-tile .d-price{align-self:flex-end;background:rgba(255,255,255,0.22);backdrop-filter:blur(4px);padding:6px 14px;border-radius:999px;font-weight:700;font-size:0.86rem;}
.dd-1{background:linear-gradient(150deg,var(--coral),var(--coral-deep));}
.dd-2{background:linear-gradient(150deg,var(--teal),#082A28);}
.dd-3{background:linear-gradient(150deg,var(--sky),#2E7AAE);}
.dd-4{background:linear-gradient(150deg,#E0A83A,var(--yellow));}

/* Testimonials */
.testi-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media (max-width:820px){ .testi-wrap{grid-template-columns:1fr;} }
.testi-card{background:var(--panel);border-radius:var(--radius);padding:30px;}
.testi-card.featured{background:var(--teal);color:var(--cream);grid-row:span 2;}
.testi-card.featured p{color:var(--cream);font-size:1.35rem;}
.testi-card.featured .attr{color:#9FC2BC;}
.testi-card p{font-family:var(--disp);font-size:1.1rem;font-weight:600;line-height:1.4;margin:0 0 18px;}
.testi-card .attr{font-size:0.84rem;color:var(--ink-soft);font-weight:500;}
.testi-card .attr b{color:var(--ink);}
@media (max-width:820px){ .testi-card.featured{grid-row:span 1;} }

/* FAQ */
.faq{max-width:740px;}
.faq-item{border-bottom:1px solid var(--line);transition:background .25s ease;border-radius:14px;}
.faq-item.open{background:var(--panel);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:20px 14px;font-weight:700;font-size:1.05rem;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--disp);border-radius:14px;transition:color .2s ease;}
.faq-q:hover{color:var(--coral);}
.faq-q .plus{flex:none;width:30px;height:30px;border-radius:50%;background:var(--yellow-soft);color:var(--coral-deep);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-family:var(--sans);font-weight:700;transition:transform .4s cubic-bezier(.34,1.56,.64,1), background .25s ease, color .25s ease;}
.faq-item.open .plus{transform:rotate(135deg);background:var(--coral);color:#fff;}
.faq-a{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s cubic-bezier(.22,1,.36,1), opacity .3s ease;}
.faq-item.open .faq-a{opacity:1;}
.faq-a p{margin:0 14px 22px;color:var(--ink-soft);font-size:0.98rem;line-height:1.65;}

/* CTA banner */
.cta-banner{background:var(--teal);border-radius:32px;padding:64px 48px;text-align:center;color:var(--cream);position:relative;overflow:hidden;}
.cta-banner::before{content:"";position:absolute;top:-60px;right:-40px;width:220px;height:220px;background:var(--coral);border-radius:50%;opacity:0.25;filter:blur(30px);}
.cta-banner::after{content:"";position:absolute;bottom:-70px;left:-30px;width:200px;height:200px;background:var(--yellow);border-radius:50%;opacity:0.2;filter:blur(30px);}
.cta-banner > *{position:relative;z-index:1;}
.cta-banner h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0 0 16px;font-weight:700;letter-spacing:-0.02em;}
.cta-banner p{margin:0 0 30px;opacity:0.85;font-size:1.05rem;}
.cta-banner .btn-primary{background:var(--cream);color:var(--teal);box-shadow:none;}

/* ===== Booking section: minimal search-bar style ===== */
.booking-section{background:var(--panel);position:relative;overflow:hidden;}
.booking-section::before{
  content:"";position:absolute;top:-80px;left:-60px;width:220px;height:220px;
  background:var(--yellow);border-radius:44% 56% 62% 38% / 48% 42% 58% 52%;
  opacity:0.2;z-index:0;
}
.booking-section::after{
  content:"";position:absolute;bottom:-100px;right:-70px;width:260px;height:260px;
  background:var(--sky);border-radius:58% 42% 38% 62% / 52% 58% 42% 48%;
  opacity:0.14;z-index:0;
}
.booking-section .wrap{position:relative;z-index:1;}

/* ---- Search strip (compact, tool-like) ---- */
.search-strip{background:var(--cream);border:1.5px solid var(--line);border-radius:20px;padding:18px 20px 20px;box-shadow:0 16px 40px -22px rgba(30,42,40,0.3);}

.search-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap;}

.svc-pills{display:flex;gap:6px;flex-wrap:wrap;}
.svc-pill{padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--panel);font-size:0.8rem;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:border-color .15s, background .15s, color .15s;}
.svc-pill input{display:none;}
.svc-pill.active{background:var(--coral);border-color:var(--coral);color:#fff;}

.trip-pills{display:flex;gap:4px;background:var(--panel);border:1.5px solid var(--line);border-radius:999px;padding:4px;}
.trip-pill{padding:7px 14px;border-radius:999px;font-size:0.78rem;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:background .15s, color .15s;}
.trip-pill input{display:none;}
.trip-pill.active{background:var(--teal);color:var(--cream);}

/* Single inline search bar */
.search-bar{display:flex;align-items:end;gap:0;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;padding:6px;}
@media (max-width:900px){ .search-bar{flex-wrap:wrap;gap:10px;padding:14px;} }

.search-cell{display:flex;flex-direction:column;gap:4px;padding:8px 14px;position:relative;}
.search-cell:not(:last-child)::after{content:"";position:absolute;right:0;top:12px;bottom:12px;width:1px;background:var(--line);}
.search-cell.grow{flex:1.3;min-width:140px;}
.search-cell.narrow{flex:0 0 auto;min-width:76px;}
@media (max-width:900px){
  .search-cell{flex:1 1 45%;padding:0;}
  .search-cell::after{display:none;}
  .search-cell.grow{flex:1 1 100%;}
}
.search-cell label{font-size:0.66rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.04em;}
.search-cell input, .search-cell select{border:none;background:transparent;font-family:var(--sans);font-size:0.92rem;font-weight:600;color:var(--ink);padding:2px 0;width:100%;}
.search-cell input:focus, .search-cell select:focus{outline:none;}
.search-cell input::placeholder{color:#B7B2A0;font-weight:500;}
#returnDateField{display:none;}

.search-swap{flex:none;width:34px;height:34px;border-radius:50%;background:var(--cream);border:1.5px solid var(--line);cursor:pointer;font-size:0.9rem;color:var(--ink-soft);margin:0 -2px;transition:transform .3s, border-color .2s;align-self:center;}
.search-swap:hover{border-color:var(--coral);color:var(--coral);transform:rotate(180deg);}
@media (max-width:900px){ .search-swap{display:none;} }

.search-go{flex:none;background:var(--coral);color:#fff;border:none;border-radius:10px;padding:13px 26px;font-weight:800;font-size:0.9rem;cursor:pointer;transition:background .18s, transform .18s;margin-left:6px;}
.search-go:hover{background:var(--coral-deep);transform:translateY(-1px);}
@media (max-width:900px){ .search-go{width:100%;margin-left:0;} }

/* Multi-city compact rows within the strip */
.sector-row-compact{display:flex;align-items:center;gap:10px;background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:8px;}
@media (max-width:700px){ .sector-row-compact{flex-wrap:wrap;} }
.sector-tag{flex:none;width:24px;height:24px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:0.74rem;font-weight:800;display:flex;align-items:center;justify-content:center;}
.sector-row-compact input{flex:1;min-width:110px;border:none;background:transparent;font-size:0.88rem;font-weight:600;color:var(--ink);padding:6px 0;}
.sector-row-compact input:focus{outline:none;}
.sector-row-compact input[type="date"]{flex:0 0 140px;}
.sector-spacer{width:30px;flex:none;}
.mc-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;flex-wrap:wrap;}
.mc-bottom-row .search-go{margin-left:0;}

.sector-remove{background:#FFE4DC;color:var(--coral-deep);border:none;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;flex:none;transition:background .15s, color .15s;}
.sector-remove:hover{background:var(--coral);color:#fff;}
.add-sector-btn{display:inline-flex;align-items:center;gap:6px;background:var(--yellow-soft);border:1.5px dashed var(--yellow);color:var(--coral-deep);font-weight:700;font-size:0.84rem;padding:10px 18px;border-radius:999px;cursor:pointer;transition:background .2s;}
.add-sector-btn:hover{background:var(--yellow);}
.add-sector-btn:disabled{opacity:0.4;cursor:not-allowed;}

/* ---- Progressive reveal: passenger/contact/summary ---- */
.details-reveal{max-height:0;overflow:hidden;opacity:0;transition:max-height .5s cubic-bezier(.2,.8,.3,1), opacity .4s ease;}
.details-reveal.open{max-height:2400px;opacity:1;margin-top:26px;}

.details-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start;}
@media (max-width:860px){ .details-grid{grid-template-columns:1fr;} }

.details-card{background:var(--cream);border:1.5px solid var(--line);border-radius:20px;padding:26px;}
.details-card h3{font-size:1.05rem;font-weight:700;margin:0 0 18px;}
.details-summary{background:var(--teal);color:var(--cream);border:none;position:sticky;top:100px;}
@media (max-width:860px){ .details-summary{position:static;} }
.details-summary h3{color:var(--cream);}

.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){ .field-grid{grid-template-columns:1fr;} }
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field label{font-size:0.78rem;font-weight:700;color:var(--ink-soft);}
.field input, .field select{padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);font-size:0.95rem;font-family:var(--sans);color:var(--ink);background:var(--panel);width:100%;transition:border-color .15s, box-shadow .15s;}
.field input:focus, .field select:focus{border-color:var(--coral);outline:none;box-shadow:0 0 0 3px rgba(255,107,74,0.12);}

.wizard-note{font-size:0.82rem;color:var(--ink-soft);text-align:center;line-height:1.6;}
.details-summary .wizard-note{color:#9FC2BC;}

/* Passenger cards */
.passenger-card{border:1.5px solid var(--line);background:var(--panel);border-radius:16px;padding:18px;margin-bottom:14px;}
.passenger-card h4{font-size:0.9rem;font-weight:800;margin:0 0 12px;color:var(--coral-deep);font-family:var(--disp);}
.pcard-grid{display:grid;grid-template-columns:0.7fr 1.3fr 1.3fr;gap:12px;}
@media (max-width:640px){ .pcard-grid{grid-template-columns:1fr 1fr;} .pcard-grid .field:first-child{grid-column:1/-1;} }
.remove-passenger{background:none;border:none;color:var(--coral-deep);font-size:0.8rem;font-weight:700;cursor:pointer;float:right;}

/* Summary rows inside details-summary */
.fsc-rows{margin-bottom:18px;}
.fsc-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(255,249,241,0.2);font-size:0.86rem;}
.fsc-row:last-child{border-bottom:none;}
.fsc-row span{color:#9FC2BC;flex:none;}
.fsc-row b{font-weight:700;text-align:right;word-break:break-word;}

#flowFormMsg .form-success{background:rgba(255,249,241,0.16);color:var(--cream);padding:12px 16px;border-radius:12px;font-weight:700;font-size:0.85rem;margin-bottom:14px;}
#flowFormMsg .form-error{background:rgba(255,107,74,0.24);color:#fff;padding:12px 16px;border-radius:12px;font-weight:700;font-size:0.85rem;margin-bottom:14px;}

/* Autosuggest dropdown for city/airport and country fields */
.ac-wrap{position:relative;flex:1;min-width:0;}
.search-cell.ac-wrap{padding:8px 14px;}
.sector-row-compact .ac-wrap{display:flex;flex-direction:column;}
.ac-wrap input{width:100%;}
.ac-suggestions{
  display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;
  background:var(--panel);border:1.5px solid var(--line);border-radius:12px;
  box-shadow:0 16px 32px -14px rgba(30,42,40,0.35);
  max-height:240px;overflow-y:auto;list-style:none;margin:0;padding:6px;
}
.ac-suggestions.open{display:block;}
.ac-suggestions li{padding:9px 12px;border-radius:8px;font-size:0.86rem;color:var(--ink);cursor:pointer;line-height:1.4;}
.ac-suggestions li:hover, .ac-suggestions li.active{background:var(--coral);color:#fff;}

footer{background:var(--ink);color:#9FA8A5;padding:56px 0 26px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px;}
@media (max-width:800px){ .foot-grid{grid-template-columns:1fr 1fr;} }
.foot-grid h4{color:var(--cream);font-size:0.88rem;margin:0 0 14px;font-weight:700;}
.foot-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.foot-grid a{font-size:0.86rem;}
.foot-grid a:hover{color:var(--cream);}
.foot-logo{margin-bottom:14px;}
.foot-logo .logo-img{height:38px;width:auto;display:block;max-width:none;}
@media (max-width:500px){ .foot-logo .logo-img{height:46px;} }
.foot-brand p{font-size:0.86rem;line-height:1.6;max-width:280px;}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:0.8rem;color:#6E7876;}

/* Simple static pages (terms/privacy/refund) */
.legal-page{padding:60px 0;max-width:760px;margin:0 auto;}
.legal-page h1{font-size:2rem;margin-bottom:20px;}
.legal-page h2{font-size:1.2rem;margin:30px 0 10px;}
.legal-page p, .legal-page li{color:var(--ink-soft);line-height:1.7;font-size:0.96rem;}


/* ===== SEO / accessibility / UX additions ===== */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--teal);color:var(--cream);padding:10px 18px;border-radius:999px;font-weight:700;font-size:0.9rem;}
.skip-link:focus{left:16px;}
section[id]{scroll-margin-top:84px;}

/* Dummy ticket guide (explainer + visa destinations) */
#dummy-ticket-guide{background:var(--sky-soft);}
/* ---- Tutorial video (lite facade: real iframe only loads after a tap) ---- */
#tutorial-video{background:var(--panel);}
.video-frame{max-width:860px;margin:0 auto;}
.video-facade{
  position:relative;display:block;width:100%;aspect-ratio:16/9;border:none;padding:0;margin:0;
  border-radius:24px;overflow:hidden;cursor:pointer;background:var(--ink);
  box-shadow:0 30px 60px -24px rgba(30,42,40,0.4);
}
.video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.9;transition:opacity .25s ease, transform .4s ease;}
.video-facade:hover .video-thumb{opacity:1;transform:scale(1.03);}
.video-facade::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center, rgba(11,61,58,0.05), rgba(11,61,58,0.45));}
.video-play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:86px;height:86px;border-radius:50%;background:rgba(255,255,255,0.95);
  display:flex;align-items:center;justify-content:center;z-index:1;
  box-shadow:0 14px 30px -8px rgba(0,0,0,0.5);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .25s ease;
}
.video-play-btn svg{width:30px;height:auto;margin-left:4px;}
.video-facade:hover .video-play-btn{transform:translate(-50%,-50%) scale(1.1);background:#fff;}
.video-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.video-caption{text-align:center;color:var(--ink-soft);font-size:0.9rem;font-weight:600;margin:16px 0 0;}

.explain-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start;}
@media (max-width:900px){ .explain-grid{grid-template-columns:1fr;gap:28px;} }
.explain-lead h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;letter-spacing:-0.02em;line-height:1.1;margin-bottom:16px;}
.explain-lead p{color:var(--ink-soft);font-size:1.02rem;line-height:1.7;margin:0;max-width:56ch;}
.explain-points{display:flex;flex-direction:column;gap:14px;}
.explain-point{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px 22px;}
.explain-point:nth-child(1){border-left:5px solid var(--coral);}
.explain-point:nth-child(2){border-left:5px solid var(--teal);}
.explain-point:nth-child(3){border-left:5px solid var(--yellow);}
.explain-point h3{font-size:1.02rem;font-weight:700;margin:0 0 6px;}
.explain-point p{color:var(--ink-soft);font-size:0.94rem;line-height:1.6;margin:0;}
.visa-heading{font-family:var(--sans);font-size:0.92rem;font-weight:600;color:var(--ink-soft);margin:44px 0 14px;}
.visa-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
.visa-chips li{padding:9px 16px;border-radius:999px;background:var(--panel);border:1.5px solid var(--yellow);font-size:0.86rem;font-weight:700;color:var(--ink);}

/* Route tiles are now links that pre-fill the booking form */
.dest-row{padding-top:8px;}
a.dest-tile{text-decoration:none;color:#fff;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease;}
a.dest-tile:hover{transform:translateY(-5px);box-shadow:0 18px 30px -16px rgba(30,42,40,0.45);}

/* ---- Pricing card actions + "Details" trigger ---- */
.p-actions{display:flex;gap:8px;align-items:center;}
.p-actions .p-cta{flex:1;}
.p-details-btn{flex:none;background:none;border:1.5px solid var(--line);color:var(--ink-soft);font-weight:700;font-size:0.78rem;padding:11px 14px;border-radius:999px;cursor:pointer;transition:border-color .18s, color .18s, background .18s;}
.p-details-btn:hover{border-color:var(--coral);color:var(--coral-deep);background:var(--yellow-soft);}

/* ---- Detail modal (pricing "Details") ---- */
.detail-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;}
.detail-modal[hidden]{display:none;}
.detail-modal-backdrop{position:absolute;inset:0;background:rgba(30,42,40,0.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease;}
.detail-modal.is-open .detail-modal-backdrop{opacity:1;}
.detail-modal-card{
  position:relative;background:var(--cream);border-radius:28px;max-width:440px;width:100%;
  padding:34px 30px 30px;box-shadow:0 40px 80px -20px rgba(30,42,40,0.5);
  opacity:0;transform:translateY(24px) scale(.96);
  transition:opacity .35s cubic-bezier(.22,1,.36,1), transform .35s cubic-bezier(.22,1,.36,1);
  max-height:88vh;overflow-y:auto;
}
.detail-modal.is-open .detail-modal-card{opacity:1;transform:translateY(0) scale(1);}
.detail-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:var(--panel);border:1.5px solid var(--line);font-size:1.2rem;line-height:1;color:var(--ink-soft);cursor:pointer;transition:background .18s, color .18s, transform .18s;}
.detail-modal-close:hover{background:var(--coral);color:#fff;border-color:var(--coral);transform:rotate(90deg);}
.detail-modal-amt{font-family:var(--disp);font-weight:700;font-size:1.15rem;color:var(--ink-soft);display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;}
.detail-modal-amt span{font-size:1.9rem;color:var(--coral-deep);font-weight:800;}
.detail-modal-card h3{font-size:1rem;font-weight:700;margin:18px 0 10px;color:var(--teal);}
.detail-modal-body{color:var(--ink-soft);font-size:0.94rem;line-height:1.7;margin:0 0 18px;}
.detail-modal-list{list-style:none;margin:0 0 24px;padding:16px 0 0;border-top:1.5px dashed var(--line);display:flex;flex-direction:column;gap:9px;}
.detail-modal-list li{font-size:0.88rem;color:var(--ink);}
.detail-modal-list li::before{content:"✓ ";color:var(--coral);font-weight:700;}
body.modal-open{overflow:hidden;}

/* ---- Destination "visa tip" tap-to-expand ---- */
.dest-tile-wrap{flex:0 0 230px;display:flex;flex-direction:column;}
.dest-tile-wrap .dest-tile{flex:none;}
.dest-tip-toggle{margin-top:10px;background:var(--panel);border:1.5px solid var(--line);color:var(--ink-soft);font-size:0.76rem;font-weight:700;padding:8px 12px;border-radius:999px;cursor:pointer;text-align:left;transition:border-color .18s, color .18s;}
.dest-tip-toggle:hover{border-color:var(--yellow);color:var(--coral-deep);}
.dest-tip-toggle[aria-expanded="true"]{border-color:var(--coral);color:var(--coral-deep);background:var(--yellow-soft);}
.dest-tip{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s cubic-bezier(.22,1,.36,1), opacity .3s ease, margin-top .35s ease;}
.dest-tip.is-open{max-height:220px;opacity:1;margin-top:8px;}
.dest-tip p{margin:0;background:var(--yellow-soft);border-left:3px solid var(--yellow);border-radius:10px;padding:12px 14px;font-size:0.82rem;line-height:1.6;color:var(--ink);}

/* Scroll-reveal: subtle fade-up as sections enter the viewport (see script.js) */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.8,.2,1), transform .6s cubic-bezier(.2,.8,.2,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-group > *{opacity:0;transform:translateY(22px);transition:opacity .55s cubic-bezier(.2,.8,.2,1), transform .55s cubic-bezier(.2,.8,.2,1);}
.reveal-group.is-visible > *{opacity:1;transform:translateY(0);}
.reveal-group.is-visible > *:nth-child(1){transition-delay:.02s;}
.reveal-group.is-visible > *:nth-child(2){transition-delay:.08s;}
.reveal-group.is-visible > *:nth-child(3){transition-delay:.14s;}
.reveal-group.is-visible > *:nth-child(4){transition-delay:.2s;}
.reveal-group.is-visible > *:nth-child(5){transition-delay:.26s;}
.reveal-group.is-visible > *:nth-child(6){transition-delay:.32s;}
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-group > *{opacity:1 !important;transform:none !important;transition:none !important;}
}

/* Horizontal-scroll hint fade edges (pricing + destinations rows) */
.scroll-fade{position:relative;}
.scroll-fade::after{content:"";position:absolute;top:0;right:0;bottom:12px;width:44px;background:linear-gradient(90deg,transparent,var(--cream));pointer-events:none;}
#pricing .scroll-fade::after{background:linear-gradient(90deg,transparent,var(--panel));}

/* Floating WhatsApp button (only rendered when WHATSAPP_NUMBER is set in config.php) */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:70;background:#0F7A4B;color:#fff;font-weight:700;font-size:0.9rem;padding:12px 18px;border-radius:999px;box-shadow:0 12px 26px -10px rgba(0,0,0,0.45);display:flex;align-items:center;gap:8px;transition:transform .18s;}
.wa-float:hover{transform:translateY(-3px);}
@media (max-width:560px){ .wa-float{right:12px;bottom:12px;padding:11px 16px;} }


/* ---- Hero flight path: dotted arc fades in, a small plane flies along it (SVG in index.php) ---- */
.flight-path{position:absolute;left:-4%;top:-8%;width:108%;height:72%;z-index:0;pointer-events:none;overflow:visible;}
.flight-path .fp-route{fill:none;stroke:var(--coral);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:2 10;opacity:0;animation:fpFade .8s ease .5s forwards;}
.flight-path .fp-plane{fill:var(--teal);}
.flight-path .fp-dot{fill:var(--coral);opacity:0;animation:fpFade .6s ease .6s forwards;}
@keyframes fpFade{to{opacity:.6;}}
@media (max-width:980px){ .flight-path{display:none;} }
@media (prefers-reduced-motion: reduce){ .flight-path .fp-route, .flight-path .fp-dot{animation:none;opacity:.5;} }

/* ---- Scroll progress bar (top of page) ---- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--coral),var(--yellow),var(--sky));z-index:120;pointer-events:none;}

/* ---- Back-to-top button ---- */
.to-top{position:fixed;left:18px;bottom:18px;z-index:70;width:46px;height:46px;border-radius:50%;border:none;background:var(--teal);color:var(--cream);font-size:1.2rem;cursor:pointer;box-shadow:0 12px 26px -10px rgba(0,0,0,0.45);opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .3s ease, transform .35s cubic-bezier(.34,1.56,.64,1), background .2s ease;}
.to-top.is-shown{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.to-top:hover{background:var(--coral);}
@media (max-width:560px){ .to-top{left:12px;bottom:12px;width:42px;height:42px;} }

/* ---- 3D tilt on pricing cards and route tiles (desktop pointer only; set by script.js) ---- */
.tilt-card{transform-style:preserve-3d;will-change:transform;}


/* ===== Live visuals (site-wide) ===== */

/* Hero: headline shimmer + mouse parallax (--px / --py are set by script.js) */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero h1 .line2{background:linear-gradient(90deg,var(--coral) 0%,#FF9A6C 40%,var(--coral) 80%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:lvShimmer 6s linear infinite;}
}
@keyframes lvShimmer{to{background-position:-220% 0;}}
.hero-blob{translate:calc(var(--px,0) * -18px) calc(var(--py,0) * -12px);transition:translate .3s ease-out;}
.hero-blob2{translate:calc(var(--px,0) * 28px) calc(var(--py,0) * 18px);transition:translate .3s ease-out;}
.hero-card{translate:calc(var(--px,0) * 10px) calc(var(--py,0) * 8px);transition:translate .3s ease-out;}
.stamp{translate:calc(var(--px,0) * -14px) calc(var(--py,0) * -10px);transition:translate .3s ease-out;}
.flight-path{translate:calc(var(--px,0) * 6px) calc(var(--py,0) * 5px);transition:translate .3s ease-out;}

/* Booking strip: a coral underline sweeps in under the field you are typing in */
.search-cell::before{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;border-radius:2px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1);}
.search-cell:focus-within::before{transform:scaleX(1);}
@media (max-width:900px){ .search-cell::before{left:0;right:0;} }

/* How it works: a coral line draws across each step when it scrolls into view */
.step-row{position:relative;}
.step-row::after{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:linear-gradient(90deg,var(--coral),var(--yellow));transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.22,1,.36,1);}
.step-row:first-child::after{display:none;}
.step-row.is-active::after{transform:scaleX(1);}
.step-row.is-active .step-num{color:var(--coral);}

/* Cursor spotlight on cards (--mx / --my set by script.js) */
.spot{position:relative;}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,0.28), transparent 65%);}
.spot:hover::after{opacity:1;}
.explain-point.spot::after, .testi-card.spot:not(.featured)::after{background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), rgba(255,107,74,0.09), transparent 65%);}

/* Why-us icons float gently, each on its own beat */
.tile .t-icon{animation:lvBob 4.5s ease-in-out infinite;}
.feature-wall .tile:nth-child(2) .t-icon{animation-delay:-.8s;}
.feature-wall .tile:nth-child(3) .t-icon{animation-delay:-1.6s;}
.feature-wall .tile:nth-child(4) .t-icon{animation-delay:-2.4s;}
.feature-wall .tile:nth-child(5) .t-icon{animation-delay:-3.2s;}
@keyframes lvBob{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-5px) rotate(-6deg);}}

/* Pricing: the "popular" card gets a slowly rotating rainbow border */
@property --pop-angle{syntax:"<angle>";inherits:false;initial-value:0deg;}
.price-card.popular{border-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box, conic-gradient(from var(--pop-angle), var(--coral), var(--yellow), var(--sky), var(--coral)) border-box;animation:lvPopSpin 5s linear infinite;}
@keyframes lvPopSpin{to{--pop-angle:360deg;}}

/* Route tiles: a little plane drifts in the corner */
a.dest-tile::after{content:"✈";position:absolute;top:14px;right:16px;font-size:1.05rem;opacity:.5;animation:lvTilePlane 3.6s ease-in-out infinite;pointer-events:none;}
.dest-tile-wrap:nth-child(2) a.dest-tile::after{animation-delay:-.9s;}
.dest-tile-wrap:nth-child(3) a.dest-tile::after{animation-delay:-1.8s;}
.dest-tile-wrap:nth-child(4) a.dest-tile::after{animation-delay:-2.7s;}
@keyframes lvTilePlane{0%,100%{transform:translate(-10px,6px);opacity:.45;}50%{transform:translate(4px,-4px);opacity:1;}}

/* Video: pulsing rings around the play button */
.video-play-btn::before, .video-play-btn::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,0.75);pointer-events:none;animation:lvRing 2.4s ease-out infinite;}
.video-play-btn::after{animation-delay:1.2s;}
@keyframes lvRing{0%{transform:scale(1);opacity:.8;}100%{transform:scale(1.9);opacity:0;}}

/* Testimonials: a big quote mark floats behind each card */
.testi-card{position:relative;isolation:isolate;}
.testi-card::before{content:"\201C";position:absolute;top:2px;right:18px;z-index:-1;font-family:var(--disp);font-size:5.5rem;line-height:1;color:var(--yellow);opacity:.45;pointer-events:none;animation:lvBob 5.5s ease-in-out infinite;}
.testi-card:nth-child(2)::before{animation-delay:-1.8s;}
.testi-card:nth-child(3)::before{animation-delay:-3.6s;}
.testi-card.featured::before{color:var(--coral);opacity:.35;}

/* Closing banner: drifting glow blobs + a plane that flies across now and then */
.cta-banner::before{animation:lvDrift 9s ease-in-out infinite;}
.cta-banner::after{animation:lvDrift 11s ease-in-out infinite reverse;}
@keyframes lvDrift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(26px,-18px) scale(1.15);}}
.cta-banner .cta-plane{position:absolute;top:26%;left:-60px;z-index:0;color:var(--cream);opacity:0;animation:lvFly 10s linear infinite;pointer-events:none;}
@keyframes lvFly{0%{left:-60px;top:34%;opacity:0;}6%{opacity:.8;}50%{top:14%;}94%{opacity:.8;}100%{left:calc(100% + 20px);top:26%;opacity:0;}}

@media (prefers-reduced-motion: reduce){
  .hero h1 .line2, .tile .t-icon, .price-card.popular, a.dest-tile::after, .video-play-btn::before, .video-play-btn::after,
  .testi-card::before, .cta-banner::before, .cta-banner::after, .cta-banner .cta-plane{animation:none !important;}
  .cta-banner .cta-plane{display:none;}
  .hero-blob, .hero-blob2, .hero-card, .stamp, .flight-path{translate:none;transition:none;}
  .step-row::after{transition:none;}
}