.motion-spotlight{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at var(--spot-x,50%) var(--spot-y,40%),#a36ee819,transparent 58%);translate:0 var(--scroll-depth,0);transition:background-position .25s;contain:strict}body>header{position:sticky;top:0;z-index:100;background:#08080b}body>main,body>footer{position:relative;z-index:1}.section{background-image:radial-gradient(ellipse at 80% 20%,#a36ee808,transparent 65%)}.motion-title{position:relative;overflow:hidden}.motion-title::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#e3c9ff25 49%,transparent 58%);transform:translateX(-120%);opacity:0}.motion-sweep::after{animation:showmadness-sweep 1.65s ease-in-out .3s}.motion-frame{transition:box-shadow .3s,rotate .3s,transform .3s}.motion-frame:hover{box-shadow:0 0 26px #bda5ff25}.button:active,.footer-contact:active,.contact-icon:active{scale:.97}.motion-enable{font:inherit;font-size:13px;color:#cbb2ff;background:#1d1428;border:1px solid #80629e;border-radius:14px;padding:10px 16px;min-height:44px}.motion-enable:focus-visible{outline:2px solid #e3d6ff;outline-offset:4px}@keyframes showmadness-sweep{0%{transform:translateX(-120%);opacity:0}35%{opacity:1}100%{transform:translateX(120%);opacity:0}}@media(prefers-reduced-motion:reduce){.motion-spotlight,.motion-enable{display:none}.motion-title::after{animation:none!important}.motion-frame{transition:none!important;transform:none!important;rotate:none!important}.button:active,.footer-contact:active,.contact-icon:active{scale:1}}

/* =========================================================
   SHOWMADNESS BACKSTAGE BLACKOUT + TRAVELING LIGHT — V5
   Non-Home public pages only. No visible fixture or beam source.
   The light wash physically travels with scroll direction:
   down = enters from bottom and rises; up = enters from top and falls.
   ========================================================= */
.stage-blackout-reveal{
  position:fixed;
  inset:0;
  z-index:110;
  pointer-events:none;
  opacity:0;
  overflow:hidden;
  contain:strict;
  --stage-light-y:92%;
  --stage-light-alpha:.18;
  --stage-light-scale:.94;
  transition:opacity .22s ease,-webkit-backdrop-filter .38s ease,backdrop-filter .38s ease;
  -webkit-backdrop-filter:brightness(.965) contrast(1.035);
  backdrop-filter:brightness(.965) contrast(1.035);
}
body.stage-blackout-active .stage-blackout-reveal{opacity:1}
body[data-active-section="home"] .stage-blackout-reveal{opacity:0!important}

/* A soft curtain — never a hard line. */
.stage-blackout-reveal::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.64;
  transition:background .32s ease,opacity .32s ease;
  background:linear-gradient(to bottom,
    rgba(0,0,0,.70) 0%,
    rgba(0,0,0,.43) 16%,
    rgba(0,0,0,.18) 31%,
    rgba(0,0,0,.05) 43%,
    transparent 59%);
}
/* Ambient haze only — the moving wash below is the actual light cue. */
.stage-blackout-reveal::after{
  content:"";
  position:absolute;
  inset:-18% -12%;
  pointer-events:none;
  opacity:.28;
  filter:blur(34px);
  background:radial-gradient(ellipse 90% 42% at 50% 102%,
    rgba(171,74,244,.20) 0%,
    rgba(108,39,174,.10) 43%,
    transparent 75%);
  transition:opacity .3s ease,transform .38s ease,background .38s ease;
}

/* Source-less traveling illumination zone. It has no fixture, cone or origin. */
.stage-travel-light{
  position:absolute;
  left:-18vw;
  width:136vw;
  height:54vh;
  top:var(--stage-light-y);
  transform:translateY(-50%) scaleY(var(--stage-light-scale));
  transform-origin:center;
  border-radius:50%;
  opacity:var(--stage-light-alpha);
  filter:blur(34px) saturate(1.12);
  mix-blend-mode:screen;
  will-change:top,opacity,transform;
  background:
    radial-gradient(ellipse 62% 34% at 50% 50%,
      rgba(255,255,255,.24) 0%,
      rgba(240,220,255,.23) 14%,
      rgba(211,145,255,.27) 30%,
      rgba(159,77,229,.18) 48%,
      rgba(101,38,161,.08) 64%,
      transparent 79%),
    radial-gradient(ellipse 90% 54% at 50% 50%,
      rgba(185,93,247,.12),
      transparent 72%);
}
.stage-travel-light::after{
  content:"";
  position:absolute;
  inset:20% 5%;
  border-radius:50%;
  filter:blur(22px);
  background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.15),rgba(202,125,255,.10) 38%,transparent 72%);
}

/* Down = darkness closes behind at the top; light rises from below. */
body.stage-blackout-active.stage-scroll-down .stage-blackout-reveal{
  -webkit-backdrop-filter:brightness(.90) contrast(1.075);
  backdrop-filter:brightness(.90) contrast(1.075);
}
body.stage-blackout-active.stage-scroll-down .stage-blackout-reveal::before{
  opacity:1;
  background:linear-gradient(to bottom,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.84) 15%,
    rgba(0,0,0,.57) 31%,
    rgba(0,0,0,.27) 45%,
    rgba(0,0,0,.08) 57%,
    transparent 70%);
}
body.stage-blackout-active.stage-scroll-down .stage-blackout-reveal::after{
  opacity:.42;
  transform:translateY(-2%);
  background:radial-gradient(ellipse 100% 44% at 50% 104%,rgba(181,83,247,.25),rgba(112,42,181,.11) 44%,transparent 75%);
}

/* Up = exact visual mirror; light falls from above and bottom recedes. */
body.stage-blackout-active.stage-scroll-up .stage-blackout-reveal{
  -webkit-backdrop-filter:brightness(.90) contrast(1.075);
  backdrop-filter:brightness(.90) contrast(1.075);
}
body.stage-blackout-active.stage-scroll-up .stage-blackout-reveal::before{
  opacity:1;
  background:linear-gradient(to top,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.84) 15%,
    rgba(0,0,0,.57) 31%,
    rgba(0,0,0,.27) 45%,
    rgba(0,0,0,.08) 57%,
    transparent 70%);
}
body.stage-blackout-active.stage-scroll-up .stage-blackout-reveal::after{
  opacity:.42;
  transform:translateY(2%);
  background:radial-gradient(ellipse 100% 44% at 50% -4%,rgba(181,83,247,.25),rgba(112,42,181,.11) 44%,transparent 75%);
}

/* The selected SPA section used to show Safari's purple focus rectangle.
   The section itself is only a navigation focus target, so keep that ring off. */
main>section:focus,main>section:focus-visible{outline:none!important}

/* Navigation stays crisp and interactive above the atmosphere. */
body>header{z-index:120}

@media(max-width:800px){
  .stage-travel-light{left:-30vw;width:160vw;height:48vh;filter:blur(28px) saturate(1.1)}
  .stage-blackout-reveal::before{opacity:.56}
  body.stage-blackout-active.stage-scroll-down .stage-blackout-reveal::before,
  body.stage-blackout-active.stage-scroll-up .stage-blackout-reveal::before{opacity:.94}
}
@media(prefers-reduced-motion:reduce){
  .stage-travel-light{display:none!important}
  .stage-blackout-reveal{transition:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .stage-blackout-reveal::before,.stage-blackout-reveal::after{transition:none!important}
}
