@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Lato:wght@300;400;700&display=swap');

:root {
  --gold: #d4a54a;
  --gold-light: #f0d078;
  --cream: #faf6ed;
  --charcoal: #1a1a1a;
  --deep: #0e0e0e;
  --wine: #6b1d3a;
  --text-dark: #2c2c2c;
  --text-light: #8a8274;
  --card-bg: #f7f2e8;
  --border: rgba(212,165,74,0.3);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Lato',sans-serif;
  background:var(--cream);
  color:var(--text-dark);
  line-height:1.75;
}
h1,h2,h3,h4 { font-family:'Playfair Display',serif; }
a { color:var(--wine); text-decoration:none; transition:color .3s; }
a:hover { color:var(--gold); }

.site-header {
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  background:rgba(250,246,237,0.95);
  backdrop-filter:blur(10px);
  border-bottom:2px solid var(--gold);
  padding:0.8rem 2rem;
  display:flex; align-items:center; justify-content:space-between;
}

.logo-area {
  display:flex; align-items:center; gap:.6rem;
}
.logo-area svg { width:38px; height:38px; }
.logo-name {
  font-family:'Playfair Display',serif;
  font-size:1.5rem; font-weight:900;
  color:var(--charcoal);
}
.logo-name span { color:var(--gold); }

.hamburger {
  display:none; background:none; border:none; cursor:pointer;
  flex-direction:column; gap:5px; padding:5px;
}
.hamburger span {
  display:block; width:26px; height:2px; background:var(--charcoal);
  transition:all .3s;
}

.top-nav ul {
  display:flex; list-style:none; gap:2.2rem;
}
.top-nav a {
  font-size:.85rem; font-weight:700; text-transform:uppercase;
  letter-spacing:1.5px; color:var(--text-light);
  transition:color .3s;
}
.top-nav a:hover, .top-nav a.active { color:var(--gold); }

@media(max-width:768px) {
  .hamburger { display:flex; }
  .top-nav {
    position:fixed; top:0; right:-100%; width:70%; height:100vh;
    background:var(--cream); padding:5rem 2rem;
    border-left:2px solid var(--gold);
    transition:right .4s;
  }
  .top-nav.open { right:0; }
  .top-nav ul { flex-direction:column; gap:1.5rem; }
  .top-nav a { font-size:1.1rem; }
}

.banner {
  min-height:100vh;
  background: linear-gradient(135deg, var(--deep) 0%, #2a1810 50%, var(--deep) 100%);
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:8rem 2rem 4rem;
  position:relative;
  overflow:hidden;
}
.banner::before {
  content:''; position:absolute; top:0; left:0; width:100%; height:100%;
  background: radial-gradient(circle at 30% 40%, rgba(212,165,74,0.15) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(107,29,58,0.1) 0%, transparent 50%);
}
.banner-content { position:relative; z-index:1; }
.banner h1 {
  font-size:clamp(2.4rem,5vw,4.2rem);
  color:var(--gold-light);
  margin-bottom:1.2rem;
  line-height:1.2;
}
.banner p {
  max-width:650px; margin:0 auto 2.5rem;
  color:rgba(255,255,255,0.7); font-size:1.15rem;
}
.cta-btn {
  display:inline-block; padding:1rem 3rem;
  background:var(--gold);
  color:var(--deep); font-family:'Playfair Display',serif;
  font-weight:700; font-size:1rem;
  border:none; border-radius:4px; cursor:pointer;
  letter-spacing:1px; text-transform:uppercase;
  transition:background .3s, transform .3s;
}
.cta-btn:hover {
  background:var(--gold-light);
  transform:translateY(-2px);
  color:var(--deep);
}

.ribbon {
  display:flex; flex-wrap:wrap; justify-content:center; gap:2rem;
  padding:1.8rem 2rem;
  background:var(--charcoal);
  border-bottom:3px solid var(--gold);
}
.ribbon-item {
  color:var(--gold-light);
  font-weight:700; font-size:.9rem;
  display:flex; align-items:center; gap:.4rem;
}
.ribbon-item .ri { font-size:1.3rem; }

.content-section {
  padding:5rem 2rem;
  max-width:1100px;
  margin:0 auto;
}
.content-section h2 {
  font-size:clamp(1.8rem,3vw,2.6rem);
  margin-bottom:1.5rem;
  color:var(--charcoal);
  position:relative;
  display:inline-block;
}
.content-section h2::after {
  content:'';
  position:absolute; bottom:-8px; left:0;
  width:60px; height:3px;
  background:var(--gold);
}

.game-frame {
  width:100%; max-width:800px; margin:2rem auto;
  border:3px solid var(--gold);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,0.1);
}
.game-frame iframe {
  width:100%; height:600px; border:none; display:block;
  background:#000;
}

