/* Page-style navigation: selected content opens in the same browser tab. */
body.intro-active{overflow:hidden}
.site-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 46%,#10296a 0,#07152f 24%,#030711 67%,#010205 100%);opacity:0;visibility:hidden;pointer-events:none}
.site-intro.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.site-intro.is-leaving{opacity:0;filter:blur(9px);transform:scale(1.045);transition:opacity .55s ease,filter .55s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.intro-grid{position:absolute;inset:-25%;opacity:.18;background-image:linear-gradient(rgba(81,139,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(81,139,255,.24) 1px,transparent 1px);background-size:54px 54px;transform:perspective(520px) rotateX(63deg) translateY(32%);mask-image:radial-gradient(circle,#000 0,transparent 68%)}
.intro-orbit{position:absolute;border:1px solid rgba(81,145,255,.28);border-radius:50%;box-shadow:0 0 28px rgba(62,126,255,.14);animation:introOrbit 4.5s linear infinite}
.intro-orbit-one{width:min(72vw,650px);aspect-ratio:1}.intro-orbit-two{width:min(50vw,440px);aspect-ratio:1;animation-direction:reverse;animation-duration:3.2s}
.intro-orbit:before{content:"";position:absolute;width:7px;height:7px;left:50%;top:-4px;border-radius:50%;background:#55a8ff;box-shadow:0 0 15px #55a8ff,0 0 35px #3c6fff}
.intro-brand{position:relative;display:flex;flex-direction:column;align-items:center;width:min(82vw,420px);perspective:900px}
.intro-logo-shell{position:relative;width:min(74vw,330px);aspect-ratio:1.6;display:grid;place-items:center;overflow:hidden;opacity:0;transform:scale(.35) rotateX(28deg);filter:blur(18px);animation:introLogo .95s .08s cubic-bezier(.15,.82,.23,1.15) forwards}
.intro-logo-shell:before{content:"";position:absolute;width:66%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(35,126,255,.38),transparent 68%);filter:blur(16px)}
.intro-logo-shell img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 18px rgba(49,132,255,.95)) drop-shadow(0 20px 42px rgba(0,0,0,.75))}
.intro-scan{position:absolute;z-index:2;inset:-30% auto -30% -35%;width:30%;background:linear-gradient(90deg,transparent,rgba(203,233,255,.85),transparent);transform:skewX(-18deg);animation:introScan 1.1s .48s ease forwards}
.intro-brand>p{margin:-14px 0 5px;color:#f8fbff;font-size:clamp(22px,4vw,34px);font-weight:800;letter-spacing:.22em;opacity:0;transform:translateY(15px);animation:introText .5s .58s ease forwards}
.intro-brand>small{color:#8eafff;font-size:9px;font-weight:800;letter-spacing:.28em;opacity:0;animation:introText .5s .75s ease forwards}
.intro-brand>small i{display:inline-block;width:3px;height:3px;margin:0 9px;border-radius:50%;background:#a970ff;vertical-align:middle;box-shadow:0 0 9px #a970ff}
.intro-progress{width:min(68vw,280px);height:2px;margin-top:24px;overflow:hidden;background:rgba(255,255,255,.1)}
.intro-progress b{display:block;width:100%;height:100%;background:linear-gradient(90deg,#2878ff,#7c5cff,#b873ff);box-shadow:0 0 14px #4f7cff;transform:translateX(-100%);animation:introProgress 1.45s .22s cubic-bezier(.2,.75,.25,1) forwards}
.hero-copy,.hero-visual{transition:transform .2s ease-out}
.hero{--visitor-x:0px;--visitor-y:0px}
.hero-visual{transform:translate3d(var(--visitor-x),var(--visitor-y),0)}
.hero-copy{transform:translate3d(calc(var(--visitor-x) * -.22),calc(var(--visitor-y) * -.18),0)}
.float-card{will-change:transform;box-shadow:0 18px 55px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.12)}
body.single-view main>section{display:none!important}
body.single-view main>section.standalone-view{display:block!important;min-height:calc(100vh - 180px);padding-top:125px;animation:viewEnter .55s cubic-bezier(.2,.75,.25,1)}
body.single-view .strip{display:none!important}
body.single-view .standalone-view:before{content:"GS NEXUS / " attr(id);display:block;margin-bottom:22px;color:#a970ff;font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase}

/* More tangible depth and premium brand lighting. */
.brand-logo,.core-logo{background:transparent!important;filter:drop-shadow(0 0 10px rgba(50,119,255,.72)) drop-shadow(0 12px 24px rgba(0,0,0,.45))}
.brand-film-brand img{background:transparent!important;filter:drop-shadow(0 0 8px rgba(42,117,255,.85))}
.hero-visual:after{content:"";position:absolute;width:62%;height:17%;left:20%;bottom:7%;border-radius:50%;background:radial-gradient(ellipse,rgba(66,105,255,.26),transparent 68%);filter:blur(24px);transform:rotateX(68deg)}
.core{box-shadow:0 45px 80px rgba(0,0,0,.5),0 0 115px rgba(117,80,255,.33),inset 0 0 55px rgba(169,112,255,.12)}
.project,.service-card,.price-card,.about-card,.quote-card,.contact-form{transform-style:preserve-3d;backdrop-filter:blur(12px)}
.project:before,.service-card:before,.price-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.075),transparent 22%,transparent 72%,rgba(117,104,255,.05))}
.nexus-image img{transition:transform .7s ease,filter .7s ease}.nexus-image:hover img{transform:scale(1.045);filter:saturate(1.12) contrast(1.04)}
.brand-film-frame{box-shadow:0 45px 120px rgba(0,20,80,.42),0 0 0 1px rgba(99,123,255,.12)}
.brand-film-actions{justify-content:flex-end}
.brand-film-actions a{min-width:190px}
.header{box-shadow:0 22px 70px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.035)}
.button{position:relative;overflow:hidden}.button:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 22%,rgba(255,255,255,.42),transparent 78%);transform:translateX(-130%)}.button:hover:after{animation:siteShine .8s ease}
@keyframes siteShine{to{transform:translateX(130%)}}
@keyframes viewEnter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes introLogo{to{opacity:1;transform:scale(1) rotateX(0);filter:blur(0)}}
@keyframes introScan{to{left:112%}}
@keyframes introText{to{opacity:1;transform:none}}
@keyframes introProgress{to{transform:translateX(0)}}
@keyframes introOrbit{to{transform:rotate(360deg)}}
@media(max-width:760px){body.single-view main>section.standalone-view{padding-top:92px}.hero-visual:after{bottom:2%}}
@media(prefers-reduced-motion:reduce){body.single-view main>section.standalone-view{animation:none}.nexus-image img{transition:none}.site-intro{display:none!important}.intro-logo-shell,.intro-brand>p,.intro-brand>small,.intro-progress b,.intro-orbit{animation:none!important}}
