/* Hallmark · macrostructure: editorial destination catalogue · tone: luxury coastal · anchor hue: antique gold */
html,
.destination-page,
body {
  overflow-x: clip;
}

.footer-grid {
  grid-template-columns: minmax(220px, 1.15fr) minmax(150px, 0.75fr) minmax(280px, 1.35fr) minmax(240px, 1.1fr);
  gap: clamp(36px, 5vw, 72px);
}

.footer-destination-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.lum360-credit {
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(184, 150, 12, 0.45);
  transition: color 0.3s ease, border-color 0.3s ease;
}

.lum360-credit:hover {
  color: var(--gold-light);
  border-bottom-color: var(--gold-light);
}

@media (max-width: 1180px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
}

@media (max-width: 640px) {
  .footer-grid,
  .footer-destination-lists {
    grid-template-columns: 1fr;
  }

  .footer-destination-lists {
    gap: 0;
  }
}

.destination-page {
  --dest-hero-image: url('/assets/images/destinations/destination-wedding-cancun-mexico.webp');
  --dest-hero-overlay: linear-gradient(135deg, rgba(15, 28, 22, 0.86), rgba(26, 46, 37, 0.2) 45%, rgba(184, 150, 12, 0.18));
  --dest-img-fallback: url('/assets/images/destinations/destination-wedding-cancun-mexico.webp');
  --dest-paper: #fbfaf7;
  --dest-veil: rgba(255, 255, 255, 0.68);
  --dest-rule: rgba(184, 150, 12, 0.22);
  --dest-shadow: 0 30px 90px rgba(15, 28, 22, 0.12);
  background:
    radial-gradient(circle at 16% 7%, rgba(212, 174, 48, 0.12), transparent 30rem),
    linear-gradient(180deg, var(--oyster), var(--sand) 42%, var(--oyster));
  color: var(--ink);
}

.dest-img,
.mood-card-img {
  background-image: var(--dest-image, var(--dest-img-fallback));
}

