.elementor-kit-6{--e-global-color-primary:#151515;--e-global-color-secondary:#242424;--e-global-color-text:#181818;--e-global-color-accent:#C47A44;--e-global-color-footer-dark:#0D0D0D;--e-global-color-bg-warm:#F4F1EB;--e-global-color-white:#FFFFFF;--e-global-color-text-gray:#4F4F4F;--e-global-color-text-light:#BEBEBE;--e-global-color-line-light:#D8D3CA;--e-global-color-line-dark:#353535;--e-global-typography-primary-font-family:"Manrope";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:1.2px;--e-global-typography-lead-text-font-family:"Inter";--e-global-typography-lead-text-font-size:19px;--e-global-typography-lead-text-font-weight:400;--e-global-typography-navigation-font-family:"Inter";--e-global-typography-navigation-font-size:15px;--e-global-typography-navigation-font-weight:500;--e-global-typography-eyebrow-font-family:"Inter";--e-global-typography-eyebrow-font-size:13px;--e-global-typography-eyebrow-font-weight:600;--e-global-typography-eyebrow-text-transform:uppercase;--e-global-typography-eyebrow-letter-spacing:1.5px;--e-global-typography-button-text-font-family:"Inter";--e-global-typography-button-text-font-size:16px;--e-global-typography-button-text-font-weight:600;color:#4F4F4F;font-family:"Inter", Sans-serif;font-size:17px;font-weight:400;line-height:1.6em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#C47A44;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;border-radius:4px 4px 4px 4px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#A8672E;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#C47A44;}.elementor-kit-6 a:hover{color:#A8672E;}.elementor-kit-6 h1{color:#181818;font-family:"Manrope", Sans-serif;font-size:74px;font-weight:700;line-height:1.1em;}.elementor-kit-6 h2{color:#181818;font-family:"Manrope", Sans-serif;font-size:50px;font-weight:700;line-height:1.15em;}.elementor-kit-6 h3{color:#181818;font-family:"Manrope", Sans-serif;font-size:27px;font-weight:600;line-height:1.25em;}.elementor-kit-6 label{color:#181818;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{color:#181818;accent-color:#C47A44;background-color:#F4F1EB;}.elementor-kit-6 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea:focus,.elementor-kit-6 .elementor-field-textual:focus{accent-color:#C47A44;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{font-size:16px;}.elementor-kit-6 h1{font-size:56px;}.elementor-kit-6 h2{font-size:40px;}.elementor-kit-6 h3{font-size:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{font-size:16px;}.elementor-kit-6 h1{font-size:44px;}.elementor-kit-6 h2{font-size:34px;}.elementor-kit-6 h3{font-size:22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Onepage-Anker Desktop: Headerhoehe (130px) + gewuenschter sichtbarer Abstand (50px) - Section-padding-top (100px) = 80px */
#leistungen,
#projekte,
#ueber-bsm,
#ablauf,
#faq,
#kontakt {
	scroll-margin-top: 80px;
}

/* Onepage-Anker Desktop #home: Headerhoehe (130px) + gewuenschter sichtbarer Abstand (50px) - Hero-padding-top (120px) = 60px */
#home {
	scroll-margin-top: 60px;
}

/* BSM Motion Design */
.bsm-portrait {
    overflow: hidden;
    border-radius: 12px;
}

.bsm-portrait img {
    border-radius: 12px;
}

.bsm-project-image {
    overflow: hidden;
    border-radius: 10px;
}

.bsm-project-image img {
    border-radius: 10px;
    transition: transform 700ms cubic-bezier(.22,.61,.36,1);
}

.bsm-project-image:hover img {
    transform: scale(1.018);
}

.bsm-motion-accent {
    position: relative;
    padding-left: 18px;
}

.bsm-motion-accent::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    height: auto;
    background: #C47A44;
    border-radius: 3px;
    box-shadow: 0 0 14px rgba(196, 122, 68, 0.28);
    transform: scaleY(.35);
    transform-origin: center center;
    opacity: .70;
    animation: bsmAccentPulse 4.8s ease-in-out infinite;
}

