/* ========== Design Tokens ========== */
:root {
  --velour: #0F0F0F;      /* Deep black background */
  --gold: #D8B87E;        /* Champagne gold accents */
  --ivory: #F6F4EE;       /* Soft ivory text */
  --bordeaux: #4A1C2E;    /* Deep Bordeaux highlights */
  --quartz: #3B3B3B;      /* Smoky gray for section breaks */
}

* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
  margin: 0;
  background: var(--velour);
  color: var(--ivory);
  font-family: 'Montserrat', 'Raleway', Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

/* Typography */
h1,h2,h3{
  font-family:'Montserrat', Arial, sans-serif;
  color:var(--gold);
  letter-spacing:.02em;
  margin:0 0 .5rem;
}
p,li{margin:.25rem 0 .75rem}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--ivory)}

/* Layout */
.container{max-width:1100px;margin:0 auto;padding:32px 20px}
.site-header{padding:40px 0 20px;border-bottom:1px solid var(--quartz);margin-bottom:24px}
.brand{font-weight:700;font-size:clamp(28px,4vw,48px)}
.tagline{opacity:.85}

/* Buttons */
.btn{
  appearance:none;
  border:1px solid var(--gold);
  color:var(--velour);
  background:var(--gold);
  padding:10px 16px;
  border-radius:999px;
  font-family:'Montserrat', Arial, sans-serif;
  font-weight:600;
  cursor:pointer;
  transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-ghost{
  background:transparent;color:var(--gold);
}
.btn-ghost:hover{background:var(--quartz);color:var(--ivory);border-color:var(--ivory)}
.btn-primary:hover{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--ivory)}

/* Adult overlay */
.overlay{
  position:fixed;inset:0;
  background:rgba(15,15,15,.95);
  display:flex;align-items:center;justify-content:center;
  z-index:1000;
}
.hidden{display:none}
.modal{
  width:min(680px,92vw);
  background:var(--quartz);
  border:1px solid var(--gold);
  padding:28px 22px;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  text-align:center;
}
.modal h2{text-transform:uppercase;letter-spacing:.08em;font-size:18px;margin-bottom:6px}
.lead{opacity:.9;margin:0 auto 14px;max-width:52ch}
.banners{display:flex;gap:16px;justify-content:center;align-items:center;margin:10px 0 18px}
.banner img{height:48px;width:auto;display:block;opacity:.95;filter:grayscale(100%) contrast(1.1)}
.banner img:hover{opacity:1;filter:none}
.buttons{display:flex;gap:12px;justify-content:center;margin-top:8px}
.note{opacity:.7}

/* Preloader */
.preloader{
  position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:900;
  background:var(--velour);
}
.name{font-size:clamp(28px,5vw,52px);font-family:'Montserrat';font-weight:700;color:var(--gold);letter-spacing:.06em}
.shimmer{
  background:linear-gradient(110deg, rgba(216,184,126,.2) 0%, rgba(216,184,126,1) 20%, rgba(246,244,238,1) 40%, rgba(216,184,126,1) 60%, rgba(216,184,126,.2) 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  background-size:200% 100%;
  animation:shine 1.6s linear infinite;
}
@keyframes shine{to{background-position: -200% 0}}

/* Hello section */
.hello{padding:20px 0}
.footer{padding:28px 0;margin-top:30px;border-top:1px solid var(--quartz);text-align:center;color:var(--gold)}
