/* Experience Integrity Review™ — UI polish v4
   Micro-polish only: final CTA sequencing, intake telemetry track endpoints,
   and report action alignment. Product content and workflow are unchanged. */

/* --------------------------------------------------------------------------
   FINAL CTA — start the reveal when the CTA enters the viewport, then loop.
   -------------------------------------------------------------------------- */
.final-cta.home-style-cta .eir-cta-scanner,
.final-cta.home-style-cta .eyebrow,
.final-cta.home-style-cta h2 span,
.final-cta.home-style-cta p,
.final-cta.home-style-cta .btn,
.final-cta.home-style-cta .eir-cta-tiny{
  opacity:0;
  transform:translateY(10px);
  will-change:opacity,transform;
}

.final-cta.home-style-cta.is-inview .eir-cta-scanner{animation:eirCtaScannerReveal 9.6s ease-in-out infinite}
.final-cta.home-style-cta.is-inview .eyebrow{animation:eirCtaRevealEyebrow 9.6s ease-in-out infinite}
.final-cta.home-style-cta.is-inview h2 span:nth-child(1){animation:eirCtaRevealLine1 9.6s ease-in-out infinite}
.final-cta.home-style-cta.is-inview h2 span:nth-child(2){animation:eirCtaRevealLine2 9.6s ease-in-out infinite;color:#55a9ff}
.final-cta.home-style-cta.is-inview p{animation:eirCtaRevealBody 9.6s ease-in-out infinite}
.final-cta.home-style-cta.is-inview .btn{animation:eirCtaRevealButton 9.6s ease-in-out infinite}
.final-cta.home-style-cta.is-inview .eir-cta-tiny{animation:eirCtaRevealTiny 9.6s ease-in-out infinite}

.eir-cta-scanner span{animation:eirScannerTextPulse 3.8s ease-in-out infinite}
.eir-cta-scanner span:nth-of-type(2){animation-delay:1.9s}

@keyframes eirCtaScannerReveal{
  0%,3%{opacity:0;transform:translateY(7px)}
  9%,84%{opacity:1;transform:none}
  92%,100%{opacity:0;transform:none}
}
@keyframes eirCtaRevealEyebrow{
  0%,7%{opacity:0;transform:translateY(9px)}
  13%,84%{opacity:1;transform:none}
  92%,100%{opacity:0;transform:none}
}
@keyframes eirCtaRevealLine1{
  0%,12%{opacity:0;transform:translateY(12px)}
  19%,84%{opacity:1;transform:none}
  92%,100%{opacity:0;transform:none}
}
@keyframes eirCtaRevealLine2{
  0%,17%{opacity:0;transform:translateY(12px)}
  24%,84%{opacity:1;transform:none}
  92%,100%{opacity:0;transform:none}
}
@keyframes eirCtaRevealBody{
  0%,25%{opacity:0;transform:translateY(9px)}
  32%,84%{opacity:1;transform:none}
  92%,100%{opacity:0;transform:none}
}
@keyframes eirCtaRevealButton{
  0%,32%{opacity:0;transform:translateY(9px);box-shadow:0 0 0 rgba(18,104,255,0)}
  39%,72%{opacity:1;transform:none;box-shadow:0 14px 34px rgba(18,104,255,.2)}
  78%,84%{opacity:1;transform:none;box-shadow:0 14px 44px rgba(18,104,255,.34),0 0 30px rgba(69,215,255,.08)}
  92%,100%{opacity:0;transform:none;box-shadow:0 0 0 rgba(18,104,255,0)}
}
@keyframes eirCtaRevealTiny{
  0%,38%{opacity:0;transform:translateY(7px)}
  45%,84%{opacity:1;transform:none}
  92%,100%{opacity:0;transform:none}
}
@keyframes eirScannerTextPulse{
  0%,100%{color:#6d87a8;text-shadow:none}
  45%,58%{color:#a9eaff;text-shadow:0 0 14px rgba(69,215,255,.18)}
}

/* --------------------------------------------------------------------------
   INTAKE RAIL — draw track node-to-node rather than through the rail shell.
   The first segment starts at SEQ_01's centre; the last ends at SEQ_06's centre.
   -------------------------------------------------------------------------- */
.intake-rail:after{display:none!important}
.intake-step>*{position:relative;z-index:2}
.intake-step:not(:last-child):after{
  content:"";
  position:absolute;
  z-index:0;
  left:15.5px;
  top:50%;
  width:1px;
  height:calc(100% + 4px);
  background:repeating-linear-gradient(180deg,rgba(74,156,255,.34) 0 5px,transparent 5px 10px);
  pointer-events:none;
}

/* --------------------------------------------------------------------------
   REPORT — use a responsive internal header gutter rather than a fixed
   margin on the buttons. This reproduces the preferred ~102px desktop inset
   while remaining proportional on narrower report widths.
   -------------------------------------------------------------------------- */
.report-header{
  padding-inline-end:clamp(64px,8.6%,102px);
}
.report-actions{
  margin-right:0!important;
  flex:0 0 auto;
  align-self:flex-end;
}

@media(max-width:1080px){
  .intake-step:after{display:none!important}
  .report-header{padding-inline-end:clamp(24px,4vw,48px)}
}

@media(max-width:680px){
  .report-header{padding-inline-end:0}
}

@media(prefers-reduced-motion:reduce){
  .final-cta.home-style-cta .eir-cta-scanner,
  .final-cta.home-style-cta .eyebrow,
  .final-cta.home-style-cta h2 span,
  .final-cta.home-style-cta p,
  .final-cta.home-style-cta .btn,
  .final-cta.home-style-cta .eir-cta-tiny{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
  .eir-cta-scanner span{animation:none!important}
}
