:root{--motion-entry:cubic-bezier(.22,1,.36,1);--motion-control:cubic-bezier(.2,.7,.2,1);--motion-control-time:200ms;--motion-image-time:220ms}
.editorial-top-sentinel{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
.topbar.has-depth{box-shadow:0 5px 22px #0713210b}
.hero-production picture,.document-magnifier>div:first-child{position:relative}
.editorial-image-outgoing{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:contain;pointer-events:none;z-index:1}
.button,.nav-cta{transition:transform var(--motion-control-time) var(--motion-control)}
.button>span,.inline-link>span,.nav-cta>span{display:inline-block;transition:transform var(--motion-control-time) var(--motion-control)}
.button:active,.nav-cta:active{transform:scale(.985)}
.tool-art:focus-visible,.hero-production:focus-visible{outline:2px solid #b99557;outline-offset:4px}
.document-focus{transition:none!important}
.document-magnifier{box-shadow:0 9px 28px #07132108}
.library-stage img,.mind-stage img{transition-timing-function:var(--motion-control)}
.library-stage img:first-child:not(.is-active){opacity:0}
.protocol-trail.is-seen .protocol-route{animation-duration:800ms;animation-timing-function:var(--motion-entry)}
.flow-screen .flow-outgoing{animation-timing-function:var(--motion-control)}
.faq summary:after,.mobile-disclosure>summary:after{transition:transform var(--motion-control-time) var(--motion-control)}
.faq details[open] summary:after,.mobile-disclosure[open]>summary:after{content:'+';transform:rotate(45deg)}
@media(hover:hover) and (pointer:fine){
 .button:hover>span,.inline-link:hover>span,.nav-cta:hover>span{transform:translate(2px,-2px)}
 .inline-link:hover,.text-link:hover,.hero-variants a:hover{color:#92713e}
 .flow .inline-link:hover,.trust a:hover{color:#e8c98d}
 .tool-art:hover{outline:1px solid #b9955755;outline-offset:-1px}
}
@media(max-width:767px){
 .mobile-editorial .tool-card{animation:none!important}
 .library-stage img,.mind-stage img{transition-duration:200ms}
 #menu-dialog[open]{animation-duration:240ms;animation-timing-function:var(--motion-control)}
 .flow-screen .flow-outgoing{animation-duration:180ms;object-fit:contain}
}
@media(prefers-reduced-motion:reduce){
 .button,.nav-cta,.button>span,.inline-link>span,.nav-cta>span,.faq summary:after,.mobile-disclosure>summary:after,.library-stage img,.mind-stage img{transition:none!important}
 .protocol-trail.is-seen .protocol-route,.flow-screen .flow-outgoing{animation:none!important}
 .button:active,.nav-cta:active,.button:hover>span,.inline-link:hover>span,.nav-cta:hover>span{transform:none}
}
