/* Effects added to the approved prototype. Original styles and navigation are retained. */
:root{--orbit-period:64s}
.hero-effects{isolation:isolate}
.hero-effects::after{z-index:1}
.hero-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:center;position:relative;z-index:2}
.hero-layout .hero-content{max-width:none;padding:100px 0 115px}
.hero-layout .hero-content h1{font-size:clamp(56px,5.2vw,76px);letter-spacing:-4px}
.hero-layout .hero-subtitle{font-size:16px}
.hero-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.aurora{position:absolute;width:850px;height:650px;top:-260px;left:-100px;background:radial-gradient(ellipse,#2563eb29,transparent 65%);filter:blur(35px);animation:aurora-drift 18s ease-in-out infinite alternate;will-change:transform}
.aurora.second{width:700px;height:750px;left:auto;right:-140px;top:60px;background:radial-gradient(ellipse,#7c3aed28,transparent 65%);animation-duration:23s;animation-delay:-8s}
.hero-spotlight{position:absolute;inset:0;background:radial-gradient(400px circle at var(--light-x,30%) var(--light-y,20%),#2563eb13,transparent 75%)}
.orbit-visual{width:100%;position:relative;display:grid;place-items:center;min-height:530px;padding:40px 0 48px;--orbit-size:clamp(260px,31.5vw,430px)}
.orbit-entry{perspective:1000px;transform-style:preserve-3d;animation:orbit-arrive 1.8s cubic-bezier(.16,1,.3,1) both;width:var(--orbit-size);height:var(--orbit-size)}
.orbit-stage{width:100%;height:100%;position:relative;display:grid;place-items:center;transform:rotateZ(-45deg) rotateX(45deg);transform-style:preserve-3d}
.orbit-track{transform-style:preserve-3d;position:absolute;inset:0;border:1px solid #2563eb2b;border-radius:50%;box-shadow:0 0 35px #2563eb18,inset 0 0 35px #2563eb0d;animation:orbit-clockwise var(--orbit-period) linear infinite;will-change:transform}
.orbit-inner-ring{position:absolute;width:55%;height:55%;border-radius:50%;border:1px solid #2563eb29;box-shadow:0 0 22px #2563eb0c,inset 0 0 22px #2563eb0c}
.orbit-hub{transform:rotateX(-45deg) rotateZ(45deg);transform-style:preserve-3d;position:absolute;width:90px;height:90px;display:grid;place-items:center;border-radius:50%;border:1px solid #f5f7fb12;background:#111c36e6;box-shadow:0 25px 60px #2563eb26,inset 8px 8px 18px #f5f7fb0d,inset -10px -10px 20px #2563eb0d}
.orbit-hub:before{content:'';position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(circle,#2563eb22,transparent 70%);animation:hub-halo 4s ease-in-out infinite}
.orbit-hub-face{width:64px;height:64px;display:grid;place-items:center;position:relative;border:1px solid #2563eb4d;border-radius:50%;background:linear-gradient(135deg,#111c36,#162443);box-shadow:inset 0 2px 10px #f5f7fb0d,0 10px 24px #0006;animation:hub-pulse 4s ease-in-out infinite}
.orbit-nucleus{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid #2563eb66;animation:orbit-clockwise 16s linear infinite}.orbit-nucleus:before{content:'';position:absolute;inset:5px;border-radius:50%;border:1px solid #7c3aed4d}.orbit-nucleus span{position:absolute;inset:12px;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 4px #7c3aed22,0 0 16px #7c3aed4d}.orbit-nucleus i{position:absolute;width:5px;height:5px;left:14px;top:-2px;border-radius:50%;background:#7c3aed}.orbit-nucleus i:nth-child(2){left:26px;top:23px;width:4px;height:4px;background:#2563eb}.orbit-nucleus i:nth-child(3){left:3px;top:24px;width:3px;height:3px;background:#7c3aed}
.orbit-brand{position:absolute;top:104px;left:50%;transform:translateX(-50%);color:#8ab4ff;text-align:center;font-size:10px;font-weight:800;letter-spacing:1px;white-space:nowrap}.orbit-brand small{display:block;color:#a3b5d3;font-size:7px;letter-spacing:1.2px;margin-top:2px}
.orbit-satellite{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0;transform:rotate(var(--angle))}.orbit-position{transform-style:preserve-3d;position:absolute;left:50%;top:0;width:164px;height:62px;transform:translate(-50%,-50%)}.orbit-counter{transform-style:preserve-3d;width:100%;height:100%;animation:orbit-counterclockwise var(--orbit-period) linear infinite;will-change:transform}
.orbit-card{pointer-events:auto;display:flex;align-items:center;gap:9px;width:100%;height:100%;padding:10px;border-radius:10px;background:#162443;border:1px solid #2563eb59;box-shadow:0 0 15px #2563eb26,0 8px 30px #0004;transform:rotate(calc(-1 * var(--angle))) rotateX(-45deg) rotateZ(45deg);transition:border-color .3s,box-shadow .3s,background .3s}
.orbit-card:hover,.orbit-card:focus-visible{border-color:#2563ebaa;box-shadow:0 0 25px #2563eb4d,0 12px 35px #2563eb26;background:#1d3055}.orbit-card:focus-visible{outline:2px solid #c4b5fd;outline-offset:5px}.orbit-card strong{display:block;font-size:10px;line-height:1.3;font-weight:500;color:#f5f7fb;letter-spacing:0}.orbit-card small{display:block;font-size:8px;line-height:1.35;color:#bac9e3;margin-top:3px}.orbit-icon{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1px solid #f5f7fb0d;background:#111c36;color:#2563eb}.orbit-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}.orbit-card:hover svg{transform:scale(1.15)}
.orbit-toggle{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.3px;color:#b2c2de;border:1px solid #2563eb26;background:#0e172d;padding:5px 10px;border-radius:20px;white-space:nowrap;cursor:pointer}.orbit-toggle:hover{color:#8ab4ff;border-color:#8ab4ff6b}.motion-paused .orbit-track,.motion-paused .orbit-counter,.motion-paused .orbit-nucleus,.motion-paused .orbit-hub-face,.motion-paused .orbit-hub:before,.motion-paused .aurora{animation-play-state:paused}
.orbit-track:focus-within,.orbit-track:focus-within .orbit-counter{animation-play-state:paused}
@keyframes orbit-clockwise{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes orbit-counterclockwise{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}@keyframes hub-pulse{0%,100%{transform:scale(1);box-shadow:inset 0 2px 10px #f5f7fb0d,0 10px 24px #0006}50%{transform:scale(1.045);box-shadow:inset 0 2px 10px #f5f7fb0d,0 0 30px #2563eb28}}@keyframes hub-halo{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.25);opacity:1}}@keyframes orbit-arrive{from{opacity:0;transform:perspective(800px) rotateX(12deg) rotateY(-12deg) scale(.78)}to{opacity:1;transform:perspective(800px) rotateX(0) rotateY(0) scale(1)}}@keyframes aurora-drift{from{transform:translate3d(-4%,-4%,0) scale(1)}to{transform:translate3d(15%,12%,0) scale(1.16)}}@keyframes scroll-pulse{0%,100%{opacity:.3;transform:scaleY(.65);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}

.hero-effects .orbit-visual{--orbit-size:clamp(310px,27vw,380px);min-height:500px;z-index:2}
.service-card,.module,.benefit{position:relative;overflow:hidden}
.service-card::before,.module::before,.benefit::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(330px circle at var(--card-x,50%) var(--card-y,0%),#2563eb13,transparent 70%);opacity:0;transition:opacity .3s}
.service-card:hover::before,.module:hover::before,.benefit:hover::before{opacity:1}
.mockup{animation:mockup-float 8s ease-in-out infinite}
.scroll-hint::after{animation:scroll-pulse 2s ease-in-out infinite}
.section-head,.work-card,.why-box,.module,.benefit,.service-card{animation:content-arrive .8s ease both}
@keyframes mockup-float{0%,100%{transform:perspective(1100px) rotateY(-5deg) rotateX(2deg) translateY(0)}50%{transform:perspective(1100px) rotateY(-5deg) rotateX(2deg) translateY(-8px)}}
@keyframes content-arrive{from{opacity:.6;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero-layout{grid-template-columns:1fr;gap:0}.hero-layout .hero-content{max-width:760px;padding:90px 0 20px}.hero-layout .hero-content h1{font-size:clamp(56px,7vw,76px)}.hero-effects .orbit-visual{--orbit-size:360px;max-width:560px;justify-self:center;min-height:490px;padding:65px 0 75px;margin-bottom:25px}}
@media(max-width:720px){.hero-layout .hero-content{padding:84px 0 10px}.hero-layout .hero-content h1{font-size:clamp(51px,12vw,72px);letter-spacing:-3.6px}.hero-layout .hero-subtitle{font-size:15px}.hero-effects .orbit-visual{--orbit-size:clamp(230px,calc(100vw - 188px),360px);min-height:470px;padding:65px 0 75px;max-width:580px}.orbit-position{width:138px;height:56px}.orbit-card{gap:7px;padding:8px}.orbit-card strong{font-size:9px}.orbit-card small{font-size:7.5px}.orbit-icon{width:22px;height:22px}.orbit-toggle{bottom:22px}.mockup{animation:none}}
@media(max-width:420px){.hero-layout .hero-content h1{font-size:48px;letter-spacing:-3px}.hero-effects .orbit-visual{--orbit-size:clamp(160px,calc(100vw - 160px),222px);min-height:370px}.orbit-position{width:110px;height:52px}.orbit-card{gap:5px;padding:6px}.orbit-icon{width:19px;height:19px}.orbit-icon svg{width:12px;height:12px}.orbit-card strong{font-size:8px}.orbit-card small{font-size:6.5px}.orbit-hub{width:76px;height:76px}.orbit-hub-face{width:54px;height:54px}.orbit-brand{top:86px;font-size:8px}.orbit-brand small{font-size:6px}.orbit-toggle{bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit-entry,.orbit-track,.orbit-counter,.orbit-nucleus,.orbit-hub-face,.orbit-hub::before,.aurora,.scroll-hint::after,.mockup,.section-head,.work-card,.why-box,.module,.benefit,.service-card{animation:none!important}.orbit-toggle{display:none}.hero-spotlight{display:none}*{transition:none!important}}
