/* Motion is an enhancement: content stays visible before JavaScript runs. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--scroll-progress:0}
.scroll-progress{position:absolute;inset:auto 0 0;height:2px;pointer-events:none;background:linear-gradient(90deg,#145cff 0%,#6793ff 76%,#ffd85c 100%);transform:scaleX(var(--scroll-progress));transform-origin:left center;z-index:2}
.site-header{transition:box-shadow .3s ease,background .3s ease}
.site-header.is-scrolled{box-shadow:0 8px 28px -23px #182f5980}
[data-motion-toggle]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid #dce3ef;border-radius:999px;background:#fff;color:#52617a;font:inherit;font-size:11px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
[data-motion-toggle]::before{content:"";width:8px;height:9px;flex:none;background:linear-gradient(90deg,currentColor 0 30%,transparent 30% 70%,currentColor 70% 100%)}
[data-motion-toggle][aria-pressed="true"]::before{height:10px;width:8px;clip-path:polygon(0 0,100% 50%,0 100%);background:currentColor}
[data-motion-toggle]:hover{background:#f0f5ff;border-color:#b3c9ff;color:#145cff}
[data-motion-toggle]:focus-visible{outline:3px solid #145cff;outline-offset:4px}
[data-motion-toggle]:disabled{cursor:default;color:#687388;background:#f8f9fc}
[data-motion-toggle]:disabled::before{clip-path:none;background:currentColor;width:7px;height:7px;border-radius:50%}
.motion-reveal{animation:luna-reveal .85s var(--motion-ease) var(--reveal-delay,0ms) backwards}
@keyframes luna-reveal{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
.idea-field{--field-x:0px;--field-y:0px}
.idea-field .field-grid{inset:-20px;translate:calc(var(--field-x) * -.4) calc(var(--field-y) * -.4);transition:translate .8s var(--motion-ease)}
.idea-field .field-orbits,.idea-field .parallax-layer,.idea-field [data-parallax]{translate:var(--field-x) var(--field-y);transition:translate .8s var(--motion-ease)}
.idea-field .core-mark,.idea-field [data-parallax="near"]{translate:calc(var(--field-x) * 1.5) calc(var(--field-y) * 1.5);transition:translate .8s var(--motion-ease)}
.idea-field [data-parallax="far"]{translate:calc(var(--field-x) * -.6) calc(var(--field-y) * -.6)}
.core-mark{animation:luna-core-breathe 8s ease-in-out infinite}
@keyframes luna-core-breathe{0%,100%{scale:1}50%{scale:1.035}}
.motion-orbit{animation:luna-orbit 34s linear infinite;transform-origin:center}
.motion-float{animation:luna-drift 7s ease-in-out infinite}
.motion-pulse{animation:luna-pulse 4s ease-in-out infinite}
@keyframes luna-orbit{to{rotate:1turn}}
@keyframes luna-drift{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes luna-pulse{0%,100%{opacity:.45}50%{opacity:1}}
.brand-card{transition:translate .5s var(--motion-ease),box-shadow .5s var(--motion-ease),border-color .3s ease}
.brand-art .workflow-node,.brand-art .workflow-spark,.brand-art .puzzle-visual,.brand-art .sky-visual,.brand-art .spacecast-orb{transition:translate .7s var(--motion-ease),scale .9s var(--motion-ease),rotate .9s var(--motion-ease)}
.button svg,.text-link svg,.brand-link svg,.header-contact svg,.contact-email svg{transition:translate .3s var(--motion-ease)}
.company-principles>div,.approach-grid>article{transition:translate .4s var(--motion-ease)}
.capability-row .row-plus{transition:translate .35s var(--motion-ease),color .3s ease}
@media(hover:hover) and (pointer:fine){
  html:not(.motion-paused) .brand-card:hover{translate:0 -7px;box-shadow:0 22px 50px -27px #253e7166}
  html:not(.motion-paused) .brand-card:hover .workflow-node{translate:0 -6px}
  html:not(.motion-paused) .brand-card:hover .node-two{translate:0 -12px}
  html:not(.motion-paused) .brand-card:hover .workflow-spark{rotate:28deg;scale:1.15}
  html:not(.motion-paused) .brand-card:hover .sky-visual{scale:1.035;rotate:-1deg}
  html:not(.motion-paused) .brand-card:hover .puzzle-visual{translate:0 -6px;rotate:2deg}
  html:not(.motion-paused) .brand-card:hover .spacecast-orb{scale:1.06;rotate:4deg}
  html:not(.motion-paused) .company-principles>div:hover,html:not(.motion-paused) .approach-grid>article:hover{translate:0 -4px}
  html:not(.motion-paused) .button:hover svg,html:not(.motion-paused) .text-link:hover svg{translate:3px 0}
  html:not(.motion-paused) .brand-link:hover svg,html:not(.motion-paused) .header-contact:hover svg,html:not(.motion-paused) .contact-email:hover svg{translate:2px -2px}
  html:not(.motion-paused) .capability-row:hover .row-plus{translate:3px -3px;color:#145cff}
}
.motion-paused *,.motion-paused *::before,.motion-paused *::after,.motion-hidden *,.motion-hidden *::before,.motion-hidden *::after{animation-play-state:paused!important}
.motion-paused .motion-reveal{animation:none!important;opacity:1!important;translate:none!important}
.motion-paused .idea-field .field-grid,.motion-paused .idea-field .field-orbits,.motion-paused .idea-field .core-mark,.motion-paused .idea-field .parallax-layer,.motion-paused .idea-field [data-parallax]{translate:0 0;transition:none}
.motion-paused{scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .motion-reveal{opacity:1!important;translate:none!important}
  .idea-field .field-grid,.idea-field .field-orbits,.idea-field .core-mark,.idea-field .parallax-layer,.idea-field [data-parallax]{translate:0 0!important}
}
