﻿/* =====================================================================
   ErrancesHolidays — Luxury Redesign 2026
   Palette: Emirates Red #D71920 · Professional Navy #0A1628 · Gold #C9A840
   Light backgrounds · Refined soft shadows · Premium feel
   ===================================================================== */

/* ── Luxury Design Tokens ──────────────────────────────────────── */
:root {
  /* Emirates Red — primary */
  --eh-red:          #D71920;
  --eh-red-dark:     #B01218;
  --eh-red-light:    #FCE8E9;
  --eh-red-muted:    rgba(215,25,32,0.07);

  /* Professional Navy — secondary */
  --eh-navy:         #0A1628;
  --eh-navy-mid:     #1B2A4A;
  --eh-navy-light:   #E8EDF5;

  /* Gold — accent tints */
  --eh-gold:         #C9A840;
  --eh-gold-light:   #E8D48A;
  --eh-gold-pale:    #FAF4E1;
  --eh-gold-deep:    #8A6E1A;

  /* Surfaces */
  --eh-white:        #FFFFFF;
  --eh-cream:        #FAFAF8;
  --eh-paper:        #F5F0E8;
  --eh-warm:         #F9F6F0;

  /* Ink — navy-tinted, not harsh black */
  --eh-ink:          #0A1628;
  --eh-ink-mid:      #2D3E57;
  --eh-ink-muted:    #64748B;

  /* Legacy aliases — old garish names → luxury equivalents */
  --eh-midnight:     #0A1628;
  --eh-mag:          #D71920;
  --eh-mag-deep:     #B01218;
  --eh-cobalt:       #1B2A4A;
  --eh-lime:         #C9A840;
  --eh-orange:       #C9A840;
  --eh-violet:       #1B2A4A;
  --eh-pink:         #E8D48A;

  /* Border & shadow — no more brutalist hard borders */
  --eh-radius-card:  16px;
  --eh-border:       1px solid rgba(10,22,40,0.10);
  --eh-shadow:       0 6px 28px rgba(10,22,40,0.10);

  /* Luxury shadow set */
  --eh-shadow-xs:    0 1px 5px rgba(10,22,40,0.05);
  --eh-shadow-sm:    0 2px 12px rgba(10,22,40,0.07);
  --eh-shadow-md:    0 6px 30px rgba(10,22,40,0.10);
  --eh-shadow-lg:    0 16px 56px rgba(10,22,40,0.13);
  --eh-shadow-red:   0 8px 32px rgba(215,25,32,0.22);
  --eh-shadow-gold:  0 8px 30px rgba(201,168,64,0.25);
}

/* ── Google Fonts: Fraunces + Space Grotesk + Caveat ─────────────*/
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,700;9..144,900&family=Space+Grotesk:wght@400;500;600;700&family=Caveat:wght@500;700&display=swap');

/* ── Base overrides ──────────────────────────────────────────────*/
body { font-family: 'Space Grotesk', 'Poppins', system-ui, sans-serif; }
.display-font { font-family: 'Fraunces', serif; }
.script-font  { font-family: 'Caveat', cursive; }

/* ════════════════════════════════════════════════════════════════
   HERO — immersive, dark, editorial
   ════════════════════════════════════════════════════════════════ */
.hero {
  min-height: 100vh;
  max-height: 100vh;
  background:
    radial-gradient(ellipse at 80% 15%, rgba(215,25,32,.12) 0%, transparent 52%),
    radial-gradient(ellipse at 5%  80%, rgba(201,168,64,.07) 0%, transparent 50%),
    linear-gradient(160deg, #060E1A 0%, #0A1628 55%, #0D1E38 100%);
  position: relative;
  overflow: hidden;
  padding-top: 72px;
  padding-bottom: 0;
  display: flex;
  align-items: center;
  border-bottom: var(--eh-border);
}

/* Animated glow blobs */
.hero::before, .hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(72px);
  opacity: .30;
  pointer-events: none;
  animation: ehDrift 20s ease-in-out infinite;
}
.hero::before {
  width: 420px; height: 420px;
  background: var(--eh-mag);
  top: -140px; right: 8%;
}
.hero::after {
  width: 360px; height: 360px;
  background: var(--eh-cobalt);
  bottom: -120px; left: 28%;
  animation-delay: -10s;
}
@keyframes ehDrift {
  0%,100% { transform: translate(0,0) scale(1); }
  50%       { transform: translate(36px,-28px) scale(1.14); }
}

/* Floating plane deco */
.hero-deco-plane {
  position: absolute; top: 18%; right: 6%;
  font-size: 52px; pointer-events: none;
  color: #D71920;
  animation: ehFloat 5s ease-in-out infinite;
  z-index: 0;
}
.hero-deco-star {
  position: absolute; bottom: 14%; left: 5%;
  font-size: 38px; color: var(--eh-mag);
  pointer-events: none;
  animation: ehSpin 9s linear infinite;
  z-index: 0;
}
@keyframes ehFloat { 0%,100%{transform:translateY(0) rotate(18deg)} 50%{transform:translateY(-14px) rotate(12deg)} }
@keyframes ehSpin  { to{ transform:rotate(360deg) } }

/* Badge pill */
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.10);
  border: 1.5px solid rgba(255,255,255,.25);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 7px 18px;
  border-radius: 999px;
  color: #fff;
  font-size: .8rem; font-weight: 600; letter-spacing: .4px;
  margin-bottom: 1.5rem;
  animation: fadeInDown .7s ease both;
}
.hero-badge .pulse-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--eh-mag);
  animation: ehPulse 1.6s ease-in-out infinite;
}
@keyframes ehPulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.7);opacity:.5} }

/* Headline */
.hero h1 {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(1.9rem, 4.5vw, 3.8rem);
  line-height: .92;
  letter-spacing: -.02em;
  color: var(--eh-cream);
  margin-bottom: 0;
  animation: fadeInUp .8s ease both;
}
.hero h1 .eh-accent-mag {
  color: var(--eh-mag);
  font-style: italic;
  text-shadow: 0 0 40px rgba(255,31,138,.45);
}
.hero h1 .eh-accent-cob {
  color: #D71920;
  text-shadow: 0 0 40px rgba(215,25,32,.35);
}
.hero h1 .eh-underline {
  position: relative; display: inline-block;
}
.hero h1 .eh-underline::after {
  content: "";
  position: absolute; left: -3px; right: -3px; bottom: .04em;
  height: .14em;
  background: var(--eh-lime);
  border-radius: 999px;
  transform: rotate(-1.2deg);
  z-index: -1;
}

/* Sub + actions */
.hero-sub {
  font-size: .92rem;
  color: rgba(248,246,241,.82);
  max-width: 540px;
  line-height: 1.55;
  animation: fadeInUp .8s ease .2s both;
  margin-top: .6rem !important;
}

.hero .hero-actions {
  display: flex; gap: 10px; flex-wrap: wrap;
  animation: fadeInUp .8s ease .35s both;
  margin-top: .7rem !important;
}

/* Stats row */
.hero-stats-row {
  display: flex; gap: 20px; flex-wrap: wrap;
  padding-top: 12px;
  border-top: 2px dashed rgba(248,246,241,.25);
  animation: fadeInUp .8s ease .5s both;
  margin-top: .7rem !important;
}
.hero-stat-item .hs-num {
  font-family: 'Fraunces', serif;
  font-weight: 900; font-size: 1.6rem; line-height: 1;
  color: var(--eh-cream);
}
.hero-stat-item .hs-lbl {
  font-size: .66rem; text-transform: uppercase; letter-spacing: .12em;
  color: rgba(248,246,241,.55); margin-top: 2px;
}

/* Override the white search box on dark hero */
.hero .search-box {
  background: rgba(255,255,255,.96);
  border: var(--eh-border);
  border-radius: 999px;
  padding: 5px;
  max-width: 660px;
  box-shadow: 4px 4px 0 var(--eh-mag);
  animation: fadeInUp .8s ease .45s both;
  margin-top: .7rem !important;
}
.hero .search-box:hover {
  box-shadow: 8px 8px 0 var(--eh-mag);
  transform: translate(-2px,-2px);
}
.hero .search-selector {
  border-radius: 999px;
  color: var(--eh-ink);
  font-weight: 600;
}
.hero .search-selector:hover {
  color: var(--eh-mag);
  background: rgba(255,31,138,.08);
}
.hero .btn-search {
  background: var(--eh-mag);
  border-radius: 999px;
  border: 2px solid var(--eh-ink);
  font-weight: 700;
  box-shadow: none;
}
.hero .btn-search:hover {
  background: var(--eh-ink);
  transform: translate(-2px,-2px);
  box-shadow: 4px 4px 0 var(--eh-mag);
}

/* Postcard collage — right column (hidden on mobile) */
.hero-collage {
  position: relative;
  height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.eh-postcard {
  position: absolute;
  border-radius: 16px;
  border: 3px solid var(--eh-ink);
  box-shadow: 8px 8px 0 var(--eh-ink);
  overflow: hidden;
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
  cursor: pointer;
}
.eh-postcard:hover {
  transform: rotate(0deg) translateY(-10px) scale(1.04) !important;
  z-index: 10;
}
.eh-pc-1 { width: 180px; height: 240px; right: 160px; top: 15px;  transform: rotate(-7deg);  }
.eh-pc-2 { width: 165px; height: 210px; right: 15px;  top: 40px;  transform: rotate(6deg);   }
.eh-pc-3 { width: 140px; height: 170px; right: 88px;  top: 185px; transform: rotate(-3deg); z-index:2; }
.eh-pc-img {
  position: absolute; inset:0;
  background-size: cover; background-position: center;
}
.eh-pc-stamp {
  position: absolute; top: 10px; right: 10px;
  background: var(--eh-cream); border: 2px solid var(--eh-ink);
  padding: 3px 8px; border-radius: 4px;
  font-family: 'Fraunces',serif; font-weight: 800; font-size: 9px;
  transform: rotate(8deg);
}
.eh-pc-label {
  position: absolute; bottom:0; left:0; right:0;
  padding: 12px;
  background: linear-gradient(transparent, rgba(0,0,0,.72));
  color: #fff;
}
.eh-pc-label .pc-place   { font-family:'Fraunces',serif; font-weight:900; font-size:20px; line-height:1; }
.eh-pc-label .pc-country { font-size:10px; text-transform:uppercase; letter-spacing:.14em; opacity:.85; margin-top:3px; }

@media (max-width: 991px) {
  .hero-collage { display: none; }
  .hero { max-height: none; min-height: 100svh; }
}
@media (max-width: 575px) {
  .hero { padding-top: 68px; padding-bottom: 12px; min-height: 100svh; max-height: none; }
  .hero h1 { font-size: clamp(1.7rem, 8.5vw, 2.6rem); }
}

/* ════════════════════════════════════════════════════════════════
   MARQUEE STRIP
   ════════════════════════════════════════════════════════════════ */
.eh-marquee {
  background: var(--eh-ink);
  color: var(--eh-cream);
  padding: 9px 0;
  overflow: hidden;
  white-space: nowrap;
  border-top: var(--eh-border);
  border-bottom: var(--eh-border);
}
.eh-marquee-track {
  display: inline-flex; gap: 24px;
  animation: ehMarquee 30s linear infinite;
  font-family: 'Fraunces', serif;
  font-weight: 900; font-size: 1rem; font-style: italic;
}
.eh-marquee-track span { display: inline-flex; align-items: center; gap: 24px; }
.eh-marquee-track .m-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--eh-lime);
  display: inline-block;
  flex-shrink: 0;
}
@keyframes ehMarquee { to { transform: translateX(-50%); } }

/* ════════════════════════════════════════════════════════════════
   STATS BAR — neo-brutalist rewrite
   ════════════════════════════════════════════════════════════════ */
