
/* Brand Connections — opening-night curtain reveal
   First couple of weeks (until 26 Nov 2026), first three visits per browser.
   Sequence: curtains open, then Simon, Grayve and Marley appear, wave, and walk off. */
.bc-curtain-overlay{
  position:fixed;inset:0;z-index:100000;
  overflow:hidden;
  background:transparent;
  font-family:"DM Sans",system-ui,sans-serif;
  color:#fff;
  -webkit-user-select:none;user-select:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.bc-curtain-overlay.is-gone{
  opacity:0;pointer-events:none;
  transition:opacity .85s ease;
}
.bc-curtain-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;}
.bc-curtain{
  position:absolute;top:0;bottom:0;
  width:53%;
  background-color:#6b0a0e;
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-shadow:inset 0 0 80px rgba(0,0,0,.45);
  will-change:transform;
  transition:transform 2.45s cubic-bezier(.55,.02,.18,1);
  z-index:3;
  pointer-events:none;
}
.bc-curtain-left{
  left:0;
  background-image:url("/curtain/curtain-left.png");
  background-position:right top;
  transform:translateX(0);
}
.bc-curtain-right{
  right:0;
  background-image:url("/curtain/curtain-right.png");
  background-position:left top;
  transform:translateX(0);
}
.bc-curtain-overlay.is-opening .bc-curtain-left{transform:translateX(-102%);}
.bc-curtain-overlay.is-opening .bc-curtain-right{transform:translateX(102%);}
.bc-valance{
  position:absolute;left:0;right:0;top:0;height:18vh;min-height:110px;max-height:200px;
  background:url("/curtain/valance.png") center top / 100% auto no-repeat;
  z-index:6;
  pointer-events:none;
  transition:transform 2.45s cubic-bezier(.55,.02,.18,1),opacity .8s ease;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.45));
}
.bc-curtain-overlay.is-opening .bc-valance{transform:translateY(-110%);opacity:.3;}
.bc-simon-wrap{
  position:absolute;
  left:50%;bottom:0;
  transform:translateX(-50%);
  height:min(90vh,1080px);
  aspect-ratio:776 / 1062;
  width:auto;max-width:96vw;
  z-index:2; /* behind the curtains, revealed as they open */
  pointer-events:none;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.55));
  will-change:transform;
}
.bc-simon-wave{
  position:absolute;left:0;bottom:0;
  height:100%;width:100%;
  object-fit:contain;
  object-position:bottom center;
  display:block;
}
.bc-simon-walk{
  display:none;
  position:absolute;left:0;bottom:0;
  height:100%;width:100%;
  overflow:hidden;
}
.bc-simon-walk img{
  display:block;
  width:100%;
  height:400%;
  max-width:none;
  border:0;
}
.bc-curtain-overlay.is-leaving .bc-simon-wave{
  visibility:hidden;
}
.bc-curtain-overlay.is-leaving .bc-simon-walk{
  display:block;
}
.bc-curtain-overlay.is-leaving .bc-simon-walk img{
  animation:bcWalkCycle .52s steps(4) infinite;
}
.bc-curtain-overlay.is-leaving .bc-simon-wrap{
  animation:bcWalkOff 3.2s linear forwards;
}
@keyframes bcWalkOff{
  0%   {transform:translateX(-50%);}
  100% {transform:translateX(175%);}
}
@keyframes bcWalkCycle{
  to {transform:translateY(-100%);}
}
.bc-open{
  position:relative;
  left:auto;top:auto;
  transform:none;
  z-index:8;
  min-width:min(82vw,360px);
  min-height:92px;
  padding:16px 44px 20px;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(42px,9vw,68px);
  letter-spacing:.14em;
  line-height:1;
  text-transform:uppercase;
  color:#0A0A0A;
  background:linear-gradient(180deg,#EED07A 0%,#C9A24A 48%,#A68530 100%);
  border:3px solid #F3DE9A;
  border-radius:10px;
  box-shadow:
    0 0 0 3px #F8EBB8,
    0 0 0 7px rgba(10,10,10,.5),
    0 10px 36px rgba(0,0,0,.65),
    0 0 48px rgba(201,162,74,.5);
  cursor:pointer;
  animation:bcOpenPulse 1.7s ease-in-out infinite;
  -webkit-tap-highlight-color:transparent;
}
.bc-open:focus-visible{
  outline:3px solid #fff;
  outline-offset:6px;
}
.bc-open:hover{filter:brightness(1.06);}
@keyframes bcOpenPulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.045);}
}
.bc-mute{
  position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));
  z-index:9;
  width:48px;height:48px;
  border-radius:50%;
  border:2px solid #C9A24A;
  background:rgba(10,10,10,.55);
  color:#C9A24A;
  cursor:pointer;
  display:grid;place-items:center;
}
.bc-mute:hover,.bc-mute:focus-visible{background:rgba(201,162,74,.2);color:#fff;}
.bc-mute svg{width:22px;height:22px;fill:currentColor;}
.bc-curtain-overlay.is-opening .bc-open{
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
  animation:none;
}
.bc-curtain-overlay.is-opening .bc-mute{opacity:0;pointer-events:none;transition:opacity .4s ease;}
.bc-sr{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.bc-preview-note{
  position:absolute;left:0;right:0;bottom:0;z-index:12;
  background:#0A0A0A;
  color:#E8D5A3;
  font-size:13px;line-height:1.4;
  text-align:center;
  padding:8px 16px calc(8px + env(safe-area-inset-bottom));
  border-top:1px solid #C9A24A;
  font-family:"DM Sans",system-ui,sans-serif;
}
@media (prefers-reduced-motion:reduce){
  .bc-open{animation:none;}
  .bc-curtain,.bc-valance,.bc-simon-wrap,.bc-simon-walk,.bc-simon-walk img{transition:none;animation:none;}
}
html.bc-curtain-lock,html.bc-curtain-lock body{overflow:hidden;height:100%;}
