/* Platzhalterseite courtierundco.de — Tokens unverändert aus Referenz/design.md übernommen.
   Bewusst eine Datei ohne Bauschritt: Die Seite soll auch in fünf Jahren noch zu öffnen sein.
   Die Schriften liegen daneben und werden selbst ausgeliefert, nicht über eine fremde API geladen
   (design.md, Typography — ein externer Abruf überträgt die IP jedes Besuchers an einen Dritten). */

@font-face {
  font-family: "Zodiak";
  src: url("fonts/Zodiak-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "General Sans";
  src: url("fonts/GeneralSans-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --primary: #193028;
  --primary-hover: #0f1e18;
  --on-primary: #ffffff;
  --background: #ececec;
  --surface: #ffffff;
  --on-surface: #141414;
  --on-surface-muted: #616161;

  --serif: "Zodiak", ui-serif, Georgia, serif;
  --sans: "General Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

  /* spacing 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64 · 96 · 128 */
  --s3: 12px;
  --s4: 16px;
  --s5: 24px;
  --s6: 32px;
  --s7: 48px;
  --s8: 64px;
  --s9: 96px;

  --container: 1280px;
  --measure: 62ch;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--background);
}

body {
  margin: 0;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--background);
  color: var(--on-surface);
  font-family: var(--sans);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

.huelle {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--s6);
}

main {
  flex: 1;
  display: flex;
  align-items: center;
  padding: var(--s9) 0;
}

/* Das Signature-Detail des Systems: 11px, gesperrt, Versalien — zitiert die Logozeile. */
.eyebrow {
  margin: 0 0 var(--s6);
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--on-surface-muted);
}

h1 {
  margin: 0 0 var(--s6);
  max-width: 16ch;
  font-family: var(--serif);
  font-weight: 400;
  font-size: 72px;
  line-height: 1.05;
  letter-spacing: -0.005em;
}

h2 {
  margin: var(--s7) 0 var(--s3);
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.3;
}

p {
  margin: 0 0 var(--s4);
  max-width: var(--measure);
}

.fuehrung {
  font-size: 18px;
  line-height: 1.65;
}

.gedaempft {
  color: var(--on-surface-muted);
}

a {
  color: var(--primary);
  text-underline-offset: 4px;
}
a:hover {
  color: var(--primary-hover);
}
a:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Kontaktblock: die Angaben sind der eigentliche Zweck dieser Seite, deshalb bekommen sie Luft. */
.kontakt {
  margin: var(--s8) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s7);
}
.kontakt div {
  min-width: 12rem;
}
.kontakt dt {
  margin-bottom: 4px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--on-surface-muted);
}
.kontakt dd {
  margin: 0;
  font-size: 18px;
}

footer {
  padding: var(--s6) 0 var(--s7);
}
footer .huelle {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s5);
  font-size: 14px;
}
footer a {
  color: var(--on-surface-muted);
}

/* Textseiten (Impressum, Datenschutz): weiße Fläche auf Papiergrau, ohne Rand und ohne Schatten —
   die Helligkeitsstufe ist die gesamte Flächenhierarchie (design.md, Elevation & Depth). */
.blatt {
  background: var(--surface);
  border-radius: 6px;
  padding: var(--s8) var(--s7);
  margin: var(--s7) 0;
}
.blatt h1 {
  font-size: 48px;
  line-height: 1.1;
  max-width: none;
  margin-bottom: var(--s5);
}
.blatt address {
  font-style: normal;
  margin-bottom: var(--s4);
}
.blatt dl {
  margin: 0 0 var(--s4);
}
.blatt dt {
  font-size: 13px;
  letter-spacing: 0.01em;
  color: var(--on-surface-muted);
}
.blatt dd {
  margin: 0 0 var(--s3);
}

@media (max-width: 860px) {
  .huelle {
    padding: 0 var(--s4);
  }
  main {
    padding: var(--s7) 0;
  }
  h1 {
    font-size: 46px;
    max-width: none;
  }
  .blatt {
    padding: var(--s6) var(--s5);
  }
  .blatt h1 {
    font-size: 34px;
  }
  .kontakt {
    gap: var(--s5);
    margin-top: var(--s7);
  }
}
