/* Progressive enhancement: content and links remain available with no JS. */
@media (prefers-reduced-motion:no-preference){
 .button>span,.nav-cta>span,.service-foot>b,.work h3>b,.escape-image>span>b{display:inline-block;transition:transform .45s cubic-bezier(.22,1,.36,1)}
 .button:focus-visible>span,.nav-cta:focus-visible>span,.service:focus-visible .service-foot>b,.work:focus-visible h3>b,.escape-image:focus-visible>span>b{transform:translate(3px,-3px)}
 .motion-magnet{transition:transform .5s cubic-bezier(.22,1,.36,1),background .25s,box-shadow .4s}
 .motion-card{position:relative;isolation:isolate;transition:transform .65s cubic-bezier(.22,1,.36,1),box-shadow .65s,background .3s}
 .motion-image>img{transition:transform .9s cubic-bezier(.22,1,.36,1),filter .7s}
 .escape-image{position:relative}
 .escape-image>img{clip-path:inset(0)}
 .motion-hero .camera{transition:transform 1s cubic-bezier(.22,1,.36,1)}
 .motion-hero .floating-frame{transition:transform 1.15s cubic-bezier(.22,1,.36,1),border-color .5s}
 .motion-hero .orbit{transition:transform 1.4s cubic-bezier(.22,1,.36,1),box-shadow 1s}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .motion-enabled .motion-magnet.motion-active{transform:translate(var(--mx,0px),var(--my,0px));box-shadow:0 7px 28px #ff671a25}
 .motion-enabled .motion-magnet:hover>span{transform:translate(3px,-3px)}
 .motion-enabled .motion-hero .camera{transform:perspective(1000px) translate(var(--mx,0px),var(--my,0px)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotate(-12deg)}
 .motion-enabled .motion-hero .floating-frame{transform:translate(calc(var(--mx,0px) * -.55),calc(var(--my,0px) * -.55)) rotate(-6deg)}
 .motion-enabled .motion-hero.motion-active .floating-frame{border-color:#ffa35ecc}
 .motion-enabled .motion-hero .orbit{transform:translate(calc(var(--mx,0px) * -.25),calc(var(--my,0px) * -.25)) rotate(-30deg)}
 .motion-enabled .motion-hero.motion-active .orbit{box-shadow:0 0 48px #ff671a40,inset 0 0 30px #ff671a2b}
 .motion-enabled .motion-card.motion-active{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-3px);box-shadow:0 20px 35px #1e100d18;z-index:2}
 .motion-card:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(250px circle at var(--px,50%) var(--py,50%),#ff8a3730,transparent 80%);border:1px solid #ff671a70;opacity:0;transition:opacity .5s;z-index:1}
 .motion-enabled .motion-card.motion-active:after{opacity:1}
 .motion-enabled .motion-card:hover .service-foot>b{transform:translate(4px,-4px)}
 .motion-enabled .work.motion-active>img{transform:scale(1.045) translate(calc(var(--mx,0px) * -.5),calc(var(--my,0px) * -.5))}
 .motion-enabled .work:before{content:'';position:absolute;inset:0;border:1px solid #ff9b5b;box-shadow:inset 0 0 35px #ff671a25;opacity:0;z-index:3;pointer-events:none;transition:opacity .6s}
 .motion-enabled .work.motion-active:before{opacity:.8}
 .motion-enabled .work:hover h3>b,.motion-enabled .escape-image:hover>span>b{transform:translate(4px,-4px)}
 .motion-enabled .escape-image.motion-active>img{transform:translateY(-5px);filter:brightness(1.08)}
 .motion-enabled .motion-title .motion-ink{background-image:linear-gradient(110deg,currentColor 0%,currentColor 35%,#ff8b45 48%,#ffcf9b 51%,currentColor 64%,currentColor 100%);background-size:300% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text}
 @supports (-webkit-text-fill-color:transparent){
  .motion-enabled .motion-title:hover .motion-ink{animation:title-light 1.25s cubic-bezier(.2,.6,.3,1) both;-webkit-text-fill-color:transparent}
  .motion-title .outline{-webkit-text-fill-color:transparent}
  .motion-title .orange,.motion-title em{-webkit-text-fill-color:currentColor}
 }
 @keyframes title-light{from{background-position:100% 0}to{background-position:0% 0}}
}
@media (hover:none) and (prefers-reduced-motion:no-preference){
 a.button:active,.nav-cta:active{transform:scale(.98)}
 .service:active,.work:active,.escape-image:active{opacity:.88;transition:opacity .15s}
}
@media (prefers-reduced-motion:reduce){
 .motion-magnet,.motion-card,.motion-image>img{transform:none!important}
 .motion-title{animation:none!important;-webkit-text-fill-color:currentColor}
 .motion-title .outline{-webkit-text-fill-color:transparent}
 .motion-hero .camera{transform:rotate(-12deg)!important}
 .motion-hero .floating-frame{transform:rotate(-6deg)!important}
 .motion-hero .orbit{transform:rotate(-30deg)!important}
}
