/* Base */
:root{
  --bg:#000;
  --panel:#0b0b0b;
  --text:#f3f0e8;
  --muted:#cbbfa8;
  --line:rgba(255,255,255,.14);
  --accent:#b86a31; /* warm copper/brown like the button + site palette */
  --max:1000px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: Georgia, "Times New Roman", Times, serif;
  background: var(--bg);
  color: var(--text);
  line-height:1.35;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--text); text-decoration:none; }
a:hover{ text-decoration:underline; }

.wrap{ width:min(var(--max), calc(100% - 32px)); margin:0 auto; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); border:0;
}
.skip{
  position:absolute; left:-999px; top:auto;
}
.skip:focus{
  left:16px; top:16px; z-index:9999;
  background:#fff; color:#000; padding:10px 12px; border-radius:6px;
}

/* Top bar */
.topbar{
  background:#060606;
  border-bottom:1px solid var(--line);
}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
}
.social{ display:flex; gap:10px; }
.social__link{
  width:28px; height:28px;
  display:grid; place-items:center;
  border:1px solid var(--line);
  border-radius:999px;
}
.social__link svg{ width:16px; height:16px; fill:var(--muted); }

/* Brand */
.brand{
  background: radial-gradient(ellipse at center, #121212 0%, #040404 60%, #000 100%);
  border-bottom:1px solid var(--line);
}
.brand__inner{
  display:flex;
  justify-content:center;
  padding:18px 0 14px;
}
.brand__logo img{
  width:min(200px, 85vw);
}

/* Nav */
.nav{
  background:#070707;
  border-bottom:1px solid var(--line);
}
.nav__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:10px 0;
  flex-wrap:wrap;
}
.nav__link{
  font-size:26px;
  padding:6px 8px;
  color:var(--muted);
  letter-spacing:.02em;
}
.nav__link--tickets{
  color:#fff;
  border:1px solid rgba(184,106,49,.55);
  background:rgba(184,106,49,.12);
  border-radius:999px;
  padding:6px 12px;
}
.nav__group{
  position:relative;
}
.nav__dropdown{
  position:absolute;
  left:0;
  top:100%;
  min-width:230px;
  background:#0a0a0a;
  border:1px solid var(--line);
  padding:10px;
  display:none;
  z-index:50;
}
.nav__dropdown a{
  display:block;
  padding:7px 8px;
  color:var(--muted);
  border-radius:6px;
}
.nav__dropdown a:hover{ background:rgba(255,255,255,.06); color:#fff; text-decoration:none; }
.nav__group:hover .nav__dropdown{ display:block; }

.nav__toggle{
  display:none;
  font: inherit;
  color:var(--text);
  background:transparent;
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 12px;
}

/* Main layout */
.main{ padding:22px 0 28px; }

.hero{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap:22px;
  align-items:start;
  border-bottom:1px solid var(--line);
  padding-bottom:22px;
}

.hero__actors{
  /* border:1px solid rgba(255,255,255,.18); */
  background:#000;
}

.hero__headline{
  width:min(520px, 100%);
  margin:4px 0 12px;
}

.hero__blurb{
  font-size:22px;
  color:var(--muted);
  margin:0 0 14px;
}

.hero__cta{
  display:inline-block;
  border-radius:10px;
  overflow:hidden;
  /* border:1px solid rgba(184,106,49,.55); */
  box-shadow: 0 10px 26px rgba(0,0,0,.6);
}
.hero__cta:hover{ filter:brightness(1.05); }
.hero__phone{
  margin:10px 0 0;
  font-size:22px;
  color:var(--muted);
}
.hero__phone a{ color:#fff; }

/* Promotional */
.promo {
   display:flex;
   align-items:center;
   justify-content:center;     
}

/* Reviews */
.reviews{
  padding:18px 0 0; 
}
.reviews__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.review{
  margin:0;
  padding:14px 12px;
  background-color: #FFF2DD;
  /* background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%); */
  border:1px solid var(--line);
  border-radius:10px;   
}
.review blockquote{
  margin:0 0 10px;
  font-size:16px;
  color:var(--accent);
}
.review img{
  max-height:42px;
  width:auto;
}

/* Footer */
.footer{
  margin-top:18px;
  border-top:1px solid var(--line);
  padding-top:16px;
}
.footer__inner{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.footer__licensing{
  margin:0;
  color:var(--muted);
  font-size:15px;
}
.footer__licensing strong{ color:#fff; }
.footer__credit{
  margin:0;
  color:var(--muted);
  font-size:14px;
}

/* Responsive */
@media (max-width: 900px){
  .hero{ grid-template-columns: 1fr; }
  .hero__media{ max-width: 520px; }
  .reviews__grid{ grid-template-columns: 1fr; }
}

@media (max-width: 700px){
  .nav__toggle{ display:inline-block; }
  .nav{ display:none; }
  .nav.nav--open{ display:block; }
  .nav__inner{ justify-content:flex-start; }
  .nav__group:hover .nav__dropdown{ display:none; } /* no hover menus on mobile */
  .nav__dropdown{
    position:static;
    display:block;
    border:none;
    padding:0;
    background:transparent;
  }
  .nav__dropdown a{ padding-left:16px; }
}