@font-face {
  font-family: "TT Norms";
  src: url("../fonts/ttnorms-400.woff2") format("woff2"),
       url("../fonts/ttnorms-400.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TT Norms";
  src: url("../fonts/ttnorms-700.woff2") format("woff2"),
       url("../fonts/ttnorms-700.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { overflow: hidden; }          /* wie css/block.css im Bestand */

body {
  margin: 0;
  background-color: var(--farbe-papier);
  color: var(--farbe-tinte);
  font-family: var(--schrift);
  font-size: 1rem;
  line-height: 1.3;
  cursor: crosshair;                /* Teil des Erscheinungsbilds */
}

/* Scrollbalken bleiben ausgeblendet — bewusste Gestaltungsentscheidung. */
::-webkit-scrollbar { width: 0; height: 0; }

h1, h2, h3, h4, h5 {
  margin: 0;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Desktop-Groessen exakt wie im Bestand: h1/h2 50px, h3 35px, h4/h5 20px.
   Nur unterhalb 1025px wird verkleinert, weil 50px dort ueberlaufen. */
h1,
h2 { font-size: 3.125rem; letter-spacing: 5px; }
h3 { font-size: 2.1875rem; letter-spacing: 5px; }
h4,
h5 {
  margin-block: 46px 6px;
  font-size: 1.25rem;
  letter-spacing: 5px;
}

@media (max-width: 1024px) {
  h1,
  h2 { font-size: clamp(1.75rem, 1.2rem + 3vw, 2.5rem); letter-spacing: 3px; }
  h3 { font-size: clamp(1.375rem, 1rem + 2vw, 1.875rem); letter-spacing: 3px; }
  h4,
  h5 { font-size: 1.125rem; letter-spacing: 3px; }
}

/* 17px auf allen Breiten. Der Bestand hat am Desktop ebenfalls 17px, auf dem
   Handy aber 48px (150% x 200% kaskadiert) — das erzeugte im Blocksatz
   dreiwoertige Zeilen mit riesigen Luecken. Konstante Groesse ist gewollt. */
p {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.3;
  hyphens: auto;
}

a { color: var(--farbe-weiss); font-size: 0.9375rem; text-decoration: none; }

img { max-width: 100%; }

button { font: inherit; }

:focus-visible {
  outline: 2px solid var(--farbe-akzent);
  outline-offset: 3px;
}

.nur-fuer-screenreader {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