.dest-img[data-destination-image="cancun"] { --dest-image: url('/assets/images/destinations/destination-wedding-cancun-mexico.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="costa-mujeres"] { --dest-image: url('/assets/images/destinations/destination-wedding-costa-mujeres.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="isla-mujeres"] { --dest-image: url('/assets/images/destinations/destination-wedding-isla-mujeres.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="isla-cozumel"] { --dest-image: url('/assets/images/destinations/destination-wedding-isla-cozumel.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="tulum"] { --dest-image: url('/assets/images/destinations/destination-wedding-tulum.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="playa-del-carmen"] { --dest-image: url('/assets/images/destinations/destination-wedding-playa-del-carmen.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="bacalar"] { --dest-image: url('/assets/images/destinations/destination-wedding-bacalar.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="isla-holbox"] { --dest-image: url('/assets/images/destinations/destination-wedding-isla-holbox.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="maya-kaan"] { --dest-image: url('/assets/images/destinations/destination-wedding-maya-kaan.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="mahahual"] { --dest-image: url('/assets/images/destinations/destination-wedding-mahahual.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="puerto-morelos"] { --dest-image: url('/assets/images/destinations/destination-wedding-puerto-morelos.webp'), var(--dest-img-fallback); }
.dest-img[data-destination-image="chetumal"] { --dest-image: url('/assets/images/destinations/destination-wedding-chetumal.webp'), var(--dest-img-fallback); }

.mood-card-img[data-mood-image="elegant-reception-table-luxury-wedding"] { --dest-image: url('/assets/images/destinations/elegant-reception-table-luxury-wedding.jpg'), var(--dest-img-fallback); }
.mood-card-img[data-mood-image="intimate-tropical-wedding-riviera-maya"] { --dest-image: url('/assets/images/destinations/intimate-tropical-wedding-riviera-maya.jpg'), var(--dest-img-fallback); }
.mood-card-img[data-mood-image="bilingual-wedding-hotel-xcaret-mexico"] { --dest-image: url('/assets/images/destinations/bilingual-wedding-hotel-xcaret-mexico.jpg'), var(--dest-img-fallback); }
.mood-card-img[data-mood-image="luxury-jungle-palapa-wedding-venue"] { --dest-image: url('/assets/images/destinations/luxury-jungle-palapa-wedding-venue.jpg'), var(--dest-img-fallback); }
.mood-card-img[data-mood-image="cinematic-wedding-ceremony-tulum-mexico"] { --dest-image: url('/assets/images/destinations/cinematic-wedding-ceremony-tulum-mexico.jpg'), var(--dest-img-fallback); }
.mood-card-img[data-mood-image="organic-tropical-floral-wedding-arch"] { --dest-image: url('/assets/images/destinations/organic-tropical-floral-wedding-arch.jpg'), var(--dest-img-fallback); }
.mood-card-img[data-mood-image="boho-elegant-cliff-ceremony-hilton-tulum"] { --dest-image: url('/assets/images/destinations/boho-elegant-cliff-ceremony-hilton-tulum.jpg'), var(--dest-img-fallback); }
.mood-card-img[data-mood-image="luxury-villa-wedding-riviera-maya"] { --dest-image: url('/assets/images/destinations/luxury-villa-wedding-riviera-maya.jpg'), var(--dest-img-fallback); }

.compare-actions {
  text-align: center;
}

/* ==================================================
   DESTINATIONS HERO
   ================================================== */
.dest-hero {
  position: relative;
  height: 100svh;
  min-height: 700px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--jungle-deep);
}

.dest-hero::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 3;
  width: min(78vw, 980px);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(212, 174, 48, 0.65), transparent);
}

.dest-hero-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-image: var(--dest-hero-image);
  background-size: cover;
  background-position: center 30%;
  object-fit: cover;
  object-position: center 30%;
  will-change: transform;
  transform: scale(1.08);
}
.dest-hero-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(15,28,22,0.2) 0%, rgba(15,28,22,0.15) 40%, rgba(15,28,22,0.85) 100%),
    radial-gradient(ellipse at 50% 80%, rgba(26,46,37,0.5) 0%, transparent 65%);
  z-index: 2;
}
.dest-hero-content {
  position: relative; z-index: 3;
  text-align: center;
  max-width: 860px;
  padding: 0 48px;
}
.dest-hero-eyebrow {
  font-size: 10px; letter-spacing: 0.38em; text-transform: uppercase;
  color: var(--gold-light); font-weight: 600; margin-bottom: 32px;
  font-family: var(--sans);
}
.dest-hero-h1 {
  font-family: var(--serif); font-size: clamp(2.4rem, 5.5vw, 5rem);
  font-weight: 300; line-height: 1.1; color: var(--oyster);
  letter-spacing: 0.02em; margin-bottom: 28px;
  text-shadow: 0 4px 32px rgba(0,0,0,0.4);
}
.dest-hero-h1 em { color: var(--gold-light); font-style: italic; }
.dest-hero-sub {
  font-size: 14px; line-height: 1.85; color: rgba(249,248,246,0.75);
  max-width: 580px; margin: 0 auto 40px; font-family: var(--sans); font-weight: 300;
}
/* Destination quick-nav pills */
.dest-pills {
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
  max-width: 860px;
  margin: 0 auto;
}
.dest-pill {
  font-family: var(--sans); font-size: 9px; font-weight: 500;
  letter-spacing: 0.2em; text-transform: uppercase;
  border: 1px solid rgba(212,174,48,0.45); color: rgba(249,248,246,0.7);
  padding: 9px 20px; transition: color 0.4s var(--ease), border-color 0.4s var(--ease), background 0.4s var(--ease), transform 0.4s var(--ease); cursor: pointer;
  background: rgba(15, 28, 22, 0.22);
  backdrop-filter: blur(14px);
}
.dest-pill:hover { border-color: var(--gold-light); color: var(--gold-light); background: rgba(212,174,48,0.1); transform: translateY(-2px); }

