@charset "UTF-8";
:root {
  --ink:#20271d; --deep:#171d16; --paper:#e8e4d5; --muted:#a6ab97;
  --rule:rgba(232,228,213,.2); --accent:#cfb773;
  --display:Impact,"Arial Narrow","Franklin Gothic Condensed",sans-serif;
  --sans:Arial,Helvetica,sans-serif; --mono:"Courier New",Courier,monospace;
  --gutter:clamp(24px,5.2vw,88px);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
body,button,a { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a,input { outline-offset:7px; }
:focus-visible { outline:2px solid var(--accent); }
::selection { color:var(--deep); background:var(--accent); }
img { display:block; max-width:100%; }
p,h1,h2,figure { margin:0; }
.skip-link { position:fixed; z-index:20; left:20px; top:15px; padding:14px 20px; background:var(--paper); color:var(--deep); transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }

.site-header { position:absolute; z-index:5; top:0; left:0; width:100%; padding:29px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--rule); }
.wordmark { display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:.12em; font-size:15px; line-height:1; }
.wordmark-icon { width:34px; height:39px; display:grid; place-items:center; border:1px solid rgba(232,228,213,.65); font-family:var(--display); font-size:26px; font-weight:400; letter-spacing:0; transform:skewY(-5deg); }
.wordmark-series { display:block; font-family:var(--mono); font-weight:400; font-size:10px; letter-spacing:.07em; margin-bottom:7px; }
.site-nav { display:flex; align-items:center; gap:clamp(24px,3.4vw,54px); }
.site-nav a { font-size:12px; padding:12px 0; position:relative; }
.site-nav a::after { content:""; position:absolute; bottom:5px; left:0; width:100%; height:1px; background:var(--paper); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.site-nav a:hover::after,.site-nav a:focus-visible::after { transform:scaleX(1); }
.menu-toggle { display:none; }

.hero { position:relative; min-height:800px; height:min(100svh,1100px); isolation:isolate; background:#394030; }
.hero-picture,.hero-shade { position:absolute; inset:0; z-index:-2; width:100%; height:100%; }
.hero-picture img { width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.hero-shade { z-index:-1; background:linear-gradient(180deg,rgba(14,20,14,.59),rgba(20,26,17,.12) 38%,rgba(15,23,14,.44) 62%,rgba(17,25,17,.91)); }
.hero-content { height:100%; padding:144px var(--gutter) 104px; display:flex; flex-direction:column; }
.hero-kicker { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.eyebrow,.status,.hero-edge,.title-intro,.hero-image-note,.section-number,.game-facts dt,.artwork-number,.artwork-notice,.artwork-open,.signup-status { font-family:var(--mono); font-size:11px; font-weight:400; line-height:1.4; letter-spacing:.08em; }
.eyebrow,.hero-kicker,.title-intro,.section-number,.game-facts dt { text-transform:uppercase; }
.separator { opacity:.65; margin:0 13px; }
.status { display:inline-flex; align-items:center; gap:9px; }
.status>span { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px rgba(207,183,115,.12); }
.title-wrap { margin:clamp(62px,9vh,128px) auto 30px; text-align:center; width:100%; }
.title-intro { display:block; font-family:var(--display); font-size:clamp(24px,3vw,44px); line-height:1; letter-spacing:.14em; margin-bottom:18px; text-shadow:0 2px 15px #172012; }
h1 { font-family:var(--display); font-size:clamp(104px,20vw,330px); font-weight:400; letter-spacing:.018em; line-height:.87; text-shadow:0 3px 30px rgba(15,23,14,.12); }
.hero-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-top:auto; }
.hero-summary { max-width:360px; }
.hero-summary>p { font-size:clamp(16px,1.3vw,20px); line-height:1.5; text-wrap:pretty; margin-bottom:26px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:44px; min-height:52px; padding:17px 21px; font-size:12px; font-weight:700; transition:background .2s,color .2s,transform .2s; }
.button span { font-size:19px; font-weight:400; line-height:.75; }
.button-light { background:var(--paper); color:var(--deep); }
.button-light:hover { background:#fff9e8; transform:translateY(-2px); }
.hero-image-note { display:flex; align-items:center; gap:13px; text-align:right; font-size:12px; letter-spacing:.035em; line-height:1.5; text-shadow:0 1px 8px #121a10; }
.image-note-mark { font-family:var(--mono); font-size:27px; font-weight:400; line-height:1; }
.hero-edge { position:absolute; bottom:29px; left:var(--gutter); right:var(--gutter); display:flex; align-items:center; gap:24px; font-size:9px; letter-spacing:.06em; }
.edge-line { height:1px; flex:1; background:rgba(232,228,213,.35); }
.hero-edge a { padding:12px 0; }
.hero-edge a span { margin-left:14px; }

.section-shell { padding:85px var(--gutter) 90px; max-width:1800px; margin:0 auto; }
.section-label { display:flex; align-items:center; gap:18px; margin-bottom:54px; }
.section-number { color:var(--accent); padding:5px 7px; border:1px solid #6d735d; font-size:10px; }
.section-label .eyebrow { white-space:nowrap; }
.label-line { height:1px; background:var(--rule); width:100%; margin-left:18px; }
h2 { font-family:var(--display); font-weight:400; letter-spacing:.015em; text-transform:uppercase; font-size:clamp(62px,6.45vw,103px); line-height:1.02; }
.overview-main { display:grid; grid-template-columns:1.15fr 1fr; gap:10%; align-items:center; }
.game-quote { font-family:Georgia,"Times New Roman",serif; font-style:italic; font-weight:400; font-size:clamp(45px,5.05vw,84px); letter-spacing:-.045em; line-height:1.12; text-transform:none; text-wrap:balance; }
.overview-copy { max-width:450px; padding-top:10px; font-size:15px; line-height:1.75; }
.small-cross { font-family:var(--mono); font-size:32px; color:var(--accent); display:block; line-height:1; margin-bottom:25px; }
.overview-copy .lead { font-size:25px; line-height:1.4; margin-bottom:18px; }
.overview-copy>p+p { margin-top:18px; }
.overview-copy .muted { color:var(--muted); font-size:13px; }
.text-link { display:inline-flex; align-items:center; gap:30px; margin-top:28px; border-bottom:1px solid #788068; padding:7px 0 8px; min-height:44px; font-size:12px; font-weight:700; transition:color .2s,border-color .2s; }
.text-link:hover { color:var(--accent); border-color:var(--accent); }
.text-link span { font-size:20px; }
.game-facts { display:grid; grid-template-columns:1fr 1fr 1.4fr; margin:70px 0 0; padding:30px 0 0; border-top:1px solid var(--rule); }
.game-facts>div { padding:0 30px; border-left:1px solid var(--rule); }
.game-facts>div:first-child { padding-left:0; border-left:0; }
.game-facts>div:last-child { padding-right:0; }
.game-facts dt { color:var(--muted); font-size:10px; margin-bottom:15px; }
.game-facts dd { font-size:15px; line-height:1.5; margin:0; }
.game-facts dd span { padding:0 10px; color:#7f856f; }

.landscape-section { padding-top:65px; border-top:1px solid var(--rule); }
.landscape-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:10%; align-items:end; margin-bottom:50px; }
.landscape-heading h2 { font-size:clamp(62px,6vw,96px); }
.landscape-heading>p { max-width:370px; padding-bottom:7px; font-size:15px; line-height:1.8; color:#c4cab4; }
.landscape-gallery { display:grid; grid-template-columns:1fr 1fr; gap:50px 34px; align-items:start; }
.landscape-art-wide { grid-column:1/-1; }
.artwork-link { display:block; position:relative; overflow:hidden; background:#353d2c; }
.artwork-link>img { width:100%; height:auto; aspect-ratio:1.36; object-fit:cover; transition:transform .5s ease; }
.landscape-art-wide .artwork-link>img { aspect-ratio:2.16; }
.artwork-link:hover>img { transform:scale(1.025); }
.artwork-open { position:absolute; bottom:20px; right:20px; display:flex; align-items:center; gap:24px; padding:12px 15px; color:var(--paper); background:rgba(23,29,22,.9); font-size:10px; letter-spacing:.025em; }
.artwork-open>span { font-family:var(--sans); font-size:19px; line-height:1; }
.landscape-art figcaption { display:flex; align-items:baseline; justify-content:space-between; gap:15px; margin-top:18px; }
.artwork-title { font-size:20px; letter-spacing:-.015em; }
.artwork-number { font-size:10px; color:var(--accent); padding-right:12px; }
.artwork-notice { color:var(--muted); font-size:11px; letter-spacing:.01em; }
.landscape-art:not(.landscape-art-wide) figcaption { flex-direction:column; gap:9px; }
.landscape-art-last { margin-top:90px; }

.updates-section { color:var(--ink); background:var(--paper); }
.updates-inner { max-width:1800px; margin:auto; padding:77px var(--gutter) 83px; display:grid; grid-template-columns:1.15fr 1fr; gap:10%; align-items:center; }
.updates-intro .eyebrow { font-size:11px; margin-bottom:21px; }
.updates-intro h2 { font-size:clamp(55px,5.4vw,84px); }
.updates-intro>p:last-child { font-size:14px; line-height:1.6; margin-top:21px; color:#515847; }
.updates-form { width:100%; }
.signup-status { display:flex; align-items:center; gap:9px; font-size:11px; letter-spacing:.025em; margin-bottom:22px; }
.signup-status>span { width:6px; height:6px; border-radius:50%; background:#667457; }
.updates-form fieldset { padding:0; border:0; margin:0; min-width:0; }
.updates-form label { display:block; font-size:12px; margin-bottom:10px; }
.signup-fields { display:flex; flex-wrap:wrap; gap:12px; }
.signup-fields input { min-width:0; width:100%; min-height:54px; padding:16px; border:1px solid #9da290; border-radius:0; background:#efede3; color:#626853; font-size:14px; opacity:1; cursor:not-allowed; }
.signup-fields input::placeholder { color:#626853; opacity:1; }
.signup-fields button { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:50px; padding:16px 20px; border:0; background:#c8cbbb; color:#48523d; font-size:12px; opacity:1; cursor:not-allowed; }
.signup-fields button>span { font-size:18px; line-height:1; }
.updates-section :focus-visible { outline-color:var(--ink); }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:34px var(--gutter); background:var(--deep); }
.footer-wordmark { font-family:var(--display); font-size:27px; letter-spacing:.055em; }
.footer-series { display:block; font-family:var(--mono); font-size:10px; line-height:1.3; letter-spacing:.06em; margin-bottom:5px; }
.site-footer>p { font-size:10px; color:var(--muted); }
.site-footer>p a { color:var(--paper); border-bottom:1px solid #657057; padding-bottom:3px; }
.back-to-top { font-size:10px; padding:12px 0; }
.back-to-top span { margin-left:24px; font-size:18px; }

.is-viewing-artwork { overflow:hidden; }
.artwork-dialog { width:min(1320px,calc(100vw - 48px)); max-width:none; max-height:calc(100svh - 40px); padding:20px; border:1px solid #525b45; background:var(--deep); color:var(--paper); }
.artwork-dialog::backdrop { background:rgba(8,13,8,.92); }
.dialog-top,.dialog-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.dialog-top { margin-bottom:14px; }
.dialog-top h2 { font-family:var(--sans); font-size:17px; line-height:1.3; text-transform:none; letter-spacing:0; }
.dialog-close,.dialog-controls button { display:flex; align-items:center; justify-content:center; color:var(--paper); background:transparent; border:1px solid #69725b; min-width:44px; min-height:44px; padding:10px 13px; cursor:pointer; }
.dialog-close { gap:18px; font-size:12px; border-color:transparent; }
.dialog-close span { font-size:24px; line-height:1; }
.dialog-image { width:100%; height:auto; max-height:calc(100svh - 200px); object-fit:contain; }
.dialog-bottom { margin-top:16px; }
.dialog-bottom>p { font-family:var(--mono); font-size:12px; line-height:1.5; }
.dialog-controls { display:flex; align-items:center; gap:15px; }
.dialog-counter { font-family:var(--mono); font-size:11px; min-width:35px; text-align:center; }
.dialog-controls button { font-size:20px; }
.dialog-controls button:hover,.dialog-close:hover { background:#323d29; }

@media(min-width:1800px) {
  .site-header,.hero-content { padding-left:max(var(--gutter),calc((100vw - 1624px)/2)); padding-right:max(var(--gutter),calc((100vw - 1624px)/2)); }
  .hero-edge { left:max(var(--gutter),calc((100vw - 1624px)/2)); right:max(var(--gutter),calc((100vw - 1624px)/2)); }
  h1 { font-size:330px; }
}
@media(max-width:1000px) {
  .hero { min-height:790px; max-height:1000px; }
  .title-wrap { margin-top:105px; }
  .hero-content { padding-top:138px; }
  .hero-summary { max-width:330px; }
  .hero-image-note { max-width:230px; font-size:11px; }
  .overview-main,.landscape-heading,.updates-inner { gap:8%; grid-template-columns:1.05fr 1fr; }
  .overview-copy { font-size:14px; }
  .overview-copy .lead { font-size:22px; }
  .game-facts { grid-template-columns:1fr 1.15fr 1.65fr; }
  .game-facts>div { padding:0 20px; }
  .game-facts dd { font-size:13px; }
  .game-facts dd span { padding:0 5px; }
  .landscape-heading h2 { font-size:64px; }
  .landscape-heading>p { font-size:13px; }
  .landscape-gallery { gap:38px 25px; }
  .landscape-art-wide .artwork-link>img { aspect-ratio:1.8; }
  .landscape-art-last { margin-top:64px; }
  .landscape-art figcaption { flex-direction:column; gap:9px; }
  .artwork-title { font-size:18px; }
  .artwork-open { bottom:15px; right:15px; }
  .updates-intro h2 { font-size:57px; }
}
@media(max-width:640px) {
  :root { --gutter:24px; }
  html { scroll-padding-top:20px; }
  .site-header { padding-top:19px; padding-bottom:19px; gap:16px; flex-wrap:wrap; }
  .wordmark { font-size:13px; gap:10px; }
  .wordmark-series { font-size:9px; letter-spacing:.04em; margin-bottom:6px; }
  .wordmark-icon { width:29px; height:35px; font-size:24px; }
  .site-nav { width:100%; gap:20px; justify-content:space-between; padding-top:5px; }
  .site-nav a { font-size:11px; }
  .js .site-header { flex-wrap:nowrap; }
  .js .menu-toggle { display:flex; align-items:center; gap:12px; background:none; border:0; color:var(--paper); font-family:var(--mono); font-size:11px; min-height:44px; padding:10px 0 10px 12px; cursor:pointer; }
  .menu-icon { width:21px; height:14px; position:relative; border-top:1px solid currentColor; border-bottom:1px solid currentColor; transition:border-color .2s; }
  .menu-icon::before,.menu-icon::after { content:""; position:absolute; top:6px; left:0; width:21px; height:1px; background:currentColor; transition:transform .2s; }
  .menu-open .menu-icon { border-color:transparent; }
  .menu-open .menu-icon::before { transform:rotate(45deg); }
  .menu-open .menu-icon::after { transform:rotate(-45deg); }
  .js .site-nav { display:none; position:absolute; top:100%; left:0; padding:17px var(--gutter) 23px; background:var(--deep); border-bottom:1px solid #566044; }
  .js .menu-open .site-nav { display:grid; gap:0; }
  .js .site-nav a { font-size:16px; padding:17px 0; }
  .js .site-nav a::after { display:none; }
  .js .menu-open { background:var(--deep); }
  .hero { height:830px; height:100svh; min-height:760px; max-height:1000px; }
  .hero-picture img { object-position:53% center; }
  .hero-shade { background:linear-gradient(180deg,rgba(14,20,14,.67),rgba(20,26,17,.18) 37%,rgba(15,23,14,.15) 48%,rgba(17,25,17,.95) 100%); }
  .hero-content { padding-top:164px; padding-bottom:94px; }
  .js .hero-content { padding-top:120px; }
  .hero-kicker { align-items:flex-start; gap:15px; }
  .hero-kicker .eyebrow,.hero-kicker .status { font-size:11px; letter-spacing:.025em; }
  .separator { margin:0 5px; }
  .hero-kicker .status { gap:7px; }
  .status>span { width:5px; height:5px; box-shadow:0 0 0 3px rgba(207,183,115,.12); flex-shrink:0; }
  .title-wrap { margin:83px 0 32px; }
  .title-intro { font-size:24px; letter-spacing:.12em; margin-bottom:18px; }
  h1 { font-size:20.3vw; letter-spacing:.005em; line-height:.92; }
  .hero-bottom { display:block; }
  .hero-summary { max-width:290px; }
  .hero-summary>p { font-size:17px; line-height:1.5; margin-bottom:22px; }
  .button { min-height:51px; padding:16px 20px; gap:42px; }
  .hero-image-note { max-width:none; margin-top:24px; font-size:12px; text-align:left; gap:9px; }
  .image-note-mark { font-size:20px; }
  .hero-edge { bottom:20px; gap:15px; font-size:8px; }
  .hero-edge a { font-size:8px; }
  .hero-edge a span { margin-left:5px; }
  .section-shell { padding-top:52px; padding-bottom:54px; }
  .section-label { gap:12px; margin-bottom:34px; }
  .section-label .eyebrow { font-size:10px; }
  .label-line { margin-left:6px; }
  .section-number { font-size:9px; padding:4px 6px; }
  .overview-main { display:block; }
  h2 { font-size:62px; line-height:1.03; }
  .game-quote { font-size:clamp(45px,12.4vw,68px); line-height:1.13; letter-spacing:-.047em; }
  .overview-copy { margin-top:34px; font-size:15px; line-height:1.75; max-width:440px; padding-top:0; }
  .small-cross { display:none; }
  .overview-copy .lead { font-size:23px; margin-bottom:17px; }
  .overview-copy .muted { font-size:13px; }
  .text-link { font-size:12px; margin-top:22px; gap:23px; }
  .game-facts { grid-template-columns:1fr; margin-top:38px; padding-top:0; }
  .game-facts>div,.game-facts>div:first-child,.game-facts>div:last-child { padding:18px 0; border-left:0; border-bottom:1px solid var(--rule); display:grid; grid-template-columns:91px 1fr; gap:10px; align-items:center; }
  .game-facts dt { margin:0; font-size:10px; }
  .game-facts dd { font-size:13px; }
  .game-facts dd span { padding:0 3px; }
  .landscape-heading { display:block; margin-bottom:30px; }
  .landscape-heading h2 { font-size:62px; }
  .landscape-heading>p { max-width:400px; font-size:14px; margin-top:25px; padding:0; }
  .landscape-gallery { grid-template-columns:1fr; gap:32px; }
  .landscape-art-wide { grid-column:auto; }
  .landscape-art-last { margin-top:0; }
  .landscape-art-wide .artwork-link>img,.artwork-link>img { aspect-ratio:1.2; }
  .artwork-open { bottom:13px; right:13px; gap:17px; padding:10px 12px; font-size:10px; }
  .landscape-art figcaption { gap:8px; margin-top:14px; }
  .artwork-title { font-size:20px; }
  .artwork-notice { font-size:12px; }
  .updates-inner { display:block; padding-top:47px; padding-bottom:53px; }
  .updates-intro .eyebrow { margin-bottom:19px; }
  .updates-intro h2 { font-size:60px; }
  .updates-intro>p:last-child { margin-top:18px; }
  .updates-form { margin-top:35px; }
  .signup-status { margin-bottom:19px; font-size:12px; }
  .signup-fields button { width:100%; }
  .site-footer { display:grid; grid-template-columns:1fr auto; gap:24px 15px; padding-top:29px; padding-bottom:28px; }
  .footer-wordmark { font-size:25px; }
  .site-footer>p { grid-row:2; grid-column:1/3; font-size:10px; }
  .back-to-top { grid-row:1; grid-column:2; font-size:10px; }
  .back-to-top span { margin-left:15px; }
  .artwork-dialog { width:calc(100vw - 24px); max-height:calc(100svh - 24px); padding:12px; }
  .dialog-top { gap:8px; margin-bottom:10px; }
  .dialog-top h2 { font-size:15px; }
  .dialog-close { gap:10px; padding:10px 5px; }
  .dialog-image { max-height:calc(100svh - 240px); }
  .dialog-bottom { flex-direction:column; align-items:flex-start; gap:15px; }
  .dialog-controls { align-self:flex-end; }
}
@media(max-width:360px) {
  :root { --gutter:20px; }
  .hero-summary>p { font-size:16px; }
  .hero-kicker { gap:10px; }
  .hero-kicker .eyebrow { max-width:143px; }
  .game-facts>div { grid-template-columns:80px 1fr; }
  .game-facts dd { font-size:11px; }
  .updates-intro h2 { font-size:54px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
  .button:hover,.artwork-link:hover>img { transform:none; }
}
