.frame[data-frame="07"] {
  background: #040712 !important;
  overflow: hidden;
  color: #d4a017;
}

/* While F07 is the active frame, force every ancestor wrapper to #040712
   so no parent leaks black at the viewport edges. Scoped via :has so other
   frames keep their own backgrounds. */
html:has(.frame[data-frame="07"].is-active),
body:has(.frame[data-frame="07"].is-active) {
  background: #040712 !important;
}

.frame[data-frame="07"] .f07-corner {
  position: absolute;
  width: 22px;
  height: 22px;
  border-color: #d4a017;
  opacity: 0.7;
  z-index: 5;
}
.frame[data-frame="07"] .f07-corner-tl { top: 28px; left: 28px; border-top: 1px solid; border-left: 1px solid; }
.frame[data-frame="07"] .f07-corner-tr { top: 28px; right: 28px; border-top: 1px solid; border-right: 1px solid; }
.frame[data-frame="07"] .f07-corner-bl { bottom: 28px; left: 28px; border-bottom: 1px solid; border-left: 1px solid; }
.frame[data-frame="07"] .f07-corner-br { bottom: 28px; right: 28px; border-bottom: 1px solid; border-right: 1px solid; }

.frame[data-frame="07"] .f07-eyebrow {
  position: absolute;
  top: 40px;
  left: 56px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 3px;
  color: #d4a017;
}

.frame[data-frame="07"] .f07-serial {
  position: absolute;
  top: 40px;
  right: 56px;
  text-align: right;
  font-family: 'JetBrains Mono', monospace;
  color: #d4a017;
}
.frame[data-frame="07"] .f07-serial-top { font-size: 13px; letter-spacing: 1px; }
.frame[data-frame="07"] .f07-serial-divider { width: 60px; height: 0.5px; background: #d4a017; margin: 6px 0 6px auto; opacity: 0.6; }
.frame[data-frame="07"] .f07-serial-bottom { font-size: 11px; letter-spacing: 4px; }

.frame[data-frame="07"] .f07-invitation {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 560px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}

.frame[data-frame="07"] .f07-ornament {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 8px 0;
}
.frame[data-frame="07"] .f07-rule {
  width: 80px;
  height: 0.5px;
  background: #d4a017;
  opacity: 0.7;
}
.frame[data-frame="07"] .f07-diamond {
  width: 8px;
  height: 8px;
  background: #d4a017;
  transform: rotate(45deg);
}

.frame[data-frame="07"] .f07-greeting {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 30px;
  color: #FFFFFF;
  line-height: 1.4;
  font-weight: 400;
}

.frame[data-frame="07"] .f07-clubname {
  font-family: Georgia, 'Playfair Display', serif;
  font-size: 38px;
  color: #d4a017;
  letter-spacing: 8px;
  margin-top: 12px;
  font-weight: 500;
}

.frame[data-frame="07"] .f07-divider {
  width: 100px;
  height: 0.5px;
  background: #d4a017;
  opacity: 0.7;
  margin: 4px 0;
}

.frame[data-frame="07"] .f07-tagline {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 22px;
  color: #FFFFFF;
  font-weight: 400;
}

.frame[data-frame="07"] .f07-price {
  font-family: Georgia, 'Playfair Display', serif;
  font-size: 64px;
  color: #FFFFFF;
  letter-spacing: 2px;
  margin-top: 16px;
  font-weight: 400;
}

.frame[data-frame="07"] .f07-period {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 4px;
  color: #d4a017;
  margin-top: -4px;
}

.frame[data-frame="07"] .f07-continue {
  margin-top: 16px;
  background: transparent;
  border: 1px solid #d4a017;
  color: #d4a017;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 4px;
  padding: 14px 32px;
  cursor: pointer;
  transition: all 280ms ease;
}
.frame[data-frame="07"] .f07-continue:hover {
  background: #d4a017;
  color: #000000;
  transform: translateY(-1px);
}

.frame[data-frame="07"] .f07-aspect,
.frame[data-frame="07"] .f07-counter {
  position: absolute;
  bottom: 40px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #d4a017;
  letter-spacing: 2px;
  opacity: 0.85;
}
.frame[data-frame="07"] .f07-aspect { left: 56px; }
.frame[data-frame="07"] .f07-counter { right: 56px; }
