@font-face {
  font-family: Cinzel;
  src: url("/steam/media/fonts/Cinzel.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("/steam/media/fonts/CormorantGaramond-Italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --night: #0b1015;
  --ink: #e7dfce;
  --muted: #a6afb1;
  --gold: #d8c49b;
  --veil: #9ebfbc;
  --sans: "Avenir Next", "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--night); color: var(--ink); font-family: var(--sans); }
a { color: inherit; text-underline-offset: .3em; }
a:hover { color: #fff; }
a:focus-visible { outline: 2px solid var(--veil); outline-offset: 6px; }
.teaser { min-height: 100svh; display: flex; flex-direction: column; }
.masthead {
  position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between;
  padding: max(24px, env(safe-area-inset-top)) 5vw 0;
}
.sigil { display: block; }
.sigil img { display: block; width: 42px; height: 42px; }
.languages { display: flex; align-items: center; gap: 14px; font-size: 11px; letter-spacing: .14em; }
.languages a { color: var(--muted); text-decoration: none; padding: 12px 0; }
.languages span[aria-hidden] { color: #677477; }
.threshold { position: relative; display: flex; align-items: center; flex: 1; min-height: 670px; }
.threshold__world { position: absolute; inset: -66px 0 -50px 25%; margin: 0; overflow: hidden; }
.threshold__world img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 57% 50%; }
.threshold__world::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--night) 0%, rgba(11,16,21,.88) 13%, rgba(11,16,21,.2) 48%, rgba(11,16,21,.06) 80%),
    linear-gradient(0deg, var(--night), transparent 22%, transparent 74%, rgba(11,16,21,.74));
}
.threshold__world figcaption { position: absolute; z-index: 1; right: 5vw; bottom: 80px; color: #b8bfbd; font-size: 10px; letter-spacing: .13em; }
.threshold__words { position: relative; z-index: 1; width: 100%; padding: 55px 8vw 64px; }
.eyebrow { margin: 0 0 24px; font-size: 10px; text-transform: uppercase; letter-spacing: .34em; color: var(--veil); }
h1 { font-family: Cinzel, Georgia, serif; font-size: clamp(46px, 5.5vw, 84px); font-weight: 400; line-height: 1.06; letter-spacing: -.02em; margin: 0; color: #eee5d2; }
h1 span { display: block; font-size: clamp(11px, 1.1vw, 16px); letter-spacing: .27em; line-height: 1.6; margin: 12px 0 0 3px; color: var(--gold); }
.whisper { font: italic 400 clamp(24px, 2.5vw, 35px)/1.2 "Cormorant Garamond", Georgia, serif; color: #c4cbc9; margin: 35px 0 28px; }
.thread { width: 74px; height: 1px; background: linear-gradient(90deg, var(--gold), transparent); margin-bottom: 26px; }
.promise { font-size: clamp(16px, 1.35vw, 20px); font-weight: 500; line-height: 1.6; margin: 0 0 16px; }
.promise em { font-style: normal; color: var(--gold); }
.story { color: #abb5b6; font-size: 13px; line-height: 1.85; max-width: 460px; margin: 0; }
.status { display: flex; align-items: center; gap: 9px; margin: 28px 0 0; color: #b4bfbb; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.status span { width: 4px; height: 4px; background: #a2bcb1; border-radius: 50%; box-shadow: 0 0 12px #8da99d; }
.colophon { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 5vw max(24px, env(safe-area-inset-bottom)); color: #929e9f; font-size: 10px; letter-spacing: .05em; }
.colophon__links { display: flex; gap: 24px; }
.colophon a { text-decoration: none; display: inline-block; padding: 8px 0; }
.credits-page { max-width: 760px; padding: 40px 25px 80px; margin: auto; line-height: 1.8; }
.credits-page h1 { font-size: 38px; margin: 45px 0 24px; }
.credits-page h2 { font: 500 17px Cinzel, Georgia, serif; color: var(--gold); margin: 40px 0 14px; }
.credits-page p, .credits-page li { color: #b9c2c0; font-size: 14px; }
.credits-page li { margin-bottom: 12px; }
.credits-page a { color: var(--ink); }
@media (min-width: 1500px) {
  .threshold__words { padding-left: max(8vw, calc((100vw - 1500px)/2 + 120px)); }
}
@media (max-width: 760px) {
  .masthead { padding-left: 24px; padding-right: 24px; }
  .threshold { display: block; min-height: 0; }
  .threshold__world { inset: 0 0 auto; height: 400px; }
  .threshold__world img { object-position: 55% 46%; }
  .threshold__world::after { background: linear-gradient(0deg, var(--night) 0%, rgba(11,16,21,.05) 50%, rgba(11,16,21,.68) 100%); }
  .threshold__world figcaption { display: none; }
  .threshold__words { padding: 300px 26px 38px; }
  .eyebrow { margin-bottom: 18px; }
  h1 { font-size: clamp(35px, 10vw, 64px); }
  h1 span { font-size: clamp(9px, 2.6vw, 14px); letter-spacing: .19em; }
  .whisper { margin-top: 26px; font-size: 29px; }
  .story { font-size: 13px; }
  .wide-break { display: none; }
  .colophon { padding: 20px 26px max(24px, env(safe-area-inset-bottom)); flex-wrap: wrap; gap: 8px; }
}
