/* Finite movement that explains hierarchy and progress. Content works without JS. */
.draft{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 20px}
.motion-control{border:1px solid #d5b46b65;background:transparent;color:#f7f4ec;min-height:36px;padding:5px 12px;font-size:11px;line-height:1.4;letter-spacing:.02em}
.motion-control:disabled{cursor:default;opacity:.8}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:100;background:#d5b46b;transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-disabled .reading-progress{display:none}
.motion-enabled .hero h1,.motion-enabled .service-hero h1{animation:headline-arrive .65s cubic-bezier(.2,.7,.2,1) both}
.motion-enabled .hero .intro,.motion-enabled .service-hero .intro{animation:headline-arrive .6s .06s cubic-bezier(.2,.7,.2,1) both}
.motion-enabled .portrait{animation:portrait-arrive .8s cubic-bezier(.2,.7,.2,1) both}
.motion-enabled .brand-icon{position:relative}
.motion-enabled .brand-icon:after{content:'';position:absolute;inset:-1px;border-top:1px solid #d5b46b;transform-origin:left;animation:line-arrive .8s ease-out both;pointer-events:none}
.motion-reveal{opacity:1;transform:none}
.motion-enabled .motion-reveal{transition:opacity .52s var(--reveal-delay,0ms) ease,transform .65s var(--reveal-delay,0ms) cubic-bezier(.2,.7,.2,1)}
.motion-enabled .motion-reveal:not(.is-visible){opacity:0;transform:translateY(20px)}
.motion-enabled .motion-reveal.is-visible{opacity:1;transform:translateY(0)}
.method li{position:relative}
.motion-enabled .method li:before{content:'';position:absolute;top:-1px;left:0;right:25px;height:2px;background:#987032;transform:scaleX(0);transform-origin:left;transition:transform .75s calc(var(--reveal-delay,0ms) + .1s) cubic-bezier(.2,.7,.2,1)}
.motion-enabled .method li.is-visible:before{transform:scaleX(1)}
.motion-enabled .method .step{transition:color .4s ease,transform .5s var(--reveal-delay,0ms) cubic-bezier(.2,.7,.2,1)}
.motion-enabled .method li:not(.is-visible) .step{transform:translateY(6px)}
.motion-enabled .button,.motion-enabled .nav-cta,.motion-enabled .text-link,.motion-enabled .menu{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.motion-enabled .button span[aria-hidden]{transition:transform .2s ease}
.motion-enabled .button:active,.motion-enabled .nav-cta:active{transform:translateY(1px) scale(.99)}
.motion-enabled .menu span{display:inline-block;transition:transform .22s ease}
.motion-enabled .menu[aria-expanded=true] span{transform:rotate(45deg)}
.motion-enabled .site-header nav.open{animation:menu-arrive .2s ease-out both}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){
 .motion-enabled .button:hover{transform:translateY(-2px)}
 .motion-enabled .button:hover span[aria-hidden]{transform:translateX(4px)}
 .motion-enabled .nav-cta:hover{transform:translateY(-2px);background:#d5b46b12}
 .motion-enabled .situations>a:hover{transform:translateY(-4px);background:#ffffff03}
 .motion-enabled .text-link:hover{transform:translateX(3px);color:#d5b46b}
 .motion-enabled .method-section .text-link:hover{color:#745418}
}
@keyframes headline-arrive{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes portrait-arrive{from{opacity:.65;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes line-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes menu-arrive{from{opacity:.75;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.motion-control{min-height:44px}.motion-enabled .method li:before{right:0}.motion-enabled .motion-reveal:not(.is-visible){transform:translateY(12px)}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .motion-reveal{opacity:1!important;transform:none!important}
 .reading-progress{display:none!important}
}
@media print{.reading-progress,.motion-control{display:none!important}.motion-reveal{opacity:1!important;transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}

.motion-enabled .motion-reveal:focus-within{opacity:1!important;transform:none!important;transition:none!important}