/* Scroll indicator */
.dest-hero-scroll {
  position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
  z-index: 3; display: flex; align-items: center; gap: 18px;
  font-size: 8px; letter-spacing: 0.32em; text-transform: uppercase;
  color: rgba(249,248,246,0.45); font-weight: 500;
}
.hero-scroll-line { width: 72px; height: 1px; background: rgba(212,174,48,0.35); position: relative; overflow: hidden; }
.hero-scroll-line::after { content: ''; position: absolute; top: 0; left: -40px; width: 40px; height: 100%; background: var(--gold-light); animation: scrollLine 2.8s infinite ease-in-out; }
@keyframes scrollLine { 0% { transform: translateX(0); } 100% { transform: translateX(112px); } }

/* ==================================================
   INTRO PHILOSOPHY BAR
   ================================================== */
.dest-intro {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0)),
    var(--oyster);
  padding: clamp(78px, 10vw, 122px) 0 clamp(58px, 8vw, 92px);
  text-align: center;
  position: relative;
}
.dest-intro-inner { max-width: 740px; margin: 0 auto; padding: 0 48px; }
.dest-intro-h2 {
  font-family: var(--serif); font-size: clamp(1.8rem, 3.2vw, 2.6rem);
  font-weight: 300; line-height: 1.3; color: var(--jungle); margin-bottom: 28px;
}
.dest-intro-h2 em { color: var(--gold); font-style: italic; }
.dest-intro-body { font-size: 14.5px; line-height: 1.95; color: var(--muted); margin-bottom: 20px; }
.dest-intro-italic { font-family: var(--serif); font-size: 18px; color: var(--gold); font-style: italic; }

/* ==================================================
   DESTINATION SECTIONS
   ================================================== */

/* — Full-bleed destination reveal — */
.destination-block {
  position: relative;
  min-height: 92vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  isolation: isolate;
  border-top: 1px solid rgba(184,150,12,0.16);
}
.destination-block.reverse { direction: rtl; }
.destination-block.reverse > * { direction: ltr; }

/* Image side */
.dest-img-side {
  position: relative;
  overflow: hidden;
  min-height: 70vh;
  background: var(--jungle-deep);
}
.dest-img {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 1.8s var(--ease);
  will-change: transform;
  transform: scale(1.05);
}

.dest-img::before {
  content: '';
  position: absolute;
  inset: clamp(14px, 2vw, 26px);
  z-index: 2;
  border: 1px solid rgba(249, 248, 246, 0.34);
  pointer-events: none;
}

.dest-img-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 0.9s var(--ease), transform 1.2s var(--ease);
  transform: scale(1.01);
}

.dest-img-video.is-ready,
.dest-img-video.is-playing {
  opacity: 1;
  transform: scale(1);
}

.destination-block:hover .dest-img { transform: scale(1.0); }

/* Image gradient overlay */
.dest-img::after {
  content: '';
  position: absolute; inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(15,28,22,0.0) 62%, rgba(15,28,22,0.58) 100%),
    linear-gradient(180deg, rgba(15,28,22,0.08), rgba(15,28,22,0.22));
}
.destination-block.reverse .dest-img::after {
  background:
    linear-gradient(270deg, rgba(15,28,22,0.0) 62%, rgba(15,28,22,0.58) 100%),
    linear-gradient(180deg, rgba(15,28,22,0.08), rgba(15,28,22,0.22));
}

/* Destination number watermark */
.dest-number {
  position: absolute; bottom: 40px; right: 40px; z-index: 3;
  font-family: var(--serif); font-size: 6rem; font-weight: 300;
  color: rgba(212,174,48,0.18); line-height: 1; letter-spacing: -0.02em;
  pointer-events: none;
}
.destination-block.reverse .dest-number { right: auto; left: 40px; }

