/* gp-solar.de · Gestaltung Runde 3 (30.09.2026, Auftrag Philipp)
 * Leitidee: Projektatlas. Echte Anlagen tragen die Seiten; Leistung, Ort und Jahr stehen wie auf
 * einem Datenblatt am Bild. Marken-Grün ist Fläche und Akzent, nie Fließtextfarbe auf Weiß.
 * Einheit px: das Theme setzt html{font-size:10px}. Lato ist nur in 300/400/900 geladen.
 * Alles unter .gpx, damit Bricks-Regeln nichts verschieben und nichts nach außen wirkt. */

.gpx{--ink:#15201a;--text:#2b362f;--grau:#58645c;--linie:#dde4d6;--hell:#f3f6ef;--hell2:#e9efe2;--gruen:#8fc158;--gruen-d:#3d6b22;--gruen-t:#284818;--nacht:#15221a;--nacht2:#1d2e23;
  font-family:lato,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--text);width:100%;flex:1 1 100%;box-sizing:border-box;-webkit-font-smoothing:antialiased}
:where(.gpx) *,:where(.gpx) *::before,:where(.gpx) *::after{box-sizing:border-box}
:where(.gpx) img{max-width:100%;height:auto;display:block}
:where(.gpx) p{margin:0 0 14px}
:where(.gpx) a{color:var(--gruen-d);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:where(.gpx) a:hover{color:var(--gruen-t)}
:where(.gpx) :is(h1,h2,h3,h4){font-family:inherit;color:var(--ink);font-weight:900;margin:0;letter-spacing:-.01em;text-wrap:balance;text-transform:none}
:where(.gpx) h1{font-size:50px;line-height:1.06}
:where(.gpx) h2{font-size:36px;line-height:1.14;margin-bottom:14px}
:where(.gpx) h3{font-size:21px;line-height:1.28;margin-bottom:6px}
:where(.gpx) h4{font-size:17px;line-height:1.35;margin-bottom:4px}
.gpx-innen{max-width:1200px;margin:0 auto;padding:0 24px}
.gpx-sek{padding:88px 0}
.gpx-sek--hell{background:var(--hell)}
.gpx-sek--nacht{background:var(--nacht);color:#dfe7da}
.gpx-sek--nacht h2,.gpx-sek--nacht h3,.gpx-sek--nacht h4{color:#fff}
.gpx-sek--eng{padding:56px 0}
.gpx-lead{font-size:19px;line-height:1.55;color:var(--grau);max-width:720px;margin:0 0 36px}
.gpx-sek--nacht .gpx-lead{color:#b9c7b4}
.gpx-klein{font-size:15px;color:var(--grau)}
.gpx-zahl{font-variant-numeric:tabular-nums lining-nums}

/* Knöpfe */
.gpx-knoepfe{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.gpx a.gpx-btn,.gpx button.gpx-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:13px 24px;border-radius:6px;border:2px solid var(--gruen);background:var(--gruen);color:var(--ink)!important;font:900 16px/1.2 lato,Arial,sans-serif;letter-spacing:.01em;text-decoration:none!important;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}
.gpx a.gpx-btn:hover,.gpx button.gpx-btn:hover{background:#a3cf72;border-color:#a3cf72}
.gpx a.gpx-btn:active,.gpx button.gpx-btn:active{transform:translateY(1px)}
.gpx a.gpx-btn--rand,.gpx button.gpx-btn--rand{background:transparent;color:var(--ink)!important}
.gpx a.gpx-btn--rand:hover,.gpx button.gpx-btn--rand:hover{background:var(--hell2);border-color:var(--gruen)}
.gpx a.gpx-btn--hell{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.75);color:#fff!important}
.gpx a.gpx-btn--hell:hover{background:rgba(255,255,255,.16);border-color:#fff}
.gpx-btn svg{width:18px;height:18px;flex:0 0 18px}
.gpx a.gpx-pfeil{font-weight:900;text-decoration:none;color:var(--gruen-d)}
.gpx a.gpx-pfeil::after{content:" →"}
.gpx a.gpx-pfeil:hover{text-decoration:underline}
.gpx-sek--nacht a.gpx-pfeil{color:var(--gruen)}

/* Bildunterschrift als Datenzeile (Signatur: Ort · Leistung · Jahr) */
.gpx-datenzeile{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;line-height:1.4;color:var(--grau);margin-top:10px}
.gpx-datenzeile b{color:var(--ink);font-weight:900}

/* Sterne */
.gpx-sterne{display:inline-flex;gap:2px;vertical-align:-2px}
.gpx-sterne svg{width:16px;height:16px;fill:#f5b400}

/* ---------- Hero Startseite ---------- */
.gpx-hero{position:relative;min-height:640px;display:flex;align-items:center;background:#1a261d;overflow:hidden;color:#fff}
.gpx-hero__bild{position:absolute;inset:0;margin:0}
.gpx-hero__bild img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.gpx-hero__verlauf{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,22,16,.92) 0%,rgba(14,22,16,.78) 34%,rgba(14,22,16,.18) 62%,rgba(14,22,16,0) 80%)}
.gpx-hero .gpx-innen{position:relative;width:100%;padding-top:72px;padding-bottom:96px}
.gpx-hero__inhalt{max-width:560px}
.gpx-hero h1{color:#fff;margin-bottom:20px}
.gpx-hero__text{font-size:20px;line-height:1.55;color:#e4ece0;margin-bottom:30px}
.gpx-hero__beleg{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:22px 0 0;font-size:15px;color:#cfdac9}
.gpx-hero__beleg a{color:#fff}
.gpx-hero__bildtext{position:absolute;right:24px;bottom:20px;margin:0;padding:7px 12px;border-radius:4px;background:rgba(14,22,16,.72);color:#e9f0e5;font-size:13px;line-height:1.3;letter-spacing:.01em}
.gpx-hero__bildtext b{color:#fff;font-weight:900}

/* ---------- Seitenkopf der Unterseiten ---------- */
.gpx-kopf{position:relative;background:var(--nacht);color:#dfe7da;overflow:hidden}
.gpx-kopf__raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center;padding-top:64px;padding-bottom:64px}
.gpx-kopf h1{color:#fff;font-size:46px;margin-bottom:18px}
.gpx-kopf__text{font-size:19px;line-height:1.55;color:#c9d5c4;margin-bottom:26px}
.gpx-kopf__bild{margin:0}
.gpx-kopf__bild img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.gpx-kopf__bild figcaption{margin-top:10px;font-size:14px;color:#aebcaa}
.gpx-kopf__bild figcaption b{color:#fff;font-weight:900}
.gpx-kopf--schlicht .gpx-kopf__raster{grid-template-columns:minmax(0,800px);padding-top:72px;padding-bottom:56px}

/* ---------- Drei Wege (Kauf, Contracting, Pacht) ---------- */
.gpx-wege{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--linie);border-radius:12px;background:#fff;overflow:hidden}
.gpx-weg{display:flex;flex-direction:column;padding:30px 28px 28px;border-left:1px solid var(--linie)}
.gpx-weg:first-child{border-left:0}
.gpx-weg h3{font-size:24px;margin-bottom:8px}
.gpx-weg__kurz{font-size:17px;color:var(--text);margin-bottom:22px;min-height:82px}
.gpx-weg dl{margin:0 0 22px;display:grid;gap:0}
.gpx-weg dl div{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--linie);font-size:15px;line-height:1.45}
.gpx-weg dt{color:var(--grau)}
.gpx-weg dd{margin:0;color:var(--ink);font-weight:900}
.gpx-weg__passt{margin-top:auto;padding:14px 16px;background:var(--hell);border-radius:8px;font-size:15px;line-height:1.5;color:var(--text)}
.gpx-weg__passt b{color:var(--ink)}
.gpx-weg .gpx-pfeil{margin-top:18px;align-self:flex-start}
.gpx-weiteres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:44px}
.gpx-weiteres a.gpx-mehr{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;text-decoration:none;color:var(--text)}
.gpx-weiteres a.gpx-mehr img{width:112px;height:84px;object-fit:cover;border-radius:8px}
.gpx-weiteres a.gpx-mehr b{display:block;color:var(--ink);font-size:17px;line-height:1.3;margin-bottom:3px}
.gpx-weiteres a.gpx-mehr span{display:block;font-size:15px;line-height:1.45;color:var(--grau)}
.gpx-weiteres a.gpx-mehr:hover b{color:var(--gruen-d);text-decoration:underline}

/* ---------- Ablauf ---------- */
.gpx-ablauf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:schritt;margin:8px 0 0;padding:0;list-style:none}
.gpx-ablauf li{position:relative;padding:34px 26px 0 0}
.gpx-ablauf li::before{counter-increment:schritt;content:counter(schritt);position:absolute;top:0;left:0;width:30px;height:30px;border-radius:50%;background:var(--gruen);color:var(--ink);font:900 15px/30px lato,Arial,sans-serif;text-align:center}
.gpx-ablauf li::after{content:"";position:absolute;top:15px;left:40px;right:12px;height:2px;background:rgba(143,193,88,.35)}
.gpx-ablauf li:last-child::after{display:none}
.gpx-ablauf h3{margin:14px 0 8px;font-size:20px}
.gpx-ablauf p{font-size:16px;line-height:1.55;margin:0;color:inherit}
.gpx-sek--nacht .gpx-ablauf p{color:#c3cfbe}
.gpx-ablauf__fuss{margin-top:44px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.gpx-ablauf__fuss p{margin:0;color:#b9c7b4;font-size:15px;max-width:640px}

/* ---------- Ansprechpartner ---------- */
.gpx-team{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.gpx-personen{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gpx-person{margin:0}
.gpx-person img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;border-radius:10px;background:#e7ebe3}
.gpx-person figcaption{margin-top:10px;font-size:15px;line-height:1.4;color:var(--grau)}
.gpx-person figcaption b{display:block;color:var(--ink);font-size:18px}
.gpx-kontaktliste{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:10px;font-size:17px}
.gpx-kontaktliste li{display:flex;gap:12px;align-items:center}
.gpx-kontaktliste svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:var(--gruen-d);stroke-width:2}
.gpx-kontaktliste a{font-weight:900;color:var(--ink);text-decoration:none}
.gpx-kontaktliste a:hover{text-decoration:underline}

/* ---------- Zitate ---------- */
.gpx-zitate{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.gpx blockquote.gpx-zitat{margin:0;padding:0 0 0 20px;border:0;border-left:3px solid var(--gruen);background:none;font-family:lato,Arial,sans-serif;font-style:normal;quotes:none}
.gpx blockquote.gpx-zitat::before,.gpx blockquote.gpx-zitat::after{content:none}
.gpx blockquote.gpx-zitat p,.gpx blockquote.gpx-zitat footer{font-family:lato,Arial,sans-serif;font-style:normal}
.gpx-zitat p{font-size:18px;line-height:1.55;color:var(--ink);margin:0 0 10px}
.gpx-zitat footer{font-size:14px;color:var(--grau)}

/* ---------- Karte / Region ---------- */
.gpx-region{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center}
.gpx-karte{position:relative;margin:0}
.gpx-karte svg{width:100%;height:auto;display:block}
.gpx-karte figcaption{font-size:13px;color:var(--grau);margin-top:8px;display:flex;flex-wrap:wrap;gap:6px 18px}
.gpx-karte figcaption i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.gpx-staedte{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px;padding:0;list-style:none}
.gpx-staedte a{display:inline-block;padding:7px 12px;border:1px solid var(--linie);border-radius:999px;background:#fff;font-size:14px;line-height:1.2;color:var(--ink);text-decoration:none}
.gpx-staedte a:hover{border-color:var(--gruen);background:var(--hell2)}
.gpx-karte a,.gpx-karte a text{text-decoration:none!important}
.gpx-karte a:hover text{fill:var(--gruen-d);font-weight:900}
.gpx-karte a:focus{outline:none}
.gpx-karte a:focus-visible circle{stroke:var(--ink);stroke-width:2}

/* ---------- Projekte ---------- */
.gpx-fall{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:44px;align-items:center}
.gpx-fall__bild{margin:0}
.gpx-fall__bild img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.gpx-fall h3{font-size:28px;margin-bottom:10px}
.gpx-datenblatt{margin:20px 0 0;border-top:2px solid var(--ink)}
.gpx-datenblatt div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:11px 0;border-bottom:1px solid var(--linie);font-size:16px}
.gpx-datenblatt dt{color:var(--grau)}
.gpx-datenblatt dd{margin:0;font-weight:900;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.gpx-paar{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:56px}
.gpx-paar .gpx-fall__bild img{aspect-ratio:3/2}
.gpx-paar h3{font-size:24px;margin:18px 0 6px}
.gpx-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.gpx-ref{margin:0}
.gpx-ref img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.gpx-ref__kwp{display:block;margin-top:12px;font-size:26px;line-height:1.1;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}
.gpx-ref__was{display:block;margin-top:2px;font-size:16px;color:var(--text)}
.gpx-ref__wo{display:block;font-size:14px;color:var(--grau)}
.gpx-tabelle{width:100%;border-collapse:collapse;font-size:16px}
.gpx-tabelle th{text-align:left;font-size:13px;font-weight:900;color:var(--grau);padding:0 10px 8px 0;border-bottom:2px solid var(--ink)}
.gpx-tabelle td{padding:10px 10px 10px 0;border-bottom:1px solid var(--linie);vertical-align:middle}
.gpx-tabelle td.r,.gpx-tabelle th.r{text-align:right;padding-right:0;padding-left:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.gpx-tabelle img{width:64px;height:44px;object-fit:cover;border-radius:4px}

/* Aufruf-Leiste */
.gpx-aufruf{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;padding:34px 36px;border-radius:12px;background:var(--nacht);color:#dfe7da}
.gpx-aufruf h3{color:#fff;font-size:24px;margin:0 0 4px}
.gpx-aufruf p{margin:0;color:#b9c7b4}

/* Zweispalter mit Text */
.gpx-zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.gpx-text p{font-size:18px;line-height:1.65}
.gpx-liste{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.gpx-liste li{position:relative;padding-left:28px}
.gpx-liste li::before{content:"";position:absolute;left:2px;top:8px;width:12px;height:12px;border-radius:2px;background:var(--gruen)}

/* Regionen-Liste (Einsatzgebiete) */
.gpx-regionen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px}
.gpx-regionen h3{font-size:20px;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.gpx-regionen ul{list-style:none;margin:0;padding:0}
.gpx-regionen li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--linie);font-size:16px}
.gpx-regionen li a{font-weight:900;color:var(--ink);text-decoration:none}
.gpx-regionen li a:hover{color:var(--gruen-d);text-decoration:underline}
.gpx-regionen li span{color:var(--grau);font-variant-numeric:tabular-nums;white-space:nowrap}

/* Kopf: Kennzahlen und Karte */
.gpx-kopf__daten{display:flex;flex-wrap:wrap;gap:0;margin:8px 0 0;border-top:1px solid rgba(255,255,255,.18)}
.gpx-kopf__daten div{padding:14px 28px 0 0;margin-right:28px}
.gpx-kopf__daten dt{font-size:13px;color:#aebcaa}
.gpx-kopf__daten dd{margin:2px 0 0;font:900 28px/1.1 lato,Arial,sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.gpx-kopf .gpx-karte--de{background:#f3f6ef;border-radius:12px;padding:18px 18px 12px}
.gpx-kopf .gpx-karte--de figcaption{color:var(--grau)}
.gpx-unsichtbar{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gpx-ref figcaption{margin:0}
.gpx figcaption{text-align:left}
.gpx-fall p,.gpx-paar p{font-size:17px}
@media (max-width:767px){
  .gpx-kopf__daten div{padding-right:0;margin-right:22px}
  .gpx-kopf__daten dd{font-size:23px}
  .gpx-kopf .gpx-karte--de{padding:12px 10px 8px}
}

/* Arbeitsteilung (Über uns) */
.gpx-teilung{display:grid;grid-template-columns:1.3fr 1fr;gap:0;border:1px solid var(--linie);border-radius:12px;overflow:hidden;background:#fff}
.gpx-teilung__spalte{padding:28px 30px}
.gpx-teilung__spalte + .gpx-teilung__spalte{border-left:1px solid var(--linie)}
.gpx-teilung__spalte--wir{background:#fff}
.gpx-teilung__spalte h3{font-size:20px;margin-bottom:16px}
.gpx-teilung .gpx-klein{margin-top:18px}
/* Einsatzgebiete */
.gpx-eg{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:center}
.gpx-eg__karte svg{border-radius:12px}
/* Kontakt */
.gpx-kanaele{display:grid;gap:12px}
.gpx a.gpx-kanal{display:flex;gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--linie);border-radius:10px;background:#fff;text-decoration:none;color:var(--ink)}
.gpx a.gpx-kanal:hover{border-color:var(--gruen);background:#f8fbf4}
.gpx-kanal svg{width:26px;height:26px;flex:0 0 26px;fill:none;stroke:var(--gruen-d);stroke-width:2}
.gpx-kanal b{display:block;font-size:19px;line-height:1.3}
.gpx-kanal small{display:block;font-size:14px;color:var(--grau)}
@media (max-width:991px){
  .gpx-teilung,.gpx-eg{grid-template-columns:1fr}
  .gpx-teilung__spalte + .gpx-teilung__spalte{border-left:0;border-top:1px solid var(--linie)}
}
@media (max-width:767px){
  .gpx-teilung__spalte{padding:22px 18px}
  .gpx-kanal b{font-size:17px}
}

/* Drei Wege (Startseite, Stand 30.09. spät): drei Türen nach Fläche */
.gpx-tueren{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:stretch}
.gpx-tueren__rechts{display:grid;grid-template-rows:1fr 1fr;gap:24px}
.gpx-tuer{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linie);border-radius:12px;overflow:hidden}
.gpx-tuer__bild{position:relative;margin:0}
.gpx-tuer__bild img{width:100%;height:100%;object-fit:cover;display:block}
.gpx-tuer__bild figcaption{position:absolute;left:12px;bottom:12px;margin:0;padding:5px 10px;border-radius:4px;background:rgba(14,22,16,.72);color:#e9f0e5;font-size:12px;line-height:1.3}
.gpx-tuer--gross .gpx-tuer__bild{height:330px}
.gpx-tuer__text{padding:24px 26px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.gpx-tuer__text p{margin:0}
.gpx-tuer h3{font-size:24px;margin:0}
.gpx-tuer--gross h3{font-size:28px}
.gpx-tuer .gpx-liste{margin:4px 0 6px;font-size:16px}
.gpx-tuer .gpx-knoepfe{margin-top:auto;gap:12px 20px}
.gpx-tuer__fuss{padding-top:14px;border-top:1px solid var(--linie)}
.gpx-tueren__rechts .gpx-tuer{flex-direction:row}
.gpx-tueren__rechts .gpx-tuer__bild{flex:0 0 42%}
.gpx-tueren__rechts .gpx-tuer__text{padding:20px 22px}
.gpx-tueren__rechts .gpx-tuer h3{font-size:21px}
.gpx-tueren__rechts .gpx-tuer p{font-size:16px}
@media (max-width:991px){
  .gpx-tueren{grid-template-columns:1fr}
  .gpx-tueren__rechts{grid-template-rows:none}
}
@media (max-width:767px){
  .gpx-tuer--gross .gpx-tuer__bild{height:220px}
  .gpx-tueren__rechts .gpx-tuer{flex-direction:column}
  .gpx-tueren__rechts .gpx-tuer__bild{flex:none;height:190px}
  .gpx-tuer__text{padding:20px 18px 22px}
  .gpx-tuer--gross h3{font-size:24px}
}

/* Seitenköpfe der Unterseiten im Stil des Startseiten-Heros */
.gpx-hero--seite{min-height:520px}
.gpx-hero--seite .gpx-innen{padding-top:64px;padding-bottom:84px}
.gpx-hero--seite h1{font-size:46px}
.gpx-hero--seite .gpx-hero__inhalt{max-width:600px}
@media (max-width:767px){
  .gpx-hero--seite h1{font-size:31px}
  .gpx-hero--seite .gpx-hero__bild{height:220px}
  .gpx-hero--seite .gpx-hero__bildtext{top:182px}
  .gpx-hero--seite .gpx-innen{padding-top:24px;padding-bottom:30px}
}

/* Einsatzgebiete: Regionen mit Ertragsbalken */
.gpx-regs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:20px;align-items:start}
.gpx-reg{border-radius:12px;padding:22px 24px 16px}
.gpx-reg--gruen{background:#eaf3df}.gpx-reg--himmel{background:#e6eff5}.gpx-reg--sand{background:#f7efdf}.gpx-reg--flieder{background:#efebf5}
.gpx-reg h3{font-size:20px;margin:0 0 10px}
.gpx-reg ul{list-style:none;margin:0;padding:0}
.gpx-reg li{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr) auto;gap:14px;align-items:center;padding:7px 0;border-top:1px solid rgba(21,32,26,.08);font-size:16px}
.gpx-reg li:first-child{border-top:0}
.gpx-reg li a{font-weight:900;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpx-reg li a:hover{text-decoration:underline;color:var(--gruen-t)}
.gpx-balken{display:block;height:10px;border-radius:5px;background:rgba(255,255,255,.75);overflow:hidden}
.gpx-balken span{display:block;height:100%;border-radius:5px}
.gpx-reg__wert{font-variant-numeric:tabular-nums;font-weight:900;color:var(--ink);white-space:nowrap;min-width:6.5em;text-align:right}
.gpx-skala i{display:inline-block;width:56px!important;height:10px!important;border-radius:5px!important;background:linear-gradient(90deg,#f4d05e,#e06c1f)!important;vertical-align:0}
@media (max-width:991px){.gpx-regs{grid-template-columns:1fr}}
@media (max-width:767px){
  .gpx-reg{padding:18px 16px 12px}
  .gpx-reg li{grid-template-columns:minmax(0,8.5em) minmax(0,1fr) auto;gap:10px;font-size:15px}
  .gpx-reg__wert{min-width:0}
}

/* Einsatzgebiete nach Regionen: Karte (klebt) + Stadtkacheln, verknüpft über data-stadt */
.gpx-eg2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:start}
.gpx-eg2__karte{position:sticky;top:96px}
.gpx-eg2__karte svg{border-radius:12px;background:#fff}
.gpx-eg2 .gpx-karte a circle{transition:transform .15s,fill .15s;transform-box:fill-box;transform-origin:center}
.gpx-eg2 .gpx-karte a:hover circle,.gpx-eg2 .gpx-karte a.aktiv circle{fill:#8fc158;transform:scale(1.6)}
.gpx-eg2 .gpx-karte a:hover text,.gpx-eg2 .gpx-karte a.aktiv text{font-weight:900;fill:#284818}
.gpx-regio{margin:0 0 34px}
.gpx-regio__kopf{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:6px}
.gpx-regio__kopf h3{font-size:21px;margin:0}
.gpx-regio__kopf span{font-size:14px;color:var(--grau)}
.gpx-regio > .gpx-klein{margin:0 0 12px}
.gpx-staedteraster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gpx a.gpx-stadt{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--linie);border-radius:10px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .15s,background .15s,transform .15s}
.gpx a.gpx-stadt b{font-size:17px;line-height:1.25}
.gpx a.gpx-stadt span{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--grau)}
.gpx a.gpx-stadt:hover,.gpx a.gpx-stadt.aktiv{border-color:var(--gruen);background:#f3f8ec;transform:translateY(-1px)}
.gpx a.gpx-stadt:hover b,.gpx a.gpx-stadt.aktiv b{color:var(--gruen-t)}
.gpx-sonne{width:15px;height:15px;flex:0 0 15px;fill:#f2b33d;stroke:#f2b33d;stroke-width:1.6;stroke-linecap:round;vertical-align:-2px}
.gpx-sonnenfakt{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:14px 16px;border-radius:10px;background:#fbf5e6;font-size:15px;line-height:1.5}
.gpx-sonnenfakt .gpx-sonne{width:22px;height:22px;flex:0 0 22px;margin-top:1px}
@media (max-width:991px){
  .gpx-eg2{grid-template-columns:1fr;gap:28px}
  .gpx-eg2__karte{position:static}
}
@media (max-width:767px){
  .gpx-staedteraster{gap:8px}
  .gpx a.gpx-stadt{padding:10px 12px}
  .gpx a.gpx-stadt b{font-size:15px}
}

/* Bricks-Hüllen der Runde-3-Abschnitte */
.gpx-frei{padding:0!important}
.gpx-frei > .brxe-shortcode{width:100%}
#brxe-bwhcwr{padding:0!important}
#brxe-yogyxw{width:100%!important;max-width:none!important;padding:0!important}
#formfunnel{width:100%;scroll-margin-top:70px}

/* ---------- Handy und Tablet ---------- */
@media (max-width:991px){
  :where(.gpx) h1{font-size:40px}
  :where(.gpx) h2{font-size:30px}
  .gpx-sek{padding:64px 0}
  .gpx-wege{grid-template-columns:1fr}
  .gpx-weg{border-left:0;border-top:1px solid var(--linie)}
  .gpx-weg:first-child{border-top:0}
  .gpx-weg__kurz{min-height:0}
  .gpx-weiteres{grid-template-columns:1fr;gap:18px}
  .gpx-ablauf{grid-template-columns:1fr 1fr;gap:28px 24px}
  .gpx-ablauf li::after{display:none}
  .gpx-team,.gpx-region,.gpx-zwei,.gpx-fall,.gpx-kopf__raster{grid-template-columns:1fr;gap:36px}
  .gpx-zitate{grid-template-columns:1fr;gap:24px}
  .gpx-raster{grid-template-columns:1fr 1fr}
  .gpx-paar{grid-template-columns:1fr}
}
@media (max-width:767px){
  .gpx{font-size:16px}
  .gpx-innen{padding:0 18px}
  :where(.gpx) h1{font-size:33px;line-height:1.1}
  :where(.gpx) h2{font-size:26px}
  :where(.gpx) h3{font-size:19px}
  .gpx-sek{padding:52px 0}
  .gpx-lead{font-size:17px;margin-bottom:26px}
  .gpx-hero{min-height:0;display:block}
  .gpx-hero__bild{position:relative;height:250px}
  .gpx-hero__bild img{object-position:60% 45%}
  .gpx-hero__verlauf{display:none}
  .gpx-hero .gpx-innen{padding-top:26px;padding-bottom:34px}
  .gpx-hero__text{font-size:17px;margin-bottom:22px}
  .gpx-hero .gpx-knoepfe{flex-direction:column;align-items:stretch}
  .gpx-hero__bildtext{top:212px;bottom:auto;right:12px;font-size:12px;padding:5px 9px}
  .gpx-kopf h1{font-size:33px}
  .gpx-kopf__raster{padding-top:36px;padding-bottom:40px}
  .gpx-kopf__text{font-size:17px}
  .gpx-ablauf{grid-template-columns:1fr}
  .gpx-weg{padding:24px 20px}
  .gpx-weg dl div{grid-template-columns:104px 1fr}
  .gpx-raster{grid-template-columns:1fr;gap:26px}
  .gpx-regionen{grid-template-columns:1fr}
  .gpx-aufruf{padding:26px 22px}
  .gpx-aufruf .gpx-knoepfe{width:100%;flex-direction:column;align-items:stretch}
  .gpx-personen{gap:14px}
  .gpx-tabelle{font-size:15px}
  .gpx-tabelle img{width:52px;height:38px}
  .gpx-fall h3{font-size:23px}
  .gpx-karte svg a text{display:none}
}
@media (prefers-reduced-motion:reduce){.gpx *{transition:none!important}}

/* ---------- Dachcheck (eigener Konfigurator) ---------- */
.gpx-dc{padding:72px 0 76px;background:#fff}
.gpx-dc__kopf{max-width:760px;margin:0 0 30px}
.gpx-dc__kopf .gpx-lead{margin-bottom:0}
.gpx-dc__raster{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px;align-items:start}
.gpx-dc__karte{background:#fff;border:1px solid var(--linie);border-radius:14px;box-shadow:0 18px 40px -24px rgba(21,32,26,.35);padding:30px 34px 34px;scroll-margin-top:110px;min-width:0}
.gpx-dc__seite{padding-top:8px;font-size:16px;color:var(--text)}
.gpx-dc__koepfe{display:flex;margin-bottom:16px}
.gpx-dc__koepfe img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.gpx-dc__koepfe img+img{margin-left:-12px}
.gpx-dc__seite .gpx-liste{margin:14px 0 22px;font-size:15px}
.gpx-dc__lieber{font-size:15px;color:var(--grau);padding-top:16px;border-top:1px solid var(--linie)}
.gpx-dc__lieber a{font:900 20px/1.4 lato,Arial,sans-serif;color:var(--ink);text-decoration:none}
.gpx-dc__lieber span{font-size:14px}
.gpx-dc__leiste{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.gpx-dc__stand{font-size:14px;font-weight:900;color:var(--gruen-d);white-space:nowrap;min-width:0}
.gpx-dc__balken{flex:1;height:6px;border-radius:3px;background:var(--hell2);overflow:hidden}
.gpx-dc__balken span{display:block;height:100%;width:8%;background:var(--gruen);border-radius:3px;transition:width .3s}
.gpx-dc__form{margin:0}
.gpx-dc__schritt{border:0;margin:0;padding:0;min-width:0}
.gpx-dc__schritt[hidden],.gpx-dc [hidden]{display:none!important}
.gpx-dc__frage{display:block;float:none;width:100%;padding:0;margin:0 0 6px;font:900 26px/1.25 lato,Arial,sans-serif;color:var(--ink);outline:none}
.gpx-dc__frage2{font:900 19px/1.3 lato,Arial,sans-serif;color:var(--ink);margin:26px 0 12px}
.gpx-dc__hinweis{font-size:15px;color:var(--grau);margin:0 0 16px}
.gpx-dc__optionen{display:grid;gap:12px;margin-top:18px}
.gpx-dc__optionen--art{grid-template-columns:1.25fr 1fr 1fr}
.gpx-dc__optionen--chips{grid-template-columns:repeat(3,minmax(0,1fr))}
.gpx-dc__optionen--chips:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
.gpx-dc__optionen--chips:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.gpx-dc__opt{position:relative;display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 18px;border:2px solid var(--linie);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;color:var(--ink)}
.gpx-dc__opt:hover{border-color:var(--gruen);background:#f8fbf4}
.gpx-dc__opt input{position:absolute;opacity:0;pointer-events:none}
.gpx-dc__opt:has(input:checked){border-color:var(--gruen-d);background:#eef6e4;box-shadow:inset 0 0 0 1px var(--gruen-d)}
.gpx-dc__opt:has(input:focus-visible){outline:3px solid var(--gruen-d);outline-offset:2px}
.gpx-dc__opttext{display:flex;flex-direction:column;gap:2px}
.gpx-dc__opttext b{font-size:17px;line-height:1.3;font-weight:900}
.gpx-dc__opttext small{font-size:14px;line-height:1.35;color:var(--grau)}
.gpx-dc__optionen--art .gpx-dc__opt{flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:190px;padding:22px}
.gpx-dc__optionen--art .gpx-dc__opt:first-child{border-color:#c9dbb4}
.gpx-dc__icon{display:block;width:72px;height:54px;color:var(--ink)}
.gpx-dc__icon svg{width:100%;height:100%}
.gpx-dc__optionen--art .gpx-dc__opttext b{font-size:19px}
.gpx-dc__genau{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:15px;color:var(--grau)}
.gpx-dc__einheit{display:flex;align-items:center;border:2px solid var(--linie);border-radius:8px;background:#fff;overflow:hidden}
.gpx-dc__einheit input{border:0!important;outline:none;width:130px;padding:10px 12px!important;font:400 17px lato,Arial,sans-serif;color:var(--ink);background:transparent!important;box-shadow:none!important;height:auto!important;margin:0!important}
.gpx-dc__einheit span{padding:0 12px;color:var(--grau);font-weight:900}
.gpx-dc__einheit:focus-within{border-color:var(--gruen-d)}
.gpx-dc__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}
.gpx-dc__zurueck{background:none;border:0;padding:8px 0;font:900 15px lato,Arial,sans-serif;color:var(--grau);cursor:pointer}
.gpx-dc__zurueck::before{content:"← "}
.gpx-dc__zurueck:hover{color:var(--ink);text-decoration:underline}
.gpx-dc__nav .gpx-dc__weiter{margin-left:auto}
.gpx-dc__ergebnis{margin-top:14px;padding:22px 24px;border-radius:10px;background:var(--nacht);color:#dfe7da}
.gpx-dc__werte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 14px}
.gpx-dc__werte div{border-left:3px solid var(--gruen);padding-left:12px}
.gpx-dc__werte dt{font-size:13px;color:#aebcaa;margin:0}
.gpx-dc__werte dd{margin:2px 0 0;font:900 22px/1.2 lato,Arial,sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.gpx-dc__ergebnis p{margin:0 0 8px;font-size:16px;color:#dfe7da}
.gpx-dc__ergebnis .gpx-dc__vorbehalt{font-size:13px;color:#a6b4a2;margin:0}
.gpx-dc__felder{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:18px}
.gpx-dc__feld{margin:0;display:flex;flex-direction:column;gap:6px}
.gpx-dc__feld--breit{grid-column:1/-1}
.gpx-dc__feld label{font-size:15px;font-weight:900;color:var(--ink)}
.gpx-dc__feld label span{font-weight:400;color:var(--grau)}
.gpx-dc__feld input,.gpx-dc__feld textarea{width:100%;border:2px solid var(--linie)!important;border-radius:8px!important;padding:11px 13px!important;font:400 17px/1.4 lato,Arial,sans-serif!important;color:var(--ink)!important;background:#fff!important;box-shadow:none!important;height:auto!important;margin:0!important}
.gpx-dc__feld input:focus,.gpx-dc__feld textarea:focus{border-color:var(--gruen-d)!important;outline:none}
.gpx-dc__feld [aria-invalid="true"]{border-color:#b3261e!important}
.gpx-dc__check{flex-direction:row;align-items:flex-start;gap:12px}
.gpx-dc__check input{width:22px!important;height:22px!important;flex:0 0 22px;margin-top:2px!important;padding:0!important;accent-color:var(--gruen-d)}
.gpx-dc__check label{font-weight:400;font-size:14px;line-height:1.5;color:var(--grau)}
.gpx-dc__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gpx-dc__fehler{margin:16px 0 0;padding:12px 14px;border-radius:8px;background:#fdecea;color:#8c1d18;font-size:15px}
.gpx-dc__senden{margin-top:20px}
.gpx-dc__senden[disabled]{opacity:.6;cursor:wait}
.gpx-dc__klein{font-size:14px;color:var(--grau);margin:10px 0 0}
.gpx-dc__danke{padding:10px 0;outline:none}
.gpx-dc__danke h3{font-size:26px;margin-bottom:8px}
@media (max-width:767px){
  .gpx-dc{padding:40px 0 44px;background:#f3f6ef}
  .gpx-dc__karte{padding:20px 16px 22px;border-radius:12px}
  .gpx-dc__frage{font-size:21px}
  .gpx-dc__optionen--art,.gpx-dc__optionen--chips{grid-template-columns:1fr}
  .gpx-dc__optionen--art .gpx-dc__opt{flex-direction:row;align-items:center;min-height:0;padding:14px 16px}
  .gpx-dc__icon{width:54px;height:40px;flex:0 0 54px}
  .gpx-dc__opt{min-height:54px;padding:12px 14px}
  .gpx-dc__werte{grid-template-columns:1fr;gap:10px}
  .gpx-dc__felder{grid-template-columns:1fr}
  .gpx-dc__senden{width:100%}
  .gpx-dc__stand{font-size:13px}
}
@media (max-width:991px){
  .gpx-dc__raster{grid-template-columns:1fr;gap:26px}
  .gpx-dc__seite{display:none}
}

/* Kopfschrift wie die bisherigen Seitenköpfe (z. B. /aktuelles/, Stadtseiten): Lato normal, gesperrt.
   Wunsch Philipp 30.09.2026 („altes Headerdesign war doch nicht schlecht, Schriftart etc.“). Größe so, dass
   lange Überschriften auf zwei Zeilen bleiben (mit 60 px und 5 px Sperrung wurden es drei, „komisch“). */
.gpx-hero h1,.gpx-hero--seite h1{font-weight:400;letter-spacing:3px;line-height:1.25;font-size:46px}
.gpx-hero__inhalt,.gpx-hero--seite .gpx-hero__inhalt{max-width:700px}
.gpx-hero__text{max-width:580px}
.gpx-hero__verlauf{background:linear-gradient(90deg,rgba(14,22,16,.94) 0%,rgba(14,22,16,.86) 38%,rgba(14,22,16,.35) 64%,rgba(14,22,16,0) 82%)}
@media (max-width:991px){
  .gpx-hero h1,.gpx-hero--seite h1{font-size:40px}
}
@media (min-width:768px) and (max-width:991px){
  .gpx-hero__verlauf{background:linear-gradient(90deg,rgba(14,22,16,.92) 0%,rgba(14,22,16,.8) 55%,rgba(14,22,16,.45) 85%,rgba(14,22,16,.3) 100%)}
}
@media (max-width:767px){
  .gpx-hero h1,.gpx-hero--seite h1{font-size:28px;letter-spacing:2.5px}
}

/* Startseiten-Kopf Variante A (Entscheid Philipp 30.09.2026): Überschrift einzeilig, fette Unterzeile, Häkchen,
   goldene Sterne mit kleinen Bildern der Bewerter wie auf deutsche-stadtmarketing.de, Foto gleichmäßig abgedunkelt. */
.gpx-hero--start .gpx-hero__verlauf{background:linear-gradient(90deg,rgba(14,22,16,.95) 0%,rgba(14,22,16,.88) 40%,rgba(14,22,16,.55) 66%,rgba(14,22,16,.2) 86%,rgba(14,22,16,.08) 100%)}
.gpx-hero--start h1{text-shadow:0 2px 18px rgba(0,0,0,.35)}
.gpx-hero--start .gpx-hero__inhalt{max-width:1120px}
.gpx-hero--start h1{font-size:54px;letter-spacing:4px;line-height:1.2;margin-bottom:22px}
/* Startseiten-Überschrift zweizeilig (Philipp 30.09.), kein nowrap mehr */
.gpx-hero__unter{font-weight:900;font-size:17px;line-height:1.5;color:#fff;margin:0 0 14px;max-width:640px}
.gpx-haken{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:9px}
.gpx-haken li{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.45;color:#fff}
.gpx-haken svg{flex:none;width:18px;height:18px;margin-top:2px}
.gpx-haken svg circle{fill:#8fc158}
.gpx-haken svg path{fill:none;stroke:#15201a;stroke-width:2.2}
.gpx-vertrauen{display:inline-flex;align-items:center;gap:12px;margin-top:22px;color:#e4ece0;text-decoration:none}
.gpx-vertrauen:hover .gpx-vertrauen__text>span:last-child,.gpx-vertrauen:focus-visible .gpx-vertrauen__text>span:last-child{text-decoration:underline}
.gpx-koepfe{display:inline-flex}
.gpx-kreis{width:40px;height:40px;border-radius:50%;border:2px solid #fff;overflow:hidden;margin-left:-10px;background:#dfe7d4;display:grid;place-items:center;flex:none}
.gpx-kreis:first-child{margin-left:0}
.gpx-kreis img{width:100%;height:100%;object-fit:cover;display:block}
.gpx-kreis--b{font-weight:900;font-size:16px;color:#15201a;background:#cfe3b6}
.gpx-vertrauen__text{display:flex;flex-direction:column;gap:3px;font-size:15px;line-height:1.2}
.gpx-widget{margin-top:28px}
@media (max-width:1199px){.gpx-hero--start h1{font-size:46px;letter-spacing:3px}}
@media (max-width:767px){
  .gpx-hero--start h1{font-size:28px;letter-spacing:2.5px}
  .gpx-hero__unter{font-size:16px}
  .gpx-haken li{font-size:15px}
}

/* Leistungsseiten neu (Auftrag Philipp 30.09.2026): Prüfpunkte statt Icon-Karten, Vergleich als Tabelle */
.gpx-hero .gpx-vertrauen{text-decoration:none!important}
.gpx-zwei--mitte{align-items:center}
.gpx-rechner td{font-size:18px;padding-top:14px;padding-bottom:14px;font-variant-numeric:tabular-nums}
.gpx-rechner td:first-child{font-weight:900;color:var(--ink)}
.gpx-pruef{display:grid;gap:36px 48px}
.gpx-pruef--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gpx-pruef--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gpx-pruef__punkt{border-top:2px solid var(--ink);padding-top:18px}
.gpx-pruef__punkt h3{margin-bottom:10px}
.gpx-pruef__punkt p{font-size:16px;line-height:1.6;margin:0 0 10px}
.gpx-pruef__links{display:flex;flex-direction:column;gap:6px;margin-top:4px!important}
.gpx-pruef__links .gpx-pfeil{font-size:15px}
.gpx-rollen{overflow-x:auto;-webkit-overflow-scrolling:touch}
.gpx-vergleich{width:100%;min-width:720px;border-collapse:collapse;font-size:16px;line-height:1.5}
.gpx-vergleich th,.gpx-vergleich td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--linie)}
.gpx-vergleich thead th{font-size:20px;font-weight:900;color:var(--ink);border-bottom:2px solid var(--ink)}
.gpx-vergleich tbody th{font-size:14px;font-weight:900;color:var(--grau);width:17%}
.gpx-vergleich .an{background:rgba(143,193,88,.16)}
.gpx-vergleich thead th.an{border-bottom-color:var(--gruen-d)}
.gpx-vergleich__links th,.gpx-vergleich__links td{border-bottom:0}
.gpx-beitraege{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.gpx-beitraege li{border-bottom:1px solid var(--linie)}
.gpx-beitraege a{display:block;padding:14px 28px 14px 0;font-weight:900;color:var(--ink);text-decoration:none;position:relative}
.gpx-beitraege a::after{content:"→";position:absolute;right:4px;top:14px;color:var(--gruen-d)}
.gpx-beitraege a:hover{color:var(--gruen-d)}
.gpx-ablauf--hell li::after{background:rgba(61,107,34,.25)}
@media (max-width:991px){.gpx-pruef--3{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.gpx-pruef--2,.gpx-pruef--3,.gpx-beitraege{grid-template-columns:1fr}.gpx-pruef{gap:28px}}
.gpx-zwei>*{min-width:0}
@media (max-width:767px){.gpx-rechner td,.gpx-rechner th{font-size:15px}.gpx-rechner td.r,.gpx-rechner th.r{white-space:normal;padding-left:8px}}

/* Fachbeiträge (30.09.2026): Kopf wie die Seiten, Lesespalte, Inhalt am Rand, Karten */
.gpx-hero--artikel{min-height:460px}
.gpx-hero--artikel h1{font-size:40px;letter-spacing:2px;line-height:1.22}
.gpx-artikel__ort{margin:0 0 14px;font-size:14px;letter-spacing:1.5px}
.gpx-artikel__ort a{color:#cfe3b6!important;text-decoration:none!important}
.gpx-artikel__ort a:hover{text-decoration:underline!important}
.gpx-artikel__meta{margin:4px 0 0;font-size:14px;color:#b9c7b4}
.gpx-artikel{padding-top:64px}
.gpx-artikel__raster{display:grid;grid-template-columns:minmax(0,720px) minmax(0,300px);gap:64px;justify-content:space-between;align-items:start}
.gpx-artikel__text{font-size:18px;line-height:1.7;color:var(--text)}
.gpx-artikel__text > p:first-of-type{font-size:20px;line-height:1.6;color:var(--ink)}
.gpx-artikel__text h2{font-size:28px;line-height:1.25;margin:52px 0 14px;scroll-margin-top:110px}
.gpx-artikel__text h3{font-size:20px;margin:28px 0 8px}
.gpx-artikel__text p{margin:0 0 16px}
.gpx-artikel__text .gpx-liste{margin:6px 0 20px}
.gpx-artikel__text .gpx-rollen{margin:10px 0 22px}
.gpx-artikel__text table{min-width:560px}
.gpx-artikel__bild{margin:30px 0 34px}
.gpx-artikel__bild img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.gpx-artikel__bild figcaption{font-size:14px;color:var(--grau);margin-top:10px}
.gpx-artikel__bild figcaption b{color:var(--ink)}
.gpx-artikel__text .gpx-fragen{margin:6px 0 8px}
.gpx-artikel__text .gpx-frage summary{font-size:17px;line-height:1.4}
.gpx-formel{font-weight:900;color:var(--ink);background:var(--hell);border-left:4px solid var(--gruen);padding:14px 18px;border-radius:0 6px 6px 0}
.gpx-schritte{list-style:none;counter-reset:s;margin:10px 0 22px;padding:0;display:grid;gap:14px}
.gpx-schritte li{counter-increment:s;position:relative;padding-left:46px}
.gpx-schritte li::before{content:counter(s);position:absolute;left:0;top:1px;width:30px;height:30px;border-radius:50%;background:var(--gruen);color:var(--ink);font:900 15px/30px lato,Arial,sans-serif;text-align:center}
.gpx-quellen{margin-top:44px;padding-top:18px;border-top:1px solid var(--linie);font-size:15px}
.gpx-quellen h2{font-size:18px!important;margin:0 0 8px!important}
.gpx-quellen ul{margin:0;padding-left:18px}
.gpx-artikel__rand{position:sticky;top:110px;display:grid;gap:22px}
.gpx-inhalt{border-top:2px solid var(--ink);padding-top:14px}
.gpx-inhalt__titel{display:flex;align-items:center;gap:8px;font-weight:900;color:var(--ink);margin:0 0 10px;font-size:15px;letter-spacing:1px}
.gpx-inhalt__titel svg{width:18px;height:18px;fill:none;stroke:var(--gruen-d);stroke-width:2}
.gpx-inhalt ol{margin:0;padding-left:18px;font-size:15px;line-height:1.45;display:grid;gap:8px}
.gpx-inhalt a{color:var(--text);text-decoration:none}
.gpx-inhalt a:hover{color:var(--gruen-d);text-decoration:underline}
.gpx-randkasten{background:var(--nacht);color:#dfe7da;border-radius:10px;padding:22px}
.gpx-randkasten__titel{font-weight:900;color:#fff;font-size:18px;margin:0 0 8px}
.gpx-randkasten p{font-size:15px}
.gpx-randkasten .gpx-btn{width:100%;justify-content:center}
.gpx-randkasten__tel{margin:12px 0 0!important}
.gpx-randkasten__tel a{color:#fff!important;text-decoration:none!important;display:inline-flex;gap:8px;align-items:center;font-weight:900}
.gpx-randkasten__tel svg{width:18px;height:18px;fill:none;stroke:var(--gruen);stroke-width:2}
.gpx-karten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
.gpx-karte-b{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linie);border-radius:10px;overflow:hidden}
.gpx-karte-b__bild{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--hell2)}
.gpx-karte-b__bild img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gpx-karte-b:hover .gpx-karte-b__bild img{transform:scale(1.03)}
.gpx-karte-b__text{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.gpx-karte-b__datum{font-size:13px;color:var(--grau);margin:0 0 6px!important;letter-spacing:.5px}
.gpx-karte-b h3{font-size:20px;line-height:1.3;margin:0 0 10px}
.gpx-karte-b h3 a{color:var(--ink);text-decoration:none}
.gpx-karte-b h3 a:hover{color:var(--gruen-d)}
.gpx-karte-b p{font-size:15.5px;line-height:1.55;color:var(--grau)}
.gpx-karte-b .gpx-pfeil{margin-top:auto}
.gpx-karten--index .gpx-karte-b--gross{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.gpx-karten--index .gpx-karte-b--gross .gpx-karte-b__bild{aspect-ratio:auto;min-height:340px}
.gpx-karten--index .gpx-karte-b--gross .gpx-karte-b__text{padding:36px 38px;justify-content:center}
.gpx-karten--index .gpx-karte-b--gross h3{font-size:28px}
.gpx-karten--index .gpx-karte-b--gross p{font-size:17px}
.gpx-karten--index .gpx-karte-b--gross .gpx-pfeil{margin-top:8px}
@media (max-width:991px){
  .gpx-artikel__raster{grid-template-columns:minmax(0,1fr);gap:40px}
  .gpx-artikel__rand{position:static}
  .gpx-karten{grid-template-columns:1fr 1fr}
  .gpx-karten--index .gpx-karte-b--gross{grid-template-columns:1fr}
}
@media (max-width:767px){
  .gpx-hero--artikel h1{font-size:27px;letter-spacing:1.5px}
  .gpx-artikel{padding-top:40px}
  .gpx-artikel__text{font-size:17px}
  .gpx-artikel__text > p:first-of-type{font-size:18px}
  .gpx-artikel__text h2{font-size:23px;margin-top:40px}
  .gpx-karten{grid-template-columns:1fr}
  .gpx-karten--index .gpx-karte-b--gross .gpx-karte-b__bild{min-height:220px}
  .gpx-karten--index .gpx-karte-b--gross .gpx-karte-b__text{padding:22px}
}

.gpx-artikel__text,.gpx-artikel__rand{min-width:0}

/* Leistungsseiten Runde 5: Grafiken, Symbole, Branchen, Fotos, Häufige Fragen */
.gpx-grafik{margin:0;background:#fff;border:1px solid var(--linie);border-radius:12px;padding:18px 18px 12px}
.gpx-sek--hell .gpx-grafik{border-color:#dfe7d4}
.gpx-grafik__svg{display:block;width:100%;height:auto}
.gpx-grafik figcaption{font-size:13px;color:var(--grau);margin-top:10px}
.gpx-zwei--umgekehrt>:first-child{order:2}
.gpx-sym{width:34px;height:34px;color:var(--gruen-d);display:block;margin-bottom:12px}
.gpx-sym--gross{width:40px;height:40px}
.gpx-pruef__punkt .gpx-sym{margin-top:2px}
.gpx-branchen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gpx-branche{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--linie);border-radius:12px;background:#fff;color:var(--text)!important;text-decoration:none!important;transition:border-color .2s,transform .2s}
.gpx-branche:hover{border-color:var(--gruen);transform:translateY(-2px)}
.gpx-branche b{color:var(--ink);font-size:18px}
.gpx-branche span{font-size:15px;line-height:1.5;color:var(--grau)}
.gpx-branche::after{content:"Fachbeitrag lesen →";margin-top:auto;padding-top:8px;font-size:14px;font-weight:900;color:var(--gruen-d)}
.gpx-fotoleiste{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gpx-foto{margin:0}
.gpx-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.gpx-foto figcaption{font-size:14px;color:var(--grau);margin-top:8px}
.gpx-foto figcaption b{color:var(--ink)}
.gpx-fragen{display:grid;gap:0;border-top:2px solid var(--ink)}
.gpx-frage{border-bottom:1px solid var(--linie)}
.gpx-frage summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:900;color:var(--ink);font-size:18px;position:relative}
.gpx-frage summary::-webkit-details-marker{display:none}
.gpx-frage summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:24px;font-weight:400;color:var(--gruen-d)}
.gpx-frage[open] summary::after{content:"−"}
.gpx-frage p{margin:0 0 18px;font-size:16px;line-height:1.6}
@media (max-width:991px){.gpx-branchen{grid-template-columns:1fr 1fr}.gpx-fotoleiste{grid-template-columns:1fr 1fr}.gpx-zwei--umgekehrt>:first-child{order:0}}
@media (max-width:767px){.gpx-branchen{grid-template-columns:1fr}.gpx-grafik{padding:12px}}
.gpx-breit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:48px;align-items:center}
.gpx-breit .gpx-grafik{padding:24px}
@media (max-width:991px){.gpx-breit{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width:767px){
  .gpx-grafik{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .gpx-grafik__svg{min-width:520px}
  .gpx-breit .gpx-grafik__svg{min-width:640px}
  .gpx-grafik figcaption{position:sticky;left:0}
}

/* Runde 6 (30.09.2026): Fotos mit Markierungen, Fotos mit Karten, Tagesillustration, Ertragsrechner,
 * Deutschlandkarte als Punktraster, Referenz-Anker, Footer-Einsatzgebiete. Anlass Philipp: Grafiken „zu technisch“. */
.gpx-pins{margin:0}
.gpx-pins__bild{position:relative;aspect-ratio:var(--rahmen);border-radius:18px;overflow:hidden;box-shadow:0 26px 56px -32px rgba(21,32,26,.6);background:var(--hell2)}
.gpx-pins__bild img{width:100%;height:100%;object-fit:cover;object-position:var(--lage)}
.gpx-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink);font:900 15px/36px lato,Arial,sans-serif;text-align:center;box-shadow:0 0 0 5px rgba(143,193,88,.75),0 8px 18px rgba(0,0,0,.35);transition:background .2s,transform .2s;pointer-events:none}
.gpx-pin::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #fff;opacity:0;animation:gpx-puls 2.6s ease-out infinite}
.gpx-pin[data-pin="2"]::after{animation-delay:.6s}.gpx-pin[data-pin="3"]::after{animation-delay:1.2s}
@keyframes gpx-puls{0%{transform:scale(1);opacity:.9}70%,100%{transform:scale(1.9);opacity:0}}
.gpx-pin.aktiv{background:var(--gruen);transform:translate(-50%,-50%) scale(1.15)}
.gpx-fotokopf{max-width:780px;margin-bottom:34px}
.gpx-fotokopf .gpx-text:last-child{margin-bottom:0}
.gpx-fotofuss{margin:30px 0 0!important}
.gpx-fotofuss .gpx-pfeil{white-space:nowrap}
.gpx-pinliste{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--spalten,3),minmax(0,1fr));gap:24px 32px}
.gpx-pinliste li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:16px;align-items:start;align-content:start;border-radius:10px;transition:background .2s}
.gpx-pinliste li::before{content:attr(data-pin);grid-row:span 2;width:36px;height:36px;border-radius:50%;background:var(--gruen);color:var(--ink);font:900 15px/36px lato,Arial,sans-serif;text-align:center}
.gpx-pinliste b{color:var(--ink);font-size:18px;line-height:1.3;padding-top:6px}
.gpx-pinliste p{margin:2px 0 0;font-size:16px;line-height:1.55}
.gpx-pinliste li.aktiv b{color:var(--gruen-d)}
.gpx-fluss{position:relative;border-radius:18px;overflow:hidden;min-height:540px;display:flex;justify-content:flex-end;align-items:center;padding:30px;box-shadow:0 22px 48px -28px rgba(21,32,26,.55)}
.gpx-fluss__bild{position:absolute;inset:0;margin:0}
.gpx-fluss__bild img{width:100%;height:100%;object-fit:cover}
.gpx-fluss::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(21,34,26,0) 25%,rgba(21,34,26,.55) 100%)}
.gpx-fluss__karten{position:relative;z-index:2;width:min(340px,100%);display:flex;flex-direction:column}
.gpx-fluss__karte{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;background:rgba(255,255,255,.97);border-radius:14px;padding:15px 18px;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.gpx-fluss__karte b{display:block;color:var(--ink);font-size:17px;line-height:1.25}
.gpx-fluss__karte p{margin:3px 0 0;font-size:14.5px;line-height:1.45;color:var(--grau)}
.gpx-fluss__karte--dunkel{background:rgba(21,34,26,.95)}
.gpx-fluss__karte--dunkel b{color:#fff}
.gpx-fluss__karte--dunkel p{color:#c3d0bd}
.gpx-fluss__sym{width:46px;height:46px;border-radius:50%;background:var(--hell2);display:grid;place-items:center;color:var(--gruen-d)}
.gpx-fluss__karte--dunkel .gpx-fluss__sym{background:rgba(143,193,88,.18);color:var(--gruen)}
.gpx-fluss__sym .gpx-sym{margin:0;width:26px;height:26px;color:inherit}
.gpx-fluss__zw{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:6px;padding:12px 0}
.gpx-fluss__zw::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px dashed rgba(255,255,255,.9)}
.gpx-fluss__zw span{position:relative;font:900 13px/1 lato,Arial,sans-serif;padding:7px 12px;border-radius:99px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.gpx-fluss__strom{background:var(--gruen);color:var(--ink)}
.gpx-fluss__strom::before{content:"↓ "}
.gpx-fluss__geld{background:#ffd25e;color:var(--ink)}
.gpx-fluss__geld::before{content:"↑ "}
.gpx-fluss__flaeche{background:#fff;color:var(--ink)}
.gpx-fluss__flaeche::before{content:"↓ "}
.gpx-tag{margin:0}
.gpx-tag__svg{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 22px 48px -30px rgba(21,32,26,.5)}
.gpx-legende{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px;color:var(--grau)}
.gpx-legende li{display:flex;align-items:center;gap:8px}
.gpx-legende i{display:inline-block;width:14px;height:14px;border-radius:4px;flex:0 0 14px}
.gpx-legende__gruen{background:#9fcc6b}
.gpx-legende__gold{background:#ffd35c}
.gpx-legende__band{background:var(--gruen-d);height:6px!important;border-radius:3px!important}
.gpx-rechner2{background:#fff;border:1px solid var(--linie);border-radius:18px;padding:30px 32px 26px;box-shadow:0 26px 56px -34px rgba(21,32,26,.55)}
.gpx-rechner2__kopf{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.gpx-rechner2__kopf label{font-weight:900;color:var(--ink);font-size:16px}
.gpx-rechner2__kopf output{font:900 32px/1 lato,Arial,sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.gpx .gpx-regler{-webkit-appearance:none;appearance:none;display:block;width:100%;height:10px;margin:22px 0 10px;border-radius:99px;background:linear-gradient(90deg,var(--gruen) 0,var(--gruen) var(--p,36%),var(--hell2) var(--p,36%));outline:none;cursor:pointer;border:0;padding:0}
.gpx .gpx-regler::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--gruen-d);box-shadow:0 4px 12px rgba(0,0,0,.25);cursor:grab}
.gpx .gpx-regler::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--gruen-d);box-shadow:0 4px 12px rgba(0,0,0,.25);cursor:grab}
.gpx .gpx-regler:focus-visible{outline:3px solid rgba(143,193,88,.7);outline-offset:6px}
.gpx-rechner2__skala{display:flex;justify-content:space-between;font-size:13px;color:var(--grau)}
.gpx-rechner2__werte{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 20px}
.gpx-rechner2__werte>div{background:var(--hell);border-radius:14px;padding:18px 18px 16px}
.gpx-rechner2__zahl{display:block;font:900 34px/1.05 lato,Arial,sans-serif;color:var(--gruen-t);font-variant-numeric:tabular-nums lining-nums}
.gpx-rechner2__werte small{display:block;margin-top:6px;font-size:14px;line-height:1.3;color:var(--grau)}
.gpx-rechner2__vergleich{display:flex;gap:10px;align-items:flex-start;margin:0!important;padding-top:16px;border-top:1px solid var(--linie);font-size:15.5px;line-height:1.45}
.gpx-rechner2__vergleich .gpx-sym{width:22px;height:22px;flex:0 0 22px;margin:0}
.gpx-rechner2__vergleich a{font-weight:900}
.gpx-refchips{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gpx-refchips a{display:inline-flex;align-items:baseline;gap:7px;padding:8px 14px;border:1px solid var(--linie);border-radius:99px;background:#fff;color:var(--text);text-decoration:none!important;font-size:14.5px;line-height:1.2;transition:border-color .15s,background .15s}
.gpx-refchips b{color:var(--ink)}
.gpx-refchips span{color:var(--gruen-d)}
.gpx-refchips a:hover,.gpx-refchips a.aktiv{border-color:var(--gruen);background:var(--hell)}
.gpx-karte--punkte a text{text-decoration:none}
.gpx-karte--punkte .gpx-kref circle{transition:fill-opacity .2s,r .2s}
.gpx-karte--punkte .gpx-kref:hover .gpx-kref__hof,.gpx-karte--punkte .gpx-kref.aktiv .gpx-kref__hof{fill-opacity:.4}
.gpx-karte--punkte .gpx-kschild rect{transition:stroke .2s}
.gpx-karte--punkte .gpx-kschild:hover rect,.gpx-karte--punkte .gpx-kschild.aktiv rect{stroke:#8fc158;stroke-width:2}
.gpx-anker{scroll-margin-top:130px}
.gpx-anker:target{outline:3px solid var(--gruen);outline-offset:10px;border-radius:14px}
.gpx-fuss{font-size:15px;line-height:1.55;text-align:inherit;color:inherit}
.gpx-fuss__regio{margin:0 0 14px}
.gpx-fuss .gpx-fuss__titel{margin:0 0 3px;font-weight:900;color:var(--ink);font-size:15px}
.gpx-fuss .gpx-fuss__orte{margin:0;color:#9aa596}
.gpx-fuss__orte a{color:var(--text)!important;text-decoration:none!important}
.gpx-fuss__orte a:hover{color:var(--gruen-d)!important;text-decoration:underline!important}
.gpx-fuss .gpx-fuss__alle{margin:18px 0 0}
.gpx-fuss__alle a{font-weight:900;color:var(--gruen-d)!important;text-decoration:none!important}
.gpx-fuss__alle a::after{content:"\00a0→"}
.gpx-fuss__ort{white-space:nowrap}
@media (min-width:992px){
  /* Footer auf die Inhaltsbreite der Seiten (1152 px) statt 230 px Rand je Seite; Einsatzgebiete bekommen Platz */
  #brxe-kzaozd{padding-left:max(24px,calc((100% - 1152px) / 2))!important;padding-right:max(24px,calc((100% - 1152px) / 2))!important;column-gap:28px}
  #brxe-kzaozd>#brxe-oclswt{width:auto;flex:0 0 190px}
  #brxe-kzaozd>#brxe-hcooar{width:auto;flex:0 1 215px}
  #brxe-kzaozd>#brxe-fyruap{width:auto;flex:0 1 220px}
  #brxe-kzaozd>#brxe-mwavlj{width:auto;flex:1 1 280px}
  #brxe-kzaozd>#brxe-xqxdfr{width:auto;flex:0 1 230px;min-width:0}
}
@media (max-width:991px){
  .gpx-fluss{min-height:480px}
  .gpx-pinliste{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:767px){
  .gpx-pins__bild{aspect-ratio:var(--nativ)}
  .gpx-pins__bild img{object-position:50% 50%}
  .gpx-pinliste{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:26px}
  .gpx-pin{left:var(--xm);top:var(--ym);width:30px;height:30px;font-size:14px;line-height:30px;box-shadow:0 0 0 4px rgba(143,193,88,.75),0 6px 14px rgba(0,0,0,.35)}
  .gpx-pinliste li{grid-template-columns:30px minmax(0,1fr);column-gap:12px}
  .gpx-pinliste li::before{width:30px;height:30px;font-size:14px;line-height:30px}
  .gpx-pinliste b{font-size:17px;padding-top:4px}
  .gpx-fluss{display:block;min-height:0;padding:0;border-radius:0;overflow:visible;box-shadow:none}
  .gpx-fluss::before{display:none}
  .gpx-fluss__bild{position:relative}
  .gpx-fluss__bild img{aspect-ratio:4/3;border-radius:14px}
  .gpx-fluss__karten{width:auto;margin:-56px 12px 0}
  .gpx-fluss__zw::before{border-left-color:#b9c9ad}
  .gpx-rechner2{padding:22px 18px 20px}
  .gpx-rechner2__kopf output{font-size:26px}
  .gpx-rechner2__zahl{font-size:27px}
  .gpx-rechner2__werte>div{padding:14px}
  .gpx-karte--punkte .gpx-kschild,.gpx-karte--punkte .gpx-ksitz{display:none}
  .gpx-legende{font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){.gpx-pin::after{animation:none}}

/* Runde 7 (30.09.2026): Elemente der alten Seite zurück (Philipp: „nette Designelemente, die die Seite authentisch
 * einzigartig gemacht haben“): grüner Anhänger unter der Kopfleiste und grüner Balken unter der Kopfzeile. */
.gpx-hero h1::after{content:"";display:block;width:112px;height:7px;margin-top:20px;background:var(--gruen)}
.gpx-anhaenger{position:absolute;z-index:3;top:0;left:10%;margin:0;padding:14px 20px 16px;background:var(--gruen);color:#fff;font:300 16px/1.3 lato,Arial,sans-serif;letter-spacing:.2px;box-shadow:0 10px 24px -12px rgba(0,0,0,.45)}
.gpx-anhaenger b{font-weight:900}
.gpx-hero--start .gpx-innen{padding-top:128px}
.gpx-legende__ref{width:12px!important;height:12px!important;background:#3d6b22;box-shadow:0 0 0 4px rgba(61,107,34,.18)}
.gpx-fuss__liste{list-style:none;margin:0;padding:0;font-size:16px;line-height:27.2px}
.gpx-fuss__liste li{margin:0 0 4px}
/* Regionen als erkennbare Sprunglinks (Philipp 30.09.: „mehr deutlich machen, dass man zu diesen Regionen springen kann“) */
.gpx-fuss__liste a{display:inline-flex;align-items:baseline;gap:8px;color:#363636!important;text-decoration:underline!important;text-decoration-color:rgba(143,193,88,.9)!important;text-decoration-thickness:2px!important;text-underline-offset:4px}
.gpx-fuss__liste a::before{content:"→";color:var(--gruen-d);font-weight:900;text-decoration:none;display:inline-block}
.gpx-fuss__liste a:hover{color:var(--gruen-d)!important;text-decoration-color:var(--gruen-d)!important}
.gpx-fuss__liste li:last-child a{font-weight:900;color:var(--gruen-d)!important}
/* Bewertungen: Karten weiß mit Rand statt Hellgrau auf Hellgrün (Kontrast, Philipp 30.09.) */
/* Trustindex setzt .ti-widget.ti-goog .ti-review-item>.ti-inner{background-color:#f4f4f4!important}; höhere Spezifität nötig */
.gpx-widget .ti-widget.ti-goog .ti-review-item>.ti-inner{background-color:#fff!important;border:1px solid #dbe4d0!important;border-radius:12px!important;box-shadow:0 14px 30px -20px rgba(21,32,26,.4)!important}
.gpx-widget .ti-review-item .ti-read-more,.gpx-widget .ti-review-item .ti-date{color:#58645c!important}
@media (max-width:767px){
  .gpx-anhaenger{left:12px;padding:9px 13px 10px;font-size:13px}
  .gpx-hero--start .gpx-innen{padding-top:26px}
  .gpx-hero h1::after{width:84px;height:6px;margin-top:14px}
}
.gpx-sek[id]{scroll-margin-top:110px}
/* Startseite, Region: Karte in einem Kasten mit runden Ecken (Philipp 30.09.) */
.gpx-karte--kasten{background:var(--hell);border-radius:18px;padding:28px 28px 18px;overflow:hidden}
.gpx-karte--kasten figcaption{padding:0 4px}
@media (max-width:767px){.gpx-karte--kasten{padding:16px 12px 12px;border-radius:14px}}
/* Startseite, Region: Südwest-Karte mit runden Ecken (Philipp 30.09., ersetzt den Kasten mit Deutschlandkarte) */
.gpx-karte__rahmen{border-radius:18px;overflow:hidden;border:1px solid var(--linie);box-shadow:0 22px 48px -32px rgba(21,32,26,.5)}
.gpx-karte__rahmen svg{display:block}
@media (max-width:767px){.gpx-karte__rahmen{border-radius:14px}}
/* Runde 12 (30.09.2026): Stadtseiten in der Struktur des Originals */
.gpx-stadt__bild img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:14px}
.gpx-raster--vier{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}
.gpx-raster--vier .gpx-ref__kwp{font-size:22px}
.gpx-branche--leistung::after{content:"Mehr erfahren →"}
.gpx-privatband{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:28px;padding:20px;background:#fff;border:1px solid var(--linie);border-radius:14px}
.gpx-privatband img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.gpx-privatband h3{margin-bottom:6px}
.gpx-privatband p{margin:0;font-size:16px;line-height:1.55}
.gpx-service{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:service}
.gpx-service li{counter-increment:service;display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;padding:20px 22px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(143,193,88,.28)}
.gpx-service li::before{content:counter(service);font:900 36px/1 lato,Arial,sans-serif;color:var(--gruen)}
.gpx-service span{color:#e4ece0;font-size:16.5px;line-height:1.45}
.gpx-vorteile{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:16px}
.gpx-vorteile li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start}
.gpx-vorteile .gpx-sym{width:34px;height:34px;margin:2px 0 0}
.gpx-vorteile b{display:block;color:var(--ink);font-size:17px}
.gpx-vorteile p{margin:2px 0 0;font-size:15.5px;line-height:1.5;color:var(--grau)}
@media (max-width:991px){.gpx-raster--vier{grid-template-columns:1fr 1fr}.gpx-service{grid-template-columns:1fr 1fr}.gpx-privatband{grid-template-columns:180px minmax(0,1fr)}.gpx-privatband .gpx-knoepfe{grid-column:1/-1}}
@media (max-width:767px){.gpx-service{grid-template-columns:1fr}.gpx-privatband{grid-template-columns:1fr;gap:16px}.gpx-raster--vier{grid-template-columns:1fr 1fr;gap:18px 14px}.gpx-raster--vier .gpx-ref__kwp{font-size:19px}}
.gpx-hervor{font-weight:900;color:var(--ink);background:linear-gradient(transparent 60%,rgba(143,193,88,.5) 60%);padding:0 2px}

/* Runde 13 (01.10.2026): Stadtseite als Anfrage-Strecke (Auftrag Philipp: Design, Struktur, Weg zur Anfrage, SEO).
 * Kopf stellt die erste Frage des Dachchecks, Anlagen in der Nähe als dominantes Element, Flächen mit eigenem Einstieg,
 * Zeitleiste „wer macht was“, Dachcheck als Abschluss auf der Seite. */
.gpx-hero--stadt{min-height:600px}
.gpx-hero--stadt .gpx-hero__text{margin-bottom:24px}
.gpx-wahl{margin:0}
.gpx-wahl__frage{margin:0 0 12px;font-size:15px;line-height:1.4;color:#d4dfcf}
.gpx-wahl__knoepfe{display:flex;flex-wrap:wrap;gap:10px}
.gpx a.gpx-wahl__k{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:8px 18px 8px 8px;border-radius:8px;border:2px solid rgba(255,255,255,.62);background:rgba(14,22,16,.42);color:#fff!important;font:900 16px/1.2 lato,Arial,sans-serif;text-decoration:none!important;transition:background .15s,border-color .15s,transform .15s}
.gpx a.gpx-wahl__k:hover{background:rgba(255,255,255,.14);border-color:#fff}
.gpx a.gpx-wahl__k:active{transform:translateY(1px)}
.gpx a.gpx-wahl__k--haupt{background:var(--gruen);border-color:var(--gruen);color:var(--ink)!important}
.gpx a.gpx-wahl__k--haupt:hover{background:#a3cf72;border-color:#a3cf72}
.gpx-wahl__sym{display:grid;place-items:center;width:46px;height:38px;border-radius:6px;background:#fff;color:var(--ink);flex:0 0 46px}
.gpx-wahl__sym svg{width:36px;height:27px}
.gpx-hero--stadt .gpx-vertrauen{margin-top:20px}

/* Anlagen in der Nähe: ein großes Bild, daneben eine Liste wie ein Projektverzeichnis */
.gpx-atlas{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px;align-items:stretch}
.gpx-atlas__haupt{position:relative;margin:0;min-height:420px}
.gpx-atlas__haupt a{position:absolute;inset:0;display:block;border-radius:14px;overflow:hidden}
.gpx-atlas__haupt img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gpx-atlas__haupt a:hover img{transform:scale(1.02)}
.gpx-atlas__haupt figcaption{position:absolute;left:16px;bottom:16px;display:flex;align-items:baseline;gap:14px;margin:0;padding:12px 16px;border-radius:8px;background:rgba(14,22,16,.8);color:#dfe7da;font-size:15px;line-height:1.35;pointer-events:none}
.gpx-atlas__haupt figcaption .gpx-atlas__kwp{color:#fff;font-size:28px}
.gpx-atlas__haupt figcaption b{display:block;color:#fff;font-weight:900}
.gpx-atlas__kwp{font-weight:900;font-variant-numeric:tabular-nums lining-nums;line-height:1.05;white-space:nowrap}
.gpx-atlas__liste{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.gpx-atlas__liste li{border-bottom:1px solid var(--linie);display:flex}
.gpx-atlas__liste a{display:grid;grid-template-columns:168px minmax(0,1fr);gap:20px;align-items:center;width:100%;padding:16px 0;color:var(--text);text-decoration:none!important}
.gpx-atlas__liste img{width:168px;height:112px;object-fit:cover;border-radius:8px}
.gpx-atlas__text{display:flex;flex-direction:column;gap:3px}
.gpx-atlas__liste .gpx-atlas__kwp{font-size:24px;color:var(--ink)}
.gpx-atlas__liste b{color:var(--ink);font-size:17px;line-height:1.3}
.gpx-atlas__liste .gpx-atlas__text>span:last-child{font-size:14.5px;color:var(--grau)}
.gpx-atlas__liste a:hover b{color:var(--gruen-d);text-decoration:underline}
.gpx-atlas__hier{font-style:normal;font-weight:900;font-size:12.5px;letter-spacing:.02em;margin-left:6px;padding:2px 8px;border-radius:99px;background:var(--gruen);color:var(--ink);vertical-align:2px}
.gpx-gross{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:36px;padding-top:24px;border-top:1px solid var(--linie)}
.gpx-gross p{margin:0;font-size:16px;color:var(--text)}
.gpx-gross ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px}
.gpx-gross li a{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:var(--grau);font-size:14.5px;line-height:1.25}
.gpx-gross li img{width:56px;height:42px;object-fit:cover;border-radius:6px}
.gpx-gross li b{display:block;color:var(--ink);font-size:16px}
.gpx-gross li a:hover b{color:var(--gruen-d);text-decoration:underline}
.gpx-gross .gpx-pfeil{margin-left:auto}

/* Gewerbe: Hallendach groß und quer, darunter Freifläche und Wohnhaus */
.gpx-tuer--quer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.gpx-tuer--quer .gpx-tuer__bild{min-height:100%}
.gpx-tuer--quer .gpx-tuer__bild img{position:absolute;inset:0}
.gpx-tuer--quer .gpx-tuer__text{padding:34px 36px 34px}
.gpx-tuer--quer h3{font-size:28px}
.gpx-tueren2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.gpx-tueren2--eins{grid-template-columns:1fr}
.gpx-tueren2 .gpx-tuer__bild{height:240px}

/* Ertragsrechner mit Knopf in den Dachcheck */
.gpx a.gpx-rechner2__knopf{width:100%;margin-top:18px}

/* Ablauf als Zeitleiste mit Zuständigkeit */
.gpx-zeitraster{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.gpx-zeitraster__kopf{position:sticky;top:130px}
.gpx-zeitraster__kopf .gpx-lead{margin-bottom:28px}
.gpx-zeit{list-style:none;margin:0;padding:0;counter-reset:zeit}
.gpx-zeit li{position:relative;padding:0 0 32px 66px;counter-increment:zeit}
.gpx-zeit li::before{content:counter(zeit);position:absolute;left:0;top:0;width:42px;height:42px;border-radius:50%;background:var(--gruen);color:var(--ink);font:900 17px/42px lato,Arial,sans-serif;text-align:center}
.gpx-zeit li::after{content:"";position:absolute;left:20px;top:50px;bottom:8px;width:2px;background:rgba(143,193,88,.32)}
.gpx-zeit li:last-child{padding-bottom:0}
.gpx-zeit li:last-child::after{display:none}
.gpx-zeit h3{margin:8px 0 6px;font-size:20px}
.gpx-zeit__wer{display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:99px;background:rgba(143,193,88,.16);color:#cfe6b5;font-size:13px;font-weight:900;line-height:1.4}
.gpx-zeit__wer--fach{background:rgba(255,255,255,.1);color:#eef3ea}
.gpx-zeit p{margin:0;font-size:16px;line-height:1.6;color:#c3cfbe}

/* Partner und Ansprechpartner */
.gpx-team--stadt{align-items:start}
.gpx-team--stadt .gpx-kontaktliste{margin-bottom:0}

/* Dachcheck als Abschluss der Stadtseite */
.gpx-dc.gpx-dc--stadt{background:#fff}
#kontakt,#gp-dachcheck{scroll-margin-top:70px}
.gpx-hero--stadt .gpx-vertrauen__text{flex-direction:row;align-items:center;gap:10px}

@media (max-width:1199px){
  .gpx-tuer--quer{grid-template-columns:1fr}
  .gpx-tuer--quer .gpx-tuer__bild{height:340px;min-height:0}
}
@media (max-width:991px){
  .gpx-atlas{grid-template-columns:1fr;gap:24px}
  .gpx-atlas__haupt{min-height:0;aspect-ratio:3/2}
  .gpx-tuer--quer{grid-template-columns:1fr}
  .gpx-tuer--quer .gpx-tuer__bild{height:300px;min-height:0}
  .gpx-zeitraster{grid-template-columns:1fr;gap:36px}
  .gpx-zeitraster__kopf{position:static}
  .gpx-gross .gpx-pfeil{margin-left:0}
}
@media (max-width:767px){
  .gpx-hero--stadt{min-height:0}
  .gpx-wahl__knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .gpx a.gpx-wahl__k{min-height:52px;padding:7px 10px 7px 7px;gap:9px;font-size:14.5px}
  .gpx a.gpx-wahl__k--haupt{grid-column:1/-1;font-size:16px}
  .gpx-wahl__sym{width:40px;height:32px;flex-basis:40px}
  .gpx-wahl__sym svg{width:31px;height:23px}
  .gpx-atlas__haupt figcaption{left:10px;bottom:10px;right:10px;padding:9px 12px;font-size:13.5px}
  .gpx-atlas__haupt figcaption .gpx-atlas__kwp{font-size:22px}
  .gpx-atlas__liste a{grid-template-columns:112px minmax(0,1fr);gap:14px;padding:12px 0}
  .gpx-atlas__liste img{width:112px;height:80px}
  .gpx-atlas__liste .gpx-atlas__kwp{font-size:20px}
  .gpx-atlas__liste b{font-size:15.5px}
  .gpx-gross{gap:12px}
  .gpx-tuer--quer .gpx-tuer__bild{height:220px}
  .gpx-tuer--quer .gpx-tuer__text{padding:22px 18px 24px}
  .gpx-tuer--quer h3{font-size:24px}
  .gpx-tueren2{grid-template-columns:1fr;gap:18px;margin-top:18px}
  .gpx-tueren2 .gpx-tuer__bild{height:200px}
  .gpx-zeit li{padding-left:56px;padding-bottom:26px}
  .gpx-zeit li::before{width:38px;height:38px;line-height:38px;font-size:16px}
  .gpx-zeit li::after{left:18px;top:44px}
  .gpx-zeit h3{margin-top:6px}
}

/* Runde 14 (01.10.2026): Ertrag bildhaft (Philipp: „bildhafter, nicht so technisch“), Dachcheck mit „Lieber direkt schreiben“ */
.gpx-ertragbild__raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:64px;align-items:center}
.gpx-ertragbild__text>p{font-size:19px;line-height:1.6;max-width:520px}
.gpx-ertragbild__text p.gpx-ertragbild__quelle{margin-top:26px;font-size:13.5px;line-height:1.5;color:var(--grau);max-width:500px}
/* Runde 15: hell und sonnig statt dunklem Foto (Philipp: „Wo ist die Sonne?“) */
.gpx-ertragsonne{background:linear-gradient(180deg,#eaf4f9 0%,#f7f6ee 55%,#fbf2dc 100%)}
.gpx-rechner3{box-shadow:0 30px 60px -36px rgba(21,32,26,.45);color:var(--text)}
.gpx-rechner3__ergebnis{margin:20px 0 18px;padding:18px 20px 16px;border-radius:14px;background:var(--hell)}
.gpx-rechner3__satz{margin:0!important;font-size:17px;line-height:1.35;color:var(--ink)}
.gpx-rechner3__satz b{display:block;margin-top:4px;font-size:32px;font-weight:900;color:var(--gruen-t);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.gpx-rechner3__technik{margin:4px 0 0!important;font-size:14px;color:var(--grau);font-variant-numeric:tabular-nums}
@media (max-width:991px){.gpx-ertragbild__raster{grid-template-columns:1fr;gap:36px}}
@media (max-width:767px){.gpx-ertragbild__text>p{font-size:17px}.gpx-rechner3__satz b{font-size:27px}}
.gpx-dc__optionen--neben{grid-template-columns:1fr;margin-top:12px}
.gpx-dc__optionen--neben .gpx-dc__opt{min-height:0;padding:12px 18px;border-style:dashed}
.gpx-dc__optionen--neben .gpx-dc__opttext{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.gpx-dc__optionen--neben .gpx-dc__opttext b{font-size:16px}
.gpx-dc__optionen--neben .gpx-dc__opttext b::after{content:" →";color:var(--gruen-d)}
.gpx-dc__seite .gpx-dc__lieber + .gpx-dc__lieber{margin-top:14px}
.gpx-dc__lieber a[data-dc-art]{font-size:17px;text-decoration:underline;text-decoration-color:var(--gruen);text-underline-offset:4px}
.gpx-dc--nachricht .gpx-dc__feld:has(#gpx-dc-strasse){display:none}
/* Runde 16 (01.10.2026): Foto des echten Projekts statt Szene; „Direkt schreiben“ sichtbar */
.gpx-rechner3__bild{position:relative;margin:0 0 22px;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#dfe7d4}
.gpx-rechner3__foto{position:absolute;inset:0;opacity:0;transition:opacity .35s ease}
.gpx-rechner3__foto.aktiv{opacity:1}
.gpx-rechner3__foto img{width:100%;height:100%;object-fit:cover}
.gpx-rechner3__bild figcaption{position:absolute;left:10px;right:10px;bottom:10px;margin:0;padding:8px 12px;border-radius:8px;background:rgba(14,22,16,.78);color:#e4ece0;font-size:13.5px;line-height:1.4}
.gpx-rechner3__bild figcaption a{color:#fff;font-weight:900;text-decoration-color:var(--gruen)}
.gpx-wahl__direkt{display:inline-block;margin-top:14px;color:#fff!important;font-weight:900;font-size:15.5px;text-decoration:underline;text-decoration-color:var(--gruen)!important;text-decoration-thickness:2px!important;text-underline-offset:5px}
.gpx-wahl__direkt::after{content:" →"}
.gpx-team--stadt .gpx-btn{margin-top:22px}
.gpx-dc__modus{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:-6px 0 24px;padding:5px;border-radius:12px;background:var(--hell)}
.gpx-dc__modus button{min-height:48px;padding:10px 14px;text-align:center;border:0;border-radius:9px;background:transparent;color:var(--grau);font:900 16px/1.2 lato,Arial,sans-serif;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.gpx-dc__modus button:hover{color:var(--ink)}
.gpx-dc__modus button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(21,32,26,.12),inset 0 -3px 0 var(--gruen)}
.gpx-dc__modus button:focus-visible{outline:3px solid var(--gruen-d);outline-offset:2px}
@media (max-width:767px){.gpx-dc__modus button{font-size:14.5px;min-height:46px;padding:8px 6px}.gpx-wahl__direkt{margin-top:12px}}
.gpx-dc__modus ~ .gpx-dc__leiste{margin-top:0}
.gpx-dc--nachricht .gpx-dc__modus ~ .gpx-dc__leiste{display:none}
/* Runde 18 (01.10.2026): Handy-Kopf mit Verlauf vom Bild ins Dunkle statt harter Kante (Philipp: „hatten wir da nicht
   auch einen Verlauf?“); gilt für alle Seitenköpfe. Tagesgrafik der Gewerbeseite als Foto mit Band statt Zeichnung. */
@media (max-width:767px){
  .gpx-hero__bild::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:62%;background:linear-gradient(180deg,rgba(26,38,29,0) 0%,rgba(26,38,29,.55) 45%,rgba(26,38,29,.9) 80%,#1a261d 100%);pointer-events:none}
  .gpx-hero__bildtext{z-index:2}
}
.gpx-tagfoto{margin:0}
.gpx-tagfoto__bild{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 22px 48px -30px rgba(21,32,26,.5);background:#2a2f2b}
.gpx-tagfoto__bild img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.gpx-tagfoto__band{position:absolute;left:0;right:0;bottom:0;padding:56px 22px 16px;background:linear-gradient(180deg,rgba(14,22,16,0) 0%,rgba(14,22,16,.78) 45%,rgba(14,22,16,.9) 100%)}
.gpx-tagfoto__licht{position:relative;height:42px;margin-top:8px}
.gpx-tagfoto__licht::before{content:"";position:absolute;left:0;right:0;top:0;height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(255,211,92,0) 0%,rgba(255,211,92,.5) 16%,#ffd35c 50%,rgba(255,211,92,.5) 84%,rgba(255,211,92,0) 100%)}
.gpx-tagfoto__arbeit{position:absolute;top:20px;height:5px;border-radius:3px;background:var(--gruen)}
.gpx-tagfoto__arbeit b{position:absolute;left:50%;top:10px;transform:translateX(-50%);font-size:12.5px;font-weight:900;letter-spacing:.02em;color:#dff0c9;white-space:nowrap}
.gpx-tagfoto__zeiten{display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.85)}
.gpx-tagfoto figcaption .gpx-legende{margin-top:14px}
@media (max-width:767px){.gpx-tagfoto__band{padding:44px 14px 12px}.gpx-tagfoto__zeiten{font-size:12px}}
/* Runde 19 (01.10.2026): Handy-Kopf mit Bild hinter dem Text (Philipp: „das Bild durchzuschieben“). Das Foto reicht
   oben bis hinter die Überschrift und läuft nach unten ins Dunkle aus; der Text steht auf dem unteren Teil des Bildes. */
@media (max-width:767px){
  .gpx-hero .gpx-hero__bild,.gpx-hero--seite .gpx-hero__bild{position:absolute;top:0;left:0;right:0;height:430px}
  .gpx-hero__bild::after{top:0;bottom:-1px;height:auto;background:linear-gradient(180deg,rgba(26,38,29,0) 0%,rgba(26,38,29,.12) 22%,rgba(26,38,29,.62) 50%,rgba(26,38,29,.92) 78%,#1a261d 100%)}
  .gpx-hero .gpx-innen,.gpx-hero--seite .gpx-innen,.gpx-hero--start .gpx-innen{position:relative;z-index:2;padding-top:205px;padding-bottom:40px}
  .gpx-hero h1{text-shadow:0 2px 14px rgba(0,0,0,.45)}
  .gpx-hero__bildtext,.gpx-hero--seite .gpx-hero__bildtext{top:12px;bottom:auto;right:12px}
  .gpx-hero--start .gpx-hero__bildtext{top:auto;bottom:12px}
  .gpx-hero--start .gpx-innen{padding-bottom:54px}
}
/* Runde 19, Varianten der Tagesgrafik zur Auswahl (B Bildreihe, C Linienzeichnung) */
.gpx-tagreihe{margin:0}
.gpx-tagreihe__bilder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gpx-tagreihe__bild{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:#2a2f2b}
.gpx-tagreihe__bild img{width:100%;height:100%;object-fit:cover}
.gpx-tagreihe__zeit{position:absolute;left:0;right:0;bottom:0;padding:34px 12px 12px;background:linear-gradient(180deg,rgba(14,22,16,0),rgba(14,22,16,.85));color:#dfe7da;font-size:13px;line-height:1.35}
.gpx-tagreihe__zeit b{display:block;color:#fff;font-size:16px;font-weight:900}
.gpx-tagreihe__band{margin-top:14px;padding:14px 14px 16px;border-radius:12px;background:var(--nacht)}
.gpx-tagplan{margin:0}
.gpx-tagplan__svg{display:block;width:100%;height:auto;border:1px solid var(--linie);border-radius:16px;box-shadow:0 22px 48px -34px rgba(21,32,26,.45)}
@media (max-width:767px){.gpx-tagreihe__zeit{padding:26px 8px 9px;font-size:11.5px}.gpx-tagreihe__zeit b{font-size:14px}}
/* Datenschutzerklärung (Seite 360, 02.10.2026): Links im Rechtstext sichtbar als Links (Theme färbt sie wie Fließtext),
   Umami-Baustein mit derselben Zwischenüberschrift wie der übrige Text */
#brxe-kwroco a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
#brxe-kwroco .dsm-analytics-datenschutz h3{font-size:inherit;line-height:inherit;font-weight:700;letter-spacing:0;margin:0 0 1em}
/* Drohnenvideos (02.10.2026, ../gp-solar-video/): Kopf der Startseite ab 992 px als stumme Schleife, darunter die Hochformat-Fassung;
   Projektvideos zum Anklicken, laden erst beim Abspielen. */
.gpx-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
@media (min-width:992px){.gpx-hero__video{display:block}}
/* Handy bis 767 px: Hochformat-Fassung in der Foto-Box (unter deren Verlauf), erst nach dem Laden der Seite (gpx.js),
   blendet über dem Foto ein, sobald sie läuft */
@media (max-width:767px){.gpx-hero__video--handy{display:block;opacity:0;transition:opacity .9s ease;object-position:50% 35%}.gpx-hero__video--handy.laeuft{opacity:1}}
.gpx-video{position:relative}
.gpx-video video{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px;background:#1a261d}
.gpx-video__start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:0;background:linear-gradient(0deg,rgba(14,22,16,.45),rgba(14,22,16,.05));color:#fff;font:700 16px/1 Lato,sans-serif;cursor:pointer}
.gpx-video__start span{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:99px;background:rgba(14,22,16,.78)}
.gpx-video__start svg{width:18px;height:18px;fill:#8ec058}
.gpx-video__start:focus-visible span{outline:2px solid #8ec058;outline-offset:2px}
.gpx-video.laeuft .gpx-video__start{display:none}
/* Drohnenvideos auf den Stadtseiten (02.10.2026, Variante B): Großanlagen als Kacheln, ferne Städte mit Dresden-Video groß,
   Listeneinträge mit „Drohnenflug“ öffnen das Video im Fenster (gpx.js). */
.gpx-videoreihe{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:14px 0 10px}
.gpx-videoreihe figure{margin:0}
.gpx-videoreihe figcaption{margin-top:8px;font-size:15px;color:#4a4a4a}
.gpx-videoreihe figcaption b{color:#1f2a1f}
.gpx-bildkachel img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.gpx-gross--video .gpx-klein{margin:6px 0 0}
@media (max-width:767px){
  .gpx-videoreihe{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-18px;padding-right:18px;scrollbar-width:none}
  .gpx-videoreihe::-webkit-scrollbar{display:none}
  .gpx-videoreihe figure{flex:0 0 84%;scroll-snap-align:start}
}
.gpx-atlas__haupt .gpx-video{margin:0}
.gpx-atlas__haupt .gpx-video video{aspect-ratio:4/3}
.gpx-videohinweis{display:inline-flex;align-items:center;gap:5px;margin-top:3px;color:#4f7a26;font-weight:700;font-size:13px}
.gpx-atlas__text .gpx-videohinweis{color:#4f7a26}
.gpx-videohinweis svg{width:12px;height:12px;fill:currentColor}
dialog.gpx-videodialog{padding:0;border:0;background:transparent;width:min(1000px,94vw);max-width:none;overflow:visible}
dialog.gpx-videodialog::backdrop{background:rgba(10,15,11,.84)}
dialog.gpx-videodialog video{display:block;width:100%;aspect-ratio:16/9;border-radius:10px;background:#000}
dialog.gpx-videodialog p{margin:10px 2px 0;color:#fff;font:600 15px/1.4 Lato,sans-serif}
.gpx-videodialog__zu{position:absolute;top:-44px;right:0;width:36px;height:36px;border:0;border-radius:99px;background:#fff;color:#1f2a1f;font:700 22px/36px Lato,sans-serif;cursor:pointer}
.gpx-sek--nacht .gpx-zeit p a{color:#cfe6b5!important;text-decoration-color:var(--gruen)!important}
/* Gewerbeseite (Runde 24, 09.10.2026): Branchen am Handy knapp */
@media (max-width:767px){
  .gpx-branchen--knapp{grid-template-columns:1fr 1fr;gap:10px}
  .gpx-branchen--knapp .gpx-branche{padding:14px;gap:8px}
  .gpx-branchen--knapp .gpx-branche b{font-size:15.5px;line-height:1.3}
  .gpx-branchen--knapp .gpx-branche span,.gpx-branchen--knapp .gpx-branche::after{display:none}
}

/* Anfrageformular auf /kontakt/ (Runde 26, 21.10.2026, Philipp: „statt so ein Konfigurator … sowas“, Vorbild
   deniz.studio/reach-out). Runde 26b am selben Tag: kompakter, damit es am Rechner ohne Scrollen passt, Anordnung wie im
   Vorbild (Name und Firma, E-Mail und Telefon, Chips, Größe, links Ort und Herkunft, rechts Freitext), keine Seitenleiste. */
.gpx-af-sek{background:var(--hell);padding:28px 0 56px}
.gpx-af__spalte{max-width:840px;margin:0 auto}
.gpx-af__kopf{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}
.gpx-af__kopf h1{font-weight:400;letter-spacing:1.5px;line-height:1.2;font-size:32px;margin:0}
.gpx-af__unter{display:flex;align-items:center;gap:12px}
.gpx-af__unter p{margin:0;font-size:17px;line-height:1.45;color:var(--grau)}
.gpx-af__koepfe{display:flex;flex:0 0 auto}
.gpx-af__koepfe img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid #fff;background:#e7ebe3}
.gpx-af__koepfe img+img{margin-left:-10px}
.gpx-af__direkt{font-size:15px;color:var(--grau);margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}
.gpx-af__beleg{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.gpx-af__beleg .gpx-sterne svg{width:15px;height:15px}
.gpx-af__direkt a{font-weight:900;white-space:nowrap}
.gpx-af{background:#fff;border:1px solid var(--linie);border-radius:14px;box-shadow:0 18px 40px -24px rgba(21,32,26,.35);padding:20px 26px 22px;min-width:0}
.gpx-af__felder{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"name firma" "mail tel" "art art" "gr gr" "ort text" "gef text";gap:12px 16px}
.gpx-af__feld{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:4px}
.gpx-af__feld[hidden]{display:none}
.gpx-af__feld>label,.gpx-af__feld legend{font-size:14px;font-weight:900;color:var(--ink);padding:0;margin:0 0 4px}
.gpx-af__feld>label{margin:0}
.gpx-af__pflicht{color:var(--gruen-d);font-weight:900}
.gpx-af__feld input,.gpx-af__feld textarea,.gpx-af__feld select{width:100%;border:2px solid var(--linie)!important;border-radius:8px!important;padding:8px 12px!important;font:400 16px/1.4 lato,Arial,sans-serif!important;color:var(--ink)!important;background:#fff!important;box-shadow:none!important;height:auto!important;margin:0!important}
.gpx-af__feld select{appearance:none;-webkit-appearance:none;padding-right:40px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%2315201a' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center/18px!important;cursor:pointer}
.gpx-af__feld--text textarea{flex:1 1 auto;min-height:96px;resize:vertical}
.gpx-af__feld input::placeholder,.gpx-af__feld textarea::placeholder{color:#8b958e;opacity:1}
.gpx-af__feld input:focus,.gpx-af__feld textarea:focus,.gpx-af__feld select:focus{border-color:var(--gruen-d)!important;outline:none}
.gpx-af__feld [aria-invalid="true"]{border-color:#b3261e!important}
.gpx-af__chips{display:flex;flex-wrap:wrap;gap:8px}
.gpx-af__chip{position:relative;display:inline-flex;cursor:pointer}
.gpx-af__chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.gpx-af__chip span{display:inline-flex;align-items:center;min-height:36px;padding:5px 12px;border:2px solid var(--linie);border-radius:8px;background:#fff;color:var(--ink);font-size:15px;line-height:1.25;transition:border-color .15s,background .15s}
.gpx-af__chip:hover span{border-color:var(--gruen);background:#f8fbf4}
.gpx-af__chip input:checked+span{border-color:var(--gruen-d);background:#eef6e4;box-shadow:inset 0 0 0 1px var(--gruen-d);font-weight:900}
.gpx-af__chip input:focus-visible+span{outline:3px solid var(--gruen-d);outline-offset:2px}
.gpx-af__wahl[aria-invalid="true"] .gpx-af__chip span{border-color:#e3a6a2}
.gpx-af__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gpx-af__hinweis{font-size:13.5px;line-height:1.5;color:var(--grau);margin:12px 0 0}
.gpx-af__fehler{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:#fdecea;color:#8c1d18;font-size:15px}
.gpx-af__aktion{display:flex;align-items:center;gap:22px;margin-top:12px}
.gpx a.gpx-btn.gpx-af__senden,.gpx button.gpx-btn.gpx-af__senden{min-height:46px;padding:10px 22px}
.gpx a.gpx-af__zurueck{color:var(--ink);font-weight:900;text-decoration:none}
.gpx a.gpx-af__zurueck:hover{text-decoration:underline}
.gpx-af__danke{outline:none}
.gpx-af__danke h2{font-size:28px;margin-bottom:8px}
@media (max-width:767px){
  .gpx-af-sek{padding:24px 0 48px}
  .gpx-af__kopf{margin-bottom:14px}
  .gpx-af__kopf h1{font-size:26px;letter-spacing:1.5px}
  .gpx-af__unter p{font-size:16px}
  .gpx-af{padding:18px 16px 20px;border-radius:12px}
  .gpx-af__felder{grid-template-columns:1fr;grid-template-areas:"name" "firma" "mail" "tel" "art" "gr" "ort" "text" "gef";gap:12px}
  .gpx-af__aktion{flex-wrap:wrap;gap:12px}
  .gpx-af__senden{width:100%}
}
/* Gewerbeseite (Runde 26): Hinweis mit Knopf zur Anfrage statt Dachcheck */
.gpx-btn svg.gpx-pfeil-svg{fill:none;stroke:currentColor;stroke-width:2.4}
.gpx-af-hin{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:center}
.gpx-af-hin .gpx-liste{margin:0 0 28px}
.gpx-af-hin__seite{background:#fff;border:1px solid var(--linie);border-radius:14px;padding:24px;font-size:16px}
.gpx-af-hin__seite p{margin:0}
.gpx-af-hin__seite .gpx-af__koepfe{margin-bottom:12px}
.gpx-af-hin__seite .gpx-af__koepfe img{width:64px;height:64px;border-width:3px}
.gpx-af-hin__seite .gpx-af__koepfe img+img{margin-left:-14px}
@media (max-width:991px){.gpx-af-hin{grid-template-columns:1fr;gap:28px}}
/* „Adresse kopieren“ neben info@ (E6, 21.10.2026): auf /kontakt/ im Markup, im Fuß setzt gpx.js den Knopf ein.
   Bewusst ohne .gpx davor, der Fuß ist Bricks. */
button.gpx-kopieren{display:inline;margin:0 0 0 6px;padding:0;border:0;background:none;font:inherit;font-size:.86em;font-weight:400;color:#3d6b22;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer;white-space:nowrap}
button.gpx-kopieren:hover{color:#284818}
button.gpx-kopieren[data-kopiert]{text-decoration:none;color:#3d6b22}
footer button.gpx-kopieren{color:inherit;opacity:.85}
