:root
{
  --bg:#0b0b0a;
  --s1:#121211;
  --s2:#1a1a17;
  --ink:#f1eee6;
  --mut:#928e82;
  --gold:#d2a43c;
  --line:rgba(241,238,230,.09);
  --ease:cubic-bezier(.32,.72,0,1);
  color-scheme:dark;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --logo:url("../assets/logo.svg")
}
html
{
  scroll-padding-top:env(safe-area-inset-top,0px);
  scroll-behavior:smooth
}
*
{
  box-sizing:border-box;
  margin:0
}
body
{
  background:var(--bg);
  color:var(--ink);
  font:400 17px/1.65 Outfit,system-ui,sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased
}
body:before
{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(55% 45% at 85% 0,rgba(210,164,60,.1),transparent 70%)
}
body:after
{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:30;
  opacity:.05;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")
}
a
{
  color:inherit
}
.wrap
{
  max-width:1180px;
  margin:0 auto;
  padding:0 clamp(20px,5vw,48px)
}
.d,h1,h2,h3
{
  font-family:'Barlow Condensed','Arial Narrow',sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.01em
}
.gold
{
  color:var(--gold)
}
.eyebrow
{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  padding:6px 14px;
  border-radius:99px;
  box-shadow:0 0 0 1px rgba(210,164,60,.3)
}
.lg
{
  background:var(--logo) center/contain no-repeat;
  aspect-ratio:1
}
:focus-visible
{
  outline:2px solid var(--gold);
  outline-offset:3px
}
@media(prefers-reduced-motion:reduce)
{
  *
  {
    animation:none!important;
    transition:none!important
  }
  .rv
  {
    opacity:1;
    transform:none;
    filter:none
  }
  html
  {
    scroll-behavior:auto
  }
}
/* Typography refinements */
body
{
  letter-spacing:.005em;
  font-kerning:normal;
  font-variant-numeric:lining-nums
}
h1,h2,h3
{
  letter-spacing:-.025em;
  text-wrap:balance
}
h1
{
  letter-spacing:-.035em
}
p
{
  text-wrap:pretty
}
.hero p.lead
{
  max-width:44ch;
  line-height:1.7
}
.hero p.lead
{
  margin-bottom:18px
}
.hero .brand-slogan
{
  margin:0 0 28px;
  color:var(--gold);
  font:500 clamp(16px,1.4vw,19px)/1.2 Outfit,system-ui,sans-serif;
  letter-spacing:.12em
}
.split p,.legal p,.legal li
{
  max-width:65ch
}
.hours b,.stats b,.ev .n b,table
{
  font-variant-numeric:tabular-nums lining-nums
}
