/* One visual language: continuous routes, staged type, then a quiet resting state. */
.intro-ready .signal-routes path{stroke-dasharray:100;stroke-dashoffset:0;animation:route-arrive 2.3s var(--ease-out) both;animation-delay:calc(100ms + var(--route) * 38ms)}
@keyframes route-arrive{from{stroke-dashoffset:100;opacity:.18}to{stroke-dashoffset:0;opacity:1}}
.signal-art{animation:signal-breathe 9s ease-in-out infinite;transform-origin:55% 50%}
@keyframes signal-breathe{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-9px) rotate(.35deg)}}
.intro-ready .art-coordinate{animation:coordinate-arrive 1s var(--ease-out) both;animation-delay:1.2s}
@keyframes coordinate-arrive{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}
.scroll-cue>span{animation:scroll-breathe 3.5s ease-in-out infinite}
@keyframes scroll-breathe{0%,65%,100%{transform:translateY(0)}78%{transform:translateY(5px)}}
.statement .word-reveal{display:inline-block;color:color-mix(in srgb,var(--text) calc(var(--word-progress,1) * 100%),var(--muted))!important;transition:color .15s linear}
.engineering-diagram{margin-top:45px;width:100%;max-width:460px;color:var(--accent)}
.engineering-diagram svg{display:block;width:100%;height:auto;overflow:visible}
.engineering-diagram .diagram-base{stroke:var(--line);stroke-width:1;fill:none}
.engineering-diagram .diagram-flow{stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;fill:none;stroke-dasharray:10 100;animation:engine-flow 7s linear infinite;animation-delay:calc(var(--trace) * -.6s)}
@keyframes engine-flow{from{stroke-dashoffset:110}to{stroke-dashoffset:0}}
.service-illustration svg{overflow:visible}
.service-illustration rect{transform-origin:240px 125px;animation:service-orbit 20s ease-in-out infinite}
.service-illustration rect:nth-of-type(2){animation-direction:reverse;animation-duration:26s}
.service-illustration circle:last-child{animation:diagram-beacon 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes service-orbit{0%,15%,100%{transform:rotate(0deg)}45%,65%{transform:rotate(180deg)}}
@keyframes diagram-beacon{50%{opacity:.3;transform:scale(.65)}}
.product-section .product-visual img{clip-path:inset(8% 0 8% 0);transform:scale(1.055);transition:clip-path 1.4s var(--ease-out),transform 1.4s var(--ease-out),filter .6s}
.product-section[data-visible=true] .product-visual img{clip-path:inset(0);transform:scale(1)}
.agency-signal{width:150px;height:110px;overflow:visible;color:#282b21}
.agency-signal path{stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.4s var(--ease-out);transition-delay:calc(var(--arrow) * 75ms)}
.agency-banner[data-visible=true] .agency-signal path{stroke-dashoffset:0}
.agency-top .agency-signal{transition:transform .9s var(--ease-out)}
.agency-banner:has(.button:hover) .agency-signal,.agency-banner:has(.button:focus-visible) .agency-signal{transform:translate(8px,-8px)}
.agency-banner .button:after{background:#181b17}
.service-selector .service-number{transition:transform .5s var(--ease-out),color .3s}
.service-selector:hover .service-number,.service-selector:focus-visible .service-number{transform:translateX(3px)}
.service-selector:hover .service-arrow,.service-selector:focus-visible .service-arrow{transform:translate(3px,-3px)}
.theme-toggle{transition:transform .65s var(--ease-out),color .3s}
.theme-toggle:hover,.theme-toggle:focus-visible{transform:rotate(180deg);color:var(--accent)}
.footer-brand{overflow:clip}
.footer-brand img{animation:logo-settle .9s var(--ease-out) both}
@keyframes logo-settle{from{opacity:.4}to{opacity:1}}
.page-backgrounded .ambient-motion,.motion-scene[data-visible=false] .ambient-motion,.scene-paused .signal-art{animation-play-state:paused!important}
.hero-art{transform:none!important;transition:none!important}
.continuity-layer{position:fixed;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:hidden;color:var(--line);transform:none!important;animation:none!important;contain:strict}
.continuity-layer .signal-routes{stroke-width:1.6}
.continuity-layer .signal-flows{stroke-width:2.4}
.continuity-routes{stroke-width:1.15;opacity:.6}
.continuity-tail-flows{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.75;pointer-events:none}
.continuity-tail-flows path{stroke-dasharray:2 100;animation:signal-flow 22s linear infinite;animation-delay:var(--flow-delay,0s)}
.product-section .product-visual.product-live-preview,.product-visual.product-live-preview{display:flex;flex-direction:column;position:relative;transform:none!important;transition:none;padding:0;margin:0;width:100%;min-width:0;background:#0c1017;border:1px solid #b6beb0;gap:0;overflow:hidden;align-self:center}
.product-section .product-visual.product-live-preview:before,.product-visual.product-live-preview:before{display:none}
.product-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid #29313d;color:#c3c8cc;font-size:9px;line-height:1.5}
.product-preview-bar>span{display:flex;align-items:center;gap:7px}.product-preview-bar i{width:5px;height:5px;background:#e69b70;border-radius:50%;flex-shrink:0}
.product-preview-bar>a{white-space:nowrap;color:#e5ab85;font-size:9px}
.product-preview-tools{display:flex;gap:20px;padding:0 15px;border-bottom:1px solid #29313d}
.product-preview-tools button{background:none;color:#a6adb7;font-size:10px;padding:12px 0;border:0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.product-preview-tools button[aria-pressed=true],.product-preview-tools button:hover{color:#f4e4d8;border-bottom-color:#e69b70}
.product-preview-viewport{position:relative;width:100%;aspect-ratio:960/700;overflow:hidden;isolation:isolate}
.product-preview-viewport iframe{display:block;position:absolute;top:0;left:0;width:960px;height:700px;border:0;max-width:none;transform:scale(var(--preview-scale,1));transform-origin:top left;pointer-events:none;background:#0b0e16}
.product-live-preview.is-interactive iframe{pointer-events:auto}
.product-preview-status{position:absolute;inset:0;z-index:2;margin:0!important;display:grid;place-items:center;padding:30px;background:#0c1017;color:#aeb6be!important;font-size:12px!important;text-align:center;pointer-events:none}
.product-preview-status[hidden]{display:none}
.product-preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;border-top:1px solid #29313d;color:#a6adb7;font-size:9px}
.product-preview-bottom button{padding:0;border:0;background:none;color:#e5ab85;font-size:10px;text-align:right}
.product-preview-bottom button:hover{color:#fff}
.product-live-preview:focus-within{outline:2px solid #9d6846;outline-offset:4px}
.product-section .product-visual.product-preview-pending,.product-visual.product-preview-pending{min-height:370px;padding:40px;justify-content:center;align-items:flex-start;color:#f0f1ed}
.product-preview-pending .eyebrow{color:#aeb6be!important;font-size:9px!important}
.product-preview-pending h3{font-size:54px;letter-spacing:-.05em;margin:25px 0 18px;color:#f0f1ed}
.product-section .product-preview-pending>p,.product-preview-pending>p{color:#aeb6be!important;font-size:15px!important}
.product-preview-pending .text-link{margin-top:32px;color:#e6ad89!important;border-color:#46505b;font-size:12px}
.page-backgrounded .continuity-layer *{animation-play-state:paused!important}
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .18s ease both}
::view-transition-new(root){animation:page-in .4s var(--ease-out) both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:850px){.site-header nav[data-open=true]{animation:menu-arrive .45s var(--ease-out) both}.site-header nav[data-open=true] a{animation:menu-link-arrive .55s var(--ease-out) both;animation-delay:calc(var(--nav-index,0) * 45ms)}.engineering-diagram{margin-top:30px}.agency-signal{width:120px;height:90px}}
@keyframes menu-arrive{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes menu-link-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
  .hero-v2{min-height:830px;padding-top:28px;padding-bottom:75px}
  .hero-label{margin-bottom:28px!important}
  .hero-bottom{margin-top:24px}
  .hero-bottom>p{font-size:14px;line-height:1.65;max-width:340px}
  .hero-art{top:360px;height:420px;width:120vw;right:-12vw}
  .hero-art .signal-art{animation-name:signal-breathe-mobile}
  .continuity-layer .signal-routes{stroke-width:1.8}
  .continuity-routes{stroke-width:.85;opacity:.56}
  .hero-art .coordinate-top{top:30px}.hero-art .coordinate-bottom{bottom:22px}
  .scroll-cue{bottom:22px}
  .service-selectors>.service-preview{margin:24px 0 30px;grid-template-columns:90px 1fr;gap:20px}
  .service-selectors>.service-preview .service-illustration{height:150px}
  .service-selector.is-active{color:var(--text)}
  .service-selector.is-active .service-arrow{transform:rotate(90deg)}
  .service-selector:hover,.service-selector:focus-visible{padding-left:0}
  .engineering-diagram{max-width:280px;margin:25px 0 0 auto}
  .engineering-copy{padding-top:25px}
  .agency-signal{width:90px;height:75px}
  .agency-top{margin-bottom:35px;align-items:center}
  .product-section .product-visual img{transform:scale(1.025)}
  .product-section[data-visible=true] .product-visual img{transform:scale(1)}
  .product-section .product-visual.product-live-preview{margin-top:35px;width:100%;transform:none!important}
  .product-preview-viewport{height:520px;aspect-ratio:auto}
  .product-preview-viewport iframe{width:100%;height:100%;transform:none}
  .product-preview-bar{padding:10px;font-size:8px;gap:8px}.product-preview-bar>a{font-size:8px}
  .product-preview-tools{padding-inline:10px;gap:18px}.product-preview-tools button{font-size:10px}
  .product-preview-bottom{padding:12px 10px;font-size:8px}.product-preview-bottom button{font-size:9px}
}
@keyframes signal-breathe-mobile{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:350px){.hero-v2{min-height:860px}.hero-art{top:400px;height:390px}.hero-label{column-gap:7px}.hero-label span{font-size:6px}}
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .intro-ready .signal-routes path{stroke-dasharray:none;stroke-dashoffset:0;opacity:1;animation:none}
  .continuity-field{filter:none!important}
  .continuity-tail-flows path{animation:none}
  .signal-art,.scroll-cue>span,.art-coordinate,.engineering-diagram .diagram-flow,.service-illustration rect,.service-illustration circle,.footer-brand img{animation:none}
  .agency-signal path{stroke-dashoffset:0;transition:none}
  .product-section .product-visual img{clip-path:none;transform:none;transition:none}
  .statement .word-reveal{color:var(--text)!important;transition:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
