/* Decorative scroll layers: native, event-driven, static without JavaScript. */
.atmosphere-host { position:relative; isolation:isolate; overflow:clip; }
.atmosphere { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; border-radius:inherit; }
.atmosphere-host > :not(.atmosphere) { position:relative; z-index:1; }
.atmosphere-image { position:absolute; inset:-70px 0; width:100%; height:calc(100% + 140px); max-width:none; object-fit:cover; transform:translate3d(0,var(--drift,0px),0) scale(1.02); filter:saturate(.76) contrast(1.08); }
.atmosphere::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#091827f2 0%,#091827dc 40%,#1020349c 100%),linear-gradient(0deg,#0b1928,transparent 50%,#0b192850); }
.atmosphere-grid { position:absolute; inset:-80px -5%; background-image:linear-gradient(#75818f0b 1px,transparent 1px),linear-gradient(90deg,#75818f0b 1px,transparent 1px); background-size:75px 75px; transform:translate3d(0,var(--drift,0px),0); mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent); }
.atmosphere-lines { position:absolute; width:650px; height:650px; right:-240px; top:calc(50% - 325px); border:1px solid #9eb8c522; border-radius:50%; box-shadow:0 0 0 45px #9eb8c50a,0 0 0 90px #9eb8c508,0 0 0 135px #9eb8c506; transform:translate3d(0,var(--drift,0px),0) rotateX(35deg) rotateY(-30deg); }
.atmosphere-light { background:radial-gradient(ellipse at 100% 0%,#dce7ea70,transparent 55%),radial-gradient(ellipse at 0% 100%,#fff0e470,transparent 50%); }
.atmosphere-light::after { display:none; }
#services-home .atmosphere-lines { width:min(820px,58vw); height:min(820px,58vw); right:clamp(-330px,-16vw,-180px); top:calc(50% - min(410px,29vw)); border:0; border-radius:0; box-shadow:none; background:url('assets/logo-mark.svg') center/contain no-repeat; opacity:.055; filter:saturate(.55); transform:translate3d(0,var(--drift,0px),0) rotate(-8deg); }
#work .atmosphere-light { background:linear-gradient(122deg,#f4f7f7 0%,#e7eff1 48%,#eef1ef 100%); }
#work .atmosphere-grid { opacity:.72; background-size:92px 92px; mask-image:linear-gradient(90deg,#0008,transparent 78%); }
#work .atmosphere-lines {
 width:min(900px,64vw); height:min(900px,64vw); right:clamp(-440px,-22vw,-250px);
 top:calc(50% - min(450px,32vw)); border:0; border-radius:0; box-shadow:none;
 background:url('assets/logo-mark.svg') center/contain no-repeat; opacity:.065;
 filter:saturate(.35) grayscale(.2); clip-path:inset(0 0 0 49%);
 transform:translate3d(0,var(--drift,0px),0) rotate(10deg);
}
.atmosphere-technical::after { background:linear-gradient(90deg,#0b1f3fee,#0b1f3fd4),linear-gradient(0deg,#0b1f3f,transparent); }
.atmosphere-chapter::after { background:linear-gradient(90deg,#071624ed 0%,#0d1f31d1 46%,#10253aa8 100%),linear-gradient(0deg,#071624d9,transparent 48%,#071624c4); }
.atmosphere-frost::after { background:linear-gradient(90deg,#f5f5f0ed,#f3f4efc9 54%,#eef1eeb8),linear-gradient(0deg,#f4f4efd6,transparent 45%,#f4f4efc7); }
.nf-wrap .atmosphere::after { background:#091726dd; }
.page-hero .atmosphere-image { object-position:70% 50%; }
.p-contact .page-hero .atmosphere-image { object-position:64% 50%; }
.p-services #devops .atmosphere-image { object-position:58% 50%; }
.p-services #security .atmosphere-image { object-position:58% 50%; }
.p-services #operations .atmosphere-image { object-position:56% 50%; }
.p-services #cloud .atmosphere-image { object-position:55% 50%; }
.p-services #ai-agents .atmosphere-image { object-position:55% 50%; }
.p-services #app-development .atmosphere-image { object-position:58% 50%; }
.p-about .team-section .atmosphere-image { object-position:72% 50%; }
.atmosphere-host > .container, .atmosphere-host > .container-sm { position:relative; }
.page-enter { animation:page-arrival 850ms var(--ease) both; }
@keyframes page-arrival { from { opacity:.15; transform:translateY(42px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
.decorative-arrival { animation:panel-arrival 1300ms var(--ease) both; }
@keyframes panel-arrival { from { transform:perspective(1200px) translateY(40px) rotateX(5deg) rotateY(-5deg); } to { transform:perspective(1200px) translateY(0) rotateX(0) rotateY(0); } }
.p-services .orbit-wrap { transform:translate3d(0,var(--object-drift,0px),0); }
.p-about .about-ops-map { transform:translate3d(0,var(--object-drift,0px),0); }
.p-contact .pulse-wrap { transform:perspective(1200px) translate3d(0,var(--object-drift,0px),0) rotateY(-5deg); }
.motion-card { --spot-x:50%; --spot-y:50%; transform-style:preserve-3d; }
.motion-card::before { content:''; position:absolute; inset:0; z-index:3; border-radius:inherit; pointer-events:none; opacity:0; background:radial-gradient(420px circle at var(--spot-x) var(--spot-y),#ffffff24,transparent 65%); transition:opacity .3s; }
.motion-card:hover::before { opacity:1; }
.ambient-orb { position:absolute; z-index:0; width:clamp(280px,38vw,650px); aspect-ratio:1; border-radius:50%; pointer-events:none; filter:blur(2px); opacity:.45; background:radial-gradient(circle at 35% 35%,#ff975852,transparent 25%),radial-gradient(circle,#3c77a72e,transparent 68%); animation:orb-float 13s ease-in-out infinite alternate; }
.ambient-orb.orb-one { right:-16%; top:4%; }
.ambient-orb.orb-two { left:-18%; bottom:-12%; animation-delay:-6s; animation-duration:17s; }
.atmosphere-host > .ambient-orb { position:absolute; z-index:0; }
@keyframes orb-float { to { transform:translate3d(-45px,35px,0) scale(1.08); } }
@media(max-width:900px) { .p-contact .pulse-wrap { transform:translate3d(0,var(--object-drift,0px),0); } }
@media(prefers-reduced-motion:reduce) {
 .atmosphere-image,.atmosphere-grid,.atmosphere-lines { transform:none; }
 .page-enter,.decorative-arrival { animation:none; }
 .ambient-orb { animation:none; }
 .p-services .orbit-wrap,.p-about .about-ops-map,.p-contact .pulse-wrap { transform:none; }
}
@media(max-width:700px) {
 #services-home .atmosphere-lines { width:560px; height:560px; right:-330px; top:18%; opacity:.045; }
 #work .atmosphere-lines { width:600px; height:600px; right:-360px; top:24%; opacity:.052; }
}
