/* =========================================================
   TAL MOTION — SECTION SCENES
   Desktop enhancement only. Mobile retains natural scrolling.
   ========================================================= */

/* Elements animated by JS remain visible if JS/GSAP fails */
.tal-page {
  --tal-scene-shift: 42px;
}

/* Full-screen editorial scenes */
@media (min-width: 1360px) {

  .tal-hero {
    min-height: calc(100vh - var(--tal-header-height, 0px));
    display: flex;
    align-items: stretch;
  }

  .tal-booking {
    min-height: 100vh;
    display: flex;
    align-items: stretch;
  }

  .tal-booking__grid {
    width: 100%;
  }

  .tal-why {
    min-height: 100vh;
  }

  .tal-testimonial {
    min-height: 92vh;
    display: flex;
    align-items: center;
  }

  .tal-testimonial__inner {
    width: 100%;
  }

  .tal-cta {
    min-height: 90vh;
    display: flex;
    align-items: center;
  }

  .tal-cta__inner {
    width: 100%;
  }

}


/* =========================================================
   SCENE REVEAL STATES
   These classes are added by JS only after GSAP is available.
   ========================================================= */

@media (min-width: 1360px) {

  .tal-motion-ready .tal-scene-reveal {
    opacity: 0;
    transform: translate3d(0, var(--tal-scene-shift), 0);
    will-change: transform, opacity;
  }

  .tal-motion-ready .tal-scene-reveal-left {
    opacity: 0;
    transform: translate3d(-46px, 0, 0);
    will-change: transform, opacity;
  }

  .tal-motion-ready .tal-scene-reveal-right {
    opacity: 0;
    transform: translate3d(46px, 0, 0);
    will-change: transform, opacity;
  }

}


/* =========================================================
   SMALL DETAIL MOTION
   ========================================================= */

.tal-fleet__progress-bar {
  will-change: transform;
}

.tal-fleet__image,
.tal-hero__image,
.tal-booking__calculator > .tal-fleet__image {
  backface-visibility: hidden;
  transform-style: preserve-3d;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  html {
    scroll-behavior: auto !important;
  }

  .tal-motion-ready .tal-scene-reveal,
  .tal-motion-ready .tal-scene-reveal-left,
  .tal-motion-ready .tal-scene-reveal-right {
    opacity: 1 !important;
    transform: none !important;
  }

  .tal-fleet__image,
  .tal-hero__image,
  .tal-booking__calculator > .tal-fleet__image {
    transform: none !important;
  }

}

/* Mobile motion polish */
@media (max-width: 767px) {

  .tal-page section {
    scroll-margin-top: 72px;
  }

  .tal-booking,
  .tal-why,
  .tal-testimonial,
  .tal-cta {
    position: relative;
  }

  .tal-booking::before,
  .tal-why::before,
  .tal-testimonial::before,
  .tal-cta::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    width: 42px;
    height: 2px;
    background: currentColor;
    opacity: .18;
  }

  .tal-fleet__track {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .tal-fleet__slide {
    scroll-snap-align: center;
  }

}