.elementor-kit-20{--e-global-color-primary:#8E7556;--e-global-color-secondary:#C0AB91;--e-global-color-text:#3D332B;--e-global-color-accent:#8E7556;--e-global-color-528c9bc0:#4054B2;--e-global-color-c0b2a40:#23A455;--e-global-color-3fb66db7:#000;--e-global-color-8255b1:#FFF;--e-global-color-63d9721:#8E7556;--e-global-color-e9d4d8a:#EBEBEB;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-20 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   QA-Fix Leistungsseiten - Stand 18.08.2026
   Gewerbe & Industrie / Wohnungsbau & Investment /
   Privates Bauen / Gutachten & Consulting
   Befunde F1, F2, F3, F5 der Folgeanalyse vom 18.08.2026.
   Die vier Seiten teilen dieselben Element-IDs und globalen
   Klassen, deshalb zentral hier statt vier Mal einzeln.
   Die Selektoren kommen ausschliesslich auf diesen vier Seiten vor
   (gegen Startseite, Portfolio und Kontakt geprueft).
   Zielzustand: in Elementor-Controls ueberfuehren.
   ========================================================= */

/* F1 - Hero-Headline + Subline: Pixel-Offset raus, Einzug per Margin,
   Breite nicht mehr fix -> beseitigt den 70px-Ueberstand der Seite */
.e-297ff9d4-99f8663,
.e-42267af6-8c48d3e {
  inset-inline-start: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin-inline-start: 80px !important;
}
@media (max-width: 767px) {
  .e-297ff9d4-99f8663,
  .e-42267af6-8c48d3e { margin-inline-start: 15px !important; }
}

/* F3 - Hero-CTA: harte Breite 180px auf Mobil laesst lange Labels
   ("Kontakt aufnehmen") zweizeilig in einen 50px-Button brechen */
@media (max-width: 767px) {
  .e-41cd8d55-0dad770 {
    width: fit-content !important;
    min-width: 180px;
    max-width: 100% !important;
    white-space: nowrap;
    inset-inline-start: 0 !important;
    margin-inline-start: 15px !important;
  }
}

/* F2 - zweispaltige Textsektion blieb auf Tablet nebeneinander:
   60px-Headline in 368px-Spalte -> Text lief bis 183px heraus.
   Auf Tablet stapeln, dann passt die Schrift wieder. */
@media (max-width: 1024px) {
  .elementor-element-fdda34f > .e-con-inner { flex-direction: column !important; }
  .elementor-element-fdda34f > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* Auf Desktop lief derselbe Titel 20px aus seiner 531px-Spalte:
   Schrift 60px -> 56px (Zeilen werden 7% kuerzer, Optik bleibt).
   Silbentrennung nur auf Tablet/Mobil als Netz - bei 60px-Displaytype
   auf Desktop sind Trennstriche unschoen. */
.e-e4535ac-a41b7f9 { overflow-wrap: break-word; }
@media (min-width: 1025px) {
  .e-e4535ac-a41b7f9 { font-size: 56px !important; line-height: 1.2 !important; }
}
@media (max-width: 1024px) {
  .e-e4535ac-a41b7f9 { hyphens: auto; }
}

/* F5 - Custom-HTML-Sektion ("Prozess"): Seitenrand -15px bei 10px
   Container-Padding -> 5px Ueberstand. -10px hebt das Padding genau
   auf, die Sektion bleibt randlos, ohne die Seite zu verbreitern. */
.elementor-element-27994b6 > .elementor-widget-container {
  margin-left: -10px !important;
  margin-right: -10px !important;
}

/* F8 - CTA-Sektion "Planen Sie ein ... Bauvorhaben?":
   Die beiden CTAs stehen absolut auf festen Pixelwerten (385/585 bzw.
   390/590 px) und liefen dadurch weder mit der Textkante bündig noch
   auf Tablet in den Viewport ("Leistungen ansehen" wurde bei 768px
   abgeschnitten). Privates Bauen war die einzige Seite, auf der die
   Werte stimmten (150 / 381) - dieses Verhaeltnis ist hier die Vorgabe.
   max(10px, 50% - 570px) = linke Textkante bei Innenbreite 1140px,
   gilt fuer jede Viewportbreite ab 768px. Mobil sind die Buttons
   ohnehin im Fluss und korrekt - deshalb erst ab 768px. */
@media (min-width: 768px) {
  .e-0e371d6-26aa0f1 { inset-inline-start: max(10px, calc(50% - 570px)) !important; }
  .e-a104619-f8d7140 { inset-inline-start: calc(max(10px, 50% - 570px) + 231px) !important; }
}

/* F9 - CTA-Headline: 60px Schrift auf 51px Zeilenhoehe (0,85) - die
   Zeilen beruehren sich, Unterlaengen schneiden die Zeile darunter. */
@media (min-width: 768px) {
  .e-1042dc6-3d0cf5a { line-height: 1.1 !important; }
}

/* F6 - lange Komposita in schmalen Spalten: "Aufteilungsplanung" ragt
   auf Tablet aus einer 165px-Spalte heraus (19px ueber den Viewport).
   Silbentrennung erlauben - kein Layout-Eingriff. */
body.page-id-1358 .elementor-widget-text-editor,
body.page-id-1395 .elementor-widget-text-editor,
body.page-id-1422 .elementor-widget-text-editor,
body.page-id-1839 .elementor-widget-text-editor {
  overflow-wrap: break-word;
  hyphens: auto;
}

/* F7 - zwei weitere Ueberschriften-Klassen mit demselben Muster,
   aber nur auf Mobil: Pixel-Offset 15px bei voller Breite -> 5px raus */
@media (max-width: 767px) {
  .e-1042dc6-3d0cf5a,
  .e-37ffa13-1efd68f {
    inset-inline-start: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    margin-inline-start: 15px !important;
  }
}

/* TA: Buttonbeschriftung zentrieren - 06.09.2026 */
.e-button-base,
a.e-button-base,
button.e-button-base {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* TA: Ende */

/* TA: Zitat im Portraet-Abschnitt - 06.09.2026 */
.ta-zitat {
    margin: 0 0 16px;
    padding: 0 0 0 22px;
    border-left: 3px solid #8E7556;
}
.ta-zitat .ta-zitat-kern {
    margin: 0 0 12px;
    font-family: Adamina, Georgia, serif;
    font-size: 26px;
    line-height: 1.35;
}
.ta-zitat .ta-zitat-text { margin: 0; font-size: 15.5px; line-height: 1.6; }
.ta-signatur {
    margin: 0 0 26px;
    padding-left: 25px;
    font-size: 14px;
    line-height: 1.6;
    color: #C0AB91;
}
.ta-signatur strong { color: #FFFFFF; font-weight: 600; }
/* TA: Ende Zitat */

/* TA: Leistungs-Section - 06.09.2026 */
.elementor-element-8f08f83 { --ta-gold: #8E7556; --ta-linie: #E4DED6; --ta-text: #3D332B; --ta-tinte: #1A1613; }
/* 1120 px: dieselbe Breite wie der uebrige Inhalt der Seite (160 bis 1280
   bei 1440 px Fenster). Vorher 1180 - der Abschnitt stand 30 px weiter
   aussen als alles andere. */
.elementor-element-8f08f83 > .e-con-inner { max-width: 1120px; }

.elementor-element-8f08f83 .ta-leistungen-kopf { margin-bottom: 10px; max-width: 62ch; }
.elementor-element-8f08f83 .ta-eyebrow {
    font-size: 12px !important; letter-spacing: .18em; text-transform: uppercase;
    color: var(--ta-gold) !important; margin: 0 0 12px !important;
}
.elementor-element-8f08f83 .ta-h2 {
    font-family: Adamina, Georgia, serif !important; font-weight: 400 !important;
    font-size: clamp(28px, 3.4vw, 40px) !important; line-height: 1.2 !important;
    color: var(--ta-tinte) !important; margin: 0 0 14px !important; text-wrap: balance;
}
.elementor-element-8f08f83 .ta-intro { margin: 0 !important; font-size: 17px !important; color: var(--ta-text) !important; }

.elementor-element-8f08f83 .elementor-element-taarch007, .elementor-element-tagut007, .elementor-element-taene007 {
    align-items: flex-start; padding: 40px 0 !important;
    border-top: 1px solid var(--ta-linie); border-radius: 0;
}
.elementor-element-8f08f83 > .e-con-inner > .elementor-element-taarch007 { border-top: none; }

.elementor-element-8f08f83 .ta-bereich-bild .elementor-widget-container { margin: 0; }
.elementor-element-8f08f83 .ta-bereich-bild figure.wp-caption { position: relative; overflow: hidden; margin: 0; }
.elementor-element-8f08f83 .ta-bereich-bild img {
    width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block;
    filter: grayscale(1) contrast(1.04); border-radius: 0;
}
.elementor-element-8f08f83 .ta-bereich-bild figcaption.widget-image-caption {
    position: absolute !important; left: 0; right: 0; bottom: 0; margin: 0 !important;
    padding: 46px 22px 20px !important; text-align: left !important; font-style: normal !important;
    font-family: Adamina, Georgia, serif !important; font-size: 21px !important; line-height: 1.25 !important;
    color: #fff !important; background: linear-gradient(to top, rgba(15,12,10,.92), rgba(15,12,10,0));
}

.elementor-element-8f08f83 .ta-bereich-titel { margin-bottom: 8px; }
.elementor-element-8f08f83 .ta-bereich-titel .elementor-heading-title {
    font-family: Adamina, Georgia, serif !important; font-weight: 400 !important;
    font-size: clamp(22px, 2.4vw, 30px) !important; line-height: 1.25 !important;
    color: var(--ta-tinte) !important;
}
.elementor-element-8f08f83 .ta-bereich-lead { margin-bottom: 18px; }
.elementor-element-8f08f83 .ta-bereich-lead p {
    margin: 0 !important; color: var(--ta-text) !important; font-size: 15.5px !important; max-width: 54ch;
}

.elementor-element-8f08f83 .ta-bereich-liste .elementor-accordion { border-top: 1px solid var(--ta-linie); }
.elementor-element-8f08f83 .ta-bereich-liste .elementor-accordion-item {
    border: none !important; border-bottom: 1px solid var(--ta-linie) !important;
}
.elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-title {
    padding: 15px 34px 15px 0 !important; background: none !important; border: none !important; position: relative;
}
.elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-title .elementor-accordion-title {
    font-family: Roboto, sans-serif !important; font-size: 16px !important; font-weight: 500 !important;
    color: var(--ta-tinte) !important;
}
.elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-title:hover .elementor-accordion-title,
.elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-title.elementor-active .elementor-accordion-title {
    color: var(--ta-gold) !important;
}
.elementor-element-8f08f83 .ta-bereich-liste .elementor-accordion-icon { display: none !important; }
.elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-title::after {
    content: ""; position: absolute; right: 6px; top: 50%; width: 9px; height: 9px; margin-top: -6px;
    border-right: 1.5px solid var(--ta-gold); border-bottom: 1.5px solid var(--ta-gold);
    transform: rotate(45deg); transition: transform .18s ease;
}
.elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-title.elementor-active::after {
    transform: rotate(-135deg); margin-top: -2px;
}
.elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-content {
    border: none !important; padding: 0 34px 18px 0 !important; background: none !important;
}
.elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-content p {
    margin: 0 0 10px !important; color: var(--ta-text) !important; font-size: 14.5px !important;
}
.elementor-element-8f08f83 .ta-bereich-liste .ta-mehr { margin: 0 !important; }
.elementor-element-8f08f83 .ta-bereich-liste .ta-mehr a {
    font-size: 13.5px !important; color: var(--ta-gold) !important; text-decoration: none;
    border-bottom: 1px solid transparent;
}
.elementor-element-8f08f83 .ta-bereich-liste .ta-mehr a:hover { border-bottom-color: var(--ta-gold); }

@media (max-width: 880px) {
    .elementor-element-8f08f83 .elementor-element-taarch007, .elementor-element-tagut007, .elementor-element-taene007 { flex-direction: column !important; }
    .elementor-element-8f08f83 .elementor-element-taarch007 > .e-con,
    .elementor-element-8f08f83 .elementor-element-tagut007 > .e-con,
    .elementor-element-8f08f83 .elementor-element-taene007 > .e-con { width: 100% !important; }
    .elementor-element-8f08f83 .ta-bereich-bild img { aspect-ratio: 16 / 9; }
}
@media (prefers-reduced-motion: reduce) {
    .elementor-element-8f08f83 .ta-bereich-liste .elementor-tab-title::after { transition: none; }
}
/* TA: Ende Leistungs-Section */

/* TA: Logo-Band gleitet - 06.09.2026 */
.eael-logo-carousel .swiper-wrapper {
    transition-timing-function: linear !important;
}
.eael-logo-carousel .swiper-pagination,
.eael-logo-carousel .swiper-pagination-bullets,
.eael-logo-carousel + .swiper-pagination { display: none !important; }
/* TA: Ende Logo-Band */

/* TA: Kontaktblock - 06.09.2026 */
.ta-kontaktblock { margin: 0 0 40px; }
.ta-kontaktblock .ta-kb-eyebrow {
    margin: 0 0 12px; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: #8E7556;
}
.ta-kontaktblock .ta-kb-titel {
    margin: 0 0 14px; font-family: Adamina, Georgia, serif; font-weight: 400;
    font-size: clamp(26px, 3.2vw, 38px); line-height: 1.2; color: #1A1613;
}
.ta-kontaktblock .ta-kb-intro { margin: 0 0 30px; font-size: 17px; color: #3D332B; max-width: 58ch; }
.ta-kontaktblock .ta-kb-raster {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px;
    padding: 26px 0; border-top: 1px solid #E4DED6; border-bottom: 1px solid #E4DED6;
}
.ta-kontaktblock .ta-kb-label {
    margin: 0 0 8px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #8E7556;
}
.ta-kontaktblock .ta-kb-wert { margin: 0; font-size: 15.5px; line-height: 1.65; color: #1A1613; }
.ta-kontaktblock .ta-kb-wert a { color: #1A1613; text-decoration: none; border-bottom: 1px solid #C0AB91; }
.ta-kontaktblock .ta-kb-wert a:hover { color: #8E7556; border-bottom-color: #8E7556; }
@media (max-width: 780px) {
    .ta-kontaktblock .ta-kb-raster { grid-template-columns: 1fr; gap: 22px; }
}
/* TA: Ende Kontaktblock */

/* TA: DEKRA-Siegel in der Trust-Zeile - 06.09.2026 */
.elementor-element-8f3c255 .elementor-icon svg {
    width: auto !important;
    height: 149px !important;
    max-width: none;
}
.elementor-element-8f3c255 .elementor-icon { line-height: 0; }
/* Schriftzug auf gleicher Hoehe wie bei den drei anderen Trust-Punkten:
   die Kachel wird oben ausgerichtet, das hohe Siegel ragt nach unten. */
.elementor-element-8f3c255 .elementor-icon-box-wrapper { align-items: center !important; }
.elementor-element-8f3c255 .elementor-icon-box-content { padding-top: 24px; }
.elementor-element-3d45eb1 > .e-con-inner,
.elementor-element-3d45eb1 { align-items: center !important; }
/* alle vier Kacheln mittig zur weissen Leiste */
.elementor-element-3d45eb1 .elementor-widget-icon-box .elementor-icon-box-wrapper { align-items: center; }
/* TA: Ende DEKRA */

/* TA: OpenStreetMap auf der Kontaktseite - 06.09.2026 */
.ta-karte { margin: 0; }
.ta-karte iframe {
    display: block; width: 100%; height: 400px; border: 0;
    filter: grayscale(1) contrast(1.05);
}
.ta-karte-fuss {
    display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between;
    margin: 12px 0 0; font-size: 14px; color: #3D332B;
}
.ta-karte-fuss a { color: #8E7556; text-decoration: none; border-bottom: 1px solid transparent; }
.ta-karte-fuss a:hover { border-bottom-color: #8E7556; }
@media (max-width: 700px) { .ta-karte iframe { height: 300px; } }
/* TA: Ende Karte */

/* TA: Wissen und Jobs - 06.09.2026 */
/* gemeinsame Bausteine */
.ta-wissen-kopf .ta-eyebrow, .ta-jobs-kopf .ta-eyebrow, .ta-download .ta-eyebrow {
    margin: 0 0 12px !important; font-size: 12px !important; letter-spacing: .18em;
    text-transform: uppercase; color: #8E7556 !important;
}
.ta-wissen-kopf .ta-h1, .ta-jobs-kopf .ta-h1 {
    margin: 0 0 14px !important; font-family: Adamina, Georgia, serif !important; font-weight: 400 !important;
    font-size: clamp(28px, 3.6vw, 42px) !important; line-height: 1.18 !important; color: #1A1613 !important;
}
.ta-wissen-kopf .ta-intro, .ta-jobs-kopf .ta-intro {
    margin: 0 !important; font-size: 17px !important; color: #3D332B !important; max-width: 62ch;
}
.ta-wissen-kopf { margin-bottom: 34px; }

.ta-gruppe-kopf {
    display: flex; align-items: baseline; gap: 14px;
    margin: 0 0 20px; padding-bottom: 10px; border-bottom: 1px solid #E4DED6;
}
.ta-gruppe-kopf h2 {
    margin: 0 !important; font-family: Adamina, Georgia, serif !important; font-weight: 400 !important;
    font-size: 23px !important; line-height: 1.25 !important; color: #1A1613 !important;
}
.ta-gruppe-kopf span { font-size: 13px; color: #8E7556; }

/* Wissen: Beitragsraster */
.ta-wissen-gruppe { margin-bottom: 40px; }
.ta-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.ta-karte { display: flex; flex-direction: column; padding: 0 0 20px; border-bottom: 1px solid #E4DED6; }
.ta-karte .ta-karte-datum {
    margin: 0 0 10px !important; font-size: 12px !important; letter-spacing: .1em;
    text-transform: uppercase; color: #8E7556 !important;
}
.ta-karte .ta-karte-titel {
    margin: 0 0 10px !important; font-family: Adamina, Georgia, serif !important; font-weight: 400 !important;
    font-size: 20px !important; line-height: 1.3 !important; color: #1A1613 !important;
}
.ta-karte .ta-karte-text { margin: 0 0 14px !important; font-size: 14.5px !important; color: #3D332B !important; }
.ta-karte .ta-karte-mehr { margin: auto 0 0 !important; }
.ta-karte .ta-karte-mehr a {
    font-size: 13.5px; color: #8E7556; text-decoration: none; border-bottom: 1px solid transparent;
}
.ta-karte .ta-karte-mehr a:hover { border-bottom-color: #8E7556; }

/* Wissen: Download */
.ta-download {
    display: grid; grid-template-columns: 1.1fr 1fr; gap: 34px; align-items: center;
    margin: 8px 0 0; padding: 32px; background: #F6F4F1;
}
.ta-download .ta-dl-titel {
    margin: 0 0 10px !important; font-family: Adamina, Georgia, serif !important; font-weight: 400 !important;
    font-size: 24px !important; color: #1A1613 !important;
}
.ta-download p { margin: 0 0 16px !important; font-size: 15px !important; color: #3D332B !important; }
.ta-dl-liste { margin: 0 !important; padding-left: 18px; font-size: 14.5px; color: #3D332B; }
.ta-dl-liste li { margin-bottom: 7px; }

.ta-knopf {
    display: inline-block; padding: 13px 24px; background: #8E7556; color: #fff !important;
    font-size: 14px; font-weight: 500; text-decoration: none;
}
.ta-knopf:hover { background: #7a6349; color: #fff !important; }

/* Jobs */
.ta-jobs-einstieg { align-items: center; padding: 0 !important; }
.ta-jobs-bild img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: grayscale(1) contrast(1.04); display: block; }
.ta-jobs-werte { margin: 40px 0 !important; }
.ta-werte {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px;
    padding: 26px 0; border-top: 1px solid #E4DED6; border-bottom: 1px solid #E4DED6;
}
.ta-wert .ta-wert-label {
    margin: 0 0 6px !important; font-size: 12px !important; letter-spacing: .12em;
    text-transform: uppercase; color: #8E7556 !important;
}
.ta-wert p { margin: 0 !important; font-size: 14.5px !important; color: #3D332B !important; }

.ta-jobs-liste .elementor-accordion { border-top: 1px solid #E4DED6; }
.ta-jobs-liste .elementor-accordion-item { border: none !important; border-bottom: 1px solid #E4DED6 !important; }
.ta-jobs-liste .elementor-tab-title {
    padding: 17px 40px 17px 0 !important; background: none !important; border: none !important; position: relative;
}
.ta-jobs-liste .elementor-tab-title .elementor-accordion-title {
    font-family: Roboto, sans-serif !important; font-size: 17px !important; font-weight: 500 !important; color: #1A1613 !important;
}
.ta-jobs-liste .elementor-tab-title:hover .elementor-accordion-title,
.ta-jobs-liste .elementor-tab-title.elementor-active .elementor-accordion-title { color: #8E7556 !important; }
.ta-jobs-liste .elementor-accordion-icon { display: none !important; }
.ta-jobs-liste .elementor-tab-title::after {
    content: ""; position: absolute; right: 6px; top: 50%; width: 9px; height: 9px; margin-top: -6px;
    border-right: 1.5px solid #8E7556; border-bottom: 1.5px solid #8E7556;
    transform: rotate(45deg); transition: transform .18s ease;
}
.ta-jobs-liste .elementor-tab-title.elementor-active::after { transform: rotate(-135deg); margin-top: -2px; }
.ta-jobs-liste .elementor-tab-content {
    border: none !important; padding: 0 40px 22px 0 !important; background: none !important;
}
.ta-jobs-liste .elementor-tab-content p { margin: 0 0 12px !important; font-size: 14.5px !important; color: #3D332B !important; }
.ta-jobs-liste .elementor-tab-content ul { margin: 0 0 16px !important; padding-left: 18px; font-size: 14.5px; color: #3D332B; }
.ta-jobs-liste .elementor-tab-content li { margin-bottom: 6px; }
.ta-jobs-liste .ta-mehr-knopf { margin: 4px 0 0 !important; }

.ta-initiativ {
    display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
    margin: 44px 0 0; padding: 30px 32px; border: 1px solid #E4DED6;
}
.ta-initiativ .ta-init-titel {
    margin: 0 0 8px !important; font-family: Adamina, Georgia, serif !important; font-weight: 400 !important;
    font-size: 22px !important; color: #1A1613 !important;
}
.ta-initiativ p { margin: 0 !important; font-size: 14.5px !important; color: #3D332B !important; max-width: 56ch; }
.ta-initiativ .ta-init-knopf { margin: 0 !important; }

@media (max-width: 880px) {
    .ta-raster { grid-template-columns: 1fr; }
    .ta-download { grid-template-columns: 1fr; gap: 20px; }
    .ta-werte { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ta-initiativ { grid-template-columns: 1fr; }
    .ta-jobs-einstieg { flex-direction: column !important; }
    .ta-jobs-einstieg > .e-con { width: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
    .ta-jobs-liste .elementor-tab-title::after { transition: none; }
}
/* TA: Ende Wissen und Jobs */

/* =========================================================
   Umbruchschutz - 08.09.2026
   Lange deutsche Komposita ("Berufshaftpflichtversicherung") und
   ungetrennte URLs liefen auf Mobil aus ihrem Kasten heraus.
   overflow-wrap greift nur, wenn ein Wort wirklich nicht passt -
   solange der Text passt, aendert sich nichts an der Optik.
   Silbentrennung nur im Fliesstext, nicht in Display-Headlines.
   ========================================================= */
h1, h2, h3, h4, h5, h6, p, li,
.elementor-widget-text-editor,
.elementor-widget-theme-post-content,
.elementor-widget-heading,
.eael-static-product-details { overflow-wrap: break-word; }

.elementor-widget-text-editor,
.elementor-widget-theme-post-content { hyphens: auto; }

/* ======================================================================
   Bereichskarten der Startseite: Titel auf gleicher Hoehe halten
   Der Titel ist ein h2 mit 23,04 px Zeilenhoehe und je 9,6 px Polsterung.
   Eine Zeile ergibt 42 px, zwei ergeben 65 px. Weil nur "Wohnungsbau &
   Investment" umbricht, sass dessen Beschreibung 23 px tiefer als bei den
   drei anderen. Eine Mindesthoehe von zwei Zeilen richtet alles aus.
   Anker ist der Container der vier Karten, damit die fuenf Projektkarten
   darunter unberuehrt bleiben. Nur ab Tablet-Breite, denn untereinander
   gestapelt braucht es die Ausrichtung nicht und sie kostet nur Platz.
   ====================================================================== */
@media (min-width: 768px) {
  .elementor-element-ef33072 .eael-static-product-details > h2 {
    min-height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* ======================================================================
   Karten der Startseite: Knopf immer unten
   Bisher hing der Knopf direkt am Textfluss. Bricht die Beschreibung in
   einer Karte anders um als in der Nachbarkarte - auf dem iPad im
   Hochformat sind die Karten schmaler und das passiert dort -, sitzen die
   Knoepfe 11 px auseinander. Die Detailspalte fuellt jetzt den Restplatz,
   der Knopf haengt sich mit margin-top:auto an ihren unteren Rand. Gilt
   fuer die vier Bereichskarten und die fuenf Projektkarten gleichermassen.
   ====================================================================== */
@media (min-width: 768px) {
  .eael-static-product-details {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
  }
  .eael-static-product-btn-wrap { margin-top: auto; }
}

/* ======================================================================
   Projektkarten der Startseite: Knopf "Mehr erfahren" ausblenden
   Die fuenf Karten zeigen realisierte Projekte, haben aber keine
   Zielseite - ihr Knopf verweist auf "#" und fuehrt ins Leere. Ein Knopf,
   der nichts tut, kostet mehr Vertrauen als kein Knopf. Er ist deshalb
   ausgeblendet, bis die Projektseiten stehen; dann faellt diese Regel weg.
   Anker ist der Container der fuenf Karten, damit die vier Bereichskarten
   darueber ihren Knopf behalten. display:none statt visibility, damit die
   Karte den Platz nicht leer stehen laesst.
   ====================================================================== */
#projekte .eael-static-product-btn-wrap { display: none; }

/* ======================================================================
   Anfahrt auf der Projektanfrage - 09.09.2026
   Ersetzt den alten Block mit Google-Maps-Einbettung (die ohne
   Einwilligung lud) und dem Schriftzug THIERMANN, der mitten im Wort
   umbrach. Zwei Spalten: links die Daten auf dunklem Grund, rechts die
   Karte von OpenStreetMap im selben Graustufen-Ton wie auf der
   Kontaktseite. Unter 900 px stapeln sie sich.
   ====================================================================== */
/* Der Elternteil ist ein Flex-Container in Zeilenrichtung; ohne width
   bleibt das Widget so schmal wie sein Inhalt statt die 1140 px des
   Inhaltsbereichs zu fuellen. */
.ta-anfahrt-widget, .ta-anfahrt-widget .elementor-widget-container { width: 100%; }
.ta-anfahrt {
    display: grid;
    grid-template-columns: minmax(280px, 4fr) 6fr;
    background: #1D1C1C;
    overflow: hidden;
}
.ta-anfahrt-text {
    padding: 44px 40px;
    color: #F4F1EC;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ta-anfahrt-text p { margin: 0 0 14px; }
.ta-anfahrt-kicker {
    font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
    color: #ACA26E; margin-bottom: 18px !important;
}
.ta-anfahrt-firma {
    font-family: 'Adamina', Georgia, serif; font-size: 26px; line-height: 1.25;
    color: #fff; margin-bottom: 16px !important;
}
.ta-anfahrt-firma span {
    display: block; font-family: 'Roboto', sans-serif; font-size: 15px;
    font-weight: 300; letter-spacing: .02em; color: #C0AB91; margin-top: 4px;
}
.ta-anfahrt-adresse { font-size: 16px; line-height: 1.6; color: #E4DED6; }
.ta-anfahrt-zeile { font-size: 15px; margin-bottom: 6px !important; }
.ta-anfahrt-zeile a { color: #E4DED6; text-decoration: none; border-bottom: 1px solid rgba(192,171,145,.35); }
.ta-anfahrt-zeile a:hover { color: #fff; border-bottom-color: #C0AB91; }
.ta-anfahrt-route { margin-top: 22px !important; }
.ta-anfahrt-route a {
    display: inline-block; padding: 12px 24px; background: #8E7556; color: #fff;
    font-size: 14px; font-weight: 500; letter-spacing: .04em; text-decoration: none;
    border-radius: 2px; transition: background .18s;
}
.ta-anfahrt-route a:hover { background: #C0AB91; }
.ta-anfahrt-karte { position: relative; display: flex; flex-direction: column; }
.ta-anfahrt-karte iframe {
    display: block; width: 100%; height: 100%; min-height: 380px; border: 0;
    filter: grayscale(1) contrast(1.05);
}
.ta-anfahrt-fuss {
    /* oben rechts, nicht unten: unten laeuft die Herkunftszeile von
       OpenStreetMap durch das Bild, und der Link ueberdeckte sie. */
    position: absolute; right: 52px; top: 12px; margin: 0;
    background: rgba(29,28,28,.82); padding: 6px 12px; border-radius: 2px;
}
.ta-anfahrt-fuss a { color: #F4F1EC; font-size: 13px; text-decoration: none; }
.ta-anfahrt-fuss a:hover { color: #C0AB91; }
@media (max-width: 900px) {
    .ta-anfahrt { grid-template-columns: 1fr; }
    .ta-anfahrt-text { padding: 32px 26px; }
    .ta-anfahrt-karte iframe { min-height: 300px; }
}

/* ======================================================================
   Trennung, Kartenausrichtung, Anfahrt - 09.09.2026
   ====================================================================== */

/* 1) Keine automatische Silbentrennung in Ueberschriften.
   Das Kit setzt hyphens:auto auf jede Ueberschrift der Seite. Bei kurzen
   Titeln faellt das nicht auf, bei langen sehr wohl: "Neubau Hauptverwal-
   tung IMPACT", "Der erste Schritt be-ginnt mit ei-nem Gespraech". Die
   bestehende Regel gewinnt ueber die Spezifitaet (.elementor-2217 ...),
   deshalb hier !important - eine schwaechere Fassung blieb wirkungslos. */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title, .e-heading-base,
.eael-static-product-details h2, .eael-static-product-details h2 a {
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
}

/* 2) Projektkarten: die Leistungszeile steht in jeder Karte auf derselben
   Hoehe. Nicht ueber eine feste Titelhoehe - die haelt nur, solange kein
   Titel eine Zeile mehr braucht -, sondern indem der Titelblock den
   ueberschuessigen Platz aufnimmt. Der Text bleibt dabei oben. */
@media (min-width: 768px) {
    /* Kein flex-grow auf dem Titel: das wuerde den Hoehenausgleich wieder
       aufheben (jede gesetzte min-height verteilt sich sonst ueber flex auf
       alle Titel der Reihe). Die gleiche Hoehe stellt das Skript her. */
    #projekte .eael-static-product-details > p { margin-bottom: 0; }
}

/* 3) Anfahrt: Firmenname und Rechtsform stehen in einer Zeile und sind
   gleich gesetzt. Vorher war "THIERMANN" 26 px Adamina und der Zusatz ein
   eigener Block darunter - deshalb half auch eine kleinere Schrift nichts. */
.ta-anfahrt-firma {
    font-family: 'Roboto', sans-serif; font-weight: 300; font-size: 16px;
    line-height: 1.55; letter-spacing: .02em; color: #C0AB91;
}
.ta-anfahrt-firma span {
    display: inline; font-family: inherit; font-size: inherit;
    font-weight: inherit; letter-spacing: inherit; color: inherit; margin-top: 0;
}

/* --- Projektkarten: enger Bereich 1025-1279 px --- */
/* Fuenf Karten nebeneinander sind hier nur rund 160 px breit. Bei 19 px
   Schrift passt kein Projektname mehr in eine Zeile, und der Browser bricht
   mitten im Wort. Kleinere Schrift loest es, ohne das Raster umzubauen. */
@media (min-width: 1025px) and (max-width: 1279px) {
    #projekte .eael-static-product-details h2,
    #projekte .eael-static-product-details h2 a { font-size: 15px; line-height: 1.35; }
    #projekte .eael-static-product-details p { font-size: 13px; line-height: 1.5; }
}

/* ===== Produktabschnitte auf den Bereichsseiten - 09.09.2026 ===== */
/* Ein Abschnitt je Produkt: links die Nummer und der Name, rechts der Text.
   Die Nummerierung nimmt den Stil auf, den die Gutachten-Seite fuer ihre
   Leistungskacheln schon verwendet. */
.ta-produkte-widget, .ta-produkte-widget .elementor-widget-container { width: 100%; }
.ta-produkte { max-width: 1140px; margin: 0 auto; }

/* Kopf des Abschnitts: Aufnahme links, Einfuehrung rechts. Die Bilder sind
   hochkant (4:5) und schwarz-weiss - deshalb keine Beschneidung ins Quer-
   format, sondern eine eigene Spalte. */
.ta-produkte-kopf {
    display: grid; grid-template-columns: 4fr 6fr; gap: 44px;
    align-items: end; margin-bottom: 34px;
}
.ta-produkte-bild { margin: 0; }
.ta-produkte-bild img { display: block; width: 100%; height: auto; }
.ta-produkte-einleitung {
    font-size: 16px; line-height: 1.65; color: #3B3835; margin: 14px 0 0 !important;
    max-width: 46em;
}
@media (max-width: 900px) {
    .ta-produkte-kopf { grid-template-columns: 1fr; gap: 22px; align-items: start; }
}
.ta-produkte-kicker {
    font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
    color: #8E7556; margin: 0 0 10px !important;
}
.ta-produkte-titel {
    font-family: 'Adamina', Georgia, serif; font-size: 34px; line-height: 1.2;
    color: #1D1C1C; margin: 0 0 8px !important;
}
.ta-produkt {
    display: grid; grid-template-columns: minmax(190px, 3fr) 7fr; gap: 34px;
    padding: 34px 0; border-top: 1px solid rgba(29,28,28,.12);
}
.ta-produkt:last-child { border-bottom: 1px solid rgba(29,28,28,.12); }
.ta-produkt-kopf { position: relative; }
.ta-produkt-nr {
    display: block; font-size: 13px; letter-spacing: .16em; color: #8E7556;
    margin-bottom: 10px;
}
.ta-produkt-name {
    font-family: 'Adamina', Georgia, serif; font-size: 22px; line-height: 1.25;
    color: #1D1C1C; margin: 0 !important;
}
.ta-produkt-text { font-size: 15px; line-height: 1.7; color: #3B3835; }
.ta-produkt-text p { margin: 0 0 12px !important; }
.ta-produkt-text p:last-child { margin-bottom: 0 !important; }
.ta-produkt-text ul, .ta-produkt-text ol { margin: 0 0 14px; padding-left: 20px; }
.ta-produkt-text li { margin-bottom: 6px; }
.ta-produkt-text li p { margin: 0 !important; }
.ta-produkt-text strong { color: #1D1C1C; }
.ta-produkt-zwischen {
    font-family: 'Adamina', Georgia, serif; font-size: 17px; line-height: 1.3;
    color: #1D1C1C; margin: 20px 0 8px !important;
}
.ta-produkt-text > .ta-produkt-zwischen:first-child { margin-top: 0 !important; }
@media (max-width: 900px) {
    .ta-produkte-titel { font-size: 27px; }
    .ta-produkt { grid-template-columns: 1fr; gap: 12px; padding: 26px 0; }
    .ta-produkt-name { font-size: 20px; }
}
/* ===== Ende Produktabschnitte ===== */

/* ===== Produktkarten auf den Bereichsseiten - 09.09.2026 ===== */
/* Der Demo-Link des Karten-Widgets wird nicht verwendet - sein Auge-Symbol
   liegt sonst sichtbar ueber dem Bild. */
.eael-static-product-thumb-overlay { display: none !important; }

/* Symbolkarten: heller Grund, damit die goldene Strichzeichnung Luft bekommt.
   Angesprochen wird die Element-Kennung, NICHT die eigene Klasse: Elementor
   rendert `_css_classes` an Widgets, an Containern nicht. */
.elementor-element-taprodarchg .eael-static-product-thumb,
.elementor-element-taprodgutg .eael-static-product-thumb { background: #F7F5F1; }
.elementor-element-taprodarchg .eael-static-product-thumb img,
.elementor-element-taprodgutg .eael-static-product-thumb img {
    width: 62%; height: auto; margin: 0 auto; padding: 26px 0;
}
.elementor-element-taprodarchg .eael-static-product-details,
.elementor-element-taprodgutg .eael-static-product-details { text-align: center; }

/* Der Knopf fuehrt zur Detailseite: als goldener Textlink statt als
   schwarze Flaeche - im Kartenraster wirken elf Flaechen unruhig. */
.elementor-element-taprodarchg .eael-static-product-btn,
.elementor-element-taprodgutg .eael-static-product-btn {
    background: transparent !important; color: #8E7556 !important;
    padding: 0 !important; font-size: 14px; letter-spacing: .04em;
    border-bottom: 1px solid rgba(142,117,86,.4); border-radius: 0;
}
.elementor-element-taprodarchg .eael-static-product-btn:hover,
.elementor-element-taprodgutg .eael-static-product-btn:hover {
    color: #1D1C1C !important; border-bottom-color: #1D1C1C;
}
.elementor-element-taprodarchg .eael-static-product-btn-wrap,
.elementor-element-taprodgutg .eael-static-product-btn-wrap { padding-bottom: 22px; }

/* Zwei Aufnahmen im Kopf nebeneinander */
.ta-produkte-bilder { display: grid; grid-template-columns: 1fr; gap: 16px; }
.ta-produkte-bilder:has(figure + figure) { grid-template-columns: 1fr 1fr; }
.ta-produkte-bilder figure { margin: 0; }
.ta-produkte-bilder img { display: block; width: 100%; height: auto; }
@media (max-width: 900px) {
    .ta-produkte-bilder:has(figure + figure) { grid-template-columns: 1fr 1fr; gap: 12px; }
}
/* ===== Ende Produktkarten ===== */

/* ===== Verweis unter den Projektkacheln - 09.09.2026 ===== */
.ta-projektlink { margin: 34px 0 0 !important; text-align: center; }
.ta-projektlink a {
    display: inline-block; padding: 13px 30px;
    background: #8E7556; color: #FFFFFF;
    font-size: 14px; font-weight: 500; letter-spacing: .04em;
    text-decoration: none; border-radius: 2px; transition: background .18s;
}
.ta-projektlink a:hover { background: #C0AB91; color: #1D1C1C; }
.ta-projektlink a span { margin-left: 6px; }
@media (max-width: 767px) {
    .ta-projektlink { margin-top: 26px !important; }
    .ta-projektlink a { display: block; }
}
/* ===== Ende Verweis Projektkacheln ===== */

/* ===== Leistungskarten der Bereichsseiten - 09.09.2026 ===== */
.ta-leistungen-widget, .ta-leistungen-widget .elementor-widget-container { width: 100%; }
.ta-leistungen + .ta-leistungen { margin-top: 66px; }
.ta-leistungen-kopf { max-width: 62ch; margin-bottom: 34px; }
.ta-leistungen-kicker {
    font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
    color: #8E7556; margin: 0 0 10px !important;
}
.ta-leistungen-titel {
    font-family: 'Adamina', Georgia, serif; font-size: 34px; line-height: 1.2;
    color: #1D1C1C; margin: 0 0 12px !important;
}
.ta-leistungen-einleitung {
    font-size: 16px; line-height: 1.7; color: #3B3835; margin: 0 !important;
}

.ta-leistungen-raster {
    /* minmax(0, 1fr) statt 1fr: sonst spannt das laengste Wort die Spalte
       breiter als ihren Container - gemessen 311 px Spalte in einem 270 px
       breiten Raster, die Karten liefen seitlich hinaus. */
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px;
    background: rgba(29,28,28,.12);
    border-top: 1px solid rgba(29,28,28,.12);
    border-bottom: 1px solid rgba(29,28,28,.12);
}
.ta-leistung {
    display: flex; flex-direction: column;
    background: #FFFFFF; padding: 30px 28px 28px;
}
.ta-leistung-name {
    font-family: 'Adamina', Georgia, serif; font-size: 20px; line-height: 1.3;
    color: #1D1C1C; margin: 0 0 12px !important;
}
.ta-leistung-text {
    font-size: 15px; line-height: 1.65; color: #3B3835; margin: 0 0 18px !important;
}
.ta-leistung-link {
    margin-top: auto; align-self: flex-start;
    font-size: 14px; letter-spacing: .03em; color: #8E7556; text-decoration: none;
    border-bottom: 1px solid rgba(142,117,86,.4); padding-bottom: 2px;
}
.ta-leistung-link:hover { color: #1D1C1C; border-bottom-color: #1D1C1C; }
.ta-leistung-link span { margin-left: 5px; }

/* Wo das Raster Teilraster beherrscht, teilen sich Name, Text und Verweis
   ihre Zeilen ueber alle Karten hinweg - dann beginnt jeder Text auf
   derselben Hoehe, unabhaengig von der Laenge des Namens. */
@supports (grid-template-rows: subgrid) {
    .ta-leistungen-raster { grid-auto-rows: auto; }
    .ta-leistungen-raster > .ta-leistung {
        display: grid; grid-template-rows: subgrid; grid-row: span 3;
        align-content: start;
    }
    .ta-leistung-link { margin-top: 0; align-self: end; }
}

@media (max-width: 1024px) {
    .ta-leistungen-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ta-leistungen-raster > .ta-leistung { padding: 26px 24px 24px; }
}
@media (max-width: 767px) {
    .ta-leistungen-titel { font-size: 27px; }
    .ta-leistungen-raster { grid-template-columns: minmax(0, 1fr); }
    .ta-leistungen + .ta-leistungen { margin-top: 48px; }
}
/* ===== Ende Leistungskarten ===== *//* End custom CSS */