/* ==========================================================================
   RICH — 2026-10. Art-deco speakeasy detailing layered over the existing
   dark/gold system. No picture animations: images are static and framed.
   ========================================================================== */

:root {
  --deco-line: rgba(212, 175, 55, 0.42);
  --deco-faint: rgba(212, 175, 55, 0.09);
}

/* ---------- 0. Kill every image animation / hover effect -------------- */
.hero-portrait, .split-media, .portrait-grid figure, .portrait-wide,
.poster-card, .playbill-card, .playbill-photo, .video-frame,
[data-curtain], [data-curtain] img,
.split-media img, .portrait-grid img, .hero-portrait img {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  opacity: 1 !important;
}
.poster-card::after, .portrait-grid figure::after, .about-photo::after,
.split-media::after, .playbill-photo::after, [data-curtain]::after {
  display: none !important;
}
/* Text is always visible too (the scroll reveals were hiding headings) */
[data-reveal], [data-reveal-line] { opacity: 1 !important; transform: none !important; clip-path: none !important; }

/* ---------- 1. Room texture: deco fan pattern + vignette ---------------- */
body {
  background-color: var(--ink);
  background-image:
    radial-gradient(ellipse at 50% 0%, rgba(107,63,160,0.16), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cg fill='none' stroke='%23d4af37' stroke-opacity='0.055' stroke-width='1'%3E%3Cpath d='M0 40a40 40 0 0 1 80 0'/%3E%3Cpath d='M10 40a30 30 0 0 1 60 0'/%3E%3Cpath d='M20 40a20 20 0 0 1 40 0'/%3E%3Cpath d='M30 40a10 10 0 0 1 20 0'/%3E%3Cpath d='M-40 0a40 40 0 0 0 80 0M40 0a40 40 0 0 0 80 0'/%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed, scroll;
}
/* Alternate sections get a raised plum panel so the page has rhythm */
main > section:nth-of-type(even) {
  background:
    linear-gradient(180deg, rgba(18,10,25,0.55), rgba(36,21,49,0.55) 50%, rgba(18,10,25,0.55));
  border-top: 1px solid var(--deco-faint);
  border-bottom: 1px solid var(--deco-faint);
}
/* Hide the old thin hairlines; the ornaments below replace them */
[data-rule]::before, .section-rule, hr { opacity: 0.0; }

/* ---------- 2. Section headings: ornament + flanking rules -------------- */
.kicker {
  display: inline-flex; align-items: center; gap: 0.9rem;
  font-size: 0.8rem;
}
.kicker::before, .kicker::after {
  content: ''; width: 46px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold));
}
.kicker::after { background: linear-gradient(90deg, var(--gold), transparent); }
.section-title { margin-bottom: 0.4rem; }
.section-title::after {
  content: ''; display: block; height: 18px; margin: 1rem auto 1.4rem; width: 220px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='18' viewBox='0 0 220 18'%3E%3Cg fill='none' stroke='%23d4af37' stroke-width='1'%3E%3Cpath d='M0 9h88M132 9h88' stroke-opacity='.55'/%3E%3Cpath d='M92 9h8M120 9h8'/%3E%3Cpath d='M110 1l8 8-8 8-8-8z' fill='%23d4af37' fill-opacity='.18'/%3E%3Cpath d='M110 5l4 4-4 4-4-4z' fill='%23d4af37'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}
.split-body .section-title::after { margin-left: 0; }
.split-body .kicker::before { display: none; }

