/* Lightweight, local graphics: no animation framework or video assets. */
.scroll-progress{width:100%;transform:scaleX(0);transform-origin:left;transition:none}
.cursor-glow{display:none}
body::before{display:none}
.hero::before{animation:none}
.system-glow{filter:none;background:radial-gradient(ellipse,rgba(22,213,209,.2),transparent 68%)}
.solutions::before{filter:none;background:radial-gradient(circle,rgba(22,213,209,.1),transparent 68%)}
.system-panel{backdrop-filter:none;background:linear-gradient(145deg,#0f2a31f5,#07161bf5)}
.system-panel::after{top:-50%;animation:scan-efficient 7s linear infinite}
.live{animation:status-breathe 3s ease-in-out infinite}
.flow-node.active{animation:status-breathe 3s ease-in-out infinite}
.btn::before{display:none}
.hero h1{overflow-wrap:anywhere}
.btn{white-space:normal;text-align:center}
.product-list{margin-top:28px}
.product-card::after{pointer-events:none}
.system-visual{isolation:isolate}
.orbital-field{position:absolute;inset:-45px -32px;z-index:-1;pointer-events:none;display:grid;place-items:center}
.orbital-ring{position:absolute;width:100%;aspect-ratio:1;border:1px solid #38e8df25;border-radius:50%;animation:orbital-turn 30s linear infinite}
.orbital-ring::before{content:'';position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:#8dfff7;box-shadow:0 0 14px #16d5d1}
.orbital-ring:nth-child(2){width:112%;border-style:dashed;border-color:#38e8df14;animation-duration:46s;animation-direction:reverse}
.orbital-ring:nth-child(3){width:88%;border-color:#38e8df38;animation-duration:22s}
.orbital-ring:nth-child(3)::before{width:4px;height:4px;background:#fff}
.tech-art{position:relative;height:154px;flex-shrink:0;margin:25px 0 0;border:1px solid #63f4ed19;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at center,#16d5d10c,transparent 70%),linear-gradient(#63f4ed06 1px,transparent 1px),linear-gradient(90deg,#63f4ed06 1px,transparent 1px);background-size:auto,24px 24px,24px 24px;pointer-events:none}
.tech-art svg{width:100%;height:100%}
.circuit-wire{fill:none;stroke:#63f4ed30;stroke-width:1.4}
.circuit-packet{fill:none;stroke:#71fff0;stroke-width:2;stroke-dasharray:7 93;animation:packet-travel 4s linear infinite}
.circuit-packet.late{animation-delay:-2s}
.circuit-node{fill:#102f35;stroke:#40d9d180;stroke-width:1}
.chip-core{fill:#0a262b;stroke:#63f4ed;stroke-width:1.2}
.core-halo{transform-box:fill-box;transform-origin:center;animation:core-ripple 3.8s ease-out infinite}
.browser-frame{fill:#0a2026;stroke:#63f4ed60;stroke-width:1}
.browser-block{fill:#163940;stroke:#63f4ed19;stroke-width:1}
.browser-accent{fill:#39e2d8}
.browser-sweep{animation:browser-pass 5s ease-in-out infinite}
.process-num{transition:background .5s,color .5s,box-shadow .5s}
.process-step.visible .process-num{background:#d3f3ec;box-shadow:0 0 0 5px #00a29e0a}
.horizon{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.65}
.horizon-disc{position:absolute;width:min(850px,130vw);aspect-ratio:1;left:50%;top:60%;margin-left:max(-425px,-65vw);border:1px solid #63f4ed38;border-radius:50%;transform:rotateX(68deg);box-shadow:0 0 0 45px #16d5d108,0 0 0 90px #16d5d105}
.horizon-disc::after{content:'';position:absolute;inset:-1px;border:2px solid transparent;border-top-color:#63f4ed;border-radius:50%;animation:orbital-turn 12s linear infinite}
.effects-ready section,.effects-ready .ticker{--motion-state:paused}
.effects-ready .motion-active{--motion-state:running}
.effects-ready section *,.effects-ready section::before,.effects-ready section::after,.effects-ready section *::before,.effects-ready section *::after,.effects-ready .ticker *{animation-play-state:var(--motion-state)!important}
.page-hidden *,.page-hidden *::before,.page-hidden *::after{animation-play-state:paused!important}
@keyframes orbital-turn{to{transform:rotate(360deg)}}
@keyframes packet-travel{to{stroke-dashoffset:-100}}
@keyframes core-ripple{0%{transform:scale(.92);opacity:.6}100%{transform:scale(1.6);opacity:0}}
@keyframes browser-pass{0%,15%{transform:translateY(-10px);opacity:0}25%,75%{opacity:.6}90%,100%{transform:translateY(90px);opacity:0}}
@keyframes step-ring{from{transform:scale(.85);opacity:1}to{transform:scale(1.5);opacity:0}}
@keyframes scan-efficient{from{transform:translateY(0)}to{transform:translateY(350%)}}
@keyframes status-breathe{50%{opacity:.6}}
@media(max-width:700px){.hero h1{font-size:clamp(36px,11.8vw,60px)}.orbital-field{display:none}.tech-art{height:130px}.system-panel{animation:none}.system-glow,.solutions::before{animation:none}.horizon-disc::after{animation-duration:20s}.product-card{transform:none!important}.floating-chip{backdrop-filter:none}.system-visual{overflow:hidden}.hero-actions,.final-inner{min-width:0}.flow-node{padding:8px 5px;font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.chart-line{stroke-dashoffset:0}.core-halo{opacity:.2}.browser-sweep{display:none}.reveal{opacity:1;transform:none}.system-visual,.product-card{transform:none!important}}

/* Shared motion rhythm. Translate keeps entrances separate from hover transforms. */
:root {
  --ease-out: cubic-bezier(.25, .8, .25, 1);
  --motion-fast: 280ms;
  --motion-reveal: 900ms;
}
.reveal {
  transition: opacity var(--motion-reveal) var(--ease-out),
    translate var(--motion-reveal) var(--ease-out),
    transform 360ms var(--ease-out), border-color 360ms ease,
    background-color 360ms ease;
}
.effects-ready .reveal:not(.visible) { opacity: 0; translate: 0 10px; }
.reveal.visible { opacity: 1; translate: none; }
.reveal[data-delay='1'] { --reveal-delay: 80ms; }
.reveal[data-delay='2'] { --reveal-delay: 160ms; }
.reveal { transition-delay: var(--reveal-delay, 0ms), var(--reveal-delay, 0ms), 0ms, 0ms, 0ms; }
.hero-enter .hero-copy > * {
  animation: hero-arrive 1000ms var(--ease-out) both;
}
.hero-enter .hero-copy > h1 { animation-delay: 80ms; }
.hero-enter .hero-sub { animation-delay: 160ms; }
.hero-enter .hero-actions { animation-delay: 240ms; }
@keyframes hero-arrive {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
.site-header { transition: background-color 240ms ease, border-color 240ms ease; }
.site-header.scrolled { backdrop-filter: none; background: rgba(6,16,20,.96); }
.header-sentinel { position: absolute; inset: 0 auto auto 0; width: 1px; height: 24px; pointer-events: none; }
.site-nav a { position: relative; padding-block: 12px; }
.site-nav a::after {
  content: '';
  position: absolute;
  inset: auto 0 6px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 360ms var(--ease-out);
}
.site-nav a.active::after, .site-nav a:focus-visible::after { transform: scaleX(1); }
.brand { transition: opacity var(--motion-fast) ease; }
.btn, .model-motion-toggle {
  transition: transform var(--motion-fast) var(--ease-out),
    border-color var(--motion-fast) ease, background-color var(--motion-fast) ease,
    color var(--motion-fast) ease;
}
.btn-primary:hover { box-shadow: 0 12px 35px rgba(22,213,209,.2); }
.btn:focus-visible, .model-motion-toggle:focus-visible { outline: 2px solid var(--bright); outline-offset: 4px; }
.btn:active, .model-motion-toggle:active { transform: translateY(0) scale(.985); }
.btn:focus-visible svg { transform: translate(2px, -2px); }
.product-card::before { background: radial-gradient(ellipse at 50% 0, rgba(77,255,247,.07), transparent 65%); }
.product-card:hover::after { transform: none; }
.product-list li:hover { transform: none; }
.problem-card { transition: background-color 360ms ease, opacity var(--motion-reveal) var(--ease-out), translate var(--motion-reveal) var(--ease-out); transition-delay: 0ms, var(--reveal-delay, 0ms), var(--reveal-delay, 0ms); }
.problem-card:hover { color: var(--ink); background: rgba(0,155,157,.045); transform: none; }
.problem-card:hover p { color: var(--muted-dark); }
.problem-card:hover::after { transform: scale(1.08); }
.problem-card:hover svg { filter: none; }
.problem-card svg, .diff-icon { transition: transform 360ms var(--ease-out); }
.faq-item summary { transition: color var(--motion-fast) ease; }
.light-section :focus-visible { outline-color: var(--cyan-dark); }
.faq-toggle { transition: transform 360ms var(--ease-out), background-color 360ms ease; }
.faq-item[open] p { animation: answer-arrive 360ms var(--ease-out); }
@keyframes answer-arrive { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.floating-chip { animation: none; backdrop-filter: none; }
.ticker-track { animation-duration: 65s; }
.system-panel::after, .horizon-disc::after { animation: none; }
.live, .flow-node.active, .solutions::before { animation: none; }
.flow-line::after { animation-duration: 6s; }
.chart-line { filter: none; }
.metric strong { font-variant-numeric: tabular-nums; }

@media (hover: hover) and (pointer: fine) {
  .site-nav a:hover::after { transform: scaleX(1); }
  .brand:hover { opacity: .8; }
  .product-card.visible:hover, .diff-item.visible:hover { transform: translateY(-2px); }
  .problem-card:hover svg, .diff-item:hover .diff-icon { transform: translateY(-2px); }
  .btn:hover svg { transform: translate(2px, -2px); }
  .faq-item summary:hover { color: var(--cyan-dark); }
  .ticker:hover .ticker-track { animation-play-state: paused !important; }
}
@media (hover: none), (pointer: coarse) {
  .btn:hover, .btn:hover svg, .metric:hover { transform: none; }
  .product-card:hover::before { opacity: 0; }
  .problem-card:hover { background: transparent; }
  .problem-card:hover svg, .problem-card:hover::after { transform: none; }
  .model-motion-toggle { min-height: 44px; }
}
/* One pause control also stops the decorative CSS loops. */
html[data-scroll-motion='off'] *,
html[data-scroll-motion='off'] *::before,
html[data-scroll-motion='off'] *::after { animation-play-state: paused !important; }
html[data-scroll-motion='off'] .hero-copy > *,
html[data-scroll-motion='off'] .faq-item p { animation: none !important; }
html[data-scroll-motion='off'] .chart-line { stroke-dashoffset: 0; }
@media (max-width: 700px) {
  .effects-ready .reveal:not(.visible) { translate: 0 6px; }
  .site-header.scrolled { backdrop-filter: none; background: rgba(6,16,20,.97); }
}
/* Native timeline stays synchronized with scrolling without JS style writes. */
@supports (animation-timeline: scroll(root block)) {
  .native-scroll-progress #scroll-progress {
    animation: page-progress auto linear both;
    animation-timeline: scroll(root block);
    animation-play-state: running !important;
  }
}
@keyframes page-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .effects-ready .reveal:not(.visible), .reveal { opacity: 1; translate: none; }
  .btn:hover, .btn:active, .btn:hover svg, .btn:focus-visible svg, .metric:hover, .model-motion-toggle:active,
  .product-card.visible:hover, .diff-item.visible:hover,
  .problem-card:hover svg, .problem-card:hover::after, .diff-item:hover .diff-icon { transform: none; }
}
