/* ══ M1 — HERO ══ */
.bulb-col{display:flex;align-items:center;justify-content:center;position:relative;perspective:1000px;transform-style:preserve-3d;z-index:0}

.bulb-halo{
  position:absolute;width:640px;height:640px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,0.15) 0%,rgba(255,255,255,0.05) 50%,transparent 70%);
  animation:hpulse 3s ease-in-out infinite;
  opacity:0;visibility:hidden;
  transition:opacity 1.4s ease 0.4s,visibility 0s linear 0s;
}
body.rendered:not(.on-m2):not(.on-m3):not(.on-m4):not(.on-m5):not(.on-m6):not(.on-m7) .bulb-halo{
  opacity:1;visibility:visible;transition:visibility 0s linear 0s
}
body.on-m2 .bulb-halo,body.on-m3 .bulb-halo,body.on-m4 .bulb-halo,
body.on-m5 .bulb-halo,body.on-m6 .bulb-halo,body.on-m7 .bulb-halo{
  opacity:0;visibility:hidden;transition:opacity 0.3s,visibility 0s linear 0.3s
}
@keyframes hpulse{0%,100%{transform:scale(1);opacity:0.8}50%{transform:scale(1.08);opacity:1}}

.bulb-stack{
  position:relative;width:700px;height:auto;
  transform-style:preserve-3d;
  visibility:hidden;opacity:0;
  transition:opacity 1.4s ease 0.4s,visibility 0s linear 0s;
}
body.rendered:not(.on-m2):not(.on-m3):not(.on-m4):not(.on-m5):not(.on-m6):not(.on-m7) .bulb-stack{
  visibility:visible;opacity:1;transition:opacity 1.4s ease 0.4s,visibility 0s linear 0s;
}
body.rendered.bulb-ready:not(.on-m2):not(.on-m3):not(.on-m4):not(.on-m5):not(.on-m6):not(.on-m7) .bulb-stack{
  visibility:visible;opacity:1;transition:opacity 0s,visibility 0s;
}
body.on-m2 .bulb-stack,body.on-m3 .bulb-stack,body.on-m4 .bulb-stack,
body.on-m5 .bulb-stack,body.on-m6 .bulb-stack,body.on-m7 .bulb-stack{
  visibility:hidden;opacity:0;transition:opacity 0s,visibility 0s linear 0s;
}
.bulb-stack:hover .bulb-layer{opacity:1!important}
.bulb-layer{
  position:absolute;top:0;left:0;width:100%;
  mix-blend-mode:screen;opacity:0;transition:opacity 1.4s ease 0.4s
}
.bulb-layer:first-child{position:relative}
body.rendered:not(.on-m2):not(.on-m3):not(.on-m4):not(.on-m5):not(.on-m6):not(.on-m7) .bulb-layer{opacity:var(--lo,0.7)}
body.on-m2 .bulb-layer,body.on-m3 .bulb-layer,body.on-m4 .bulb-layer,
body.on-m5 .bulb-layer,body.on-m6 .bulb-layer,body.on-m7 .bulb-layer{opacity:0;transition:opacity 0.3s ease}
@keyframes bulbRotate{0%{transform:perspective(1000px) rotateY(0deg)}100%{transform:perspective(1000px) rotateY(360deg)}}

/* ── Texto M1 ── */
.m1-text{
  padding-left:40px;padding-top:72px;
  display:flex;flex-direction:column;justify-content:center;
  opacity:0;transition:opacity 0.9s ease 0.5s;
  position:relative;z-index:1;
}
#m1.visible .m1-text{opacity:1}

.heading{font-family:'JetBrains Mono',monospace;font-weight:500;line-height:1.1;color:#fff;font-size:clamp(28px,3.6vw,62px);margin-bottom:20px}
.heading .line1{display:block}
.heading .line2{display:block;font-weight:300}
.heading .line3{display:flex;align-items:center;gap:14px;font-weight:500}
.no-box{background:#fff;color:#0590aa;padding:2px 16px 5px;border-radius:0;font-weight:500;display:inline-block}

.sub{font-size:clamp(20px,1.1vw,px);font-weight:300;color:rgba(255,255,255,0.82);line-height:1.9;margin-bottom:36px}
.sub-link{cursor:pointer;padding:1px 5px;transition:background 0.15s;display:inline;white-space:nowrap}
.sub-link:hover{background:#fff;color:#0590aa;-webkit-text-fill-color:#0590aa}

.cta-btn{
  display:inline-block;font-family:'JetBrains Mono',monospace;
  font-size:clamp(11px,1vw,14px);font-weight:300;color:#fff;
  border:1.5px solid rgba(255,255,255,0.6);border-radius:0;
  padding:12px 32px;letter-spacing:0.06em;cursor:pointer;
  transition:background 0.2s,border-color 0.2s;
  text-decoration:none;background:transparent;align-self:flex-start
}
.cta-btn:hover{background:rgba(255,255,255,0.15);border-color:#fff}
