:root {
  --ink: #102a34; --paper: #fdf6e3; --gold: #ffd27a; --coral: #e8543f;
  --sea: #14506a; --foam: #bfe8ee;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: "Trebuchet MS", "Segoe UI", system-ui, sans-serif; background: var(--ink); color: var(--paper); }
body, html { max-width: 100%; overflow-x: hidden; }
a { color: var(--foam); }

#topnav { display: flex; align-items: center; justify-content: space-between;
  padding: 14px 5vw; position: sticky; top: 0; z-index: 5;
  background: rgba(16,42,52,0.92); border-bottom: 1px solid rgba(255,210,122,0.25); }
.logo { font-weight: 800; letter-spacing: 2px; color: var(--gold); }
#topnav nav { display: flex; gap: 18px; }
#topnav a { text-decoration: none; font-size: 14px; letter-spacing: 1px; }
#topnav nav a:hover { color: var(--gold); }

#hero { display: flex; flex-wrap: wrap; align-items: center; gap: 4vw;
  padding: 6vh 5vw 8vh; background:
  radial-gradient(120% 90% at 20% 10%, #1c5a72 0%, #102a34 55%),
  linear-gradient(180deg, #102a34, #0a1c24); }
.hero-text { flex: 1 1 340px; min-width: 280px; }
.hero-text h1 { font-size: clamp(42px, 8vw, 84px); color: var(--gold);
  letter-spacing: 3px; text-shadow: 0 4px 30px rgba(255,210,122,0.35); }
.tagline { font-size: clamp(16px, 2.4vw, 22px); font-style: italic; color: var(--foam); margin: 12px 0 26px; }
#play-now, #play-now-2 { display: inline-block; text-decoration: none; font-weight: 800;
  font-size: 20px; letter-spacing: 1px; color: var(--ink);
  background: linear-gradient(180deg, #ffd27a, #e8935f);
  padding: 15px 42px; border-radius: 999px;
  box-shadow: 0 8px 30px rgba(255,180,90,0.35); transition: transform .15s; }
#play-now:hover, #play-now-2:hover { transform: translateY(-2px) scale(1.03); }
.fine { margin-top: 14px; font-size: 12px; opacity: 0.7; }
.hero-frame { flex: 1.4 1 420px; min-width: 280px; }
#hero-preview { width: 100%; aspect-ratio: 16/9; display: block;
  border-radius: 16px; border: 1px solid rgba(255,210,122,0.35);
  box-shadow: 0 18px 60px rgba(0,0,0,0.55); background: #9fbfd6; }

main { padding: 2vh 5vw 6vh; }
section { margin: 7vh 0; }
h2 { color: var(--gold); font-size: clamp(24px, 4vw, 34px); margin-bottom: 24px; letter-spacing: 1px; }

#features { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
#features li { background: rgba(191,232,238,0.07); border: 1px solid rgba(191,232,238,0.18);
  border-left: 3px solid var(--coral); border-radius: 12px; padding: 16px 18px; font-size: 15px; line-height: 1.5; }

#gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
#gallery figure { background: rgba(191,232,238,0.07); border: 1px solid rgba(191,232,238,0.18);
  border-radius: 14px; overflow: hidden; }
#gallery img { width: 100%; display: block; aspect-ratio: 8/5; object-fit: cover; }
#gallery figcaption { padding: 10px 14px; font-size: 13px; color: var(--foam); }

#controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.ctrl { background: rgba(255,210,122,0.07); border: 1px solid rgba(255,210,122,0.25);
  border-radius: 14px; padding: 18px 20px; }
.ctrl h3 { color: var(--gold); margin-bottom: 8px; }
.ctrl p, .ctrl { font-size: 15px; line-height: 1.6; }
.ctrl b { color: #ffdf9a; }

#play { text-align: center; padding: 6vh 0; }
footer { text-align: center; padding: 4vh 5vw 6vh; font-size: 12px; opacity: 0.6;
  border-top: 1px solid rgba(255,210,122,0.15); }

@media (max-width: 640px) {
  #topnav nav { gap: 10px; }
  #hero { padding-top: 4vh; }
  #play-now, #play-now-2 { font-size: 17px; padding: 13px 30px; }
}
