/* Progressive motion: content remains visible without JavaScript. */
@media(prefers-reduced-motion:no-preference){
 header{transition:box-shadow .25s ease,border-color .25s ease}header.is-scrolled{box-shadow:0 6px 22px #142c2d12;border-bottom-color:transparent}
 .button,.text-link,.service,.round-link,.audience-list span,.sidebar a,.brand-logo,.menu{transition:transform .25s cubic-bezier(.2,.7,.3,1),background-color .25s ease,border-color .25s ease,box-shadow .25s ease}
 .button span,.service-bottom b,.text-link span{display:inline-block;transition:transform .25s ease}
 .hero-visual{overflow:hidden}.hero-visual>img{transition:transform .8s cubic-bezier(.2,.7,.3,1)}
 .menu[aria-expanded=true]{transform:rotate(90deg)}
 details[open]>p{animation:answer-in .25s ease both}
 @keyframes answer-in{from{opacity:.4;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
 @keyframes menu-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
 @media(max-width:1024px){nav.open{animation:menu-in .24s ease both}}
 @media(hover:hover) and (pointer:fine){
 .button:hover{transform:translateY(-3px);box-shadow:0 8px 18px #142c2d18}.button:hover span,.text-link:hover span,.service:hover .service-bottom b{transform:translate(3px,-2px)}
 .service:hover{transform:translateY(-6px);box-shadow:0 12px 24px #142c2d0a}.round-link:hover{transform:rotate(12deg) scale(1.06)}
 .audience-list span:hover{transform:translateY(-3px);background:var(--paper);border-color:#9ab67b}.hero-visual:hover>img{transform:scale(1.035)}
 .sidebar a:hover{transform:translateX(4px)}.brand:hover .brand-logo{transform:translateY(-1px)}
 }
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
