/* Editorial motion: one shared visual language across CV and portfolio. */
:root{--motion-blue:#1638e2;--motion-lime:#b8ff3b;--motion-black:#0c0d10;--motion-paper:#f1f0eb}
.hero h1{font-family:var(--sans);font-weight:600;letter-spacing:-.055em}.hero h1 em{color:var(--accent)}
.hero h1>span{animation:motion-enter .85s cubic-bezier(.16,1,.3,1) both}.hero h1>span:nth-child(2){animation-delay:.1s}.hero h1>span:nth-child(3){animation-delay:.2s}
@keyframes motion-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.motion-story{padding:54px 0 44px;overflow:clip;background:var(--motion-black);color:var(--motion-paper);border-block:1px solid var(--line)}
.motion-kicker{display:flex;justify-content:space-between;align-items:center;font:500 11px/1.5 var(--sans);letter-spacing:.16em;margin-bottom:28px;gap:20px}.motion-kicker>span:last-child{font-size:32px;color:var(--motion-lime)}
.motion-words{font-family:var(--sans);font-weight:600;font-size:clamp(64px,13vw,160px);line-height:.86;letter-spacing:-.075em;--motion-progress:0}
.motion-words>div{position:relative;width:max-content;max-width:100%;transition:color .3s;transform-origin:left center}.motion-words>div:first-child{transform:translateX(calc(var(--motion-progress)*14px))}.motion-outline{color:transparent;-webkit-text-stroke:1.5px var(--motion-blue);background:linear-gradient(var(--motion-blue),var(--motion-blue)) no-repeat;background-size:calc(var(--motion-progress)*100%) 100%;background-clip:text;-webkit-background-clip:text}.motion-business{transform:translateX(calc((1 - var(--motion-progress))*18px))}.motion-dot{color:var(--motion-blue)}
.motion-star{display:inline-block;font-size:.5em;vertical-align:top;color:var(--motion-lime);margin-left:25px;transform:rotate(calc(var(--motion-progress)*120deg))}.motion-bottom{font-size:13px;letter-spacing:.02em;color:#b8b9c3;margin-top:28px}
body:has(.hero-grid) .motion-story{padding:36px 0}.hero-grid~.motion-story{padding:36px 0}body:has(.hero-grid) .motion-words{font-size:clamp(62px,10vw,118px)}
.motion-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:38px;align-items:center}.motion-hero-copy{min-width:0}.motion-hero-grid h1{font-size:clamp(40px,5vw,66px)!important;max-width:100%;line-height:1.05}.motion-hero-grid h1 span{white-space:normal}.motion-hero-grid .lead{font-size:17px}.motion-art{position:relative;align-self:stretch;min-height:460px;perspective:900px;isolation:isolate}.motion-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;border-radius:2px;mask-image:linear-gradient(to bottom,#000 75%,transparent);transform:rotate(var(--art-rotate,-3deg)) translateY(var(--art-y,0px));transition:transform .7s cubic-bezier(.2,.8,.2,1);will-change:transform}.motion-art-star{position:absolute;left:-15px;bottom:10%;font-size:78px;color:var(--motion-blue);transform:rotate(var(--star-rotate,0deg));transition:transform .8s}.motion-sticker{position:absolute;right:-9px;top:16%;max-width:205px;padding:19px 16px;background:var(--motion-lime);color:var(--motion-black);border:0;font:600 12px/1.4 var(--sans);text-align:left;transform:rotate(9deg);transition:transform .4s;cursor:pointer;box-shadow:5px 6px 0 #0004}.motion-sticker:hover,.motion-sticker[aria-pressed=true]{transform:rotate(-8deg) scale(1.04)}.motion-art.is-playful{--art-rotate:5deg;--art-y:-12px;--star-rotate:125deg}
.motion-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-block:70px 25px;padding-top:12px;padding-bottom:18px;perspective:1200px}.motion-project{display:flex;flex-direction:column;position:relative;min-width:0;min-height:335px;padding:28px;text-decoration:none;background:var(--motion-paper);color:var(--motion-black);transform:rotate(-3deg);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;isolation:isolate}.motion-project:nth-child(2){background:var(--motion-blue);color:var(--motion-paper);transform:translateY(-16px) rotate(2deg)}.motion-project.motion-lime{background:var(--motion-lime);color:var(--motion-black);transform:rotate(-2deg)}.motion-project-meta{font-size:10px;line-height:1.5;letter-spacing:.1em}.motion-project h3{font:600 clamp(28px,3.4vw,42px)/1.02 var(--sans);letter-spacing:-.055em;margin:28px 0 20px;color:inherit}.motion-project-foot{font-size:13px;margin-top:auto;padding-top:20px;color:inherit}.motion-project-symbol{font:500 74px/1 var(--sans);margin:auto 0 0;transition:transform .4s;align-self:flex-start}.motion-bars{height:75px;display:flex;align-items:flex-end;gap:8px}.motion-bars i{width:15%;background:var(--motion-blue);height:30%;transition:transform .5s;transform-origin:bottom}.motion-bars i:nth-child(2){height:55%}.motion-bars i:nth-child(3){height:45%}.motion-bars i:nth-child(4){height:75%}.motion-bars i:nth-child(5){height:100%}.motion-project:hover,.motion-project:focus-visible{transform:translateY(-18px) rotate(0deg);box-shadow:0 28px 50px #0005;z-index:2}.motion-project:hover .motion-project-symbol,.motion-project:focus-visible .motion-project-symbol{transform:translateX(15px) rotate(-12deg)}.motion-project:hover .motion-bars i{transform:scaleY(1.18)}
.bx,.tool .frame,.case{transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .4s}.bx:hover{transform:translateY(-6px) rotate(-.6deg)}.tool .frame:hover{transform:translateY(-5px);box-shadow:0 20px 50px #0004}.booking-link{border-radius:10px!important}.booking-link:hover{transform:translateY(-3px) rotate(-1deg)}
@media(min-width:821px){body:has(.motion-hero-grid) .hero{min-height:88vh;padding-block:130px 70px}}
@media(max-width:820px){.motion-hero-grid{grid-template-columns:1fr}.motion-art{min-height:380px;max-width:430px;width:100%;justify-self:center}.motion-art img{object-position:50% 35%}.motion-hero-grid h1{font-size:clamp(38px,7vw,58px)!important}.motion-hero-grid .lead{font-size:16px}.motion-deck{gap:14px}.motion-project{padding:20px;min-height:300px}.motion-sticker{right:4px}.motion-art-star{left:0}}
@media(max-width:580px){.motion-story{padding:34px 0}.motion-kicker{font-size:9px;letter-spacing:.1em;margin-bottom:24px}.motion-words{font-size:clamp(49px,12.8vw,76px);letter-spacing:-.065em}.motion-star{margin-left:14px}.motion-business{transform:none!important}.motion-bottom{font-size:12px;max-width:26ch}.motion-deck{grid-template-columns:1fr;gap:22px;margin-block:45px 10px;padding-inline:32px}.motion-project{min-height:260px;padding:26px;transform:rotate(-2deg)}.motion-project:nth-child(2){transform:rotate(2deg)}.motion-project h3{font-size:36px}.motion-project-symbol{position:absolute;right:26px;bottom:50px}.motion-bars{width:65%;height:50px}.motion-art{min-height:350px;max-width:350px}.motion-hero-grid{gap:26px}.motion-hero-grid .btns{gap:10px}.motion-hero-grid .btn{padding:13px 18px}.motion-sticker{font-size:11px;max-width:170px;padding:15px;right:0;top:15%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-words>div,.motion-star,.motion-art img{transform:none!important}.motion-outline{background-size:100% 100%}.motion-project:hover,.motion-project:focus-visible,.bx:hover,.tool .frame:hover{transform:none}.motion-art img{will-change:auto}}
@media print{.motion-story,.motion-deck,.motion-art{display:none!important}.motion-hero-grid{display:block}.hero h1>span{animation:none!important;opacity:1!important;transform:none!important}}
@media(max-width:580px){body:has(.hero-grid) .motion-words{font-size:clamp(44px,12.8vw,76px)}nav .logo{white-space:nowrap}}
