/* andreasmartiny.de – Nachbau des Wix-Designs (minimalistisch, Helvetica-Light-Anmutung mit Inter) */
@font-face {
  font-family: "Inter AM";
  src: url("/assets/fonts/inter-var.woff2") format("woff2");
  font-weight: 200 600;
  font-style: normal;
  font-display: swap;
}
:root {
  --text: #282828;
  --aktiv: #3b424c;
  --grau: #e1dddb;
  --hell: #e8e6e6;
  --weiss: #fff;
  --rand: 100px;
  --font: "Inter AM", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --light: 300;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 110px; }
body {
  margin: 0; background: var(--weiss); color: var(--text);
  font-family: var(--font); font-weight: var(--light); font-size: 20px; line-height: 1.6;
  letter-spacing: -0.01em; -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p a, li a, td a, th a, dd a, figcaption a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
h1, h2, h3, p, ul, ol, figure, dl, dd { margin: 0; }
h1, h2, h3 { font-weight: var(--light); letter-spacing: -0.02em; overflow-wrap: break-word; }
main { overflow-wrap: break-word; }
strong { font-weight: 500; }
:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }
.skip { position: absolute; left: 50%; top: -60px; transform: translateX(-50%); background: #fff; color: #116dff; padding: 8px 24px; border-radius: 24px; z-index: 100; font-size: 14px; }
.skip:focus { top: 10px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Raster: 100px Seitenrand, darunter 980er-Raster */
.wrap { width: calc(100% - 2 * var(--rand)); max-width: 1720px; margin-inline: auto; }
@media (max-width: 1180px) { .wrap { width: min(980px, calc(100% - 48px)); } }
@media (max-width: 760px) { .wrap { width: calc(100% - 40px); } }

.linie { border: 0; border-top: 1px solid var(--text); margin: 0; }

/* Typo */
.h1 { font-size: 80px; line-height: 1.22; letter-spacing: -0.025em; }
.h1-lang { font-size: 44px; line-height: 1.4; }
.h2 { font-size: 44px; line-height: 1.25; }
.h2--zeilen { line-height: 1.4; }
.h2-klein { font-size: 26px; line-height: 1.4; }

/* Buttons: Pille, 1px Rahmen, füllt sich beim Hover */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 144px; height: 40px; padding: 0 22px; border: 1px solid var(--text); border-radius: 20px;
  background: #fff; color: var(--text); font-size: 18px; line-height: 1.4; text-decoration: none;
  transition: background-color .4s, color .4s, border-color .4s; cursor: pointer; font-family: inherit; font-weight: var(--light);
}
.btn:hover, .btn:focus-visible { background: var(--text); color: #fff; }
.btn--gross { width: 227px; height: 50px; }
.btn--block { width: 100%; }
.btn--form { width: 240px; }

/* Header */
.header { position: sticky; top: 0; z-index: 50; height: 100px; background: #fff; transition: transform .35s ease, opacity .35s ease; }
.header.is-weg { transform: translateY(-100%); opacity: 0; }
.header__in { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.logo { font-weight: 400; font-size: 22px; letter-spacing: .03em; padding-left: 4px; white-space: nowrap; }
.logo-font { font-weight: 400; letter-spacing: .03em; }
.nav a, .linkliste a, .footer__mehr a { text-decoration: none; }
.nav ul { list-style: none; display: flex; align-items: center; padding: 0; margin: 0; }
.nav a { display: block; font-size: 16px; line-height: 50px; padding: 0 10px; transition: color .4s; }
.nav li:last-child a { padding-right: 5px; }
.nav a[aria-current] { color: var(--aktiv); }
.burger { display: none; }

/* Brotkrumen */
.crumbs { font-size: 13px; line-height: 1.4; padding-top: 4px; color: #5a5a5a; }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; }
.crumbs li + li::before { content: "/"; margin-right: 6px; }
.crumbs a:hover { text-decoration: underline; }
.crumbs li[aria-current] { max-width: 50ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Seitenkopf (H1 links, Text rechts) */
.kopf { display: grid; grid-template-columns: minmax(0, 1fr) 354px; column-gap: 40px; align-items: center; padding: 52px 0 76px; }
.seite-kontakt .kopf { padding-bottom: 200px; }
.kopf__intro { padding-right: 54px; }
.kopf__intro p { font-size: 20px; line-height: 32px; }
.kopf__intro p + p { margin-top: 12px; }
.kopf--lang { padding: 40px 0 70px; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); }
.kopf--mitte { grid-template-columns: 1fr; text-align: center; padding-bottom: 60px; }
.kopf--mitte h1 { justify-self: center; }

/* Start: Hero */
.hero { display: grid; grid-template-columns: 1fr 254px 100px; padding-top: 66px; }
.hero__h1 { grid-column: 1; max-width: 700px; }
.hero__aside { grid-column: 2; padding-top: 12px; }
.hero__aside p, .hero__aside li { font-size: 20px; line-height: 32px; }
.hero__aside ul { padding-left: 18px; margin-left: 0; }
.hero__aside .btn { margin-top: 20px; margin-left: 10px; }
.hero__bild { grid-column: 1 / -1; margin-top: 40px; margin-bottom: 165px; width: min(1107px, 100%); }
.hero__bild img { width: 100%; aspect-ratio: 1107 / 738; object-fit: cover; }

/* Start: Über mich */
.ueber { display: grid; grid-template-columns: 1fr 407px; gap: 60px; padding: 50px 0 120px; }
.ueber__text { display: flex; flex-direction: column; justify-content: space-between; padding: 33px 0 0; }
.ueber__text p { font-size: 20px; line-height: 32px; max-width: 470px; margin-bottom: 28px; }
.ueber__bild img { width: 100%; height: 840px; object-fit: cover; object-position: 50% 30%; }

/* Start: Lösungen + Karten */
.loesungen { padding: 8px 0 120px; }
.loesungen__kopf { display: grid; grid-template-columns: 1fr 270px; gap: 60px; margin-bottom: 102px; }
.loesungen__kopf .h2 { max-width: 600px; }
.loesungen__kopf p { font-size: 17px; line-height: 32px; padding-top: 10px; }
.karten3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.karten3--ohne { margin-top: 82px; }
.leistung img { width: 100%; aspect-ratio: 454 / 350; object-fit: cover; margin-bottom: 35px; }
.leistung__titel { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; font-size: 27px; line-height: 37.8px; margin-bottom: 8px; max-width: 400px; }
.karten3--ohne .leistung__titel { margin-bottom: 26px; }
.leistung__titel a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.leistung p { font-size: 17px; line-height: 27.2px; max-width: 390px; }

/* Start: Vorteile */
.vorteile { padding: 85px 0 135px; }
.vorteile .h2 { margin-left: -5px; margin-bottom: 115px; }
.vorteile__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 60px; align-items: start; }
.vorteile__liste { list-style: none; counter-reset: v; padding: 0 0 0 0; max-width: 830px; }
.vorteile__liste li { counter-increment: v; font-size: 19px; line-height: 30.4px; margin-bottom: 30px; }
.vorteile__liste li::before { content: counter(v) "."; font-weight: 500; display: inline-block; width: 36px; }
.vorteile__liste strong { font-weight: 500; }
.vorteile__bild { margin-top: 0; }
.vorteile__bild img { width: 100%; aspect-ratio: 694 / 386; object-fit: cover; }

/* Start: Zertifikate */
.zert { background: var(--grau); border-top: 1px solid var(--text); padding: 90px 0 110px; }
.zert__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.zert__item .h2 { margin-bottom: 18px; }
.zert__logo { background: #fff; }
.zert__logo img { width: 100%; aspect-ratio: 607 / 281; object-fit: contain; }
.zert__logo img { max-width: 640px; margin-inline: auto; } /* Quelllogos nur 660/916 px: auf sehr breiten Bildschirmen nicht hochskalieren */
.zert__item figcaption { font-size: 17px; line-height: 1.5; margin-top: 14px; }

/* Start: Neueste Beiträge (dunkel) */
.neueste { background: var(--text); color: #fff; padding: 90px 0 40px; }
.neueste__titel { text-align: center; margin-bottom: 80px; }
.neueste__grid { display: grid; grid-template-columns: repeat(3, 297px); gap: 24px; justify-content: center; }

/* Karten (Blog) */
.karte__link { display: block; text-decoration: none; }
.karte img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.karte__datum { font-size: 12px; line-height: 1.5; margin: 22px 0 14px; }
.karte__titel { font-size: 26px; line-height: 36.4px; margin-bottom: 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.karte__text { font-size: 20px; line-height: 30px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.karte__link:hover .karte__titel { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.karte--dunkel .karte__titel { font-size: 26px; line-height: 36.4px; margin: 30px 0 14px; }
.karte--dunkel .karte__text { font-size: 20px; line-height: 30px; -webkit-line-clamp: 3; }
.karte--dunkel { padding-bottom: 50px; }
.karte--dunkel .karte__link:hover .karte__titel { color: var(--hell); }

/* Start: Faktenabschnitt (SEO, im Originalstil) */
.fakten { padding: 90px 0 30px; max-width: 1240px; }
.fakten h2 { font-size: 30px; line-height: 42px; margin-bottom: 20px; }
.fakten > p { font-size: 17px; line-height: 27.2px; max-width: 830px; margin-bottom: 14px; }
.fakten__links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px; max-width: 830px; }
.linkliste h2 { font-size: 20px; line-height: 1.4; margin-bottom: 10px; }
.linkliste ul { list-style: none; padding: 0; }
.linkliste li { font-size: 17px; line-height: 30px; }
.linkliste a { text-decoration: none; }
.linkliste a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Footer */
.footer { padding: 55px 0 110px; }
.footer__grid { display: grid; grid-template-columns: minmax(0, 1fr) 374px; gap: 40px; }
.footer__title { font-size: 30px; line-height: 42px; margin-bottom: 22px; }
.newsletter label { display: block; font-size: 20px; line-height: 20px; margin-bottom: 12px; }
.pillform { display: flex; width: 100%; max-width: 424px; }
.pillform input { flex: 1 1 280px; min-width: 0; height: 40px; border: 1px solid var(--text); border-right: 0; border-radius: 20px 0 0 20px; padding: 3px 3px 3px 16px; font: inherit; font-size: 16px; color: var(--text); background: #fff; }
.pillform__btn { flex: 0 0 144px; height: 40px; border: 1px solid var(--text); border-radius: 0 20px 20px 0; background: transparent; color: var(--text); font: inherit; font-size: 18px; cursor: pointer; transition: background-color .4s, color .4s; }
.pillform__btn:hover, .pillform__btn:focus-visible { background: var(--text); color: #fff; }
.form__status { font-size: 16px; line-height: 1.5; min-height: 0; margin-top: 8px; }
.form__status:empty { display: none; }
.footer__legal { margin-top: 48px; display: flex; gap: 16px; font-size: 20px; line-height: 32px; }
.footer__legal a, .footer__kontakt a, .footer__copy a { text-decoration: none; }
.footer__legal a:hover, .footer__kontakt a:hover, .footer__copy a:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer__copy { font-size: 20px; line-height: 32px; margin-top: 8px; }
.footer__copy .logo-font { font-size: 20px; }
.footer__kontakt { padding-top: 104px; font-size: 20px; line-height: 29px; }
.footer__kontakt p { margin-bottom: 14px; }
.footer__mehr { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 14px; line-height: 1.6; margin-top: 28px; color: #4a4a4a; }

/* Über mich */
.person { display: grid; grid-template-columns: minmax(0, 1fr) 407px; gap: 60px; padding: 80px 102px 72px 0; }
.person__unter { font-size: 17px; line-height: 1.6; margin: 18px 0 20px; }
.person__links img { width: 450px; max-width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.person__text { padding-top: 104px; }
.person__text p, .vision p { font-size: 20px; line-height: 32px; }
.person__text p + p, .vision p + p { margin-top: 32px; }
.vision { background: var(--text); color: #fff; padding: 70px 0 200px; }
.vision__grid { display: grid; grid-template-columns: minmax(0, 1fr) 407px; gap: 60px; padding-right: 102px; }
.vision .h2 { max-width: 460px; }
.vision__grid > div { padding-top: 10px; }
.quali { padding: 80px 0 20px; max-width: 1240px; }
.quali h2 { font-size: 30px; line-height: 42px; margin-bottom: 16px; }
.quali p, .quali li { font-size: 17px; line-height: 27.2px; max-width: 830px; }
.quali ul { margin: 12px 0 16px; padding-left: 20px; }

/* Kontakt */
.kontakt { display: grid; grid-template-columns: minmax(0, 1fr) 406px; gap: 60px; padding: 52px 0 40px; }
.kontakt .h2 { margin: 14px 0 0 5px; color: var(--text); }
.form { margin-top: 205px; width: 520px; max-width: 100%; }
.form__grid { display: grid; grid-template-columns: 240px 240px; column-gap: 40px; row-gap: 18px; }
.form__grid p { display: flex; flex-direction: column; }
.form__voll { grid-column: 1 / -1; }
.form label { font-size: 20px; line-height: 1.4; margin-bottom: 8px; }
.form input, .form textarea { width: 100%; height: 40px; border: 1px solid var(--text); border-radius: 20px; padding: 3px 3px 3px 16px; font: inherit; font-size: 16px; color: var(--text); background: #fff; }
.form textarea { height: 144px; padding: 12px 16px; border-radius: 20px; resize: vertical; }
.form__hinweis { font-size: 14px; line-height: 1.5; margin: 20px 0; }
.kontakt__bild img { width: 100%; aspect-ratio: 406 / 810; object-fit: cover; }
.kopf__intro a { text-decoration: none; }

/* Blog */
.blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 125px 0 30px; }
.blog__ratgeber { font-size: 17px; padding-bottom: 20px; }

/* Beitrag */
.beitrag { display: grid; grid-template-columns: 608px 200px; column-gap: 94px; justify-content: center; padding: 52px 0 60px; }
.beitrag--breit { grid-template-columns: minmax(0, 760px) 260px; column-gap: 80px; }
.beitrag__meta { font-size: 14px; line-height: 21px; margin-bottom: 18px; }
.beitrag__meta a { text-decoration: none; }
.beitrag h1 { margin-bottom: 26px; }
.prosa { font-size: 20px; line-height: 30px; }
.prosa > * + * { margin-top: 20px; }
.prosa h2, .prosa h3 { font-size: 30px; line-height: 42px; margin-top: 44px; }
.prosa h3 { font-size: 24px; line-height: 34px; margin-top: 32px; }
.prosa h2 + *, .prosa h3 + * { margin-top: 12px; }
.prosa ul, .prosa ol { padding-left: 22px; }
.prosa li + li { margin-top: 6px; }
.beitrag__bild { margin: 28px 0; }
.beitrag__bild img { width: 100%; }
.hinweis { font-size: 16px; line-height: 1.6; border-left: 1px solid var(--text); padding-left: 16px; }
.lead { font-size: 22px; line-height: 34px; }
.klein { font-size: 14px; line-height: 1.6; }
.autor { align-self: start; margin-top: 30px; border: 1px solid var(--text); border-radius: 12px; padding: 28px 27px 28px; width: 280px; margin-left: -40px; }
.autor img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.autor__name { font-size: 26px; line-height: 1.6; margin: 22px 0 14px; }
.autor__text { font-size: 14px; line-height: 1.6; margin-bottom: 22px; }
.aktuell { padding: 30px 0 60px; max-width: 902px; }
.aktuell .h2-klein { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid var(--text); }
.aktuell__alle { font-size: 14px; }
.aktuell__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.aktuell__grid .karte__titel { font-size: 22px; line-height: 32px; }
.aktuell__grid .karte__text { font-size: 17px; line-height: 27px; }
.aktuell__grid img { aspect-ratio: 16 / 9; }

/* Inhaltsseiten (Leistungen, Orte, Ratgeber, FAQ, Glossar) */
.inhalt { display: grid; grid-template-columns: minmax(0, 760px) 300px; column-gap: 80px; padding: 60px 0 60px; }
.inhalt__bild img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.inhalt__seite { display: flex; flex-direction: column; gap: 40px; align-self: start; margin-top: 8px; }
.cta { border: 1px solid var(--text); border-radius: 12px; padding: 26px; }
.cta__titel { font-size: 22px; line-height: 1.45; margin-bottom: 12px; }
.cta p { font-size: 16px; line-height: 1.6; }
.cta .btn { margin-top: 18px; }
.tabelle { overflow-x: auto; }
.tabelle table { width: 100%; border-collapse: collapse; font-size: 17px; line-height: 1.5; }
.tabelle th, .tabelle td { text-align: left; vertical-align: top; padding: 10px 14px 10px 0; border-bottom: 1px solid var(--text); font-weight: var(--light); }
.tabelle thead th { font-weight: 500; font-size: 15px; }
.tabelle tbody th { font-weight: 400; }
.faq { margin-top: 48px; }
.faq__item { margin-top: 22px; }
.faq__item h3 { font-size: 22px; line-height: 32px; margin: 0 0 6px; }
.faq__item p { font-size: 18px; line-height: 29px; }
.quellen { margin-top: 48px; border-top: 1px solid var(--text); padding-top: 8px; }
.quellen h2 { font-size: 22px; line-height: 32px; margin-top: 18px; }
.quellen__stand, .quellen li { font-size: 15px; line-height: 1.6; }
.quellen ul { padding-left: 18px; margin-top: 10px; }
.uebersicht { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 24px; padding: 88px 0 60px; }
.uebersicht__item { display: block; text-decoration: none; }
.uebersicht__item img { width: 100%; aspect-ratio: 454 / 350; object-fit: cover; margin-bottom: 26px; }
.uebersicht__item p { font-size: 17px; line-height: 27.2px; }
.uebersicht__item .karte__datum { margin: 0 0 8px; }
.uebersicht__item:hover .leistung__titel { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.glossar dt { font-size: 24px; line-height: 34px; margin-top: 30px; scroll-margin-top: 120px; }
.glossar dd { font-size: 18px; line-height: 29px; margin-top: 4px; }
.recht { max-width: 930px; padding: 20px 0 60px; font-size: 18px; line-height: 29px; }
.recht h2 { font-size: 26px; line-height: 36px; }


/* Kontakt im Menü als dezente Pille (nur Desktop) */
@media (min-width: 761px) {
  .nav li:last-child { margin-left: 8px; }
  .nav li:last-child a { line-height: 38px; padding: 0 18px; border: 1px solid var(--text); border-radius: 20px; transition: background-color .4s, color .4s; }
  .nav li:last-child a:hover, .nav li:last-child a:focus-visible, .nav li:last-child a[aria-current] { background: var(--text); color: #fff; }
}

/* Anfrageblock am Seitenende */
.anfrage { border-top: 1px solid var(--text); padding: 70px 0 90px; }
.anfrage__grid { display: grid; grid-template-columns: minmax(0, 760px) 300px; column-gap: 80px; align-items: start; }
.anfrage__grid > * { min-width: 0; }
.anfrage__grid--schmal { max-width: 902px; grid-template-columns: minmax(0, 1fr) 240px; column-gap: 48px; }
.anfrage .h2 { margin-bottom: 18px; }
.anfrage__text { font-size: 20px; line-height: 32px; max-width: 640px; }
.anfrage__knoepfe { display: flex; flex-wrap: wrap; gap: 16px 20px; margin-top: 30px; }
.anfrage .linkliste { padding-top: 14px; }

/* Kontaktformular: Auswahl + Danke */
.form select { width: 100%; height: 40px; border: 1px solid var(--text); border-radius: 20px; padding: 3px 40px 3px 16px; font: inherit; font-size: 16px; color: var(--text); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23282828' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 16px center; -webkit-appearance: none; appearance: none; cursor: pointer; }
.danke { margin-top: 205px; max-width: 520px; border: 1px solid var(--text); border-radius: 12px; padding: 28px; }
.danke:focus { outline: none; }
.danke__titel { font-size: 26px; line-height: 1.4; margin-bottom: 12px; }
.danke p:not(.danke__titel) { font-size: 18px; line-height: 29px; }
.form__status a, .danke a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Footer: Einzugsgebiet (nur freigegebene Orte) */
.footer__orte { margin-top: 22px; font-size: 14px; line-height: 1.6; color: #4a4a4a; }
.footer__kontakt .footer__orte-titel { margin-bottom: 2px; }
.footer__orte ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 2px 14px; }
.footer__orte a { text-decoration: none; }
.footer__orte a:hover, .footer__mehr a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Kontaktleiste unten (nur Handy) */
.kontaktleiste { display: none; }

/* Grid-Kinder dürfen schrumpfen */
.kopf > *, .hero > *, .ueber > *, .loesungen__kopf > *, .karten3 > *, .vorteile__grid > *, .zert__grid > *, .neueste__grid > *, .fakten__links > *, .footer__grid > *, .person > *, .vision__grid > *, .kontakt > *, .form__grid > *, .blog__grid > *, .beitrag > *, .aktuell__grid > *, .inhalt > *, .uebersicht > * { min-width: 0; }
@media (max-width: 1000px) {
  h1, h2, h3, p, li, dd, dt, figcaption, td, th, label, .karte__titel { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
  h1, h2, h3, .karte__titel { hyphenate-limit-chars: 10 4 4; -webkit-hyphenate-limit-before: 4; -webkit-hyphenate-limit-after: 4; }
}

/* Tablet */
@media (max-width: 1180px) {
  .h1 { font-size: 64px; }
  .hero { grid-template-columns: 1fr 254px; }
  .ueber, .person, .vision__grid { grid-template-columns: 1fr 360px; padding-right: 0; }
  .neueste__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .beitrag, .beitrag--breit, .inhalt { grid-template-columns: minmax(0, 1fr) 240px; column-gap: 48px; }
  .autor { width: auto; margin-left: 0; padding: 22px; }
  .kontakt { grid-template-columns: minmax(0, 1fr) 320px; }
  .form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
  .footer__grid { grid-template-columns: minmax(0, 1fr) 300px; }
  .anfrage__grid { grid-template-columns: minmax(0, 1fr) 240px; column-gap: 48px; }
}
@media (max-width: 960px) {
  .vorteile__grid, .ueber, .person, .vision__grid, .kontakt, .beitrag, .beitrag--breit, .inhalt { grid-template-columns: minmax(0, 1fr); }
  .ueber__bild img { height: auto; aspect-ratio: 3 / 4; max-width: 420px; }
  .person__text { padding: 40px 0 0; }
  .vision__grid > div { padding: 30px 0 0; }
  .autor, .inhalt__seite { margin-top: 48px; max-width: 420px; }
  .kontakt__bild img { aspect-ratio: 4 / 5; max-width: 420px; }
  .form, .danke { margin-top: 48px; }
  .anfrage__grid { grid-template-columns: minmax(0, 1fr); }
  .anfrage .linkliste { padding-top: 40px; }
}

/* Handy ab 760 px abwärts */
@media (max-width: 760px) {
  html { scroll-padding-top: 70px; }
  body { font-size: 17px; }
  .header { height: 60px; }
  .logo { font-size: 18px; line-height: 1.2; padding-left: 0; display: flex; flex-direction: column; letter-spacing: .03em; }
  .burger { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; width: 40px; height: 40px; background: none; border: 0; padding: 0; cursor: pointer; position: relative; z-index: 60; }
  .burger span { display: block; height: 1.5px; background: var(--text); transition: transform .3s, opacity .3s, width .3s; }
  .burger span:nth-child(1) { width: 32px; } .burger span:nth-child(2) { width: 26px; } .burger span:nth-child(3) { width: 32px; }
  .burger[aria-expanded="true"] span:nth-child(1) { width: 32px; transform: translateY(7.5px) rotate(45deg); }
  .burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .burger[aria-expanded="true"] span:nth-child(3) { width: 32px; transform: translateY(-7.5px) rotate(-45deg); }
  .nav { position: fixed; inset: 0; background: #fff; padding: 140px 37px 40px; visibility: hidden; opacity: 0; transition: opacity .3s, visibility .3s; z-index: 55; overflow-y: auto; }
  .nav.is-offen { visibility: visible; opacity: 1; }
  .nav ul { flex-direction: column; }
  .nav a { font-size: 24px; line-height: 68px; padding: 0; }
  body.menu-offen { overflow: hidden; }
  .crumbs { font-size: 12px; }

  .h1 { font-size: 39px; line-height: 1.22; }
  .h1-lang { font-size: 30px; line-height: 1.35; }
  .h2 { font-size: 28px; line-height: 1.35; }
  .kopf, .kopf--lang { grid-template-columns: 1fr; padding: 28px 0 48px; row-gap: 24px; }
  .kopf__intro { padding: 0; }
  .kopf__intro p { font-size: 17px; line-height: 27px; }

  .hero { grid-template-columns: 1fr; padding-top: 28px; }
  .hero__h1 { grid-row: 1; }
  .hero__bild { grid-row: 2; grid-column: 1; margin: 16px 0 0; }
  .hero__aside { grid-column: 1; grid-row: 3; padding: 56px 0 60px 18px; }
  .hero__aside p, .hero__aside li { font-size: 17px; line-height: 27px; }
  .hero__aside .btn { margin-left: -18px; }
  .btn { font-size: 19px; height: 44px; min-width: 146px; }
  .btn--gross { width: auto; height: 44px; }

  .ueber { gap: 0; padding: 70px 0 0; }
  .ueber__text { padding: 0; }
  .ueber__text .h2 { margin-bottom: 70px; }
  .ueber__text p { font-size: 17px; line-height: 27px; }
  .ueber__bild { margin: 50px -20px 0; }
  .ueber__bild img { max-width: none; width: 100%; height: auto; aspect-ratio: 320 / 424; }

  .loesungen { padding: 70px 0 70px; }
  .loesungen__kopf { grid-template-columns: 1fr; gap: 50px; margin-bottom: 60px; }
  .karten3 { grid-template-columns: 1fr; gap: 48px; }
  .karten3--ohne { margin-top: 48px; }
  .leistung img { margin-bottom: 16px; }
  .leistung__titel { font-size: 24px; line-height: 34px; }
  .leistung p { font-size: 19px; line-height: 31px; }

  .vorteile { padding: 56px 0 40px; }
  .vorteile .h2 { margin: 0 0 24px; }
  .vorteile__liste li { font-size: 18px; line-height: 29px; }
  .vorteile__liste li::before { width: 30px; }
  .vorteile__grid { gap: 10px; }

  .zert { padding: 60px 0 60px; }
  .zert__grid { grid-template-columns: 1fr; gap: 48px; }
  .zert__item .h2 { font-size: 39px; line-height: 1.22; }

  .neueste { padding: 50px 0 20px; }
  .neueste__titel { margin-bottom: 40px; }
  .neueste__grid { grid-template-columns: 1fr; gap: 0; }
  .karte--dunkel img { aspect-ratio: 4 / 3; }
  .karte--dunkel .karte__titel { font-size: 27px; line-height: 1.3; margin-top: 24px; }
  .karte--dunkel .karte__text { font-size: 17px; line-height: 26px; }

  .fakten { padding: 60px 0 10px; }
  .fakten h2 { font-size: 24px; line-height: 34px; }
  .fakten__links { grid-template-columns: 1fr; }

  .footer { padding: 40px 0 70px; }
  .footer__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .footer__links { display: contents; }
  .newsletter { order: 1; }
  .footer__kontakt { order: 2; padding: 40px 0 0 16px; font-size: 17px; line-height: 26px; }
  .footer__copy { order: 3; font-size: 17px; line-height: 27px; margin-top: 10px; }
  .footer__copy .logo-font { font-size: 17px; }
  .footer__legal { order: 4; font-size: 17px; margin-top: 18px; gap: 26px; }
  .footer__title { font-size: 22px; line-height: 32px; }
  .newsletter label { font-size: 19px; }
  .pillform__btn { flex-basis: 116px; font-size: 18px; }

  .person { padding: 40px 0 50px; }
  .seite-kontakt .kopf { padding-bottom: 48px; }
  .person__text p, .vision p { font-size: 17px; line-height: 27px; }
  .vision { padding: 50px 0 70px; }
  .quali { padding: 50px 0 10px; }
  .quali h2 { font-size: 24px; line-height: 34px; }

  .kontakt { padding: 40px 0 30px; }
  .kontakt .h2 { margin: 0; }
  .form { margin-top: 32px; }
  .form__grid { grid-template-columns: minmax(0, 1fr); }
  .form label { font-size: 17px; }
  .btn--form { width: 100%; }
  .kontakt__bild { margin: 30px -20px 0; }
  .kontakt__bild img { max-width: none; width: 100%; aspect-ratio: 4 / 5; }

  .blog__grid, .uebersicht { grid-template-columns: 1fr; gap: 48px; padding: 48px 0 30px; }
  .karte__titel { font-size: 24px; line-height: 34px; }
  .karte__text { font-size: 17px; line-height: 27px; }
  .prosa { font-size: 17px; line-height: 28px; }
  .prosa h2 { font-size: 24px; line-height: 34px; margin-top: 34px; }
  .prosa h3 { font-size: 20px; line-height: 30px; }
  .lead { font-size: 19px; line-height: 30px; }
  .beitrag { padding-top: 28px; }
  .aktuell__grid { grid-template-columns: 1fr; }
  .tabelle table { font-size: 15px; }
  .tabelle th, .tabelle td { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; padding-right: 10px; }
  h1, h2, h3, .prosa, .recht { hyphens: auto; -webkit-hyphens: auto; }
  .faq__item h3 { font-size: 19px; line-height: 28px; }
  .faq__item p, .glossar dd, .recht { font-size: 16px; line-height: 26px; }
  .glossar dt { font-size: 20px; }
  .inhalt { padding-top: 36px; }
  .anfrage { padding: 50px 0 60px; }
  .anfrage__text { font-size: 17px; line-height: 27px; }
  .anfrage__knoepfe { flex-direction: column; align-items: stretch; gap: 14px; margin-top: 26px; }
  .anfrage__knoepfe .btn { width: 100%; }
  .danke { margin-top: 32px; padding: 22px; }
  .danke__titel { font-size: 22px; }
  .kontaktleiste { display: flex; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 10px 20px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); border-top: 1px solid var(--text); transform: translateY(110%); visibility: hidden; transition: transform .35s ease, visibility .35s; }
  .kontaktleiste.is-sichtbar { transform: none; visibility: visible; }
  .kontaktleiste .btn { flex: 1 1 0; min-width: 0; height: 44px; font-size: 18px; }
  .menu-offen .kontaktleiste { visibility: hidden; }
  /* Tap-Ziele ≥ 44 px, ohne das Layout zu verschieben (Polster + negativer Rand) */
  .footer a, .crumbs a, .linkliste a, .leistung__titel a, .aktuell__alle, .beitrag__meta a { display: inline-block; padding: 12px 0; margin: -12px 0; }
  .linkliste a { padding: 8px 0; margin: -8px 0; }
  .crumbs a { padding: 14px 0; margin: -14px 0; }
  .logo { padding: 2px 0; }
  .footer__mehr a, .footer__orte a { padding: 13px 0; margin: -13px 0; }
  .footer__mehr, .footer__orte ul { gap: 4px 18px; }
  .burger { width: 44px; height: 44px; margin-right: -2px; }
  .pillform input, .pillform__btn, .form input, .form select { height: 44px; }
  .pillform input { border-radius: 22px 0 0 22px; } .pillform__btn { border-radius: 0 22px 22px 0; }
  .br-d { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}

/* Runde 2 (05.10.2026): Verkaufsbogen, kurzes Anfrageformular, Ratgeber-Übersicht */
.bogen { padding: 80px 0 70px; max-width: 1240px; }
.bogen__kopf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 60px; }
.bogen__text p { font-size: 20px; line-height: 32px; }
.bogen__text p + p { margin-top: 16px; }
.bogen__probleme { margin: 18px 0 0; padding-left: 22px; font-size: 20px; line-height: 32px; }
.bogen__probleme li + li { margin-top: 6px; }
.bogen__abwarten { margin-top: 20px !important; padding-left: 16px; border-left: 1px solid var(--text); }
.bogen__zwischen { font-size: 30px; line-height: 42px; margin: 64px 0 24px; }
.schritte { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.schritte li { border-top: 1px solid var(--text); padding-top: 18px; }
.schritte__nr { display: inline-flex; width: 40px; height: 40px; border: 1px solid var(--text); border-radius: 20px; align-items: center; justify-content: center; font-size: 18px; }
.schritte h4 { font-size: 24px; line-height: 34px; font-weight: var(--light); margin: 14px 0 8px; }
.schritte p { font-size: 18px; line-height: 29px; }
.bogen__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 40px; font-size: 18px; }
.bogen__cta a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.beweise ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 40px; }
.beweise li { font-size: 18px; line-height: 29px; border-top: 1px solid var(--grau); padding-top: 12px; }
.beweise a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.einwaende { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.einwaende .bogen__zwischen { grid-column: 1 / -1; }
.einwaende__item { margin-bottom: 26px; }
.einwaende__item h4 { font-size: 22px; line-height: 32px; font-weight: var(--light); margin: 0 0 6px; }
.einwaende__item p { font-size: 18px; line-height: 29px; }
.einwaende__item a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.kopf__cta { margin-top: 24px; }
.anfrage__grid--form { grid-template-columns: minmax(0, 1fr) minmax(0, 520px); column-gap: 80px; }
.anfrage__punkte { margin: 22px 0 0; padding-left: 22px; font-size: 18px; line-height: 29px; max-width: 600px; }
.anfrage__punkte li + li { margin-top: 6px; }
.anfrage__tel { font-size: 20px; line-height: 32px; margin-top: 24px; }
.anfrage__tel a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.anfrage__form .danke { margin-top: 0; }
.anfrage .linkliste { margin-top: 36px; }
.form--kurz { margin-top: 0; width: 100%; max-width: 520px; }
.form--kurz .form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 14px; }
.form--kurz label { font-size: 16px; margin-bottom: 6px; }
.form--kurz textarea { height: 96px; }
.form--kurz .btn--form { width: 100%; height: 50px; }
.kontakt .form--kurz { margin-top: 40px; }
.kontakt .danke { margin-top: 40px; }
.kontakt__unter { font-size: 18px; line-height: 29px; margin: 18px 0 0 5px; max-width: 520px; }
.rkat { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px !important; }
.rkat a { border: 1px solid var(--text); border-radius: 20px; padding: 4px 16px; font-size: 16px; text-decoration: none; }
.rkat a:hover { background: var(--text); color: #fff; }
.rliste { list-style: none; padding: 0 !important; }
.rliste li { border-top: 1px solid var(--grau); padding: 14px 0; margin: 0 !important; }
.rliste a { font-size: 22px; line-height: 32px; text-decoration: none; display: block; }
.rliste a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rliste span { display: block; font-size: 16px; line-height: 25px; margin-top: 4px; color: #4a4a4a; }
@media (max-width: 1180px) {
  .anfrage__grid--form { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); column-gap: 48px; }
}
@media (max-width: 960px) {
  .bogen__kopf { grid-template-columns: 1fr; gap: 24px; }
  .schritte { grid-template-columns: 1fr; gap: 24px; }
  .beweise ul, .einwaende { grid-template-columns: 1fr; }
  .anfrage__grid--form { grid-template-columns: minmax(0, 1fr); row-gap: 36px; }
}
@media (max-width: 760px) {
  .bogen { padding: 50px 0 50px; }
  .bogen__text p, .bogen__probleme { font-size: 17px; line-height: 27px; }
  .bogen__zwischen { font-size: 24px; line-height: 34px; margin: 44px 0 18px; }
  .schritte h4 { font-size: 21px; line-height: 30px; }
  .schritte p, .beweise li, .einwaende__item p, .anfrage__punkte { font-size: 17px; line-height: 27px; }
  .einwaende__item h4 { font-size: 19px; line-height: 28px; }
  .bogen__cta { flex-direction: column; align-items: stretch; }
  .bogen__cta .btn, .kopf__cta .btn { width: 100%; }
  .form--kurz .form__grid { grid-template-columns: minmax(0, 1fr); }
  .rliste a { font-size: 19px; line-height: 28px; }
}
.btn--gross { width: auto; min-width: 227px; white-space: nowrap; padding: 0 26px; }
@media (max-width: 760px) { .btn--gross { white-space: normal; } }
