:root {
  color-scheme: dark;
  --ink: #171918;
  --panel: #1d201e;
  --paper: #e9e5dc;
  --muted: #a5a49b;
  --line: rgba(233,229,220,.18);
  --red: #a94b43;
  --mono: "DM Mono", "Courier New", monospace;
  --sans: "Manrope", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; min-width: 320px; background: var(--ink); color: var(--paper);
  font-family: var(--sans); -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
.skip-link {
  position: fixed; z-index: 20; top: 12px; left: 12px; padding: 12px 16px;
  background: var(--paper); color: var(--ink); transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.intro {
  position: fixed; z-index: 10; inset: 0; display: grid; place-items: center;
  visibility: hidden; opacity: 0;
  background: #090d0b; color: #8fc49b; font-family: var(--mono);
  transition: opacity .65s ease, visibility .65s ease;
}
.intro::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .075;
  background: repeating-linear-gradient(to bottom, transparent 0 3px, rgba(155,201,160,.72) 4px, transparent 5px);
}
html.show-intro .intro { visibility: visible; opacity: 1; }
.intro.is-gone { opacity: 0; visibility: hidden; }
.intro-inner { width: min(92vw, 1050px); text-align: center; position: relative; }
.intro-logo { display: block; width: min(68vw, 760px); height: clamp(190px, 25vw, 270px); margin: 0 auto 24px; object-fit: cover; object-position: center 52%; }
.intro-kicker { font-size: clamp(22px, 4vw, 34px); letter-spacing: .17em; margin: 0 0 20px; }
.intro-rule { width: min(42%, 360px); margin: 0 auto; height: 1px; background: #61966c; box-shadow: 0 0 9px #6eaa79; }
.intro-presents { font-size: clamp(14px, 1.1vw, 17px); letter-spacing: .34em; margin: 19px 0 0; }
.skip-intro {
  position: absolute; bottom: 30px; right: 34px; border: 1px solid #55785c;
  padding: 10px 13px; color: #a9c6aa; background: transparent; font: 11px var(--mono);
  letter-spacing: .12em; cursor: pointer;
}
.skip-intro:hover, .skip-intro:focus-visible { background: #193020; outline: 1px solid #a9c6aa; }
.site-shell { max-width: 1440px; margin: auto; padding: 0 clamp(22px, 6vw, 88px); }
.masthead {
  height: 82px; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--line); font: 10px var(--mono); letter-spacing: .13em;
}
.publisher { text-decoration: none; font-weight: 500; }
.publisher span { color: var(--muted); }
.masthead-note { color: var(--muted); }
.hero {
  min-height: 670px; position: relative; display: grid; grid-template-columns: 1.1fr .9fr;
  align-items: center; border-bottom: 1px solid var(--line); overflow: hidden;
}
.hero-copy { position: relative; z-index: 2; padding: 90px 0 105px; max-width: 620px; }
.eyebrow, .briefing-label, .development, .hero-index, .art-coordinate, .art-index {
  font: 10px var(--mono); letter-spacing: .14em;
}
.eyebrow { color: #c1bdb2; display: flex; align-items: center; gap: 11px; margin: 0 0 35px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(169,75,67,.13); }
h1 { font-size: clamp(58px, 8.3vw, 112px); line-height: .91; letter-spacing: -.075em; margin: 0 0 29px; font-weight: 700; }
h1 span { color: #b5b0a5; }
.tagline { font-size: clamp(19px, 2.25vw, 27px); line-height: 1.45; font-weight: 500; margin: 0; letter-spacing: -.035em; }
.copy-rule { width: 48px; height: 2px; background: var(--red); margin: 32px 0 21px; }
.description { color: #cbc8bf; max-width: 430px; line-height: 1.75; font-size: 15px; margin: 0; }
.development { display: flex; align-items: center; gap: 12px; color: #e0dcd2; font-size: 11px; margin: 39px 0 0; }
.development-line { width: 25px; height: 1px; background: var(--red); }
.hero-art {
  position: absolute; inset: 0 0 0 43%; overflow: hidden; opacity: .9;
  background: radial-gradient(ellipse at 62% 48%, rgba(87,91,77,.17), transparent 56%);
}
.grid-lines {
  position: absolute; inset: 12% 0 9% 12%; opacity: .36;
  background-image: linear-gradient(rgba(213,207,190,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(213,207,190,.11) 1px, transparent 1px);
  background-size: 58px 58px; mask-image: linear-gradient(90deg, transparent, black 25%, black 90%, transparent);
}
.map-contour { position: absolute; border: 1px solid rgba(192,185,165,.23); border-radius: 48% 52% 61% 39% / 43% 42% 58% 57%; transform: rotate(-24deg); }
.contour-one { width: 440px; height: 560px; top: 8%; left: 24%; }
.contour-two { width: 350px; height: 465px; top: 17%; left: 33%; transform: rotate(28deg); }
.contour-three { width: 250px; height: 360px; top: 27%; left: 43%; transform: rotate(-48deg); }
.crosshair { position: absolute; width: 18px; height: 18px; opacity: .6; }
.crosshair::before, .crosshair::after { content: ""; position: absolute; background: #b7b09e; }
.crosshair::before { width: 18px; height: 1px; top: 9px; }
.crosshair::after { height: 18px; width: 1px; left: 9px; }
.crosshair-a { left: 53%; top: 34%; }
.crosshair-b { left: 79%; top: 70%; transform: scale(.65); }
.redaction { position: absolute; height: 5px; background: rgba(169,75,67,.65); transform: rotate(-24deg); }
.redaction-one { width: 110px; top: 30%; left: 67%; }
.redaction-two { width: 65px; top: 73%; left: 30%; opacity: .65; }
.art-coordinate { position: absolute; color: rgba(224,218,201,.55); font-size: 9px; }
.coordinate-a { top: 18%; right: 4%; }
.coordinate-b { bottom: 17%; left: 20%; }
.art-index { position: absolute; right: 8%; bottom: 28%; color: rgba(224,218,201,.4); line-height: 1.6; text-align: right; }
.hero-index { position: absolute; bottom: 31px; right: 0; color: var(--muted); font-size: 9px; }
.hero-index span { color: var(--red); margin-right: 13px; }
.briefing { display: grid; grid-template-columns: .7fr 1.3fr; gap: 50px; padding: 43px 0 58px; }
.briefing-label { color: var(--muted); display: flex; flex-direction: column; gap: 12px; }
.briefing-copy { max-width: 670px; }
.briefing-copy p { margin: 0 0 12px; color: #c8c4ba; font-size: 15px; line-height: 1.8; }
.briefing-copy p:first-child { color: var(--paper); font-size: 18px; font-weight: 600; }
.updates { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); }
.updates .updates-label { color: var(--muted); font: 10px var(--mono); letter-spacing: .14em; margin-bottom: 9px; }
.updates .updates-label + p { margin-bottom: 13px; }
.updates a { display: inline-block; color: var(--paper); font: 10px var(--mono); letter-spacing: .12em; text-decoration: none; }
.updates a:hover { color: #c77b70; }
.updates a span { color: var(--red); }
.updates .updates-note { color: var(--muted); font-size: 11px; margin: 10px 0 0; }
.footer {
  min-height: 75px; border-top: 1px solid var(--line); display: flex; align-items: center;
  justify-content: space-between; gap: 20px; color: var(--muted); font: 9px var(--mono); letter-spacing: .1em;
}
.footer a { text-decoration: none; }
.footer a:hover { color: var(--paper); }
.footer a span, .footer-center i { color: var(--red); font-style: normal; }
:focus-visible { outline: 2px solid #c77b70; outline-offset: 4px; }
@media (max-width: 760px) {
  .intro-logo { width: min(90vw, 1000px); height: min(34vw, 350px); margin-bottom: 0; }
  .intro-presents { font-size: 12px; margin-top: 10px; }
  .masthead { height: 68px; }
  .masthead-note { display: none; }
  .hero { min-height: 700px; display: block; }
  .hero-copy { padding: 82px 0 100px; }
  .hero-art { inset: 18% -22% 5% 15%; opacity: .45; }
  h1 { font-size: clamp(54px, 14vw, 92px); }
  .eyebrow { font-size: 9px; letter-spacing: .11em; margin-bottom: 29px; }
  .tagline { font-size: clamp(18px, 5vw, 23px); }
  .description { font-size: 14px; max-width: 100%; }
  .development { margin-top: 32px; }
  .hero-index { right: 0; bottom: 22px; }
  .briefing { grid-template-columns: 1fr; gap: 25px; padding: 35px 0 45px; }
  .briefing-label { flex-direction: row; justify-content: space-between; }
  .footer { padding: 22px 0; flex-wrap: wrap; }
  .footer-center { order: 3; width: 100%; }
}
@media (max-width: 360px) {
  .site-shell { padding-left: 18px; padding-right: 18px; }
  .publisher { font-size: 9px; letter-spacing: .09em; }
  h1 { font-size: 53px; }
  .eyebrow { font-size: 8px; }
}
@media (min-width: 761px) and (max-height: 760px) {
  .masthead { height: 66px; }
  .hero { min-height: 560px; }
  .hero-copy { padding-top: 55px; padding-bottom: 65px; }
  .eyebrow { margin-bottom: 25px; }
  h1 { font-size: clamp(58px, 7.2vw, 94px); margin-bottom: 22px; }
  .copy-rule { margin-top: 24px; margin-bottom: 16px; }
  .development { margin-top: 28px; }
  .briefing { padding-top: 30px; padding-bottom: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
