/* GCG landing intro — isolated from the rest of the presentation styles. */
.gcg-landing-intro{display:none}
.gcg-intro-js .gcg-landing-intro{
  display:block;position:fixed;inset:0;z-index:10000;overflow:hidden;
  background:#070A0D;color:#fff;isolation:isolate;pointer-events:auto;
}
.gcg-intro-bloqueo{overflow:hidden!important}
.gcg-landing-intro::before{
  content:"";position:absolute;z-index:1;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 50% 49%,rgba(244,166,42,.105),transparent 24%),
    linear-gradient(90deg,transparent 49.92%,rgba(244,166,42,.19) 50%,transparent 50.08%);
  opacity:.85;
}
.gcg-intro__door{
  position:absolute;z-index:2;top:0;bottom:0;width:50.08%;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 16%,transparent 82%,rgba(244,166,42,.025)),
    repeating-linear-gradient(115deg,transparent 0 76px,rgba(255,255,255,.018) 77px 78px),
    #070c0f;
  box-shadow:inset 0 0 70px rgba(0,0,0,.7);
  will-change:transform;
}
.gcg-intro__door::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,transparent,rgba(244,166,42,.025) 54%,transparent 55%),
    repeating-linear-gradient(0deg,transparent 0 88px,rgba(255,255,255,.018) 89px 90px);
  opacity:.8;
}
.gcg-intro__door::after{
  content:"";position:absolute;top:7%;bottom:7%;width:1px;
  background:linear-gradient(transparent,rgba(244,166,42,.28) 15%,rgba(244,166,42,.65) 50%,rgba(244,166,42,.28) 85%,transparent);
  box-shadow:0 0 17px rgba(244,166,42,.24);
}
.gcg-intro__door--left{left:0;border-right:1px solid rgba(244,166,42,.22)}
.gcg-intro__door--right{right:0;border-left:1px solid rgba(244,166,42,.22)}
.gcg-intro__door--left::after{right:0}
.gcg-intro__door--right::after{left:0}
.gcg-intro__door-mark{
  position:absolute;top:50%;width:min(36vw,480px);height:min(36vw,480px);transform:translateY(-50%) rotate(45deg);
  border:1px solid rgba(244,166,42,.05);box-shadow:inset 0 0 0 28px rgba(255,255,255,.008);opacity:.65
}
.gcg-intro__door--left .gcg-intro__door-mark{right:-37%}
.gcg-intro__door--right .gcg-intro__door-mark{left:-37%}

