/* 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}
