/* Inauguration curtain reveal — only ever activated by ?inaugurate on the URL.
   Inert (adds nothing to layout) for every normal visitor. */

html.curtain-pending body{ visibility:hidden; }
html.curtain-pending #curtain-stage{ visibility:visible; }

#curtain-stage{
  position:fixed; inset:0; z-index:99999;
  background:transparent;
  overflow:hidden;
  --curtain-red:#7a0f1c;
  --curtain-red-2:#9c1526;
  --curtain-red-3:#5c0a15;
}
#curtain-stage.hidden{ display:none; }

.curtain-glow{
  position:absolute; left:50%; top:50%; width:140%; padding-top:140%;
  transform:translate(-50%,-50%) scale(.6); border-radius:50%;
  background:radial-gradient(circle, rgba(227,193,122,.35), transparent 60%);
  opacity:0; z-index:1;
}
#curtain-stage.opening .curtain-glow{
  animation:curtainGlow 1.6s ease-out forwards;
}
@keyframes curtainGlow{
  0%{ opacity:0; transform:translate(-50%,-50%) scale(.6); }
  40%{ opacity:1; }
  100%{ opacity:0; transform:translate(-50%,-50%) scale(1.3); }
}

.curtain-panel{
  position:absolute; top:0; width:52%; height:100%; z-index:2;
  background:
    repeating-linear-gradient(90deg,
      var(--curtain-red) 0px, var(--curtain-red-2) 18px, var(--curtain-red) 36px, var(--curtain-red-3) 54px),
    linear-gradient(180deg, var(--curtain-red-2), var(--curtain-red) 70%, var(--curtain-red-3));
  box-shadow: inset 0 0 90px rgba(0,0,0,.55);
}
.curtain-panel::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:22px;
  background:repeating-linear-gradient(90deg, var(--gold) 0 10px, var(--gold-bright) 10px 20px);
  box-shadow:0 -2px 14px rgba(0,0,0,.4);
}
.curtain-left{ left:0; transform-origin:top right; }
.curtain-right{ right:0; transform-origin:top left; }

.curtain-hint{
  position:absolute; left:50%; bottom:42px; transform:translateX(-50%);
  color:var(--gold-bright); font-family:'Poppins',sans-serif; letter-spacing:2px;
  text-transform:uppercase; font-size:12px; opacity:.75; z-index:3;
  animation:curtainPulse 1.8s ease-in-out infinite;
}
@keyframes curtainPulse{ 0%,100%{ opacity:.35; } 50%{ opacity:.9; } }

#curtain-stage.opening .curtain-hint{ animation:none; opacity:0; transition:opacity .3s ease; }

#curtain-stage.opening .curtain-left{
  animation:curtainOpenLeft 1.6s cubic-bezier(.65,0,.35,1) forwards;
}
#curtain-stage.opening .curtain-right{
  animation:curtainOpenRight 1.6s cubic-bezier(.65,0,.35,1) forwards;
}
@keyframes curtainOpenLeft{
  0%{ transform:translateX(0) rotate(0deg); }
  100%{ transform:translateX(-105%) rotate(-6deg); }
}
@keyframes curtainOpenRight{
  0%{ transform:translateX(0) rotate(0deg); }
  100%{ transform:translateX(105%) rotate(6deg); }
}

#curtain-stage.closing .curtain-left{
  animation:curtainCloseLeft .9s ease-in-out forwards;
}
#curtain-stage.closing .curtain-right{
  animation:curtainCloseRight .9s ease-in-out forwards;
}
@keyframes curtainCloseLeft{
  0%{ transform:translateX(-105%) rotate(-6deg); }
  100%{ transform:translateX(0) rotate(0deg); }
}
@keyframes curtainCloseRight{
  0%{ transform:translateX(105%) rotate(6deg); }
  100%{ transform:translateX(0) rotate(0deg); }
}

@media (prefers-reduced-motion:reduce){
  #curtain-stage.opening .curtain-left,
  #curtain-stage.opening .curtain-right,
  #curtain-stage.closing .curtain-left,
  #curtain-stage.closing .curtain-right,
  .curtain-glow,
  .curtain-hint{
    animation-duration:.01ms !important;
  }
}