/* ---------- 3. Picture frames: double gold border + deco corners -------- */
.hero-portrait, .split-media, .portrait-grid figure, .portrait-wide, .video-frame {
  position: relative;
  padding: 10px;
  background: linear-gradient(145deg, #2a1a38, #140b1c);
  border: 1px solid var(--deco-line) !important;
  border-radius: 6px !important;
  box-shadow:
    inset 0 0 0 4px rgba(18,10,25,0.9),
    inset 0 0 0 5px rgba(212,175,55,0.35),
    0 28px 70px rgba(0,0,0,0.6),
    0 0 50px rgba(212,175,55,0.06);
  overflow: visible !important;
}
.hero-portrait img, .split-media img, .portrait-grid img, .portrait-wide img {
  border-radius: 2px !important; border: 0 !important; box-shadow: none !important;
  filter: saturate(0.92) contrast(1.04);
}
.video-frame video { border-radius: 2px; }
/* L-shaped corner brackets */
.hero-portrait::before, .split-media::before, .portrait-grid figure::before, .portrait-wide::before, .video-frame::before,
.hero-portrait::after, .split-media::after, .portrait-grid figure::after, .portrait-wide::after, .video-frame::after {
  content: '' !important; display: block !important; position: absolute; width: 26px; height: 26px; pointer-events: none; z-index: 3;
  border: 2px solid var(--gold); opacity: 0.9;
  left: auto; top: auto; background: none !important; transform: none !important;
}
.hero-portrait::before, .split-media::before, .portrait-grid figure::before, .portrait-wide::before, .video-frame::before {
  top: -6px; left: -6px; border-right: 0; border-bottom: 0;
}
.hero-portrait::after, .split-media::after, .portrait-grid figure::after, .portrait-wide::after, .video-frame::after {
  bottom: -6px; right: -6px; border-left: 0; border-top: 0; width: 26px !important; height: 26px !important;
}

/* ---------- 4. Trust strip: marquee plaque ----------------------------- */
.trust-strip {
  background: linear-gradient(180deg, #120a19, #1f1229 50%, #120a19) !important;
  border-top: 1px solid var(--deco-line) !important;
  border-bottom: 1px solid var(--deco-line) !important;
  box-shadow: inset 0 3px 0 rgba(18,10,25,1), inset 0 4px 0 var(--deco-faint), inset 0 -3px 0 rgba(18,10,25,1), inset 0 -4px 0 var(--deco-faint);
}
.trust-strip span + span::before { content: '\2666'; color: var(--gold); opacity: 0.6; margin-right: 1.4rem; font-size: 0.7em; }
.trust-strip b { font-size: 1.15em; }

/* ---------- 5. Cards: double rule, corner diamonds, warmer surface ----- */
.event-card, .review-card, .contact-card, .price-card, .faq-list details {
  background: linear-gradient(160deg, rgba(43,27,58,0.95), rgba(26,15,36,0.95)) !important;
  border: 1px solid var(--deco-line) !important;
  border-radius: 6px !important;
  box-shadow: inset 0 0 0 5px rgba(18,10,25,0.55), inset 0 0 0 6px var(--deco-faint), 0 22px 50px rgba(0,0,0,0.45) !important;
  position: relative;
}
.event-card::after, .review-card::after, .contact-card::after, .price-card::after {
  content: '\25C6'; position: absolute; top: -0.62em; left: 50%; transform: translateX(-50%);
  color: var(--gold); font-size: 0.9rem; line-height: 1; padding: 0 0.5rem;
  background: var(--ink); text-shadow: 0 0 12px var(--gold-soft);
}
.event-card .icon {
  width: 60px; height: 60px; margin: 0 auto 1.1rem; display: grid !important; place-items: center;
  border: 1px solid var(--deco-line); border-radius: 50%;
  box-shadow: inset 0 0 0 4px rgba(18,10,25,0.8), inset 0 0 0 5px var(--deco-faint);
  background: radial-gradient(circle, rgba(212,175,55,0.16), transparent 70%);
  transform: none !important; transition: none !important;
}
.event-card h3 { font-size: 1.12rem; }
.event-card:hover .icon { transform: rotate(45deg) !important; }
.review-card { padding-top: 2.2rem !important; }
.review-card blockquote { font-size: 1.1rem; color: rgba(237,230,218,0.86); }
.review-card .stars { text-shadow: 0 0 10px var(--gold-soft); }
.review-card cite { border-top: 1px solid var(--deco-faint); padding-top: 0.8rem; display: block; }
.faq-list details[open] { border-color: var(--gold) !important; }

/* ---------- 6. About: drop cap + pull rule ----------------------------- */
#about .split-body .lead:first-of-type::first-letter {
  float: left; font-family: 'Cinzel Decorative', Georgia, serif; font-weight: 700;
  font-size: 3.6em; line-height: 0.82; padding: 0.06em 0.12em 0 0; color: var(--gold);
  text-shadow: 0 0 18px var(--gold-soft);
}

/* ---------- 7. Video block alignment ----------------------------------- */
.video-body .lead { margin: 0 0 1rem !important; }
.video-note { display: inline-block; border: 1px solid var(--deco-line); padding: 0.35rem 0.8rem; }

/* ---------- 8. CTA band and footer ------------------------------------ */
.cta-bar {
  background:
    radial-gradient(ellipse at center, rgba(212,175,55,0.10), transparent 65%),
    linear-gradient(180deg, #120a19, #241531 50%, #120a19) !important;
  border-top: 1px solid var(--deco-line); border-bottom: 1px solid var(--deco-line);
}
.cta-bar h2 { color: var(--gold-hi); text-shadow: 0 0 30px var(--gold-soft); }
footer {
  border-top: 1px solid var(--deco-line) !important;
  box-shadow: inset 0 4px 0 rgba(18,10,25,1), inset 0 5px 0 var(--deco-faint);
  background: linear-gradient(180deg, #160c1f, #0f0815) !important;
}
footer h4::after { content: ''; display: block; width: 28px; height: 1px; background: var(--gold); margin-top: 0.5rem; opacity: 0.7; }

/* ---------- 9. Form fields: inset plaques ------------------------------- */
.contact-card input, .contact-card select, .contact-card textarea {
  background: rgba(12,6,18,0.6) !important;
  border: 1px solid rgba(212,175,55,0.28) !important;
  border-radius: 3px !important;
}
.contact-card input:focus, .contact-card select:focus, .contact-card textarea:focus {
  border-color: var(--gold) !important; outline: none; box-shadow: 0 0 0 3px var(--gold-faint);
}

@media (max-width: 640px) {
  .kicker::before, .kicker::after { width: 22px; }
  .trust-strip span + span::before { display: none; }
  .hero-portrait, .split-media, .portrait-grid figure, .portrait-wide, .video-frame { padding: 7px; }
}
.trust-strip .wrap { max-width: 1240px; gap: 0.6rem 1.1rem !important; }
.trust-strip span + span::before { margin-right: 1.1rem; }
.trust-strip { padding: 1.2rem 0 !important; }
