/* Depth uses transform/opacity. SVG paths and the footer text light
   are small, bounded paint effects that pause outside their sections. */
.brand img.brand-mark{display:block;width:36px;height:36px;object-fit:contain;border:0;border-radius:0;flex-shrink:0}
.signal-field{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.signal-grid{position:absolute;inset:42% -15% -60%;background-image:linear-gradient(rgba(255,157,84,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(255,157,84,.06) 1px,transparent 1px);background-size:72px 72px;transform:perspective(640px) rotateX(58deg) translate3d(0,var(--depth-y,0px),0);transform-origin:center top;opacity:.35}
.signal-haze{position:absolute;right:3%;top:10%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.12),transparent 68%);animation:haze-drift 16s ease-in-out infinite alternate;animation-play-state:paused}
.signal-haze-second{width:300px;height:300px;right:28%;top:49%;opacity:.45;animation-duration:21s;animation-direction:alternate-reverse}
.signal-beam{position:absolute;left:10%;top:var(--beam-top,25%);width:76%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.12),transparent)}
.signal-beam::after{content:"";position:absolute;top:-1px;left:0;width:42px;height:2px;background:linear-gradient(90deg,transparent,var(--accent-light),transparent);opacity:0;animation:signal-travel 9s linear infinite;animation-delay:var(--beam-delay,0s);animation-play-state:paused}
.signal-beam:nth-of-type(2){--beam-top:46%;--beam-delay:-3s;left:24%;width:65%}
.signal-beam:nth-of-type(3){--beam-top:70%;--beam-delay:-6s;left:4%;width:72%}
.signal-beam:nth-of-type(4){--beam-top:87%;--beam-delay:-1.5s;left:18%;width:80%}
.motion-ready .hero-copy{transform:translate3d(0,var(--depth-y,0px),0)}
.motion-ready .hero-art{transform:translate3d(0,calc(5px + var(--depth-y,0px)),0);animation-name:diagram-arrive;animation-duration:1.25s}
.motion-ready .hero-line-mask,.motion-line-mask{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.motion-ready .hero-line{animation-name:hero-line-rise;animation-duration:1.1s;animation-delay:calc(var(--line-index,0) * .14s)}
.motion-ready .motion-line{display:block;transform:translate3d(0,110%,0);opacity:.6;transition:transform 1.05s var(--ease),opacity .8s var(--ease);transition-delay:calc(var(--line-index,0) * 90ms)}
.motion-ready h2.reveal{transform:none;transition:opacity .2s}
.motion-ready .is-visible .motion-line{transform:none;opacity:1}
.motion-ready .reveal:not(h2){transition-duration:1s;transform:translate3d(0,32px,0)}
.motion-ready .reveal.is-visible:not(h2){transform:none}
.workflow-stage{position:relative;min-width:0}
.motion-ready .workflow-stage{transform:translate3d(0,var(--depth-y,0px),0)}
.workflow-shell{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:50% 50%}
.workflow-stage:focus-within,.workflow-shell:focus-within{transform:none!important}
.workflow-window{position:relative}
.workflow-window::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-light),var(--accent),transparent);transform:translateX(-100%);opacity:.7;animation:window-signal 5.5s ease-in-out infinite;animation-play-state:paused;pointer-events:none;z-index:2}
.window-dots i{animation:window-breathe 3s ease-in-out infinite;animation-play-state:paused}
.window-dots i:nth-child(2){animation-delay:.3s}
.window-dots i:nth-child(3){animation-delay:.6s}
.map-core{overflow:hidden}
.map-core::before{content:"";position:absolute;inset:-40% auto -40% -55%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,205,156,.09),transparent);transform:skewX(-16deg);animation:core-scan 4.8s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.map-core>*{position:relative;z-index:1}
.map-core::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-light),transparent);transform:scaleX(.35);opacity:.45;animation:core-breathe 2.8s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.map-running .map-core::before,.map-running .map-core::after{animation-play-state:running}
.map-output[data-active="true"] .map-node-title svg{animation:output-arrive .5s var(--ease) both}
.motion-ready .process-number::before{content:"";position:absolute;bottom:0;left:0;right:-30px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-light));transform:scaleX(var(--path-fill,0));transform-origin:left;z-index:1}
.motion-ready .process-grid li:last-child .process-number::before{right:0}
.motion-ready .process-point{z-index:2}
.motion-ready .process-point::before{content:"";position:absolute;inset:-5px;border:1px solid var(--accent);border-radius:50%;transform:scale(.5);opacity:0;animation:point-ring 2.7s ease-out infinite;animation-play-state:paused}
.motion-ready .process-grid li[data-step-lit="true"] .process-point{background:var(--accent-light)}
.motion-ready .service summary{position:relative}
.motion-ready .service summary::before{content:"";position:absolute;inset:0 -18px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.06),transparent 75%);transform:scaleX(0);transform-origin:left;opacity:0;transition:transform .55s var(--ease),opacity .4s;pointer-events:none;border-radius:5px}
.motion-ready .service summary>*{position:relative}
.motion-ready .service summary:hover::before,.motion-ready .service summary:focus-visible::before{transform:scaleX(1);opacity:1}
.motion-ready .service[open] .service-content,.motion-ready .faq-list details[open] p{animation:disclosure-arrive .45s var(--ease) both}
.motion-ready .button-primary{position:relative;overflow:hidden}
.motion-ready .button-primary::after{content:"";position:absolute;inset:-30% auto -30% -45%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-16deg);opacity:0;animation:button-signal 7s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.motion-ready .button-primary svg{transition:transform .4s var(--ease)}
.motion-ready .button-primary:hover svg{transform:translate(2px,-2px)}
.motion-ready .footer-wordmark{position:relative;transform:translate3d(0,var(--depth-y,0px),0);isolation:isolate}
.footer-wordmark::before,.footer-wordmark::after{content:attr(data-wordmark);position:absolute;inset:0;padding:inherit;color:transparent;background:linear-gradient(90deg,transparent 0%,rgba(255,122,47,.2) 15%,#ff7a2f 36%,#ffe6ca 50%,#ffb568 64%,rgba(255,122,47,.2) 85%,transparent 100%);background-size:38% 100%;background-repeat:no-repeat;background-position:-75% 0;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.35));animation:wordmark-wave 8.6s linear infinite;animation-play-state:paused;pointer-events:none}
.footer-wordmark::after{animation-delay:-4.3s;opacity:.65}
.capability-viewport{overflow:hidden}
.capability-track .motion-copy{display:none}
.motion-dock{position:fixed;right:22px;bottom:22px;z-index:65}
.motion-dock .motion-control{min-height:44px;padding:11px 15px;gap:9px;border:1px solid #594332;border-radius:7px;background:var(--surface);color:var(--text-soft);font-size:10px;box-shadow:0 8px 30px #0005}
.motion-dock .motion-control:hover{background:var(--surface-2);border-color:var(--accent);color:var(--text)}
.motion-dock .motion-control svg{color:var(--accent-light)}
.motion-ready footer{padding-bottom:66px}
html[data-motion="running"].motion-ready .capability-track{display:flex;width:max-content;animation:capability-flow var(--capability-duration,36s) linear infinite;animation-play-state:paused}
html[data-motion="running"].motion-ready .capability-run{display:flex;flex-shrink:0}
html[data-motion="running"].motion-ready .capability-track .capability-inner{display:flex;width:max-content;max-width:none;min-height:68px;flex-shrink:0;justify-content:flex-start;gap:36px;margin:0;padding:0 36px 0 0}
html[data-motion="running"].motion-ready .capability-track .strip-separator{display:block}
html[data-motion="running"].motion-ready .capability-track .motion-copy{display:flex}
html[data-motion="running"].motion-ready .hero[data-motion-view="true"] .signal-haze,
html[data-motion="running"].motion-ready .hero[data-motion-view="true"] .signal-beam::after,
html[data-motion="running"].motion-ready .hero[data-motion-view="true"] .button-primary::after,
html[data-motion="running"].motion-ready #thea[data-motion-view="true"] .workflow-window::before,
html[data-motion="running"].motion-ready #thea[data-motion-view="true"] .window-dots i,
html[data-motion="running"].motion-ready #thea[data-motion-view="true"] .button-primary::after,
html[data-motion="running"].motion-ready #process[data-motion-view="true"] li[data-step-lit="true"] .process-point::before,
html[data-motion="running"].motion-ready footer[data-motion-view="true"] .footer-wordmark::before,
html[data-motion="running"].motion-ready footer[data-motion-view="true"] .footer-wordmark::after,
html[data-motion="running"].motion-ready .capability-strip[data-motion-view="true"] .capability-track{animation-play-state:running}
.motion-ready .status-dot,.motion-ready .scroll-prompt svg{animation-play-state:paused}
html[data-motion="running"].motion-ready .hero[data-motion-view="true"] .status-dot,
html[data-motion="running"].motion-ready .hero[data-motion-view="true"] .scroll-prompt svg{animation-play-state:running}
html[data-motion-visibility="hidden"] *,html[data-motion-visibility="hidden"] *::before,html[data-motion-visibility="hidden"] *::after{animation-play-state:paused!important}
html[data-motion="paused"].motion-ready .hero-copy,
html[data-motion="paused"].motion-ready .hero-art,
html[data-motion="paused"].motion-ready .workflow-stage,
html[data-motion="paused"].motion-ready .workflow-shell,
html[data-motion="paused"].motion-ready .footer-wordmark,
html[data-motion="paused"].motion-ready .motion-line{transform:none!important;opacity:1}
html[data-motion="paused"] .process-number::before{transform:scaleX(1)}
html[data-motion="paused"] .signal-field{opacity:.4}
html[data-motion="paused"] .signal-beam::after,
html[data-motion="paused"] .button-primary::after,
html[data-motion="paused"] .workflow-window::before,
html[data-motion="paused"] .map-core::before,
html[data-motion="paused"] .map-core::after,
html[data-motion="paused"] .footer-wordmark::before,
html[data-motion="paused"] .footer-wordmark::after,
html[data-motion="paused"] .process-point::before{display:none}
html[data-motion-tier="lite"] .signal-grid,html[data-motion-tier="lite"] .signal-haze-second{display:none}
html[data-motion-tier="lite"] .signal-beam:nth-of-type(n+3){display:none}
html[data-motion-tier="lite"] .signal-haze{width:300px;height:300px;opacity:.65}
html[data-motion-tier="lite"] .workflow-shell{transform:none}
@keyframes hero-line-rise{from{opacity:0;transform:translate3d(0,110%,0)}to{opacity:1;transform:none}}
@keyframes diagram-arrive{from{opacity:0}to{opacity:1}}
@keyframes haze-drift{from{transform:translate3d(-15px,-12px,0) scale(.96)}to{transform:translate3d(24px,20px,0) scale(1.06)}}
@keyframes signal-travel{0%{transform:translateX(-42px);opacity:0}10%{opacity:.65}80%{opacity:.65}100%{transform:translateX(65vw);opacity:0}}
@keyframes core-scan{0%,35%{transform:translateX(0) skewX(-16deg);opacity:0}42%{opacity:1}70%,100%{transform:translateX(450%) skewX(-16deg);opacity:0}}
@keyframes core-breathe{50%{transform:scaleX(.95);opacity:.9}}
@keyframes window-signal{0%,20%{transform:translateX(-100%);opacity:0}35%{opacity:.75}70%,100%{transform:translateX(100%);opacity:0}}
@keyframes window-breathe{50%{opacity:.4}}
@keyframes point-ring{0%{transform:scale(.5);opacity:0}20%{opacity:.5}100%{transform:scale(1.7);opacity:0}}
@keyframes output-arrive{from{opacity:.25;transform:translate3d(0,4px,0)}to{opacity:1;transform:none}}
@keyframes disclosure-arrive{from{opacity:0;transform:translate3d(0,9px,0)}to{opacity:1;transform:none}}
@keyframes button-signal{0%,65%{transform:translateX(0) skewX(-16deg);opacity:0}70%{opacity:.8}88%,100%{transform:translateX(600%) skewX(-16deg);opacity:0}}
@keyframes capability-flow{to{transform:translate3d(-50%,0,0)}}
@keyframes wordmark-wave{from{background-position:-75% 0}to{background-position:175% 0}}

/* Reduce the marked sections by about a quarter, retaining clear boundaries. */
#about.section,#process.section,#faq.section{padding-block:80px}
#about .principles article{padding-block:19px}
#process .section-heading{margin-bottom:40px}
#process .process-number{padding-bottom:21px;margin-bottom:20px}
@media(max-width:960px){#about.section,#process.section,#faq.section{padding-block:64px}#process .section-heading{margin-bottom:32px}}
@media(max-width:960px){.motion-ready .process-number::before{right:-22px}}
@media(max-width:720px){
  .motion-dock{right:14px;bottom:14px}
  .motion-ready .hero-art{transform:translate3d(0,var(--depth-y,0px),0)}
  .workflow-stage{width:100%;max-width:550px;justify-self:center}
  .motion-ready .process-number::before{right:0}
  html[data-motion="running"].motion-ready .capability-track .capability-inner{min-height:58px;gap:26px;padding:0 26px 0 0}
  html[data-motion="running"].motion-ready .capability-inner span:nth-of-type(5),html[data-motion="running"].motion-ready .capability-inner span:nth-of-type(7){color:var(--muted)}
  .motion-ready .motion-line{transition-duration:.8s}
  .motion-ready .service summary::before{inset-inline:-8px}
  #about.section,#process.section,#faq.section{padding-block:50px}
  #about .principles article{padding-block:17px}
  #process .section-heading{margin-bottom:28px}
  #process .process-grid{row-gap:28px}
  .footer-wordmark::before,.footer-wordmark::after{filter:drop-shadow(0 0 6px rgba(var(--accent-rgb),.3))}
}
@media(prefers-reduced-motion:reduce){
  html:not([data-motion-choice="running"]) .signal-field{display:none}
  html:not([data-motion-choice="running"]) .hero-copy,html:not([data-motion-choice="running"]) .hero-art,html:not([data-motion-choice="running"]) .workflow-stage,html:not([data-motion-choice="running"]) .workflow-shell,html:not([data-motion-choice="running"]) .footer-wordmark,html:not([data-motion-choice="running"]) .motion-line{transform:none!important}
  html:not([data-motion-choice="running"]) .motion-line{opacity:1!important}
  html:not([data-motion-choice="running"]) .process-number::before{transform:scaleX(1)!important}
}
