@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700;900&family=Nunito:wght@300;400;600;700&display=swap');

:root {
  --emerald: #1a6b4a;
  --emerald-light: #2ecc71;
  --forest: #0d3b26;
  --moss: #2d5a3f;
  --parchment: #f5f0e1;
  --cream: #fdfbf5;
  --bark: #4a3728;
  --text: #3d3225;
  --text-soft: #7a7060;
  --gold-accent: #c9a84c;
  --shadow: rgba(13,59,38,0.08);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Nunito',sans-serif;
  background:var(--cream);
  color:var(--text);
  line-height:1.8;
}
h1,h2,h3 { font-family:'Cinzel',serif; color:var(--forest); }
a { color:var(--emerald); text-decoration:none; transition:color .3s; }
a:hover { color:var(--gold-accent); }

.header {
  position:fixed; top:0; width:100%; z-index:1000;
  background:var(--forest);
  padding:.9rem 2rem;
  display:flex; align-items:center; justify-content:space-between;
}
.brand { display:flex; align-items:center; gap:.6rem; }
.brand svg { width:36px; height:36px; }
.brand-name {
  font-family:'Cinzel',serif;
  font-size:1.35rem; font-weight:900;
  color:var(--emerald-light);
}

.menu-btn {
  display:none; background:none; border:none; cursor:pointer;
  flex-direction:column; gap:4px; padding:5px;
}
.menu-btn span {
  display:block; width:24px; height:2.5px;
  background:var(--emerald-light); border-radius:2px;
  transition:all .3s;
}

.navigation ul { display:flex; list-style:none; gap:2rem; }
.navigation a {
  font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:2px;
  color:rgba(255,255,255,0.6);
}
.navigation a:hover, .navigation a.current { color:var(--emerald-light); }

@media(max-width:768px) {
  .menu-btn { display:flex; }
  .navigation {
    position:fixed; top:0; right:-100%; width:72%;
    height:100vh; background:var(--forest);
    padding:5rem 2rem; transition:right .4s;
  }
  .navigation.show { right:0; }
  .navigation ul { flex-direction:column; gap:1.5rem; }
  .navigation a { font-size:1rem; }
}

.hero-section {
  min-height:100vh;
  background: linear-gradient(170deg, var(--forest) 0%, var(--moss) 40%, var(--emerald) 100%);
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:8rem 2rem 4rem;
  position:relative;
}
.hero-section::after {
  content:''; position:absolute; bottom:0; left:0; width:100%;
  height:120px;
  background:linear-gradient(to top, var(--cream), transparent);
}
.hero-inner { position:relative; z-index:1; }
.hero-section h1 {
  font-size:clamp(2rem,5vw,3.8rem);
  color:var(--parchment);
  margin-bottom:1rem;
}
.hero-section p {
  max-width:620px; margin:0 auto 2rem;
  color:rgba(255,255,255,0.75); font-size:1.1rem;
}
.action-btn {
  display:inline-block; padding:.9rem 2.8rem;
  background:var(--gold-accent);
  color:var(--forest); font-family:'Cinzel',serif;
  font-weight:700; font-size:.95rem;
  border:none; border-radius:50px; cursor:pointer;
  text-transform:uppercase; letter-spacing:1px;
  transition:background .3s, transform .3s;
}
.action-btn:hover {
  background:#d4b55e; transform:translateY(-2px);
  color:var(--forest);
}

.notice-strip {
  display:flex; flex-wrap:wrap; justify-content:center; gap:2rem;
  padding:1.5rem 2rem;
  background:var(--parchment);
  border-bottom:2px solid rgba(26,107,74,0.15);
}
.notice-strip .ns-item {
  display:flex; align-items:center; gap:.4rem;
  font-weight:700; font-size:.88rem; color:var(--emerald);
}

.sect { padding:4.5rem 2rem; max-width:1100px; margin:0 auto; }
.sect h2 {
  font-size:clamp(1.6rem,3vw,2.4rem);
  margin-bottom:1.2rem;
  position:relative; display:inline-block;
}
.sect h2::after {
  content:''; position:absolute; bottom:-6px; left:0;
  width:50px; height:3px; background:var(--gold-accent);
}

