/* Eigene Ergänzungen. Die importierten Layout-CSS-Dateien bleiben als Designbasis erhalten. */
:root{--sec-green:#174b3b;--sec-cream:#f3f4ef;--sec-ink:#173b30}
html{scroll-behavior:smooth}body{margin:0}[hidden]{display:none!important}
.sec-skip{position:fixed;left:1rem;top:-6rem;z-index:10000;background:white;color:#173b30;padding:1rem}.sec-skip:focus{top:1rem}
:focus-visible{outline:3px solid #ddae4b;outline-offset:5px}
/* Originalmarke ohne nachträglich eingefügte Kachel. */
.elementor-location-header .elementor-widget-theme-site-logo a{display:inline-block;line-height:0}
.elementor-location-header .elementor-widget-theme-site-logo img{display:block}
/* Layout is rendered immediately; no Elementor JS or animation initialization is needed. */
.elementor-invisible{visibility:visible!important}.e-con.e-parent{opacity:1!important}
.e-con.e-parent.e-lazyloaded,.e-con.e-parent:not(.e-lazyloaded){--e-con-display:flex}
.sec-standalone .swiper{overflow:visible}.sec-standalone .swiper-wrapper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;transform:none!important;width:100%;height:auto;padding-bottom:18px}
.sec-standalone .swiper-slide{flex:0 0 min(34%,430px);min-width:260px;scroll-snap-align:start;height:auto}
.sec-standalone .swiper-pagination{display:none}.sec-standalone .elementor-swiper-button{cursor:pointer}
.sec-standalone .elementor-counter-number{white-space:nowrap}
/* Nativer Dialog mit kompakter oberer Ausrichtung; Bewegung steuert die Dialoglogik. */
.sec-navigation{border:0;margin:0 0 0 auto;padding:0;width:min(460px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;background:#fff;color:#111a15;box-shadow:-12px 0 40px #0002}
.sec-navigation::backdrop{background:#0c1b1738}
.sec-navigation-inner{position:relative;box-sizing:border-box;min-height:100%;padding:100px 40px 40px}
.sec-navigation-content{width:100%;max-width:100%}
.sec-navigation a{color:#111a15;text-decoration:none}
.sec-navigation nav{display:flex;flex-direction:column;gap:12px;margin:0 0 28px}
.sec-navigation nav a{font-family:Inter,sans-serif;font-size:32px;line-height:1.3;font-weight:400;padding:6px 0}
.sec-navigation nav a:hover,.sec-navigation nav a[aria-current]{color:#536b12}
.sec-navigation-legal{display:flex;flex-direction:column;gap:10px;border-top:1px solid #e3e7df;padding-top:22px;font-size:16px;line-height:1.5;font-weight:400;margin-bottom:28px}
.sec-navigation .sec-navigation-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border:1px solid #536b12;border-radius:14px;background:#536b12;color:white;font-size:18px;line-height:1.4}
.sec-navigation .sec-navigation-cta:hover{background:#35470c;border-color:#35470c}
.sec-navigation-cta span{font-size:24px;line-height:1}
.sec-navigation .sec-menu-close,.sec-navigation .sec-menu-close:focus,.sec-navigation .sec-menu-close:active{position:absolute;right:28px;top:24px;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:12px;background:transparent;color:#536b12;box-shadow:none;cursor:pointer;appearance:none}
.sec-navigation .sec-menu-close:hover{background:#f1f3ec;color:#35470c}
.sec-navigation .sec-menu-close:focus-visible{outline:3px solid #758d38;outline-offset:3px}
.sec-navigation .sec-menu-close svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}
.sec-menu-open{overflow:hidden}
.sec-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Der aus Elementor gelöste Container braucht seine eigene horizontale Zentrierung. */
:where(.sec-standalone main>.elementor)>.e-con{--margin-left:auto;--margin-right:auto;max-width:min(100%,var(--width))}
/* Auf kurzen Desktopfenstern dürfen Logo und Titel nicht übereinander liegen. */
@media(min-width:768px){
 .sec-standalone .sec-hero>.e-con-inner{min-height:max(840px,100svh);padding-top:150px}
}
.sec-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.sec-form-status{font-size:1rem;line-height:1.5;margin-top:20px!important}
button:disabled{opacity:.55;cursor:not-allowed}.e-filter-item[aria-pressed=true]{outline:2px solid currentColor;outline-offset:3px}
.sec-error{max-width:850px;padding:8vw;margin:auto;font-family:system-ui}
@media(max-width:767px){.sec-standalone .swiper-slide{flex-basis:85%;min-width:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Captured desktop hero dimensions need explicit small-screen sizing. */
@media(max-width:767px){
  .sec-standalone .sec-hero{min-height:0!important;--min-height:0;--padding-top:145px;--padding-bottom:48px;--padding-left:24px;--padding-right:24px;padding:145px 24px 48px!important}
  .sec-standalone .sec-hero>.e-con-inner{min-height:0!important;padding:0!important;width:100%;max-width:100%;justify-content:flex-start!important;gap:20px}
  .sec-standalone .sec-hero .elementor-widget{width:100%!important;max-width:100%!important}
  .sec-standalone .sec-hero h1{font-size:clamp(28px,8.2vw,38px)!important;line-height:1.2!important;overflow-wrap:anywhere;hyphens:auto}
  .sec-standalone .sec-hero .elementor-widget-text-editor{font-size:16px!important;line-height:1.6!important}
  .sec-standalone .sec-hero .sec-hero-eyebrow{font-size:15px!important;line-height:1.4!important;letter-spacing:.035em}
  .sec-standalone .sec-hero{background-color:#b0b0b0!important;background-blend-mode:multiply}
  .sec-standalone .sec-hero .sec-hero-eyebrow{color:#bfd75d!important}
  .sec-standalone .sec-hero p{margin-bottom:0}
  .sec-standalone .sec-hero-actions{display:flex!important;flex-direction:column;gap:12px;--flex-direction:column}
  .sec-standalone .sec-hero .elementor-button{font-size:14px;padding:15px 18px}
  .sec-standalone .sec-hero .elementor-button-text{font-size:14px;line-height:1.5}
  .sec-standalone h2,.sec-standalone h3{overflow-wrap:anywhere;hyphens:auto}
}

@media(max-width:767px){
 .sec-navigation-inner{padding:88px 28px 28px}
 .sec-navigation .sec-menu-close{top:20px;right:18px}
 .sec-navigation nav a{font-size:30px}
}

.sec-draft-note{padding:16px 20px;border-left:4px solid #6f8b15;background:#f2f1ed;color:#111a15;font-size:16px;line-height:1.6}

/* Inhaltsseiten ohne Hero bekommen einen eigenen Headerbereich statt Überlagerung. */
.sec-standalone:not(:has(.sec-hero)) .elementor-location-header .elementor-element-346b6eb{position:relative;--position:relative;--margin-bottom:0px;--padding-bottom:32px}
.sec-standalone main>.site-main{padding-inline:2.5vw}

/* Gleiche Originalmarke, als helle Silhouette auf dem dunklen Hero lesbar. */
.sec-standalone:has(.sec-hero) .elementor-location-header .elementor-widget-theme-site-logo img{filter:brightness(0) invert(1)}

/* Tablet: Archivblendung der Kontaktbuttons aufheben und Leerraum begrenzen. */
@media(min-width:768px) and (max-width:1024px){
 .sec-standalone .sec-hero{min-height:0!important;--min-height:0}
 .sec-standalone .sec-hero>.e-con-inner{min-height:0!important;justify-content:flex-start!important;padding:150px 0 80px!important}
 .sec-standalone .sec-hero h1{font-size:clamp(38px,5vw,52px)!important;line-height:1.25!important;overflow-wrap:anywhere}
 .sec-standalone .sec-hero .elementor-widget-text-editor{font-size:20px!important;line-height:1.5!important}
 .sec-standalone .sec-hero .sec-hero-eyebrow{font-size:20px!important;line-height:1.4!important}
 .sec-standalone .sec-hero-actions{display:flex!important;flex-wrap:wrap;gap:16px}
 .sec-standalone .sec-hero .elementor-button{font-size:18px;padding:16px 24px}
}

/* Lokaler Inhaltsvorschlag: gemeinsame Leistungen im vorhandenen SEC-Farbsystem. */
.sec-content-section,.sec-content-page{font-family:Inter,sans-serif;color:#111a15;line-height:1.7;padding:clamp(40px,6vw,88px) 24px}
.sec-content-inner{width:100%;max-width:1120px;margin-inline:auto}
.sec-content-page .sec-content-inner{max-width:880px}
.sec-content-section h2,.sec-content-page h1,.sec-content-page h2{color:#111a15;font-weight:500;line-height:1.2;text-wrap:balance;overflow-wrap:break-word}
.sec-content-section h2,.sec-content-page h1{font-size:clamp(28px,3.5vw,46px);margin:0 0 24px}
.sec-content-page h2{font-size:clamp(23px,2.4vw,30px);margin:40px 0 16px}
.sec-content-section p,.sec-content-page p{max-width:78ch;margin:0 0 22px}
.sec-content-section .sec-content-eyebrow,.sec-content-page .sec-content-eyebrow{color:#536913;font-size:14px;letter-spacing:.06em;font-weight:600;margin-bottom:16px}
.sec-content-lead{font-size:clamp(18px,1.8vw,22px);line-height:1.6}
.sec-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin-top:36px}
.sec-service-card{display:flex;flex-direction:column;gap:16px;min-width:0;padding:32px 26px;border:1px solid #e2e5da;border-radius:20px;background:#f7f7f6;color:#111a15;text-decoration:none;transition:border-color .2s,background .2s}
.sec-service-card:hover{border-color:#6f8b15;background:#f0f2e8;color:#111a15}
.sec-service-card h3{color:#20251e;font-size:24px;font-weight:500;line-height:1.25;margin:0;overflow-wrap:break-word}
.sec-service-card p{font-size:17px;margin:0;color:#20251e}
.sec-service-card>span{margin-top:auto;padding-top:12px;color:#536913;font-size:16px;font-weight:600}
.sec-content-button{display:inline-block;max-width:100%;padding:13px 24px;border:2px solid #536913;border-radius:32px;background:#536913;color:#fff;text-decoration:none;font-size:17px;line-height:1.5;margin:4px 0 24px;text-align:center}
.sec-content-button:hover{background:#36460b;border-color:#36460b;color:#fff}
.sec-content-page li{margin-bottom:10px}
@media(max-width:767px){.sec-content-section,.sec-content-page{padding-inline:24px}.sec-service-grid{grid-template-columns:1fr;gap:16px}.sec-service-card{padding:26px 22px}}

/* Über mich: ruhiger Lesefluss auf Mobilgeräten; Original-Porträtcontainer bleibt sichtbar. */
@media(max-width:767px){
 .sec-standalone .elementor-64 p{text-align:left}
}

/* Linkfarben gegenüber den übernommenen Elementor-Linkregeln absichern. */
.sec-standalone .sec-content-button,
.sec-standalone .sec-content-button:hover,
.sec-standalone .sec-content-button:focus{color:#fff}
.sec-standalone .sec-content-page a:not(.sec-content-button){color:#495411}

/* Wiederverwendete Original-Leistungskarten: nur das responsive Raster. */
.sec-original-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:36px}
.sec-original-service-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sec-original-services .elementor-heading-title{overflow-wrap:break-word}
@media(max-width:1024px){.sec-original-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.sec-original-service-grid{grid-template-columns:minmax(0,1fr)}}

.sec-original-services .sec-service-combination{margin-top:28px}

.sec-service-detail-image{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:20px;margin:0 0 28px}

.sec-original-services .sec-service-more{display:block;padding:16px 20px 0;font-weight:600;color:#495411}

/* Browserfeedback: mehr Raum für Person, Arbeitsablauf und Kontakt. */
@media(min-width:1025px){
 .sec-standalone .elementor-64 .elementor-element-88cacaa>.e-con-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:80px;row-gap:24px;align-items:start}
 .sec-standalone .elementor-64 .elementor-element-bba140c{display:contents}
 .sec-standalone .elementor-64 .elementor-element-fc618f7{grid-column:2;grid-row:1;min-width:0;--width:100%;width:100%}
 .sec-standalone .elementor-64 .elementor-element-a3f7a82{grid-column:2;grid-row:2;align-self:center;min-width:0;--container-widget-width:100%;width:100%;max-width:100%}
 .sec-standalone .elementor-64 .elementor-element-144e55d{grid-column:1;grid-row:2;align-self:center;--container-widget-width:100%;width:100%;max-width:100%}
}
.sec-standalone .elementor-64 .elementor-element-feb4067{--flex-direction:column}
.sec-standalone .elementor-64 .elementor-element-3cd7088{--width:100%;width:100%;--border-radius:20px 20px 0 0;--padding-bottom:24px}
.sec-standalone .elementor-64 .elementor-element-3cd7088 p{max-width:72ch;text-align:left}
.sec-standalone .elementor-64 .elementor-element-3051145{--display:grid;display:grid;--width:100%;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;--padding-top:16px;--padding-right:40px;--padding-bottom:40px;--padding-left:40px;--border-radius:0 0 20px 20px}
.sec-standalone .elementor-64 .elementor-element-3051145>.e-con{--width:100%;width:100%;min-width:0;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}
.sec-standalone .elementor-64 .elementor-element-3051145 .elementor-widget-text-editor{text-align:left}
.sec-standalone .elementor-64 .elementor-element-3051145 .elementor-heading-title{overflow-wrap:break-word}
/* Ein gemeinsamer Footeraufruf mit ausreichend Platz für die Überschrift. */
.sec-standalone .elementor-location-footer .elementor-element-b153e95>.e-con-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.sec-standalone .elementor-location-footer .elementor-element-3b72efb{--width:100%;width:100%;min-width:0}
.sec-standalone .elementor-location-footer .elementor-element-bc69bef{--width:auto;width:auto;--flex-grow:0;flex-grow:0;max-width:100%}
.sec-standalone .elementor-location-footer .elementor-element-d81dcd4{--container-widget-width:100%;width:100%;max-width:none}
.sec-standalone .elementor-location-footer .elementor-element-d81dcd4 .elementor-heading-title{width:100%;max-width:none;overflow-wrap:break-word}
.sec-standalone .elementor-location-footer .elementor-element-4642692 .elementor-button{white-space:normal}
/* Gemeinsame Fluchten und kompakte, natürliche Höhe im unteren Footer. */
.sec-standalone .elementor-location-footer .elementor-element-9ad6706{--padding-top:28px;--padding-bottom:28px;--gap:0;--row-gap:0;row-gap:0}
.sec-footer-inner{width:100%;max-width:1120px;margin-inline:auto}
.sec-footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px 32px}
.sec-footer-brand{display:block;flex:0 0 220px;width:220px;max-width:100%;line-height:0}
.sec-footer-brand img{display:block;width:100%;height:auto}
.sec-footer-navigation{margin-top:24px;padding-top:20px;border-top:1px solid rgba(73,84,17,.18)}
.sec-footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 32px;list-style:none;margin:0;padding:0}
.sec-footer-links li{margin:0;padding:0}
.sec-footer-links a{display:inline-block;font-family:Inter,sans-serif;font-size:clamp(16px,1.35vw,20px);font-weight:300;line-height:1.5;white-space:nowrap;color:var(--e-global-color-primary)}
.sec-footer-links a:hover,.sec-footer-links a:focus{color:var(--e-global-color-secondary)}
.sec-footer-copyright{margin:16px 0 0;text-align:center;font-size:13px;line-height:1.5;color:var(--e-global-color-primary)}
@media(max-width:1024px){
 .sec-standalone .elementor-location-footer .elementor-element-b153e95>.e-con-inner{grid-template-columns:minmax(0,1fr);gap:24px}
 .sec-standalone .elementor-location-footer .elementor-element-bc69bef{justify-self:start}
}
@media(max-width:767px){
 .sec-footer-main{flex-direction:column;gap:20px;align-items:center}
 .sec-footer-brand{flex:0 0 auto}
 .sec-footer-links{justify-content:center;gap:12px 24px}
 .sec-footer-copyright{text-align:center}
 .sec-standalone .elementor-64 .elementor-element-3051145{grid-template-columns:minmax(0,1fr);gap:28px;--padding-top:8px;--padding-right:20px;--padding-bottom:28px;--padding-left:20px}
}

/* Nur Leistungsübersicht: sechs Plätze, drei Spalten und ruhige Kartenfluchten. */
.sec-services-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.sec-services-overview-grid>.e-loop-item{min-width:0;display:flex}
.sec-services-overview-grid>.e-loop-item>a{width:100%;height:100%}
.sec-services-overview-grid>.e-loop-item>a>.e-con-inner{flex:1;display:flex;flex-direction:column}
.sec-services-overview-grid .sec-service-more{margin-top:auto}
@media(max-width:1024px){.sec-services-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.sec-services-overview-grid{grid-template-columns:minmax(0,1fr)}}

/* Drei Linien, unsichtbare Touchfläche und deutlich sichtbarer Tastaturfokus. */
.sec-standalone .elementor-location-header .sec-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;box-sizing:border-box;border:0;background:transparent;color:#536b12;text-decoration:none;transition:color .15s ease}
.sec-standalone .elementor-location-header .sec-menu-trigger svg{display:block;width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sec-standalone .elementor-location-header .sec-menu-trigger:hover{color:#35470c}
.sec-standalone .elementor-location-header .sec-menu-trigger:focus-visible{outline:3px solid #758d38;outline-offset:4px}
.sec-standalone:has(.sec-hero) .elementor-location-header .sec-menu-trigger{color:#fff}
.sec-standalone:has(.sec-hero) .elementor-location-header .sec-menu-trigger:hover{color:#d8e7ac}
.sec-standalone:has(.sec-hero) .elementor-location-header .sec-menu-trigger:focus-visible{outline-color:#d8e7ac}

@media(max-width:767px){
 .sec-standalone .elementor-location-header .sec-menu-trigger{width:48px;height:48px}
 .sec-standalone .elementor-location-header .sec-menu-trigger svg{width:36px;height:36px}
}

/* Originale Verbands-/Expertenlogos im unteren Footer neben der SEC-Marke. */
.sec-footer-affiliations{display:flex;flex:1;min-width:0;align-items:center;justify-content:flex-end;gap:20px 28px;flex-wrap:wrap}
.sec-footer-affiliations a{display:block;flex:0 1 220px;width:220px;max-width:100%;line-height:0}
.sec-footer-affiliations img{display:block;width:100%;height:auto;object-fit:contain}
.sec-footer-affiliations .sec-footer-eee img{mix-blend-mode:multiply}
@media(max-width:767px){
 .sec-footer-affiliations{flex:0 1 auto;width:100%;justify-content:center}
 .sec-footer-navigation{margin-top:20px;padding-top:20px}
}

/* Gemeinsamer Einstieg für private und gewerbliche Vorhaben. */
.sec-welcome{padding:clamp(48px,7vw,96px) 4vw;background:#fff}
.sec-welcome-inner{max-width:1280px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,4vw,64px);align-items:center}
.sec-welcome-copy{min-width:0}
.sec-welcome .sec-welcome-eyebrow{margin:0 0 28px;color:#708915;font-size:clamp(16px,1.6vw,21px);font-weight:300;line-height:1.4;text-transform:uppercase;letter-spacing:.025em}
.sec-welcome h2{margin:0 0 32px;color:#111a15;font-size:clamp(32px,3.5vw,46px);font-weight:400;line-height:1.22;letter-spacing:-.02em}
.sec-welcome .sec-welcome-lead{font-size:clamp(18px,1.7vw,22px);line-height:1.6;margin:0 0 32px}
.sec-welcome-offering{padding-top:28px;border-top:1px solid #9bab67}
.sec-welcome h3{font-size:clamp(21px,2vw,26px);line-height:1.35;font-weight:500;margin:0 0 12px}
.sec-welcome-offering p{font-size:18px;line-height:1.65;margin:0 0 18px}
.sec-welcome-link{display:inline-flex;align-items:center;gap:16px;min-height:48px;color:#495411;font-size:18px;font-weight:600;text-decoration:none}
.sec-welcome-link span{font-size:28px;font-weight:300}
.sec-welcome-link:hover{text-decoration:underline;text-underline-offset:5px}
.sec-welcome-link:focus-visible{outline:3px solid #758d38;outline-offset:5px;border-radius:3px}
.sec-welcome-image{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:767px){
 .sec-welcome-inner{grid-template-columns:minmax(0,1fr);gap:32px}
 .sec-welcome .sec-welcome-eyebrow{margin-bottom:20px}
 .sec-welcome h2{margin-bottom:24px}
 .sec-welcome .sec-welcome-lead{margin-bottom:24px}
 .sec-welcome-offering{padding-top:24px}
 .sec-welcome-image{max-width:640px;margin-inline:auto}
}

/* Shared homepage summary symbols, including the compact carousel. */
.sec-standalone .elementor-7 svg.sec-summary-icon{display:inline-block;width:40px;height:40px;fill:none;color:#6f8b15;vertical-align:middle}
.sec-standalone .elementor-7 svg.sec-summary-icon *{fill:none;stroke:currentColor}
.sec-standalone .elementor-element-725bacd svg.sec-summary-icon{width:32px;height:32px}

/* Startseite: Kommentare vom 13.11.2026. */
.sec-standalone .elementor-7 .sec-hero>.e-con-inner{position:relative;top:-36px}
.sec-standalone .elementor-7 svg.sec-summary-icon{width:52px;height:52px}
@media(max-width:767px){
 .sec-standalone .elementor-7 .sec-hero>.e-con-inner{top:-12px}
 .sec-standalone .elementor-7 svg.sec-summary-icon{width:44px;height:44px}
}

/* Gemeinsamer dunkler Kontaktbereich auf sämtlichen Seiten. */
.sec-standalone .elementor-location-footer .sec-footer-cta{display:flex;--display:flex}

/* Kontakt: lesbare Felder und klare Anfrageführung. */
.elementor-136 .elementor-element-fa99873{background:#f7f7f4;border-radius:20px;padding:32px!important;color:#20251e;}
.elementor-136 .elementor-element-367d006 .elementor-heading-title{color:#172019!important;font-size:32px!important;line-height:1.2!important;}
#kontaktformular{color:#20251e;font-size:16px;line-height:1.5;}
#kontaktformular .sec-form-intro{margin:0 0 24px;}
#kontaktformular .sec-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
#kontaktformular label{display:block;color:#20251e;font-size:15px;font-weight:500;}
#kontaktformular label>span{font-weight:400;}
#kontaktformular input:not([type=checkbox]),#kontaktformular select,#kontaktformular textarea{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:7px;padding:12px 14px;background:#fff;color:#172019;border:1px solid #a7afa4;border-radius:8px;font:inherit;min-height:48px;}
#kontaktformular textarea{resize:vertical;}
#kontaktformular input::placeholder,#kontaktformular textarea::placeholder{color:#687065;opacity:1;}
#kontaktformular :is(input,select,textarea,button):focus-visible{outline:3px solid #87a524;outline-offset:3px;}
#kontaktformular .sec-form-wide{grid-column:1/-1;}
#kontaktformular .sec-form-consent{display:flex;gap:10px;align-items:flex-start;margin-top:20px;}
#kontaktformular input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:3px;accent-color:#6f8b15;}
#kontaktformular .sec-form-required{font-size:13px;margin:10px 0 18px;}
#kontaktformular button{border:0;cursor:pointer;font:inherit;font-weight:600;margin:0;}
#kontaktformular button:disabled{opacity:.6;cursor:not-allowed;}
#kontaktformular .sec-form-status{font-size:15px;margin:16px 0;}
#kontaktformular .sec-form-direct{font-size:14px;overflow-wrap:anywhere;}
#kontaktformular a{text-decoration:underline;color:#4f6511;}
@media(max-width:767px){.elementor-136 .elementor-element-fa99873{padding:24px!important;}#kontaktformular .sec-form-grid{grid-template-columns:1fr;}}
.elementor-136 .elementor-element.elementor-element-fae8fa3{align-self:flex-start;}
.elementor-136 .elementor-element.elementor-element-fae8fa3 img{display:block;width:100%;height:auto;object-fit:contain;}

/* Direkte Kontaktinformationen */
.sec-contact-details{padding:72px 24px;background:#fff;color:#172019;}
.sec-contact-details .sec-contact-details-inner{max-width:1120px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px;align-items:start;}
.sec-contact-details .sec-contact-details-intro{min-width:0;}
.sec-contact-details .sec-contact-details-eyebrow{margin:0 0 14px;color:#607b14;font-size:15px;font-weight:500;}
.sec-contact-details h2{margin:0 0 20px;font-size:clamp(28px,3vw,38px);font-weight:500;line-height:1.2;}
.sec-contact-details .sec-contact-details-intro>p:last-child{margin:0;font-size:17px;line-height:1.65;}
.sec-contact-details .sec-contact-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px;margin:0;}
.sec-contact-details .sec-contact-info-grid>div{min-width:0;border-top:1px solid #d9dfcf;padding-top:18px;}
.sec-contact-details .sec-contact-info-grid dt{margin:0 0 8px;font-size:16px;font-weight:600;}
.sec-contact-details .sec-contact-info-grid dd{margin:0;font-size:17px;line-height:1.6;}
.sec-contact-details address{font:inherit;}
.sec-contact-details address span{display:block;}
.sec-contact-details a{color:#4f6511;text-decoration:none;overflow-wrap:anywhere;}
.sec-contact-details a:hover{text-decoration:underline;}
.sec-contact-details a:focus-visible{outline:3px solid #87a524;outline-offset:4px;}
@media(max-width:900px){.sec-contact-details .sec-contact-details-inner{grid-template-columns:1fr;gap:32px;}}
@media(max-width:600px){.sec-contact-details{padding:48px 24px;}.sec-contact-details .sec-contact-info-grid{grid-template-columns:1fr;gap:24px;}}
.elementor-136 .elementor-element.elementor-element-fa99873{background:#f7f7f4!important;background-image:none!important;}
.elementor-136 .elementor-element.elementor-element-fa99873::before{background:none!important;}

/* Kontakt-Hero: Textspalte lässt das Gebäude rechts frei. */
.sec-standalone .elementor-136 .sec-hero .elementor-element-c22006d,
.sec-standalone .elementor-136 .sec-hero .elementor-element-ec2bd41{width:100%;max-width:520px;--container-widget-width:520px;}
.sec-standalone .elementor-136 .sec-hero .elementor-element-c22006d h1{font-size:clamp(40px,3.6vw,56px);line-height:1.18;overflow-wrap:break-word;}
.sec-standalone .elementor-136 .sec-hero .elementor-element-ec2bd41 p{line-height:1.55;margin-bottom:0;}
@media(min-width:768px) and (max-width:1024px){
 .sec-standalone .elementor-136 .sec-hero .elementor-element-c22006d,
 .sec-standalone .elementor-136 .sec-hero .elementor-element-ec2bd41{max-width:480px;}
}
@media(max-width:767px){.sec-standalone .elementor-136 .sec-hero .sec-contact-hero-break{display:none;}}

.sec-map-attribution{font-size:12px;line-height:1.5;margin:8px 0;color:#46503f}.sec-map-attribution a{text-decoration:underline}
