:root { --paper:#f2ede0; --ink:#101214; --green:#95bc59; --orange:#d7815b; --rule:#d7d8d5; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Roboto,Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.site-header { background:white; border-bottom:1px solid var(--rule); }
.header__inner,.nav__inner,.footer__inner,.footer__bottom { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.header__inner { min-height:104px; display:flex; align-items:center; justify-content:center; }
.brand { width:clamp(360px,40vw,520px); }
.brand img { width:100%; height:auto; }
.nav { background:white; border-bottom:1px solid var(--rule); }
.nav__inner { min-height:43px; display:flex; align-items:center; justify-content:center; gap:34px; }
.nav a { font-size:.82rem; font-weight:700; }
.nav a:hover,.nav a:focus-visible { color:var(--green); }
.game-main { padding:44px 20px 88px; overflow:hidden; }
.game-heading { display:grid; justify-items:center; text-align:center; }
.game-logo { width:auto; height:64px; object-fit:contain; }
.game-logo--aon { height:60px; }
h1 { margin:18px 0 38px; font-size:clamp(2rem,4vw,2.8rem); line-height:1.08; letter-spacing:-.025em; }
.game-frame-wrap { width:min(1000px,100%); margin-inline:auto; border-radius:5px; overflow:hidden; box-shadow:0 14px 34px rgb(13 37 46 / 12%); }
.game-frame { display:block; width:100%; height:clamp(620px,68vw,790px); border:0; background:white; }
.game-intro { max-width:680px; margin:-18px auto 28px; line-height:1.5; color:#52616a; }
.game-external-link { width:min(1000px,100%); margin:16px auto 30px; font-size:.9rem; line-height:1.5; }
.game-external-link a { text-decoration:underline; font-weight:700; }
.game-mode-label { margin:16px 0 0; color:#48636a; font-size:.78rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.game-instructions { width:min(1000px,100%); margin:52px auto 0; padding:32px 0 0; border-top:3px solid #235b6b; font-size:16px; line-height:1.5; }
.game-instructions .game-mode-label { margin:0 0 14px; }
.game-instructions h2,.game-instructions h3 { margin:0 0 22px; font-size:1.7rem; line-height:1.2; }
.game-instructions__terms { margin-top:36px; }
.game-instructions video { width:min(280px,100%); margin-top:28px; }
.game-pending { width:min(1000px,100%); padding:80px 24px; margin:auto; border:1px solid #d4d7cc; background:#f7f7f2; text-align:center; line-height:1.5; }
.game-coming-soon { width:min(370px,100%); margin-inline:auto; overflow:hidden; border-radius:5px; box-shadow:0 14px 34px rgb(13 37 46 / 16%); }
.game-coming-soon img { width:100%; height:auto; }
footer { background:#000; color:white; padding:64px 0 24px; }
.footer__inner { display:grid; grid-template-columns:1.15fr .9fr 1fr .9fr; align-items:start; gap:clamp(28px,5vw,70px); }
.footer__brand { display:inline-block; width:min(280px,100%); }
.footer__brand img { width:100%; height:auto; }
.footer__eyebrow { color:var(--orange); font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin:0 0 14px; }
.footer__contact { color:#d1d1d1; font-style:normal; font-size:.95rem; line-height:1.65; }
.footer__contact p,.footer__license p,.footer__rules p { margin:0; }
.footer__contact a,.footer__rules a { display:inline-block; color:white; margin-top:14px; text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:5px; }
.footer__license,.footer__rules { color:#d1d1d1; font-size:.95rem; line-height:1.55; }
.footer__bottom { border-top:1px solid #292929; margin-top:50px; padding-top:20px; }
.footer__bottom p { margin:0; color:#777; font-size:.75rem; }
@media (max-width:820px) {
  .header__inner,.nav__inner,.footer__inner,.footer__bottom { width:min(100% - 28px,680px); }
  .header__inner { min-height:88px; }
  .brand { width:min(396px,calc(100vw - 76px)); }
  .nav__inner { min-height:31px; gap:24px; }
  .nav a { font-size:.78rem; }
  .game-main { padding:44px 14px 58px; }
  .game-logo { height:58px; }
  .game-logo--aon { height:54px; }
  h1 { margin:16px 0 34px; font-size:clamp(1.75rem,8vw,2.2rem); }
  .game-frame-wrap { width:100vw; margin-left:calc(50% - 50vw); border-radius:0; box-shadow:none; }
  .game-frame { min-height:780px; }
  .game-coming-soon { width:min(370px,100%); }
  footer { padding-top:46px; }
  .footer__inner { grid-template-columns:1fr; gap:32px; }
  .footer__brand { width:min(250px,75vw); }
  .footer__contact,.footer__license,.footer__rules { border-top:1px solid #292929; padding-top:24px; }
  .footer__bottom { margin-top:34px; }
}
@media (max-width:420px) {
  .header__inner { min-height:62px; }
  .brand { width:min(232px,calc(100vw - 30px)); }
  .nav__inner { width:100%; min-height:31px; gap:25px; }
  .nav a { font-size:.62rem; }
  .game-main { padding-top:42px; }
  .game-logo { height:52px; }
  .game-logo--aon { height:48px; }
  h1 { margin-top:14px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
