:root {
  color-scheme: dark;
  --navy: #071a35;
  --deep: #051226;
  --orange: #ff793c;
  --paper: #f7f6f2;
  --muted: #b8c7dd;
  --gold: #efc79f;
  font-family: Arial, Helvetica, sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; color: #fff; background: var(--navy); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3 { margin: 0; }
a, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 6px; }
.play-button:focus-visible { outline-color: white; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wrap { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.skip-link { position: absolute; z-index: 10; top: -80px; left: 16px; padding: 14px 20px; color: var(--navy); background: #fff; font-weight: bold; }
.skip-link:focus { top: 16px; }
.site-header { min-height: 105px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid #ffffff26; }
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand img { width: 49px; height: 49px; }
.brand-name { font-size: 24px; font-weight: 800; letter-spacing: -.8px; display: flex; align-items: baseline; }
.brand-name > span:first-child { font-weight: 400; }
.brand-section { color: #a8bcd9; margin-left: 15px; padding-left: 15px; border-left: 1px solid #ffffff40; font-size: 12px; font-weight: 400; letter-spacing: .4px; }
nav { display: flex; align-items: center; gap: 29px; font-size: 13px; font-weight: 700; }
nav a { padding-block: 12px; }
nav a:hover { color: #ffac82; }
.world-link { display: inline-flex; align-items: center; gap: 10px; }
.intro { display: flex; align-items: end; justify-content: space-between; gap: 44px; padding-block: 42px 35px; }
.eyebrow { font-size: 10px; line-height: 1.7; font-weight: 700; text-transform: uppercase; letter-spacing: 1.7px; }
.intro .eyebrow { display: flex; align-items: center; gap: 9px; color: #d8e3f5; }
.little-dot { display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
h1 { margin-top: 21px; font-size: clamp(46px, 5.2vw, 60px); line-height: 1.04; letter-spacing: -3px; font-weight: 800; }
h1 em { font-style: normal; color: var(--orange); }
.intro-note { font-size: 15px; line-height: 1.8; color: var(--muted); padding-bottom: 6px; }
.games-section { padding-bottom: 76px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 19px; }
.section-heading h2 { font-size: 16px; font-weight: 700; letter-spacing: -.2px; }
.game-count { color: #a7bad5; font-size: 11px; text-transform: uppercase; letter-spacing: 1.1px; }
.featured-game { display: grid; grid-template-columns: 1.1fr 1fr; min-width: 0; background: #0b2542; border: 1px solid #ffffff26; border-radius: 6px; overflow: hidden; }
.game-art { min-width: 0; position: relative; display: flex; align-items: center; justify-content: center; padding: 55px 30px 46px; isolation: isolate; background: radial-gradient(ellipse at 50% 50%, #07475a 0%, #062c3b 49%, #061d2d 83%); overflow: hidden; }
.game-art > img { width: min(430px, 100%); position: relative; filter: drop-shadow(0 16px 22px #0008); }
.game-number { position: absolute; top: 25px; left: 27px; color: #9bc8cc; font-size: 9px; letter-spacing: 1.6px; }
.art-caption { position: absolute; bottom: 21px; font-size: 9px; letter-spacing: .9px; color: #a1c8ce; }
.sonar-ring { width: 81%; aspect-ratio: 1; border: 1px solid #90d8e318; border-radius: 50%; position: absolute; z-index: -1; }
.sonar-ring-two { width: 103%; }
.game-copy { padding: 48px 49px 34px; align-self: center; }
.game-kicker { display: flex; gap: 15px; align-items: center; color: #acbfd9; font-size: 10px; }
.status { display: inline-flex; align-items: center; gap: 6px; border: 1px solid; font-size: 9px; padding: 6px 9px; border-radius: 3px; line-height: 1.2; white-space: nowrap; }
.status-live { color: #b9f0cf; border-color: #72bca24d; background: #204537; }
.status-live > span { width: 5px; height: 5px; background: #9ee6bc; border-radius: 50%; }
.game-copy h3 { font-size: clamp(45px, 4.6vw, 62px); letter-spacing: -2.4px; line-height: 1.05; margin-top: 23px; }
.game-copy h3 > span { color: var(--orange); }
.game-description { max-width: 340px; font-size: 15px; line-height: 1.75; color: #c5d3e5; margin-top: 20px; }
.play-button { display: flex; max-width: 340px; align-items: center; justify-content: space-between; min-height: 55px; padding: 15px 20px; background: var(--orange); color: var(--deep); font-size: 14px; font-weight: 700; border-radius: 3px; margin-top: 29px; transition: background .15s ease; }
.play-button:hover { background: #ffa372; }
.play-button > span[aria-hidden] { font-size: 20px; line-height: 1; }
.destination-note { max-width: 340px; font-size: 10px; line-height: 1.6; margin-top: 10px; color: #a7bad5; }
.how-to-play { margin-top: 25px; max-width: 340px; border-top: 1px solid #ffffff26; }
.how-to-play summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 17px 0 3px; font-weight: 700; font-size: 12px; }
.how-to-play summary::-webkit-details-marker { display: none; }
.details-symbol { position: relative; width: 13px; height: 13px; }
.details-symbol::before, .details-symbol::after { content: ''; position: absolute; background: #c5d3e5; }
.details-symbol::before { width: 11px; height: 1px; top: 6px; left: 1px; }
.details-symbol::after { width: 1px; height: 11px; top: 1px; left: 6px; }
.how-to-play[open] .details-symbol::after { display: none; }
.controls { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding-top: 17px; }
.controls p { display: grid; gap: 7px; font-size: 12px; }
.controls strong { color: #fff; }
.controls span, .controls-note { color: #bacce0; }
.controls-note { font-size: 11px; line-height: 1.7; margin-top: 14px; }
.next-section { padding: 77px 0; color: var(--navy); background: var(--paper); }
.next-layout { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: 94px; }
.next-intro .eyebrow { color: #8a4b30; }
.next-intro h2 { margin-top: 19px; font-size: clamp(36px, 3.5vw, 46px); letter-spacing: -1.9px; line-height: 1.1; }
.next-intro > p:not(.eyebrow) { max-width: 360px; font-size: 15px; line-height: 1.85; color: #4b5b6d; margin-top: 22px; }
.text-link { display: inline-flex; align-items: center; gap: 25px; font-size: 13px; font-weight: 700; }
.text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.next-intro .text-link { margin-top: 27px; }
.text-link > span { font-size: 17px; }
.coming-game { background: var(--navy); color: #fff; border-radius: 4px; padding: 25px 29px; }
.coming-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.coming-top > span:first-child { font-size: 9px; color: #bdcce0; text-transform: uppercase; letter-spacing: 1px; }
.status-planned { border-color: #aab9d457; color: #d7e1ed; }
.estate-title-wrap { text-align: center; padding-top: 30px; }
.presenter { color: #c7b29e; text-transform: uppercase; letter-spacing: 1.6px; font-size: 9px; }
.estate-title-wrap h3 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(38px, 4.5vw, 59px); line-height: .96; font-weight: 400; letter-spacing: -.8px; margin-top: 18px; }
.estate-title-wrap h3 > span { color: var(--gold); font-size: 1.25em; }
.gold-rule { position: relative; margin: 23px auto 0; width: 66%; color: var(--gold); font-size: 8px; }
.gold-rule::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: #efc79f70; }
.gold-rule > span { position: relative; padding: 0 12px; background: var(--navy); }
.coming-description { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding-top: 22px; }
.coming-description > p { font-size: 12px; line-height: 1.7; color: #cbd6e5; }
.not-yet { font-size: 9px; line-height: 1.6; color: #a3b5d0; text-align: right; max-width: 90px; }
.closing-note { display: flex; align-items: center; gap: 20px; padding-block: 39px; }
.closing-note > img { width: 58px; height: 58px; }
.closing-note > p { font-size: 13px; line-height: 1.75; color: #c2d0e3; }
.closing-note strong { color: #fff; font-weight: 400; }
.closing-note .text-link { margin-left: auto; }
.site-footer { background: var(--deep); color: #b3c4dc; }
.footer-layout { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding-block: 25px; font-size: 11px; }
.footer-layout a { display: inline-flex; align-items: center; gap: 16px; }
.footer-layout a:hover { color: #fff; }
@media (min-width: 1500px) { .intro { padding-top: 76px; padding-bottom: 57px; } }
@media (max-width: 1040px) {
  .wrap { width: calc(100% - 64px); }
  .brand-section { margin-left: 10px; padding-left: 10px; }
  nav { gap: 21px; }
  .game-copy { padding: 35px 30px 29px; }
  .game-art { padding-inline: 15px; }
  .game-description { font-size: 14px; }
  .next-layout { gap: 47px; }
  .coming-game { padding-inline: 22px; }
  .coming-top { flex-wrap: wrap; }
  .intro-note { font-size: 13px; }
}
@media (max-width: 740px) {
  .wrap { width: calc(100% - 40px); }
  .site-header { min-height: 86px; gap: 15px; }
  .brand img { width: 40px; height: 40px; }
  .brand { gap: 7px; }
  .brand-name { font-size: 20px; display: block; }
  .brand-section { display: block; margin: 3px 0 0; padding: 0; border: 0; font-size: 9px; letter-spacing: 1.6px; text-transform: uppercase; }
  nav { gap: 18px; font-size: 12px; }
  nav .world-link { display: none; }
  .intro { display: block; padding-block: 41px 35px; }
  h1 { font-size: clamp(42px, 8.3vw, 60px); letter-spacing: -2px; margin-top: 18px; }
  .intro .eyebrow { font-size: 9px; letter-spacing: 1.1px; }
  .intro-note { margin-top: 19px; padding: 0; line-height: 1.8; }
  .intro-note br { display: none; }
  .section-heading { padding-bottom: 16px; }
  .section-heading h2 { font-size: 15px; }
  .game-count { font-size: 10px; }
  .featured-game { grid-template-columns: 1fr; }
  .game-art { padding: 41px 32px 38px; }
  .game-art > img { width: min(340px, 100%); }
  .game-number { top: 18px; left: 21px; font-size: 8px; }
  .art-caption { bottom: 16px; font-size: 8px; }
  .game-copy { order: -1; padding: 29px 27px 27px; }
  .game-copy h3 { font-size: 47px; margin-top: 19px; }
  .game-description { margin-top: 16px; max-width: 430px; }
  .play-button { margin-top: 24px; max-width: none; }
  .destination-note, .how-to-play { max-width: none; }
  .games-section { padding-bottom: 48px; }
  .next-section { padding-block: 49px; }
  .next-layout { grid-template-columns: 1fr; gap: 33px; }
  .next-intro h2 { font-size: 38px; margin-top: 16px; }
  .next-intro > p:not(.eyebrow) { max-width: 470px; margin-top: 19px; font-size: 14px; }
  .next-intro .text-link { margin-top: 23px; }
  .coming-game { padding: 22px 25px 25px; }
  .estate-title-wrap { padding-top: 32px; }
  .estate-title-wrap h3 { font-size: 49px; }
  .closing-note { flex-wrap: wrap; column-gap: 15px; row-gap: 21px; padding-block: 31px; }
  .closing-note > img { width: 48px; height: 48px; }
  .closing-note > p { font-size: 12px; }
  .closing-note .text-link { margin: 0 0 0 63px; }
}
@media (max-width: 370px) {
  .wrap { width: calc(100% - 32px); }
  nav { gap: 12px; font-size: 11px; }
  .brand-name { font-size: 18px; }
  .brand img { width: 33px; height: 33px; }
  h1 { font-size: 40px; }
  .game-copy { padding-inline: 23px; }
  .coming-game { padding-inline: 21px; }
  .coming-top > span:first-child { font-size: 8px; }
  .status { font-size: 8px; }
  .estate-title-wrap h3 { font-size: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
