/* Site polish layer — inner pages (hotels, flights, points, pricing, about, …) */
@media (prefers-reduced-motion: no-preference) {

/* page-hero entrance: blur-to-focus cascade */
.js .page-hero .reveal {
  filter: blur(10px);
  transform: translateY(30px);
  transition-property: opacity, transform, clip-path, filter;
  transition-duration: .9s;
}
.js .page-hero .reveal.in { filter: blur(0); transform: none; }
.js .page-hero .reveal:nth-child(2) { transition-delay: .22s; }
.js .page-hero .reveal:nth-child(3) { transition-delay: .44s; }
.js .page-hero .reveal:nth-child(4) { transition-delay: .66s; }
.js .page-hero h1.reveal { transition-duration: 1.15s; }

/* every scroll reveal rises a little further */
.js .reveal { transform: translateY(26px); transition-duration: .8s; }

/* gold hairline draws itself under section headings */
.anim-ready .section h2.reveal { position: relative; padding-bottom: .35em; }
.anim-ready .section h2.reveal::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 120px; height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.2s var(--ease-out) .45s;
}
.anim-ready .section h2.reveal.in::after { transform: scaleX(1); }


/* the compass page arrives the same way the page heroes do */
.js .compass-page .reveal {
  filter: blur(10px);
  transform: translateY(30px);
  transition-property: opacity, transform, clip-path, filter;
  transition-duration: .9s;
}
.js .compass-page .reveal.in { filter: blur(0); transform: none; }
.js .compass-page h1.reveal { transition-duration: 1.15s; transition-delay: .12s; }
.js .compass-page .section-sub.reveal { transition-delay: .28s; }
.js .compass-page .compass-card.reveal { transition-delay: .42s; }
.js .compass-page .spin-aside.reveal { transition-delay: .55s; }

/* golden hour: low warm light drifts across the page hero */
.anim-ready .page-hero { position: relative; overflow: hidden; }
.anim-ready .page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(12% 9% at 86% 102%, rgba(255, 190, 120, .16), rgba(255, 190, 120, 0) 100%),
    radial-gradient(44% 54% at 90% 110%,
      rgba(226, 150, 84, .14),
      rgba(203, 116, 70, .05) 46%,
      rgba(203, 116, 70, 0) 68%);
  mix-blend-mode: screen;
  animation: erGolden 18s ease-in-out infinite alternate;
}
@keyframes erGolden {
  from { opacity: .22; transform: translate(-3%, 4%); }
  to   { opacity: .45; transform: translate(2%, -1%); }
}
.anim-ready .page-hero .wrap { position: relative; z-index: 1; }

/* sunset wash on closing CTA bands wherever they appear */
.anim-ready .final-cta { position: relative; overflow: hidden; }
.anim-ready .final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(8deg,
    rgba(219, 128, 66, .11),
    rgba(219, 128, 66, .03) 32%,
    rgba(219, 128, 66, 0) 55%);
  mix-blend-mode: screen;
  animation: erDusk 14s ease-in-out infinite alternate;
}
@keyframes erDusk {
  from { opacity: .2; transform: translateY(4%); }
  to   { opacity: .45; transform: translateY(0); }
}
.anim-ready .final-cta .wrap { position: relative; }

/* gold sheen sweeps across primary buttons on hover */
.btn-gold { position: relative; overflow: hidden; }
.btn-gold::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 55%;
  background: linear-gradient(100deg, rgba(255,255,255,0), rgba(255,251,240,.5), rgba(255,255,255,0));
  transform: translateX(-140%) skewX(-18deg);
  pointer-events: none;
}
.btn-gold:hover::after { animation: erSheen .9s ease; }
@keyframes erSheen { to { transform: translateX(340%) skewX(-18deg); } }

/* perk lines follow their card in, one by one */
.anim-ready .reveal .perk-list li {
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity .5s ease, transform .5s var(--ease-out);
}
.anim-ready .reveal.in .perk-list li { opacity: 1; transform: none; }
.anim-ready .reveal.in .perk-list li:nth-child(1) { transition-delay: .4s; }
.anim-ready .reveal.in .perk-list li:nth-child(2) { transition-delay: .52s; }
.anim-ready .reveal.in .perk-list li:nth-child(3) { transition-delay: .64s; }
.anim-ready .reveal.in .perk-list li:nth-child(4) { transition-delay: .76s; }
.anim-ready .reveal.in .perk-list li:nth-child(5) { transition-delay: .88s; }

/* service icons draw themselves in */
.anim-ready .svc-icon path, .anim-ready .svc-icon circle {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.anim-ready .reveal.in .svc-icon path, .anim-ready .reveal.in .svc-icon circle {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 1.3s var(--ease-out) .3s;
}

/* cards lift a touch more */
.beyond-card { transition: border-color .3s, transform .35s var(--ease-out); }
.beyond-card:hover { transform: translateY(-4px); }

/* the featured price card breathes a soft gold glow */
.price-card.featured { animation: erFeatured 4s ease-in-out infinite; }
@keyframes erFeatured {
  0%, 100% { box-shadow: 0 0 0 rgba(184, 155, 94, 0); }
  50% { box-shadow: 0 10px 34px rgba(184, 155, 94, .22); }
}

/* step numbers slide in with their hairline */
.anim-ready .step.reveal .step-num { display: block; opacity: 0; transform: translateX(-12px); transition: opacity .6s ease .25s, transform .6s var(--ease-out) .25s; }
.anim-ready .step.reveal.in .step-num { opacity: 1; transform: none; }

/* photos ease closer on hover wherever they appear in cards */
.dest-face.dest-front { overflow: hidden; }
.dest-photo { transition: transform 1.3s var(--ease-out); }
.dest-card:hover .dest-photo { transform: scale(1.07); }

}

/* phones: static glows, no infinite repaints; lighter blur on entrances */
@media (max-width: 760px) {
  .anim-ready .page-hero::after { animation: none; opacity: .2; }
  .anim-ready .final-cta::before { animation: none; opacity: .22; }
  .price-card.featured { animation: none; }
  .js .page-hero .reveal { filter: blur(6px); }
}
