/* essents – Stil der Homepage
   Farben und Schrift wie in brand/: Salbeigrün als Markenfarbe,
   je ein leiser Farbton pro Sparte. */

@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/quicksand-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/quicksand-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/quicksand-latin-600-normal.woff2") format("woff2");
}

:root {
  /* Marke */
  --salbei: #7a8b6f;
  --salbei-dunkel: #4c5645;
  --creme: #f5f0eb;
  --weiss: #ffffff;
  --text: #4a5642;
  --text-leise: #5e6b55;

  /* Sparten: Grundton, dunkle Stufe (Text), heller Flächenton */
  --kin: #9e7e7b;
  --kin-dunkel: #624e4c;
  --kin-ton: #f0e9e6;
  --not: #a9735f;
  --not-dunkel: #69473b;
  --not-ton: #f1e8e3;
  --aqua: #6e8e99;
  --aqua-dunkel: #44585f;
  --aqua-ton: #eef1f3;

  --breite: 1120px;
  --rand: 24px;
  --radius: 18px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--creme);
  color: var(--text);
  font-family: "Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1.125rem;
  line-height: 1.65;
}

main {
  flex: 1 0 auto;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: var(--text);
}
a:hover {
  color: var(--salbei-dunkel);
}

h1,
h2 {
  font-weight: 500;
  line-height: 1.15;
  margin: 0;
}

p {
  margin: 0;
}

.wrap {
  max-width: var(--breite);
  margin: 0 auto;
  padding-inline: var(--rand);
}

.sprung {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 20;
  background: var(--weiss);
  padding: 8px 14px;
  border-radius: 8px;
}
.sprung:focus {
  left: 8px;
}

/* Kopfzeile */

.kopf {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(245, 240, 235, 0.94);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(74, 86, 66, 0.08);
}

.kopf__innen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 32px;
  padding-block: 14px;
}

.kopf__logo img {
  height: 30px;
  width: auto;
}

.navi ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.navi a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-weight: 500;
  font-size: 1.0625rem;
  text-decoration: none;
}

.punkt {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: none;
}
.punkt--kin { background: var(--kin); }
.punkt--not { background: var(--not); }
.punkt--aqua { background: var(--aqua); }

/* Anker nicht unter der Kopfzeile verstecken */
section[id] {
  scroll-margin-top: 80px;
}

/* Einstieg */

.einstieg {
  padding-top: 64px;
}

.einstieg__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  text-align: center;
}

.einstieg__logo {
  width: 240px;
  max-width: 70%;
}

.einstieg h1 {
  margin-top: 22px;
  font-size: clamp(2.2rem, 5vw, 3.2rem);
}

.einstieg__satz {
  max-width: 46rem;
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  line-height: 1.55;
  font-weight: 500;
}

/* Titelbild über die ganze Breite, stösst unten an die erste Sparte */
.einstieg__bild {
  margin-top: 56px;
  width: 100%;
  aspect-ratio: 5 / 2;
  object-fit: cover;
  object-position: 50% 60%;
}

.v-kin { color: var(--kin-dunkel); }
.v-not { color: var(--not-dunkel); }
.v-aqua { color: var(--aqua-dunkel); }

/* Sparten */

.sparte {
  padding-block: 88px;
}
.sparte--kin { background: var(--kin-ton); }
.sparte--not { background: var(--not-ton); }
.sparte--aqua { background: var(--aqua-ton); }

.sparte__innen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px 72px;
}

.sparte--gespiegelt .sparte__innen {
  flex-direction: row-reverse;
}

.sparte__bild {
  flex: 1 1 380px;
  min-width: 0;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius);
}

/* Symbolkarte statt Foto: heller Grund, Liniensymbol in der Spartenfarbe */
.sparte__symbol {
  flex: 1 1 380px;
  min-width: 0;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sparte--kin .sparte__symbol { background: #f9f7f7; }
.sparte--not .sparte__symbol { background: #faf7f5; }
.sparte--aqua .sparte__symbol { background: #f6f8f9; }

.sparte__symbol img {
  width: 62%;
  max-width: 300px;
}

.sparte__text {
  flex: 1 1 380px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.sparte__verb {
  font-size: 2.6rem;
  line-height: 1.1;
  font-weight: 500;
}
.sparte--kin .sparte__verb { color: var(--kin-dunkel); }
.sparte--not .sparte__verb { color: var(--not-dunkel); }
.sparte--aqua .sparte__verb { color: var(--aqua-dunkel); }

.sparte h2,
.ueber h2,
.kontakt h2 {
  font-size: 1.6rem;
  font-weight: 600;
}

/* Über mich */

.ueber {
  padding-block: 88px;
}

.ueber__innen {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  align-items: center;
  gap: 32px 64px;
}

.ueber__bild {
  flex: 0 1 380px;
  min-width: 0;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 30%; /* falls doch beschnitten wird: Kopf bleibt im Bild */
  border-radius: var(--radius);
}

.ueber__name {
  font-weight: 600;
}

.ueber__ziel {
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 500;
}

.ueber__text {
  flex: 1 1 380px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Kontakt */

.kontakt {
  background: var(--weiss);
  padding-block: 80px;
}

.kontakt__innen {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.kontakt address {
  font-style: normal;
}

.kontakt__wege {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
}

.kontakt__wege a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* Rechtstexte (Impressum, Datenschutz) */

.rechtstext {
  padding-block: 64px 96px;
}

.rechtstext__innen {
  max-width: 760px;
}

.rechtstext h1 {
  font-size: clamp(2rem, 4vw, 2.6rem);
  margin-bottom: 32px;
}

.rechtstext h2 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 36px 0 10px;
}

.rechtstext p + p {
  margin-top: 12px;
}

.rechtstext address {
  font-style: normal;
  margin-bottom: 12px;
}

.rechtstext__stand {
  margin-top: 40px;
  font-size: 0.95rem;
  color: var(--text-leise);
}

/* Fuss */

.fuss {
  background: var(--salbei-dunkel);
  color: var(--creme);
  padding-block: 48px;
  font-size: 0.95rem;
}

.fuss__innen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.fuss__logo {
  width: 120px;
}

.fuss__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}

.fuss a {
  color: var(--creme);
}

/* Handy */

@media (max-width: 640px) {
  .kopf {
    position: static;
  }
  .navi ul {
    gap: 0 20px;
  }
  .einstieg {
    padding-top: 40px;
  }
  .einstieg__bild {
    margin-top: 36px;
    aspect-ratio: 4 / 3;
  }
  .sparte,
  .ueber {
    padding-block: 64px;
  }
  .sparte__verb {
    font-size: 2.2rem;
  }
}
