.scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--orange);z-index:50;transform-origin:left;pointer-events:none;box-shadow:0 0 16px #ff6b3d66}
.hero-art{translate:var(--parallax-x,0px) var(--parallax-y,0px);transition:translate .6s cubic-bezier(.16,1,.3,1)}
.hero-copy h1>span{background:linear-gradient(100deg,#ff6b3d 15%,#ffac75 40%,#ff6b3d 65%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:heading-glow 9s ease-in-out infinite}
.eyebrow i{animation:status-pulse 3s ease-in-out infinite}
.orb-core{animation:core-glow 7s ease-in-out infinite}
.electron{position:absolute;left:50%;top:50%;width:0;height:0;z-index:6;pointer-events:none;will-change:transform;--electron-size:18px;--electron-color:255,230,197;--trail-angle:0deg}
.electron:after{content:"";position:absolute;width:var(--electron-size);height:var(--electron-size);left:calc(var(--electron-size)/-2);top:calc(var(--electron-size)/-2);border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff 0%,#fff9ec 19%,rgb(var(--electron-color)) 43%,#928371 78%,#34332b 100%);box-shadow:0 0 12px rgba(var(--electron-color),.55),0 0 27px rgba(var(--electron-color),.2),inset -2px -2px 4px #29282077}
.electron:before{content:"";position:absolute;right:0;top:-2px;width:40px;height:4px;border-radius:100%;background:linear-gradient(90deg,rgba(var(--electron-color),0),rgba(var(--electron-color),.1) 30%,rgba(var(--electron-color),.55));transform:rotate(var(--trail-angle));transform-origin:right center;filter:blur(.6px)}
.electron-a{transform:translate(82px,-94px);--electron-color:255,172,110}
.electron-b{transform:translate(-110px,43px);--electron-size:21px;--electron-color:243,241,222}
.electron-c{transform:translate(22px,132px);--electron-size:15px;--electron-color:199,213,185}
.orbit-a{animation:orbit-turn-a 16s ease-in-out infinite}
.orbit-b{animation:orbit-turn-b 19s ease-in-out infinite}
.orbit-c{animation:orbit-turn-c 22s ease-in-out infinite}
.art-grid{animation:grid-drift 22s linear infinite}
.art-label{animation:label-fade 6s ease-in-out infinite}
.tiny-cross,.contact-star{animation:star-turn 24s linear infinite;transform-origin:center}
.contact-star{width:max-content}
.hero-bottom a span{display:inline-block;animation:scroll-hint 2s ease-in-out infinite}
.ticker:hover>div{animation-play-state:paused}
.motion-paused *{animation-play-state:paused!important}
.button,.header-cta{transition:translate .35s cubic-bezier(.16,1,.3,1),transform .2s,background .2s}
.button{position:relative;overflow:hidden}
.button:after{content:"";position:absolute;inset:-100% auto -100% -50%;width:24%;background:#fff2;transform:rotate(22deg);transition:left .65s;pointer-events:none}
.button:hover:after{left:125%}
.button>span,.card-arrow,.project-arrow,.header-cta span{transition:transform .3s}
.button:hover>span,.header-cta:hover span,.service-card:hover .card-arrow{transform:translate(3px,-3px)}
.project:hover .project-arrow{transform:rotate(45deg);border-color:var(--orange);color:var(--orange)}
.motion-card{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .25s}
.service-card.motion-card:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}
.service-card{position:relative;isolation:isolate}
.service-card:after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(300px circle at var(--glow-x,50%) var(--glow-y,50%),#ff6b3d12,transparent);transition:opacity .3s;pointer-events:none}
.service-card:hover:after{opacity:1}
.service-symbol{display:inline-block;transition:transform .6s cubic-bezier(.2,.75,.2,1)}
.service-card:hover .service-symbol{transform:rotate(-12deg) scale(1.1)}
.chart>div{transform-origin:bottom}
.header nav a{position:relative}.header nav a:after{content:"";position:absolute;bottom:-7px;left:0;right:0;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after{transform:scaleX(1)}
dialog[open]{animation:dialog-enter .3s ease-out}dialog[open]::backdrop{animation:backdrop-enter .3s ease-out}
.contact-links{margin-top:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.contact-links a{font-size:15px;letter-spacing:-.3px;font-weight:650;border-bottom:1px solid #2225;padding:4px 0;transition:transform .25s}.contact-links a:hover{transform:translateX(5px)}
.footer-contacts{display:flex;flex-wrap:wrap;gap:18px;padding-top:24px;color:var(--muted);font-size:11px}.footer-contacts a:hover{color:var(--orange)}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;flex-direction:column;gap:10px}.form-download{align-self:center;background:none;border:0;border-bottom:1px solid #24291e66;padding:3px 0;color:#24271f;font-size:10px}
.button:disabled{cursor:wait;opacity:.7;translate:0 0!important;transform:none}
.button.is-sending>span{animation:sending-pulse 1s ease-in-out infinite}
#form-status[data-state="success"]{padding:12px;background:#21251b;color:#eff1e6;border-radius:2px}
#form-status[data-state="error"]{padding:12px;background:#fff2;border-left:2px solid #24271f}
@keyframes heading-glow{0%,100%{background-position:100% 50%}50%{background-position:0% 50%}}
@keyframes status-pulse{50%{box-shadow:0 0 0 5px #ff6b3d00,0 0 18px #ff6b3d99;opacity:.65}}
@keyframes core-glow{0%,100%{box-shadow:inset -12px -14px 25px #43120799,0 0 55px #ff5e201a}50%{box-shadow:inset -12px -14px 25px #43120799,0 0 85px #ff6b3d33}}
@keyframes orbit-turn-a{0%,100%{transform:rotateY(58deg) rotateX(20deg)}50%{transform:rotateY(72deg) rotateX(40deg)}}
@keyframes orbit-turn-b{0%,100%{transform:rotateX(66deg) rotate(-30deg)}50%{transform:rotateX(52deg) rotate(-8deg)}}
@keyframes orbit-turn-c{0%,100%{transform:rotateY(54deg) rotateX(-36deg) rotate(85deg)}50%{transform:rotateY(38deg) rotateX(-15deg) rotate(110deg)}}
@keyframes grid-drift{to{background-position:46px 46px}}
@keyframes label-fade{50%{opacity:.5}}
@keyframes star-turn{to{transform:rotate(360deg)}}
@keyframes scroll-hint{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes sending-pulse{50%{opacity:.3}}
@media(max-width:760px){.contact-links a{font-size:15px}.contact-star{right:0}.hero-copy h1>span{animation-duration:12s}.footer-contacts{gap:13px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.hero-art{translate:none!important}.motion-card,.service-card.motion-card:hover{transform:none!important}.button,.header-cta{translate:none!important}.scroll-progress{display:none}.electron:before{display:none}*,*:before,*:after{animation:none!important;transition:none!important}}
