/* Logo Motion 3D — JujuyConectado Pro 7.6.9 */
.jc-brand,
.jc-mobile-brand{
  perspective:1100px;
  transform-style:preserve-3d;
}
.jc-logo-stage{
  position:relative;
  display:inline-grid;
  place-items:center;
  transform-style:preserve-3d;
  isolation:isolate;
  will-change:transform,filter;
  transform-origin:center center;
  -webkit-tap-highlight-color:transparent;
}
.jc-logo-stage > img{
  grid-area:1/1;
  display:block;
  backface-visibility:visible;
  transform-style:preserve-3d;
  pointer-events:none;
}
.jc-logo-depth{
  position:absolute!important;
  inset:0;
  width:100%!important;
  height:100%!important;
  object-fit:contain;
  opacity:.14;
  filter:brightness(.68) saturate(.78);
  z-index:-1;
}
.jc-logo-depth:nth-of-type(2){transform:translateZ(-2px) translateX(1px)}
.jc-logo-depth:nth-of-type(3){transform:translateZ(-4px) translateX(2px)}
.jc-logo-depth:nth-of-type(4){transform:translateZ(-6px) translateX(3px)}
.jc-logo-depth:nth-of-type(5){transform:translateZ(-8px) translateX(4px)}
.jc-logo-depth:nth-of-type(6){transform:translateZ(-10px) translateX(5px)}
.jc-logo-stage::before{
  content:"";
  position:absolute;
  inset:5% -8%;
  z-index:4;
  pointer-events:none;
  opacity:0;
  transform:translateX(-135%) skewX(-18deg) translateZ(10px);
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.12) 44%,rgba(255,255,255,.78) 50%,rgba(255,255,255,.14) 57%,transparent 66%);
  mix-blend-mode:screen;
  border-radius:24px;
}
.jc-logo-stage::after{
  content:"";
  position:absolute;
  left:12%;right:12%;bottom:-8px;
  height:10px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(15,79,174,.28),rgba(15,79,174,0) 72%);
  transform:translateZ(-14px) scaleX(.86);
  opacity:.42;
  pointer-events:none;
}
.jc-logo-stage.is-intro{
  animation:jc-logo-intro 3.8s cubic-bezier(.18,.72,.18,1) both;
}
.jc-logo-stage.is-intro::before{
  animation:jc-logo-shine 3.8s ease-in-out both;
}
.jc-logo-stage.is-ready{
  animation:jc-logo-float 6.5s ease-in-out .35s infinite;
}
.jc-logo-stage.is-replay{
  animation:jc-logo-replay 2.35s cubic-bezier(.18,.72,.18,1) both!important;
}
.jc-logo-stage.is-replay::before{
  animation:jc-logo-shine 2.35s ease-in-out both;
}
@keyframes jc-logo-intro{
  0%{opacity:0;transform:rotateX(-9deg) rotateY(-24deg) scale(.93) translateY(7px);filter:drop-shadow(0 1px 1px rgba(15,79,174,0))}
  14%{opacity:1;transform:rotateX(-5deg) rotateY(5deg) scale(.98) translateY(2px);filter:drop-shadow(-4px 6px 8px rgba(15,79,174,.10))}
  48%{opacity:1;transform:rotateX(4deg) rotateY(185deg) scale(1.025) translateY(-2px);filter:drop-shadow(9px 13px 16px rgba(15,79,174,.23))}
  82%{transform:rotateX(-2deg) rotateY(340deg) scale(1.006) translateY(-1px);filter:drop-shadow(-3px 8px 11px rgba(15,79,174,.17))}
  93%{transform:rotateX(1deg) rotateY(364deg) scale(1.012) translateY(-1px)}
  100%{opacity:1;transform:rotateX(0) rotateY(360deg) scale(1) translateY(0);filter:drop-shadow(0 5px 8px rgba(15,79,174,.14))}
}
@keyframes jc-logo-replay{
  0%{transform:rotateX(0) rotateY(0) scale(1);filter:drop-shadow(0 5px 8px rgba(15,79,174,.14))}
  48%{transform:rotateX(4deg) rotateY(185deg) scale(1.025);filter:drop-shadow(9px 12px 15px rgba(15,79,174,.22))}
  88%{transform:rotateX(-1deg) rotateY(352deg) scale(1.008)}
  100%{transform:rotateX(0) rotateY(360deg) scale(1);filter:drop-shadow(0 5px 8px rgba(15,79,174,.14))}
}
@keyframes jc-logo-shine{
  0%,24%{opacity:0;transform:translateX(-135%) skewX(-18deg) translateZ(10px)}
  38%{opacity:.2}
  57%{opacity:.88;transform:translateX(125%) skewX(-18deg) translateZ(10px)}
  70%,100%{opacity:0;transform:translateX(145%) skewX(-18deg) translateZ(10px)}
}
@keyframes jc-logo-float{
  0%,100%{transform:translateY(0) rotateX(0) rotateY(0);filter:drop-shadow(0 4px 7px rgba(15,79,174,.11))}
  50%{transform:translateY(-1.2px) rotateX(.8deg) rotateY(-.8deg);filter:drop-shadow(0 7px 10px rgba(15,79,174,.15))}
}
@media (hover:hover) and (pointer:fine){
  .jc-brand:hover .jc-logo-stage,
  .jc-mobile-brand:hover .jc-logo-stage{
    animation:none;
    transform:rotateX(3deg) rotateY(-7deg) translateY(-1px) scale(1.018);
    transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s;
    filter:drop-shadow(0 8px 12px rgba(15,79,174,.18));
  }
}