.stats-bar {
  background: var(--eh-paper);
  border-bottom: var(--eh-border);
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.stat-item {
  padding: 2rem 1.5rem;
  text-align: center;
  border-right: var(--eh-border);
  position: relative;
  transition: transform .25s, box-shadow .25s;
  background: var(--eh-paper);
  overflow: hidden;
}
.stat-item:last-child { border-right: none; }
.stat-item:hover { transform: translateY(-4px); box-shadow: 0 8px 0 var(--eh-ink); z-index: 2; }
.stat-item::before { display: none; }
/* Each cell gets its own funky accent */
.stat-item:nth-child(1) { background: var(--eh-lime); }
.stat-item:nth-child(1) .stat-icon   { color: var(--eh-ink); }
.stat-item:nth-child(1) .stat-number { color: var(--eh-ink); }
.stat-item:nth-child(1) .stat-label  { color: rgba(10,8,24,.6); }
.stat-item:nth-child(2) { background: var(--eh-mag); }
.stat-item:nth-child(2) .stat-icon   { color: #fff; }
.stat-item:nth-child(2) .stat-number { color: #fff; }
.stat-item:nth-child(2) .stat-label  { color: rgba(255,255,255,.75); }
.stat-item:nth-child(3) { background: var(--eh-cobalt); }
.stat-item:nth-child(3) .stat-icon   { color: #fff; }
.stat-item:nth-child(3) .stat-number { color: #fff; }
.stat-item:nth-child(3) .stat-label  { color: rgba(255,255,255,.75); }
.stat-item:nth-child(4) { background: #FF5A1F; }
.stat-item:nth-child(4) .stat-icon   { color: #fff; }
.stat-item:nth-child(4) .stat-number { color: #fff; }
.stat-item:nth-child(4) .stat-label  { color: rgba(255,255,255,.75); }
.stat-icon {
  display: block;
  font-size: 1.3rem;
  margin-bottom: .45rem;
}
.stat-number {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 1.9rem;
  line-height: 1;
  color: var(--eh-ink);
  letter-spacing: -.04em;
  margin-bottom: .2rem;
}
.stat-label {
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em;
  color: #555;
}
[data-theme="dark"] .stats-bar { background: #0A1628; }
[data-theme="dark"] .stat-item:nth-child(1) { background: rgba(207,255,61,.1); border-right-color: rgba(255,255,255,.1); }
[data-theme="dark"] .stat-item:nth-child(1) .stat-number { color: var(--eh-lime); }
[data-theme="dark"] .stat-item:nth-child(1) .stat-icon  { color: var(--eh-lime); }
[data-theme="dark"] .stat-item:nth-child(1) .stat-label { color: rgba(207,255,61,.6); }
[data-theme="dark"] .stat-item:nth-child(2) { background: rgba(255,31,138,.1); border-right-color: rgba(255,255,255,.1); }
[data-theme="dark"] .stat-item:nth-child(2) .stat-number { color: var(--eh-mag); }
[data-theme="dark"] .stat-item:nth-child(2) .stat-icon  { color: var(--eh-mag); }
[data-theme="dark"] .stat-item:nth-child(2) .stat-label { color: rgba(255,31,138,.6); }
[data-theme="dark"] .stat-item:nth-child(3) { background: rgba(0,162,255,.1); border-right-color: rgba(255,255,255,.1); }
[data-theme="dark"] .stat-item:nth-child(3) .stat-number { color: var(--eh-cobalt); }
[data-theme="dark"] .stat-item:nth-child(3) .stat-icon  { color: var(--eh-cobalt); }
[data-theme="dark"] .stat-item:nth-child(3) .stat-label { color: rgba(0,162,255,.6); }
[data-theme="dark"] .stat-item:nth-child(4) { background: rgba(255,90,31,.1); border-right-color: rgba(255,255,255,.1); }
[data-theme="dark"] .stat-item:nth-child(4) .stat-number { color: #FF5A1F; }
[data-theme="dark"] .stat-item:nth-child(4) .stat-icon  { color: #FF5A1F; }
[data-theme="dark"] .stat-item:nth-child(4) .stat-label { color: rgba(255,90,31,.6); }

@media (max-width:767px) {
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .stat-item:nth-child(even) { border-right:none; }
  .stat-item:nth-child(n+3)  { border-top: var(--eh-border); }
}

/* ════════════════════════════════════════════════════════════════
   VACATION TYPES — editorial grid
   ════════════════════════════════════════════════════════════════ */
.vtype-section {
  background: var(--eh-cream);
  border-bottom: var(--eh-border);
  padding: 3rem 0 3.5rem !important;
}
.vtype-header { margin-bottom: 2.5rem; }
.vtype-title {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  line-height: .93;
  letter-spacing: -.03em;
  color: var(--eh-ink);
}
.vtype-title-accent {
  color: var(--eh-mag);
  font-style: italic;
  -webkit-text-fill-color: var(--eh-mag);
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}
.vtype-desc { color: #555; font-size: 1rem; max-width: 500px; }

/* Cards */
.vtype-card {
  border: var(--eh-border);
  border-radius: var(--eh-radius-card);
  box-shadow: 5px 5px 0 var(--eh-ink);
}
.vtype-card:hover {
  transform: translate(-4px,-4px);
  box-shadow: 10px 10px 0 var(--eh-ink);
}
.vtype-card-icon {
  background: rgba(255,255,255,.22);
  border: 1.5px solid rgba(255,255,255,.35);
}
.vtype-card-count {
  background: rgba(255,255,255,.95);
  color: var(--eh-ink);
  font-weight: 700;
  opacity: 1; transform: none;
}
[data-theme="dark"] .vtype-section { background: #081224; }

/* Section labels */
.vtype-label-text { color: var(--eh-mag); letter-spacing: .18em; }
.vtype-label-line  { background: var(--eh-mag); opacity: .4; }

/* ════════════════════════════════════════════════════════════════
   SECTION SHARED — bold headings
   ════════════════════════════════════════════════════════════════ */

/* Tighten all generic sections */
.section          { padding: 3.5rem 0 !important; }
.section-header   { margin-bottom: 2rem !important; }
.section-title    { margin-bottom: 2rem !important; }

.section-title h2,
.section-header h2 {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  letter-spacing: -.03em;
  line-height: .94;
  color: var(--eh-ink);
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: var(--eh-ink);
  background-clip: unset;
}
[data-theme="dark"] .section-title h2,
[data-theme="dark"] .section-header h2 {
  color: var(--eh-cream);
  -webkit-text-fill-color: var(--eh-cream);
}
.text-accent { color: var(--eh-mag); }
.section-eyebrow {
  font-family: 'Space Grotesk', sans-serif;
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .18em;
  color: var(--eh-mag);
  background: rgba(255,31,138,.10);
  border: none;
  padding: 5px 14px; border-radius: 999px;
}

/* ════════════════════════════════════════════════════════════════
   DESTINATIONS GRID — editorial mosaic
   ════════════════════════════════════════════════════════════════ */
.destinations-section { background: linear-gradient(180deg, #F8F6F1 0%, #FFF1E0 100%); border-top: var(--eh-border); border-bottom: var(--eh-border); }

.dest-card {
  border: var(--eh-border);
  border-radius: var(--eh-radius-card);
  box-shadow: 5px 5px 0 var(--eh-ink);
  height: 300px;
}
.dest-card::after { display: none; }
.dest-card:hover {
  transform: translate(-4px,-4px);
  box-shadow: 10px 10px 0 var(--eh-ink);
}
.dest-card-content h4 {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 1;
}

/* "show more" button */
.btn-show-more {
  background: var(--eh-mag);
  color: #fff;
  border: var(--eh-border);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  box-shadow: 4px 4px 0 var(--eh-ink);
  transition: transform .2s, box-shadow .2s;
}
.btn-show-more:hover {
  background: var(--eh-ink);
  color: var(--eh-cream);
  transform: translate(-2px,-2px);
  box-shadow: 7px 7px 0 var(--eh-mag);
  text-decoration: none;
}

/* ════════════════════════════════════════════════════════════════
   HOW IT WORKS — numbered steps with bold numerals
   ════════════════════════════════════════════════════════════════ */
.howit-section { background: var(--eh-midnight); }
.howit-section .section-header h2 {
  color: var(--eh-cream);
  -webkit-text-fill-color: var(--eh-cream);
}
.howit-section .section-header p { color: rgba(248,246,241,.65); }
.howit-section .section-eyebrow { color: var(--eh-lime); background: rgba(207,255,61,.12); }

.howit-step:nth-child(1) { --sc:#C9A840; --sc-bg:rgba(201,168,64,.12); --sc-shadow:rgba(201,168,64,.30); }
.howit-step:nth-child(2) { --sc:#D71920; --sc-bg:rgba(215,25,32,.12); --sc-shadow:rgba(215,25,32,.30); }
.howit-step:nth-child(3) { --sc:#C9A840; --sc-bg:rgba(201,168,64,.12); --sc-shadow:rgba(201,168,64,.30); }
.howit-step:nth-child(4) { --sc:#D71920; --sc-bg:rgba(215,25,32,.12); --sc-shadow:rgba(215,25,32,.30); }

.howit-icon { border: 3px solid var(--sc); }
.howit-step:hover .howit-icon { background: var(--sc); }
.howit-content h5 { color: var(--eh-cream); font-family: 'Fraunces', serif; font-size:1.15rem; }
.howit-content p  { color: rgba(248,246,241,.6); }

/* ════════════════════════════════════════════════════════════════
   PACKAGE CARDS — elevated brutalist style
   ════════════════════════════════════════════════════════════════ */
.package-card {
  border: var(--eh-border);
  border-radius: var(--eh-radius-card);
  box-shadow: 5px 5px 0 var(--eh-ink);
  transition: transform .3s, box-shadow .3s;
}
.package-card:hover {
  border-color: var(--eh-mag);
  transform: translate(-4px,-4px);
  box-shadow: 10px 10px 0 var(--eh-mag);
}
.package-body h5 {
  font-family: 'Fraunces', serif;
  font-weight: 800;
  font-size: 1.25rem;
  color: var(--eh-ink);
}
.package-price {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  color: var(--eh-mag);
  font-size: 1.5rem;
}
.package-badge {
  background: var(--eh-mag);
  border: 2px solid var(--eh-ink);
  border-radius: 999px;
  font-family: 'Space Grotesk', sans-serif;
  transform: rotate(4deg);
  box-shadow: 2px 2px 0 var(--eh-ink);
}
.btn-view {
  background: var(--eh-ink);
  color: var(--eh-cream);
  border: var(--eh-border);
  border-radius: 999px;
  font-weight: 700;
  transition: all .2s;
}
.btn-view:hover {
  background: var(--eh-mag);
  color: #fff;
  transform: translate(-2px,-2px);
  box-shadow: 4px 4px 0 var(--eh-ink);
}
[data-theme="dark"] .package-card { background: #1a1030; }
[data-theme="dark"] .package-body h5 { color: var(--eh-cream); }

/* ════════════════════════════════════════════════════════════════
   HOT DEALS
   ════════════════════════════════════════════════════════════════ */
.deals-section { background: var(--eh-paper); border-top: var(--eh-border); border-bottom: var(--eh-border); padding: 3rem 0 !important; }
.deal-card {
  border: var(--eh-border);
  border-radius: var(--eh-radius-card);
  box-shadow: 5px 5px 0 var(--eh-ink);
}
.deal-card:hover {
  transform: translate(-4px,-4px);
  box-shadow: 10px 10px 0 var(--eh-ink);
}
.deal-body h5 {
  font-family: 'Fraunces', serif;
  font-weight: 800;
  font-size: 1.05rem;
  color: var(--eh-ink);
}
.deal-offer-price {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  color: var(--eh-mag);
  font-size: 1.3rem;
}
.deal-badge {
  background: var(--eh-mag);
  border: 2px solid var(--eh-ink);
  border-radius: 999px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  transform: rotate(-3deg);
  box-shadow: 2px 2px 0 var(--eh-ink);
  padding: .3rem .85rem;
}
.btn-deal {
  background: var(--eh-ink);
  color: var(--eh-cream);
  border-radius: 999px;
  border: var(--eh-border);
  font-weight: 700;
}
.btn-deal:hover {
  background: var(--eh-mag);
  color: #fff;
  box-shadow: 3px 3px 0 var(--eh-ink);
}
[data-theme="dark"] .deals-section { background: #150c30; border-color: rgba(255,255,255,.1); }
[data-theme="dark"] .deal-card     { background: #1e1240; border-color: rgba(255,255,255,.12); box-shadow: 5px 5px 0 rgba(255,255,255,.08); }
[data-theme="dark"] .deal-body h5  { color: var(--eh-cream); }

/* ════════════════════════════════════════════════════════════════
   TESTIMONIALS — colourful cards
   ════════════════════════════════════════════════════════════════ */
/* Testimonials: light cream background */
.section-warm {
  background: var(--eh-cream, #F8F6F1);
  border-top: 1px solid rgba(10,8,24,.08);
  border-bottom: 1px solid rgba(10,8,24,.08);
}
.section-warm .section-title h2 {
  color: var(--eh-ink);
  -webkit-text-fill-color: var(--eh-ink);
}
.section-warm .section-title p { color: rgba(10,8,24,.55); }

.testimonial-card {
  border: var(--eh-border);
  border-radius: var(--eh-radius-card);
  box-shadow: 4px 4px 0 var(--eh-ink);
  transition: transform .3s, box-shadow .3s;
  background: #fff;
}
.testimonial-card:hover {
  transform: translate(-4px,-4px);
  box-shadow: 8px 8px 0 var(--eh-ink);
}
.testimonial-card::before {
  color: var(--eh-mag);
  opacity: .08;
  font-size: 6rem;
}
/* Alternating card accents — light pastel tints */
.col-md-6:nth-child(1) .testimonial-card { background: #fff; border-left: 4px solid #00897B; }
.col-md-6:nth-child(1) .testimonial-card .testimonial-text { color: var(--eh-ink); }
.col-md-6:nth-child(1) .testimonial-card .testimonial-info h6 { color: var(--eh-ink); }
.col-md-6:nth-child(1) .testimonial-card .testimonial-info span { color: rgba(10,8,24,.55); }

.col-md-6:nth-child(2) .testimonial-card { background: #fff; border-left: 4px solid #6B2EBF; }
.col-md-6:nth-child(2) .testimonial-card .testimonial-text { color: var(--eh-ink); }
.col-md-6:nth-child(2) .testimonial-card .testimonial-info h6 { color: var(--eh-ink); }
.col-md-6:nth-child(2) .testimonial-card .testimonial-info span { color: rgba(10,8,24,.55); }

.col-md-6:nth-child(3) .testimonial-card { background: #fff; border-left: 4px solid #D45A3D; }
.col-md-6:nth-child(3) .testimonial-card .testimonial-text { color: var(--eh-ink); }
.col-md-6:nth-child(3) .testimonial-card .testimonial-info h6 { color: var(--eh-ink); }
.col-md-6:nth-child(3) .testimonial-card .testimonial-info span { color: rgba(10,8,24,.55); }

.testimonial-text {
  font-family: 'Fraunces', serif;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.35;
  font-style: italic;
}
.testimonial-avatar {
  background: var(--eh-ink);
  border: 2px solid var(--eh-mag);
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 1.15rem;
}
.testimonial-info h6 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; }

/* ════════════════════════════════════════════════════════════════
   ARTICLES — editorial card
   ════════════════════════════════════════════════════════════════ */
.section-alt { background: var(--eh-cream); }
.article-card, .home-article-card {
  border: var(--eh-border);
  border-radius: var(--eh-radius-card);
  box-shadow: 4px 4px 0 var(--eh-ink);
}
.article-card:hover, .home-article-card:hover {
  border-color: var(--eh-mag);
  transform: translate(-3px,-3px);
  box-shadow: 8px 8px 0 var(--eh-mag);
}
.article-title a { font-family: 'Fraunces', serif; font-weight: 800; color: var(--eh-ink) !important; }
.article-title a:hover { color: var(--eh-mag) !important; }
.btn-read-more { color: var(--eh-mag); font-weight: 700; }
.btn-read-more:hover { color: var(--eh-mag-deep); }
.btn-view-all-articles {
  border-color: var(--eh-ink);
  color: var(--eh-ink);
  font-weight: 700;
  border-radius: 999px;
  border-width: 2px;
}
.btn-view-all-articles:hover {
  background: var(--eh-ink);
  color: var(--eh-cream);
}
[data-theme="dark"] .article-card  { background: #1a1030; border-color: rgba(255,255,255,.12); }
[data-theme="dark"] .article-title a { color: var(--eh-cream) !important; }

/* ════════════════════════════════════════════════════════════════
   FAQ — accordion
   ════════════════════════════════════════════════════════════════ */
/* FAQ: deep violet + lime diamond lattice — distinct from navy testimonials */
.faq-section {
  background:
    repeating-linear-gradient(
      60deg,
      transparent, transparent 16px,
      rgba(201,168,64,.03) 16px, rgba(201,168,64,.03) 17px
    ),
    repeating-linear-gradient(
      -60deg,
      transparent, transparent 16px,
      rgba(201,168,64,.03) 16px, rgba(201,168,64,.03) 17px
    ),
    linear-gradient(135deg, #060E1A 0%, #0A1628 100%);
  border-top: none;
}
.faq-section .section-header h2 {
  color: var(--eh-cream);
  -webkit-text-fill-color: var(--eh-cream);
}
.faq-section .section-header p  { color: rgba(248,246,241,.65); }
.faq-section .section-eyebrow { color: var(--eh-lime); background: rgba(207,255,61,.1); border: 1px solid rgba(207,255,61,.25); }

.faq-item {
  border: var(--eh-border);
  border-radius: var(--eh-radius-card);
  margin-bottom: 12px;
  background: rgba(255,255,255,.06);
  overflow: hidden;
  transition: background .25s;
}
.faq-item.active  { background: rgba(255,255,255,.10); }
.faq-item:hover   { background: rgba(255,255,255,.09); }
.faq-question {
  color: var(--eh-cream);
  font-family: 'Fraunces', serif;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 1.25rem 1.5rem;
  width: 100%; background: transparent; border: none;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  cursor: pointer;
}
.faq-icon { color: var(--eh-lime); font-size: 1.1rem; flex-shrink: 0; transition: transform .3s; }
.faq-item.active .faq-icon { transform: rotate(45deg); }
.faq-answer-inner {
  padding: .25rem 1.5rem 1.25rem;
  color: rgba(248,246,241,.7);
  font-size: .95rem;
  line-height: 1.75;
}

/* ════════════════════════════════════════════════════════════════
   CONTACT — dark neo-brutalist, on-theme redesign
   ════════════════════════════════════════════════════════════════ */
.contact-section {
  background:
    repeating-linear-gradient(
      45deg,
      transparent, transparent 22px,
      rgba(201,168,64,.03) 22px, rgba(201,168,64,.03) 23px
    ),
    linear-gradient(160deg, #060E1A 0%, #0A1628 100%);
  border-top: var(--eh-border);
  border-bottom: var(--eh-border);
  padding: 3.5rem 0;
}
.contact-section .section-title h2 {
  color: #0A1628 !important;
  -webkit-text-fill-color: #0A1628 !important;
}
.contact-section .section-title p {
  color: rgba(10,22,40,.55);
}

/* Cards */
.contact-card {
  background: rgba(255,255,255,.05);
  border: 2px solid rgba(248,246,241,.15);
  border-radius: var(--eh-radius-card);
  box-shadow: none;
  transition: transform .25s, box-shadow .25s, background .25s;
  margin: 6px;
  padding: 1.25rem 1.25rem 1rem;
  text-align: center;
}
.contact-card:hover {
  background: rgba(255,255,255,.09);
  transform: translate(-3px,-3px);
  box-shadow: 6px 6px 0 var(--eh-lime);
  border-color: var(--eh-lime);
}
.contact-card h4 {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 1.15rem;
  color: var(--eh-cream);
  margin: .6rem 0 .35rem;
}
.contact-desc {
  color: rgba(248,246,241,.6);
  font-size: .82rem;
  line-height: 1.55;
  margin-bottom: .9rem;
}
.contact-col + .contact-col { border-left: none; }

/* Icon wraps */
.contact-icon-wrap {
  width: 48px; height: 48px;
  border-radius: 12px;
  border: 2px solid;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
.contact-col:nth-child(1) .contact-icon-wrap { border-color: var(--eh-cobalt); color: var(--eh-cobalt); background: rgba(0,162,255,.1); }
.contact-col:nth-child(2) .contact-icon-wrap { border-color: var(--eh-mag);    color: var(--eh-mag);    background: rgba(255,31,138,.1); }
.contact-col:nth-child(3) .contact-icon-wrap { border-color: var(--eh-lime);   color: var(--eh-lime);  background: rgba(207,255,61,.1); }

/* Buttons */
.contact-btn {
  display: inline-block;
  padding: 7px 18px;
  border-radius: 999px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: .82rem;
  border: 2px solid;
  text-decoration: none;
  cursor: pointer;
  background: transparent;
  transition: all .2s;
}
.contact-note {
  display: block;
  font-size: .72rem;
  color: rgba(248,246,241,.38);
  margin-top: .45rem;
  letter-spacing: .04em;
}
.contact-col:nth-child(1) .contact-btn { border-color: var(--eh-cobalt); color: var(--eh-cobalt); }
.contact-col:nth-child(1) .contact-btn:hover { background: var(--eh-cobalt); color: var(--eh-ink); box-shadow: 4px 4px 0 rgba(0,162,255,.4); transform: translate(-2px,-2px); }
.contact-col:nth-child(2) .contact-btn { border-color: var(--eh-mag); color: var(--eh-mag); }
.contact-col:nth-child(2) .contact-btn:hover { background: var(--eh-mag); color: var(--eh-cream); box-shadow: 4px 4px 0 rgba(255,31,138,.4); transform: translate(-2px,-2px); }
.contact-col:nth-child(3) .contact-btn { border-color: var(--eh-lime); color: var(--eh-lime); }
.contact-col:nth-child(3) .contact-btn:hover { background: var(--eh-lime); color: var(--eh-ink); box-shadow: 4px 4px 0 rgba(207,255,61,.4); transform: translate(-2px,-2px); }

.contact-phone {
  display: block;
  font-family: 'Fraunces', serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--eh-cobalt);
  text-decoration: none;
  margin-bottom: .5rem;
}
.contact-phone:hover { color: var(--eh-lime); }
.contact-phone-secondary { font-size: .9rem; opacity: .75; }
[data-theme="dark"] .contact-section { background: #0A0818; }
[data-theme="dark"] .contact-card { background: rgba(255,255,255,.04); }
[data-theme="dark"] .contact-card h4 { color: var(--eh-cream); }

/* ════════════════════════════════════════════════════════════════
   NAVBAR — sticky, blurred, branded
   ════════════════════════════════════════════════════════════════ */
.navbar {
  background: rgba(248,246,241,.96);
  border-bottom: 2px solid var(--eh-ink);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: none;
}
/* Navbar brand word styling */
.eh-brand-word1 {
  color: inherit;
}
.eh-brand-word2 {
  color: var(--eh-mag);
  font-style: italic;
}
[data-theme="dark"] .eh-brand-word2 { color: var(--eh-lime); }
.navbar-brand {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  color: var(--eh-ink) !important;
  letter-spacing: -.03em;
  font-size: 1.45rem;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0;
  text-decoration: none !important;
  line-height: 1;
}
/* Underline slash-accent below the brand text */
.navbar-brand::after {
  content: '';
  position: absolute;
  left: 0; bottom: -3px;
  width: 52%;
  height: 3px;
  background: linear-gradient(90deg, var(--eh-mag) 0%, var(--eh-lime) 100%);
  border-radius: 999px;
  transform-origin: left;
  transition: width .3s ease;
}
.navbar-brand:hover::after { width: 100%; }
.nav-link { color: var(--eh-ink) !important; font-weight: 600; }
.nav-link:hover { color: var(--eh-mag) !important; background: rgba(255,31,138,.08); }
.nav-link.active { color: var(--eh-mag) !important; }
.btn-enquire {
  background: var(--eh-ink);
  color: var(--eh-cream) !important;
  border-radius: 999px;
  border: 2px solid var(--eh-ink);
  font-weight: 700;
  box-shadow: 3px 3px 0 var(--eh-mag);
  transition: all .2s;
}
.btn-enquire:hover {
  background: var(--eh-mag);
  color: #fff !important;
  transform: translate(-2px,-2px);
  box-shadow: 5px 5px 0 var(--eh-ink);
}
.btn-enquire::before { display: none; }
[data-theme="dark"] .navbar {
  background: rgba(10,8,24,.96);
  border-bottom-color: rgba(255,255,255,.1);
}
[data-theme="dark"] .navbar-brand { color: var(--eh-cream) !important; }
[data-theme="dark"] .navbar-brand::after { background: linear-gradient(90deg, var(--eh-mag) 0%, var(--eh-lime) 100%); }
[data-theme="dark"] .nav-link     { color: var(--eh-cream) !important; }
[data-theme="dark"] .nav-link:hover { color: var(--eh-mag) !important; }

/* ════════════════════════════════════════════════════════════════
   FOOTER — Light theme with dark foreground
   ════════════════════════════════════════════════════════════════ */
.ft {
  background: #F7F8FA;
  color: #1A202C;
  border-top: 3px solid #E8ECF4;
  padding: 0;
  overflow: hidden;
}

/* ① CTA band */
/* ① CTA band — dark pink 2-col */
.ft-cta-band {
  background: linear-gradient(135deg, #D71920 0%, #B01218 100%);
  border-bottom: 1px solid rgba(201,168,64,.18);
  position: relative;
  overflow: hidden;
  padding: 52px 32px 48px;
}
/* diagonal stripe texture */
.ft-cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    -55deg,
    transparent,
    transparent 18px,
    rgba(0,0,0,.07) 18px,
    rgba(0,0,0,.07) 19px
  );
  pointer-events: none;
}
.ft-cta-deco {
  position: absolute;
  right: -20px; bottom: -24px;
  font-family: 'Fraunces', serif;
  font-size: clamp(8rem, 22vw, 18rem);
  font-weight: 900;
  color: rgba(0,0,0,.1);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.06em;
  transform: rotate(-6deg);
}
.ft-cta-inner {
  position: relative;
  z-index: 2;
}
/* 2-col layout */
.ft-cta-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.ft-cta-title {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(2.8rem, 6vw, 5.5rem);
  line-height: .88;
  letter-spacing: -.04em;
  color: var(--eh-cream);
  margin: 0 0 16px;
}
.ft-cta-title em {
  color: var(--eh-lime);
  font-style: italic;
}
.ft-cta-sub {
  font-size: 1rem;
  color: rgba(248,246,241,.8);
  line-height: 1.6;
  margin: 0;
}
/* Right: compact cream card */
.ft-quick-card {
  background: var(--eh-cream);
  border: var(--eh-border);
  border-radius: 16px;
  box-shadow: 6px 6px 0 var(--eh-ink);
  padding: 28px 28px 24px;
}
.ft-quick-title {
  font-family: 'Fraunces', serif;
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--eh-ink);
  margin: 0 0 4px;
}
.ft-quick-sub {
  font-size: .82rem;
  color: rgba(10,8,24,.55);
  margin: 0 0 16px;
}
.ft-quick-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}
.ft-quick-input {
  width: 100%;
  padding: 10px 14px;
  background: #fff;
  border: 2px solid rgba(10,8,24,.15);
  border-radius: 8px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: .9rem;
  color: var(--eh-ink);
  outline: none;
  transition: border-color .2s;
}
.ft-quick-input:focus {
  border-color: var(--eh-cobalt);
  box-shadow: 0 0 0 3px rgba(0,162,255,.15);
}
.ft-quick-btn {
  width: 100%;
  padding: 12px 20px;
  background: #D71920;
  color: #fff;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: .01em;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: all .18s;
  box-shadow: 0 8px 32px rgba(215,25,32,.22);
}
.ft-quick-btn:hover {
  background: #0A1628;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 28px rgba(10,22,40,.25);
}
.ft-quick-msg {
  font-size: .82rem;
  margin: 8px 0 0;
  min-height: 1em;
  color: rgba(232,212,138,.75);
}

/* ② Marquee — dark strip kept as visual separator */
.ft-marquee {
  background: #0F172A;
  border-bottom: 3px solid #E8ECF4;
  padding: 13px 0;
  overflow: hidden;
  white-space: nowrap;
}
.ft-marquee-track {
  display: inline-block;
  animation: ftScroll 28s linear infinite;
  font-family: 'Fraunces', serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: rgba(255,255,255,0.38);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ft-marquee-track:hover { animation-play-state: paused; }
.ft-dot {
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #D71920;
  margin: 0 16px;
  vertical-align: middle;
}
@keyframes ftScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-33.333%); }
}

/* ③ Main body — layout and grid are defined in the Responsive block below */

/* Brand col */
.ft-brand-name {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 1.4rem;
  letter-spacing: -.02em;
  margin: 0 0 12px;
  display: inline-block;
  padding: 4px 14px;
  border-radius: 10px;
  border: 2px solid currentColor;
  box-shadow: 3px 3px 0 currentColor;
  animation: ft-brand-cycle 4s step-start infinite;
}
@keyframes ft-brand-cycle {
  0%        { color: #D71920; background: rgba(215,25,32,.08); }
  33%       { color: #B07800; background: rgba(201,168,64,.10); }
  66%       { color: #0F172A; background: rgba(15,23,42,.06); }
  100%      { color: #D71920; background: rgba(215,25,32,.08); }
}
.ft-brand-tag {
  color: #64748B;
  font-size: .9rem;
  line-height: 1.65;
  max-width: 260px;
  margin-bottom: 22px;
}
.ft-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.ft-social a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1.5px solid #D8E0EE;
  color: #4A5568;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s;
}
.ft-social a:hover {
  background: #D71920;
  border-color: #D71920;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(215,25,32,.25);
}
.ft-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #4A5568;
  font-size: .85rem;
  text-decoration: none;
  transition: color .2s;
}
.ft-phone:hover { color: #D71920; }
.ft-phone i { color: #D71920; }

/* Nav columns */
.ft-col-heading {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #94A3B8;
  margin-bottom: 18px;
  padding-bottom: 8px;
  border-bottom: 1px solid #E2E8F4;
}
.ft-links {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ft-links a {
  color: #334155;
  text-decoration: none;
  font-size: .88rem;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  display: inline-block;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1.5px solid transparent;
  transition: all .2s ease;
}
.ft-links a:hover {
  color: #D71920;
  background: rgba(215,25,32,.06);
  border-color: rgba(215,25,32,.15);
}

/* ④ Office grid */
.ft-offices {
  padding: 36px 0 32px;
  border-bottom: 1px solid #E2E8F4;
}
.ft-offices-label {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #94A3B8;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 20px;
}
.ft-offices-line {
  flex: 1;
  height: 1px;
  background: #E2E8F4;
}
/* 4 equal columns always — fills full width */
.ft-offices-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.ft-office-card {
  background: #fff;
  border: 1.5px solid #E2E8F4;
  border-radius: 14px;
  padding: 20px 22px;
  transition: border-color .22s, box-shadow .22s, transform .22s;
  position: relative;
  overflow: hidden;
}
.ft-office-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 14px 14px 0 0;
}
/* Accent top-bar per card position */
.ft-office-card:nth-child(4n+1)::before { background: #D71920; }
.ft-office-card:nth-child(4n+2)::before { background: #2563EB; }
.ft-office-card:nth-child(4n+3)::before { background: #059669; }
.ft-office-card:nth-child(4n+4)::before { background: #D97706; }

.ft-office-card:hover {
  border-color: #D71920;
  box-shadow: 0 8px 28px rgba(215,25,32,.12);
  transform: translateY(-4px);
}
.ft-office-type {
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 10px;
}
.type-hq { background: rgba(215,25,32,.10); color: #D71920; }
.type-br { background: #F1F5FB; color: #64748B; }
.ft-office-country {
  font-weight: 800;
  font-size: .92rem;
  color: #0F172A;
  margin-bottom: 10px;
  font-family: 'Fraunces', serif;
}
.ft-office-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #4A5568;
  font-size: .78rem;
  line-height: 1.55;
  margin-bottom: 5px;
}
.ft-office-row i { color: #D71920; flex-shrink: 0; margin-top: 2px; }
.ft-office-row a { color: #4A5568; text-decoration: none; transition: color .18s; }
.ft-office-row a:hover { color: #D71920; }

/* ⑤ Bottom bar */
.ft-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 20px 0 28px;
  border-top: 1px solid #E2E8F4;
}
.ft-copy { color: #94A3B8; font-size: .8rem; }
.ft-tagline { color: #B0BCC8; font-size: .78rem; font-style: italic; }
.ft-top-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  background: #D71920;
  color: #fff;
  font-weight: 700;
  font-size: .82rem;
  border-radius: 999px;
  text-decoration: none;
  border: none;
  transition: all .2s;
  box-shadow: 0 4px 14px rgba(215,25,32,.22);
}
.ft-top-btn:hover {
  background: #B01218;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(215,25,32,.30);
}

/* ③ Main body — grid */
.ft-body {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 32px 0;
}
.ft-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid #E2E8F4;
}

/* Responsive */
@media (max-width: 1199px) {
  .ft-offices-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991px) {
  .ft-cta-band    { padding: 40px 24px 36px; }
  .ft-cta-layout  { grid-template-columns: 1fr; gap: 28px; }
  .ft-cta-title   { font-size: clamp(2.4rem,7vw,4rem); }
  .ft-grid        { grid-template-columns: 1fr 1fr; gap: 32px; }
  .ft-body        { padding: 40px 24px 0; }
}
@media (max-width: 767px) {
  .ft-offices-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 575px) {
  .ft-cta-band    { padding: 32px 20px 28px; }
  .ft-body        { padding: 32px 20px 0; }
  .ft-grid        { grid-template-columns: 1fr; gap: 28px; }
  .ft-offices-grid { grid-template-columns: 1fr; }
  .ft-bottom      { flex-direction: column; align-items: flex-start; gap: 10px; }
  .ft-tagline     { display: none; }
  .ft-cta-deco    { display: none; }
  .ft-quick-card  { padding: 22px 20px 18px; }
}

/* Lang dropdown + mega-menu overrides */
.lang-dropdown {
  background: var(--eh-ink) !important;
  border: 2px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  padding: 6px !important;
  box-shadow: 6px 6px 0 var(--eh-mag) !important;
  min-width: 160px !important;
}
.lang-option {
  color: var(--eh-cream) !important;
  border-radius: 8px !important;
  gap: 10px !important;
}
.lang-option:hover { background: rgba(255,255,255,.07) !important; color: var(--eh-lime) !important; }
.lang-option.active { background: var(--eh-mag) !important; color: #fff !important; }
.lang-name { font-weight: 700 !important; }

/* Mega menu — light cream card, funky hover pills */
.mega-menu {
  background: var(--eh-cream, #F8F6F1) !important;
  border: 2.5px solid var(--eh-ink, #0A0818) !important;
  border-radius: 20px !important;
  box-shadow: 7px 7px 0 var(--eh-ink, #0A0818) !important;
}
[data-theme="dark"] .mega-menu {
  background: #1a1030 !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 7px 7px 0 rgba(255,255,255,.07) !important;
}
.mega-menu-heading a {
  color: var(--eh-ink, #0A0818) !important;
  font-family: 'Fraunces', serif !important;
  font-weight: 800 !important;
  font-size: 0.72rem !important;
}
[data-theme="dark"] .mega-menu-heading a { color: var(--eh-cream, #F8F6F1) !important; }
.mega-menu-heading a:hover { color: var(--eh-mag, #FF1F8A) !important; }
.mega-menu-links li a {
  color: var(--eh-ink, #0A0818) !important;
  font-size: .8rem !important;
  transition: all .15s !important;
}
[data-theme="dark"] .mega-menu-links li a { color: rgba(248,246,241,.8) !important; }
.mega-menu-links li a:hover {
  background: var(--eh-mag, #FF1F8A) !important;
  color: #fff !important;
  border-color: var(--eh-ink, #0A0818) !important;
  box-shadow: 3px 3px 0 var(--eh-ink, #0A0818) !important;
  transform: translate(-2px,-2px) !important;
}
.mega-menu-section { border-bottom-color: rgba(10,8,24,.1) !important; }
[data-theme="dark"] .mega-menu-section { border-bottom-color: rgba(255,255,255,.07) !important; }
.mega-menu-footer { border-top-color: rgba(10,8,24,.1) !important; }
[data-theme="dark"] .mega-menu-footer { border-top-color: rgba(255,255,255,.07) !important; }

/* ════════════════════════════════════════════════════════════════
   GLOBAL SCROLL REVEAL
   ════════════════════════════════════════════════════════════════ */
.eh-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);
}
.eh-reveal.eh-in { opacity: 1; transform: none; }

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE PATCHES
   ════════════════════════════════════════════════════════════════ */
@media (max-width:767px) {
  .hero h1 { font-size: 2.8rem; }
  .hero-stats-row { gap: 20px; }
  .hero-stat-item .hs-num { font-size: 1.8rem; }
  .vtype-title { font-size: 2.2rem; }
  .section-title h2, .section-header h2 { font-size: 2.2rem; }
  .eh-marquee-track { font-size: 1.4rem; }
  .testimonial-text { font-size: 1rem; }
  .faq-question { font-size: .95rem; }
  .contact-card { margin: 0 0 12px 0; }
}
@media (max-width:480px) {
  .hero h1 { font-size: 2.2rem; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .stat-number { font-size: 1.9rem; }
}

/* ============================================================
   STORY RIBBON — From dream to departures board
   ============================================================ */
.story-ribbon {
  /* Luxury deep navy + fine gold line texture */
  background:
    repeating-linear-gradient(
      -52deg,
      transparent, transparent 18px,
      rgba(201,168,64,.04) 18px, rgba(201,168,64,.04) 19px
    ),
    radial-gradient(ellipse at 80% 20%, rgba(215,25,32,.08) 0%, transparent 55%),
    linear-gradient(135deg, #060E1A 0%, #0A1628 100%);
  color: var(--eh-cream);
  border-top: var(--eh-border);
  border-bottom: 2px solid rgba(201,168,64,0.35); /* gold divider */
  padding: 48px 0 44px;
  position: relative;
  overflow: hidden;
}
.story-ribbon::before {
  content: "";
  position: absolute;
  top: -120px; right: -120px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(255,224,102,.12) 0%, transparent 70%);
  pointer-events: none;
}
.story-ribbon .section-eyebrow {
  color: #E8D48A;
  background: rgba(201,168,64,.10);
  border: 1px solid rgba(201,168,64,.28);
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 2px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.story-ribbon-headline {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(2rem, 4.5vw, 3.8rem);
  line-height: .93;
  letter-spacing: -.03em;
  color: var(--eh-cream);
  margin-top: 14px;
}
.story-ribbon-headline em {
  color: var(--eh-gold);
  font-style: italic;
}
.story-ribbon-sub {
  font-size: 1rem;
  color: rgba(248,246,241,.60);
  max-width: 320px;
  line-height: 1.6;
  margin-bottom: 0;
}

/* 4-column step grid */
.story-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 52px;
  border: 1px dashed rgba(248,246,241,.18);
  border-radius: 4px;
  overflow: hidden;
}
.story-step {
  padding: 32px 28px 28px;
  border-right: 1px dashed rgba(248,246,241,.18);
  position: relative;
  cursor: pointer;
  transition: background .35s;
}
.story-step:last-child { border-right: none; }
.story-step:hover { background: rgba(201,168,64,.04); }

/* Outline number */
.story-step .step-num {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(4.5rem, 8vw, 6.5rem);
  line-height: .85;
  color: transparent;
  -webkit-text-stroke: 2px rgba(248,246,241,.18);
  display: block;
  margin-bottom: 20px;
  transition: color .4s ease, -webkit-text-stroke .4s ease, text-shadow .4s ease;
}
.story-step.active .step-num {
  color: var(--eh-gold);
  -webkit-text-stroke: 2px var(--eh-gold);
  text-shadow: 0 0 32px rgba(255,224,102,.55);
}

/* Step heading */
.story-step h4 {
  font-family: 'Fraunces', serif;
  font-weight: 800;
  font-size: 1.25rem;
  margin-bottom: 10px;
  color: rgba(248,246,241,.38);
  transition: color .4s ease;
}
.story-step.active h4 { color: var(--eh-gold); }

/* Step body text */
.story-step p {
  font-size: .88rem;
  line-height: 1.65;
  color: rgba(248,246,241,.35);
  margin: 0;
  transition: color .4s ease;
}
.story-step.active p { color: rgba(248,246,241,.80); }

/* Active step accent bar at top */
.story-step::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--eh-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s ease;
}
.story-step.active::after { transform: scaleX(1); }

/* Responsive: 2-col on tablet */
@media (max-width: 991px) {
  .story-steps { grid-template-columns: repeat(2, 1fr); }
  .story-step:nth-child(even) { border-right: none; }
  .story-step:nth-child(3),
  .story-step:nth-child(4) { border-top: 1px dashed rgba(248,246,241,.18); }
  .story-ribbon .d-flex { flex-direction: column; align-items: flex-start !important; }
  .story-ribbon-sub { max-width: 100%; }
}

/* Responsive: 1-col on mobile */
@media (max-width: 575px) {
  .story-steps { grid-template-columns: 1fr; }
  .story-step { border-right: none; border-bottom: 1px dashed rgba(248,246,241,.18); }
  .story-step:last-child { border-bottom: none; }
  .story-step:nth-child(3),
  .story-step:nth-child(4) { border-top: none; }
  .story-ribbon { padding: 36px 0 32px; }
  .story-step { padding: 24px 20px; }
}

/* ============================================================
   EXPLORER MAP — Tap a dot. Get swept away.
   ============================================================ */
.explorer-section {
  background: linear-gradient(160deg, #060E1A 0%, #0A1628 100%);
  color: var(--eh-cream);
  padding: 48px 0;
  border-top: var(--eh-border);
  border-bottom: var(--eh-border);
  overflow: hidden;
}
.explorer-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 40px;
}
.explorer-section .section-eyebrow {
  color: #E8D48A;
  background: rgba(201,168,64,.10);
  border: 1px solid rgba(201,168,64,.28);
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 2px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}
.explorer-headline {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: .93;
  letter-spacing: -.03em;
  color: var(--eh-cream);
  margin: 0;
}
.explorer-headline em {
  color: var(--eh-gold);
  font-style: italic;
}
.explorer-sub {
  color: rgba(248,246,241,.55);
  font-size: .95rem;
  max-width: 320px;
  line-height: 1.55;
  margin: 0;
}

/* 2-col layout */
.explorer-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  min-height: 420px;
}

/* Side panel */
.explorer-panel {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(248,246,241,.12);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.explorer-panel-img {
  height: 160px;
  background-size: cover;
  background-position: center;
  background-image: url('https://images.unsplash.com/photo-1476514525535-07fb3b4ae5f1?w=1600&q=95&auto=format&fit=crop');
  transition: background-image .3s ease;
}
.explorer-panel-body {
  padding: 20px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.explorer-panel-body h3 {
  font-family: 'Fraunces', serif;
  font-weight: 800;
  font-size: 1.4rem;
  color: var(--eh-cream);
  margin: 0;
  transition: all .25s;
}
.explorer-panel-region { color: rgba(248,246,241,.4); font-size: .8rem; }
.explorer-panel-stats {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.explorer-stat .k { font-size: .72rem; color: rgba(248,246,241,.4); text-transform: uppercase; letter-spacing: .08em; }
.explorer-stat .v { font-family: 'Fraunces', serif; font-weight: 800; font-size: 1.15rem; color: var(--eh-gold); margin-top: 2px; }
.btn-explorer-cta {
  display: inline-block;
  margin-top: auto;
  padding: 11px 22px;
  background: #D71920;
  color: #fff;
  font-weight: 700;
  font-size: .85rem;
  border-radius: 999px;
  text-decoration: none;
  text-align: center;
  transition: all .22s;
  border: none;
  box-shadow: 0 8px 32px rgba(215,25,32,.22);
}
.btn-explorer-cta:hover {
  background: #0A1628;
  color: #fff;
  box-shadow: 0 6px 28px rgba(10,22,40,.25);
  transform: translateY(-2px);
}

/* Map area */
.explorer-map-wrap {
  position: relative;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(248,246,241,.1);
  border-radius: 10px;
  overflow: hidden;
  min-height: 420px;
}
.map-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 10% 12.5%;
  pointer-events: none;
}
.map-routes {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* Pins */
.map-pin {
  position: absolute;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 3;
}
.map-pin-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--eh-lime);
  border: 2px solid rgba(10,8,24,.6);
  box-shadow: 0 0 0 0 rgba(207,255,61,.5);
  transition: transform .2s, box-shadow .2s;
  animation: pingPulse 2.2s ease-out infinite;
}
@keyframes pingPulse {
  0%   { box-shadow: 0 0 0 0 rgba(201,168,64,.60); }
  70%  { box-shadow: 0 0 0 10px rgba(201,168,64,0); }
  100% { box-shadow: 0 0 0 0 rgba(201,168,64,0); }
}
.map-pin:hover .map-pin-dot,
.map-pin.active .map-pin-dot {
  background: #D71920;
  box-shadow: 0 0 0 6px rgba(215,25,32,.28);
  transform: scale(1.5);
  animation: none;
}
.map-pin-label {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--eh-ink);
  color: var(--eh-cream);
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  white-space: nowrap;
  padding: 4px 8px;
  border-radius: 3px;
  border: 1px solid rgba(255,255,255,.12);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s;
}
.map-pin:hover .map-pin-label,
.map-pin.active .map-pin-label { opacity: 1; }
.map-count-badge {
  position: absolute;
  bottom: 12px; left: 12px;
  font-size: .65rem;
  color: rgba(255,246,233,.45);
  font-family: ui-monospace, monospace;
  letter-spacing: .1em;
}

@media (max-width: 991px) {
  .explorer-grid { grid-template-columns: 1fr; }
  .explorer-map-wrap { min-height: 350px; }
  .explorer-head { flex-direction: column; align-items: flex-start; }
  .explorer-sub { max-width: 100%; }
}
@media (max-width: 575px) {
  .explorer-section { padding: 36px 0; }
  .explorer-map-wrap { min-height: 280px; }
}

/* ============================================================
   VIBE SELECTOR — Mess Around Board
   ============================================================ */
.vibe-section {
  background: var(--eh-cream);
  border-top: var(--eh-border);
  border-bottom: var(--eh-border);
  padding: 48px 0;
  overflow: hidden;
}
.vibe-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.vibe-section .section-eyebrow {
  color: #8A6E1A;
  background: rgba(201,168,64,.08);
  border: 1px solid rgba(201,168,64,.22);
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 2px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}
.vibe-headline {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: .93;
  letter-spacing: -.03em;
  color: var(--eh-ink);
  margin: 0 0 16px;
}
.vibe-headline em {
  color: var(--eh-mag);
  font-style: italic;
  transition: color .35s ease;
}
.vibe-sub {
  color: rgba(10,8,24,.55);
  font-size: .92rem;
  line-height: 1.6;
  max-width: 360px;
  margin-bottom: 28px;
}

/* Chips */
.vibe-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.vibe-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 2px solid rgba(10,8,24,.18);
  background: transparent;
  color: var(--eh-ink);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: .88rem;
  cursor: pointer;
  transition: all .22s;
}
.vibe-chip:hover { transform: translateY(-2px); border-color: var(--eh-ink); box-shadow: 3px 3px 0 var(--eh-ink); }
.vibe-chip.active,
.vibe-chip.v-orange.active,
.vibe-chip.v-mag.active,
.vibe-chip.v-cob.active,
.vibe-chip.v-lime.active,
.vibe-chip.v-violet.active,
.vibe-chip.v-green.active,
.vibe-chip.v-pink.active,
.vibe-chip.v-amber.active {
  background: #D71920;
  color: #fff;
  border-color: #D71920;
  box-shadow: 0 6px 24px rgba(215,25,32,.22);
}
.vibe-emoji { font-size: 1.1em; }

/* Preview card stack */
.vibe-preview { position: relative; height: 480px; border-radius: 12px; overflow: hidden; }
.vibe-card {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s ease, transform .4s ease;
  transform: scale(.97);
}
.vibe-card.active { opacity: 1; pointer-events: auto; transform: scale(1); }
.vibe-card-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 6s ease;
  filter: contrast(1.08) saturate(1.12);
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.vibe-card.active .vibe-card-img { transform: scale(1.05) translateZ(0); }
/* Vibe card overlay — minimal gradient, image clearly visible */
.vibe-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6,14,26,.60) 0%, rgba(6,14,26,.02) 40%, transparent 100%);
}
.vibe-card-content {
  position: absolute;
  inset: 0;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 2;
}
.vibe-card-name {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 2.2rem;
  color: var(--eh-cream);
  letter-spacing: -.03em;
  line-height: .95;
  margin-bottom: 16px;
}
.vibe-card-meta {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.vibe-meta-item .k { font-size: .7rem; color: rgba(248,246,241,.5); text-transform: uppercase; letter-spacing: .1em; }
.vibe-meta-item .v { font-family: 'Fraunces', serif; font-weight: 800; font-size: 1.25rem; color: var(--eh-gold); margin-top: 2px; }
.btn-vibe-cta {
  display: inline-block;
  align-self: flex-start;
  padding: 11px 22px;
  background: var(--eh-cream);
  color: var(--eh-ink);
  font-weight: 800;
  font-size: .85rem;
  border-radius: 3px;
  text-decoration: none;
  border: 2px solid var(--eh-cream);
  transition: all .2s;
}
.btn-vibe-cta:hover { background: #D71920; border-color: #D71920; color: #fff; box-shadow: 0 8px 32px rgba(215,25,32,.22); transform: translateY(-2px); }

@media (max-width: 991px) {
  .vibe-layout { grid-template-columns: 1fr; }
  .vibe-preview { height: 380px; }
  .vibe-sub { max-width: 100%; }
}
@media (max-width: 575px) {
  .vibe-section { padding: 36px 0; }
  .vibe-preview { height: 260px; }
  .vibe-card-name { font-size: 1.4rem; }
  .vibe-chip { font-size: .78rem; padding: 7px 12px; gap: 5px; }
  .vibe-headline { font-size: clamp(1.6rem, 8vw, 2.4rem); }
}

/* ============================================================
   FAQ — 2-column compact layout
   ============================================================ */
.faq-layout {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 56px;
  align-items: start;
}
.faq-heading-col { position: sticky; top: 100px; }
.faq-main-title {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  line-height: .95;
  letter-spacing: -.03em;
  color: var(--eh-cream);
}
.faq-main-title em {
  color: var(--eh-gold);
  font-style: italic;
}
.faq-main-desc {
  color: rgba(248,246,241,.55);
  font-size: .95rem;
  line-height: 1.65;
  max-width: 280px;
}
.btn-faq-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: transparent;
  border: 2px solid rgba(201,168,64,.40);
  color: var(--eh-gold);
  font-weight: 700;
  font-size: .85rem;
  border-radius: 999px;
  text-decoration: none;
  transition: all .2s;
}
.btn-faq-cta:hover {
  background: var(--eh-gold);
  color: #0A1628;
  border-color: var(--eh-gold);
  box-shadow: 0 8px 30px rgba(201,168,64,.25);
}

/* Answer smooth max-height transition */
.faq-answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.4,0,.2,1);
}

@media (max-width: 991px) {
  .faq-layout { grid-template-columns: 1fr; gap: 32px; }
  .faq-heading-col { position: static; }
  .faq-main-desc { max-width: 100%; }
}

/* ============================================================
   STICKER SECTION — Travel is messy. Your mood board should be too.
   ============================================================ */
.sticker-section {
  /* Luxury navy + subtle gold dot-grid */
  background:
    radial-gradient(circle, rgba(201,168,64,.07) 1.5px, transparent 1.5px),
    radial-gradient(ellipse at 85% 15%, rgba(215,25,32,.07) 0%, transparent 55%),
    linear-gradient(158deg, #060E1A 0%, #0A1628 100%);
  background-size: 26px 26px, 100% 100%, 100% 100%;
  color: var(--eh-cream);
  border-top: 1px solid rgba(201,168,64,0.14);
  border-bottom: 1px solid rgba(201,168,64,0.14);
  padding: 32px 0 40px;
  position: relative;
  overflow: hidden;
}
.sticker-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 0;
}
.sticker-headline {
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: clamp(1.6rem, 3.5vw, 2.8rem);
  line-height: .95;
  letter-spacing: -.03em;
  color: var(--eh-cream);
  margin: 0 0 10px;
}
.sticker-headline em {
  color: var(--eh-gold);
  font-style: italic;
}
.sticker-hint {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 1.15rem;
  color: var(--eh-gold);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}
.sticker-btns {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  flex-shrink: 0;
}
.btn-sticker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 999px;
  border: 2px solid var(--eh-cream);
  background: transparent;
  color: var(--eh-cream);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: .9rem;
  cursor: pointer;
  transition: all .2s;
}
.btn-sticker:hover {
  background: #C9A840;
  border-color: #C9A840;
  color: #0A1628;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(201,168,64,.25);
}

/* Canvas */
.sticker-canvas {
  position: relative;
  height: 320px;
  margin-top: 28px;
  touch-action: none;
}

/* Individual stickers */
.sticker {
  position: absolute;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  transition: box-shadow .2s, transform .25s cubic-bezier(.34,1.56,.64,1);
  will-change: transform;
  border: 3px solid var(--eh-ink);
  display: grid;
  place-items: center;
  text-align: center;
  font-family: 'Fraunces', serif;
  font-weight: 900;
  font-size: 1.25rem;
  line-height: 1.1;
}
.sticker:hover    { z-index: 50; transform: scale(1.05) rotate(0deg) !important; }
.sticker.dragging {
  cursor: grabbing;
  transition: none;
  z-index: 100;
  transform: scale(1.08) rotate(0deg) !important;
  box-shadow: 12px 12px 0 rgba(10,8,24,.4);
}

/* Shapes */
.s-circle { width: 162px; height: 162px; border-radius: 50%; }
.s-square  { width: 190px; height: 130px; border-radius: 14px; padding: 14px; }
.s-pill    { padding: 16px 28px; border-radius: 999px; font-size: 1.1rem; white-space: nowrap; }

/* Colours — using our own tokens */
.s-mag    { background: var(--eh-mag);   color: var(--eh-cream); }
.s-lime   { background: var(--eh-lime);  color: var(--eh-ink); }
.s-cream  { background: var(--eh-cream); color: var(--eh-ink); }
.s-orange { background: #D71920;         color: #fff; }          /* Emirates Red */
.s-violet { background: #1B2A4A;         color: #fff; }          /* Navy */
.s-pink   { background: #FAF4E1;         color: #0A1628; }       /* Gold pale */
.s-cobalt { background: var(--eh-cobalt); color: var(--eh-cream); }

@media (max-width: 767px) {
  .sticker-canvas { height: 420px; }
  .sticker-head   { flex-direction: column; align-items: flex-start; }
  .sticker-btns   { margin-top: 4px; }
}

/* ============================================================
   LEAFLET MAP
   ============================================================ */
#leafletMap {
  width: 100%;
  height: 420px;
}
@media (max-width: 991px) { #leafletMap { height: 350px; } }
@media (max-width: 575px) { #leafletMap { height: 280px; } }

/* Dark-theme attribution strip */
.leaflet-control-attribution {
  background: rgba(10,8,24,.8) !important;
  color: rgba(248,246,241,.45) !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
  border-radius: 4px 0 0 0 !important;
}
.leaflet-control-attribution a { color: rgba(248,246,241,.6) !important; }

/* Pin tooltips */
.lf-tooltip {
  background: #0A1628 !important;
  border: 1px solid rgba(201,168,64,.45) !important;
  color: var(--eh-cream) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
.leaflet-tooltip.lf-tooltip::before { display: none !important; }

/* ════════════════════════════════════════════════════════════════
   ENQUIRY MODAL — light cream theme
   ════════════════════════════════════════════════════════════════ */
#enquiryModal .modal-content {
  background: var(--eh-cream) !important;
  color: var(--eh-ink) !important;
  border: var(--eh-border) !important;
  border-radius: 16px !important;
  box-shadow: 10px 10px 0 var(--eh-mag) !important;
}
#enquiryModal .modal-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(10,8,24,.1) !important;
  border-radius: 16px 16px 0 0 !important;
  padding: 22px 28px 16px !important;
}
#enquiryModal .modal-title {
  font-family: 'Fraunces', serif !important;
  font-weight: 900 !important;
  font-size: 1.5rem !important;
  color: var(--eh-ink) !important;
}
#enquiryModal .modal-title i { color: var(--eh-mag) !important; }
#enquiryModal .btn-close {
  filter: none !important;
  opacity: .5 !important;
}
#enquiryModal .btn-close:hover { opacity: 1 !important; }
#enquiryModal .modal-body { padding: 24px 28px !important; background: var(--eh-cream) !important; }
#enquiryModal .form-label {
  color: rgba(10,8,24,.65) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  margin-bottom: 5px !important;
}
#enquiryModal .form-label span.text-danger { color: var(--eh-mag) !important; }
#enquiryModal .form-control,
#enquiryModal .form-select {
  background: #fff !important;
  border: 2px solid rgba(10,8,24,.15) !important;
  color: var(--eh-ink) !important;
  border-radius: 8px !important;
  font-family: 'Space Grotesk', sans-serif !important;
}
#enquiryModal .form-control::placeholder { color: rgba(10,8,24,.35) !important; }
#enquiryModal .form-control:focus,
#enquiryModal .form-select:focus {
  background: #fff !important;
  border-color: var(--eh-cobalt) !important;
  box-shadow: 0 0 0 3px rgba(0,162,255,.15) !important;
  outline: none !important;
  color: var(--eh-ink) !important;
}
#enquiryModal .form-select option {
  background: #fff !important;
  color: var(--eh-ink) !important;
}
#enquiryModal .enquiry-section-title {
  font-family: 'Fraunces', serif !important;
  font-weight: 800 !important;
  font-size: .95rem !important;
  color: var(--eh-mag) !important;
}
#enquiryModal hr {
  border-color: rgba(10,8,24,.1) !important;
  opacity: 1 !important;
}
#enquiryModal .btn-cta {
  background: var(--eh-mag) !important;
  color: #fff !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 800 !important;
  border: 2px solid var(--eh-ink) !important;
  border-radius: 999px !important;
  transition: all .2s !important;
}
#enquiryModal .btn-cta:hover {
  background: var(--eh-ink) !important;
  color: var(--eh-cream) !important;
  box-shadow: 4px 4px 0 var(--eh-mag) !important;
}

/* ════════════════════════════════════════════════════════════════
   GLOBAL RESPONSIVE POLISH
   ════════════════════════════════════════════════════════════════ */

/* General container padding on mobile */
@media (max-width: 575px) {
  .container, .container-fluid { padding-left: 16px !important; padding-right: 16px !important; }
}

/* Nav: hide mega-menu labels on very small screens */
@media (max-width: 480px) {
  .navbar-brand { font-size: 1.2rem !important; }
  .hero h1 { font-size: 2rem !important; }
  .ft-cta-title { font-size: 2.8rem !important; line-height: .9 !important; }
  .ft-grid { gap: 20px !important; }
  .ft-offices-grid { grid-template-columns: 1fr !important; }
  .sticker-canvas { height: 380px !important; }
  .vibe-chip { font-size: .72rem !important; padding: 5px 9px !important; gap: 4px !important; }
  /* Ensure body content clears fixed navbar on all pages */
  body > section:first-of-type,
  .page-hero,
  .packages-hero,
  .vacation-hero,
  .hero-section {
    padding-top: 70px !important;
  }
  /* Modal full-screen on tiny devices */
  #enquiryModal .modal-dialog { margin: 0 !important; max-width: 100% !important; }
  #enquiryModal .modal-content { border-radius: 0 !important; min-height: 100vh !important; box-shadow: none !important; }
}

/* ════════════════════════════════════════════════════════════════
   ██████████████████████████████████████████████████████████████
   LUXURY OVERRIDE LAYER — Emirates Red · Navy · Gold
   Cascades over all neo-brutalist rules above.
   Zero PHP/structure changes — pure visual refinement.
   ██████████████████████████████████████████████████████████████
   ════════════════════════════════════════════════════════════════ */

/* ── Scrollbar ───────────────────────────────────────────────── */
::-webkit-scrollbar-thumb { background: #D71920 !important; }

/* ── NAVBAR ─────────────────────────────────────────────────── */
.navbar {
  background: rgba(255,255,255,0.98) !important;
  border-bottom: 1px solid rgba(201,168,64,0.18) !important;
  box-shadow: 0 1px 0 rgba(10,22,40,0.05), 0 2px 16px rgba(10,22,40,0.04) !important;
}
.navbar-brand {
  font-family: 'Fraunces', serif !important;
  font-weight: 900 !important;
  color: #0A1628 !important;
  letter-spacing: -.03em !important;
}
.navbar-brand::after {
  background: linear-gradient(90deg, #D71920 0%, #C9A840 100%) !important;
}
.eh-brand-word1 { color: #0A1628 !important; }
.eh-brand-word2 { color: #D71920 !important; font-style: italic !important; }

.nav-link { color: #0A1628 !important; font-weight: 500 !important; }
.nav-link:hover { color: #D71920 !important; background: rgba(215,25,32,0.07) !important; box-shadow: none !important; transform: none !important; }
.nav-link.active { color: #D71920 !important; }

.btn-enquire {
  background: #D71920 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important;
  transform: none !important;
}
.btn-enquire:hover {
  background: #B01218 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 36px rgba(215,25,32,0.28) !important;
}

[data-theme="dark"] .navbar {
  background: rgba(6,14,26,0.97) !important;
  border-bottom: 1px solid rgba(201,168,64,0.12) !important;
}
[data-theme="dark"] .navbar-brand { color: #fff !important; }
[data-theme="dark"] .eh-brand-word1 { color: #fff !important; }
[data-theme="dark"] .nav-link { color: rgba(240,237,232,0.85) !important; }
[data-theme="dark"] .nav-link:hover { color: #fff !important; background: rgba(215,25,32,0.10) !important; }

/* ── MEGA MENU ──────────────────────────────────────────────── */
.mega-menu {
  background: #fff !important;
  border: 1px solid rgba(201,168,64,0.22) !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 60px rgba(10,22,40,0.13), 0 4px 16px rgba(10,22,40,0.07) !important;
}
[data-theme="dark"] .mega-menu {
  background: #0D1E38 !important;
  border-color: rgba(201,168,64,0.15) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.45) !important;
}
.mega-menu-heading a { color: #0A1628 !important; }
[data-theme="dark"] .mega-menu-heading a { color: rgba(240,237,232,0.9) !important; }
.mega-menu-heading a:hover { color: #D71920 !important; }
.mega-menu-links li a { color: #0A1628 !important; border: none !important; box-shadow: none !important; }
[data-theme="dark"] .mega-menu-links li a { color: rgba(240,237,232,0.75) !important; }
.mega-menu-links li a:hover {
  background: rgba(215,25,32,0.07) !important;
  color: #D71920 !important;
  border: none !important;
  box-shadow: none !important;
  transform: translateX(4px) !important;
}
.mega-menu-viewall-link {
  background: #D71920 !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important;
  transform: none !important;
}
.mega-menu-viewall-link:hover {
  background: #0A1628 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 28px rgba(10,22,40,0.10) !important;
}

/* Lang dropdown */
.lang-dropdown {
  background: #fff !important;
  border: 1px solid rgba(201,168,64,0.22) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 40px rgba(10,22,40,0.12) !important;
}
.lang-option { color: #0A1628 !important; }
.lang-option:hover { background: rgba(215,25,32,0.06) !important; color: #D71920 !important; }
.lang-option.active { background: #D71920 !important; color: #fff !important; }
[data-theme="dark"] .lang-dropdown { background: #0D1E38 !important; border-color: rgba(201,168,64,0.15) !important; }
[data-theme="dark"] .lang-option { color: rgba(240,237,232,0.85) !important; }

/* ── HERO ───────────────────────────────────────────────────── */
.hero {
  background:
    radial-gradient(ellipse at 78% 18%, rgba(215,25,32,.10) 0%, transparent 55%),
    radial-gradient(ellipse at 6% 82%, rgba(201,168,64,.07) 0%, transparent 50%),
    linear-gradient(160deg, #0A1628 0%, #0D1F40 55%, #12243A 100%) !important;
  border-bottom: 1px solid rgba(201,168,64,0.14) !important;
}
.hero-badge {
  background: rgba(201,168,64,0.12) !important;
  border: 1px solid rgba(201,168,64,0.35) !important;
  color: #E8D48A !important;
}
.hero-badge .pulse-dot { background: #C9A840 !important; }
.hero h1 { color: #fff !important; }
.hero h1 .eh-accent-mag { color: #E8D48A !important; text-shadow: 0 0 36px rgba(201,168,64,.28) !important; }
.hero h1 .eh-accent-cob { color: #D71920 !important; text-shadow: 0 0 40px rgba(215,25,32,.35) !important; }
.hero h1 .highlight {
  background: linear-gradient(135deg, #C9A840 0%, #E8D48A 60%, #FAF4E1 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.hero h1 .eh-underline::after { background: #D71920 !important; opacity: .55 !important; }
.hero-stats-row { border-top: 1px solid rgba(201,168,64,0.18) !important; }
.hero-stat-item .hs-num { color: #fff !important; }
.hero-stat-item .hs-lbl { color: rgba(255,255,255,.45) !important; }
.hero .search-box {
  border: 1px solid rgba(201,168,64,0.28) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 55px rgba(10,22,40,0.26), 0 4px 14px rgba(215,25,32,0.07) !important;
}
.hero .search-selector:hover { color: #D71920 !important; background: rgba(215,25,32,0.06) !important; }
.hero .btn-search { background: #D71920 !important; border: none !important; box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important; }
.hero .btn-search:hover { background: #B01218 !important; box-shadow: 0 10px 32px rgba(215,25,32,0.30) !important; transform: translateY(-2px) !important; }

/* ── MARQUEE STRIP ──────────────────────────────────────────── */
.eh-marquee {
  background: #0A1628 !important;
  color: rgba(232,212,138,0.80) !important;
  border-top: 1px solid rgba(201,168,64,0.14) !important;
  border-bottom: 1px solid rgba(201,168,64,0.14) !important;
}
.eh-marquee-track { color: rgba(232,212,138,0.80) !important; }
.eh-marquee-track .m-dot { background: #C9A840 !important; }

/* ── STATS BAR ──────────────────────────────────────────────── */
.stats-bar { background: #fff !important; border-bottom: 1px solid rgba(10,22,40,0.07) !important; }
.stat-item,
.stat-item:nth-child(1), .stat-item:nth-child(2),
.stat-item:nth-child(3), .stat-item:nth-child(4) {
  background: #fff !important;
  border-right: 1px solid rgba(10,22,40,0.06) !important;
  box-shadow: none !important;
}
.stat-item:hover,
.stat-item:hover:nth-child(1), .stat-item:hover:nth-child(2),
.stat-item:hover:nth-child(3), .stat-item:hover:nth-child(4) {
  background: #FAFAF8 !important;
  transform: none !important;
}
.stat-item .stat-icon,
.stat-item:nth-child(1) .stat-icon, .stat-item:nth-child(2) .stat-icon,
.stat-item:nth-child(3) .stat-icon, .stat-item:nth-child(4) .stat-icon {
  color: #C9A840 !important; opacity: 1 !important;
}
.stat-item .stat-number,
.stat-item:nth-child(1) .stat-number, .stat-item:nth-child(2) .stat-number,
.stat-item:nth-child(3) .stat-number, .stat-item:nth-child(4) .stat-number {
  font-family: 'Fraunces', serif !important;
  color: #0A1628 !important;
}
.stat-item .stat-label,
.stat-item:nth-child(1) .stat-label, .stat-item:nth-child(2) .stat-label,
.stat-item:nth-child(3) .stat-label, .stat-item:nth-child(4) .stat-label {
  color: #64748B !important;
}
[data-theme="dark"] .stats-bar { background: #0A1628 !important; }
[data-theme="dark"] .stat-item,
[data-theme="dark"] .stat-item:nth-child(1), [data-theme="dark"] .stat-item:nth-child(2),
[data-theme="dark"] .stat-item:nth-child(3), [data-theme="dark"] .stat-item:nth-child(4) {
  background: #0A1628 !important; border-right-color: rgba(255,255,255,0.05) !important;
}
[data-theme="dark"] .stat-item:nth-child(1) .stat-number, [data-theme="dark"] .stat-item:nth-child(2) .stat-number,
[data-theme="dark"] .stat-item:nth-child(3) .stat-number, [data-theme="dark"] .stat-item:nth-child(4) .stat-number { color: #fff !important; }
[data-theme="dark"] .stat-item:nth-child(1) .stat-label, [data-theme="dark"] .stat-item:nth-child(2) .stat-label,
[data-theme="dark"] .stat-item:nth-child(3) .stat-label, [data-theme="dark"] .stat-item:nth-child(4) .stat-label { color: rgba(255,255,255,0.45) !important; }

/* ── SECTION HEADINGS ───────────────────────────────────────── */
.section-eyebrow {
  color: #8A6E1A !important;
  background: #FAF4E1 !important;
  border: 1px solid rgba(201,168,64,0.25) !important;
  border-radius: 999px !important;
}
[data-theme="dark"] .section-eyebrow {
  color: #E8D48A !important;
  background: rgba(201,168,64,0.08) !important;
  border-color: rgba(201,168,64,0.18) !important;
}
.section-title h2,
.section-header h2 {
  font-family: 'Fraunces', serif !important;
  font-weight: 900 !important;
  color: #0A1628 !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: #0A1628 !important;
  background-clip: unset !important;
}
[data-theme="dark"] .section-title h2,
[data-theme="dark"] .section-header h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.text-accent { color: #D71920 !important; }

/* ── VACATION TYPE SECTION ──────────────────────────────────── */
.vtype-section { background: #FAFAF8 !important; border-bottom: 1px solid rgba(10,22,40,0.07) !important; }
.vtype-title { color: #0A1628 !important; }
.vtype-title-accent {
  color: #D71920 !important;
  -webkit-text-fill-color: #D71920 !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}
.vtype-label-text { color: #8A6E1A !important; }
.vtype-label-line  { background: #C9A840 !important; }
.vtype-card {
  border: 1px solid rgba(201,168,64,0.16) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 30px rgba(10,22,40,0.10) !important;
}
.vtype-card:hover {
  transform: translateY(-10px) scale(1.02) !important;
  box-shadow: 0 16px 56px rgba(10,22,40,0.13) !important;
  border-color: rgba(201,168,64,0.35) !important;
}
.vtype-card-icon { background: rgba(201,168,64,0.14) !important; border: 1px solid rgba(201,168,64,0.30) !important; color: #C9A840 !important; }
.vtype-card:hover .vtype-card-icon { background: #C9A840 !important; color: #fff !important; border-color: #C9A840 !important; box-shadow: none !important; }
/* Remove vtype card image overlay — images fully visible */
.vtype-card-overlay { background: linear-gradient(to top, rgba(6,14,26,.50) 0%, transparent 40%) !important; }
.vtype-card:hover .vtype-card-overlay { background: linear-gradient(to top, rgba(6,14,26,.55) 0%, transparent 45%) !important; }
/* Sharp, vivid rendering on vtype card images */
.vtype-card-bg img {
  filter: contrast(1.08) saturate(1.12) !important;
  image-rendering: -webkit-optimize-contrast;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.vtype-card:hover .vtype-card-bg img {
  filter: contrast(1.05) saturate(1.08) scale(1.0) !important;
}
[data-theme="dark"] .vtype-section { background: #081224 !important; }

/* ── DESTINATIONS ───────────────────────────────────────────── */
.destinations-section { background: #FAFAF8 !important; border-top: 1px solid rgba(10,22,40,0.06) !important; border-bottom: 1px solid rgba(10,22,40,0.06) !important; }
.dest-card {
  border: 1px solid rgba(201,168,64,0.14) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(10,22,40,0.07) !important;
  height: 300px !important;
}
/* Destination card: barely-there overlay — image clearly visible */
.dest-card-overlay { background: linear-gradient(180deg, transparent 0%, transparent 55%, rgba(6,14,26,.50) 85%, rgba(6,14,26,.70) 100%) !important; }
/* Dest card images — sharp and vivid */
.dest-card-img img {
  filter: contrast(1.06) saturate(1.10) !important;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.dest-card:hover .dest-card-img img { filter: contrast(1.04) saturate(1.08) !important; transform: scale(1.08) translateZ(0) !important; }
.dest-card:hover { transform: translateY(-8px) !important; box-shadow: 0 16px 56px rgba(10,22,40,0.13) !important; border-color: rgba(201,168,64,0.35) !important; }
.dest-card::after { border-color: #C9A840 !important; border-width: 1px !important; border-radius: 16px !important; }
.dest-card-content h4 { font-family: 'Fraunces', serif !important; font-weight: 800 !important; }
.btn-show-more {
  background: transparent !important; color: #D71920 !important;
  border: 1.5px solid #D71920 !important; border-radius: 999px !important;
  box-shadow: none !important; transform: none !important;
}
.btn-show-more:hover { background: #D71920 !important; color: #fff !important; box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important; transform: translateY(-2px) !important; }

/* ── HOW IT WORKS ───────────────────────────────────────────── */
.howit-section { background: #0A1628 !important; }
.howit-section .section-header h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.howit-section .section-header p  { color: rgba(255,255,255,0.58) !important; }
.howit-section .section-eyebrow   { color: #E8D48A !important; background: rgba(201,168,64,0.10) !important; border-color: rgba(201,168,64,0.22) !important; }
.howit-step:nth-child(1) { --sc: #C9A840; }
.howit-step:nth-child(2) { --sc: #D71920; }
.howit-step:nth-child(3) { --sc: #C9A840; }
.howit-step:nth-child(4) { --sc: #D71920; }

/* ── PACKAGE CARDS ──────────────────────────────────────────── */
.package-card {
  border: 1px solid rgba(201,168,64,0.14) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(10,22,40,0.07) !important;
}
.package-card:hover { border-color: rgba(201,168,64,0.35) !important; transform: translateY(-8px) !important; box-shadow: 0 16px 56px rgba(10,22,40,0.13) !important; }
.package-body h5 { font-family: 'Fraunces', serif !important; font-weight: 800 !important; color: #0A1628 !important; }
.package-price { font-family: 'Fraunces', serif !important; font-weight: 900 !important; color: #D71920 !important; }
.package-badge {
  background: linear-gradient(135deg, #D71920 0%, #B01218 100%) !important;
  border: none !important; border-radius: 999px !important;
  box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important; transform: none !important;
}
.btn-view {
  background: linear-gradient(135deg, #D71920 0%, #B01218 100%) !important;
  color: #fff !important; border: none !important;
  border-radius: 999px !important; box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important;
  transform: none !important;
}
.btn-view:hover { background: #0A1628 !important; transform: translateY(-2px) !important; box-shadow: 0 6px 28px rgba(10,22,40,0.10) !important; }
[data-theme="dark"] .package-card { background: #0D1E38 !important; border-color: rgba(201,168,64,0.10) !important; }
[data-theme="dark"] .package-body h5 { color: #fff !important; }

/* ── HOT DEALS ──────────────────────────────────────────────── */
.deals-section { background: #F5F0E8 !important; border-color: rgba(10,22,40,0.06) !important; }
.deal-card { border: 1px solid rgba(201,168,64,0.16) !important; border-radius: 16px !important; box-shadow: 0 2px 12px rgba(10,22,40,0.07) !important; }
.deal-card:hover { transform: translateY(-6px) !important; box-shadow: 0 16px 56px rgba(10,22,40,0.13) !important; border-color: rgba(201,168,64,0.35) !important; }
.deal-body h5 { font-family: 'Fraunces', serif !important; color: #0A1628 !important; }
.deal-offer-price { font-family: 'Fraunces', serif !important; color: #D71920 !important; }
.deal-badge { background: linear-gradient(135deg, #D71920 0%, #B01218 100%) !important; border: none !important; border-radius: 999px !important; box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important; transform: none !important; }
.btn-deal { background: #0A1628 !important; border: none !important; border-radius: 999px !important; }
.btn-deal:hover { background: #D71920 !important; box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important; transform: translateY(-2px) !important; }
[data-theme="dark"] .deals-section { background: #060E1A !important; }
[data-theme="dark"] .deal-card { background: #0D1E38 !important; border-color: rgba(201,168,64,0.10) !important; box-shadow: none !important; }

/* ── TESTIMONIALS ───────────────────────────────────────────── */
.section-warm { background: #FAFAF8 !important; border-color: rgba(10,22,40,0.06) !important; }
.section-warm .section-title h2 { color: #0A1628 !important; -webkit-text-fill-color: #0A1628 !important; }
.testimonial-card { border: 1px solid rgba(201,168,64,0.18) !important; border-radius: 16px !important; box-shadow: 0 2px 12px rgba(10,22,40,0.07) !important; background: #fff !important; }
.testimonial-card:hover { transform: translateY(-5px) !important; box-shadow: 0 6px 30px rgba(10,22,40,0.10) !important; border-color: rgba(201,168,64,0.38) !important; }
.testimonial-card::before { color: #C9A840 !important; opacity: .07 !important; }
.col-md-6:nth-child(1) .testimonial-card { background: #fff !important; border-left: 3px solid #C9A840 !important; }
.col-md-6:nth-child(2) .testimonial-card { background: #fff !important; border-left: 3px solid #D71920 !important; }
.col-md-6:nth-child(3) .testimonial-card { background: #fff !important; border-left: 3px solid #0A1628 !important; }
.testimonial-text { font-family: 'Fraunces', serif !important; font-style: italic !important; }
.testimonial-avatar { background: linear-gradient(135deg, #0A1628 0%, #1B2A4A 100%) !important; border: 2px solid #C9A840 !important; }

/* ── ARTICLES ───────────────────────────────────────────────── */
.section-alt { background: #FAFAF8 !important; }
.article-card, .home-article-card { border: 1px solid rgba(201,168,64,0.16) !important; border-radius: 16px !important; box-shadow: 0 2px 12px rgba(10,22,40,0.07) !important; }
.article-card:hover, .home-article-card:hover { border-color: rgba(201,168,64,0.35) !important; transform: translateY(-6px) !important; box-shadow: 0 6px 30px rgba(10,22,40,0.10) !important; }
.article-title a { font-family: 'Fraunces', serif !important; font-weight: 800 !important; color: #0A1628 !important; }
.article-title a:hover { color: #D71920 !important; }
.btn-read-more { color: #D71920 !important; }
.btn-view-all-articles { border-color: #0A1628 !important; color: #0A1628 !important; border-radius: 999px !important; }
.btn-view-all-articles:hover { background: #0A1628 !important; color: #fff !important; }
[data-theme="dark"] .article-card, [data-theme="dark"] .home-article-card { background: #0D1E38 !important; border-color: rgba(201,168,64,0.08) !important; }
[data-theme="dark"] .article-title a { color: #fff !important; }

/* ── FAQ ────────────────────────────────────────────────────── */
.faq-section { background: linear-gradient(160deg, #0A1628 0%, #0D2040 100%) !important; }
.faq-section .section-header h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.faq-section .section-eyebrow { color: #E8D48A !important; background: rgba(201,168,64,0.10) !important; border-color: rgba(201,168,64,0.22) !important; }
.faq-item { border: 1px solid rgba(201,168,64,0.16) !important; border-radius: 12px !important; background: rgba(255,255,255,.04) !important; box-shadow: none !important; }
.faq-item.active { background: rgba(201,168,64,0.06) !important; border-color: rgba(201,168,64,0.28) !important; }
.faq-question { color: rgba(255,255,255,0.88) !important; font-family: 'Fraunces', serif !important; }
.faq-icon { color: #C9A840 !important; }

/* ── CONTACT ────────────────────────────────────────────────── */
.contact-section { background: #FAFAF8 !important; border-color: rgba(10,22,40,0.07) !important; }
.contact-section .section-title h2 { color: #0A1628 !important; -webkit-text-fill-color: #0A1628 !important; }
.contact-card { background: #fff !important; border: 1px solid rgba(201,168,64,0.18) !important; border-radius: 16px !important; box-shadow: 0 2px 12px rgba(10,22,40,0.07) !important; }
.contact-card:hover { transform: translateY(-5px) !important; box-shadow: 0 6px 30px rgba(10,22,40,0.10) !important; border-color: rgba(201,168,64,0.38) !important; background: #fff !important; }
.contact-card h4 { font-family: 'Fraunces', serif !important; color: #0A1628 !important; }
.contact-desc { color: #4A5568 !important; }
.contact-note { color: #7A8599 !important; }
.contact-col:nth-child(1) .contact-icon-wrap { border-color: rgba(201,168,64,0.35) !important; color: #8A6E1A !important; background: #FAF4E1 !important; }
.contact-col:nth-child(2) .contact-icon-wrap { border-color: rgba(215,25,32,0.22) !important;  color: #D71920 !important;   background: #FCE8E9 !important; }
.contact-col:nth-child(3) .contact-icon-wrap { border-color: rgba(10,22,40,0.14) !important;   color: #0A1628 !important;   background: #E8EDF5 !important; }
.contact-col:nth-child(1) .contact-btn { border-color: #C9A840 !important; color: #8A6E1A !important; background: #FAF4E1 !important; box-shadow: none !important; transform: none !important; }
.contact-col:nth-child(1) .contact-btn:hover { background: #C9A840 !important; color: #0A1628 !important; box-shadow: 0 8px 30px rgba(201,168,64,0.25) !important; transform: translateY(-2px) !important; }
.contact-col:nth-child(2) .contact-btn { border-color: #D71920 !important; color: #D71920 !important; background: #FCE8E9 !important; box-shadow: none !important; }
.contact-col:nth-child(2) .contact-btn:hover { background: #D71920 !important; color: #fff !important; box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important; transform: translateY(-2px) !important; }
.contact-col:nth-child(3) .contact-btn { border-color: #0A1628 !important; color: #0A1628 !important; background: #E8EDF5 !important; box-shadow: none !important; }
.contact-col:nth-child(3) .contact-btn:hover { background: #0A1628 !important; color: #fff !important; box-shadow: 0 6px 28px rgba(10,22,40,0.10) !important; transform: translateY(-2px) !important; }
.contact-phone { color: #0A1628 !important; }
.contact-phone:hover { color: #D71920 !important; }
[data-theme="dark"] .contact-section { background: #0A1628 !important; }
[data-theme="dark"] .contact-card { background: #0D1E38 !important; border-color: rgba(201,168,64,0.10) !important; }

/* ── CTA BANNER ─────────────────────────────────────────────── */
.cta-banner { background: linear-gradient(160deg, #0A1628 0%, #0D2040 40%, #142550 100%) !important; }
.cta-section { background: linear-gradient(135deg, #0A1628 0%, #1B2A4A 100%) !important; }
.btn-cta {
  background: #C9A840 !important; color: #0A1628 !important;
  font-weight: 700 !important; border: none !important;
  box-shadow: 0 8px 30px rgba(201,168,64,0.25) !important;
}
.btn-cta:hover { background: #fff !important; color: #0A1628 !important; }
.btn-cta-outline { border-color: rgba(201,168,64,0.42) !important; color: rgba(232,212,138,0.88) !important; }
.btn-cta-outline:hover { background: #C9A840 !important; color: #0A1628 !important; border-color: #C9A840 !important; }

/* ── FOOTER — light theme override ─────────────────────────── */
.ft { background: #F7F8FA !important; color: #1A202C !important; border-top: 3px solid #E8ECF4 !important; }

/* CTA band stays red */
.ft-cta-band { background: linear-gradient(135deg, #D71920 0%, #9E1015 100%) !important; border-bottom: none !important; }
.ft-cta-title { font-family: 'Fraunces', serif !important; color: #fff !important; }
.ft-cta-title em { color: #FFD580 !important; }
.ft-quick-card { background: #fff !important; border: 1px solid rgba(10,22,40,0.10) !important; border-radius: 16px !important; box-shadow: 0 18px 55px rgba(10,22,40,0.12) !important; }
.ft-quick-title { font-family: 'Fraunces', serif !important; color: #0A1628 !important; }
.ft-quick-input { border: 1px solid rgba(10,22,40,0.14) !important; border-radius: 8px !important; color: #0A1628 !important; box-shadow: none !important; }
.ft-quick-input:focus { border-color: #D71920 !important; box-shadow: 0 0 0 3px rgba(215,25,32,0.10) !important; }
.ft-quick-btn {
  background: linear-gradient(135deg, #D71920 0%, #B01218 100%) !important;
  color: #fff !important; border: none !important;
  border-radius: 8px !important; box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important;
}
.ft-quick-btn:hover { background: #0A1628 !important; transform: translateY(-2px) !important; }

/* Marquee — dark separator strip */
.ft-marquee { background: #0F172A !important; border-bottom: none !important; }
.ft-marquee-track { color: rgba(255,255,255,.38) !important; }
.ft-dot { background: #D71920 !important; }

/* Footer body */
.ft-brand-name {
  font-family: 'Fraunces', serif !important;
  animation: ft-brand-cycle 4s step-start infinite !important;
  box-shadow: 3px 3px 0 currentColor !important;
}
.ft-brand-tag { color: #64748B !important; }
.ft-social a {
  background: #fff !important;
  border: 1.5px solid #D8E0EE !important;
  color: #4A5568 !important;
  box-shadow: none !important; transform: none !important;
}
.ft-social a:hover {
  background: #D71920 !important; border-color: #D71920 !important;
  color: #fff !important; box-shadow: 0 4px 14px rgba(215,25,32,.25) !important;
  transform: translateY(-2px) !important;
}
.ft-phone { color: #4A5568 !important; }
.ft-phone i { color: #D71920 !important; }
.ft-phone:hover { color: #D71920 !important; }

.ft-col-heading { color: #94A3B8 !important; border-bottom: 1px solid #E2E8F4 !important; }
.ft-links a { color: #334155 !important; border: 1.5px solid transparent !important; box-shadow: none !important; }
.ft-links a:hover {
  color: #D71920 !important;
  background: rgba(215,25,32,.06) !important;
  border-color: rgba(215,25,32,.15) !important;
  box-shadow: none !important;
  transform: none !important;
  padding-left: 10px !important;
}

/* Office cards — white on light bg */
.ft-offices { border-bottom: 1px solid #E2E8F4 !important; }
.ft-offices-label { color: #94A3B8 !important; }
.ft-offices-line { background: #E2E8F4 !important; }
.ft-office-card {
  background: #fff !important;
  border: 1.5px solid #E2E8F4 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 4px rgba(15,23,42,.05) !important;
  transition: border-color .22s, box-shadow .22s, transform .22s !important;
}
.ft-office-card::before { display: block !important; }
/* Restore per-card accent top-bar */
.ft-office-card:nth-child(4n+1)::before { background: #D71920 !important; }
.ft-office-card:nth-child(4n+2)::before { background: #2563EB !important; }
.ft-office-card:nth-child(4n+3)::before { background: #059669 !important; }
.ft-office-card:nth-child(4n+4)::before { background: #D97706 !important; }
.ft-office-card:hover {
  background: #fff !important;
  border-color: #D71920 !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 28px rgba(215,25,32,.12) !important;
}
/* Uniform base styles — remove nth-child color locks */
.ft-office-card:nth-child(4n+1),
.ft-office-card:nth-child(4n+2),
.ft-office-card:nth-child(4n+3),
.ft-office-card:nth-child(4n+4) {
  border-color: #E2E8F4 !important;
  background: #fff !important;
}
.ft-office-card:nth-child(4n+1):hover,
.ft-office-card:nth-child(4n+2):hover,
.ft-office-card:nth-child(4n+3):hover,
.ft-office-card:nth-child(4n+4):hover {
  background: #fff !important;
  border-color: #D71920 !important;
  box-shadow: 0 8px 28px rgba(215,25,32,.12) !important;
  transform: translateY(-4px) !important;
}
.ft-office-card:nth-child(4n+1) .ft-office-country,
.ft-office-card:nth-child(4n+2) .ft-office-country,
.ft-office-card:nth-child(4n+3) .ft-office-country,
.ft-office-card:nth-child(4n+4) .ft-office-country { color: #0F172A !important; }
.type-hq { background: rgba(215,25,32,.10) !important; color: #D71920 !important; }
.type-br { background: #F1F5FB !important; color: #64748B !important; }
.ft-office-country { font-family: 'Fraunces', serif !important; color: #0F172A !important; }
.ft-office-row { color: #4A5568 !important; }
.ft-office-row i { color: #D71920 !important; }
.ft-office-row a { color: #4A5568 !important; }
.ft-office-row a:hover { color: #D71920 !important; }

/* Footer bottom bar */
.ft-bottom { border-top: 1px solid #E2E8F4 !important; }
.ft-copy { color: #94A3B8 !important; }
.ft-tagline { color: #B0BCC8 !important; }
.ft-top-btn {
  background: #D71920 !important; color: #fff !important;
  border: none !important; box-shadow: 0 4px 14px rgba(215,25,32,.22) !important;
  border-radius: 999px !important;
}
.ft-top-btn:hover { background: #B01218 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(215,25,32,.30) !important; }

/* ── WHY CHOOSE US ──────────────────────────────────────────── */
.why-us-section::before { background: linear-gradient(90deg, transparent 0%, #D71920 30%, #C9A840 70%, transparent 100%) !important; }
.why-card::before { background: linear-gradient(135deg, #D71920 0%, #C9A840 100%) !important; }
.why-card:hover { box-shadow: 0 14px 45px rgba(215,25,32,0.12) !important; }
.why-icon { background: #FAF4E1 !important; color: #8A6E1A !important; }
.why-card:hover .why-icon { background: linear-gradient(135deg, #D71920 0%, #B01218 100%) !important; color: #fff !important; }
.feature-icon { background: #FAF4E1 !important; color: #8A6E1A !important; }
.feature-box:hover { border-color: rgba(201,168,64,0.35) !important; box-shadow: 0 8px 30px rgba(201,168,64,0.14) !important; }
.feature-box:hover .feature-icon { background: linear-gradient(135deg, #D71920 0%, #B01218 100%) !important; color: #fff !important; }

/* ── EXPLORER / STORY / SPECIAL SECTIONS ───────────────────── */
/* Neutralise the purple/garish special sections */
.story-ribbon {
  background: linear-gradient(135deg, #0A1628 0%, #162550 100%) !important;
  border-top: 1px solid rgba(201,168,64,0.14) !important;
  border-bottom: 1px solid rgba(201,168,64,0.14) !important;
}
.story-ribbon .section-eyebrow { color: #E8D48A !important; background: rgba(201,168,64,0.10) !important; border-color: rgba(201,168,64,0.22) !important; }
.story-ribbon-headline { color: #fff !important; }
.story-ribbon-headline em { color: #E8D48A !important; }
.story-step.active .step-num { color: #C9A840 !important; -webkit-text-stroke: 2px #C9A840 !important; }
.story-step.active h4 { color: #C9A840 !important; }
.story-step::after { background: #C9A840 !important; }

.explorer-section {
  background: linear-gradient(160deg, #0A1628 0%, #0D2040 100%) !important;
  border-top: 1px solid rgba(201,168,64,0.14) !important;
  border-bottom: 1px solid rgba(201,168,64,0.14) !important;
}
.explorer-section .section-eyebrow { color: #E8D48A !important; background: rgba(201,168,64,0.10) !important; border-color: rgba(201,168,64,0.22) !important; }
.explorer-headline em { color: #E8D48A !important; }

/* ── DESTINATION MODAL ──────────────────────────────────────── */
.dest-modal-body, .vac-modal-body { background: #FAFAF8 !important; }
.dest-modal-search-wrap:focus-within { border-bottom-color: #D71920 !important; }
.dest-modal-count { color: #D71920 !important; }
.dest-card-check { background: #D71920 !important; }
.dest-card-badge { color: #D71920 !important; }
.dest-card.active { border-color: #D71920 !important; outline-color: rgba(215,25,32,0.22) !important; box-shadow: 0 0 0 1px #D71920, 0 8px 24px rgba(215,25,32,0.18) !important; }
.dest-modal-close:hover { background: #D71920 !important; border-color: #D71920 !important; }
.dest-card--all { background: #FAFAF8 !important; border-color: rgba(201,168,64,0.22) !important; }
.dest-card--all .dest-card-label span { color: #D71920 !important; text-shadow: none !important; }
.vac-card.active { border-color: #D71920 !important; box-shadow: 0 0 0 1px #D71920, 0 8px 24px rgba(215,25,32,0.18) !important; }
.vac-card:hover .vac-card-icon { background: #D71920 !important; border-color: #D71920 !important; }
.vac-card-count { color: #D71920 !important; }
.vac-card--all .vac-card-icon { background: #FAF4E1 !important; border-color: rgba(201,168,64,0.28) !important; color: #8A6E1A !important; }
.vac-card--all:hover .vac-card-icon { background: #D71920 !important; border-color: #D71920 !important; color: #fff !important; }
.vac-card--all .vac-card-name { color: #D71920 !important; text-shadow: none !important; }
[data-theme="dark"] .dest-modal-body, [data-theme="dark"] .vac-modal-body { background: #0A1628 !important; }

/* ── ENQUIRY MODAL ──────────────────────────────────────────── */
#enquiryModal .modal-content { border: 1px solid rgba(201,168,64,0.22) !important; border-radius: 16px !important; box-shadow: 0 24px 80px rgba(10,22,40,0.20) !important; }
#enquiryModal .btn-cta {
  background: #D71920 !important; color: #fff !important;
  border: none !important; border-radius: 999px !important;
  box-shadow: 0 8px 32px rgba(215,25,32,0.22) !important;
}
#enquiryModal .btn-cta:hover { background: #B01218 !important; box-shadow: none !important; }

/* ── MISC ───────────────────────────────────────────────────── */
.vacation-card:hover { box-shadow: 0 12px 40px rgba(215,25,32,0.12) !important; border-color: rgba(215,25,32,0.22) !important; }
.vacation-card h5 { color: #D71920 !important; }
.currency-option.active { background: #D71920 !important; }
.currency-option:hover:not(.active) { color: #D71920 !important; }
.enquiry-section-title { color: #D71920 !important; }

/* ── DARK MODE SURFACE OVERRIDES ────────────────────────────── */
[data-theme="dark"] .vtype-section { background: #081224 !important; }
[data-theme="dark"] .destinations-section { background: #0A1628 !important; }
[data-theme="dark"] .section-warm { background: #0A1628 !important; }
[data-theme="dark"] .section-alt { background: #0A1628 !important; }
[data-theme="dark"] .deals-section { background: #060E1A !important; }
[data-theme="dark"] .contact-section { background: #0A1628 !important; }
[data-theme="dark"] .footer { background: #060E1A !important; }
[data-theme="dark"] .ft { background: #060E1A !important; }

/* ════════════════════════════════════════════════════════════════
   LUXURY POLISH PASS 2 — Story Ribbon · Explorer · Vibe · Sticker
   ════════════════════════════════════════════════════════════════ */

/* ── STORY RIBBON ("From dream to departures board") ──────── */
.story-ribbon {
  background:
    repeating-linear-gradient(-52deg, transparent, transparent 18px, rgba(201,168,64,.04) 18px, rgba(201,168,64,.04) 19px),
    radial-gradient(ellipse at 80% 18%, rgba(215,25,32,.08) 0%, transparent 52%),
    linear-gradient(135deg, #060E1A 0%, #0A1628 100%) !important;
  border-top: 1px solid rgba(201,168,64,0.14) !important;
  border-bottom: 2px solid rgba(201,168,64,0.35) !important;
}
.story-ribbon::before {
  background: radial-gradient(circle, rgba(201,168,64,.10) 0%, transparent 70%) !important;
}
.story-ribbon-headline { color: #fff !important; }
.story-ribbon-headline em { color: #E8D48A !important; font-style: italic !important; }
.story-ribbon-sub { color: rgba(255,255,255,.50) !important; }
.story-ribbon .section-eyebrow {
  color: #E8D48A !important;
  background: rgba(201,168,64,.10) !important;
  border: 1px solid rgba(201,168,64,.28) !important;
  border-radius: 999px !important;
}
.story-steps {
  border: 1px solid rgba(201,168,64,0.16) !important;
}
.story-step {
  border-right: 1px solid rgba(201,168,64,0.12) !important;
}
.story-step:last-child { border-right: none !important; }
.story-step .step-num {
  -webkit-text-stroke: 2px rgba(201,168,64,0.20) !important;
}
.story-step.active .step-num {
  color: #C9A840 !important;
  -webkit-text-stroke: 2px #C9A840 !important;
  text-shadow: 0 0 40px rgba(201,168,64,.40) !important;
}
.story-step h4 { color: rgba(255,255,255,.30) !important; }
.story-step.active h4 { color: #C9A840 !important; }
.story-step p { color: rgba(255,255,255,.28) !important; }
.story-step.active p { color: rgba(255,255,255,.75) !important; }
.story-step::after { background: #C9A840 !important; height: 3px !important; }
.story-step:nth-child(even)::after { background: #D71920 !important; }

/* ── EXPLORER MAP ("Tap a dot. Get swept away.") ─────────── */
.explorer-section {
  background: linear-gradient(160deg, #060E1A 0%, #0A1628 100%) !important;
  border-top: 1px solid rgba(201,168,64,0.14) !important;
  border-bottom: 1px solid rgba(201,168,64,0.14) !important;
}
.explorer-section .section-eyebrow {
  color: #E8D48A !important;
  background: rgba(201,168,64,.10) !important;
  border: 1px solid rgba(201,168,64,.28) !important;
  border-radius: 999px !important;
}
.explorer-headline em { color: #C9A840 !important; }
.explorer-sub { color: rgba(255,255,255,.48) !important; }
.explorer-panel {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(201,168,64,.18) !important;
  border-radius: 14px !important;
}
.explorer-panel-body h3 { color: #fff !important; }
.explorer-stat .v { color: #C9A840 !important; }
.btn-explorer-cta {
  background: #D71920 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 32px rgba(215,25,32,.22) !important;
  font-weight: 700 !important;
}
.btn-explorer-cta:hover {
  background: #0A1628 !important;
  box-shadow: 0 6px 28px rgba(10,22,40,.25) !important;
  transform: translateY(-2px) !important;
}
.explorer-map-wrap {
  border: 1px solid rgba(201,168,64,.14) !important;
  border-radius: 14px !important;
}

/* ── VIBE SECTION ("What kind of chaos") ─────────────────── */
.vibe-section {
  background: #FAFAF8 !important;
  border-top: 1px solid rgba(10,22,40,.07) !important;
  border-bottom: 1px solid rgba(10,22,40,.07) !important;
}
.vibe-section .section-eyebrow {
  color: #8A6E1A !important;
  background: rgba(201,168,64,.08) !important;
  border: 1px solid rgba(201,168,64,.22) !important;
  border-radius: 999px !important;
}
.vibe-headline { color: #0A1628 !important; }
.vibe-headline em { color: #D71920 !important; -webkit-text-fill-color: #D71920 !important; }
.vibe-sub { color: rgba(10,22,40,.55) !important; }
.vibe-chip {
  border: 2px solid rgba(10,22,40,.15) !important;
  color: #0A1628 !important;
  border-radius: 999px !important;
  background: transparent !important;
}
.vibe-chip:hover {
  border-color: #0A1628 !important;
  box-shadow: 0 4px 16px rgba(10,22,40,.10) !important;
  transform: translateY(-2px) !important;
}
.vibe-chip.active,
.vibe-chip.v-orange.active, .vibe-chip.v-mag.active,
.vibe-chip.v-cob.active,    .vibe-chip.v-lime.active,
.vibe-chip.v-violet.active, .vibe-chip.v-green.active,
.vibe-chip.v-pink.active,   .vibe-chip.v-amber.active {
  background: #D71920 !important;
  color: #fff !important;
  border-color: #D71920 !important;
  box-shadow: 0 6px 24px rgba(215,25,32,.22) !important;
}
.btn-vibe-cta {
  background: rgba(255,255,255,.95) !important;
  color: #0A1628 !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}
.btn-vibe-cta:hover {
  background: #D71920 !important;
  color: #fff !important;
  box-shadow: 0 8px 32px rgba(215,25,32,.22) !important;
  transform: translateY(-2px) !important;
}
.vibe-card-overlay {
  background: linear-gradient(to top, rgba(6,14,26,.60) 0%, rgba(6,14,26,.02) 40%, transparent 100%) !important;
}
.vibe-card-name { color: #fff !important; }
.vibe-meta-item .v { color: #C9A840 !important; }

/* ── STICKER SECTION ("Mess around") ──────────────────────── */
.sticker-section {
  background:
    radial-gradient(circle, rgba(201,168,64,.07) 1.5px, transparent 1.5px),
    radial-gradient(ellipse at 82% 14%, rgba(215,25,32,.07) 0%, transparent 52%),
    linear-gradient(158deg, #060E1A 0%, #0A1628 100%) !important;
  border-top: 1px solid rgba(201,168,64,0.14) !important;
  border-bottom: 1px solid rgba(201,168,64,0.14) !important;
}
.sticker-section .section-eyebrow {
  color: #E8D48A !important;
  background: rgba(201,168,64,.10) !important;
  border: 1px solid rgba(201,168,64,.28) !important;
  border-radius: 999px !important;
}
.sticker-headline { color: #fff !important; }
.sticker-headline em { color: #C9A840 !important; font-style: italic !important; }
.sticker-hint { color: #C9A840 !important; font-family: 'Fraunces', serif !important; font-style: italic !important; }
.btn-sticker {
  border: 1.5px solid rgba(255,255,255,.35) !important;
  color: rgba(255,255,255,.80) !important;
  border-radius: 999px !important;
}
.btn-sticker:hover {
  background: #C9A840 !important;
  border-color: #C9A840 !important;
  color: #0A1628 !important;
  box-shadow: 0 8px 30px rgba(201,168,64,.25) !important;
  transform: translateY(-2px) !important;
}
/* Sticker headline override */
.sticker-headline { font-size: clamp(1.6rem, 3.5vw, 2.8rem) !important; }
.sticker-section { padding: 32px 0 40px !important; }
.sticker-canvas { height: 320px !important; margin-top: 28px !important; }

/* Sticker colours — luxury palette */
.s-mag    { background: #D71920 !important; color: #fff !important; border-color: #D71920 !important; }
.s-lime   { background: #C9A840 !important; color: #0A1628 !important; border-color: #C9A840 !important; }
.s-orange { background: #D71920 !important; color: #fff !important; border-color: #D71920 !important; }
.s-violet { background: #1B2A4A !important; color: #fff !important; border-color: #1B2A4A !important; }
.s-pink   { background: #FAF4E1 !important; color: #0A1628 !important; border-color: rgba(201,168,64,.30) !important; }
.s-cobalt { background: #0A1628 !important; color: #fff !important; border-color: #0A1628 !important; }
.sticker  { border: 2px solid rgba(255,255,255,.08) !important; }

/* ── HOW IT WORKS — step icon & step colour tokens ──────── */
.howit-section .section-eyebrow {
  color: #E8D48A !important;
  background: rgba(201,168,64,.10) !important;
  border: 1px solid rgba(201,168,64,.22) !important;
  border-radius: 999px !important;
}
.howit-section .section-header h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.howit-section .section-header p  { color: rgba(255,255,255,.50) !important; }
.howit-content h5 { color: #fff !important; }
.howit-content p  { color: rgba(255,255,255,.55) !important; }

/* ── FAQ CTA ───────────────────────────────────────────────── */
.btn-faq-cta { color: var(--eh-gold) !important; border-color: rgba(201,168,64,.40) !important; }
.btn-faq-cta:hover { background: var(--eh-gold) !important; color: #0A1628 !important; border-color: var(--eh-gold) !important; box-shadow: 0 8px 30px rgba(201,168,64,.25) !important; }

/* ── DARK MODE SURFACE OVERRIDES ────────────────────────────── */
[data-theme="dark"] .vtype-section { background: #081224 !important; }
[data-theme="dark"] .destinations-section { background: #0A1628 !important; }
[data-theme="dark"] .section-warm { background: #0A1628 !important; }
[data-theme="dark"] .section-alt { background: #0A1628 !important; }
[data-theme="dark"] .deals-section { background: #060E1A !important; }
[data-theme="dark"] .contact-section { background: #0A1628 !important; }
[data-theme="dark"] .footer { background: #060E1A !important; }
[data-theme="dark"] .ft { background: #060E1A !important; }
[data-theme="dark"] .vibe-section { background: #0A1628 !important; }
[data-theme="dark"] .vibe-headline { color: #fff !important; }
[data-theme="dark"] .vibe-headline em { color: #D71920 !important; -webkit-text-fill-color: #D71920 !important; }
[data-theme="dark"] .vibe-chip { color: rgba(255,255,255,.80) !important; border-color: rgba(255,255,255,.15) !important; }
[data-theme="dark"] .sticker-section { background: #060E1A !important; }

