/* Brand tokens and typography adapted from the supplied identity console. */
:root {
  --mission-navy: #0A111F;
  --helmet-copper: #B86B3E;
  --visor-cream: #FAF6EE;
  --starfield-black: #05080E;
  --font-display: "Archivo", Arial, sans-serif;
  --font-body: "Archivo", Arial, sans-serif;
  --font-technical: "Space Mono", monospace;
  color-scheme: dark;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--starfield-black); color: var(--visor-cream); font-family: var(--font-body); }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; background: radial-gradient(ellipse at 50% 35%, var(--mission-navy) 0%, var(--starfield-black) 78%); }
.page { width: min(100% - 6rem, 1440px); margin-inline: auto; min-height: 100svh; display: flex; flex-direction: column; }
p { margin: 0; }
.technical { font-family: var(--font-technical); font-size: .75rem; letter-spacing: .11em; line-height: 1.7; }
.masthead { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-block: 2rem; border-bottom: 1px solid rgb(250 246 238 / .13); }
.wordmark { font-size: 1rem; font-weight: 500; font-stretch: 75%; letter-spacing: .15em; line-height: 1.6; }
.wordmark span { font-weight: 300; }
.edition { color: rgb(250 246 238 / .62); font-size: .75rem; }
main { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 2rem 0 3.5rem; }
/* Preserve the complete original image, its colors, and its aspect ratio. */
.badge { display: block; width: clamp(230px, 28vw, 350px); max-width: 100%; height: auto; margin-bottom: 1.5rem; }
h1 { font-family: var(--font-display); font-stretch: 75%; font-weight: 600; font-size: clamp(2rem, 4.5vw, 4.25rem); letter-spacing: .09em; line-height: 1.12; margin: 0 0 1.5rem; }
h1 span { display: block; }
h1 span + span { color: var(--helmet-copper); }
.description { max-width: 36rem; font-size: 1rem; line-height: 1.8; color: rgb(250 246 238 / .72); text-wrap: pretty; }
.launch { display: flex; align-items: center; gap: .75rem; margin-top: 2.4rem; color: var(--visor-cream); }
.launch span { width: 5px; height: 5px; background: var(--helmet-copper); }
footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid rgb(250 246 238 / .13); padding-block: 1.4rem; font-size: .75rem; line-height: 1.6; color: rgb(250 246 238 / .60); }
.registration { color: var(--helmet-copper); letter-spacing: .4em; }
.starfield { pointer-events: none; position: fixed; inset: 0; z-index: -1; opacity: .35; background-image: radial-gradient(1px 1px at 12% 23%, var(--visor-cream) 99%, transparent), radial-gradient(1px 1px at 83% 34%, var(--visor-cream) 99%, transparent), radial-gradient(1px 1px at 26% 71%, var(--visor-cream) 99%, transparent), radial-gradient(1px 1px at 92% 79%, var(--visor-cream) 99%, transparent), radial-gradient(1px 1px at 68% 14%, var(--visor-cream) 99%, transparent), radial-gradient(1px 1px at 7% 57%, var(--visor-cream) 99%, transparent), radial-gradient(1px 1px at 77% 65%, var(--visor-cream) 99%, transparent); }
@media (prefers-reduced-motion: no-preference) { main { animation: arrive 900ms ease-out both; } @keyframes arrive { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } } }
@media (max-width: 700px) { .page { width: calc(100% - 2.5rem); } .masthead { justify-content: center; padding-block: 1.25rem; } .masthead { flex-direction: column; gap: .5rem; } .edition { text-align: center; } main { padding-block: 2rem 3rem; } .badge { width: min(68vw, 290px); } h1 { font-size: clamp(1.85rem, 7.6vw, 3rem); letter-spacing: .06em; } .description { max-width: 28rem; } .desktop-break { display: none; } footer { flex-direction: column; gap: .5rem; text-align: center; } .registration { display: none; } }

/* A slow drift keeps the sparse starfield quiet behind the content. */
.edition { font-variant-numeric: tabular-nums; }
.starfield { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .starfield { animation: star-drift 90s ease-in-out infinite alternate; }
  @keyframes star-drift {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-18px, 28px, 0); }
  }
}
