/* Kit: SaaS scroll-driven 1.2, dashboard reveal 1.4, services 4.4.
   Continuous composited light, data-flow lines, parallax and tactile surfaces. */
.cinematic-section{isolation:isolate;overflow:hidden}
.cinematic-section:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:95%;height:100%;left:-35%;top:-10%;background:radial-gradient(ellipse at 60% 45%,#5cdaf044,transparent 57%),radial-gradient(ellipse at 35% 65%,#ad84d924,transparent 48%);transform-origin:60% 45%;animation:section-aurora 16s ease-in-out infinite alternate;animation-play-state:paused}
.cinematic-section:after{content:"";position:absolute;pointer-events:none;z-index:-1;inset:0;background-image:radial-gradient(#c3ecff66 .65px,transparent .8px);background-size:53px 61px;opacity:.13;animation:section-dust 24s linear infinite;animation-play-state:paused;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000)}
.cinematic-section:nth-of-type(2n):before{left:30%;animation-delay:-9s;background:radial-gradient(ellipse at 50% 45%,#418cdf36,transparent 57%),radial-gradient(ellipse at 40% 75%,#6af3d329,transparent 50%)}
.cinematic-section:nth-of-type(3n):before{animation-duration:22s;animation-delay:-13s}
.cinematic-section:before{border-radius:50%;-webkit-mask-image:radial-gradient(ellipse,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse,#000 20%,transparent 70%)}
.cinematic-section.ambient-running:before,.cinematic-section.ambient-running:after{animation-play-state:running}
.cinematic-section .wrap{position:relative;z-index:1}
.cinematic-section .shot{position:relative;isolation:isolate;transform:perspective(1200px) rotateX(var(--shot-tilt,0deg)) translateY(var(--shot-y,0px));transform-origin:center;transition:transform .3s ease-out}
.cinematic-section .shot:after{content:"";position:absolute;pointer-events:none;inset:-20% -60%;z-index:1;background:linear-gradient(108deg,transparent 42%,#ccf5ff22 48%,#edfdff44 50%,#b5edff0d 53%,transparent 59%);animation:report-sheen 10s ease-in-out infinite;animation-play-state:paused;transform:translateX(-45%)}
.cinematic-section .shot figcaption{position:relative;z-index:2}
.cinematic-section.ambient-running .shot:after{animation-play-state:running}
.cinematic-section .shot:nth-child(2n):after{animation-delay:-5s}
.cinematic-section .card,.cinematic-section .tool,.cinematic-section .scope-panel{position:relative;isolation:isolate;overflow:hidden}
.cinematic-section .card:after,.cinematic-section .tool:after,.cinematic-section .scope-panel:after{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-130px;top:-150px;background:radial-gradient(circle,#98e9ff33,transparent 67%);animation:card-light 12s ease-in-out infinite alternate;animation-play-state:paused}
.cinematic-section.ambient-running .card:after,.cinematic-section.ambient-running .tool:after,.cinematic-section.ambient-running .scope-panel:after{animation-play-state:running}
.cinematic-section .card:nth-child(2):after{animation-delay:-4s}.cinematic-section .card:nth-child(3):after{animation-delay:-8s}
.signal-diagram{margin:50px 0 15px;position:relative;border-top:1px solid #90d9ed33;border-bottom:1px solid #90d9ed33;padding:32px 0;background:radial-gradient(ellipse at center,#1e5b7040,transparent 75%)}
.signal-diagram>p{font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#9dbecb;margin-bottom:12px}
.signal-diagram svg{width:100%;height:auto;max-height:220px;overflow:visible;display:block}
.signal-mobile{display:none}
.signal-wire{fill:none;stroke:#6095a6;stroke-width:1;opacity:.55}.signal-flow{fill:none;stroke:#b1f3ff;stroke-width:2;stroke-dasharray:28 430;stroke-dashoffset:0;filter:drop-shadow(0 0 4px #8cebff);animation:signal-travel 8s linear infinite;animation-play-state:paused}.signal-flow.second{animation-delay:-4s}
.signal-node{fill:#122e3c;stroke:#85cadb;stroke-width:1}.signal-halo{fill:none;stroke:#a4eeff;stroke-width:1;opacity:.4;transform-box:fill-box;transform-origin:center;animation:signal-pulse 6s ease-out infinite;animation-play-state:paused}.signal-diagram text{font-family:var(--body);fill:#dbf4ff;font-size:16px;text-anchor:middle}.signal-diagram .signal-small{font-size:11px;fill:#9ebac8;letter-spacing:1px}.signal-diagram .signal-big{font-size:32px;letter-spacing:-1px}
.ambient-running .signal-flow,.ambient-running .signal-halo{animation-play-state:running}
.case-section:before{background:radial-gradient(ellipse at center,#47bac638,transparent 60%)}.case-section:after{opacity:.08;background-image:radial-gradient(#1a587a .6px,transparent .8px)}
.case-metrics div{position:relative;overflow:hidden}.case-metrics div:after{content:"";position:absolute;top:0;left:-40%;width:40%;height:2px;background:linear-gradient(90deg,transparent,#276d85,transparent);animation:metric-trace 8s ease-in-out infinite;animation-play-state:paused}.ambient-running .case-metrics div:after{animation-play-state:running}.case-metrics div:nth-child(2):after{animation-delay:-2s}.case-metrics div:nth-child(3):after{animation-delay:-4s}.case-metrics div:nth-child(4):after{animation-delay:-6s}
#audit .steps{position:relative}#audit .steps:before{content:"";position:absolute;top:-22px;left:0;width:100%;height:1px;background:#507d8e80}#audit .steps:after{content:"";position:absolute;top:-23px;left:0;width:13%;height:3px;background:linear-gradient(90deg,transparent,#b4f0ff,transparent);box-shadow:0 0 16px #80e4ff;animation:process-travel 9s ease-in-out infinite;animation-play-state:paused}#audit.ambient-running .steps:after{animation-play-state:running}
.final.cinematic-section:before{width:150%;left:-25%;top:-20%;height:160%;background:radial-gradient(ellipse at 35% 50%,#71dff560,transparent 40%),radial-gradient(ellipse at 65% 55%,#927cd84a,transparent 40%);animation-duration:12s}
.final h2{position:relative}.final h2:after{content:"";display:block;width:160px;height:2px;margin:25px auto;background:linear-gradient(90deg,transparent,#bbf2ff,transparent);box-shadow:0 0 22px #70dfff88;animation:cta-breath 6s ease-in-out infinite;animation-play-state:paused}.final.ambient-running h2:after{animation-play-state:running}
.section-motion-toggle{position:fixed;bottom:18px;right:18px;z-index:50;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid #94d6e66b;border-radius:30px;background:#0e2635eb;color:#e7faff;font:11px var(--body);box-shadow:0 4px 22px #0003;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s}.section-motion-toggle.shown{opacity:1;pointer-events:auto}.section-motion-toggle svg{width:15px;height:15px}.section-motion-toggle .resume{display:none}.section-motion-paused .section-motion-toggle .resume{display:block}.section-motion-paused .section-motion-toggle .pause{display:none}
.section-motion-paused .cinematic-section *,.section-motion-paused .cinematic-section:before,.section-motion-paused .cinematic-section:after,.section-motion-paused .cinematic-section *:before,.section-motion-paused .cinematic-section *:after,.page-inactive .cinematic-section *,.page-inactive .cinematic-section:before,.page-inactive .cinematic-section:after,.page-inactive .cinematic-section *:before,.page-inactive .cinematic-section *:after{animation-play-state:paused!important}
@keyframes section-aurora{0%{transform:translate3d(-8%,-5%,0) rotate(-12deg) scale(.88);opacity:.55}100%{transform:translate3d(42%,9%,0) rotate(18deg) scale(1.2);opacity:1}}
@keyframes section-dust{to{transform:translate3d(53px,-61px,0)}}
@keyframes report-sheen{0%,20%{transform:translateX(-45%);opacity:0}30%{opacity:1}70%{opacity:.7}85%,100%{transform:translateX(45%);opacity:0}}
@keyframes card-light{to{transform:translate(-170px,260px) scale(1.45)}}
@keyframes signal-travel{to{stroke-dashoffset:-916}}
@keyframes signal-pulse{0%{transform:scale(.94);opacity:.6}85%,100%{transform:scale(1.3);opacity:0}}
@keyframes metric-trace{to{transform:translateX(350%)}}
@keyframes process-travel{0%{transform:translateX(0);opacity:0}10%,85%{opacity:1}100%{transform:translateX(670%);opacity:0}}
@keyframes cta-breath{50%{transform:scaleX(1.65);opacity:.5}}
@media(hover:hover) and (pointer:fine){.cinematic-section .card:hover,.cinematic-section .tool:hover{box-shadow:0 20px 50px #0003,inset 0 0 60px #77dbf50c}.cinematic-section .btn{transform:translate(var(--mag-x,0px),var(--mag-y,0px));transition:transform .25s ease-out,box-shadow .25s}}
@media(max-width:760px){.signal-diagram{margin-top:35px;padding:24px 0}.signal-diagram svg{min-height:125px}.signal-diagram text{font-size:19px}.signal-diagram .signal-small{font-size:13px}.cinematic-section:before{width:140%;left:-55%}.cinematic-section .shot{transform:none!important}.section-motion-toggle{bottom:12px;right:12px;padding:10px 12px}.section-motion-toggle span{display:none}.cinematic-section:after{background-size:70px 80px}#audit .steps:before,#audit .steps:after{display:none}}
@media(prefers-reduced-motion:reduce){.cinematic-section *,.cinematic-section:before,.cinematic-section:after,.cinematic-section *:before,.cinematic-section *:after{animation:none!important}.cinematic-section .shot{transform:none!important}.section-motion-toggle{display:none}.signal-flow{stroke-dasharray:none;opacity:.35}.cinematic-section:after{transform:none}.cinematic-section .shot:after{display:none}}
@media(max-width:760px){.signal-diagram svg{display:none}.signal-mobile{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center;min-height:130px}.signal-mobile:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,#497a89,#a7edff,#497a89);background-size:200% 100%;animation:mobile-signal 6s linear infinite;animation-play-state:paused}.ambient-running .signal-mobile:before{animation-play-state:running}.signal-mobile>span{padding:15px 5px;border:1px solid #699cab;border-radius:12px;text-align:center;font-size:12px;background:#102f3d}.signal-mobile strong{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #a8e8f9;border-radius:50%;background:#103242;font-size:27px;font-weight:400;box-shadow:0 0 25px #7bd4ec29}.signal-mobile small{font-size:8px;font-weight:400}}@keyframes mobile-signal{to{background-position:200% 0}}
