/* ==========================================================
   Unterseiten — Über uns & Team (Konzept "Herzlich digital")
   ========================================================== */

/* Kompakter Seiten-Hero */
.page-hero { padding:64px 0 60px; }
/* Umbruch des Seitentitels. hyphens:auto trennte auch auf grossen Schirmen mitten
   im Wort („Versicherungsmak-ler"), weil „Ihr Versicherungsmakler" knapp nicht in
   eine Zeile der Hero-Spalte passte. Daher 52px Obergrenze (Zeile passt), Trennung
   nur noch manuell, text-wrap:balance fuer gleich lange Zeilen. Im Browser geprueft
   bis 367px Viewport: bricht dort an Wortgrenzen, kein Ueberlauf. break-word bleibt
   als Notnagel fuer Geraete unter ~340px. */
.page-hero h1 { font-size:clamp(32px, 4.2vw, 52px); hyphens:manual; overflow-wrap:break-word; text-wrap:balance; }
.page-hero .hero-lead { max-width:600px; }

/* ---------- Über uns: Geschichte + Fakten ---------- */
.story-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:52px; align-items:start; }
.story-grid .prose p { font-size:16.5px; color:var(--text); margin-top:18px; }
.story-quote { font-family:'Caveat',cursive; font-size:clamp(26px,3vw,34px); color:var(--marke); line-height:1.3; margin-top:26px; transform:rotate(-1.5deg); display:inline-block; }
.fakten { background:#fff; border-radius:var(--radius); padding:30px 30px 26px; box-shadow:var(--schatten-soft); }
.fakten h3 { font-size:20px; margin-bottom:6px; }
.fakten ul { list-style:none; margin-top:14px; }
.fakten li { display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--text); padding:10px 0; border-bottom:1px solid #EDF3F8; }
.fakten li:last-child { border-bottom:none; }
.fakten li svg { flex:none; margin-top:3px; }
.fakten li b { color:var(--tinte); }

/* ---------- Presse / Bekannt aus ---------- */
.press-strip { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; align-items:center; }
.press-chip { background:#fff; border-radius:999px; padding:11px 22px; font-weight:700; font-size:14.5px; color:#5A7186; box-shadow:var(--schatten-soft); letter-spacing:.01em; }
.press-logo { display:inline-flex; align-items:center; justify-content:center; background:#fff; border-radius:14px; padding:14px 22px; box-shadow:var(--schatten-soft); min-height:56px; }
.press-logo img { height:26px; width:auto; max-width:180px; object-fit:contain; display:block; }
.press-logo-dark { background:#0C2A40; }
.press-logo-dark img { height:24px; }
.press-logo-wordmark { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:20px; letter-spacing:-.01em; line-height:1; }
.press-logo-wordmark .bon-w { color:var(--tinte); }
.press-logo-wordmark .bon-o { color:var(--marke); }
.award-card { display:flex; gap:20px; align-items:center; background:#fff; border-radius:var(--radius); padding:24px 28px; box-shadow:var(--schatten-soft); margin-top:28px; max-width:720px; }
.award-card .ic { width:56px; height:56px; border-radius:16px; background:var(--hell); display:flex; align-items:center; justify-content:center; flex:none; }
.award-card b { font-family:'Bricolage Grotesque',sans-serif; font-size:16.5px; display:block; }
.award-card span { font-size:13.5px; color:var(--muted); }

/* ---------- Leistungs-Karten (Über uns) ---------- */
.l-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.l-card { background:#fff; border-radius:var(--radius); padding:28px 26px; box-shadow:var(--schatten-soft); }
.l-card h3 { font-size:19px; }
.l-card ul { list-style:none; margin-top:14px; }
.l-card li { font-size:14px; color:var(--text); padding:6px 0 6px 24px; position:relative; }
.l-card li::before { content:""; position:absolute; left:0; top:13px; width:12px; height:3px; border-radius:2px; background:var(--marke); }

/* ---------- Team-Teaser (Über uns) — nahtloser Foto-Streifen ---------- */
.teaser-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:40px; }
.teaser-grid img { width:100%; height:auto; aspect-ratio:413/482; object-fit:cover; display:block; }

/* ---------- Team-Seite: Filter + Grid (Evergreen-Stil) ---------- */
.filterbar { display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.fbtn { border:none; cursor:pointer; font-family:inherit; background:#fff; color:#3D5566; font-size:14px; font-weight:700; border-radius:999px; padding:11px 20px; box-shadow:var(--schatten-soft); transition:background .2s, color .2s, transform .2s; }
.fbtn:hover { transform:translateY(-2px); }
.fbtn:focus-visible { outline:3px solid var(--marke); outline-offset:3px; }
.fbtn.active { background:var(--marke); color:#fff; box-shadow:0 10px 24px rgba(0,106,179,.28); }

/* Fotos lückenlos aneinander — wirkt wie ein durchgehendes Gruppenfoto */
.tgrid { display:grid; grid-template-columns:repeat(3,1fr); column-gap:0; row-gap:56px; margin-top:44px; }
.tcardv2 { background:transparent; border-radius:0; box-shadow:none; display:flex; flex-direction:column; }
.tcardv2.hide { display:none; }
.tfoto { position:relative; overflow:hidden; background:#C5C6C7; display:block; cursor:pointer; }
.tfoto img { width:100%; height:auto; aspect-ratio:413/482; object-fit:cover; display:block; transition:transform .4s ease; }
.tcardv2:hover .tfoto img, .tfoto:focus-visible img { transform:scale(1.06); }
.tfoto:focus-visible { outline:3px solid var(--marke); outline-offset:-3px; }
.tfoto-overlay { position:absolute; left:50%; bottom:14px; transform:translate(-50%, 10px); display:inline-flex; align-items:center; gap:7px; background:var(--marke); color:#fff; font-size:12.5px; font-weight:700; border-radius:999px; padding:8px 16px; opacity:0; transition:opacity .3s ease, transform .3s ease; white-space:nowrap; box-shadow:0 8px 20px rgba(0,106,179,.35); }
.tcardv2:hover .tfoto-overlay, .tfoto:focus-visible .tfoto-overlay { opacity:1; transform:translate(-50%, 0); }
.tname a { color:inherit; }
.tname a:hover { color:var(--marke); }
@media (prefers-reduced-motion: reduce) { .tfoto img, .tfoto-overlay { transition:none; } }
.tbody2 { padding:16px 12px 0; flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.tname { font-family:'Bricolage Grotesque',sans-serif; font-size:19px; font-weight:700; color:var(--tinte); }
.trole { color:var(--marke); font-weight:700; font-size:13.5px; margin-top:3px; }
.tmeta { color:var(--muted); font-size:12.5px; margin-top:8px; }
.tchips { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; justify-content:center; }
.tchip { border:1.5px solid #B9DCF2; color:var(--marke); font-size:11.5px; font-weight:700; border-radius:999px; padding:4px 11px; background:#fff; }
.tsec-label { font-family:'Caveat',cursive; font-size:26px; color:var(--marke); transform:rotate(-1.5deg); display:inline-block; }

/* Kooperationspartner */
.partner-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:36px; max-width:820px; }
.partner-card { background:#fff; border-radius:var(--radius); padding:26px 28px; box-shadow:var(--schatten-soft); }
.partner-card b { font-family:'Bricolage Grotesque',sans-serif; font-size:17px; display:block; }
.partner-card span { font-size:13.5px; color:var(--muted); display:block; margin-top:3px; }

/* ---------- CTA-Band (Unterseiten) ---------- */
.cta-band { background:linear-gradient(120deg,var(--nacht),var(--marke)); border-radius:30px; padding:52px 40px; text-align:center; color:#fff; position:relative; overflow:hidden; }
.cta-band::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; right:-120px; top:-160px; background:radial-gradient(circle, rgba(127,196,238,.35) 0%, rgba(127,196,238,0) 70%); }
.cta-band h2 { font-size:clamp(26px,3.2vw,36px); position:relative; z-index:1; }
.cta-band p { color:#C7E2F4; margin-top:12px; position:relative; z-index:1; }
.cta-band .btn { margin-top:26px; position:relative; z-index:1; background:#fff; color:var(--nacht); }

/* ---------- Responsive ---------- */
@media (max-width:1020px) {
  .story-grid { grid-template-columns:1fr; gap:36px; }
  .l-cards { grid-template-columns:1fr; }
  .tgrid { grid-template-columns:repeat(2,1fr); }
  .teaser-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px) {
  .tgrid { grid-template-columns:1fr; max-width:400px; margin-left:auto; margin-right:auto; }
  .teaser-grid { grid-template-columns:1fr; max-width:300px; }
  .partner-grid { grid-template-columns:1fr; }
}

/* ---------- Mitarbeiter-Profilseite ---------- */
.profil-grid { display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center; }
.profil-foto { background:#E4F1FA; overflow:hidden; box-shadow:var(--schatten); max-width:413px; }
.profil-foto img { width:100%; height:auto; aspect-ratio:413/482; object-fit:cover; display:block; }
.backlink { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--marke); }
.backlink:hover { text-decoration:underline; }
.profil-hero h1 { font-size:clamp(34px,4vw,50px); margin-top:10px; }
.profil-meta { color:var(--muted); font-size:15px; margin-top:10px; font-weight:500; }
.profil-fokus { display:inline-flex; align-items:center; gap:9px; background:#fff; border-radius:999px; padding:9px 18px; font-size:14px; font-weight:700; color:var(--marke); box-shadow:var(--schatten-soft); margin-top:16px; }
.profil-cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.profil-ueber { max-width:760px; }
.profil-ueber p { font-size:17px; color:var(--text); margin-top:16px; line-height:1.75; }
.profil-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.profil-card { background:#fff; border-radius:var(--radius); padding:26px 26px 24px; box-shadow:var(--schatten-soft); }
.profil-card h3 { font-size:17px; margin-bottom:12px; }
.p-list { list-style:none; }
.p-list li { display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--text); padding:7px 0; }
.p-list li svg { flex:none; margin-top:2px; }
.p-timeline { list-style:none; }
.p-timeline li { font-size:14px; color:var(--text); padding:8px 0 8px 22px; position:relative; border-left:2px solid #D8ECF8; margin-left:6px; }
.p-timeline li::before { content:""; position:absolute; left:-6px; top:14px; width:10px; height:10px; border-radius:50%; background:var(--marke); border:2px solid #fff; }
@media (max-width:1020px) {
  .profil-grid { grid-template-columns:1fr; gap:36px; }
  .profil-cols { grid-template-columns:1fr; }
}

/* ==========================================================
   Versicherungsseiten-Template (page-versicherung.php)
   ========================================================== */
.vers-hero { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(330px, 0.85fr); gap:56px; align-items:center; }
.page-hero h1 .hl { white-space:normal; }
.kurz-box { min-width:0; }
.kurz-box li span { hyphens:auto; overflow-wrap:break-word; min-width:0; }
.vers-hero h1 .hl { display:inline-block; }
.kurz-box { background:#fff; border-radius:26px; box-shadow:0 24px 60px rgba(6,58,92,.14); padding:30px 30px 26px; }
.kurz-box h2 { font-family:'Bricolage Grotesque',sans-serif; font-size:22px; }
.kurz-box ul { list-style:none; margin-top:14px; }
.kurz-box li { display:flex; gap:12px; align-items:flex-start; font-size:14.5px; color:var(--text); padding:9px 0; border-bottom:1px solid #EDF3F8; line-height:1.55; }
.kurz-box li:last-child { border-bottom:none; }
.kurz-box li svg { flex:none; margin-top:3px; }

/* Autoren-Zeile + Inhaltsverzeichnis */
.autor-zeile { display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center; justify-content:space-between; background:#fff; border-radius:18px; padding:14px 26px; box-shadow:var(--schatten-soft); }
.autor { display:flex; align-items:center; gap:11px; }
.autor img { border-radius:50%; object-fit:cover; background:var(--hell); }
.autor span { display:block; font-size:11.5px; color:var(--muted); }
.autor a, .autor b { font-size:14px; font-weight:700; color:var(--tinte); }
.autor a:hover { color:var(--marke); }
.toc { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:18px; }
.toc-label { font-size:13px; font-weight:700; color:var(--muted); margin-right:4px; }
.toc a { background:#fff; border-radius:999px; padding:8px 16px; font-size:13px; font-weight:700; color:var(--marke); box-shadow:var(--schatten-soft); transition:transform .2s; }
.toc a:hover { transform:translateY(-2px); }

/* Content-Blöcke */
.vers-sec { padding:44px 0; }
.vers-narrow { max-width:820px; }
.vers-h2 { font-size:clamp(24px,2.9vw,34px); scroll-margin-top:110px; }
.vers-p { font-size:16.5px; color:var(--text); margin-top:16px; line-height:1.75; }
.vers-p b { color:var(--tinte); }
.vers-check { list-style:none; margin-top:20px; }
.vers-check li { display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--text); padding:9px 0; line-height:1.6; }
.vers-check li svg { flex:none; margin-top:4px; }
.vers-check li b { color:var(--tinte); }
.vers-check.zweispaltig { display:grid; grid-template-columns:1fr 1fr; column-gap:32px; }
.vers-hinweis { position:relative; display:flex; gap:18px; align-items:flex-start; background:linear-gradient(135deg,#FDF9FF 20%,#F5EEFB 100%); border:1px solid rgba(139,74,177,.15); border-radius:20px; padding:22px 26px; font-size:14.5px; color:#4C3960; line-height:1.65; margin-top:20px; box-shadow:0 1px 2px rgba(74,26,92,.05), 0 14px 34px rgba(116,58,148,.09); overflow:hidden; }
.vers-hinweis::before { content:""; position:absolute; top:-56px; right:-56px; width:150px; height:150px; border-radius:50%; background:radial-gradient(circle, rgba(168,85,200,.13), rgba(168,85,200,0) 68%); pointer-events:none; }
.vers-hinweis b { color:#341F4E; }
.vers-hinweis a { color:#93379B; font-weight:600; }
.vh-chip { flex:none; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:14px; background:linear-gradient(135deg,#B0479F,#7857D6); box-shadow:0 8px 18px rgba(150,60,170,.24), 0 0 0 5px rgba(150,60,170,.07); }
.vh-body { min-width:0; }
.vh-label { display:inline-block; font-family:'Caveat',cursive; font-size:23px; line-height:1; color:#9C3F98; transform:rotate(-1.5deg); margin-bottom:6px; }
.vers-quelle { font-size:12.5px; color:var(--muted); margin-top:10px; }

/* Schritte */
.vers-schritte { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px; }
.vers-schritte.n2 { grid-template-columns:repeat(2,1fr); max-width:860px; }
.vers-schritte.n4 { grid-template-columns:repeat(2,1fr); }
.vers-schritte.n5, .vers-schritte.n6 { grid-template-columns:repeat(3,1fr); }
@media (max-width:1100px) { .vers-schritte { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .vers-schritte, .vers-schritte.n2, .vers-schritte.n4 { grid-template-columns:1fr; } }
.vers-schritt { background:linear-gradient(168deg,#FFFFFF 30%,#F5FAFE 100%); border:1px solid rgba(0,106,179,.10); border-radius:20px; padding:26px 24px; box-shadow:0 1px 2px rgba(6,58,92,.05), 0 14px 34px rgba(6,58,92,.07); position:relative; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.vers-schritt:hover { transform:translateY(-4px); border-color:rgba(0,106,179,.28); box-shadow:0 2px 4px rgba(6,58,92,.06), 0 24px 52px rgba(6,58,92,.13); }
.vers-schritt .nr { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg, var(--marke), #2B96D9); color:#fff; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:18px; box-shadow:0 8px 18px rgba(0,106,179,.28), 0 0 0 5px rgba(0,106,179,.07); }
.vers-schritt h3 { font-size:17px; margin-top:14px; }
.vers-schritt p { font-size:14px; color:var(--muted); margin-top:6px; line-height:1.6; }

/* Tabelle */
.vers-tabelle-wrap { overflow-x:auto; margin-top:24px; border-radius:20px; border:1px solid rgba(0,106,179,.10); box-shadow:0 1px 2px rgba(6,58,92,.05), 0 14px 34px rgba(6,58,92,.07); }
.vers-tabelle { width:100%; border-collapse:collapse; background:#fff; min-width:480px; }
.vers-tabelle th { background:linear-gradient(135deg,#075F9E,#1E8CD3); color:#fff; font-size:14px; text-align:left; padding:15px 20px; font-weight:700; letter-spacing:.015em; }
.vers-tabelle tbody tr { transition:background .15s ease; }
.vers-tabelle tbody tr:hover { background:#EAF5FC; }
.vers-tabelle td { padding:13px 20px; font-size:14.5px; color:var(--text); border-top:1px solid #EDF3F8; }
.vers-tabelle .lead-cell { font-weight:700; color:var(--tinte); }
.vers-tabelle tbody tr:nth-child(even) { background:var(--wolke); }

/* Karten */
.vers-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.vers-cards.n1 { grid-template-columns:minmax(0,640px); justify-content:center; }
.vers-cards.n2 { grid-template-columns:repeat(2,1fr); max-width:860px; margin-left:auto; margin-right:auto; }
.vers-cards.n4 { grid-template-columns:repeat(2,1fr); }
@media (max-width:1100px) { .vers-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .vers-cards, .vers-cards.n2, .vers-cards.n4 { grid-template-columns:1fr; } }
.vers-card { position:relative; overflow:hidden; background:linear-gradient(168deg,#FFFFFF 30%,#F5FAFE 100%); border:1px solid rgba(0,106,179,.10); border-radius:20px; padding:30px 26px 24px; box-shadow:0 1px 2px rgba(6,58,92,.05), 0 14px 34px rgba(6,58,92,.07); display:flex; flex-direction:column; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.vers-card::before { content:""; position:absolute; top:-52px; right:-52px; width:140px; height:140px; border-radius:50%; background:radial-gradient(circle, rgba(122,188,224,.20), rgba(122,188,224,0) 68%); pointer-events:none; }
.vers-card::after { content:""; position:absolute; left:26px; top:0; width:46px; height:4px; border-radius:0 0 4px 4px; background:linear-gradient(90deg, var(--marke), #7ABCE0); }
.vers-card:hover { transform:translateY(-4px); border-color:rgba(0,106,179,.28); box-shadow:0 2px 4px rgba(6,58,92,.06), 0 24px 52px rgba(6,58,92,.13); }
.vers-card h3 { font-size:18px; letter-spacing:-.01em; }
.vers-card p { font-size:14.5px; color:var(--text); margin-top:10px; line-height:1.65; hyphens:auto; overflow-wrap:break-word; }
.vers-card ul { list-style:none; margin-top:12px; }
.vers-card li { font-size:14px; color:var(--text); padding:6px 0 6px 24px; position:relative; line-height:1.55; }
.vers-card li::before { content:""; position:absolute; left:0; top:13px; width:12px; height:3px; border-radius:2px; background:var(--marke); }
/* Verlinkte Service-Kachel (optionales 'url' im cards-Renderer) */
.vers-card-link { color:inherit; text-decoration:none; }
.vers-card-link:hover { border-color:rgba(0,106,179,.34); }
.vers-card-link:focus-visible { outline:3px solid var(--marke); outline-offset:3px; }
.vers-card-cta { margin-top:auto; padding-top:18px; display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; color:var(--marke); }
.vers-card-cta svg { transition:transform .22s ease; }
.vers-card-link:hover .vers-card-cta svg { transform:translateX(4px); }
.verwandt-card { transition:transform .25s ease, box-shadow .25s ease; }
.verwandt-card:hover { transform:translateY(-6px); box-shadow:var(--schatten); }
.verwandt-card p { margin-bottom:16px; }

/* Experten-Tipp */
.vers-tipp { background:linear-gradient(135deg,#0A5FA0 0%,#1E88CE 55%,#2A9BDC 100%); border-radius:26px; padding:34px 36px 34px 40px; position:relative; overflow:hidden; box-shadow:0 2px 4px rgba(6,58,92,.10), 0 24px 54px rgba(10,79,126,.30); }
.vers-tipp::before { content:"\201E"; position:absolute; right:24px; top:-46px; font-family:'Bricolage Grotesque',sans-serif; font-size:200px; font-weight:800; color:rgba(255,255,255,.12); pointer-events:none; line-height:1; }
.vers-tipp::after { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:linear-gradient(#F5B518,#F59E0B); }
.tipp-kopf { display:flex; align-items:center; gap:16px; position:relative; }
.tipp-kopf img { border-radius:50%; object-fit:cover; background:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.55), 0 8px 20px rgba(0,0,0,.22); }
.tipp-kopf .caveat { color:#FFD87A !important; }
.tipp-kopf b { display:block; font-size:14px; color:#EAF4FC; }
.vers-tipp blockquote { font-size:16.5px; color:#F4FAFE; line-height:1.75; margin-top:18px; font-weight:500; position:relative; }
.vers-tipp blockquote a { color:#FFDE8A; text-decoration-color:rgba(255,222,138,.5); }

/* Tarif-Karten */
.tarif-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:36px; }
.tarif-cards.n1 { grid-template-columns:minmax(0,360px); justify-content:center; }
.tarif-cards.n2 { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:760px; margin-left:auto; margin-right:auto; }
.tarif-cards.n4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1020px) { .tarif-cards.n4 { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:760px; margin-left:auto; margin-right:auto; } }
@media (max-width:640px)  { .tarif-cards, .tarif-cards.n1, .tarif-cards.n2, .tarif-cards.n4 { grid-template-columns:1fr; max-width:380px; margin-left:auto; margin-right:auto; } }
.tarif-card { background:#fff; border-radius:var(--radius); padding:30px 26px; box-shadow:var(--schatten-soft); text-align:center; display:flex; flex-direction:column; align-items:center; position:relative; }
.tarif-card.beliebt { border:2px solid var(--marke); box-shadow:0 18px 44px rgba(0,106,179,.16); }
.tarif-badge { position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--marke); color:#fff; font-size:11.5px; font-weight:800; border-radius:999px; padding:5px 16px; letter-spacing:.04em; }
.tarif-name { font-size:14px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; hyphens:auto; overflow-wrap:break-word; max-width:100%; }
.tarif-preis { font-family:'Bricolage Grotesque',sans-serif; font-size:38px; font-weight:800; color:var(--marke); margin-top:8px; }
.tarif-zusatz { font-size:13px; color:var(--muted); margin-bottom:18px; }

/* FAQ */
.faq-liste { margin-top:28px; display:flex; flex-direction:column; gap:12px; }
.faq-item { background:#fff; border:1px solid rgba(0,106,179,.10); border-radius:16px; box-shadow:0 1px 2px rgba(6,58,92,.04), 0 8px 22px rgba(6,58,92,.05); overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease; }
.faq-item:hover { border-color:rgba(0,106,179,.22); }
.faq-item[open] { border-color:rgba(0,106,179,.30); box-shadow:0 2px 4px rgba(6,58,92,.05), 0 16px 36px rgba(6,58,92,.10); }
.faq-item[open] summary { color:var(--marke); background:linear-gradient(180deg,#F7FBFE, #fff); }
.faq-item summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 24px; font-size:15.5px; font-weight:700; color:var(--tinte); }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary svg { flex:none; color:var(--marke); transition:transform .25s ease; }
.faq-item[open] summary svg { transform:rotate(180deg); }
.faq-item p { padding:0 24px 20px; font-size:14.5px; color:var(--text); line-height:1.7; }
.faq-item summary:focus-visible { outline:3px solid var(--marke); outline-offset:-3px; border-radius:16px; }

/* Berater-Band */
.berater-band { background:#fff; border-radius:26px; box-shadow:var(--schatten-soft); padding:32px 36px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.berater-fotos { display:flex; }
.berater-fotos img { border-radius:50%; object-fit:cover; background:var(--hell); border:3px solid #fff; box-shadow:var(--schatten-soft); }
.berater-fotos img + img { margin-left:-18px; }
.berater-text { flex:1; min-width:240px; }
.berater-text h2 { font-size:21px; }
.berater-text p { font-size:14.5px; color:var(--muted); margin-top:6px; }
.berater-btns { display:flex; gap:12px; flex-wrap:wrap; }

@media (max-width:1020px) {
  .vers-hero { grid-template-columns:1fr; gap:40px; }
  .vers-check.zweispaltig { grid-template-columns:1fr; }
}

/* Beitragsschätzer */
.rechner { background:#fff; border-radius:var(--radius); box-shadow:var(--schatten-soft); padding:28px 30px; margin-top:28px; }
.rechner-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; margin-bottom:20px; }
.rechner .fld { display:flex; flex-direction:column; }
.rechner .fld label { font-size:13px; font-weight:700; display:block; margin-bottom:6px; color:var(--tinte); }
.rechner .fld input, .rechner .fld select { margin-top:auto; height:48px; box-sizing:border-box; }
.rechner .fld input, .rechner .fld select { width:100%; border:1.5px solid #E2ECF3; border-radius:12px; padding:12px 14px; font-family:inherit; font-size:15px; color:var(--tinte); background:var(--wolke); }
.rechner .fld input:focus-visible, .rechner .fld select:focus-visible { outline:2px solid var(--marke); border-color:transparent; }
.rechner-ergebnis[hidden] { display:none; }
.rechner-ergebnis { display:flex; flex-wrap:wrap; gap:28px; align-items:center; margin-top:22px; padding-top:22px; border-top:1.5px dashed #D8ECF8; }
.erg-zahlen b { font-family:'Bricolage Grotesque',sans-serif; font-size:32px; font-weight:800; color:var(--marke); display:block; }
.erg-zahlen span { font-size:12.5px; color:var(--muted); }

/* Linkliste + FAQ-Antworten */
.vers-linkliste { list-style:none; margin-top:20px; }
.vers-linkliste li { padding:6px 0; }
.vers-linkliste a { display:inline-flex; align-items:center; gap:10px; font-size:15.5px; font-weight:700; color:var(--marke); }
.vers-linkliste a:hover { text-decoration:underline; }
.faq-antwort { padding:0 24px 20px; font-size:14.5px; color:var(--text); line-height:1.7; }
.faq-antwort ul { margin:8px 0 0 18px; }
.faq-antwort li { padding:2px 0; }

/* ============ BLOG ============ */
.blog-hero h1 { font-size:clamp(30px,4vw,46px); }
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; margin-top:26px; }
.blog-card { display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid #E3EEF6; border-radius:22px; padding:26px 24px; text-decoration:none; color:inherit; box-shadow:0 6px 24px rgba(16,60,90,.06); transition:transform .18s ease, box-shadow .18s ease; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 14px 34px rgba(16,60,90,.12); }
.blog-card-date { font-size:13px; font-weight:700; color:var(--marke); letter-spacing:.04em; }
.blog-card h3 { font-size:19px; line-height:1.35; color:var(--nacht); }
.blog-card p { font-size:15px; color:#5B7183; line-height:1.6; }
.blog-card-more { margin-top:auto; font-weight:700; color:var(--marke); font-size:15px; }
.blog-pagination { margin-top:36px; display:flex; justify-content:center; gap:8px; }
.blog-pagination .page-numbers { padding:9px 15px; border-radius:12px; border:1px solid #DCE9F2; text-decoration:none; color:var(--nacht); font-weight:600; }
.blog-pagination .page-numbers.current { background:var(--marke); color:#fff; border-color:var(--marke); }
.blog-content h2 { font-size:clamp(24px,2.8vw,32px); color:var(--nacht); margin:38px 0 14px; }
.blog-content h3 { font-size:clamp(19px,2.2vw,23px); color:var(--nacht); margin:30px 0 10px; }
.blog-content p { font-size:17px; line-height:1.75; color:#3D5468; margin:0 0 16px; }
.blog-content ul, .blog-content ol { margin:0 0 18px 22px; display:grid; gap:8px; }
.blog-content li { font-size:17px; line-height:1.65; color:#3D5468; }
.blog-content a { color:var(--marke); font-weight:600; text-decoration:underline; text-decoration-color:rgba(0,106,179,.32); text-decoration-thickness:1.5px; text-underline-offset:3px; transition:text-decoration-color .15s ease; }
.blog-content a:hover { text-decoration-color:var(--marke); }
.blog-content b, .blog-content strong { color:var(--nacht); }
.blog-content blockquote { border-left:4px solid var(--marke); background:#F2F9FD; border-radius:0 16px 16px 0; padding:18px 22px; margin:0 0 18px; font-style:italic; }

/* ============ CONTACT FORM 7 ============ */
.fg-form label, .blog-content .wpcf7 label { font-size:13.5px; font-weight:700; display:block; margin-bottom:6px; color:var(--tinte); }
.fg-form input:not([type=checkbox]):not([type=submit]), .fg-form textarea, .fg-form select,
.blog-content .wpcf7 input:not([type=checkbox]):not([type=submit]), .blog-content .wpcf7 textarea, .blog-content .wpcf7 select {
  width:100%; border:1.5px solid #E2ECF3; border-radius:14px; padding:13px 16px; font-family:inherit; font-size:15px; color:var(--tinte); background:var(--wolke); }
.fg-form input:focus-visible, .fg-form textarea:focus-visible,
.blog-content .wpcf7 input:focus-visible, .blog-content .wpcf7 textarea:focus-visible { outline:2px solid var(--marke); border-color:transparent; }
.wpcf7 .fld { margin-top:16px; }
.wpcf7 .btn { width:100%; margin-top:22px; cursor:pointer; }
.fg-accept { font-size:13.5px; }
.fg-accept .wpcf7-list-item { margin:0; }
.fg-accept label { display:flex; gap:10px; align-items:flex-start; font-weight:500; font-size:13.5px; line-height:1.5; color:#5B7183; cursor:pointer; }
.fg-accept input[type=checkbox] { width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--marke); }
.fg-form-hinweis { font-size:12.5px; color:var(--muted); margin-top:14px; }
.wpcf7 form .wpcf7-response-output { margin:18px 0 0; padding:12px 16px; border-radius:12px; border:1.5px solid #E2ECF3; font-size:14.5px; }
.wpcf7 form.sent .wpcf7-response-output { border-color:#2FB566; background:#EDF9F1; color:#1C7A44; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color:#E05B4B; background:#FDF1EF; color:#B03325; }
.wpcf7-not-valid-tip { color:#B03325; font-size:12.5px; margin-top:4px; display:block; }
.wpcf7-spinner { margin:10px auto 0; display:block; }
.blog-content .wpcf7 { background:#fff; border:1px solid #E3EEF6; border-radius:22px; padding:28px 26px; box-shadow:0 6px 24px rgba(16,60,90,.06); margin:26px 0; }

/* ===== Druck (Schadenfall-Checklisten: "Checkliste drucken") ===== */
@media print {
  .site-header, .nav, footer, .f-grid, .cta-band, .berater-band, .hero-btns,
  .hero-trust, .blob, .vers-toc, .verwandt-card, .fg-form { display: none !important; }
  body { background: #fff !important; }
  .sec { padding: 12px 0 !important; }
  a { text-decoration: none; color: inherit; }
}


/* ---------- Premium-Polish: Chips + Motion-Disziplin ---------- */
.tchip { transition:background .18s ease, color .18s ease, border-color .18s ease; }
.tchip:hover { background:var(--marke); border-color:var(--marke); color:#fff; }
@media (prefers-reduced-motion: reduce) {
  .vers-card, .vers-schritt, .faq-item, .vers-tabelle tbody tr, .tchip { transition:none; }
  .vers-card:hover, .vers-schritt:hover { transform:none; }
}

/* ---- Negativ-Varianten: Ausschlüsse, Nachteile, „zahlt nicht" — in warmem Rot ---- */
.vers-cards.negativ .vers-card { background:linear-gradient(168deg,#FFFFFF 30%,#FDF6F4 100%); border-color:rgba(201,79,68,.13); }
.vers-cards.negativ .vers-card::after { background:linear-gradient(90deg,#C94F44,#E8938A); }
.vers-cards.negativ .vers-card::before { background:radial-gradient(circle, rgba(222,123,113,.16), rgba(222,123,113,0) 68%); }
.vers-cards.negativ .vers-card:hover { border-color:rgba(201,79,68,.30); box-shadow:0 2px 4px rgba(92,26,20,.06), 0 24px 52px rgba(92,26,20,.12); }
.vers-cards.negativ .vers-card li::before { background:#C94F44; }
.vers-schritte.negativ .vers-schritt { background:linear-gradient(168deg,#FFFFFF 30%,#FDF6F4 100%); border-color:rgba(201,79,68,.12); }
.vers-schritte.negativ .vers-schritt:hover { border-color:rgba(201,79,68,.28); }
.vers-schritte.negativ .nr { background:linear-gradient(135deg,#C0453B,#E06A5E); box-shadow:0 8px 18px rgba(192,69,59,.26), 0 0 0 5px rgba(192,69,59,.07); }

@media (max-width: 640px) {
  .vers-hinweis { padding: 18px 16px; gap: 13px; }
  .vh-chip { width: 36px; height: 36px; border-radius: 12px; }
}

/* ---- Fließtext-Links: dezent markiert, markenblau ---- */
.vers-p a, .vers-check li a, .sec-sub a, .vers-card p a, .vers-card li a, .vers-schritt p a, .faq-antwort a, .vers-tipp blockquote a {
  color: var(--marke); font-weight: 600; text-decoration: underline;
  text-decoration-color: rgba(0,106,179,.32); text-decoration-thickness: 1.5px;
  text-underline-offset: 3px; transition: text-decoration-color .15s ease;
}
.vers-p a:hover, .vers-check li a:hover, .sec-sub a:hover, .vers-card p a:hover, .vers-card li a:hover, .vers-schritt p a:hover, .faq-antwort a:hover, .vers-tipp blockquote a:hover {
  text-decoration-color: var(--marke);
}

/* ---- Blog-Titelbilder ---- */
.blog-titelbild { margin:0 0 34px; border-radius:22px; overflow:hidden; box-shadow:0 2px 4px rgba(6,58,92,.06), 0 22px 48px rgba(6,58,92,.12); }
.blog-titelbild img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.blog-card-bild { margin:-26px -24px 4px; overflow:hidden; border-radius:22px 22px 0 0; }
.blog-card-bild img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; transition:transform .35s ease; }
.blog-card:hover .blog-card-bild img { transform:scale(1.04); }

/* ---- Video-Block auf Unterseiten ---- */
.videos.einzeln { grid-template-columns:minmax(0,760px); justify-content:center; }

/* ---- Presse-Erwähnungen (Über uns) ---- */
.presse-erwaehnungen { margin-top: 38px; }
.presse-hd { font-family:'Bricolage Grotesque',sans-serif; font-size:20px; margin-bottom:14px; }
.presse-liste { list-style:none; display:grid; gap:10px; max-width:860px; }
.presse-liste a { display:flex; flex-wrap:wrap; gap:4px 16px; align-items:baseline; background:#fff; border:1px solid #E3EEF6; border-radius:14px; padding:13px 18px; text-decoration:none; color:inherit; transition:border-color .18s ease, transform .18s ease; }
.presse-liste a:hover { border-color:rgba(0,106,179,.32); transform:translateX(3px); }
.presse-liste .pd { font-size:12.5px; color:var(--muted); white-space:nowrap; }
.presse-liste b { color:var(--tinte); font-size:14.5px; }
.presse-kontakt { margin-top:16px; font-size:14px; color:var(--muted); }
.presse-kontakt a { color:var(--marke); font-weight:600; }

.vers-sec[id] { scroll-margin-top: 96px; }

/* ---- Hero-Titelbild + breite Kurz-Box ---- */
.hero-titelbild { margin: 0; border-radius: 24px; overflow: hidden; box-shadow: 0 2px 4px rgba(6,58,92,.07), 0 24px 52px rgba(6,58,92,.14); align-self: center; }
.hero-titelbild img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.hero-titelbild img[src*="team-grid"] { aspect-ratio: 1/1; object-fit: cover; }
.kurz-box.kurz-breit { max-width: 100%; }
.kurz-box.kurz-breit ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
@media (max-width: 820px) { .kurz-box.kurz-breit ul { grid-template-columns: 1fr; } }

/* ---- Inline-Inhaltsbilder ---- */
.vers-bild { margin: 6px 0 30px; }
.vers-bild img { display: block; width: 100%; height: auto; border-radius: 20px; box-shadow: 0 2px 4px rgba(6,58,92,.06), 0 18px 40px rgba(6,58,92,.10); }
.vers-bild figcaption { margin-top: 10px; font-size: 13.5px; color: var(--muted); text-align: center; font-style: italic; }
.vers-bild-breit .wrap { max-width: 1000px; }


/* ---- Mehr farbliche Akzente ---- */
.sec-eyebrow { color:#006AB3; }
.vers-sec .sec-eyebrow, .page-hero .sec-eyebrow { position:relative; display:inline-block; padding-left:26px; }
.vers-sec .sec-eyebrow::before, .page-hero .sec-eyebrow::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:18px; height:3px; border-radius:2px; background:linear-gradient(90deg,#006AB3,#F5B518); }
.toc a { transition:background .15s ease, color .15s ease, border-color .15s ease; }
.toc a:hover { background:linear-gradient(135deg,#006AB3,#1E8CD3); color:#fff; border-color:transparent; }
.vers-hinweis { border-left:none; }
/* Bewertungssiegel-Band im Footer */
.f-siegel { display:flex; flex-wrap:wrap; gap:18px; align-items:stretch; justify-content:center; padding:0 0 30px; margin-bottom:32px; border-bottom:1px solid rgba(255,255,255,.12); }
.siegel { display:flex; align-items:center; gap:14px; background:#fff; border-radius:16px; padding:14px 22px; text-decoration:none; box-shadow:0 10px 26px rgba(6,58,92,.16); transition:transform .18s ease, box-shadow .18s ease; min-width:250px; }
.siegel:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(6,58,92,.24); }
.siegel-logo { flex:none; width:46px; height:46px; display:flex; align-items:center; justify-content:center; }
.siegel-logo img { width:46px; height:46px; display:block; object-fit:contain; }
.siegel-txt { line-height:1.25; }
.siegel-txt .s-name { font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:14.5px; color:var(--tinte); }
.siegel-txt .s-stars { color:#F5A623; font-size:14px; letter-spacing:1px; }
.siegel-txt .s-meta { font-size:12px; color:#5E7182; }
.siegel-txt .s-meta b { color:var(--tinte); }
@media (max-width:560px){ .f-siegel .siegel { min-width:0; width:100%; } }


/* ---- Animierte WebP (freigestellt) ---- */
.app-anim { display:flex; align-items:center; justify-content:center; }
.app-anim img { width:100%; max-width:300px; height:auto; filter:drop-shadow(0 22px 44px rgba(0,0,0,.35)); }
.vers-bild-frei img { border-radius:0; box-shadow:none; background:transparent; }
.vers-bild-frei { text-align:center; }
.vers-bild-frei img { max-width:440px; margin:0 auto; }

/* ---- ProvenExpert-Bewertungsbanner (nativ, im Content) ---- */
.pe-banner { background:#fff; border:1px solid #E3EEF6; border-radius:22px; padding:26px 30px; box-shadow:0 2px 4px rgba(6,58,92,.05), 0 18px 40px rgba(6,58,92,.09); max-width:1000px; margin:0 auto; }
.pe-kopf { display:flex; align-items:center; gap:10px; padding-bottom:20px; border-bottom:1px solid #EEF4F9; }
.pe-brand { border-radius:50%; }
.pe-brand-name { font-family:'Bricolage Grotesque',sans-serif; font-weight:500; font-size:17px; color:#3A3A3A; letter-spacing:.2px; }
.pe-brand-name b { font-weight:800; color:#12283A; }
.pe-brand-sub { font-size:14.5px; color:var(--muted); margin-left:6px; }
.pe-body { display:grid; grid-template-columns:1.1fr 1fr 1.3fr; gap:20px 30px; align-items:center; padding:24px 0; }
.pe-score { text-align:center; display:flex; flex-direction:column; align-items:center; gap:3px; }
.pe-score .pe-val { font-size:15px; font-weight:700; color:var(--tinte); }
.pe-score .pe-stars { color:#C9A24B; font-size:24px; letter-spacing:4px; margin:2px 0; }
.pe-score .pe-label { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:22px; color:var(--tinte); letter-spacing:.5px; }
.pe-score .pe-count { font-size:13px; color:var(--muted); }
.pe-empf { text-align:center; display:flex; flex-direction:column; align-items:center; gap:2px; border-left:1px solid #EEF4F9; border-right:1px solid #EEF4F9; }
.pe-empf .pe-pct { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:28px; color:var(--tinte); margin-top:4px; }
.pe-empf .pe-pct-l { font-size:13.5px; color:var(--muted); }
.pe-sub { display:flex; flex-direction:column; gap:14px; }
.pe-sub-row { display:flex; align-items:center; gap:11px; }
.pe-sub-row svg { flex:none; }
.pe-sub-row span { display:block; font-size:13px; color:var(--muted); }
.pe-sub-row b { font-size:14.5px; color:var(--tinte); }
.pe-fuss { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; padding-top:20px; border-top:1px solid #EEF4F9; }
.pe-komp-label { font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:14px; color:var(--tinte); }
.pe-komp { display:inline-flex; align-items:center; gap:6px; font-size:14px; color:var(--text); }
.pe-mehr { margin-left:auto; color:var(--marke); font-weight:700; font-size:14px; text-decoration:none; }
.pe-mehr:hover { text-decoration:underline; }
@media (max-width:720px){ .pe-body { grid-template-columns:1fr; gap:22px; } .pe-empf { border:none; border-top:1px solid #EEF4F9; border-bottom:1px solid #EEF4F9; padding:18px 0; } .pe-mehr { margin-left:0; } }

/* ---- Deutschlandkarte Standorte ---- */
.dk-wrap { display:grid; grid-template-columns:1.15fr .85fr; gap:36px; align-items:center; margin-top:34px; }
.dk-map { background:linear-gradient(160deg,#FFFFFF,#F5FAFE); border:1px solid #E3EEF6; border-radius:24px; padding:22px; box-shadow:0 2px 4px rgba(6,58,92,.05), 0 20px 46px rgba(6,58,92,.09); }
.dk-map svg { width:100%; height:auto; display:block; overflow:visible; }
.dk-land { fill:#DCEEFA; stroke:#9CCAE9; stroke-width:1; stroke-linejoin:round; transition:fill .3s ease; }
.dk-map:hover .dk-land { fill:#D3E9F8; }
.dk-pin { cursor:pointer; }
.dk-pin:focus { outline:none; }
.dk-dot { fill:#006AB3; stroke:#fff; stroke-width:2; transition:r .18s ease; }
.dk-haupt .dk-dot { fill:#F5A623; }
.dk-pulse { pointer-events:none; fill:rgba(0,106,179,.22); transform-box:fill-box; transform-origin:center; animation:dkpulse 2.6s ease-out infinite; }
.dk-haupt .dk-pulse { fill:rgba(245,166,35,.30); }
@keyframes dkpulse { 0%{transform:scale(.5);opacity:.7} 70%{transform:scale(1.7);opacity:0} 100%{opacity:0} }
@media (prefers-reduced-motion:reduce){ .dk-pulse{animation:none;opacity:0} }
.dk-lbl { font:700 12px 'Figtree',sans-serif; fill:#12283A; text-anchor:middle; opacity:0; pointer-events:none; transition:opacity .15s ease; paint-order:stroke; stroke:#fff; stroke-width:3.5px; }
.dk-haupt .dk-lbl { opacity:1; fill:#B26A00; }
.dk-lbl-rechts { text-anchor:start; }
.dk-pin.akt .dk-dot { r:8; }
.dk-pin.akt .dk-lbl, .dk-pin:hover .dk-lbl, .dk-pin:focus .dk-lbl { opacity:1; }
.dk-liste { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dk-item { display:flex; align-items:center; gap:9px; padding:11px 14px; border:1px solid #E3EEF6; border-radius:12px; background:#fff; color:var(--text); cursor:pointer; transition:border-color .15s ease, transform .15s ease, background .15s ease; font-size:14.5px; }
.dk-item svg { color:#006AB3; flex:none; }
.dk-item.akt, .dk-item:hover { border-color:rgba(0,106,179,.35); transform:translateY(-2px); background:#F5FAFE; }
.dk-item-haupt { border-color:rgba(245,166,35,.4); background:#FFFBF2; }
.dk-item-haupt svg { color:#F5A623; }
.dk-role { display:block; font-size:11.5px; color:var(--muted); }
@media (max-width:820px){ .dk-wrap{grid-template-columns:1fr; gap:24px;} .dk-map{max-width:440px; margin:0 auto;} }
@media (max-width:460px){ .dk-liste{grid-template-columns:1fr;} }

/* ---- Firmen-Zeitstrahl ---- */
.zeit { position:relative; max-width:760px; margin:38px auto 0; padding-left:4px; }
.zeit::before { content:""; position:absolute; left:23px; top:6px; bottom:6px; width:3px; border-radius:2px; background:linear-gradient(#006AB3,#7ABCE0); }
.zeit-item { position:relative; padding:0 0 26px 66px; }
.zeit-item:last-child { padding-bottom:0; }
.zeit-jahr { position:absolute; left:0; top:-2px; width:48px; height:48px; border-radius:14px; background:linear-gradient(135deg,#006AB3,#1E8CD3); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:13.5px; box-shadow:0 8px 18px rgba(0,106,179,.28); z-index:1; }
.zeit-box { background:#fff; border:1px solid #E3EEF6; border-radius:16px; padding:16px 20px; box-shadow:0 8px 22px rgba(6,58,92,.06); }
.zeit-box p { font-size:15px; color:var(--text); line-height:1.6; }

/* ---- Redaktioneller Prozess ---- */
.redakt { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:34px; }
.redakt-step { background:#fff; border:1px solid #E3EEF6; border-radius:18px; padding:24px 20px; text-align:center; position:relative; box-shadow:0 8px 22px rgba(6,58,92,.06); }
.redakt-nr { width:44px; height:44px; margin:0 auto 14px; border-radius:14px; background:linear-gradient(135deg,#006AB3,#2B96D9); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:18px; }
.redakt-step h3 { font-size:15.5px; margin-bottom:6px; }
.redakt-step p { font-size:13.5px; color:var(--muted); line-height:1.55; }
@media (max-width:820px){ .redakt{grid-template-columns:1fr 1fr;} }
@media (max-width:460px){ .redakt{grid-template-columns:1fr;} }

/* ---- Standort-Landingpages ---- */
.std-kontakt { display:flex; gap:26px; align-items:center; background:linear-gradient(135deg,#FFFFFF,#F5FAFE); border:1px solid #E3EEF6; border-radius:24px; padding:26px 30px; box-shadow:0 2px 4px rgba(6,58,92,.05), 0 20px 46px rgba(6,58,92,.09); max-width:900px; }
.std-foto { flex:none; width:132px; height:150px; object-fit:cover; border-radius:18px; background:#EAF2F8; box-shadow:0 10px 26px rgba(6,58,92,.14); }
.std-kontakt-body { min-width:0; }
.std-rolle { font-size:13px; color:var(--marke); font-weight:700; text-transform:uppercase; letter-spacing:.4px; }
.std-name { font-family:'Bricolage Grotesque',sans-serif; font-size:24px; margin:2px 0 12px; color:var(--tinte); }
.std-nap { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.std-nap a, .std-nap-zeit { display:inline-flex; align-items:center; gap:9px; font-size:14.5px; color:var(--text); text-decoration:none; }
.std-nap a:hover { color:var(--marke); }
.std-nap svg { flex:none; }
.std-kontakt-btns { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }

/* ---------- Standort-Schwerpunkt: Gebaeude-Schema mit Legende ----------
   Die Ziffern stehen im SVG, die Texte danaben kommen als HTML-Liste. So bleibt
   die Grafik auf jeder Breite lesbar (nur Zahlen skalieren mit) und die Inhalte
   sind vorlesbar, uebersetzbar und fuer Suchmaschinen sichtbar. */
.imm-box { background:linear-gradient(135deg,#FFFFFF,#F5FAFE); border:1px solid #E3EEF6; border-radius:24px; padding:30px 32px 32px; margin-top:34px; box-shadow:0 2px 4px rgba(6,58,92,.05), 0 20px 46px rgba(6,58,92,.08); }
.imm-hd { font-size:21px; }
.imm-sub { font-size:15px; color:var(--muted); margin-top:6px; max-width:620px; }
.imm-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px; align-items:center; margin-top:22px; }
.imm-svg { width:100%; height:auto; display:block; }
.imm-legende { list-style:none; display:grid; gap:15px; margin:0; padding:0; counter-reset:none; }
.imm-legende li { display:flex; gap:13px; align-items:flex-start; font-size:14.5px; color:var(--text); line-height:1.6; }
.imm-legende b { color:var(--tinte); }
.imm-nr { flex:none; width:27px; height:27px; border-radius:999px; background:var(--marke); color:#fff; font-size:14px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; margin-top:1px; }
@media (max-width:900px) { .imm-grid { grid-template-columns:1fr; gap:26px; } }
@media (max-width:640px) { .imm-box { padding:24px 20px 26px; border-radius:20px; } }
.std-kontakt-btns .btn { padding:13px 22px; font-size:15px; }
.std-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:760px; margin:0 auto; }
.std-stat { text-align:center; background:#fff; border:1px solid #E3EEF6; border-radius:18px; padding:26px 18px; box-shadow:0 8px 22px rgba(6,58,92,.06); }
.std-stat-zahl { display:block; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:34px; color:var(--marke); line-height:1; }
.std-stat-txt { display:block; margin-top:8px; font-size:14px; color:var(--muted); }
@media (max-width:640px){ .std-kontakt{flex-direction:column; text-align:center; align-items:center;} .std-nap{align-items:center;} .std-kontakt-btns{justify-content:center;} .std-stats{grid-template-columns:1fr; gap:14px;} }

/* ---- Karten-Standorte mit eigener Seite (verlinkt) ---- */
.dk-item-link { padding:0; }
.dk-item-link a { display:flex; align-items:center; gap:9px; padding:11px 14px; text-decoration:none; color:inherit; width:100%; }
.dk-item-link .dk-arrow { margin-left:auto; color:var(--marke); opacity:.5; transition:opacity .15s ease, transform .15s ease; }
.dk-item-link:hover .dk-arrow, .dk-item-link.akt .dk-arrow { opacity:1; transform:translateX(2px); }
.dk-pin-link { cursor:pointer; }

/* Zwischenüberschrift innerhalb einer Sektion */
.vers-h3 { font-family:'Bricolage Grotesque',sans-serif; font-size:19px; font-weight:700; color:var(--tinte); margin:26px 0 8px; }

/* ================= APP-STORE-BADGES ================= */
.store-badges { display:flex; gap:14px; flex-wrap:wrap; margin-top:22px; }
.store-badge { display:inline-flex; align-items:center; gap:12px; background:#0C2A40; color:#fff; border-radius:14px; padding:11px 20px 11px 16px; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; box-shadow:0 10px 24px rgba(6,58,92,.16); }
.store-badge:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgba(6,58,92,.24); }
.store-badge svg { flex:none; }
.store-badge span { display:flex; flex-direction:column; line-height:1.1; }
.store-badge small { font-size:11px; opacity:.82; letter-spacing:.02em; }
.store-badge b { font-size:19px; font-family:'Bricolage Grotesque',sans-serif; font-weight:700; }

/* ================= LOGO-WAND „Mit wem wir arbeiten" ================= */
.logo-wall { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin-top:26px; }
.logo-item { display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #E6EEF6; border-radius:16px; padding:22px 20px; min-height:96px; box-shadow:0 2px 4px rgba(6,58,92,.05); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
a.logo-item:hover { transform:translateY(-3px); border-color:rgba(0,106,179,.28); box-shadow:0 16px 34px rgba(6,58,92,.12); }
.logo-item img { max-width:100%; max-height:56px; width:auto; height:auto; object-fit:contain; }

/* ================= GENERISCHER KARTEN-SLIDER ================= */
.fg-slider { position:relative; margin-top:24px; }
.fg-slide-track { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:6px 2px 20px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.fg-slide-track::-webkit-scrollbar { display:none; }
.fg-slide { scroll-snap-align:start; flex:0 0 clamp(280px,80%,380px); background:linear-gradient(168deg,#FFFFFF 40%,#F2F9FD 100%); border:1px solid #E6EEF6; border-radius:20px; padding:26px 26px 28px; box-shadow:0 2px 4px rgba(6,58,92,.05), 0 18px 40px rgba(6,58,92,.08); display:flex; flex-direction:column; }
.fg-slide-gelb { background:linear-gradient(168deg,#FFFDF5 30%,#FDF3D8 100%); border-color:rgba(245,181,24,.28); }
.fg-slide-bild { width:100%; height:auto; aspect-ratio:16/11; object-fit:cover; border-radius:14px; margin-bottom:16px; }
.fg-slide h3 { font-size:19px; margin:0 0 8px; color:var(--tinte); }
.fg-slide-text { font-size:15px; color:var(--text); line-height:1.55; }
.fg-slider .ts-arrow.sl-prev { position:absolute; left:-8px; top:38%; z-index:2; }
.fg-slider .ts-arrow.sl-next { position:absolute; right:-8px; top:38%; z-index:2; }
@media (max-width:720px){ .fg-slider .ts-arrow { display:none; } }

/* ================= ANSPRECHPARTNER-KARTEN (personen) ================= */
.vers-personen { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; margin-top:20px; }
.vp-card { display:flex; gap:18px; align-items:center; background:linear-gradient(168deg,#FFFFFF 40%,#F2F9FD 100%); border:1px solid #E6EEF6; border-radius:20px; padding:20px; box-shadow:0 2px 4px rgba(6,58,92,.05), 0 16px 36px rgba(6,58,92,.07); }
.vp-card img { flex:none; width:96px; height:120px; object-fit:cover; border-radius:14px; }
.vp-body { min-width:0; }
.vp-body b { display:block; font-size:18px; color:var(--tinte); font-family:'Bricolage Grotesque',sans-serif; }
.vp-rolle { display:block; font-size:13.5px; color:var(--marke); font-weight:700; margin-bottom:8px; }
.vp-body p { font-size:14.5px; color:var(--text); line-height:1.5; margin:0 0 10px; }
.vp-tel { display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:700; color:var(--marke); text-decoration:none; }
.vp-tel:hover { text-decoration:underline; }

/* ===== Querverlinkung Standort <-> Team-Profil ===== */
.std-name-link { color:inherit; text-decoration:none; border-bottom:2px solid rgba(0,106,179,.25); transition:border-color .15s, color .15s; }
.std-name-link:hover, .std-name-link:focus-visible { color:var(--marke); border-bottom-color:var(--marke); }
.std-profil-link,
.profil-standort { display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid rgba(0,106,179,.18); border-radius:999px; padding:9px 18px; font-size:14px; font-weight:700; color:var(--marke); text-decoration:none; box-shadow:var(--schatten-soft); transition:background .15s, border-color .15s, transform .15s; }
.std-profil-link { margin:0 0 14px; }
.profil-standort { margin-top:12px; }
.std-profil-link:hover, .std-profil-link:focus-visible,
.profil-standort:hover, .profil-standort:focus-visible { background:var(--marke); border-color:var(--marke); color:#fff; transform:translateY(-1px); }
.std-profil-link svg, .profil-standort svg { flex:0 0 auto; }
@media (prefers-reduced-motion:reduce) { .std-profil-link, .profil-standort { transition:none; } .std-profil-link:hover, .profil-standort:hover { transform:none; } }
.std-koop { display:flex; align-items:flex-start; gap:9px; margin:14px 0 0; padding:11px 15px; border-radius:12px; background:#FFF8E9; border:1px solid #F0DCB0; color:#6B5320; font-size:13.5px; line-height:1.5; max-width:62ch; }
.std-koop svg { flex:0 0 auto; margin-top:2px; }

/* ===== Erstinformation nach § 15 VersVermV ===== */
.ei-liste { margin:22px 0 0; padding:0; }
.ei-liste dt { font-weight:800; color:var(--tinte); font-size:14px; margin:18px 0 4px; }
.ei-liste dt:first-child { margin-top:0; }
.ei-liste dd { margin:0; padding:0 0 0 0; color:#4A5A66; font-size:14.5px; line-height:1.65; }
.ei-liste dd a { color:var(--marke); }
@media (min-width:720px) {
  .ei-liste { display:grid; grid-template-columns:minmax(180px,230px) 1fr; column-gap:28px; row-gap:0; }
  .ei-liste dt { margin:0; padding:13px 0; border-top:1px solid #E6EDF2; }
  .ei-liste dd { padding:13px 0; border-top:1px solid #E6EDF2; }
  .ei-liste dt:first-child, .ei-liste dt:first-child + dd { border-top:0; }
}
/* =========================================================================
   Ads-Landingpage „Makler werden" — /lp/warum-partner/
   Wird an assets/pages.css angehängt. Alles unter .lp- bzw. body.lp,
   damit nichts in den Rest des Themes blutet.
   Angelegt 2026-09-16 · Plan: landingpages/plan-warum-partner.md
   ========================================================================= */

body.lp { background:#fff; }

.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* ---------- Header: Logo + ein CTA, keine Navigation ---------- */
.lp-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); box-shadow:0 2px 20px rgba(6,58,92,.07); }
.lp-header-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:10px; padding-bottom:10px; }
.lp-logo img { height:48px; width:auto; }
.lp-header-cta { font-size:15px; padding:12px 22px; }

/* ---------- Abschnittsrhythmus ---------- */
.lp-sec { padding:88px 0; }
.lp-sec--hell { background:var(--wolke); }
.lp-sec--dunkel { background:var(--nacht); color:#fff; }
.lp-sec--dunkel .sec-title, .lp-sec--dunkel .sec-eyebrow { color:#fff; }
.lp-sec--dunkel .sec-eyebrow { opacity:.8; }
.lp-sec .sec-sub { max-width:760px; margin-top:14px; color:var(--text); }
.lp-sec--dunkel .sec-sub, .lp-sec--dunkel p { color:rgba(255,255,255,.88); }
.lp-schluss { margin-top:34px; font-size:17.5px; color:var(--text); max-width:820px; }
.lp-klein { font-size:13.5px; color:var(--muted); margin-top:10px; }
.lp-sec--dunkel .lp-klein { color:rgba(255,255,255,.7); }

/* ---------- Hero ---------- */
.lp-hero { padding:56px 0 72px; background:linear-gradient(170deg,var(--wolke) 0%,#fff 72%); }
.lp-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.lp-hero h1 { font-size:clamp(34px,4.4vw,56px); margin-top:12px; color:var(--tinte); }
.lp-lead { margin-top:22px; font-size:19px; color:var(--text); max-width:620px; }
.lp-hero-bild img { width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--schatten); object-fit:cover; }

.lp-cta-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.lp-cta-row--mitte { justify-content:center; margin-top:40px; }

.lp-trust { display:flex; flex-wrap:wrap; gap:10px 26px; list-style:none; margin-top:26px; font-size:14.5px; font-weight:600; color:var(--muted); }
.lp-trust li { display:inline-flex; align-items:center; gap:8px; }
.lp-trust li::before { content:"✓"; color:var(--gruen); font-weight:800; }
.lp-trust--mitte { justify-content:center; margin-top:28px; }

/* ---------- Zahlenband ---------- */
.lp-band { background:var(--marke); color:#fff; padding:34px 0; }
.lp-band-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; }
.lp-band-grid strong { display:block; font-family:'Bricolage Grotesque',sans-serif; font-size:38px; line-height:1.1; }
.lp-band-grid span { display:block; margin-top:6px; font-size:14.5px; opacity:.9; }

/* ---------- Kartenraster ---------- */
.lp-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:40px; }
.lp-karte { background:#fff; border-radius:var(--radius); padding:28px 26px; box-shadow:var(--schatten-soft); border-top:4px solid transparent; }
.lp-karte h3 { font-size:19px; color:var(--tinte); }
.lp-karte p { margin-top:10px; font-size:15.5px; color:var(--text); }
.lp-karte--problem { border-top-color:#E2574C; }
.lp-karte--plus { border-top-color:var(--gruen); }

/* ---------- Zahlen & Fakten ---------- */
.lp-fakten { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:40px; }
.lp-fakten div { background:#fff; border-radius:var(--radius); padding:24px 18px; text-align:center; box-shadow:var(--schatten-soft); }
.lp-fakten strong { display:block; font-family:'Bricolage Grotesque',sans-serif; font-size:30px; color:var(--marke); line-height:1.15; }
.lp-fakten span { display:block; margin-top:8px; font-size:13.5px; color:var(--text); }
.lp-quelle { margin-top:16px; font-size:13.5px; color:var(--muted); }
.lp-quelle a { color:var(--marke); font-weight:600; text-decoration:underline; }

/* ---------- Vergleichstabelle ---------- */
.lp-tabelle-wrap { margin-top:46px; overflow-x:auto; }
.lp-tabelle { width:100%; min-width:520px; border-collapse:separate; border-spacing:0; background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--schatten-soft); }
.lp-tabelle th, .lp-tabelle td { padding:15px 18px; text-align:left; font-size:15.5px; border-bottom:1px solid #EAF2F8; }
.lp-tabelle thead th { background:var(--hell); font-family:'Bricolage Grotesque',sans-serif; font-size:16px; color:var(--tinte); }
.lp-tabelle thead th:last-child { color:var(--marke); }
.lp-tabelle tbody th { font-weight:600; color:var(--tinte); }
.lp-tabelle td { text-align:center; }
.lp-tabelle tr:last-child th, .lp-tabelle tr:last-child td { border-bottom:none; }
.lp-ja { color:var(--gruen); font-weight:800; font-size:19px; }
.lp-nein { color:#E2574C; font-weight:800; font-size:19px; }
.lp-teils { color:var(--muted); font-size:14px; }

/* ---------- Fünf Schritte ---------- */
.lp-schritte { list-style:none; counter-reset:lp-schritt; display:grid; gap:18px; margin-top:40px; }
.lp-schritte li { counter-increment:lp-schritt; position:relative; background:#fff; border-radius:var(--radius); padding:26px 28px 26px 84px; box-shadow:var(--schatten-soft); }
.lp-schritte li::before { content:counter(lp-schritt); position:absolute; left:26px; top:24px; width:40px; height:40px; border-radius:50%; background:var(--marke); color:#fff; font-family:'Bricolage Grotesque',sans-serif; font-size:19px; display:flex; align-items:center; justify-content:center; }
.lp-schritte h3 { font-size:19px; color:var(--tinte); }
.lp-schritte p { margin-top:8px; font-size:15.5px; color:var(--text); }

/* ---------- Gründer ---------- */
.lp-gruender { display:grid; grid-template-columns:320px 1fr; gap:48px; margin-top:40px; align-items:start; }
.lp-gruender-bild img { width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--schatten); }
.lp-gruender-name { margin-top:16px; }
.lp-gruender-name strong { display:block; font-family:'Bricolage Grotesque',sans-serif; font-size:20px; color:var(--tinte); }
.lp-gruender-name span { display:block; font-size:14.5px; color:var(--muted); }
.lp-social { display:flex; gap:16px; list-style:none; margin-top:12px; font-size:14px; font-weight:600; }
.lp-social a { color:var(--marke); }
.lp-social a:hover { text-decoration:underline; }
.lp-gruender-text blockquote { font-family:'Bricolage Grotesque',sans-serif; font-size:22px; line-height:1.4; color:var(--tinte); border-left:4px solid var(--marke); padding-left:22px; }
.lp-gruender-text p { margin-top:20px; font-size:16.5px; color:var(--text); }
.lp-badges { display:flex; flex-wrap:wrap; gap:14px; list-style:none; margin-top:26px; }
.lp-badges li { background:var(--hell); border-radius:14px; padding:12px 18px; }
.lp-badges strong { display:block; font-size:14.5px; color:var(--tinte); }
.lp-badges span { display:block; font-size:12.5px; color:var(--muted); }

/* ---------- Report ---------- */
.lp-report { display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:center; }
.lp-report .sec-sub, .lp-report p { font-size:16.5px; }
.lp-liste { list-style:none; margin-top:22px; display:grid; gap:11px; font-size:15.5px; }
.lp-liste li { display:flex; gap:11px; }
.lp-liste li::before { content:"✓"; color:var(--gruen); font-weight:800; flex:none; }
.lp-report-karte { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18); border-radius:var(--radius); padding:30px; display:grid; gap:12px; }
.lp-report-flag { justify-self:start; background:var(--gold); color:var(--tinte); font-weight:800; font-size:12.5px; letter-spacing:.06em; padding:5px 13px; border-radius:999px; }
.lp-report-marke { font-size:13.5px; opacity:.75; letter-spacing:.04em; }
.lp-report-karte strong { font-family:'Bricolage Grotesque',sans-serif; font-size:24px; line-height:1.25; }
.lp-report-karte ul { list-style:none; display:grid; gap:7px; font-size:14.5px; opacity:.9; }
.lp-report-karte ul li::before { content:"· "; }

/* ---------- Stimmen ---------- */
.lp-bewertung { display:flex; align-items:center; gap:16px; margin-top:30px; font-size:15.5px; color:var(--text); }
.lp-note { font-family:'Bricolage Grotesque',sans-serif; font-size:40px; color:var(--gold); line-height:1; }
.lp-stimme { display:flex; flex-direction:column; justify-content:space-between; gap:18px; }
.lp-stimme blockquote { font-size:15.5px; color:var(--text); line-height:1.65; }
.lp-stimme figcaption strong { display:block; font-size:15px; color:var(--tinte); }
.lp-stimme figcaption span { display:block; font-size:13px; color:var(--muted); }

/* ---------- FAQ ---------- */
.lp-faq-wrap { max-width:860px; }
.lp-faq { background:#fff; border-radius:16px; box-shadow:var(--schatten-soft); margin-top:12px; padding:0 24px; }
.lp-faq summary { cursor:pointer; list-style:none; padding:19px 0; font-family:'Bricolage Grotesque',sans-serif; font-size:17px; color:var(--tinte); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.lp-faq summary::-webkit-details-marker { display:none; }
.lp-faq summary::after { content:"+"; color:var(--marke); font-size:22px; font-weight:700; flex:none; }
.lp-faq[open] summary::after { content:"–"; }
.lp-faq summary:focus-visible { outline:3px solid var(--marke); outline-offset:3px; border-radius:8px; }
.lp-faq p { padding:0 0 20px; font-size:15.5px; color:var(--text); }

/* ---------- Abschluss ---------- */
.lp-abschluss { background:linear-gradient(170deg,#fff 0%,var(--hell) 100%); text-align:center; }
.lp-abschluss .sec-sub { margin-left:auto; margin-right:auto; }

/* ---------- Footer ---------- */
.lp-footer { background:var(--tinte); color:rgba(255,255,255,.82); padding:40px 0; font-size:14.5px; }
.lp-footer-inner { display:grid; gap:16px; justify-items:center; text-align:center; }
.lp-kontakt, .lp-recht { display:flex; flex-wrap:wrap; gap:10px 28px; list-style:none; justify-content:center; }
.lp-footer a { color:#fff; font-weight:600; }
.lp-footer a:hover { text-decoration:underline; }
.lp-footer .lp-klein { color:rgba(255,255,255,.6); }

/* ---------- Responsive ---------- */
@media (max-width:980px) {
  .lp-hero-grid { grid-template-columns:1fr; gap:36px; }
  .lp-hero-bild { order:-1; max-width:460px; }
  .lp-grid-3 { grid-template-columns:repeat(2,1fr); }
  .lp-fakten { grid-template-columns:repeat(3,1fr); }
  .lp-gruender { grid-template-columns:1fr; gap:32px; }
  .lp-gruender-bild { max-width:320px; }
  .lp-report { grid-template-columns:1fr; }
  .lp-report-karte { order:-1; }
}
@media (max-width:640px) {
  .lp-sec { padding:60px 0; }
  .lp-hero { padding:36px 0 52px; }
  .lp-grid-3 { grid-template-columns:1fr; }
  .lp-fakten { grid-template-columns:repeat(2,1fr); }
  .lp-band-grid { grid-template-columns:1fr; gap:18px; }
  .lp-cta-row .btn { width:100%; }
  .lp-header-cta { padding:10px 16px; font-size:14px; }
  .lp-logo img { height:40px; }
  .lp-schritte li { padding:22px 20px 22px 20px; }
  .lp-schritte li::before { position:static; margin-bottom:12px; }
}

/* =========================================================================
   Bewegung und Feinschliff — nachgezogen am 2026-09-16.
   Vorbild für die Tonart: assets/anim-ordner.svg im Theme (langsame Loops,
   CI-Farben, Abschaltung bei prefers-reduced-motion).
   ========================================================================= */

/* ---------- Einblenden beim Scrollen ----------
   Die Startzustände hängen an .js-reveal, das nur das Skript setzt.
   Ohne JS und bei reduzierter Bewegung ist alles sofort sichtbar. */
.js-reveal .reveal { opacity:0; transform:translateY(22px); transition:opacity .65s cubic-bezier(.22,.61,.36,1), transform .65s cubic-bezier(.22,.61,.36,1); }
.js-reveal .reveal.sichtbar { opacity:1; transform:none; }

/* Karten laufen gestaffelt ein statt alle auf einmal */
.js-reveal .reveal.lp-grid-3 > *,
.js-reveal .reveal.lp-fakten > *,
.js-reveal .reveal.lp-schritte > li { opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s cubic-bezier(.22,.61,.36,1); }
.js-reveal .reveal.sichtbar > *,
.js-reveal .reveal.sichtbar > li { opacity:1; transform:none; }
.js-reveal .reveal.sichtbar > :nth-child(2) { transition-delay:.07s; }
.js-reveal .reveal.sichtbar > :nth-child(3) { transition-delay:.14s; }
.js-reveal .reveal.sichtbar > :nth-child(4) { transition-delay:.21s; }
.js-reveal .reveal.sichtbar > :nth-child(5) { transition-delay:.28s; }
.js-reveal .reveal.sichtbar > :nth-child(6) { transition-delay:.35s; }

@media (prefers-reduced-motion:reduce) {
  .js-reveal .reveal, .js-reveal .reveal > *, .js-reveal .reveal > li { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ---------- Hero: weiches Licht statt flacher Fläche ---------- */
.lp-hero { position:relative; overflow:hidden; }
.lp-hero::before, .lp-hero::after { content:""; position:absolute; border-radius:50%; pointer-events:none; z-index:0; }
.lp-hero::before { width:620px; height:620px; top:-260px; right:-160px; background:radial-gradient(circle,rgba(0,106,179,.16),transparent 68%); }
.lp-hero::after  { width:460px; height:460px; bottom:-220px; left:-140px; background:radial-gradient(circle,rgba(47,181,102,.13),transparent 68%); }
.lp-hero-grid { position:relative; z-index:1; }
.lp-hero-bild { position:relative; }
.lp-hero-bild::after { content:""; position:absolute; inset:auto -14px -14px auto; width:62%; height:62%; border-radius:var(--radius); background:linear-gradient(135deg,var(--marke),transparent 70%); opacity:.12; z-index:-1; }
.lp-hero-bild img { position:relative; z-index:1; }

/* ---------- Zahlenband mit Verlauf ---------- */
.lp-band { background:linear-gradient(100deg,var(--marke-dunkel),var(--marke) 58%,#1C86CC); }
.lp-band-grid strong { font-variant-numeric:tabular-nums; }

/* ---------- Karten reagieren ---------- */
.lp-karte { transition:transform .25s ease, box-shadow .25s ease; }
.lp-karte:hover { transform:translateY(-4px); box-shadow:var(--schatten); }
.lp-fakten div { transition:transform .25s ease, box-shadow .25s ease; }
.lp-fakten div:hover { transform:translateY(-3px); box-shadow:var(--schatten); }
.lp-fakten strong { font-variant-numeric:tabular-nums; }

/* ---------- Courtage-Block mit der Animation ---------- */
.lp-courtage { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin-top:48px; background:#fff; border-radius:var(--radius); padding:32px 34px; box-shadow:var(--schatten-soft); }
.lp-courtage img { width:100%; height:auto; }
.lp-courtage h3 { font-size:24px; color:var(--tinte); }
.lp-courtage p { margin-top:12px; font-size:16.5px; color:var(--text); }

/* ---------- Vergleichstabelle: die eigene Spalte tritt hervor ---------- */
.lp-tabelle thead th:last-child { background:var(--marke); color:#fff; }
.lp-tabelle tbody td:last-child { background:rgba(47,181,102,.06); }
.lp-tabelle tbody tr { transition:background .18s ease; }
.lp-tabelle tbody tr:hover { background:var(--wolke); }

/* ---------- Schritte: durchgehende Linie ---------- */
.lp-schritte { position:relative; }
@media (min-width:641px) {
  .lp-schritte::before { content:""; position:absolute; left:46px; top:34px; bottom:34px; width:2px; background:linear-gradient(var(--marke),rgba(0,106,179,.12)); }
  .lp-schritte li::before { box-shadow:0 0 0 6px var(--wolke); }
}
.lp-sec--hell .lp-schritte li::before { box-shadow:0 0 0 6px var(--wolke); }

/* ---------- Fotostrecke ---------- */
.lp-fotos { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; margin-top:38px; }
.lp-fotos figure { margin:0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--schatten-soft); aspect-ratio:4/3; }
.lp-fotos img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.lp-fotos figure:hover img { transform:scale(1.045); }

/* ---------- Stimmen: Anführungszeichen als Ornament ---------- */
.lp-stimme { position:relative; overflow:hidden; }
.lp-stimme::before { content:"„"; position:absolute; top:-26px; right:14px; font-family:'Bricolage Grotesque',sans-serif; font-size:110px; color:var(--hell); line-height:1; pointer-events:none; }
.lp-stimme blockquote, .lp-stimme figcaption { position:relative; }

/* ---------- FAQ öffnet weich ---------- */
.lp-faq { transition:box-shadow .2s ease; }
.lp-faq[open] { box-shadow:var(--schatten); }
.lp-faq summary::after { transition:transform .2s ease; }
.lp-faq[open] summary::after { transform:rotate(180deg); }
.lp-faq[open] p { animation:lp-auf .28s ease both; }
@keyframes lp-auf { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .lp-faq[open] p { animation:none; } }

/* ---------- Abschlussblock ---------- */
.lp-abschluss { position:relative; overflow:hidden; }
.lp-abschluss::before { content:""; position:absolute; width:720px; height:720px; top:-380px; left:50%; transform:translateX(-50%); background:radial-gradient(circle,rgba(0,106,179,.15),transparent 66%); pointer-events:none; }
.lp-abschluss .wrap { position:relative; z-index:1; }

/* ---------- Dauer-CTA auf dem Handy ---------- */
.lp-sticky { display:none; }
@media (max-width:640px) {
  .lp-sticky { display:block; position:fixed; left:0; right:0; bottom:0; z-index:200; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.95); backdrop-filter:blur(10px); box-shadow:0 -4px 22px rgba(6,58,92,.14); }
  .lp-sticky[hidden] { display:none; }
  .lp-sticky .btn { width:100%; }
  .lp-footer { padding-bottom:88px; }
  .lp-courtage { grid-template-columns:1fr; gap:24px; padding:24px 20px; }
}
@media (max-width:980px) { .lp-courtage { grid-template-columns:1fr; } }

/* ---------- Hero jetzt im Querformat (Teamfoto statt Hochkant-Motiv) ---------- */
.lp-hero-grid { grid-template-columns:1fr 1fr; }
.lp-hero-bild img { aspect-ratio:4/3; object-position:center 42%; }

/* ---------- Zahlenband: vier Werte statt drei ---------- */
.lp-band-grid { grid-template-columns:repeat(4,1fr); }
@media (max-width:900px) { .lp-band-grid { grid-template-columns:repeat(2,1fr); } }

/* ---------- ProvenExpert-Siegel ---------- */
.lp-bewertung { flex-wrap:wrap; }
.lp-siegel { display:flex; gap:12px; list-style:none; margin-left:auto; }
.lp-siegel img { width:74px; height:74px; border-radius:10px; box-shadow:var(--schatten-soft); }
@media (max-width:640px) { .lp-siegel { margin-left:0; } .lp-siegel img { width:62px; height:62px; } }

/* ---------- Team-Band: randlos, volle Breite ---------- */
.lp-teamband { padding:60px 0 0; background:var(--wolke); text-align:center; }
.lp-teamband p { font-family:'Bricolage Grotesque',sans-serif; font-size:clamp(20px,2.4vw,26px); color:var(--tinte); margin-bottom:28px; }
.lp-teamband img { width:100%; height:auto; display:block; }
@media (max-width:640px) {
  .lp-teamband { padding-top:44px; }
  /* Das Band ist sehr breit — auf dem Handy lieber vergrößert und seitlich beschnitten
     als zu einem 6 px hohen Streifen zusammengequetscht. */
  .lp-teamband img { width:auto; height:120px; max-width:none; margin-left:50%; transform:translateX(-50%); }
}

/* ============================================================
   Scroll-Module (fgm) — bewegte Inszenierung vorhandener Inhalte
   bei ~60 % Scrolltiefe. Angelegt 2026-09-16.
   Startzustände hängen an .js-fgm, das nur das Skript setzt —
   ohne JavaScript ist alles sofort und vollständig sichtbar.
   ============================================================ */
.fgm-karte { background:#fff; border:1px solid #E3EEF6; border-radius:22px; padding:clamp(24px,4vw,42px) clamp(20px,3.6vw,40px); box-shadow:0 10px 34px rgba(6,58,92,.10); }
.fgm-karte.fgm-breit { max-width:none; }
.fgm-h2 { text-align:center; margin-bottom:10px; }
.fgm-intro { text-align:center; font-size:15.5px; color:var(--text,#41586B); max-width:58ch; margin:0 auto 26px; }
.fgm-eyebrow { text-align:center; font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--marke,#006AB3); margin-bottom:22px; }

/* ---- D · Deckungs-Check ---- */
.fgm-check { list-style:none; max-width:620px; margin:0 auto; padding:0; }
.fgm-zeile { display:flex; align-items:center; gap:14px; padding:14px 18px; border-radius:15px; border:1px solid #E3EEF6; background:#fff; margin-bottom:10px; transition:border-color .35s ease, background .35s ease, transform .35s ease; }
.fgm-zeile.fgm-ok { border-color:rgba(47,181,102,.4); background:#F6FCF8; transform:translateX(3px); }
.fgm-ic { width:30px; height:30px; flex:none; border-radius:50%; border:2px solid #E3EEF6; display:flex; align-items:center; justify-content:center; color:#fff; transition:border-color .35s ease, background .35s ease; }
.fgm-zeile.fgm-ok .fgm-ic { border-color:var(--gruen,#2FB566); background:var(--gruen,#2FB566); }
.fgm-ic svg { width:16px; height:16px; }
.fgm-ic path { stroke-dasharray:22; stroke-dashoffset:22; transition:stroke-dashoffset .4s ease .12s; }
.fgm-zeile.fgm-ok .fgm-ic path { stroke-dashoffset:0; }
.fgm-txt { font-size:15px; line-height:1.55; font-weight:600; color:var(--text,#41586B); }
.fgm-zeile.fgm-ok .fgm-txt { color:var(--tinte,#12283A); }
.fgm-fazit { max-width:620px; margin:18px auto 0; padding:17px 20px; border-radius:16px; background:linear-gradient(135deg,var(--nacht,#063A5C),var(--marke,#006AB3)); color:#fff; display:flex; align-items:center; gap:13px; }
.fgm-fazit svg { flex:none; }
.fgm-fazit p { font-size:14.5px; line-height:1.5; color:#fff; }
.fgm-fazit a { color:#fff; text-decoration:underline; }

/* ---- B · Der Weg ---- */
.fgm-schritte { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; position:relative; margin-top:6px; }
.fgm-schritte.n2 { grid-template-columns:repeat(2,1fr); }
.fgm-schritte.n3 { grid-template-columns:repeat(3,1fr); }
.fgm-schritte.n5 { grid-template-columns:repeat(5,1fr); }
.fgm-schritte.n6 { grid-template-columns:repeat(3,1fr); }
.fgm-schritt { text-align:center; padding:0 6px; position:relative; }
.fgm-badge { width:54px; height:54px; border-radius:17px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--marke,#006AB3),#1E8CD3); color:#fff; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:19px; box-shadow:0 10px 22px rgba(0,106,179,.28); position:relative; z-index:2; }
.fgm-schritt h3 { font-family:'Bricolage Grotesque',sans-serif; font-size:16.5px; font-weight:800; color:var(--tinte,#12283A); line-height:1.25; }
.fgm-schritt p { font-size:14px; color:var(--text,#41586B); line-height:1.55; margin-top:6px; }
.fgm-linie { position:absolute; top:27px; left:12.5%; width:75%; height:3px; border-radius:2px; background:linear-gradient(90deg,var(--marke,#006AB3),#7ABCE0); transform-origin:left center; z-index:1; }
.fgm-schritte.n6 .fgm-linie { display:none; }
@media (max-width:860px) {
  .fgm-schritte, .fgm-schritte.n2, .fgm-schritte.n3, .fgm-schritte.n5, .fgm-schritte.n6 { grid-template-columns:1fr; gap:22px; }
  .fgm-schritt { display:grid; grid-template-columns:54px 1fr; gap:16px; text-align:left; padding:0; }
  .fgm-badge { margin:0; }
  .fgm-schritt h3 { padding-top:12px; }
  .fgm-linie { top:54px; bottom:40px; left:26px; width:3px; height:auto; transform-origin:top center; background:linear-gradient(180deg,var(--marke,#006AB3),#7ABCE0); }
  .fgm-schritte.n6 .fgm-linie { display:block; }
}

/* ---- C · Dialog ---- */
.fgm-dialog { max-width:560px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.fgm-msg { max-width:86%; font-size:14.5px; line-height:1.6; padding:13px 17px; border-radius:18px; }
.fgm-frage { align-self:flex-end; background:linear-gradient(135deg,var(--marke,#006AB3),#1E8CD3); color:#fff; border-bottom-right-radius:6px; box-shadow:0 8px 20px rgba(0,106,179,.22); font-weight:600; }
.fgm-antwort { align-self:flex-start; background:var(--wolke,#F2F9FD); color:var(--tinte,#12283A); border:1px solid #E3EEF6; border-bottom-left-radius:6px; }
.fgm-antwort b { color:var(--marke,#006AB3); }
.fgm-antwort p + p { margin-top:9px; }
.fgm-antwort ul { margin:9px 0 0 18px; }
.fgm-wer { display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--muted,#5E7182); margin-bottom:7px; }
.fgm-avatar { width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,var(--nacht,#063A5C),var(--marke,#006AB3)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; flex:none; }
.fgm-tippt { align-self:flex-start; display:flex; gap:5px; background:var(--wolke,#F2F9FD); border:1px solid #E3EEF6; border-radius:18px; border-bottom-left-radius:6px; padding:15px 18px; }
.fgm-tippt i { width:7px; height:7px; border-radius:50%; background:#9FB3C2; }
.js-fgm .fgm-tippt i { animation:fgm-tipp 1.3s infinite; }
.js-fgm .fgm-tippt i:nth-child(2) { animation-delay:.18s; }
.js-fgm .fgm-tippt i:nth-child(3) { animation-delay:.36s; }
@keyframes fgm-tipp { 0%,60%,100% { opacity:.35; transform:translateY(0); } 30% { opacity:1; transform:translateY(-4px); } }
.fgm-chips { display:flex; flex-wrap:wrap; gap:8px; align-self:flex-start; margin-top:2px; }
.fgm-chip { background:#fff; border:1px solid #E3EEF6; border-radius:999px; padding:9px 16px; font-size:13.5px; font-weight:700; color:var(--marke,#006AB3); box-shadow:0 4px 16px rgba(6,58,92,.07); transition:transform .18s ease, box-shadow .18s ease; }
.fgm-chip:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(6,58,92,.12); }
.fgm-chip:focus-visible { outline:3px solid var(--marke,#006AB3); outline-offset:3px; }

/* ---- A · Zahlen ---- */
.fgm-zahlen { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:700px) { .fgm-zahlen { grid-template-columns:1fr; } }
.fgm-kachel { text-align:center; padding:26px 18px; border-radius:18px; background:linear-gradient(165deg,#FFFFFF,#F5FAFE); border:1px solid #E3EEF6; }
.fgm-wert { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:clamp(34px,5.4vw,48px); color:var(--marke,#006AB3); line-height:1; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.fgm-wert small { font-size:.5em; font-weight:800; }
.fgm-sterne { color:var(--gold,#F5A623); font-size:19px; letter-spacing:3px; height:22px; margin-top:6px; }
.fgm-label { font-size:14.5px; color:var(--text,#41586B); margin-top:10px; font-weight:600; }
.fgm-quelle { font-size:12.5px; color:var(--muted,#5E7182); margin-top:3px; }
.fgm-mehr { display:block; text-align:center; margin-top:20px; font-size:14px; font-weight:700; color:var(--marke,#006AB3); }
.fgm-mehr:hover { text-decoration:underline; }

/* ---- Startzustände: nur mit JavaScript ---- */
.js-fgm .fgm-kachel,
.js-fgm .fgm-schritt,
.js-fgm .fgm-dialog > *,
.js-fgm .fgm-fazit { opacity:0; transform:translateY(16px); }
.js-fgm .fgm-linie { transform:scaleX(0); }
@media (max-width:860px) { .js-fgm .fgm-linie { transform:scaleY(0); } }
.js-fgm .fgm-zeile { border-color:#E3EEF6; background:#fff; }

.js-fgm [data-fgm].fgm-laeuft .fgm-kachel,
.js-fgm [data-fgm].fgm-laeuft .fgm-schritt,
.js-fgm .fgm-dialog > .fgm-da,
.js-fgm .fgm-fazit.fgm-da { opacity:1; transform:none; transition:opacity .55s ease, transform .55s cubic-bezier(.22,.61,.36,1); }
.js-fgm [data-fgm].fgm-laeuft .fgm-linie { transform:scaleX(1); transition:transform 1.1s cubic-bezier(.22,.61,.36,1); }
@media (max-width:860px) { .js-fgm [data-fgm].fgm-laeuft .fgm-linie { transform:scaleY(1); } }
.js-fgm [data-fgm].fgm-laeuft .fgm-kachel:nth-child(2) { transition-delay:.1s; }
.js-fgm [data-fgm].fgm-laeuft .fgm-kachel:nth-child(3) { transition-delay:.2s; }
.js-fgm [data-fgm].fgm-laeuft .fgm-schritt:nth-child(3) { transition-delay:.22s; }
.js-fgm [data-fgm].fgm-laeuft .fgm-schritt:nth-child(4) { transition-delay:.44s; }
.js-fgm [data-fgm].fgm-laeuft .fgm-schritt:nth-child(5) { transition-delay:.66s; }
.js-fgm [data-fgm].fgm-laeuft .fgm-schritt:nth-child(6) { transition-delay:.88s; }
.js-fgm [data-fgm].fgm-laeuft .fgm-schritt:nth-child(7) { transition-delay:1.1s; }

@media (prefers-reduced-motion:reduce) {
  .js-fgm .fgm-kachel, .js-fgm .fgm-schritt, .js-fgm .fgm-dialog > *, .js-fgm .fgm-fazit { opacity:1 !important; transform:none !important; transition:none !important; }
  .js-fgm .fgm-linie { transform:none !important; }
  .js-fgm .fgm-tippt { display:none; }
  .fgm-zeile { border-color:rgba(47,181,102,.4) !important; background:#F6FCF8 !important; transform:none !important; }
  .fgm-ic { border-color:#2FB566 !important; background:#2FB566 !important; }
  .fgm-ic path { stroke-dashoffset:0 !important; }
}

/* Standort-Kennzahlen: dieselbe Choreografie wie Modul A, eigenes Markup. */
.js-fgm .std-stats[data-fgm] .std-stat { opacity:0; transform:translateY(16px); }
.js-fgm .std-stats[data-fgm].fgm-laeuft .std-stat { opacity:1; transform:none; transition:opacity .55s ease, transform .55s cubic-bezier(.22,.61,.36,1); }
.js-fgm .std-stats[data-fgm].fgm-laeuft .std-stat:nth-child(2) { transition-delay:.1s; }
.js-fgm .std-stats[data-fgm].fgm-laeuft .std-stat:nth-child(3) { transition-delay:.2s; }
.std-stat-zahl { font-variant-numeric:tabular-nums; }
@media (prefers-reduced-motion:reduce) {
  .js-fgm .std-stats[data-fgm] .std-stat { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* Notbremse ohne JavaScript: Läuft das Skript nicht (Fehler, blockiert, Optimierer),
   blenden die Modulinhalte nach zehn Sekunden von selbst ein. Sobald sich das Skript
   mit .js-fgm-ok meldet, ist diese Regel abgeschaltet und die Choreografie greift. */
.js-fgm:not(.js-fgm-ok) .fgm-kachel,
.js-fgm:not(.js-fgm-ok) .fgm-schritt,
.js-fgm:not(.js-fgm-ok) .fgm-dialog > *,
.js-fgm:not(.js-fgm-ok) .fgm-fazit,
.js-fgm:not(.js-fgm-ok) .std-stats[data-fgm] .std-stat { animation:fgm-notfall 0s linear 10s forwards; }
.js-fgm:not(.js-fgm-ok) .fgm-linie { animation:fgm-notfall-linie 0s linear 10s forwards; }
@keyframes fgm-notfall { to { opacity:1; transform:none; } }
@keyframes fgm-notfall-linie { to { transform:none; } }

/* Fotostrecke: Gesichter sitzen meist im oberen Drittel — beim 4:3-Zuschnitt
   den Bildausschnitt nach oben ziehen, sonst schneidet er Köpfe an. */
.lp-fotos img { object-position:center 30%; }

/* ---- Standort-Hero mit Ortsmotiv (page-standort.php) ---- */
.std-hero-bild { margin:0; align-self:center; display:flex; flex-direction:column; gap:10px; min-width:0; }
.std-hero-bild img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;
  border-radius:24px; box-shadow:0 2px 4px rgba(6,58,92,.07), 0 24px 52px rgba(6,58,92,.14); }
.std-bildnachweis { margin:0; font-size:12px; line-height:1.45; color:var(--muted); text-align:right; }
.std-bildnachweis a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.std-bildnachweis a:hover { color:var(--marke); }
@media (max-width:1020px) { .std-bildnachweis { text-align:left; } }

/* ---- Bildnachweise (page-bildnachweise.php) ---- */
.bn-liste { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.bn-eintrag { display:flex; gap:20px; align-items:flex-start; background:#fff; border:1px solid #E3EEF6;
  border-radius:18px; padding:16px 20px; scroll-margin-top:110px; }
.bn-eintrag:target { border-color:var(--marke); box-shadow:0 2px 6px rgba(0,106,179,.14); }
.bn-bild { flex:none; width:160px; height:120px; object-fit:cover; border-radius:12px; background:var(--hell); }
.bn-text { min-width:0; }
.bn-ort { font-family:'Bricolage Grotesque',sans-serif; font-size:17px; color:var(--tinte); margin:0 0 4px; }
.bn-motiv { margin:0 0 6px; font-size:14.5px; color:var(--text); }
.bn-quelle { margin:0 0 10px; font-size:13px; color:var(--muted); line-height:1.5; }
.bn-quelle a { color:var(--muted); text-decoration:underline; text-underline-offset:2px; }
.bn-quelle a:hover { color:var(--marke); }
.bn-link { display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600;
  color:var(--marke); text-decoration:none; }
.bn-link:hover { text-decoration:underline; }
.bn-fuss { margin-top:22px; font-size:13.5px; color:var(--muted); }
@media (max-width:640px) {
  .bn-eintrag { flex-direction:column; gap:12px; }
  .bn-bild { width:100%; height:auto; aspect-ratio:4/3; }
}

/* ---------- Partnergesellschaften-Banner (inc/partner-banner.php) ---------- */
.pg-band { padding:58px 0; }
.pg-band--hell { background:#fff; }
.pg-band--wolke { background:var(--wolke); }
.pg-kopf { text-align:center; margin-bottom:30px; }
.pg-eyebrow { font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--marke); margin-bottom:12px; }
.pg-band .sec-title { font-size:32px; }
.pg-band .caveat { color:#9C3F98; }
.pg-sub { color:var(--text); max-width:62ch; margin:14px auto 0; font-size:16px; }

/* Kachel */
.pg-logo { flex:none; width:168px; height:86px; border:1px solid #E6EEF6; border-radius:16px; background:#fff; display:grid; place-items:center; padding:14px 18px; box-shadow:0 2px 4px rgba(6,58,92,.05); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.pg-logo:hover { transform:translateY(-3px); border-color:rgba(0,106,179,.28); box-shadow:0 16px 34px rgba(6,58,92,.12); }
.pg-logo img { max-width:100%; max-height:52px; width:auto; height:auto; object-fit:contain; }

/* Laufband */
.pg-laufband { position:relative; overflow:hidden; padding:6px 0; }
.pg-laufband::before, .pg-laufband::after { content:""; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none; }
.pg-band--hell .pg-laufband::before { left:0; background:linear-gradient(90deg,#fff,rgba(255,255,255,0)); }
.pg-band--hell .pg-laufband::after { right:0; background:linear-gradient(270deg,#fff,rgba(255,255,255,0)); }
.pg-band--wolke .pg-laufband::before { left:0; background:linear-gradient(90deg,var(--wolke),rgba(242,249,253,0)); }
.pg-band--wolke .pg-laufband::after { right:0; background:linear-gradient(270deg,var(--wolke),rgba(242,249,253,0)); }
.pg-spur { display:flex; gap:16px; width:max-content; animation:pg-rollen 46s linear infinite; }
.pg-spur--rueck { animation-direction:reverse; animation-duration:54s; margin-top:16px; }
.pg-laufband:hover .pg-spur { animation-play-state:paused; }
@keyframes pg-rollen { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* Raster — Flex statt Grid: die letzte Reihe wird zentriert, statt linksbündig zu
   hängen. Die Spaltenzahl kommt als --sp aus fg_partner_spalten(), damit die letzte
   Reihe möglichst voll bleibt (18 Logos → 6 Spalten, 14 → 7, 13 → 7). */
.pg-raster { --sp:var(--sp-desktop, 6); display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.pg-raster .pg-logo { flex:0 1 calc((100% - (var(--sp) - 1) * 14px) / var(--sp)); width:auto; max-width:none; padding:12px 14px; }

/* Fuß */
.pg-fuss { margin-top:30px; display:flex; flex-direction:column; align-items:center; gap:20px; }
.pg-hinweis { font-size:13px; color:var(--muted); max-width:66ch; text-align:center; line-height:1.6; }
.pg-hinweis b { color:var(--text); }

@media (prefers-reduced-motion: reduce) {
  .pg-spur { animation:none; flex-wrap:wrap; width:auto; justify-content:center; }
  .pg-spur--rueck { margin-top:16px; }
}
@media (max-width: 1020px) {
  .pg-raster { --sp:4; }
}
@media (max-width: 760px) {
  .pg-band { padding:44px 0; }
  .pg-band .sec-title { font-size:26px; }
  .pg-raster { --sp:2; gap:10px; }
  .pg-logo { width:140px; height:76px; padding:12px 14px; }
  .pg-raster .pg-logo { width:auto; }
  .pg-laufband::before, .pg-laufband::after { width:48px; }
}


/* ---- Vergütungs-Hinweis (page-versicherung.php) ----
   Gruen = var(--gruen); Haken-Muster wie .lp-trust. */
.verg-box { background:#EDF9F1; border-radius:26px; padding:30px 34px 28px; border-left:6px solid var(--gruen);
            box-shadow:0 2px 4px rgba(6,58,92,.06), 0 18px 40px rgba(6,58,92,.10); }
.verg-box h2 { font-family:'Bricolage Grotesque',sans-serif; font-size:22px; color:var(--tinte); margin:0 0 12px; }
.verg-box p { font-size:15.5px; line-height:1.7; color:var(--text); margin:0; }
.verg-liste { list-style:none; margin:18px 0 0; padding:0; }
.verg-liste li { position:relative; padding:0 0 10px 30px; font-size:15px; line-height:1.6; color:var(--text); }
.verg-liste li:last-child { padding-bottom:0; }
.verg-liste li::before { content:"\2713"; position:absolute; left:0; top:-1px; color:var(--gruen); font-weight:800; font-size:17px; }
.verg-fuss { margin-top:16px !important; font-size:13.5px; color:var(--muted) !important; }
@media (max-width:640px) { .verg-box { padding:24px 22px 22px; border-radius:20px; } .verg-box h2 { font-size:20px; } }

/* ==========================================================================
   Versicherungs-App / simplr — Mockup-Module
   Neu für: inc/versicherungen/digitaler-versicherungsmanager.php
   Gehört ans Ende von assets/pages.css. Alles reines CSS, keine neuen Assets.
   ========================================================================== */

/* ---------- 1. Phone-Screens (Modul 'appscreens') ---------- */

.fg-screens{
  display:flex; gap:26px; margin-top:34px; padding:6px 4px 22px;
  overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.fg-screens::-webkit-scrollbar{ height:8px; }
.fg-screens::-webkit-scrollbar-thumb{ background:var(--pastell); border-radius:999px; }
.fg-screen{ flex:0 0 auto; width:258px; scroll-snap-align:center; margin:0; }
.fg-screen figcaption{ margin-top:18px; font-size:14px; color:var(--text); line-height:1.55; }
.fg-screen figcaption b{ display:block; font-family:'Bricolage Grotesque',sans-serif; font-size:16.5px; color:var(--tinte); margin-bottom:4px; }
.fg-screen-nr{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; background:var(--marke); color:#fff; font-size:13px; font-weight:800;
  margin-bottom:10px;
}

/* Gerät */
.fg-phone{
  position:relative; width:258px; border-radius:40px; padding:11px;
  background:linear-gradient(160deg,#1B3A50,#0B2131);
  box-shadow:0 26px 50px rgba(6,58,92,.26), inset 0 0 0 1px rgba(255,255,255,.12);
}
.fg-phone::after{ /* Notch */
  content:""; position:absolute; top:11px; left:50%; transform:translateX(-50%);
  width:96px; height:20px; background:#0B2131; border-radius:0 0 14px 14px; z-index:3;
}
.fg-phone-screen{
  position:relative; border-radius:30px; overflow:hidden; background:#F6FAFD;
  height:498px; display:flex; flex-direction:column;
}

/* Statuszeile */
.fg-st{
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 18px 4px; font-size:11px; font-weight:800; color:var(--tinte);
}
.fg-st-ic{ display:flex; gap:4px; align-items:center; }
.fg-st-bar{ width:3px; border-radius:1px; background:var(--tinte); }
.fg-st-batt{ width:18px; height:9px; border:1.4px solid var(--tinte); border-radius:2.5px; position:relative; }
.fg-st-batt::before{ content:""; position:absolute; inset:1.5px; right:5px; background:var(--tinte); border-radius:1px; }

/* App-Kopf */
.fg-ab{ padding:6px 18px 14px; background:#F6FAFD; }
.fg-ab-top{ display:flex; align-items:center; justify-content:space-between; }
.fg-ab-logo{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:17px; color:var(--marke); letter-spacing:-.02em; }
.fg-ab-ava{ width:30px; height:30px; border-radius:50%; background:linear-gradient(140deg,var(--marke),var(--nacht)); color:#fff; font-size:11.5px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.fg-ab-h{ font-family:'Bricolage Grotesque',sans-serif; font-size:19px; font-weight:800; color:var(--tinte); margin-top:12px; letter-spacing:-.02em; }
.fg-ab-sub{ font-size:11.5px; color:var(--muted); margin-top:2px; }
.fg-ab-back{ display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:var(--marke); }

/* Suchfeld */
.fg-search{
  display:flex; align-items:center; gap:8px; margin-top:12px;
  background:#fff; border-radius:999px; padding:9px 14px; font-size:12px; color:var(--muted);
  box-shadow:0 2px 8px rgba(6,58,92,.07);
}

/* Scrollbereich */
.fg-body{ flex:1; overflow:hidden; padding:0 14px 8px; }
.fg-sec-label{ font-size:10.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); margin:14px 4px 8px; }

/* Vertragszeile */
.fg-row{
  display:flex; align-items:center; gap:11px; background:#fff; border-radius:15px;
  padding:11px 12px; margin-bottom:8px; box-shadow:0 2px 9px rgba(6,58,92,.06);
}
.fg-row-ic{ width:34px; height:34px; border-radius:11px; background:var(--hell); display:flex; align-items:center; justify-content:center; flex:none; color:var(--marke); }
.fg-row-tx{ flex:1; min-width:0; }
.fg-row-tx b{ display:block; font-size:12.5px; color:var(--tinte); font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fg-row-tx span{ display:block; font-size:10.5px; color:var(--muted); margin-top:1px; }
.fg-row-val{ font-size:12px; font-weight:800; color:var(--tinte); white-space:nowrap; }
.fg-row-val small{ display:block; font-size:9.5px; font-weight:600; color:var(--muted); text-align:right; }

/* Status-Pille */
.fg-pill{ display:inline-flex; align-items:center; gap:4px; font-size:9.5px; font-weight:800; border-radius:999px; padding:3px 8px; }
.fg-pill-on{ background:#E4F7EC; color:#1E8A4B; }
.fg-pill-warn{ background:#FEF2DE; color:#9A6410; }
.fg-pill-info{ background:var(--hell); color:var(--marke); }

/* Summenkarte */
.fg-sum{
  background:linear-gradient(140deg,var(--marke),var(--nacht)); color:#fff;
  border-radius:17px; padding:14px 15px; margin-top:4px;
  box-shadow:0 10px 22px rgba(0,106,179,.28);
}
.fg-sum span{ font-size:10.5px; opacity:.85; font-weight:600; }
.fg-sum b{ display:block; font-family:'Bricolage Grotesque',sans-serif; font-size:24px; font-weight:800; margin-top:2px; letter-spacing:-.02em; }
.fg-sum-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:10px; font-size:10px; opacity:.9; }

/* Dokumentzeile */
.fg-doc{ display:flex; align-items:center; gap:10px; background:#fff; border-radius:13px; padding:10px 12px; margin-bottom:7px; box-shadow:0 2px 9px rgba(6,58,92,.06); }
.fg-doc-ic{ width:28px; height:34px; border-radius:5px; background:#FDECEA; color:#C0392B; font-size:8px; font-weight:800; display:flex; align-items:center; justify-content:center; flex:none; }
.fg-doc b{ display:block; font-size:11.5px; color:var(--tinte); }
.fg-doc span{ font-size:10px; color:var(--muted); }

/* Detail-Kopfkarte */
.fg-detail{ background:#fff; border-radius:17px; padding:15px; box-shadow:0 4px 14px rgba(6,58,92,.08); }
.fg-detail-top{ display:flex; align-items:center; gap:11px; }
.fg-detail-top b{ font-family:'Bricolage Grotesque',sans-serif; font-size:15px; color:var(--tinte); }
.fg-detail-top span{ display:block; font-size:10.5px; color:var(--muted); }
.fg-kv{ display:flex; justify-content:space-between; font-size:11px; padding:7px 0; border-bottom:1px solid #EDF3F8; }
.fg-kv:last-child{ border-bottom:0; }
.fg-kv span{ color:var(--muted); }
.fg-kv b{ color:var(--tinte); font-weight:700; }

/* Chips */
.fg-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.fg-chip{ font-size:10.5px; font-weight:700; border-radius:999px; padding:6px 11px; background:#fff; color:var(--text); box-shadow:0 2px 7px rgba(6,58,92,.07); }
.fg-chip.on{ background:var(--marke); color:#fff; box-shadow:0 6px 14px rgba(0,106,179,.3); }

/* Foto-Upload-Kacheln */
.fg-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:9px; }
.fg-tile{ aspect-ratio:1; border-radius:11px; background:var(--hell); display:flex; align-items:center; justify-content:center; color:var(--marke); }
.fg-tile.add{ background:#fff; border:1.5px dashed #B9DCF2; }

/* Chat */
.fg-chat{ display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.fg-bub{ max-width:82%; font-size:11.5px; line-height:1.5; border-radius:15px; padding:9px 12px; }
.fg-bub.them{ background:#fff; color:var(--text); align-self:flex-start; border-bottom-left-radius:5px; box-shadow:0 2px 9px rgba(6,58,92,.07); }
.fg-bub.me{ background:var(--marke); color:#fff; align-self:flex-end; border-bottom-right-radius:5px; }
.fg-bub-time{ font-size:9px; color:var(--muted); align-self:flex-end; }
.fg-chat-in{ display:flex; align-items:center; gap:8px; background:#fff; border-radius:999px; padding:9px 13px; font-size:11px; color:var(--muted); margin-top:10px; box-shadow:0 2px 9px rgba(6,58,92,.07); }

/* Balken */
.fg-bars{ margin-top:12px; }
.fg-bar{ margin-bottom:11px; }
.fg-bar-top{ display:flex; justify-content:space-between; font-size:11px; margin-bottom:5px; }
.fg-bar-top b{ color:var(--tinte); font-weight:700; }
.fg-bar-top span{ color:var(--muted); }
.fg-bar-track{ height:7px; border-radius:999px; background:var(--pastell); overflow:hidden; }
.fg-bar-fill{ height:100%; border-radius:999px; background:linear-gradient(90deg,var(--marke),#3E9BD8); }

/* Aktionsbutton in der App */
.fg-appbtn{
  display:block; text-align:center; background:var(--marke); color:#fff;
  font-size:12.5px; font-weight:800; border-radius:13px; padding:12px;
  box-shadow:0 8px 18px rgba(0,106,179,.3); margin-top:12px;
}

/* Tableiste */
.fg-tabs{
  display:flex; justify-content:space-around; align-items:center;
  background:#fff; padding:10px 6px 14px; border-top:1px solid #EDF3F8;
}
.fg-tab{ display:flex; flex-direction:column; align-items:center; gap:3px; font-size:8.5px; font-weight:700; color:#A7B9C7; }
.fg-tab.on{ color:var(--marke); }

/* ---------- 2. Browser-Mockup (Modul 'appdesktop') ---------- */

.fg-browser{
  border-radius:18px; overflow:hidden; background:#fff; margin-top:32px;
  box-shadow:0 22px 50px rgba(6,58,92,.18);
}
.fg-br-bar{ display:flex; align-items:center; gap:10px; background:#E8F1F7; padding:11px 15px; }
.fg-br-dots{ display:flex; gap:6px; }
.fg-br-dots i{ width:10px; height:10px; border-radius:50%; display:block; }
.fg-br-url{
  flex:1; background:#fff; border-radius:999px; padding:6px 14px;
  font-size:11.5px; color:var(--muted); display:flex; align-items:center; gap:7px;
}
.fg-br-body{ display:grid; grid-template-columns:186px 1fr; min-height:412px; }
.fg-br-side{ background:var(--nacht); padding:20px 16px; color:#fff; }
.fg-br-logo{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:19px; letter-spacing:-.02em; }
.fg-br-nav{ margin-top:22px; display:flex; flex-direction:column; gap:3px; }
.fg-br-nav a{ display:flex; align-items:center; gap:10px; font-size:12.5px; font-weight:600; color:rgba(255,255,255,.72); border-radius:10px; padding:9px 11px; }
.fg-br-nav a.on{ background:rgba(255,255,255,.14); color:#fff; font-weight:700; }
.fg-br-help{ margin-top:26px; background:rgba(255,255,255,.1); border-radius:13px; padding:13px; font-size:11px; line-height:1.5; color:rgba(255,255,255,.85); }
.fg-br-help b{ display:block; color:#fff; font-size:12px; margin-bottom:4px; }
.fg-br-main{ background:#F6FAFD; padding:22px 24px; }
.fg-br-h{ font-family:'Bricolage Grotesque',sans-serif; font-size:21px; font-weight:800; color:var(--tinte); letter-spacing:-.02em; }
.fg-br-sub{ font-size:12px; color:var(--muted); margin-top:3px; }
.fg-kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:11px; margin-top:16px; }
.fg-kpi{ background:#fff; border-radius:14px; padding:13px 14px; box-shadow:0 3px 12px rgba(6,58,92,.07); }
.fg-kpi span{ font-size:10.5px; color:var(--muted); font-weight:600; }
.fg-kpi b{ display:block; font-family:'Bricolage Grotesque',sans-serif; font-size:21px; color:var(--tinte); font-weight:800; margin-top:2px; }
.fg-kpi.akzent{ background:linear-gradient(140deg,var(--marke),var(--nacht)); }
.fg-kpi.akzent span{ color:rgba(255,255,255,.85); }
.fg-kpi.akzent b{ color:#fff; }
.fg-br-table{ background:#fff; border-radius:16px; margin-top:16px; padding:6px 4px; box-shadow:0 3px 12px rgba(6,58,92,.07); }
.fg-br-tr{ display:grid; grid-template-columns:1.6fr 1fr .8fr .7fr; align-items:center; gap:10px; padding:11px 14px; font-size:12px; border-bottom:1px solid #EDF3F8; }
.fg-br-tr:last-child{ border-bottom:0; }
.fg-br-tr.head{ font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.fg-br-tr b{ color:var(--tinte); font-weight:700; }
.fg-br-tr span{ color:var(--text); }

/* ---------- 3. Funktions-Grid (Modul 'funktionen') ---------- */

.fg-funk{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:32px; }
.fg-funk-card{
  background:#fff; border-radius:18px; padding:22px 20px 20px;
  box-shadow:var(--schatten-soft); transition:transform .2s, box-shadow .2s;
}
.fg-funk-card:hover{ transform:translateY(-3px); box-shadow:var(--schatten); }
.fg-funk-ic{
  width:44px; height:44px; border-radius:14px; background:var(--hell);
  display:flex; align-items:center; justify-content:center; color:var(--marke); margin-bottom:14px;
}
.fg-funk-card h3{ font-family:'Bricolage Grotesque',sans-serif; font-size:16px; color:var(--tinte); font-weight:700; letter-spacing:-.01em; }
.fg-funk-card p{ font-size:13.5px; color:var(--text); line-height:1.6; margin-top:7px; }

/* ---------- 1b. Echte Screenshots (Modul 'screenshots') ---------- */

.fg-shots{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start;
  gap:34px 30px; margin-top:34px;
}
.fg-shot{ flex:0 1 250px; max-width:280px; margin:0; text-align:left; }
.fg-shot img{
  display:block; width:100%; height:auto; border-radius:26px;
  box-shadow:0 20px 44px rgba(6,58,92,.20);
}
.fg-shot figcaption{ margin-top:18px; font-size:14px; color:var(--text); line-height:1.55; }
.fg-shot figcaption b{
  display:block; font-family:'Bricolage Grotesque',sans-serif;
  font-size:16.5px; color:var(--tinte); margin:8px 0 4px;
}
.fg-shot-nr{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; background:var(--marke); color:#fff; font-size:13px; font-weight:800;
}

/* ---------- 1c. Download-Bereich (Modul 'stores') ---------- */

.fg-stores .wrap{ text-align:center; }
.fg-stores .sec-title{ text-align:center; }
.fg-stores .vers-p{ margin-left:auto; margin-right:auto; max-width:620px; }
.fg-stores .store-badges{ justify-content:center; gap:20px; margin-top:30px; }
.fg-stores .store-badge{ padding:15px 30px 15px 24px; border-radius:17px; gap:15px; }
.fg-stores .store-badge svg{ width:32px; height:32px; }
.fg-stores .store-badge small{ font-size:12.5px; }
.fg-stores .store-badge b{ font-size:23px; }

/* ---------- 3b. Echtes App-Mockup im Hero ---------- */
/* Der Hero-Rahmen schneidet auf 4:3 zu. Bei freigestellten Geräte-Mockups
   würden dabei oben und unten die Gehäusekanten abgeschnitten — deshalb hier
   einpassen statt beschneiden. Greift nur für Bilder aus assets/simplr/. */
.hero-titelbild img[src*="/assets/simplr/"]{
  object-fit:contain;
  background:#fff;
  padding:16px;
}

/* ---------- 4. Roadmap / Zeitstrahl (Modul 'roadmap') ---------- */

/* Farbdramaturgie: Die Reise läuft von Markenblau (Start) über Türkis
   bis Gold (Schadenfall) und Grün (läuft dauerhaft). Jede Station färbt
   Nummer, Linie, Dauer-Pille und Icon-Kacheln gemeinsam ein. */
.fg-road{
  list-style:none; margin:38px auto 0; padding:0;   /* mittig im Textblock */
  position:relative; max-width:880px;
  --st:var(--marke); --st2:#1E95C8;
}
.fg-road-step:nth-child(1){ --st:#006AB3; --st2:#2E8FD0; }
.fg-road-step:nth-child(2){ --st:#0B7FC0; --st2:#3AA2DA; }
.fg-road-step:nth-child(3){ --st:#1394BE; --st2:#45B4D6; }
.fg-road-step:nth-child(4){ --st:#12A39C; --st2:#3FC4B6; }
.fg-road-step:nth-child(5){ --st:#E08A0B; --st2:#F5A623; }
.fg-road-step:nth-child(6){ --st:#1F9E56; --st2:#2FB566; }
.fg-road-step{
  position:relative; padding:0 0 34px 82px; margin:0;
}
.fg-road-step::before{                 /* graue Spur von diesem Kreis zum nächsten */
  content:""; position:absolute; left:26px; top:58px; bottom:-6px;
  width:4px; border-radius:2px;
  background:var(--pastell);
}
.fg-road-step:last-child{ padding-bottom:0; }
.fg-road-step:last-child::before{ display:none; }
.fg-road-nr{
  position:absolute; left:0; top:0; z-index:1;
  width:54px; height:54px; border-radius:50%;
  background:linear-gradient(145deg,var(--st2),var(--st)); color:#fff;
  font-family:'Bricolage Grotesque',sans-serif; font-size:21px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 4px #fff, 0 10px 22px color-mix(in srgb, var(--st) 38%, transparent);
}

/* Stationskarte — hebt den Inhalt vom Seitenhintergrund ab */
.fg-road-karte{
  background:#fff; border-radius:20px; padding:20px 24px 22px;
  box-shadow:var(--schatten-soft);
  border-left:5px solid var(--st);
}
.fg-road-kopf{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.fg-road-kopf h3{
  font-family:'Bricolage Grotesque',sans-serif; font-size:21px; font-weight:700;
  color:var(--tinte); letter-spacing:-.01em; margin:0;
}
.fg-road-dauer{
  font-size:12px; font-weight:800; color:#fff; letter-spacing:.02em;
  background:linear-gradient(135deg,var(--st2),var(--st));
  border-radius:999px; padding:6px 14px; white-space:nowrap;
  box-shadow:0 4px 12px color-mix(in srgb, var(--st) 32%, transparent);
}
.fg-road-text{ font-size:15.5px; color:var(--text); line-height:1.65; margin:10px 0 0; }
.fg-road-funk{
  list-style:none; margin:16px 0 0; padding:0;
  display:flex; flex-wrap:wrap; gap:9px;
}
.fg-road-funk li{
  display:inline-flex; align-items:center; gap:10px;
  background:color-mix(in srgb, var(--st) 8%, #fff);
  border:1.5px solid color-mix(in srgb, var(--st) 22%, #fff);
  border-radius:999px; padding:7px 16px 7px 8px;
  font-size:14px; font-weight:700; color:var(--tinte);
}
.fg-road-ic{
  width:30px; height:30px; border-radius:50%; flex:none;
  background:linear-gradient(145deg,var(--st2),var(--st)); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 3px 8px color-mix(in srgb, var(--st) 30%, transparent);
}
.fg-road-ende{
  max-width:880px; margin:28px auto 0; padding:18px 24px;
  background:linear-gradient(120deg,var(--nacht),var(--marke)); color:#fff;
  border-radius:18px; font-size:15.5px; line-height:1.6;
  box-shadow:0 12px 30px rgba(0,106,179,.22);
}

/* Scroll-Animation: Stationen blenden ein, die Linie wächst mit.
   Die Startzustände gelten nur unter '.anim' — diese Klasse setzt das
   Skript im Modul. Ohne JavaScript bleibt alles sofort sichtbar. */
.fg-road-step::after{
  content:""; position:absolute; left:26px; top:58px; bottom:-6px;
  width:4px; border-radius:2px;
  background:linear-gradient(180deg,var(--st2),var(--st));
}
.fg-road-step:last-child::after{ display:none; }

.fg-road.anim .fg-road-step::after{ transform:scaleY(0); transform-origin:top; }
.fg-road.anim .fg-road-nr,
.fg-road.anim .fg-road-karte{ opacity:0; transform:translateY(22px); }

.fg-road.anim .fg-road-step.sichtbar::after{
  transform:scaleY(1); transition:transform .75s cubic-bezier(.22,.8,.3,1) .25s;
}
.fg-road.anim .fg-road-step.sichtbar .fg-road-nr{
  opacity:1; transform:none;
  transition:opacity .45s ease, transform .5s cubic-bezier(.22,.8,.3,1);
}
.fg-road.anim .fg-road-step.sichtbar .fg-road-karte{
  opacity:1; transform:none;
  transition:opacity .5s ease .1s, transform .55s cubic-bezier(.22,.8,.3,1) .1s;
}

@media (prefers-reduced-motion: reduce){
  .fg-road.anim .fg-road-step::after{ transform:none; }
  .fg-road.anim .fg-road-nr,
  .fg-road.anim .fg-road-karte{ opacity:1; transform:none; }
}

/* Ältere Browser ohne color-mix: Rückfall auf die Markenfarben,
   damit Chips und Schatten nicht transparent werden. */
@supports not (color: color-mix(in srgb, red 50%, blue)){
  .fg-road-funk li{ background:#fff; border-color:var(--pastell); box-shadow:var(--schatten-soft); }
  .fg-road-nr{ box-shadow:0 0 0 4px #fff, var(--schatten-soft); }
  .fg-road-dauer, .fg-road-ic{ box-shadow:var(--schatten-soft); }
}

/* ---------- 5. Bild + Text (Modul 'bildtext') ---------- */

.fg-bt{
  display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center;
  margin-top:30px;
}
.fg-bt-links .fg-bt-text{ order:2; }
.fg-bt-links .fg-bt-bild{ order:1; }
.fg-bt-badge{
  display:inline-block; background:var(--marke); color:#fff;
  font-size:13px; font-weight:700; border-radius:999px; padding:6px 16px;
}
.fg-bt-text h2{
  font-family:'Bricolage Grotesque',sans-serif; font-size:clamp(26px,3.1vw,38px);
  font-weight:800; color:var(--tinte); letter-spacing:-.02em; line-height:1.15;
  margin:16px 0 0;
}
.fg-bt-text > p{ font-size:16.5px; color:var(--text); line-height:1.7; margin-top:16px; }
.fg-bt-punkte{ list-style:none; margin:20px 0 0; padding:0; }
.fg-bt-punkte li{
  display:flex; gap:12px; align-items:flex-start;
  font-size:15.5px; color:var(--text); line-height:1.6; padding:8px 0;
}
.fg-bt-punkte li svg{ flex:none; margin-top:2px; }
.fg-bt-cta{ margin-top:24px; }
.fg-bt-bild{ margin:0; }
.fg-bt-bild img{
  display:block; width:100%; height:auto; border-radius:var(--radius);
}

/* Breitvariante: Text oben, Bild darunter über die volle Spaltenbreite.
   Für Bilder mit mehreren Handy-Screens nebeneinander — in der halben
   Spalte wäre der Inhalt der Screens nicht mehr zu erkennen. */
.fg-bt-breit{ grid-template-columns:1fr; gap:30px; }
.fg-bt-breit .fg-bt-text{ max-width:820px; }
.fg-bt-breit .fg-bt-punkte{
  display:grid; grid-template-columns:repeat(2,1fr); gap:0 28px;
}
.fg-bt-breit .fg-bt-bild img{ border-radius:18px; }

/* ---------- 6. Responsive ---------- */

@media (max-width:980px){
  .fg-funk{ grid-template-columns:repeat(2,1fr); }
  .fg-br-body{ grid-template-columns:1fr; }
  .fg-br-side{ display:none; }
  .fg-kpis{ grid-template-columns:repeat(2,1fr); }
  .fg-br-tr{ grid-template-columns:1.4fr 1fr .8fr; }
  .fg-br-tr > :nth-child(4){ display:none; }
  .fg-bt{ grid-template-columns:1fr; gap:30px; }
  .fg-bt-links .fg-bt-text,
  .fg-bt-links .fg-bt-bild{ order:0; }
  .fg-bt-breit .fg-bt-punkte{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .fg-funk{ grid-template-columns:1fr; }
  .fg-kpis{ grid-template-columns:repeat(2,1fr); }
  .fg-screens{ gap:20px; }
  .fg-road-step{ padding-left:0; padding-bottom:26px; }
  .fg-road-step::before, .fg-road-step::after{ display:none; }
  /* Kreis sitzt oben auf der Karte — er muss über ihr liegen, sonst
     verdeckt die Karte die Zahl. */
  .fg-road-nr{ position:relative; z-index:2; width:44px; height:44px; font-size:18px;
               margin:0 0 -22px 18px; box-shadow:0 0 0 4px var(--wolke), 0 8px 18px rgba(6,58,92,.18); }
  .fg-road-karte{ padding:34px 18px 20px; border-left-width:4px; }
  .fg-road-kopf h3{ font-size:18px; }
  .fg-road-funk li{ font-size:13.5px; padding:6px 14px 6px 6px; }
  .fg-road-ende{ padding:16px 18px; font-size:14.5px; }
}