.gcg-intro__seam{
  position:absolute;z-index:3;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%) scaleY(0);
  transform-origin:center;background:#F4A62A;box-shadow:0 0 7px #F4A62A,0 0 28px rgba(244,166,42,.58),0 0 70px rgba(244,166,42,.16);
  opacity:0;will-change:transform,opacity;
}
.gcg-intro__stage{
  position:absolute;z-index:5;left:50%;top:50%;width:min(82vw,920px);transform:translate(-50%,-50%);
  display:grid;place-items:center;pointer-events:none;will-change:transform,opacity;
}
.gcg-intro__stage::before,.gcg-intro__stage::after{
  content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%) scale(.55);opacity:0;
  border:1px solid rgba(244,166,42,.22);pointer-events:none
}
.gcg-intro__stage::before{width:min(60vw,660px);aspect-ratio:1}
.gcg-intro__stage::after{width:min(45vw,470px);aspect-ratio:1;border-color:rgba(255,255,255,.10)}
.gcg-intro__logo-wrap{position:relative;width:100%;filter:drop-shadow(0 18px 45px rgba(0,0,0,.6));}
.gcg-intro-logo{display:block;width:100%;height:auto;overflow:visible}
.gcg-intro-logo__icon,.gcg-intro-logo__gcg,.gcg-intro-logo__name,.gcg-intro-logo__electric,.gcg-intro-logo__sweep{transform-box:fill-box;transform-origin:center;will-change:transform,opacity}
.gcg-intro-logo__icon{opacity:0;transform:translateX(24px) scale(.72) rotate(-8deg)}
.gcg-intro-logo__gcg{opacity:0;transform:translateY(26px) scale(.95)}
.gcg-intro-logo__name{opacity:0;transform:translateX(32px)}
.gcg-intro-logo__electric{fill:#fff3ce;opacity:0;transform:scale(.78);mix-blend-mode:screen}
.gcg-intro-logo__sweep{opacity:0;mix-blend-mode:screen}
.gcg-intro__micro{
  margin-top:clamp(3px,1.2vw,12px);display:flex;align-items:center;gap:12px;
  color:#9ba4aa;font:600 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.22em;text-transform:uppercase;opacity:0;transform:translateY(8px)
}
.gcg-intro__micro::before,.gcg-intro__micro::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,#F4A62A)}
.gcg-intro__micro::after{transform:scaleX(-1)}
.gcg-intro__progress{position:absolute;z-index:5;left:50%;bottom:clamp(28px,5vh,60px);width:min(220px,40vw);height:1px;transform:translateX(-50%);overflow:hidden;background:rgba(255,255,255,.08);opacity:0}
.gcg-intro__progress i{display:block;width:100%;height:100%;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#F4A62A,#fff1c5,#F4A62A);box-shadow:0 0 12px rgba(244,166,42,.5)}

/* entrance */
.gcg-landing-intro.is-running .gcg-intro__seam{animation:gcgIntroSeam .68s cubic-bezier(.16,1,.3,1) .08s forwards}
.gcg-landing-intro.is-running .gcg-intro-logo__icon{animation:gcgIntroIcon .74s cubic-bezier(.16,1,.3,1) .18s forwards}
.gcg-landing-intro.is-running .gcg-intro-logo__electric{animation:gcgIntroBolt 1.28s ease-out .45s forwards}
.gcg-landing-intro.is-running .gcg-intro-logo__gcg{animation:gcgIntroLetters .72s cubic-bezier(.16,1,.3,1) .52s forwards}
.gcg-landing-intro.is-running .gcg-intro-logo__name{animation:gcgIntroName .68s cubic-bezier(.16,1,.3,1) .82s forwards}
.gcg-landing-intro.is-running .gcg-intro-logo__sweep{animation:gcgIntroSweep .78s ease-in-out 1.08s forwards}
.gcg-landing-intro.is-running .gcg-intro__stage::before{animation:gcgIntroRing 1.35s cubic-bezier(.16,1,.3,1) .42s forwards}
.gcg-landing-intro.is-running .gcg-intro__stage::after{animation:gcgIntroRing 1.15s cubic-bezier(.16,1,.3,1) .58s forwards reverse}
.gcg-landing-intro.is-running .gcg-intro__micro{animation:gcgIntroMicro .55s ease .98s forwards}
.gcg-landing-intro.is-running .gcg-intro__progress{animation:gcgIntroFade .35s ease .35s forwards}
.gcg-landing-intro.is-running .gcg-intro__progress i{animation:gcgIntroProgress 1.65s cubic-bezier(.2,.7,.2,1) .35s forwards}

/* door opening */
.gcg-landing-intro.is-opening .gcg-intro__door--left{transform:translateX(-101%);transition:transform .62s cubic-bezier(.7,0,.18,1)}
.gcg-landing-intro.is-opening .gcg-intro__door--right{transform:translateX(101%);transition:transform .62s cubic-bezier(.7,0,.18,1)}
.gcg-landing-intro.is-opening .gcg-intro__seam{opacity:0;transform:translateX(-50%) scaleY(.25);transition:opacity .28s ease,transform .45s ease}
.gcg-landing-intro.is-opening .gcg-intro__stage{opacity:0;transform:translate(-50%,-50%) scale(1.085);transition:opacity .34s ease .06s,transform .52s cubic-bezier(.2,.7,.2,1)}
.gcg-landing-intro.is-opening .gcg-intro__progress{opacity:0!important;transition:opacity .2s ease}
.gcg-landing-intro.is-finished{opacity:0;transition:opacity .14s linear;pointer-events:none}

@keyframes gcgIntroSeam{0%{opacity:0;transform:translateX(-50%) scaleY(0)}35%{opacity:1}100%{opacity:.82;transform:translateX(-50%) scaleY(1)}}
@keyframes gcgIntroIcon{0%{opacity:0;transform:translateX(24px) scale(.72) rotate(-8deg);filter:brightness(1)}70%{opacity:1;transform:translateX(0) scale(1.045) rotate(1deg);filter:brightness(1.25)}100%{opacity:1;transform:none;filter:brightness(1)}}
@keyframes gcgIntroLetters{0%{opacity:0;transform:translateY(18px) scale(.97)}65%{opacity:1}100%{opacity:1;transform:none}}
@keyframes gcgIntroName{0%{opacity:0;transform:translateX(22px)}100%{opacity:1;transform:none}}
@keyframes gcgIntroBolt{0%{opacity:0;transform:scale(.78)}22%{opacity:.9;transform:scale(1.06);filter:brightness(1.8) saturate(1.25)}36%{opacity:.08}50%{opacity:.72}68%{opacity:.12}100%{opacity:0;transform:scale(1);filter:brightness(1)}}
@keyframes gcgIntroSweep{0%{opacity:0;transform:translateX(0)}20%{opacity:1}100%{opacity:0;transform:translateX(880px)}}
@keyframes gcgIntroRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}42%{opacity:.4}100%{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes gcgIntroMicro{to{opacity:1;transform:none}}
@keyframes gcgIntroFade{to{opacity:1}}
@keyframes gcgIntroProgress{0%{transform:translateX(-100%)}72%{transform:translateX(-18%)}100%{transform:translateX(0)}}

@media(max-width:700px){
  .gcg-intro__stage{width:min(94vw,680px)}
  .gcg-intro__door-mark{width:72vw;height:72vw}
  .gcg-intro__micro{letter-spacing:.14em;gap:7px}
  .gcg-intro__micro::before,.gcg-intro__micro::after{width:20px}
}
@media(prefers-reduced-motion:reduce){
  .gcg-landing-intro *,.gcg-landing-intro *::before,.gcg-landing-intro *::after{animation:none!important;transition:none!important}
  .gcg-intro-logo__icon,.gcg-intro-logo__gcg,.gcg-intro-logo__name{opacity:1!important;transform:none!important;filter:none!important}
  .gcg-intro-logo__electric{opacity:.65!important;transform:none!important}
  .gcg-intro__micro{opacity:1!important;transform:none!important}
  .gcg-intro__progress{display:none!important}
}
/* Failsafe: if JavaScript stops after enabling the intro, never trap the visitor. */
.gcg-intro-js .gcg-landing-intro{animation:gcgIntroFailsafe 0s linear 4s forwards}
@keyframes gcgIntroFailsafe{to{visibility:hidden;pointer-events:none}}
