/* RidesAudit v2.5 — compositor-only interaction layer */
nav.links a::after,.nav-dropdown summary::after{
  right:auto;width:100%;transform:scaleX(0);transform-origin:left center;
  transition:transform var(--dur-base) var(--ease)
}
nav.links a:hover::after,nav.links a.active::after,
.nav-dropdown summary:hover::after,.nav-dropdown summary.active::after{right:auto;transform:scaleX(1)}
nav.links .mega-vehicle{transition:transform var(--dur-base) var(--ease-out)}
nav.links a,.nav-dropdown summary,.foot-col a{transition:opacity var(--dur-fast) var(--ease)}
.menu-toggle-lines i{transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}
.btn{transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-fast) var(--ease)}
.card,.vcard,.why-item,.step,.plan{transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-fast) var(--ease)}
.form-field input,.form-field textarea{transition:none}
.faq-a{max-height:none;overflow:visible;transition:none}
.faq-a[aria-hidden="true"]{display:none}
.faq-item.open .faq-a p{animation:faqAnswerIn var(--dur-base) var(--ease-out)}

body.motion-ready .reveal:not(.is-visible){opacity:0!important;transform:translateY(18px)!important}
body.motion-ready .stagger:not(.is-visible)>*{opacity:0!important;transform:translateY(16px)!important}
body.motion-ready .reveal,body.motion-ready .stagger>*{
  transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease-out)!important
}
body.motion-ready .reveal.is-visible,body.motion-ready .stagger.is-visible>*{opacity:1!important;transform:none!important}

.report-preview{
  --tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;--shine-y:50%;
  overflow:hidden;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style:preserve-3d;transition:transform 320ms var(--ease-out)
}
.report-preview::after{
  content:"";position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;
  background:radial-gradient(circle at var(--shine-x) var(--shine-y),rgba(255,255,255,.38),transparent 32%);
  opacity:0;transition:opacity var(--dur-base) var(--ease)
}
.report-preview.is-tilting::after{opacity:.72}
.vehicle-stage .report-preview{transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
.rp-row,.audit-row,.verify-row{position:relative}
.rp-row>*:last-child,.audit-row>*:last-child,.verify-row>*:last-child{
  transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease-out)
}
.rp-row::after,.audit-row::after,.verify-row::after{
  content:"Verifying record";position:absolute;right:0;color:var(--blue);font-size:10px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;opacity:0;transform:translateX(-5px);
  transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease-out)
}
.rp-row.is-verifying>*:last-child,.audit-row.is-verifying>*:last-child,.verify-row.is-verifying>*:last-child{opacity:0;transform:translateX(5px)}
.rp-row.is-verifying::after,.audit-row.is-verifying::after,.verify-row.is-verifying::after{opacity:1;transform:none}
.rp-row.is-verified::before,.audit-row.is-verified::before,.verify-row.is-verified::before{
  content:"";position:absolute;left:0;bottom:-1px;width:30%;height:1px;background:var(--ok);
  transform-origin:left;animation:verifiedLine 420ms var(--ease-out) both
}
@keyframes faqAnswerIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes verifiedLine{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  .report-preview{transform:none!important;transition:none!important}
  .report-preview::after,.rp-row::after,.audit-row::after,.verify-row::after{display:none!important}
  .rp-row.is-verified::before,.audit-row.is-verified::before,.verify-row.is-verified::before{animation:none!important}
}