.game-wrapper {
  max-width:800px; margin:2rem auto;
  border-radius:16px; overflow:hidden;
  border:3px solid var(--emerald);
  box-shadow:0 8px 30px var(--shadow);
}
.game-wrapper iframe {
  width:100%; height:600px; border:none; display:block;
  background:#111;
}

.card-row {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.8rem; margin-top:2rem;
}
.card {
  background:var(--parchment);
  border:1px solid rgba(26,107,74,0.12);
  border-radius:12px; padding:2rem 1.8rem;
  transition:transform .3s, box-shadow .3s;
}
.card:hover {
  transform:translateY(-4px);
  box-shadow:0 6px 24px var(--shadow);
}
.card .c-icon { font-size:2.5rem; margin-bottom:.8rem; display:block; }
.card h3 { font-size:1.05rem; margin-bottom:.5rem; color:var(--bark); }
.card p { color:var(--text-soft); font-size:.92rem; }

.split-text {
  display:grid; grid-template-columns:1fr 1fr; gap:3rem;
  margin-top:2rem;
}
@media(max-width:768px) { .split-text { grid-template-columns:1fr; } }
.split-text p { color:var(--text-soft); margin-bottom:1rem; }

.metrics {
  display:flex; flex-wrap:wrap; justify-content:center; gap:3rem;
  padding:3.5rem 2rem;
  background:var(--forest); text-align:center;
}
.metric h3 { font-size:2.2rem; color:var(--emerald-light); }
.metric p { color:rgba(255,255,255,0.5); font-size:.85rem; margin-top:.2rem; }

.footer-area {
  background:var(--forest); padding:2.5rem 2rem; text-align:center;
  border-top:2px solid var(--emerald);
}
.fl { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; margin-bottom:1rem; }
.fl a { color:rgba(255,255,255,0.5); font-size:.85rem; }
.fl a:hover { color:var(--emerald-light); }
.fr { display:flex; flex-wrap:wrap; justify-content:center; gap:1.8rem; margin-bottom:1rem; }
.fr a { color:var(--gold-accent); font-size:.85rem; font-weight:700; }
.fc { color:rgba(255,255,255,0.35); font-size:.78rem; }

.pg-inner {
  padding:8rem 2rem 4rem; max-width:880px; margin:0 auto;
}
.pg-inner h1 {
  font-size:clamp(1.8rem,3vw,2.8rem);
  margin-bottom:2rem;
}
.pg-inner h2 { font-size:1.3rem; margin:2rem 0 .8rem; color:var(--bark); }
.pg-inner p, .pg-inner li {
  color:var(--text-soft); margin-bottom:.9rem; font-size:.98rem;
}
.pg-inner ul { padding-left:1.5rem; }

.age-screen {
  position:fixed; inset:0; background:rgba(13,59,38,0.97);
  z-index:9999; display:flex; align-items:center; justify-content:center;
}
.age-card {
  background:var(--parchment); border:3px solid var(--emerald);
  border-radius:16px; padding:2.8rem; text-align:center;
  max-width:420px; width:90%;
}
.age-card h2 { margin-bottom:.8rem; font-size:1.4rem; }
.age-card p { color:var(--text-soft); margin-bottom:1.8rem; }
.age-btns { display:flex; gap:1rem; justify-content:center; }
.ag {
  padding:.7rem 2rem; border:none; border-radius:50px;
  font-family:'Cinzel',serif; font-weight:700;
  font-size:.85rem; cursor:pointer; text-transform:uppercase;
  transition:transform .2s;
}
.ag:hover { transform:scale(1.05); }
.ag.ok { background:var(--emerald); color:white; }
.ag.no { background:#ddd; color:var(--text-soft); }

.game-note {
  background:var(--parchment); border:1px solid rgba(26,107,74,0.12);
  border-radius:10px; padding:1.4rem;
  margin:1.5rem auto; max-width:800px;
  color:var(--text-soft); font-size:.9rem;
}
