@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700;900&family=Source+Sans+3:wght@300;400;600;700&display=swap');

:root {
  --ocean: #0077b6;
  --teal: #00b4d8;
  --deep-blue: #023e8a;
  --navy: #03045e;
  --pale: #caf0f8;
  --white: #ffffff;
  --sand: #f5f3ef;
  --text: #2b2d42;
  --text-mid: #6c6d7e;
  --coral: #ef476f;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Source Sans 3',sans-serif;
  background:var(--white); color:var(--text);
  line-height:1.8;
}
h1,h2,h3 { font-family:'Merriweather',serif; }
a { color:var(--ocean); text-decoration:none; transition:color .3s; }
a:hover { color:var(--coral); }

.topbar {
  position:fixed; top:0; width:100%; z-index:1000;
  background:var(--white);
  box-shadow:0 2px 20px rgba(0,0,0,0.06);
  padding:.7rem 2rem;
  display:flex; align-items:center; justify-content:space-between;
}
.logotype { display:flex; align-items:center; gap:.5rem; }
.logotype svg { width:36px; height:36px; }
.sitename {
  font-family:'Merriweather',serif;
  font-size:1.3rem; font-weight:900;
  color:var(--navy);
}

.mobmenu {
  display:none; background:none; border:none; cursor:pointer;
  flex-direction:column; gap:5px;
}
.mobmenu span {
  width:26px; height:2.5px; background:var(--ocean);
  display:block; border-radius:2px; transition:all .3s;
}

.mnav ul { display:flex; list-style:none; gap:2rem; }
.mnav a {
  font-size:.82rem; font-weight:600;
  text-transform:uppercase; letter-spacing:1.5px;
  color:var(--text-mid);
}
.mnav a:hover, .mnav a.sel { color:var(--ocean); }

@media(max-width:768px) {
  .mobmenu { display:flex; }
  .mnav {
    position:fixed; top:0; right:-100%; width:75%;
    height:100vh; background:var(--white);
    padding:5rem 2rem; transition:right .4s;
    box-shadow:-5px 0 20px rgba(0,0,0,0.1);
  }
  .mnav.vis { right:0; }
  .mnav ul { flex-direction:column; gap:1.5rem; }
}

.showcase {
  min-height:100vh;
  background:linear-gradient(135deg, var(--navy) 0%, var(--deep-blue) 50%, var(--ocean) 100%);
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center;
  padding:8rem 2rem 4rem;
}
.showcase h1 {
  font-size:clamp(2rem,5vw,3.6rem);
  color:white; margin-bottom:1rem;
  line-height:1.25;
}
.showcase p {
  max-width:640px; font-size:1.1rem;
  color:var(--pale); margin-bottom:2.5rem;
}
.ocean-btn {
  display:inline-block; padding:.9rem 2.5rem;
  background:var(--coral); color:white;
  font-family:'Merriweather',serif;
  font-weight:700; font-size:.95rem;
  border:none; border-radius:6px; cursor:pointer;
  transition:background .3s, transform .3s;
}
.ocean-btn:hover { background:#d6365b; transform:translateY(-2px); color:white; }

.flagstrip {
  display:flex; flex-wrap:wrap; justify-content:center; gap:2rem;
  padding:1.5rem 2rem; background:var(--pale);
}
.flagstrip .fi {
  font-weight:700; font-size:.88rem; color:var(--deep-blue);
  display:flex; align-items:center; gap:.4rem;
}

.area { padding:5rem 2rem; max-width:1100px; margin:0 auto; }
.area h2 {
  font-size:clamp(1.5rem,3vw,2.3rem);
  margin-bottom:1.2rem; color:var(--navy);
}

.gamecontainer {
  max-width:800px; margin:2rem auto;
  border-radius:10px; overflow:hidden;
  border:2px solid var(--teal);
  box-shadow:0 8px 30px rgba(0,119,182,0.12);
}
.gamecontainer iframe {
  width:100%; height:600px; border:none; display:block; background:#111;
}

.benefit-flex {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:2rem; margin-top:2rem;
}
.benefit-item {
  background:var(--sand); border-radius:10px; padding:2rem;
  border-left:4px solid var(--teal);
  transition:transform .3s;
}
.benefit-item:hover { transform:translateY(-3px); }
.benefit-item .bi-icon { font-size:2.2rem; margin-bottom:.7rem; display:block; }
.benefit-item h3 { font-size:1.05rem; margin-bottom:.5rem; color:var(--deep-blue); }
.benefit-item p { color:var(--text-mid); font-size:.92rem; }

.halves {
  display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-top:2rem;
}
@media(max-width:768px) { .halves { grid-template-columns:1fr; } }
.halves p { color:var(--text-mid); margin-bottom:1rem; }

.number-row {
  display:flex; flex-wrap:wrap; justify-content:center; gap:3rem;
  padding:4rem 2rem; background:var(--navy); text-align:center;
}
.nr-item h3 { font-size:2.4rem; color:var(--teal); font-family:'Merriweather',serif; }
.nr-item p { color:rgba(255,255,255,0.5); font-size:.85rem; }

.bottom {
  background:var(--navy); padding:2.5rem 2rem; text-align:center;
  border-top:2px solid var(--ocean);
}
.blinks { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; margin-bottom:1rem; }
.blinks a { color:rgba(255,255,255,0.5); font-size:.85rem; }
.blinks a:hover { color:var(--teal); }
.bresp { display:flex; flex-wrap:wrap; justify-content:center; gap:2rem; margin-bottom:1rem; }
.bresp a { color:var(--coral); font-size:.85rem; font-weight:700; }
.bcopy { color:rgba(255,255,255,0.35); font-size:.78rem; }

.subpage { padding:8rem 2rem 4rem; max-width:880px; margin:0 auto; }
.subpage h1 { font-size:clamp(1.8rem,3vw,2.8rem); margin-bottom:2rem; color:var(--navy); }
.subpage h2 { font-size:1.3rem; margin:2rem 0 .8rem; color:var(--deep-blue); }
.subpage p, .subpage li { color:var(--text-mid); margin-bottom:.9rem; font-size:1rem; }
.subpage ul { padding-left:1.5rem; }

.agegate {
  position:fixed; inset:0; background:rgba(3,4,94,0.97);
  z-index:9999; display:flex; align-items:center; justify-content:center;
}
.agebox {
  background:white; border-radius:12px; padding:2.8rem;
  text-align:center; max-width:420px; width:90%;
  box-shadow:0 10px 40px rgba(0,0,0,0.2);
}
.agebox h2 { color:var(--navy); margin-bottom:.8rem; font-size:1.4rem; }
.agebox p { color:var(--text-mid); margin-bottom:1.8rem; }
.agerow { display:flex; gap:1rem; justify-content:center; }
.agebtn {
  padding:.7rem 2rem; border:none; border-radius:6px;
  font-family:'Merriweather',serif; font-weight:700;
  font-size:.85rem; cursor:pointer;
  transition:transform .2s;
}
.agebtn:hover { transform:scale(1.05); }
.agebtn.y { background:var(--ocean); color:white; }
.agebtn.n { background:#e0e0e0; color:var(--text-mid); }

.playnote {
  background:var(--sand); border-radius:8px; padding:1.4rem;
  margin:1.5rem auto; max-width:800px;
  color:var(--text-mid); font-size:.9rem;
  border-left:4px solid var(--teal);
}