/* Mood tag on image */
.dest-mood-tag {
  position: absolute; top: 48px; left: 48px; z-index: 3;
  font-family: var(--sans); font-size: 9px; font-weight: 600;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--gold-light);
  border-left: 2px solid var(--gold);
  padding-left: 14px;
}
.destination-block.reverse .dest-mood-tag { left: auto; right: 48px; border-left: none; border-right: 2px solid var(--gold); padding-left: 0; padding-right: 14px; text-align: right; }

/* Content side */
.dest-content-side {
  background:
    radial-gradient(circle at 15% 18%, rgba(212,174,48,0.1), transparent 22rem),
    linear-gradient(135deg, rgba(255,255,255,0.76), rgba(249,248,246,0.92)),
    var(--oyster);
  padding: clamp(58px, 7vw, 96px) clamp(34px, 5.5vw, 78px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.destination-block.reverse .dest-content-side {
  background:
    radial-gradient(circle at 85% 18%, rgba(212,174,48,0.1), transparent 22rem),
    linear-gradient(225deg, rgba(255,255,255,0.64), rgba(242,238,230,0.94)),
    var(--sand);
}

/* Gold accent line */
.dest-content-side::before {
  content: '';
  position: absolute; top: 50%; left: 0;
  width: 2px; height: 0;
  background: linear-gradient(180deg, transparent, var(--gold), transparent);
  transform: translateY(-50%);
  transition: height 1.4s var(--ease);
}
.destination-block.is-visible .dest-content-side::before { height: 72%; }
.destination-block.reverse .dest-content-side::before { left: auto; right: 0; }

.dest-dest-label { font-size: 9px; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; }
.dest-dest-name {
  font-family: var(--serif); font-size: clamp(2.4rem, 3.8vw, 4rem);
  font-weight: 300; color: var(--jungle); line-height: 1.08;
  letter-spacing: 0.01em; margin-bottom: 10px;
}
.dest-dest-name em { font-style: italic; color: var(--gold); }
.dest-dest-tagline {
  font-family: var(--serif); font-size: 1.15rem; font-style: italic;
  color: var(--muted); margin-bottom: 36px; font-weight: 300; line-height: 1.55;
}

/* Gold divider */
.dest-divider {
  width: 52px; height: 1px; background: var(--gold);
  margin-bottom: 32px;
  transform: scaleX(0); transform-origin: left;
  transition: transform 1s var(--ease) 0.3s;
}
.destination-block.is-visible .dest-divider { transform: scaleX(1); }

.dest-body { font-size: 14.5px; line-height: 1.95; color: var(--muted); margin-bottom: 36px; max-width: 500px; }
.dest-body strong { color: var(--jungle); font-weight: 500; }

/* Mood / style tags */
.dest-styles { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.dest-style-tag {
  font-family: var(--sans); font-size: 9px; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  border: 1px solid rgba(184,150,12,0.35); color: var(--gold);
  padding: 7px 14px;
  background: rgba(255,255,255,0.54);
}

/* Stats row */
.dest-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(184,150,12,0.2);
  border: 1px solid rgba(184,150,12,0.2);
  margin-bottom: 36px;
  max-width: 560px;
}
.dest-stat {
  background: rgba(255,255,255,0.58);
  padding: 24px 20px;
  min-width: 0;
}
.dest-stat + .dest-stat { border-left: 0; padding-left: 20px; }
.dest-stat-num { font-family: var(--serif); font-size: 2rem; font-weight: 300; color: var(--gold); line-height: 1; margin-bottom: 6px; }
.dest-stat-label { font-size: 9px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); line-height: 1.45; }

/* CTA link */
.dest-cta {
  font-family: var(--sans); font-size: 10px; letter-spacing: 0.25em;
  text-transform: uppercase; color: var(--gold); font-weight: 600;
  padding: 14px 18px 13px;
  border: 1px solid rgba(184,150,12,0.4);
  background: rgba(255,255,255,0.42);
  align-self: flex-start; transition: all 0.4s var(--ease);
}
.dest-cta:hover { color: var(--jungle); border-color: var(--jungle); letter-spacing: 0.28em; transform: translateY(-2px); background: rgba(255,255,255,0.72); }
.dest-secondary-link {
  margin-top: 14px;
  font-family: var(--sans);
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 1px solid rgba(107,107,95,0.55);
  padding-bottom: 3px;
  align-self: flex-start;
  transition: all 0.35s var(--ease);
}
.dest-secondary-link:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
  letter-spacing: 0.23em;
}

