/* pelera — Flächen, Raster, Rhythmus */

.surface {
  position: relative;
  background: var(--bg);
  color: var(--fg);
  padding-block: var(--band-y);
}

.surface--crust {
  --bg: transparent;
  --fg: var(--c-cream);
  --fg-dim: var(--c-cream-dim);
  --line: var(--c-cream-line);
  --accent: var(--c-gold);
  background: var(--grad-crust);
}

.surface--red {
  --bg: var(--c-red);
  --fg: var(--c-cream);
  --fg-dim: var(--c-cream-dim);
  --line: var(--c-cream-line);
  --accent: var(--c-gold);
}

.surface--cream {
  --bg: var(--c-cream);
  --fg: var(--c-void);
  --fg-dim: var(--c-red-dim);
  --line: var(--c-red-line);
  --accent: var(--c-red);
}

.surface--flush {
  padding-block: 0;
}

/* Folgt direkt auf eine gleichfarbige Fläche — der obere Abstand käme sonst
   doppelt. */
.surface--joined {
  padding-top: 0;
}

.shell {
  position: relative;
  z-index: 1;
  width: min(100% - var(--gutter) * 2, var(--maxw));
  margin-inline: auto;
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gutter);
}

/* Sektionskopf: Titel trägt allein. Die Beistellzeile steht daneben, nicht
   als Label darüber — sie erklärt, statt zu etikettieren. */
.head {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gutter);
  margin-bottom: clamp(3rem, 7vw, 6rem);
}

.head__title {
  grid-column: 1 / -1;
}

.head__note {
  grid-column: 1 / -1;
  max-width: 44ch;
  color: var(--fg-dim);
}

@media (min-width: 900px) {
  .head__title {
    grid-column: 1 / 8;
  }

  .head__note {
    grid-column: 9 / 13;
    align-self: end;
  }
}

.split {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gutter);
}

.split__a,
.split__b {
  grid-column: 1 / -1;
}

@media (min-width: 900px) {
  .split__a {
    grid-column: 1 / 6;
  }

  .split__b {
    grid-column: 7 / 12;
  }
}

.rule {
  height: 1px;
  border: 0;
  background: var(--line);
  margin-block: clamp(2.5rem, 6vw, 4.5rem);
}
