/* ═══ LUMEN — Hilo de Luz Divina (compartido) ═══ */
#lumen-layer{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:30;overflow:visible;}
#lumen-layer svg{display:block;overflow:visible;}
.lumen-node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.6rem;opacity:0;transition:opacity .8s ease .1s;}
.lumen-node.lit{opacity:1;}
.lumen-node--flip{flex-direction:row-reverse;}
.lumen-dot{width:10px;height:10px;border-radius:50%;background:#FFF3D6;flex-shrink:0;position:relative;transform:scale(.2);
  box-shadow:0 0 6px 1px rgba(255,243,214,.9),0 0 18px 4px rgba(244,215,140,.55),0 0 44px 12px rgba(230,105,79,.25);
  transition:transform .7s cubic-bezier(.16,1,.3,1);}
.lumen-node.lit .lumen-dot{transform:scale(1);}
.lumen-node.lit .lumen-dot::before{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(244,215,140,.45);
  animation:lumen-ring 1.4s cubic-bezier(.16,1,.3,1) .1s both;}
@keyframes lumen-ring{0%{transform:scale(.4);opacity:.9}70%{opacity:.35}100%{transform:scale(2);opacity:0}}
.lumen-node.lit .lumen-dot::after{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(244,215,140,.26);
  animation:lumen-breathe 3.4s ease-in-out 1.5s infinite;}
@keyframes lumen-breathe{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.35);opacity:.1}}
.lumen-label{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold-1,#F4D78C);
  background:rgba(8,7,10,.55);border:1px solid rgba(244,215,140,.22);border-radius:999px;padding:.32rem .85rem;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);white-space:nowrap;
  box-shadow:0 0 24px -6px rgba(244,215,140,.25);
  opacity:0;transform:translateX(var(--label-shift,10px));
  transition:opacity .7s ease .3s,transform .7s cubic-bezier(.16,1,.3,1) .3s;}
.lumen-node.lit .lumen-label{opacity:1;transform:translateX(0);}
#lumen-comet{position:absolute;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;opacity:0;will-change:transform;
  background:radial-gradient(circle,#FFFDF6 0%,#FFE9B8 35%,rgba(244,215,140,.35) 62%,transparent 75%);
  box-shadow:0 0 10px 2px rgba(255,240,200,.9),0 0 30px 8px rgba(244,215,140,.5),0 0 70px 22px rgba(230,105,79,.28);}
#lumen-comet::before,#lumen-comet::after{content:'';position:absolute;left:5px;top:5px;border-radius:50%;background:rgba(255,236,190,.9);}
#lumen-comet::before{width:3px;height:3px;animation:lumen-spark1 2.1s ease-in-out infinite;}
#lumen-comet::after{width:2px;height:2px;animation:lumen-spark2 2.7s ease-in-out infinite;}
@keyframes lumen-spark1{0%,100%{transform:translate(9px,-7px);opacity:0}35%{opacity:.9}60%{transform:translate(17px,-15px);opacity:0}}
@keyframes lumen-spark2{0%,100%{transform:translate(-8px,8px);opacity:0}40%{opacity:.8}70%{transform:translate(-16px,16px);opacity:0}}
#lumen-burst{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;opacity:0;}
#lumen-burst.lit{animation:lumen-burst 1.7s cubic-bezier(.16,1,.3,1) both;
  background:radial-gradient(circle,#FFFDF6,rgba(244,215,140,0) 70%);
  box-shadow:0 0 44px 16px rgba(244,215,140,.55),0 0 130px 54px rgba(230,105,79,.22);}
@keyframes lumen-burst{0%{transform:scale(.2);opacity:0}25%{opacity:1}100%{transform:scale(3.4);opacity:0}}

/* Pulso de invitación en botones principales */
@keyframes lumenPulse{
  0%{box-shadow:0 8px 30px -8px rgba(230,105,79,.45),0 0 0 0 rgba(244,215,140,.5);}
  65%{box-shadow:0 10px 44px -8px rgba(244,215,140,.6),0 0 0 15px rgba(244,215,140,0);}
  100%{box-shadow:0 8px 30px -8px rgba(230,105,79,.45),0 0 0 15px rgba(244,215,140,0);}
}
.btn-primary{animation:lumenPulse 3.2s ease-in-out infinite;}

header .glass{transition:background .4s,box-shadow .4s,border-color .4s;}
header.scrolled .glass{background:rgba(10,9,12,.74);border-color:rgba(244,215,140,.15);box-shadow:0 10px 40px -18px rgba(0,0,0,.85);}
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto!important;}

@media (max-width:767px){ .lumen-label{display:none;} }
@media (prefers-reduced-motion:reduce){
  #lumen-comet,#lumen-comet::before,#lumen-comet::after{animation:none;}
  .btn-primary{animation:none;}
  .lumen-node{opacity:1;}
  .lumen-node .lumen-dot{transform:scale(1);}
  .lumen-node .lumen-label{opacity:1;transform:none;}
}
