/* DISRPTIVE – Design-Tokens
   Akzent und dunkle Fläche werden im HTML über var(--accent) / var(--deep) genutzt. */
:root{
  --accent:#2F6F5E;      /* Markengrün: Hervorhebungen, Kennzahlen, Primär-Button */
  --deep:#10241F;        /* Dunkle Flächen: Operating-Partner-Karte, Kontakt, Footer */
  --ink:#13201C;         /* Text */
  --muted:#56625D;       /* Sekundärtext */
  --ground:#F4F5F1;      /* Seitenhintergrund */
  --ground-alt:#EAEDE8;  /* Abschnitte „Ansatz“ und „Partner“ */
  --card:#FBFBF9;        /* Karten */
}

/* Schriften lokal gehostet (kein Abruf bei Google, siehe Datenschutzerklärung) */
@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/geist-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/geist-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/geist-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/geist-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/geist-mono-latin-500-normal.woff2') format('woff2')}

html{scroll-behavior:smooth}
body{margin:0;background:#F4F5F1;color:#13201C;font-family:'Geist',ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
.nav-links a:hover,.txt-link:hover{text-decoration:underline;text-underline-offset:5px}
.btn:hover{opacity:.86}
@media (max-width:760px){.nav-links{display:none !important}}
.marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{animation:marquee 40s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pq{animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:both}
.pq-idea{animation-name:pqIdea;animation-duration:8s}
.pq-chosen{animation-name:pqChosen;animation-duration:8s}
.pq-pilot{animation-name:pqPilot;animation-duration:8s}
.pq-run{animation-name:pqRun;animation-duration:3.2s;animation-timing-function:ease-out}
@keyframes pqIdea{0%,22%,100%{background-color:rgba(47,111,94,0);border-color:rgba(19,32,28,.24)}9%{background-color:rgba(47,111,94,.14);border-color:rgba(47,111,94,.45)}}
@keyframes pqChosen{0%,24%,100%{opacity:.32}10%{opacity:.62}}
@keyframes pqPilot{0%,26%,100%{opacity:.32}12%{opacity:.58}}
@keyframes pqRun{0%{box-shadow:0 0 0 0 rgba(47,111,94,.35)}70%,100%{box-shadow:0 0 0 7px rgba(47,111,94,0)}}
@media (prefers-reduced-motion:reduce){.pq{animation:none !important}}
@media (prefers-reduced-motion:reduce){.marquee{-webkit-mask-image:none;mask-image:none}.marquee-track{animation:none;width:auto !important}.marquee-track ul{flex-wrap:wrap;row-gap:12px}.marquee-dup{display:none !important}}
.legal a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(19,32,28,.3)}
.legal a:hover{text-decoration-color:currentColor}
