@font-face {
  font-family: Inter;
  src: url('assets/fonts/Inter.ttf') format('truetype');
  font-weight: 400 600;
  font-display: swap;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('assets/fonts/Bricolage-Grotesque.ttf') format('truetype');
  font-weight: 600 700;
  font-display: swap;
}
:root {
  color-scheme: light;
  background: #f7faed;
  color: #26362d;
  font: 100%/1.6 Inter, system-ui, sans-serif;
  --green: #bde786;
  --blue: #dcebfa;
  --line: #26362d38;
  --heading: 'Bricolage Grotesque', system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: .25em; }
a:focus-visible { outline: 2px solid #26362d; outline-offset: 5px; }
.wrap { width: min(1200px, calc(100% - 2rem)); margin-inline: auto; }
.bar { display: flex; align-items: center; justify-content: space-between; gap: .8rem 1.5rem; flex-wrap: wrap; padding-block: 1.15rem; }
header { border-bottom: 1px solid var(--line); }
nav { display: flex; flex-wrap: wrap; gap: .75rem clamp(.9rem, 3vw, 2.4rem); }
nav a { font-weight: 600; text-decoration: none; }
nav a:hover { text-decoration: underline; }
.brand { display: inline-block; }
.brand img { display: block; width: 150px; height: auto; }
h1, h2 { font-family: var(--heading); font-weight: 700; line-height: 1; }
h1 { font-size: clamp(2.65rem, 6vw, 5.7rem); letter-spacing: -.055em; margin: .2em 0 .32em; }
h2 { font-size: clamp(1.65rem, 3.4vw, 3rem); letter-spacing: -.035em; margin: 0 0 .55em; }
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  align-items: center;
  gap: clamp(1.25rem, 4vw, 4rem);
  margin-block: clamp(1.35rem, 4vw, 3.5rem);
  padding: clamp(1.15rem, 4vw, 3.75rem);
  background: var(--blue);
  border-radius: clamp(1.1rem, 3vw, 2.5rem);
}
.label { font-size: .875rem; font-weight: 600; margin: 0; }
.premise { max-width: 38ch; font-size: 1.08rem; }
.button { display: inline-flex; align-items: center; gap: 1.35rem; margin-top: .35rem; padding: .75rem 1.2rem; background: var(--green); border: 1px solid #26362d; border-radius: 100px; font-weight: 600; text-decoration: none; }
.button:hover { background: #26362d; color: #f7faed; }
.controls, figcaption { font-size: .875rem; }
.controls { max-width: 37ch; margin: 1rem 0 0; }
.feature-art { margin: 0; }
.feature-art img { display: block; width: 100%; height: auto; border-radius: 1.25rem; }
figcaption { margin-top: .55rem; }
.section { padding: clamp(1.6rem, 4vw, 3.5rem) clamp(0rem, 3vw, 2.5rem); border-top: 1px solid var(--line); }
.section p { margin: 0; max-width: 60ch; }
.game-details, .studio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 1rem 3rem; }
.facts { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.facts li { padding: .25rem .7rem; border: 1px solid var(--line); border-radius: 100px; font-size: .875rem; }
footer { border-top: 1px solid var(--line); }
footer .brand img { width: 118px; }
.email { overflow-wrap: anywhere; }
.legal { max-width: 48rem; }
.legal h1 { font-size: clamp(2.4rem, 9vw, 4.5rem); }
.legal p + p { margin-top: 1rem; }
@media (max-width: 760px) {
  .hero, .game-details, .studio { grid-template-columns: minmax(0, 1fr); }
  .studio { row-gap: 1.7rem; }
}
