/* Content stays visible if scripts or animation APIs are unavailable */
.reveal{opacity:1;transform:none}
.header{transition:box-shadow .3s ease,background-color .3s ease}
.header .nav{transition:min-height .3s ease,padding .3s ease}
.header .brand-logo{transition:width .3s ease}
.header.is-compact{background:rgba(255,255,255,.98);box-shadow:0 6px 24px rgba(20,49,87,.09)}
.header.is-compact .nav{min-height:68px;padding-block:7px}
.header.is-compact .brand-logo{width:125px}
.scroll-ready .scroll-item{transition:opacity .85s cubic-bezier(.22,1,.36,1) var(--scroll-delay,0ms),translate 1.05s cubic-bezier(.16,1,.3,1) var(--scroll-delay,0ms),scale 1.05s cubic-bezier(.16,1,.3,1) var(--scroll-delay,0ms)}
.scroll-ready .scroll-item:not(.is-shown){opacity:0;translate:0 65px;scale:.95}
.scroll-ready .scroll-item.is-shown{opacity:1;translate:0 0;scale:1}
@media(max-width:650px){
  .scroll-ready .scroll-item{transition-duration:.7s,.85s,.85s;transition-delay:0ms}
  .scroll-ready .scroll-item:not(.is-shown){translate:0 38px;scale:.97}
  .header.is-compact .nav{height:64px;min-height:64px;padding-block:0}
  .header.is-compact .brand-logo{width:122px}
}
@media(prefers-reduced-motion:reduce){
  .header,.header .nav,.header .brand-logo,.scroll-ready .scroll-item{transition:none!important}
  .scroll-ready .scroll-item:not(.is-shown){opacity:1;translate:none;scale:none}
}
/* FAQ answers unfold once as their question enters the reading area */
.audit-faq details.faq-unfolding{overflow:hidden}
.audit-faq details[open]>summary{color:var(--blue)}
/* Keep navigation available while leaving reading space on compact screens */
.header{position:sticky;top:0;z-index:100;opacity:1;visibility:visible;transform:none;translate:none}
@media(min-width:981px){.header .nav>.navlinks{display:flex;position:static;inset:auto;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;background:transparent;border:0;padding:0;max-width:none}}
@media(max-width:980px){
 .header .nav{display:flex;height:78px;min-height:78px;gap:20px;padding-block:10px}
 .header .nav>.navlinks{display:none}
 .header .nav>.menu{margin-left:auto}
 .header.is-compact .nav{height:72px;min-height:72px;padding-block:8px}
 .header .menu-recap{max-height:calc(100dvh - 96px)}
}

/* Card groups alternate their entrance direction for a livelier rhythm */
@media(min-width:651px) and (prefers-reduced-motion:no-preference){
 .scroll-ready .solution.scroll-item:not(.is-shown):nth-child(even),
 .scroll-ready .audit-card.scroll-item:not(.is-shown):nth-child(even),
 .scroll-ready .testimonial.scroll-item:not(.is-shown):nth-child(even){translate:28px 65px}
 .scroll-ready .solution.scroll-item:not(.is-shown):nth-child(odd),
 .scroll-ready .audit-card.scroll-item:not(.is-shown):nth-child(odd),
 .scroll-ready .testimonial.scroll-item:not(.is-shown):nth-child(odd){translate:-28px 65px}
}
/* The shared entrance replaces the earlier home-card animation */
.site-motion-ready .solution.scroll-item.visible,.site-motion-ready .method-step.scroll-item.visible{animation:none}

.testimonials-more{margin:36px 0 0}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .z-mouse-title{transform:perspective(1000px) translate3d(var(--title-x,0px),var(--title-y,0px),0) rotateX(var(--title-rx,0deg)) rotateY(var(--title-ry,0deg));transform-origin:center;transition:transform .35s cubic-bezier(.22,1,.36,1),text-shadow .35s ease}
 .z-mouse-title.z-title-active{text-shadow:0 8px 25px rgba(0,120,191,.18);transition-duration:.16s}
 .z-hero h1.z-title-active span{color:var(--blue);transition:color .3s ease}
}
@media(min-width:651px) and (prefers-reduced-motion:no-preference){
 .scroll-ready .z-card.scroll-item:not(.is-shown):nth-child(even),.scroll-ready .z-case.scroll-item:not(.is-shown):nth-child(even){translate:24px 65px}
 .scroll-ready .z-card.scroll-item:not(.is-shown):nth-child(odd),.scroll-ready .z-case.scroll-item:not(.is-shown):nth-child(odd){translate:-24px 65px}
}
@media print{
 .scroll-ready .scroll-item:not(.is-shown){opacity:1!important;translate:none!important;scale:none!important}
 .z-mouse-title{transform:none!important;text-shadow:none!important}
}