/* Mobile stacking */
@media (max-width: 980px) {
  .destination-block { grid-template-columns: 1fr; direction: ltr; }
  .destination-block.reverse { direction: ltr; }
  .dest-img-side { min-height: 55vw; }
  .dest-number { font-size: 4rem; }
  .dest-mood-tag { top: 24px; left: 24px; }
  .destination-block.reverse .dest-mood-tag { right: auto; left: 24px; border-right: none; border-left: 2px solid var(--gold); padding-right: 0; padding-left: 14px; text-align: left; }
  .dest-content-side { padding: 60px 32px; }
  .dest-content-side::before { display: none; }
  .destination-block.reverse .dest-content-side { background: var(--sand); }
}

@media (max-width: 680px) {
  .dest-hero {
    min-height: 760px;
    align-items: center;
    padding-bottom: 0;
  }

  .dest-hero-content {
    padding: 116px 22px 72px;
  }

  .dest-pills {
    justify-content: flex-start;
    max-height: 168px;
    overflow: auto;
    padding-bottom: 8px;
  }

  .dest-pill {
    flex: 0 0 auto;
  }

  .dest-stats {
    grid-template-columns: 1fr;
  }
}

/* ==================================================
   HORIZONTAL SCROLL — MOOD BOARD STRIP
   ================================================== */
.mood-strip {
  background: var(--jungle);
  padding: 100px 0;
  overflow: hidden;
  position: relative;
}
.mood-strip-label {
  text-align: center; margin-bottom: 64px;
}
.mood-strip-label .label { display: block; margin-bottom: 20px; }
.mood-strip-h2 {
  font-family: var(--serif); font-size: clamp(1.8rem, 3.2vw, 2.8rem);
  font-weight: 300; color: var(--oyster); letter-spacing: 0.02em;
}
.mood-strip-h2 em { color: var(--gold-light); font-style: italic; }

.mood-track-wrap { overflow: hidden; }
.mood-track {
  display: flex;
  width: max-content;
  will-change: transform;
}
/* Seamless infinite marquee. destinations.js duplicates the full card set, so
   translating the track by exactly -50% lands each clone where its original
   began — a loop with no visible jump. Spacing is applied as per-card
   margin-right (not flex gap) so the -50% stays pixel-perfect. */
.mood-track.is-marquee {
  animation: moodMarquee 50s linear infinite;
}
.mood-track.is-marquee:hover {
  animation-play-state: paused;
}
@keyframes moodMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.mood-card {
  position: relative;
  width: 280px; height: 400px;
  flex-shrink: 0;
  overflow: hidden;
  margin-right: 20px;
  border: 1px solid rgba(212,174,48,0.24);
  box-shadow: 0 24px 70px rgba(0,0,0,0.16);
}
@media (max-width: 580px) {
  .mood-card { width: 230px; height: 330px; margin-right: 14px; }
}
.mood-card-img {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform 0.8s var(--ease);
}
.mood-card:hover .mood-card-img { transform: scale(1.06); }
.mood-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(15,28,22,0.88) 100%);
  z-index: 1;
}
.mood-card-body {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 28px 24px; z-index: 2;
  transform: translateY(8px); transition: transform 0.6s var(--ease);
}
.mood-card:hover .mood-card-body { transform: translateY(0); }
.mood-card-dest { font-size: 8px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-light); margin-bottom: 8px; }
.mood-card-title { font-family: var(--serif); font-size: 1.15rem; color: var(--oyster); font-weight: 300; margin-bottom: 6px; letter-spacing: 0.02em; }
.mood-card-mood { font-family: var(--serif); font-size: 12px; font-style: italic; color: rgba(212,174,48,0.75); }

