/* GX BUILD 12 — Live Architecture: presentation-only motion.
   LOCK: no edits, transforms, masks, filters or cropping of approved masters. */
:root{--gx12-a:#58c7e8;--gx12-scroll:0;--gx12-spot:50%;--gx12-energy:.32;--gx12-presence:0}
html.gx12-enabled{scroll-behavior:smooth}
body{--gx12-theme:88,199,232}
body[data-page="about"]{--gx12-theme:190,207,221}
body[data-page="solutions"]{--gx12-theme:114,189,222}
body[data-page="contact"]{--gx12-theme:167,209,224}
body[data-page="aether"]{--gx12-theme:124,191,223}
.gx12-horizon{position:fixed;inset:0;z-index:8;pointer-events:none;overflow:hidden;opacity:.3;mix-blend-mode:screen;contain:paint}
.gx12-horizon::before{content:"";position:absolute;width:1px;height:76vh;top:6vh;left:var(--gx12-spot);transform:translateX(-50%);background:linear-gradient(180deg,transparent,rgba(var(--gx12-theme),.18) 26%,rgba(var(--gx12-theme),.05) 68%,transparent);box-shadow:0 0 42px rgba(var(--gx12-theme),.19);transition:left 1.3s ease}
.gx12-horizon::after{content:"";position:absolute;width:26vw;height:26vw;max-height:460px;max-width:460px;border-radius:50%;top:calc(35vh - 10vw);left:var(--gx12-spot);transform:translate(-50%,0) scale(.78);background:radial-gradient(circle,rgba(var(--gx12-theme),.14),rgba(var(--gx12-theme),.04) 23%,transparent 69%);filter:blur(19px);animation:gx12-breathe 9s ease-in-out infinite}
@keyframes gx12-breathe{0%,100%{transform:translate(-50%,0) scale(.76);opacity:.35}50%{transform:translate(-50%,0) scale(1.12);opacity:.85}}
.gx12-ambient-grid{position:fixed;inset:0;pointer-events:none;z-index:6;opacity:.1;background:repeating-linear-gradient(to right,transparent 0,transparent calc(25% - 1px),rgba(117,175,200,.12) 25%);mask-image:linear-gradient(90deg,black,transparent 16%,transparent 84%,black)}
.gx12-journey{position:fixed;top:clamp(82px,12vh,132px);right:clamp(12px,2vw,36px);z-index:101;display:flex;align-items:center;gap:11px;pointer-events:none;opacity:0;transform:translateY(-7px);transition:opacity .6s,transform .6s}
.gx12-journey.gx12-ready{opacity:.95;transform:none}
.gx12-journey .gx12-label{text-align:right;display:grid;gap:5px;max-width:225px;padding:10px 12px 10px 18px;background:linear-gradient(90deg,transparent,rgba(1,7,12,.76));border-right:1px solid rgba(var(--gx12-theme),.25);backdrop-filter:blur(8px)}
.gx12-label small{font-size:9px;letter-spacing:.2em;color:#88c9d8}.gx12-label strong{font-size:10px;letter-spacing:.08em;color:#f1f7fa;text-transform:uppercase;font-weight:500;line-height:1.5}
.gx12-orb{width:28px;height:28px;border:1px solid rgba(var(--gx12-theme),.48);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 20px rgba(var(--gx12-theme),.14);background:rgba(5,15,23,.55)}
.gx12-orb:after{content:"";height:7px;width:7px;border-radius:50%;background:rgb(var(--gx12-theme));box-shadow:0 0 9px rgb(var(--gx12-theme));animation:gx12-heart 4.5s ease-in-out infinite}
@keyframes gx12-heart{50%{opacity:.45;transform:scale(.6)}}
.gx12-node-rail{position:fixed;left:clamp(7px,2.2vw,30px);top:43vh;bottom:16vh;width:1px;z-index:11;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(var(--gx12-theme),.18),transparent);opacity:.52}
.gx12-node-rail:before{content:"";position:absolute;left:-2px;top:calc(var(--gx12-scroll)*90%);height:6px;width:6px;background:#d6f6ff;border-radius:50%;box-shadow:0 0 10px 2px #58c7e8,0 0 34px rgba(88,199,232,.48)}
/* Each section has its own environmentally matched light seam; the master image itself is never animated. */
.chapter{--gx12-phase:0;--gx12-chapter-focus:0;isolation:isolate}
.chapter .art-shell{position:relative}
.chapter .art-shell>img,.hero-original{filter:none!important;transform:none!important;clip-path:none!important;mask:none!important}
.chapter .art-shell .gx12-seam{position:absolute;z-index:4;bottom:0;left:0;right:0;height:3px;pointer-events:none;overflow:visible;background:linear-gradient(90deg,transparent,rgba(var(--gx12-theme),.12),transparent);opacity:.32;transition:opacity 1s ease}
.chapter.gx12-active .gx12-seam{opacity:.95}
.chapter .gx12-seam:before{content:"";position:absolute;height:1px;left:0;right:0;bottom:1px;background:linear-gradient(90deg,transparent 7%,rgba(var(--gx12-theme),.03) 22%,rgba(var(--gx12-theme),.65) 54%,rgba(var(--gx12-theme),.06) 83%,transparent 93%);background-size:220% 100%;animation:gx12-sweep 9s linear infinite}
.chapter.gx12-active .gx12-seam:after{content:"";position:absolute;bottom:-1px;left:0;height:4px;width:15%;background:linear-gradient(90deg,transparent,rgba(var(--gx12-theme),.8),#edfaff,rgba(var(--gx12-theme),.4),transparent);box-shadow:0 0 15px rgba(var(--gx12-theme),.52),0 0 27px rgba(var(--gx12-theme),.21);animation:gx12-walk 11s ease-in-out infinite}
@keyframes gx12-sweep{from{background-position:180% 0}to{background-position:-160% 0}}
@keyframes gx12-walk{0%{left:-16%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
.gx12-chapter-beacon{position:absolute;z-index:6;left:clamp(12px,2vw,34px);bottom:12px;display:flex;gap:7px;align-items:center;pointer-events:none;text-transform:uppercase;font-size:9px;letter-spacing:.15em;color:#c3d8e4;text-shadow:0 2px 10px #020507;opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s}
.gx12-chapter-beacon i{display:inline-block;width:3px;height:17px;background:rgb(var(--gx12-theme));box-shadow:0 0 12px rgba(var(--gx12-theme),.8)}
.gx12-active .gx12-chapter-beacon{opacity:.88;transform:none}
.chapter .art-shell .gx12-edge-glow{position:absolute;z-index:3;bottom:0;left:0;right:0;height:7px;pointer-events:none;background:radial-gradient(ellipse at var(--gx12-spot) 100%,rgba(var(--gx12-theme),.24),transparent 63%);opacity:.65}
/* Technical pages: side-line moves between authentic diagrams only at their edges. */
body[data-page="technology"] .gx12-chapter-beacon i,body[data-page="architecture"] .gx12-chapter-beacon i{height:23px}
body[data-page="architecture"] .gx12-journey .gx12-label{border-right-color:rgba(114,185,221,.6)}
body[data-page="aether"] .gx12-orb{animation:gx12-orbit-frame 13s ease-in-out infinite}
@keyframes gx12-orbit-frame{50%{box-shadow:0 0 34px 8px rgba(88,199,232,.14)}}
body[data-page="solutions"] .gx12-ambient-grid{opacity:.13}
body[data-page="about"] .gx12-horizon{opacity:.19}
body[data-page="about"] .gx12-seam:after{animation-duration:15s!important}
body[data-page="contact"] .gx12-horizon{opacity:.22}
/* Contact form and original controls get functional focus glows; never replace content. */
#contact-form :is(input,select,textarea):focus-visible{outline:1px solid rgba(126,211,243,.9);outline-offset:3px;box-shadow:0 0 0 4px rgba(88,199,232,.09),0 0 27px rgba(88,199,232,.08)}
#contact-form{transition:box-shadow .45s,border-color .45s}
#contact-form:focus-within{box-shadow:0 0 60px rgba(75,154,190,.12)}
/* Only non-asset layers get scroll depth. Never shift source artwork. */
.gx12-signal-band{position:fixed;z-index:7;bottom:0;height:2px;left:0;right:0;pointer-events:none;opacity:.65;background:linear-gradient(90deg,transparent,rgba(var(--gx12-theme),.5) 52%,transparent);background-size:200% 100%;animation:gx12-sweep 15s linear infinite}
.gx12-motion{font-size:9px!important;white-space:nowrap}
.gx12-motion[aria-pressed="false"]{opacity:.73}
.gx12-tour{display:flex;align-items:center;gap:8px;margin-top:12px}
.gx12-tour button{font-size:10px;border:1px solid rgba(88,199,232,.48);background:#102936;color:#dff5ff;padding:9px 14px}
.gx12-tour-state{font-size:9px;color:#98c9d9;letter-spacing:.1em}
.gx12-explorer-track{margin:16px 0;height:2px;background:rgba(88,199,232,.15);overflow:hidden}
.gx12-explorer-track span{display:block;width:8.3333%;height:100%;background:#58c7e8;box-shadow:0 0 12px #58c7e8;transition:width .5s}
.gx12-hidden{display:none!important}
html.gx12-motion-off :is(.gx12-horizon,.gx12-signal-band,.gx12-ambient-grid,.gx12-node-rail){display:none!important}
html.gx12-motion-off .gx12-seam:before,html.gx12-motion-off .gx12-seam:after,html.gx12-motion-off .gx12-orb,html.gx12-motion-off .gx12-orb:after,html.gx12-motion-off .chapter:after{animation:none!important}
html.gx12-paused :is(.gx12-horizon,.gx12-signal-band,.gx12-orb,.gx12-seam:before,.gx12-seam:after){animation-play-state:paused!important}
@media(max-width:860px){
 .gx12-journey{top:75px;right:10px;opacity:.65}.gx12-label{display:none!important}
 .gx12-node-rail{display:none}.gx12-horizon{opacity:.16}
 .gx12-ambient-grid{display:none}.gx12-chapter-beacon{font-size:8px;bottom:7px;max-width:70%;white-space:nowrap;overflow:hidden}
 .gx12-chapter-beacon i{height:10px}.gx12-chapter-beacon{opacity:0}
 .gx12-journey .gx12-orb{height:15px;width:15px}
 .gx12-journey .gx12-orb:after{width:4px;height:4px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .gx12-horizon,.gx12-ambient-grid,.gx12-node-rail,.gx12-signal-band{display:none!important}
 .gx12-seam:before,.gx12-seam:after,.gx12-orb:after{animation:none!important}
 .gx12-chapter-beacon,.gx12-journey,.gx12-seam{transition:none!important}
}

.gx12-gallery-photo.gx12-gallery-arrive{animation:gx12-gallery-reveal .6s ease-out}
@keyframes gx12-gallery-reveal{from{opacity:.28}to{opacity:1}}
html.gx12-motion-off .gx12-gallery-photo.gx12-gallery-arrive{animation:none!important}
