/* ================================================================
   LEADNETIC · Base – Reset, Typografie, Container
   ================================================================ */

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--gray-700);
  background: var(--white);
  font-size: 1rem;
  line-height: 1.72;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Überschriften ──
   Enger Buchstabenabstand und Gewicht 800 statt 900: wirkt in großen
   Graden ruhiger und weniger plakativ. */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 800;
  line-height: 1.16;
  color: var(--dark);
  letter-spacing: -0.025em;
  text-wrap: balance;
}

h1 { font-size: clamp(2.1rem, 4.2vw, 3.4rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
h3 { font-size: clamp(1.15rem, 1.6vw, 1.4rem); letter-spacing: -0.015em; }
h4 { font-size: 1.02rem; letter-spacing: -0.01em; }

/* <em> wird in Überschriften nur zur Auszeichnung des Verlaufstexts
   benutzt, nicht für Kursivschrift. */
h1 em, h2 em, h3 em { font-style: normal; }

p { margin-bottom: 1.15rem; }
p:last-child { margin-bottom: 0; }

a {
  text-decoration: none;
  color: var(--blue);
  transition: color .2s var(--ease);
}
a:hover { color: var(--blue-dark); }

strong, b { font-weight: 600; color: var(--dark); }

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

ul, ol { list-style-position: outside; }

hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 2.5rem 0;
}

::selection { background: rgba(0,87,255,.15); color: var(--dark); }

/* ── Container ── */
.container {
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.container-narrow {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}

section { padding: var(--sp); }

/* ── Flächen-Varianten für Sektionen ── */
.bg-white { background: var(--white); }
.bg-soft  { background: var(--gray-50); }
.bg-tint  { background: var(--blue-tint); }
.bg-dark  { background: var(--dark); color: rgba(255,255,255,.72); }
.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4 { color: var(--white); }

/* ── Verlaufstext ── */
.gt  { background: var(--grad-accent); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.gt2 { background: var(--grad-text);   -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