/* Intro premium para la PWA instalada. */
.jc-app-intro{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(145deg,#eef7ff 0%,#ffffff 48%,#fff6eb 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .55s ease,visibility .55s ease;
}
.jc-app-intro.is-leaving{opacity:0;visibility:hidden}
.jc-app-intro__inner{text-align:center;perspective:1200px}
.jc-app-intro__logo{
  width:min(64vw,260px);
  max-height:180px;
  object-fit:contain;
  transform-style:preserve-3d;
  animation:jc-splash-logo 3.45s cubic-bezier(.18,.72,.18,1) both;
  filter:drop-shadow(0 14px 20px rgba(15,79,174,.18));
}
.jc-app-intro__title{
  margin:18px 0 4px;
  color:#0f4fae;
  font-size:clamp(1.45rem,6vw,2.2rem);
  font-weight:800;
  letter-spacing:-.035em;
  opacity:0;
  animation:jc-splash-copy .65s ease 2.45s forwards;
}
.jc-app-intro__tagline{
  margin:0;
  color:#526277;
  font-size:clamp(.92rem,3.8vw,1.06rem);
  opacity:0;
  animation:jc-splash-copy .65s ease 2.72s forwards;
}
.jc-app-intro__bar{
  width:120px;
  height:4px;
  margin:20px auto 0;
  overflow:hidden;
  border-radius:999px;
  background:rgba(15,79,174,.12);
  opacity:0;
  animation:jc-splash-copy .45s ease 2.85s forwards;
}
.jc-app-intro__bar::after{
  content:"";
  display:block;
  width:46%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#0f4fae,#f59b23);
  animation:jc-splash-progress 1.1s ease-in-out 2.85s infinite alternate;
}
@keyframes jc-splash-logo{
  0%{opacity:0;transform:rotateX(-8deg) rotateY(-28deg) scale(.82) translateY(12px)}
  15%{opacity:1;transform:rotateX(-4deg) rotateY(4deg) scale(.94) translateY(2px)}
  52%{transform:rotateX(4deg) rotateY(188deg) scale(1.035) translateY(-4px)}
  86%{transform:rotateX(-2deg) rotateY(348deg) scale(1.008)}
  100%{opacity:1;transform:rotateX(0) rotateY(360deg) scale(1)}
}
@keyframes jc-splash-copy{to{opacity:1;transform:translateY(0)}}
@keyframes jc-splash-progress{from{transform:translateX(-90%)}to{transform:translateX(210%)}}

@media (prefers-reduced-motion:reduce){
  .jc-logo-stage,
  .jc-logo-stage.is-intro,
  .jc-logo-stage.is-ready,
  .jc-logo-stage.is-replay,
  .jc-app-intro__logo,
  .jc-app-intro__title,
  .jc-app-intro__tagline,
  .jc-app-intro__bar,
  .jc-app-intro__bar::after{
    animation:none!important;
    transform:none!important;
    transition:none!important;
    opacity:1!important;
  }
  .jc-logo-depth{display:none!important}
  .jc-app-intro{display:none!important}
}
