/* Motion direction informed by the freely accessible MotionSites Agent Wave.
   Original implementation; third-party prompts and media are not redistributed. */
.film-line{display:block;animation:film-type-in .85s cubic-bezier(.16,1,.3,1) both}
.film-line+ .film-line{animation-delay:.13s}
.film-intro h1 .film-line:first-child{color:var(--ink)}
@keyframes film-type-in{from{clip-path:inset(0 0 95% 0);translate:0 12px}to{clip-path:inset(0);translate:0 0}}
.button::after,.header-contact::after,.services-list article>a::after{content:"";position:absolute;inset:-80% -60%;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#ffffff70 48%,transparent 62%);transform:translateX(-85%) rotate(-8deg);transition:transform .65s cubic-bezier(.16,1,.3,1)}
.button:hover::after,.button:focus-visible::after,.header-contact:hover::after,.services-list article>a:hover::after{transform:translateX(85%) rotate(-8deg)}
.film-stage{box-shadow:15px 25px 40px -22px #20251f70,2px 2px 0 #7c817c;transform:perspective(1200px) rotateY(-3deg);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.film-stage:hover{transform:perspective(1200px) rotateY(0deg)}
.signal-intro{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:26px}
.signal-intro p{font-size:18px;font-weight:750;margin:0}
.signal-intro>span{font-size:12px;color:#62625c}
.signal-deck{display:grid;grid-template-columns:230px minmax(60px,1fr) 180px 64px 296px;align-items:center;min-height:410px;padding:46px 40px;margin-bottom:66px;background:linear-gradient(135deg,#343732,#1e211e);color:#f7f7f0;border-radius:16px;position:relative;isolation:isolate;box-shadow:12px 27px 42px -28px #222b2488;perspective:1000px;overflow:hidden}
.signal-deck::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 48% 50%,#ffffff0c,transparent 50%);pointer-events:none}
.signal-channels{display:grid;gap:13px;position:relative;z-index:1;transform:rotateY(10deg) rotateZ(-2deg)}
.signal-source{display:grid;grid-template-columns:27px 1fr;column-gap:10px;padding:12px 16px;background:linear-gradient(105deg,#61665c,#3f453c);border-radius:10px;box-shadow:4px 6px 12px -7px #0009;animation:signal-source 5s ease-in-out infinite;animation-delay:calc(var(--source-index,0)*-.75s)}
.signal-source:nth-child(2){--source-index:1}.signal-source:nth-child(3){--source-index:2}.signal-source:nth-child(4){--source-index:3}
.signal-source .icon{grid-row:span 2;width:23px;height:23px;align-self:center;color:#ffb08c}.signal-source strong{font-size:14px;line-height:1.4}.signal-source>span{font-size:11px;color:#d7dcd1;line-height:1.5}
.signal-wires{height:300px;min-width:0;position:relative;opacity:.9}
.signal-wires svg{width:100%;height:100%;overflow:visible;fill:none;stroke:#ffb088;stroke-width:2}
.signal-wires path{stroke-dasharray:5 14 24 14;animation:signal-transfer 2.4s linear infinite;stroke-linecap:round}.signal-wires path:nth-child(2){animation-delay:-.6s}.signal-wires path:nth-child(3){animation-delay:-1.2s}.signal-wires path:nth-child(4){animation-delay:-1.8s}
.signal-engine{position:relative;display:grid;place-items:center;min-height:210px;transform-style:preserve-3d}
.signal-core{width:98px;height:98px;border-radius:24px;background:linear-gradient(135deg,#ffb486,#ff753b 65%,#b7471d);display:flex;align-items:center;justify-content:center;gap:6px;color:#272921;box-shadow:8px 11px 19px -10px #000b,inset 1px 1px 0 #ffe4d3;transform:rotate(-8deg);animation:signal-core 6s ease-in-out infinite}.signal-core .icon{width:28px;height:28px}.signal-core strong{font-family:Unbounded,Manrope,sans-serif;font-size:23px;font-weight:550}
.signal-ring{position:absolute;top:16px;left:9px;width:162px;height:162px;border:1px solid #fcaa804f;border-radius:50%;transform-style:preserve-3d;animation:signal-orbit 12s linear infinite;pointer-events:none}.signal-ring::after{content:"";position:absolute;top:12px;left:22px;width:7px;height:7px;border-radius:50%;background:#ffb28d;box-shadow:1px 2px 5px #171c1488}.ring-two{animation-direction:reverse;animation-duration:16s;rotate:40deg}
.signal-engine>p{margin:21px 0 0;text-align:center;color:#d4d9cf;font-size:12px;line-height:1.7}
.signal-output{height:2px;position:relative;background:#a7af9f55}.signal-output>span{position:absolute;inset:-7px 0;overflow:hidden}.signal-output>span::after{content:"";position:absolute;left:0;top:6px;width:22px;height:3px;background:#ffb089;border-radius:3px;animation:signal-pass 2s linear infinite}.signal-output>i{position:absolute;right:1px;width:8px;height:1px;background:#b5bcad;transform-origin:right;rotate:35deg}.signal-output>i+i{rotate:-35deg}
.signal-results{display:grid;gap:18px;position:relative;z-index:1;transform:rotateY(-7deg) rotateZ(1deg)}
.signal-record{padding:20px 20px 17px;background:linear-gradient(115deg,#fcfcf5,#e4e9dd);color:#282d24;border-radius:12px;box-shadow:8px 12px 24px -14px #000c;position:relative;overflow:hidden;animation:signal-record 7s ease-in-out infinite}
.signal-record>div:first-child{display:flex;gap:9px;align-items:center;font-size:14px;margin-bottom:19px}.signal-record .icon{width:19px;height:19px}.signal-record>div:first-child i{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#54813f}
.signal-record>p{display:grid;gap:3px;font-size:12px;margin:12px 0}.signal-record>p>span{font-size:10px;color:#606758}.signal-record b{font-weight:700}.signal-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:16px}.signal-tags>span{font-size:9px;background:#cfdac6;color:#394331;border-radius:4px;padding:4px 7px}.signal-tags>span+span{background:#f8c2a3;color:#63361f}
.signal-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 28%,#fff9 46%,transparent 63%);transform:translateX(-120%);animation:signal-scan 7s ease-in-out infinite}
.signal-meeting{display:flex;align-items:center;gap:11px;padding:15px 18px;background:#414a39;color:#f3f6ed;border-radius:10px;box-shadow:5px 7px 14px -10px #000a;animation:signal-record 7s ease-in-out infinite;animation-delay:-2s}.signal-meeting .icon{width:20px;height:20px;flex:none;color:#ffba96}.signal-meeting>.icon:last-child{margin-left:auto;width:17px}.signal-meeting strong{display:block;font-size:12px}.signal-meeting span{display:block;font-size:10px;color:#d5decc;margin-top:3px}
@keyframes signal-source{0%,100%{translate:0 0}50%{translate:4px -4px}}
@keyframes signal-transfer{to{stroke-dashoffset:-114}}
@keyframes signal-core{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(3deg) translateY(-7px)}}
@keyframes signal-orbit{from{transform:rotateX(62deg) rotateY(-18deg) rotateZ(0deg)}to{transform:rotateX(62deg) rotateY(-18deg) rotateZ(360deg)}}
@keyframes signal-record{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes signal-scan{0%,58%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@keyframes signal-pass{from{transform:translateX(-24px)}to{transform:translateX(90px)}}
@media(max-width:1100px){.signal-deck{grid-template-columns:190px minmax(35px,1fr) 160px 38px 250px;padding:32px 28px;min-height:360px}.signal-ring{left:0}.signal-source{padding:11px 13px}.signal-record{padding:17px}.signal-meeting{padding:13px 14px;gap:8px}}
@media(max-width:800px){.signal-intro{align-items:flex-start;flex-direction:column;gap:7px}.signal-deck{grid-template-columns:1fr 1fr;gap:17px;padding:25px 20px;margin-bottom:40px;min-height:0}.signal-channels{grid-column:1;grid-row:1;gap:10px;transform:rotateZ(-2deg)}.signal-source{padding:10px 11px;grid-template-columns:20px 1fr;column-gap:7px}.signal-source .icon{width:18px;height:18px}.signal-source strong{font-size:12px}.signal-source>span{font-size:9px}.signal-wires{display:none}.signal-engine{grid-column:2;grid-row:1;min-height:230px}.signal-ring{width:135px;height:135px;left:calc(50% - 67.5px);top:40px}.signal-core{width:84px;height:84px;border-radius:21px}.signal-core .icon{width:23px;height:23px}.signal-core strong{font-size:21px}.signal-engine>p{font-size:10px}.signal-results{grid-column:1/-1;grid-row:3;grid-template-columns:1.15fr 1fr;gap:12px;align-items:center;transform:none}.signal-output{grid-column:1/-1;grid-row:2;width:2px;height:21px;margin:auto;background:#9ca78f55}.signal-output>span{inset:0 -6px}.signal-output>span::after{left:6px;top:0;width:3px;height:9px;animation-name:signal-pass-down}.signal-output>i{right:0;bottom:0;rotate:55deg}.signal-output>i+i{rotate:125deg}.signal-record{padding:15px 13px}.signal-record>div:first-child{font-size:11px;gap:6px;margin-bottom:12px}.signal-record>p{font-size:10px;margin:8px 0}.signal-record>p>span{font-size:9px}.signal-record .icon{width:16px;height:16px}.signal-tags{margin-top:12px}.signal-tags>span{font-size:8px;padding:3px 5px}.signal-meeting{flex-wrap:wrap;padding:14px 11px;gap:8px}.signal-meeting>div{width:100%}.signal-meeting>.icon:last-child{display:none}.signal-meeting strong{font-size:11px}.signal-meeting span{font-size:9px;line-height:1.6}.film-stage{transform:none}.signal-intro p{font-size:15px}}
@keyframes signal-pass-down{from{transform:translateY(-9px)}to{transform:translateY(32px)}}
@media(prefers-reduced-motion:reduce){.film-line,.signal-deck *,.signal-deck *::after{animation:none!important;translate:none!important}.film-line{clip-path:none}.film-stage{transform:none}.button::after,.header-contact::after,.services-list article>a::after{display:none}}
.signal-source>span{color:#edf2e8}
.signal-core{background:linear-gradient(135deg,#ffb486,#ff753b 65%,#ee713c)}
.signal-branch{display:none}
.signal-wires .signal-tracks path{stroke:#b9c2ae80;stroke-width:1;stroke-dasharray:none;animation:none}
@media(max-width:800px){.signal-wires{display:block;grid-column:1/-1;grid-row:1;height:230px;width:calc(25% + 4.25px);margin-left:calc(50% - 8.5px);align-self:center;pointer-events:none;z-index:0}.signal-engine{height:230px;min-height:230px;grid-template-rows:1fr}.signal-engine>p{position:absolute;top:167px;margin:0}.signal-ring{top:48px}.signal-output{grid-column:1/-1;height:40px;width:100%;background:none}.signal-output>span,.signal-output>i{display:none}.signal-branch{display:block;width:100%;height:100%;fill:none;stroke:#ffb088;stroke-width:1.6;stroke-dasharray:5 8;animation:signal-transfer 2.4s linear infinite}}
