/* Motion is finite, composited and optional. The page stays visible without JS. */
.nav nav .support-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;color:var(--green);background:#eef5f1;border:1px solid #d9e6de;border-radius:5px;padding:10px 12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.support-link svg{width:16px;height:16px;flex-shrink:0}
.footer-bottom>div{flex-wrap:wrap}
@media(min-width:901px) and (max-width:1050px){.nav{gap:18px}.nav nav{gap:12px;font-size:12px}.nav .brand img{width:140px}.nav nav .login{padding:10px}.nav nav .button.small{gap:9px;padding:11px 13px}}
@media(min-width:901px) and (max-width:1050px){.nav{height:75px}.menu-toggle{display:flex;gap:14px;align-items:center;background:transparent;border:1px solid #c9d3cc;border-radius:5px;padding:8px 13px;font-size:12px}.nav nav{display:none;position:absolute;left:0;right:0;top:75px;padding:24px 32px;background:white;border-bottom:1px solid var(--line);box-shadow:0 14px 25px #101a4210;max-height:calc(100dvh - 75px);overflow:auto}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}}
@media(prefers-reduced-motion:no-preference){
  .hero-visual{animation:hero-arrive .75s cubic-bezier(.2,.65,.3,1) both}
  .hero-visual .connection-lines path{stroke-dasharray:12 6;animation:connection-flow 2.4s ease-out 2 forwards}
  .hero-visual .center-brand{animation:hub-glow 2s ease-out 2}
  .reveal-pending{opacity:0;transform:translateY(20px)}
  .reveal-enter{animation:section-arrive .55s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms) backwards}
  .solution-image img,.portfolio-art img{transition:transform .4s ease}
  .solution-card:hover .solution-image img,.portfolio-card:hover .portfolio-art img{transform:scale(1.025)}
  .orbit-label{transition:background .2s,translate .2s}
  .orbit-label:hover{translate:0 -3px}
  .faq summary span{transition:transform .2s}
  .platform-stage img{animation:screen-arrive .3s ease-out}
  @keyframes hero-arrive{from{transform:translateY(16px)}to{transform:translateY(0)}}
  @keyframes section-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
  @keyframes screen-arrive{from{opacity:.6}to{opacity:1}}
  @keyframes connection-flow{from{stroke-dashoffset:36}to{stroke-dashoffset:0}}
  @keyframes hub-glow{0%,100%{box-shadow:0 0 30px #9ee7ca12}50%{box-shadow:0 0 45px #9ee7ca30}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}}
@media print{.reveal-pending{opacity:1;transform:none}}