/* ==================================================
   COMPARISON TABLE
   ================================================== */
.compare-section { padding: 140px 0; background: var(--sand); }
.compare-section .section-head { text-align: center; max-width: 680px; margin: 0 auto 80px; }
.compare-section .section-head .label { display: block; margin-bottom: 20px; }
.compare-h2 { font-family: var(--serif); font-size: clamp(1.8rem, 3.2vw, 2.8rem); font-weight: 300; color: var(--jungle); margin-bottom: 20px; }
.compare-h2 em { color: var(--gold); font-style: italic; }
.compare-sub { font-size: 13.5px; color: var(--muted); line-height: 1.85; }

.compare-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(184,150,12,0.2);
  border: 1px solid rgba(184,150,12,0.2);
  margin-bottom: 48px;
}
@media (max-width: 980px) { .compare-grid { grid-template-columns: 1fr; } }

.compare-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.64), rgba(249,248,246,0.92)),
    var(--oyster);
  padding: 52px 40px;
  display: flex; flex-direction: column;
  transition: background 0.6s var(--ease), transform 0.45s var(--ease), box-shadow 0.45s var(--ease);
  position: relative; overflow: hidden;
}
.compare-card::before { content: ''; position: absolute; top: 0; left: 0; width: 0; height: 2px; background: var(--gold); transition: width 0.8s var(--ease); }
.compare-card:hover { background: #fff; transform: translateY(-6px); box-shadow: 0 22px 60px rgba(15,28,22,0.1); }
.compare-card:hover::before { width: 100%; }

.compare-dest { font-size: 9px; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.compare-name { font-family: var(--serif); font-size: 1.8rem; color: var(--jungle); margin-bottom: 8px; font-weight: 400; }
.compare-vibe { font-family: var(--serif); font-size: 14px; font-style: italic; color: var(--muted); margin-bottom: 28px; }
.compare-list { list-style: none; margin-bottom: 28px; flex: 1; }
.compare-list li { font-size: 12.5px; color: var(--muted); padding: 10px 0; border-bottom: 1px solid rgba(184,150,12,0.15); display: flex; align-items: flex-start; gap: 12px; line-height: 1.5; }
.compare-list li::before { content: '—'; color: var(--gold); flex-shrink: 0; margin-top: 1px; }
.compare-ideal { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--jungle); padding: 14px 0; border-top: 1px solid rgba(184,150,12,0.2); margin-top: auto; }

/* ==================================================
   FINAL CTA SECTION
   ================================================== */
.dest-cta-section {
  padding: 160px 0;
  background: var(--jungle);
  position: relative;
  overflow: hidden;
  text-align: center;
}
.dest-cta-section::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(184,150,12,0.08), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(47,80,64,0.5), transparent 55%);
  pointer-events: none;
}
.dest-cta-section .container { position: relative; z-index: 2; }
.dest-cta-h2 { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 300; line-height: 1.15; color: var(--oyster); margin-bottom: 32px; }
.dest-cta-h2 em { color: var(--gold-light); font-style: italic; }
.dest-cta-body { font-size: 14px; line-height: 1.9; color: rgba(249,248,246,0.65); max-width: 540px; margin: 0 auto 48px; }
.dest-cta-trust { margin-top: 32px; font-family: var(--serif); font-size: 14px; font-style: italic; color: var(--gold); }

/* ==================================================
   REDUCED MOTION
   ================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .char, [data-reveal] { opacity: 1 !important; transform: none !important; }
  /* No marquee motion: let the mood strip be browsed by manual horizontal scroll. */
  .mood-track.is-marquee { animation: none !important; }
  .mood-track-wrap { overflow-x: auto; }
}
