
:root{
  --glsp6-ease:cubic-bezier(.22,1,.36,1);
  --glsp6-duration:460ms;
}

/* =========================================================
   HARD CLEANUP OF OLD SPLIT LAYERS
   ========================================================= */
body.gocce-logo-split-pro-v6 .glsp-stage,
body.gocce-logo-split-pro-v6 .glsp2-stage,
body.gocce-logo-split-pro-v6 #glsp3-overlay,
body.gocce-logo-split-pro-v6 #glsp4-overlay,
body.gocce-logo-split-pro-v6 #glsp5-overlay{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Every original/duplicate logo selected by V6 is forced invisible. */
body.gocce-logo-split-pro-v6 .glsp6-hidden-source,
body.gocce-logo-split-pro-v6 .glsp6-hidden-source:hover,
body.gocce-logo-split-pro-v6 .glsp6-hidden-source:active,
body.gocce-logo-split-pro-v6 .glsp6-hidden-source:focus{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:none!important;
  translate:none!important;
  animation:none!important;
}

/* The host does not clip the split animation. */
body.gocce-logo-split-pro-v6 .glsp6-host{
  position:relative!important;
  overflow:visible!important;
}

/* =========================================================
   SINGLE CLEAN CENTER LOGO
   ========================================================= */
#glsp6-proxy{
  position:absolute!important;
  z-index:999999!important;
  left:50%!important;
  top:50%!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transform:translate3d(-50%,-50%,0)!important;
  translate:none!important;
  animation:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}

#glsp6-stage{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:var(--glsp6-logo-w,54px)!important;
  height:var(--glsp6-logo-h,38px)!important;
  transform:translate3d(-50%,-50%,0)!important;
  pointer-events:none!important;
  overflow:visible!important;
}

/* Normal full logo */
#glsp6-full{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  opacity:1!important;
  transition:opacity 130ms ease!important;
  pointer-events:none!important;
}

#glsp6-full > img,
#glsp6-full > svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  translate:none!important;
  animation:none!important;
}

/* True half wrappers: no clip-path duplicate bug. */
#glsp6-stage .glsp6-half{
  position:absolute!important;
  top:0!important;
  width:50%!important;
  height:100%!important;
  z-index:3!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:
    transform var(--glsp6-duration) var(--glsp6-ease),
    opacity 120ms ease!important;
  will-change:transform!important;
  backface-visibility:hidden!important;
}

#glsp6-stage .glsp6-left{
  left:0!important;
  transform:translate3d(0,0,0)!important;
}

#glsp6-stage .glsp6-right{
  left:50%!important;
  transform:translate3d(0,0,0)!important;
}

/* Each half contains ONE full-size logo, clipped by its wrapper. */
#glsp6-stage .glsp6-half > img,
#glsp6-stage .glsp6-half > svg{
  position:absolute!important;
  top:0!important;
  display:block!important;
  width:200%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  translate:none!important;
  animation:none!important;
}

#glsp6-stage .glsp6-left > img,
#glsp6-stage .glsp6-left > svg{
  left:0!important;
}

#glsp6-stage .glsp6-right > img,
#glsp6-stage .glsp6-right > svg{
  left:-100%!important;
}

/* Center text */
#glsp6-text{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  z-index:7!important;
  display:block!important;
  margin:0!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.98)!important;
  color:#111!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  opacity:0!important;
  transform:translate3d(-50%,-50%,0) scale(.94)!important;
  transition:
    opacity 210ms ease,
    transform 360ms var(--glsp6-ease)!important;
}

#glsp6-text::before,
#glsp6-text::after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:10px!important;
  height:1px!important;
  background:#111!important;
  opacity:.25!important;
  transform:translateY(-50%) scaleX(0)!important;
  transition:transform 340ms var(--glsp6-ease)!important;
}

#glsp6-text::before{
  right:calc(100% + 6px)!important;
  transform-origin:right center!important;
}

#glsp6-text::after{
  left:calc(100% + 6px)!important;
  transform-origin:left center!important;
}

/* =========================================================
   OPEN
   ========================================================= */
#glsp6-proxy.glsp6-open #glsp6-full{
  opacity:0!important;
}

#glsp6-proxy.glsp6-open .glsp6-half{
  opacity:1!important;
}

#glsp6-proxy.glsp6-open .glsp6-left{
  transform:translate3d(calc(var(--glsp6-shift,40px) * -1),0,0)!important;
}

#glsp6-proxy.glsp6-open .glsp6-right{
  transform:translate3d(var(--glsp6-shift,40px),0,0)!important;
}

#glsp6-proxy.glsp6-open #glsp6-text{
  opacity:1!important;
  transform:translate3d(-50%,-50%,0) scale(1)!important;
}

#glsp6-proxy.glsp6-open #glsp6-text::before,
#glsp6-proxy.glsp6-open #glsp6-text::after{
  transform:translateY(-50%) scaleX(1)!important;
}

/* =========================================================
   CLOSING
   Keep halves visible until they fully reunite.
   ========================================================= */
#glsp6-proxy.glsp6-closing #glsp6-full{
  opacity:0!important;
}

#glsp6-proxy.glsp6-closing .glsp6-half{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}

#glsp6-proxy.glsp6-closing #glsp6-text{
  opacity:0!important;
  transform:translate3d(-50%,-50%,0) scale(.94)!important;
}

#glsp6-proxy.glsp6-closing #glsp6-text::before,
#glsp6-proxy.glsp6-closing #glsp6-text::after{
  transform:translateY(-50%) scaleX(0)!important;
}

@media(max-width:767px){
  #glsp6-text{
    font-size:8px!important;
    padding:3px 6px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #glsp6-proxy *,
  #glsp6-proxy *::before,
  #glsp6-proxy *::after{
    transition:none!important;
    animation:none!important;
  }
}
