/* GX AETHER Entrance / Build 04
   Motion + interface only. Approved imagery files remain untouched. */
:root{--entry-ink:#020609;--entry-blue:#72cfff;--entry-platinum:#e6edf1}
.gx-entry{display:none;position:fixed;inset:0;z-index:2500;overflow:hidden;isolation:isolate;background:#010308;color:#ebf4f8;font-family:inherit}
.gx-intro-required .gx-entry{display:block}
.gx-intro-required{overflow:hidden;scrollbar-gutter:stable}
.gx-intro-required body{overflow:hidden}
.gx-entry::before{content:'';position:absolute;inset:-12%;z-index:-2;background:
 radial-gradient(ellipse at 50% 57%,rgba(27,98,142,.18),transparent 40%),
 radial-gradient(ellipse at 50% 105%,rgba(18,108,182,.17),transparent 38%),
 linear-gradient(#010307,#030913 62%,#000207);pointer-events:none}
.gx-entry::after{content:'';position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),rgba(96,167,219,.065) 12.5%),linear-gradient(0deg,rgba(126,220,255,.04) 1px,transparent 1px);background-size:100% 100%,100% 130px;mask-image:linear-gradient(transparent 3%,black 25%,black 82%,transparent 100%)}
.gx-entry-top{display:flex;align-items:center;justify-content:space-between;gap:16px;position:absolute;z-index:4;top:clamp(24px,4vw,52px);left:clamp(22px,4vw,70px);right:clamp(22px,4vw,70px)}
.gx-light-index{font-size:10px;letter-spacing:.32em;color:#9cbacb;font-weight:550}
.gx-entry-skip{background:rgba(4,15,29,.55);border:1px solid rgba(145,206,255,.33);border-radius:3px;padding:10px 16px;color:#dfedf6;font:inherit;font-size:10px;letter-spacing:.18em;cursor:pointer;transition:background .2s,border-color .2s}
.gx-entry-skip:hover,.gx-entry-skip:focus-visible{background:rgba(48,116,158,.23);border-color:rgba(149,213,255,.85);outline-offset:4px}
.gx-entry-stage{position:absolute;inset:11% 5% 18%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.gx-entry-structure{position:absolute;width:min(64vw,620px);height:min(64vw,620px);max-height:72vh;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:.89}
.gx-entry-structure .orbit{position:absolute;inset:8%;border:1px solid rgba(142,198,229,.12);border-radius:50%;box-shadow:inset 0 0 90px rgba(29,85,155,.03),0 0 52px rgba(37,110,165,.025);transform:rotateX(60deg) rotateZ(-13deg);animation:gx-slow-orbit 13s linear infinite}
.gx-entry-structure .orbit:nth-child(2){inset:16%;border-color:rgba(99,191,250,.3);transform:rotateX(67deg) rotateZ(40deg);animation-duration:17s;animation-direction:reverse}
.gx-entry-structure .orbit:nth-child(3){inset:27%;border-color:rgba(230,241,251,.36);transform:rotateX(0) rotateZ(0);box-shadow:0 0 60px rgba(50,132,223,.09);animation:gx-core-breathe 4s ease-in-out infinite}
.gx-entry-structure .radian{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 160deg,transparent 0 42%,rgba(94,207,255,.14) 48%,rgba(188,241,255,.9) 50%,rgba(28,112,181,.05) 52%,transparent 63%);mask-image:radial-gradient(circle,transparent 48%,black 49% 50%,transparent 51%);animation:gx-ring-rotate 7s linear infinite}
.gx-entry-signal{position:absolute;left:50%;top:50%;width:2px;height:52vh;max-height:430px;transform:translate(-50%,-50%);background:linear-gradient(transparent,rgba(88,177,237,.35) 40%,rgba(225,246,255,.92) 50%,rgba(88,177,237,.35) 60%,transparent);box-shadow:0 0 28px 5px rgba(39,141,215,.13);animation:gx-signal-breathe 3s ease-in-out infinite}
.gx-entry-logo{position:relative;width:clamp(128px,18vw,260px);height:clamp(96px,15vw,170px);max-width:80vw;object-fit:contain;filter:drop-shadow(0 0 38px rgba(25,128,213,.23));animation:gx-logo-arrival 1.4s ease both}
.gx-entry-wordmark{position:relative;display:block;margin:0 auto;font-size:clamp(9px,1vw,12px);letter-spacing:.48em;font-weight:550;color:#a4c8de;text-transform:uppercase}
.gx-entry-phrases{height:clamp(95px,12vh,150px);width:min(760px,94vw);margin-top:clamp(25px,5vh,55px);position:relative}
.gx-entry-phrase{position:absolute;inset:0;opacity:0;transform:translateY(11px);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:12px;transition:opacity .65s ease,transform .7s cubic-bezier(.2,.75,.25,1)}
.gx-entry[data-phase="1"] .gx-entry-phrase[data-phase="1"],.gx-entry[data-phase="2"] .gx-entry-phrase[data-phase="2"],.gx-entry[data-phase="3"] .gx-entry-phrase[data-phase="3"],.gx-entry[data-phase="4"] .gx-entry-phrase[data-phase="4"]{opacity:1;transform:translateY(0)}
.gx-entry-phrase .kicker{font-size:9px;letter-spacing:.29em;color:#91b8d4}
.gx-entry-phrase strong{font-size:clamp(22px,3.4vw,50px);line-height:1.14;letter-spacing:-.045em;font-weight:280;color:#f1f5f7}
.gx-entry-phrase strong em{font-weight:300;font-style:normal;color:#b2ddff}
.gx-entry-phrase .tag{font-size:clamp(10px,1.05vw,13px);line-height:1.6;color:#acbfcc}
.gx-entry-progress{position:absolute;z-index:3;bottom:clamp(30px,6vh,80px);left:50%;width:min(550px,calc(100% - 48px));transform:translateX(-50%)}
.gx-entry-progress-meta,.gx-entry-footnote{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:10px;letter-spacing:.24em;color:#a8c8dd}
.gx-entry-progress-meta{margin-bottom:14px}.gx-entry-percent{color:#ebf5ff;min-width:40px;text-align:right;font-variant-numeric:tabular-nums}
.gx-entry-track{height:2px;position:relative;background:rgba(171,213,237,.19);overflow:visible}
.gx-entry-fill{width:0;height:100%;background:linear-gradient(90deg,#2378ae 0%,#bceeff 100%);box-shadow:0 0 14px rgba(61,177,247,.45);position:relative;will-change:width}
.gx-entry-fill::after{content:'';width:4px;height:4px;border-radius:50%;background:#e5faff;position:absolute;right:-1px;top:-1px;box-shadow:0 0 16px 4px rgba(76,169,253,.5)}
.gx-entry-footnote{font-size:9px;margin-top:13px;letter-spacing:.14em;color:#6f94aa}
.gx-intro-exiting .gx-entry{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),visibility 1.05s}
.gx-hero-dawn{pointer-events:none;position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(2,5,9,.47),rgba(2,6,11,.27) 54%,transparent),rgba(0,1,4,.88);opacity:0}
.gx-intro-required:not(.gx-intro-exiting) .gx-hero-dawn{opacity:1}
.gx-intro-exiting .gx-hero-dawn{animation:gx-hero-reveal 2.4s ease-out both}
.gx-intro-exiting .hero-home .hero-copy{animation:gx-copy-appear 2s .3s ease-out both}
.gx-intro-exiting .hero-home .scroll-cue{animation:gx-copy-appear 2s .7s ease-out both}
.hero-home .hero-copy{z-index:4!important}
.hero-home .hero-original{position:relative;z-index:0!important}
.hero-home{min-height:0!important;display:block!important;background:#02060c;overflow:hidden!important}
.hero-home .hero-copy{position:absolute!important;left:clamp(32px,6vw,118px)!important;top:45%!important;transform:translateY(-45%)!important;width:min(44%,640px)!important}
.hero-home .hero-copy h1{font-size:clamp(36px,4.4vw,84px)}
.gx-entry-replay{cursor:pointer;border:1px solid rgba(131,192,228,.29);background:rgba(1,9,20,.45);color:#9db6c4;padding:9px 12px;font:inherit;font-size:9px;letter-spacing:.13em;text-transform:uppercase;margin-top:10px}
.gx-entry-replay:hover,.gx-entry-replay:focus-visible{border-color:rgba(152,214,255,.7);color:#eff9ff}
.gx-entry-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes gx-logo-arrival{from{opacity:0;transform:scale(.95);filter:brightness(.6)}to{opacity:1;transform:scale(1);filter:brightness(1)}}
@keyframes gx-core-breathe{0%,100%{opacity:.55;box-shadow:0 0 50px rgba(50,132,223,.08)}50%{opacity:1;box-shadow:0 0 75px rgba(50,132,223,.16)}}
@keyframes gx-slow-orbit{to{transform:rotateX(60deg) rotateZ(347deg)}}
@keyframes gx-ring-rotate{to{transform:rotate(360deg)}}
@keyframes gx-signal-breathe{0%,100%{opacity:.25}50%{opacity:.77}}
@keyframes gx-hero-reveal{0%{opacity:1}18%{opacity:.95}100%{opacity:0}}
@keyframes gx-copy-appear{from{opacity:0;filter:blur(9px)}to{opacity:1;filter:blur(0)}}
@media(max-width:820px){.hero-home{min-height:0!important}.hero-home .hero-original{width:100%;max-height:none!important;height:auto;object-fit:contain}.hero-home .hero-copy{position:relative!important;top:auto!important;left:auto!important;transform:none!important;width:100%!important;padding:26px 25px 40px;max-width:none;background:#03070d}.hero-home .hero-copy h1{font-size:clamp(33px,8vw,54px)}.gx-hero-dawn{bottom:auto;height:calc(100vw * .56)}.gx-entry-stage{inset:14% 5% 19%}.gx-entry-structure{width:95vw;height:95vw}.gx-entry-progress{bottom:clamp(26px,5vh,55px)}.gx-entry-wordmark{letter-spacing:.3em}.gx-entry-phrase strong{font-size:clamp(22px,6.4vw,38px)}.gx-entry-phrase{gap:9px}.gx-entry-footnote span:last-child{display:none}}
@media(max-width:430px){.gx-entry-logo{width:175px;height:115px}.gx-light-index{font-size:8px;letter-spacing:.14em}.gx-entry-skip{font-size:9px;padding:8px 10px}.gx-entry-phrases{margin-top:20px;height:125px}.gx-entry-phrase .tag{max-width:280px}}
@media(prefers-reduced-motion:reduce){.gx-entry-structure,.gx-entry-logo,.gx-entry-signal,.gx-entry-phrase,.gx-hero-dawn,.gx-entry,.hero-home .hero-copy,.hero-home .scroll-cue{animation:none!important;transition:none!important}}
/* QA correction: constrain unchanged official GX logo file within real header/footer. */
.site-header .brand{flex:0 0 auto!important;align-items:center!important;justify-content:center!important;width:170px!important;height:var(--header-h)!important;overflow:hidden!important;min-width:0!important;gap:0!important}
.site-header .gx-header-logo{display:block!important;width:160px!important;height:72px!important;min-width:0!important;max-width:160px!important;max-height:72px!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important}
.site-footer .gx-footer-logo{display:block!important;width:176px!important;height:122px!important;max-width:176px!important;object-fit:contain!important}
@media(max-width:820px){.site-header .brand{width:127px!important;height:var(--header-h)!important}.site-header .gx-header-logo{width:120px!important;height:58px!important;max-width:120px!important;max-height:58px!important}}
