/* Velora / cinematic motion edition */
.page-progress{position:fixed;inset:0 0 auto;height:3px;z-index:110;background:linear-gradient(90deg,#53ddd1,#ae93ff,#f1c9a0);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.motion-switch{position:fixed;right:18px;bottom:18px;z-index:90;border:1px solid #4c737b;border-radius:99px;padding:10px 15px;background:#071c2cf0;color:#c6ece9;font:500 10px/1.2 system-ui;letter-spacing:.08em;cursor:pointer;box-shadow:0 6px 30px #0003}
.galaxy-titles span{font-size:clamp(30px,5.6vw,88px);letter-spacing:-.065em;animation:title-arrive 1.6s cubic-bezier(.16,1,.3,1) both}
.galaxy-titles span:last-child{animation-delay:.18s}
.galaxy-masthead{animation:title-arrive 1.4s .2s both}
.galaxy-scroll{animation:scroll-breathe 2.8s ease-in-out infinite}
.galaxy-statement p{background:linear-gradient(110deg,#fff 20%,#73e5dc 45%,#c7b6ff 60%,#fff 80%);background-size:250% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:spectrum 9s linear infinite}
.light-orbits{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;opacity:calc(.5 - var(--galaxy-progress,0)*.35)}
.light-orbits i{position:absolute;left:50%;top:46%;width:min(68vw,85vh);aspect-ratio:1;border:1px solid #69dcd125;border-radius:50%;transform:translate(-50%,-50%) rotateX(65deg) rotate(-24deg);animation:light-orbit 24s linear infinite}
.light-orbits i:nth-child(2){width:min(84vw,105vh);animation-direction:reverse;animation-duration:34s;border-color:#b798ff20}
.light-orbits i::after{content:'';position:absolute;top:15%;left:14%;width:6px;height:6px;border-radius:50%;background:#c5fff9;box-shadow:0 0 22px 5px #67dfd580}
.velocity-strip{overflow:hidden;background:#79e5d6;color:#071c2c;padding:22px 0;position:relative;z-index:2;border-block:1px solid #89f6e6}
.velocity-track{display:flex;width:max-content;animation:velocity 32s linear infinite}
.velocity-track>span{display:flex;align-items:center;gap:40px;padding-right:40px;font-size:clamp(26px,4vw,62px);font-weight:750;letter-spacing:-.04em;white-space:nowrap}
.velocity-track b{font-weight:400;color:#256c70}.velocity-track em{font-style:normal;-webkit-text-stroke:1px #123944;color:transparent}
.word-clip{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.word-clip>span{display:inline-block;transform:translateY(115%) rotate(4deg);opacity:0;transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .65s;transition-delay:calc(var(--word-index)*45ms)}
.headline-in .word-clip>span{transform:none;opacity:1}
.js .reveal{transition-duration:1.1s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.founder-stage .founder-portrait{box-shadow:0 35px 90px #0007,0 0 50px #46c8c51a;border-color:#79e5d660}
.founder-stage .founder-portrait figcaption{background:linear-gradient(0deg,#03131bef,transparent);backdrop-filter:none;border:0;border-radius:0;left:0;right:0;bottom:0;padding:42px 22px 22px}
.founder-ring::after{content:'';position:absolute;top:15%;left:14%;width:9px;height:9px;border-radius:50%;background:#b0fff2;box-shadow:0 0 22px #79ffe5}
.founder-aurora{animation:aurora-drift 9s ease-in-out infinite alternate}
.founder-stage-secondary .founder-aurora{animation-delay:-4s}
.portrait-gloss{animation:portrait-sweep 8s ease-in-out infinite}
.service-row{position:relative;isolation:isolate;transition:padding .4s,color .4s;border-radius:3px}
.service-row::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#5ce0d524,transparent);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.service-row:hover::before{transform:scaleX(1)}
.service-row:hover{padding-left:18px;padding-right:18px}
.service-row .arrow{transition:transform .4s,color .4s}.service-row:hover .arrow{transform:rotate(45deg);color:#80f0db}
.process-card,.work-index a{position:relative;overflow:hidden;transition:box-shadow .4s,border-color .4s}
.process-card::after,.work-index a::after{content:'';position:absolute;inset:0;background:radial-gradient(350px circle at var(--spot-x,50%) var(--spot-y,50%),#70e8d921,transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}
.process-card:hover::after,.work-index a:hover::after{opacity:1}
.process-card:hover{box-shadow:0 18px 65px #4fcbbb15;border-color:#7cddce80}
.btn,.nav-cta{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .3s,background .3s,box-shadow .3s;position:relative;overflow:hidden}
.btn-primary::after{content:'';position:absolute;inset:-70% -30%;background:linear-gradient(110deg,transparent 40%,#ffffff70 50%,transparent 60%);transform:translateX(-110%) rotate(15deg);transition:transform .7s;pointer-events:none}
.btn-primary:hover::after{transform:translateX(110%) rotate(15deg)}
.project-media{translate:0 var(--media-offset,0px)}
.contact-word{translate:var(--contact-drift,0px) 0}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}
.motion-paused .word-clip>span{transform:none!important;opacity:1!important;transition:none!important}
.motion-paused .project-media,.motion-paused .btn,.motion-paused .nav-cta{translate:none!important}
@keyframes title-arrive{from{opacity:0;transform:translateY(32px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes scroll-breathe{50%{opacity:.45;translate:0 4px}}
@keyframes spectrum{to{background-position:250% center}}
@keyframes light-orbit{to{transform:translate(-50%,-50%) rotateX(65deg) rotate(336deg)}}
@keyframes velocity{to{transform:translateX(-50%)}}
@keyframes aurora-drift{to{translate:15px -20px;scale:1.12;filter:hue-rotate(35deg)}}
@keyframes portrait-sweep{0%,35%,100%{opacity:.15;translate:-30% 0}65%{opacity:.5;translate:30% 0}}
@media(max-width:760px){.galaxy-titles span{font-size:clamp(30px,8vw,48px)}.velocity-strip{padding:18px 0}.velocity-track>span{gap:22px;padding-right:22px}.motion-switch{right:12px;bottom:12px;padding:9px 12px}.light-orbits i{width:90vw}.light-orbits i:nth-child(2){width:115vw}.service-row:hover{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){.word-clip>span{opacity:1;transform:none}.project-media,.contact-word,.btn,.nav-cta{translate:none!important}.velocity-track{animation:none}.motion-switch{display:none}}
/* Keep motion wrappers visually neutral and intro controls clear of the toggle. */
#home .intro-controls{bottom:max(76px,calc(env(safe-area-inset-bottom) + 60px))}
.word-clip,.word-clip>span{color:inherit!important;font:inherit!important;letter-spacing:inherit!important;background:none!important;-webkit-text-fill-color:inherit}
.motion-paused .contact-word{translate:none!important}
