/* Ausschließlich der Inhaltssatz der Rechtstexte. Globale Navigation, Footer,
   Typografie, Grid, Textur und Bewegung kommen aus den gemeinsamen Dateien. */
.legal-content { padding-inline: var(--pad); }
.legal-content { border-block-start: 1px solid var(--rule); }
.legal-section {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-block: clamp(2.5rem, 6vw, 5rem);
  border-block-end: 1px solid var(--rule);
}
.legal-section > h2 {
  grid-column: 1;
  margin: 0;
  padding-inline: var(--inset);
  color: var(--muted);
  font-size: var(--type-eyebrow);
  font-weight: 600;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.legal-copy {
  grid-column: 2 / 4;
  padding-inline: var(--inset);
  font-size: var(--type-subline);
}
.privacy-page .legal-section { padding-block: clamp(2rem, 4vw, 3.5rem); }
.privacy-page .legal-copy { inline-size: 100%; }
.privacy-page .legal-copy > p {
  margin-block: var(--legal-copy-paragraph-margin, 0 .8em);
}
.legal-copy > :first-child { margin-block-start: 0; }
.legal-copy > :last-child { margin-block-end: 0; }
.legal-copy h3 {
  margin-block: 2.25rem .65rem;
  font-size: var(--headline-s);
  line-height: 1.1;
}
.legal-copy address { font-style: normal; }
.legal-copy a { text-decoration-thickness: 1px; text-underline-offset: .2em; }
.legal-copy ul { padding-inline-start: 1.2em; }
.legal-note { color: var(--muted); }
.imprint-page main {
  min-block-size: 100vh;
  min-block-size: 100svh;
}

/* Impressum: dieselbe organische 4:5-Klecksform wie beim About-Porträt, hier über
   die beiden rechten Rasterspalten vergrößert. Die linke Hälfte behält exakt die
   vorhandene Label-/Inhaltsteilung. */
.imprint-layout {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-inline: var(--pad);
}
.imprint-copy {
  position: relative;
  z-index: 1;
  grid-column: 1 / 3;
}
.imprint-layout .project-hero { padding-inline: 0; }
.imprint-layout .project-hero h1 {
  inline-size: max-content;
  max-inline-size: calc(200% - var(--inset));
}
.imprint-layout .legal-content {
  padding-inline: 0;
}
.imprint-layout .legal-section { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.imprint-layout .legal-copy { grid-column: 2 / -1; }
.imprint-visual {
  position: relative;
  z-index: 0;
  grid-column: 3 / 5;
  align-self: start;
  margin: 0;
  padding: var(--space-section) var(--inset) var(--inset);
}
.imprint-visual svg {
  display: block;
  inline-size: 100%;
  aspect-ratio: 4 / 5;
}
.imprint-visual-fill { fill: color-mix(in srgb, var(--warm-black) 8%, var(--bg)); }
.imprint-visual-lines {
  fill: none;
  stroke: var(--rule);
  stroke-width: .12;
  vector-effect: non-scaling-stroke;
}
.imprint-visual-label {
  fill: var(--muted);
  font-family: "Saira", system-ui, sans-serif;
  font-size: 1.1px;
  font-weight: 600;
  letter-spacing: .1em;
  text-anchor: middle;
  text-transform: uppercase;
}

@media (max-width: 52rem) {
  .legal-section { grid-template-columns: 1fr; gap: 1.25rem; }
  .legal-section > h2,
  .legal-copy { grid-column: auto; }
  .imprint-layout { grid-template-columns: 1fr; }
  .imprint-copy,
  .imprint-layout .legal-content,
  .imprint-visual { grid-column: 1; }
  .imprint-layout .legal-section { grid-template-columns: 1fr; }
  .imprint-layout .legal-copy { grid-column: auto; }
  .imprint-visual { padding-block: var(--space-title-content); }
}
