/*
 * marketing-scroll-reveal.v5.css
 * Nested + viewport-aware reveal for standard EN/ES marketing landing pages.
 * v5 adds narrow-screen Quick Facts and ticket-dismissal inner-card support.
 *
 * Design goals:
 * - Preserve the approved v3 trigger positions (5% desktop / 7% phone).
 * - Outer panels reveal first with the established motion.
 * - Steps, feature cards, FAQ rows, checklist rows, links and CTA buttons
 *   wait for their own viewport entry so phone layouts never pre-animate
 *   content that is still well below the fold.
 * - Content remains visible if JavaScript is unavailable.
 * - Attributes are removed after reveal so existing hover/sticky behavior returns.
 */

html.sr-active body.page-marketing-reveal [data-sr]:not(.sr-visible){
  opacity:0;
  transform:translate3d(0,var(--sr-distance,26px),0) scale(var(--sr-scale,.976));
  pointer-events:none;
}

html.sr-preparing body.page-marketing-reveal [data-sr],
html.sr-preparing body.page-marketing-reveal [data-sr-child]{
  transition:none!important;
}

html.sr-active body.page-marketing-reveal [data-sr]{
  transition-property:opacity,transform;
  transition-duration:590ms;
  transition-delay:var(--sr-entry-delay,0ms);
  transition-timing-function:cubic-bezier(.22,1,.36,1);
  transform-origin:50% 55%;
  backface-visibility:hidden;
  will-change:opacity,transform;
}

html.sr-active body.page-marketing-reveal [data-sr][data-sr-role="section"]{
  --sr-distance:30px;
  --sr-scale:.972;
  transition-duration:700ms;
}

html.sr-active body.page-marketing-reveal [data-sr][data-sr-role="card"]{
  --sr-distance:22px;
  --sr-scale:.982;
  transition-duration:570ms;
}

html.sr-active body.page-marketing-reveal [data-sr][data-sr-role="inner"]{
  --sr-distance:16px;
  --sr-scale:.988;
  transition-duration:535ms;
}

html.sr-active body.page-marketing-reveal [data-sr][data-sr-role="button"]{
  --sr-distance:11px;
  --sr-scale:.99;
  transition-duration:500ms;
}

html.sr-active body.page-marketing-reveal [data-sr].sr-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  pointer-events:auto;
}

html.sr-active body.page-marketing-reveal [data-sr-child]{
  opacity:0;
  transform:translate3d(0,var(--sr-child-distance,10px),0);
  transition-property:opacity,transform;
  transition-duration:430ms;
  transition-delay:calc(var(--sr-entry-delay,0ms) + var(--sr-child-delay,0ms));
  transition-timing-function:cubic-bezier(.22,1,.36,1);
  backface-visibility:hidden;
  will-change:opacity,transform;
}

html.sr-active body.page-marketing-reveal [data-sr-child].sr-child-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}

@media (max-width:720px){
  html.sr-active body.page-marketing-reveal [data-sr]{
    --sr-distance:20px;
    --sr-scale:.982;
    transition-duration:520ms;
  }

  html.sr-active body.page-marketing-reveal [data-sr][data-sr-role="section"]{
    --sr-distance:24px;
    --sr-scale:.979;
    transition-duration:650ms;
  }

  html.sr-active body.page-marketing-reveal [data-sr][data-sr-role="card"]{
    --sr-distance:18px;
    --sr-scale:.986;
    transition-duration:520ms;
  }

  html.sr-active body.page-marketing-reveal [data-sr][data-sr-role="inner"]{
    --sr-distance:14px;
    --sr-scale:.99;
    transition-duration:500ms;
  }

  html.sr-active body.page-marketing-reveal [data-sr][data-sr-role="button"]{
    --sr-distance:10px;
    --sr-scale:.992;
    transition-duration:470ms;
  }

  html.sr-active body.page-marketing-reveal [data-sr-child]{
    --sr-child-distance:8px;
    transition-duration:390ms;
  }
}

@media (prefers-reduced-motion:reduce){
  html.sr-active body.page-marketing-reveal [data-sr],
  html.sr-active body.page-marketing-reveal [data-sr]:not(.sr-visible),
  html.sr-active body.page-marketing-reveal [data-sr-child]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    pointer-events:auto!important;
    will-change:auto!important;
  }
}

@media print{
  body.page-marketing-reveal [data-sr],
  body.page-marketing-reveal [data-sr]:not(.sr-visible),
  body.page-marketing-reveal [data-sr-child]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    pointer-events:auto!important;
  }
}
