/* Quiet editorial motion: forest, sage and brass. */
:root{--ease:cubic-bezier(.65,.05,0,1);--dur:.75s}
.rv{opacity:1;transform:none}
.motion-ready .rv{opacity:0;transform:translate3d(0,36px,0);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);transition-delay:var(--reveal-delay,0s)}
.motion-ready .rv[data-reveal=left]{transform:translate3d(-40px,0,0)}
.motion-ready .rv[data-reveal=right]{transform:translate3d(40px,0,0)}
.motion-ready .rv[data-reveal=scale]{transform:scale(.97)}
.motion-ready .rv.in,.motion-ready .rv:focus-within{opacity:1;transform:none}
.hero h1{translate:0 var(--hero-drift,0px)}
.nav{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),height var(--dur) var(--ease)}
.nav.scrolled{background:rgba(246,244,238,.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.btn,.tool,.situation-card,.category-strip a{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease),background .35s ease}
.portrait-frame img,.preparation-photo img{transition:transform 1s var(--ease)}
.nav-links a::after{background:var(--green,#234c3b);transition:transform var(--dur) var(--ease)}
.category-strip a span,.tool-go{transition:translate var(--dur) var(--ease)}
.bars span{transition:height .6s var(--ease),background .4s ease}
.menu-btn svg{transition:rotate .45s var(--ease)}
.menu-btn[aria-expanded=true] svg{rotate:90deg}
.motion-menu-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){
 .btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px -16px #234c3b66}
 .tool:hover,.situation-card:hover{transform:translateY(-5px);border-color:#9caf98;box-shadow:0 20px 40px -28px #234c3b55}
 .portrait-frame:hover img,.preparation-photo:hover img{transform:scale(1.03)}
 .category-strip a:hover span,.tool:hover .tool-go{translate:4px 0}
}
@media(max-width:640px){.hero h1{translate:none}.motion-ready .rv[data-reveal=left],.motion-ready .rv[data-reveal=right]{transform:translate3d(0,24px,0)}.motion-ready .rv.in{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .rv,.rv{opacity:1!important;transform:none!important}.hero h1{translate:none!important}}
