/* Vorschaltseite amkochgames.de – Farben und Schrift wie die volle Seite (src/layouts/Seite.astro). */
@font-face {
  font-family: 'Big Shoulders';
  src: url('/fonts/BigShoulders-latin-v4.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --grund: #0f1f1c;
  --grund-tief: #0a1614;
  --text: #edf2ec;
  --leise: #a9bab3;
  --linie-matt: #2c4640;
  --haupt: #ff6b1a;
  --akzent: #d6ef55;
  --fokus: #d6ef55;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { background: var(--grund); }
body {
  margin: 0; background: var(--grund); color: var(--text);
  font-family: 'Big Shoulders', 'Arial Narrow', sans-serif;
  font-variation-settings: 'opsz' 14;
  font-size: 1.25rem; font-weight: 450; line-height: 1.45; letter-spacing: 0.01em;
}
a { color: var(--akzent); text-underline-offset: 0.18em; text-decoration-thickness: 2px; }
a:hover, a:active { color: var(--text); }
:focus-visible { outline: 3px solid var(--fokus); outline-offset: 3px; }
.sprung { position: absolute; left: 16px; top: -64px; padding: 8px 16px; background: var(--akzent); color: var(--grund-tief); font-weight: 700; }
.sprung:focus { top: 8px; }
.sprung:hover, .sprung:active, .sprung:focus { color: var(--grund-tief); background: var(--akzent); }

.seite { container-type: inline-size; --x: 5cqw; --strich: 1.1667cqw; --einzug: max(64px, calc(var(--x) + 56px)); }
.kopf {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 24px;
  padding: 16px; font-size: 1.25rem; border-bottom: 2px solid var(--linie-matt);
}
.marke { color: var(--text); font-weight: 800; letter-spacing: 0.02em; text-decoration: none; }
.marke:hover { color: var(--akzent); }

/* Kleines Netz-Element wie auf der vollen Seite; die orange Linie läuft links als Leitlinie weiter */
.netz { position: relative; aspect-ratio: 4 / 1; overflow: hidden; }
.netz svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

.strecke { position: relative; padding: 0 16px 24px var(--einzug); }
.strecke::before {
  content: ''; position: absolute; top: 0; bottom: 0;
  left: calc(var(--x) - var(--strich) / 2); width: var(--strich); background: var(--haupt);
}
.kapsel {
  position: absolute; top: 32px; left: calc(var(--x) - 16px); width: 32px; height: 56px;
  border-radius: 16px; border: 6px solid var(--text); background: var(--grund);
}
.strecke > * { max-width: 46rem; }

.start { padding-top: 24px; padding-bottom: 72px; }
.start h1 {
  margin: 0; font-weight: 900; font-variation-settings: 'opsz' 72;
  font-size: clamp(2.5rem, 11vw, 8rem); line-height: 0.9; letter-spacing: -0.01em; hyphens: manual;
}
.unter {
  margin: 16px 0 24px; display: inline-block; background: var(--haupt); color: var(--grund-tief);
  font-weight: 800; font-size: clamp(1.25rem, 2.6vw, 2rem); padding: 4px 12px;
}
.kontakt { margin: 0; font-size: 1.5rem; }

.text { padding-top: 40px; padding-bottom: 48px; }
.text h1, .text h2 { hyphens: auto; overflow-wrap: break-word; }
.text h1 { font-size: clamp(2rem, 9vw, 3rem); font-weight: 900; font-variation-settings: 'opsz' 72; line-height: 1; margin: 0 0 24px; }
.text h2 { font-size: 1.75rem; font-weight: 800; font-variation-settings: 'opsz' 36; line-height: 1.15; margin: 32px 0 8px; }
.text p, .text ul, .text address { margin: 0 0 16px; }
.text address { font-style: normal; }
.offen { color: var(--akzent); }

.fuss { padding: 24px 16px 32px var(--einzug); color: var(--leise); font-size: 1rem; }
.fuss a { color: var(--leise); }
.fuss a:hover, .fuss a:active { color: var(--text); }