.luxury-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
  gap:2rem; margin-top:2.5rem;
}
.luxury-card {
  background:white;
  border:1px solid var(--border);
  border-radius:8px;
  padding:2.5rem 2rem;
  text-align:center;
  transition:transform .3s, box-shadow .3s;
}
.luxury-card:hover {
  transform:translateY(-4px);
  box-shadow:0 8px 30px rgba(212,165,74,0.15);
}
.luxury-card .lc-icon { font-size:2.8rem; margin-bottom:1rem; }
.luxury-card h3 {
  font-size:1.15rem; margin-bottom:.7rem; color:var(--wine);
}
.luxury-card p { color:var(--text-light); font-size:.95rem; }

.two-col {
  display:grid; grid-template-columns:1fr 1fr; gap:3rem;
  margin-top:2rem;
}
@media(max-width:768px) { .two-col { grid-template-columns:1fr; } }
.two-col p { color:var(--text-light); margin-bottom:1rem; }

.counter-row {
  display:flex; flex-wrap:wrap; justify-content:space-around;
  padding:4rem 2rem;
  background:var(--charcoal);
  text-align:center;
}
.counter-box h3 { font-size:2.6rem; color:var(--gold); font-family:'Playfair Display',serif; }
.counter-box p { color:rgba(255,255,255,0.5); font-size:.85rem; margin-top:.3rem; }

.site-footer {
  background:var(--deep); padding:3rem 2rem;
  text-align:center;
  border-top:3px solid var(--gold);
}
.ft-links { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; margin-bottom:1.5rem; }
.ft-links a { color:rgba(255,255,255,0.5); font-size:.85rem; }
.ft-links a:hover { color:var(--gold); }
.ft-responsible { display:flex; flex-wrap:wrap; justify-content:center; gap:2rem; margin-bottom:1.5rem; }
.ft-responsible a { color:var(--gold); font-size:.85rem; font-weight:700; }
.ft-copy { color:rgba(255,255,255,0.4); font-size:.8rem; }

.inner-page {
  padding:8rem 2rem 4rem;
  max-width:900px; margin:0 auto;
}
.inner-page h1 {
  font-size:clamp(2rem,3vw,3rem);
  margin-bottom:2rem; color:var(--charcoal);
}
.inner-page h2 {
  font-size:1.4rem; margin:2rem 0 1rem;
  color:var(--wine);
}
.inner-page p, .inner-page li {
  color:var(--text-light); margin-bottom:1rem; font-size:1rem;
}
.inner-page ul { padding-left:1.5rem; }

.age-gate {
  position:fixed; top:0; left:0; width:100%; height:100%;
  background:rgba(14,14,14,0.97);
  z-index:9999;
  display:flex; align-items:center; justify-content:center;
}
.age-dialog {
  background:var(--cream);
  border:3px solid var(--gold);
  border-radius:8px; padding:3rem;
  text-align:center;
  max-width:440px; width:90%;
}
.age-dialog h2 { color:var(--charcoal); margin-bottom:1rem; font-size:1.5rem; }
.age-dialog p { color:var(--text-light); margin-bottom:2rem; }
.age-actions { display:flex; gap:1rem; justify-content:center; }
.ab {
  padding:.8rem 2rem; border:none; border-radius:4px;
  font-family:'Playfair Display',serif; font-weight:700;
  font-size:.9rem; cursor:pointer; text-transform:uppercase;
  transition:transform .2s;
}
.ab:hover { transform:scale(1.05); }
.ab.y { background:var(--gold); color:var(--deep); }
.ab.n { background:var(--text-light); color:white; }

.play-info {
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:8px; padding:1.5rem;
  margin:1.5rem auto; max-width:800px;
  color:var(--text-light); font-size:.9rem;
}