@keyframes bsmAccentPulse {
    0%,
    100% {
        transform: scaleY(.35);
        opacity: .70;
    }

    50% {
        transform: scaleY(1);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bsm-motion-accent::before {
        animation: none;
        transform: scaleY(1);
    }

    .bsm-project-image img {
        transition: none;
    }

    .bsm-project-image:hover img {
        transform: none;
    }

    .bsm-service-accent::after {
        animation: none;
        transform: scaleX(1);
    }

    .bsm-contact-accent::after {
        animation: none;
        transform: scaleX(1);
    }
}


/* BSM Motion Design 2 - Leistungen, Ablauf, Kontakt */
.bsm-service-accent {
    position: relative;
}

.bsm-service-accent::after {
    content: "";
    display: block;
    width: 52px;
    height: 2px;
    margin-top: 11px;
    background: #C47A44;
    transform: scaleX(0);
    transform-origin: left center;
}

/* Linie startet erst, sobald Elementor die Entrance-Animation der Karte ausgeloest hat (Klasse "animated"),
   damit sie sichtbar von links nach rechts waechst statt schon unsichtbar vorab fertig zu sein. */
.elementor-element.animated .bsm-service-accent::after {
    animation: bsmServiceLine 1.2s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes bsmServiceLine {
    to {
        transform: scaleX(1);
    }
}

.bsm-contact-accent {
    position: relative;
}

.bsm-contact-accent::after {
    content: "";
    display: block;
    width: 160px;
    height: 3px;
    margin-top: 14px;
    background: #C47A44;
    border-radius: 2px;
    box-shadow: 0 0 12px rgba(196,122,68,.22);
    transform: scaleX(.35);
    transform-origin: center center;
    animation: bsmContactPulse 5.4s ease-in-out infinite;
}

@keyframes bsmContactPulse {
    0%,
    100% {
        transform: scaleX(.35);
        opacity: .7;
    }

    50% {
        transform: scaleX(1);
        opacity: 1;
    }
}
/* BSM Motion Design: Entrance-Animation strikt Desktop-only.
   Hinweis: Ein leerer Tablet/Mobile-Animation-Override wird von Elementor beim Rendern
   verworfen (kein eigener Wert), daher zusaetzliche CSS-Absicherung gegen Vererbung. */
@media (max-width: 1024px) {
    .elementor-element-002974b.elementor-invisible,
    .elementor-element-11fdfe8.elementor-invisible,
    .elementor-element-8e551b3.elementor-invisible,
    .elementor-element-c0bccf5.elementor-invisible,
    .elementor-element-aa68d62.elementor-invisible,
    .elementor-element-41a60c8.elementor-invisible,
    .elementor-element-66582f4.elementor-invisible,
    .elementor-element-9d2f6e1.elementor-invisible,
    .elementor-element-5ffa9e3.elementor-invisible,
    .elementor-element-647a1dd.elementor-invisible,
    .elementor-element-894a11e.elementor-invisible,
    .elementor-element-9ba1534.elementor-invisible {
        opacity: 1;
        visibility: visible;
    }
    .elementor-element-002974b.animated,
    .elementor-element-11fdfe8.animated,
    .elementor-element-8e551b3.animated,
    .elementor-element-c0bccf5.animated,
    .elementor-element-aa68d62.animated,
    .elementor-element-41a60c8.animated,
    .elementor-element-66582f4.animated,
    .elementor-element-9d2f6e1.animated,
    .elementor-element-5ffa9e3.animated,
    .elementor-element-647a1dd.animated,
    .elementor-element-894a11e.animated,
    .elementor-element-9ba1534.animated {
        animation: none !important;
    }

    /* Neue dekorative Kupferlinien (Leistungen/Kontakt) bleiben auf Tablet/Smartphone unveraendert = nicht vorhanden */
    .bsm-service-accent::after,
    .bsm-contact-accent::after {
        display: none;
    }
}

/* BSM Motion Design: Leistungen-Bild Rundung (Desktop, Tablet, Smartphone) */
.bsm-leistungen-image {
    overflow: hidden;
    border-radius: 15px;
}

.bsm-leistungen-image img {
    display: block;
    width: 100%;
    border-radius: 15px;
}/* End custom CSS */