/* Motion tokens and accessible, progressive choreography. */
:root{--motion-enter:800ms;--motion-ui:220ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
.motion-line{display:block;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em;color:inherit}.motion-word{display:block;color:inherit}.motion-word>span{color:#878787}
.crafted-motion .hero-copy h1{animation:none}.crafted-motion .hero-copy h1 .motion-word{animation:headline-in 1.15s var(--motion-ease) both;animation-delay:calc(160ms + var(--line)*120ms)}
.crafted-motion .hero-copy>p{animation:soft-in .8s var(--motion-ease) .5s both}.crafted-motion .hero-actions{animation:soft-in .8s var(--motion-ease) .7s both}.crafted-motion.home-page .site-header{animation:soft-in .7s var(--motion-ease) .1s both}.crafted-motion .hero-disciplines{animation:soft-in .8s var(--motion-ease) .85s both}
/* Header position has its own transform, so fade without translating. */
.crafted-motion.home-page .site-header{animation-name:opacity-in}
.crafted-motion main h2 .motion-word{opacity:0;transform:translateY(105%);transition:transform var(--motion-enter) var(--motion-ease),opacity .65s;transition-delay:calc(var(--line)*80ms)}.crafted-motion main h2.motion-seen .motion-word{opacity:1;transform:none}
.motion-ready .reveal{transition-delay:var(--stagger,0ms)}
.pill:active{transform:scale(.97)}.service-tile svg,.discipline-panel svg{transition:transform var(--motion-ui) ease-out}.service-tile:hover svg,.discipline-panel:hover svg{transform:translate(3px,-3px)}
.process-scene{display:none}.scroll-story{align-items:start}.scroll-story .process-copy>h2{font-size:clamp(38px,4vw,56px)}.scroll-story .process-art{position:sticky;top:max(35px,calc((100svh - 600px)/2));height:600px;min-height:0;opacity:1;transform:none}.scroll-story .process-art-content{display:none}.scroll-story .process-scene{display:flex;position:absolute;inset:0;padding:35px;flex-direction:column;justify-content:space-between}.scroll-story .process-accordions{gap:0;margin-top:45px}.scroll-story .process-accordions details{min-height:310px;background:transparent;border:0!important;border-radius:0;padding:35px 0 35px 25px;border-left:1px solid #353535!important;position:relative;transition:opacity .35s;opacity:.4}.scroll-story .process-accordions details:before{content:'';position:absolute;left:-2px;top:45px;width:3px;height:40px;background:#ffad7f;transform:scaleY(0);transition:transform .5s var(--motion-ease)}.scroll-story .process-accordions .story-active{opacity:1}.scroll-story .process-accordions .story-active:before{transform:scaleY(1)}.scroll-story .process-accordions summary{cursor:default;font-size:28px;letter-spacing:-.04em}.scroll-story .process-accordions details p{padding:0 25px 0 30px;max-width:390px;font-size:14px}.scroll-story .step-plus{display:none}.scene-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em}.scene-diagram{position:relative;height:300px;display:grid;place-items:center}.orbit{position:absolute;width:210px;height:210px;border:1px solid #ffd1b666;border-radius:50%;transition:transform 1s var(--motion-ease),border-radius 1s}.orbit-two{transform:translate(-40px,0)}.orbit-three{transform:translate(40px,0)}.scene-core{display:grid;place-items:center;font-size:58px;width:80px;height:80px;background:#ffdbb6;color:#491d12;border-radius:50%;z-index:2;transition:transform .8s var(--motion-ease),border-radius .8s}.scene-node{width:12px;height:12px;background:#ffd1b6;border-radius:50%;position:absolute;transition:transform 1s var(--motion-ease)}.node-one{transform:translate(-100px,-75px)}.node-two{transform:translate(100px,-75px)}.node-three{transform:translate(0,105px)}.scene-title{font-size:48px;letter-spacing:-.05em}.scene-caption p{font-size:13px;color:#dfc9be;margin-top:8px}.scene-progress{display:flex;gap:8px;margin-top:28px}.scene-progress i{height:2px;flex:1;background:#ffffff25;position:relative}.scene-progress i:after{content:'';position:absolute;inset:0;background:#ffd1b6;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--motion-ease)}.scene-progress i.complete:after{transform:scaleX(1)}
[data-step="1"] .orbit{border-radius:18px;transform:rotate(45deg) scale(.8)}[data-step="1"] .orbit-two{transform:rotate(45deg) scale(1.1)}[data-step="1"] .orbit-three{transform:rotate(45deg) scale(1.4)}[data-step="1"] .scene-core{border-radius:16px;transform:rotate(-5deg)}
[data-step="2"] .orbit{border-radius:12px;transform:translate(-55px,-40px) scale(.65)}[data-step="2"] .orbit-two{transform:translate(55px,-40px) scale(.65)}[data-step="2"] .orbit-three{transform:translate(0,65px) scale(.65)}[data-step="2"] .scene-core{transform:scale(.85);border-radius:16px}[data-step="2"] .node-one{transform:translate(-55px,-110px)}[data-step="2"] .node-two{transform:translate(120px,-40px)}
[data-step="3"] .orbit{transform:scale(.7)}[data-step="3"] .orbit-two{transform:scale(1)}[data-step="3"] .orbit-three{transform:scale(1.3)}[data-step="3"] .scene-core{transform:scale(1.1)}[data-step="3"] .node-one{transform:translate(-105px,85px)}[data-step="3"] .node-two{transform:translate(85px,-105px)}
.crafted-motion .case-art.motion-seen .ui-line{animation:preview-row .65s var(--motion-ease) both}.crafted-motion .case-art.motion-seen .ui-line:nth-child(3){animation-delay:.15s}.crafted-motion .case-art.motion-seen .ui-line:nth-child(4){animation-delay:.3s}.crafted-motion .case-art.motion-seen .ui-line:nth-child(5){animation-delay:.45s}.crafted-motion .case-art.motion-seen .editorial-word{animation:soft-in .9s var(--motion-ease) both}.crafted-motion .case-art.motion-seen .retail-tags{animation:soft-in .8s var(--motion-ease) .25s both}.crafted-motion .case-art.motion-seen .course-progress i{transform-origin:left;animation:progress-in .8s var(--motion-ease) both}.course-progress i:nth-child(2){animation-delay:.15s!important}.course-progress i:nth-child(3){animation-delay:.3s!important}.course-progress i:nth-child(4){animation-delay:.45s!important}.crafted-motion .case-art.motion-seen .strategy-art{animation:soft-in .8s var(--motion-ease) both}.crafted-motion .case-art.motion-seen .hotel-window{animation:soft-in 1s var(--motion-ease) both}
@keyframes headline-in{from{transform:translateY(110%);opacity:0}to{transform:none;opacity:1}}@keyframes soft-in{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes opacity-in{from{opacity:0}to{opacity:1}}@keyframes preview-row{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}@keyframes progress-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:820px){.site-header nav.open{animation:soft-in .25s var(--motion-ease) both}.site-header nav.open>a{animation:soft-in .3s var(--motion-ease) both}.site-header nav.open>a:nth-child(2){animation-delay:40ms}.site-header nav.open>a:nth-child(3){animation-delay:80ms}.site-header nav.open>a:nth-child(4){animation-delay:120ms}.site-header nav.open>a:nth-child(5){animation-delay:160ms}.crafted-motion main h2 .motion-word{transition-duration:.55s}}
@media(prefers-reduced-motion:reduce){.motion-word,.crafted-motion main h2 .motion-word{opacity:1!important;transform:none!important}.hero-light{animation:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
.scroll-story .process-accordions details{opacity:.65}.scroll-story .process-accordions .story-active{opacity:1}.crafted-motion .footer-invite.motion-seen{animation:soft-in .8s var(--motion-ease) both}
