/* One page, no build step. Mobile-first. Palette is warm-toon:
   no pure black or neutral gray anywhere. */

:root {
  /* The game name lives here and only here (the legal pages derive
     their heading + document.title from it). */
  --game-name: "Migla";

  --ink: #2e2418;          /* deep warm brown, never black */
  --ink-soft: #5a4a35;
  --paper: #faf3e3;        /* warm cream */
  --paper-deep: #f0e4c8;
  --meadow: #4e8f4a;
  --meadow-deep: #2f6b3a;
  --hearth: #e8a13c;       /* amber glow */
  --rust: #b05a2f;
  --dusk: #3d4a6b;         /* warm-shifted blue */
  --dusk-deep: #2a3352;
  --mist: #a8c9a0;         /* soft mist green */
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.6;
}

h1, h2 {
  font-family: "Trebuchet MS", Verdana, sans-serif;
  line-height: 1.2;
}

img {
  max-width: 100%;
  height: auto;
}

.game-name::before {
  content: var(--game-name);
}

/* ---- hero ---- */

.hero {
  text-align: center;
  padding: 3.5rem 1.25rem 0;
  max-width: 64rem;
  margin: 0 auto;
}

.hero h1 {
  font-size: clamp(3rem, 12vw, 5rem);
  letter-spacing: 0.02em;
  margin: 0 0 0.35rem;
  color: var(--meadow-deep);
}

.tagline {
  font-size: clamp(1.2rem, 4.5vw, 1.6rem);
  margin: 0 0 0.75rem;
}

.subline {
  color: var(--ink-soft);
  max-width: 34rem;
  margin: 0 auto 1.9rem;
}

.hero-note {
  color: var(--ink-soft);
  font-family: "Trebuchet MS", Verdana, sans-serif;
  font-size: 0.9rem;
  margin: 1rem 0 0;
}

.hero-shot {
  margin: 2.25rem 0 0;
}

.hero-shot img {
  display: block;
  width: 100%;
  border-radius: 1.25rem;
  box-shadow: 0 1rem 2.5rem rgba(46, 36, 24, 0.22);
}

/* ---- buttons ---- */

.play-button,
.discord-button {
  display: inline-block;
  font-family: "Trebuchet MS", Verdana, sans-serif;
  font-size: 1.15rem;
  text-decoration: none;
  padding: 0.85em 1.7em;
  border-radius: 2em;
}

.play-button {
  background: var(--meadow);
  color: var(--paper);
  font-size: 1.3rem;
  box-shadow: 0.15em 0.25em 0 var(--meadow-deep);
}

.play-button:hover,
.play-button:focus {
  background: var(--meadow-deep);
  box-shadow: 0.1em 0.15em 0 var(--dusk-deep);
}

.discord-button {
  background: var(--dusk);
  color: var(--paper);
  box-shadow: 0.15em 0.2em 0 var(--dusk-deep);
}

.discord-button:hover,
.discord-button:focus {
  background: var(--dusk-deep);
}

/* ---- alternating rows ---- */

main {
  max-width: 64rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.rows {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding: 3.5rem 0 2rem;
}

.row {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.row-art {
  margin: 0;
  width: 100%;
}

.row-art img {
  display: block;
  width: 100%;
  border-radius: 1rem;
  box-shadow: 0 0.6rem 1.6rem rgba(46, 36, 24, 0.18);
}

.row-copy h2 {
  color: var(--meadow-deep);
  font-size: 1.45rem;
  margin: 0 0 0.4rem;
}

.row-copy p { margin: 0; }

@media (min-width: 44rem) {
  .rows { gap: 4.5rem; }

  .row {
    flex-direction: row;
    align-items: center;
    gap: 3rem;
  }

  .row-art {
    flex: 0 0 55%;
    max-width: 55%;
  }

  .row-copy { flex: 1; }

  /* alternate the image side down the column */
  .row:nth-child(even) {
    flex-direction: row-reverse;
  }
}

/* ---- alpha strip ---- */

.alpha {
  background: var(--paper-deep);
  border-radius: 1.25rem;
  text-align: center;
  padding: 2.25rem 1.5rem;
  margin: 1.5rem 0 3.5rem;
}

.alpha h2 {
  color: var(--rust);
  margin: 0 0 0.6rem;
}

.alpha p {
  max-width: 34rem;
  margin: 0 auto 1.4rem;
}

/* ---- footer ---- */

footer {
  background: var(--dusk-deep);
  color: var(--paper-deep);
  text-align: center;
  padding: 1.75rem 1.25rem;
  font-size: 0.9rem;
}

footer p {
  max-width: 38rem;
  margin: 0 auto;
}

.footer-links {
  margin-top: 0.9rem;
  font-family: "Trebuchet MS", Verdana, sans-serif;
}

.footer-links a {
  color: var(--hearth);
  text-decoration: none;
}

.footer-links a:hover,
.footer-links a:focus {
  text-decoration: underline;
}

/* ---- legal pages (privacy / terms) ---- */

.legal {
  max-width: 44rem;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 3.5rem;
}

.legal .legal-back {
  display: inline-block;
  font-family: "Trebuchet MS", Verdana, sans-serif;
  font-size: 0.95rem;
  color: var(--meadow-deep);
  text-decoration: none;
  margin-bottom: 1.5rem;
}

.legal h1 {
  color: var(--rust);
  font-size: clamp(1.8rem, 6vw, 2.4rem);
  margin: 0 0 0.3rem;
}

.legal .legal-updated {
  color: var(--ink-soft);
  font-family: "Trebuchet MS", Verdana, sans-serif;
  font-size: 0.9rem;
  margin: 0 0 2rem;
}

.legal h2 {
  color: var(--meadow-deep);
  font-size: 1.3rem;
  margin: 2rem 0 0.5rem;
}

.legal p, .legal li { margin: 0.6rem 0; }

.legal ul { padding-left: 1.2rem; }

.legal a { color: var(--meadow-deep); }
