.elementor-1147 .elementor-element.elementor-element-cc0b8d4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1147 .elementor-element.elementor-element-cc0b8d4.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1147 .elementor-element.elementor-element-84d2ce9{--display:flex;--position:fixed;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0;--z-index:10;}.elementor-1147 .elementor-element.elementor-element-84d2ce9:not(.elementor-motion-effects-element-type-background), .elementor-1147 .elementor-element.elementor-element-84d2ce9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}body:not(.rtl) .elementor-1147 .elementor-element.elementor-element-84d2ce9{left:0;}body.rtl .elementor-1147 .elementor-element.elementor-element-84d2ce9{right:0;}.elementor-1147 .elementor-element.elementor-element-e31c04f{--display:flex;--position:fixed;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;bottom:40px;--z-index:40;}.elementor-1147 .elementor-element.elementor-element-e31c04f.e-con{--align-self:center;}body:not(.rtl) .elementor-1147 .elementor-element.elementor-element-e31c04f{right:40px;}body.rtl .elementor-1147 .elementor-element.elementor-element-e31c04f{left:40px;}.elementor-1147 .elementor-element.elementor-element-e64653e.elementor-element{--align-self:center;}.elementor-1147 .elementor-element.elementor-element-e64653e{text-align:center;}.elementor-1147 .elementor-element.elementor-element-4b9c750{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1147 .elementor-element.elementor-element-606173c{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;--margin-top:0;--margin-bottom:0;--margin-left:auto;--margin-right:auto;--padding-top:66px;--padding-bottom:66px;--padding-left:66px;--padding-right:66px;--z-index:30;}.elementor-1147 .elementor-element.elementor-element-606173c:not(.elementor-motion-effects-element-type-background), .elementor-1147 .elementor-element.elementor-element-606173c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1414148C;}.elementor-1147 .elementor-element.elementor-element-606173c::before, .elementor-1147 .elementor-element.elementor-element-606173c > .elementor-background-video-container::before, .elementor-1147 .elementor-element.elementor-element-606173c > .e-con-inner > .elementor-background-video-container::before, .elementor-1147 .elementor-element.elementor-element-606173c > .elementor-background-slideshow::before, .elementor-1147 .elementor-element.elementor-element-606173c > .e-con-inner > .elementor-background-slideshow::before, .elementor-1147 .elementor-element.elementor-element-606173c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#414141;--background-overlay:'';}.elementor-1147 .elementor-element.elementor-element-92c22d9 .elementor-heading-title{font-family:"museo-sans-condensed", Sans-serif;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-4a710a0 .elementor-heading-title{color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-82d1a0f .elementor-heading-title{color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-39ce158{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1147 .elementor-element.elementor-element-ca41885{font-family:"museo-slab", Sans-serif;font-size:22px;color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-ca41885 a{color:#AFAFAF;}.elementor-1147 .elementor-element.elementor-element-ca41885 a:hover, .elementor-1147 .elementor-element.elementor-element-ca41885 a:focus{color:#696969;}.elementor-1147 .elementor-element.elementor-element-699f906{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1147 .elementor-element.elementor-element-2bedd80{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1147 .elementor-element.elementor-element-2bedd80.e-con{--align-self:stretch;--order:-99999 /* order start hack */;--flex-grow:1;--flex-shrink:0;}.elementor-1147 .elementor-element.elementor-element-48f2240{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-justify-content:initial;--e-filter-item-width:100%;--e-filter-item-flex-grow:1;--e-filter-wrap:nowrap;--e-filter-overflow-x:scroll;--e-filter-item-justify-content:flex-start;--e-filter-space-between:18px;--e-filter-normal-text-color:#FFFFFF;--e-filter-active-text-color:#FFFFFF;--e-filter-item-border-radius:36px 36px 36px 36px;}.elementor-1147 .elementor-element.elementor-element-48f2240 .e-filter-item{font-family:"museo-sans-condensed", Sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:0.5px;padding:9px 19px 9px 19px;}.elementor-1147 .elementor-element.elementor-element-48f2240 .e-filter-item[aria-pressed="true"]{border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-e7f8556{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-1147 .elementor-element.elementor-element-e7f8556 .elementor-icon-wrapper{text-align:start;}.elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-framed .elementor-icon, .elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-framed .elementor-icon, .elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-stacked .elementor-icon:hover{background-color:#000000;}.elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-framed .elementor-icon:hover, .elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-default .elementor-icon:hover{color:#000000;border-color:#000000;}.elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-framed .elementor-icon:hover, .elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-view-default .elementor-icon:hover svg{fill:#000000;}.elementor-1147 .elementor-element.elementor-element-e7f8556 .elementor-icon{font-size:10px;}.elementor-1147 .elementor-element.elementor-element-e7f8556 .elementor-icon svg{height:10px;}.elementor-1147 .elementor-element.elementor-element-72a2353{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1147 .elementor-element.elementor-element-72a2353.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1147 .elementor-element.elementor-element-72a2353 .elementor-icon-wrapper{text-align:end;}.elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-framed .elementor-icon, .elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-framed .elementor-icon, .elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-stacked .elementor-icon:hover{background-color:#000000;}.elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-framed .elementor-icon:hover, .elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-default .elementor-icon:hover{color:#000000;border-color:#000000;}.elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-framed .elementor-icon:hover, .elementor-1147 .elementor-element.elementor-element-72a2353.elementor-view-default .elementor-icon:hover svg{fill:#000000;}.elementor-1147 .elementor-element.elementor-element-72a2353 .elementor-icon{font-size:10px;}.elementor-1147 .elementor-element.elementor-element-72a2353 .elementor-icon svg{height:10px;}.elementor-1147 .elementor-element.elementor-element-8fd1599{--grid-columns:2;--grid-row-gap:14px;width:var( --container-widget-width, 86vw );max-width:86vw;--container-widget-width:86vw;--container-widget-flex-grow:0;--load-more-spinner-color:#FFFFFF;--load-more-button-align:center;--grid-column-gap:14px;}.elementor-1147 .elementor-element.elementor-element-8fd1599 .elementor-button{background-color:#02010100;font-family:"museo-sans-condensed", Sans-serif;text-transform:uppercase;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-radius:20px 20px 20px 20px;padding:9px 19px 9px 19px;}.elementor-1147 .elementor-element.elementor-element-8fd1599 .elementor-button:hover, .elementor-1147 .elementor-element.elementor-element-8fd1599 .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-1147 .elementor-element.elementor-element-8fd1599 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1147 .elementor-element.elementor-element-8fd1599.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-1147 .elementor-element.elementor-element-8fd1599 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1147 .elementor-element.elementor-element-8fd1599 .elementor-button:hover svg, .elementor-1147 .elementor-element.elementor-element-8fd1599 .elementor-button:focus svg{fill:#000000;}.elementor-1147 .elementor-element.elementor-element-6c34184{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1147 .elementor-element.elementor-element-6c34184.e-con{--flex-grow:0;--flex-shrink:0;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1147 .elementor-element.elementor-element-82d1a0f .elementor-heading-title{font-size:35px;}.elementor-1147 .elementor-element.elementor-element-48f2240{--e-filter-wrap:nowrap;--e-filter-overflow-x:scroll;}.elementor-1147 .elementor-element.elementor-element-8fd1599{--grid-columns:1;}}@media(min-width:768px){.elementor-1147 .elementor-element.elementor-element-cc0b8d4{--width:100.694%;}.elementor-1147 .elementor-element.elementor-element-84d2ce9{--width:100vw;}.elementor-1147 .elementor-element.elementor-element-e31c04f{--content-width:auto;}.elementor-1147 .elementor-element.elementor-element-606173c{--width:51.3%;}.elementor-1147 .elementor-element.elementor-element-6c34184{--width:100.694%;}}@media(max-width:767px){.elementor-1147 .elementor-element.elementor-element-e31c04f{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;}.elementor-1147 .elementor-element.elementor-element-e31c04f.e-con{--align-self:center;}.elementor-1147 .elementor-element.elementor-element-e64653e.elementor-element{--align-self:center;}.elementor-1147 .elementor-element.elementor-element-e64653e{text-align:center;}.elementor-1147 .elementor-element.elementor-element-82d1a0f .elementor-heading-title{font-size:30px;}.elementor-1147 .elementor-element.elementor-element-2bedd80{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-1147 .elementor-element.elementor-element-e7f8556.elementor-element{--order:-99999 /* order start hack */;}.elementor-1147 .elementor-element.elementor-element-8fd1599{--grid-columns:1;}}/* Start custom CSS for container, class: .elementor-element-e31c04f *//* =========================================================
   PROJECT LOGO POSITIONING

   Das Logo sitzt exakt mittig zwischen:
   - rechter Kante des Content-Containers
   - rechtem Viewportrand

   Die Logobreite entspricht rund 54 % dieses Freiraums.
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-e31c04f {
    /*
     * Breite des Content-Containers:
     * aktuell 51,3 % des Viewports.
     */
    --project-content-width: 51.3vw;

    /*
     * Verbleibender Freiraum auf einer Seite.
     */
    --project-side-space: calc(
        (100vw - var(--project-content-width)) / 2
    );

    position: fixed;

    /*
     * Mittelpunkt der rechten Freifläche.
     */
    left: calc(
        100vw - (var(--project-side-space) / 2)
    ) !important;

    right: auto !important;
    bottom: 40px;

    /*
     * XD-Verhältnis:
     * Logo ≈ 54 % der rechten Freifläche.
     */
    width: min(
        301px,
        calc(var(--project-side-space) * 0.54)
    ) !important;

    max-width: 301px !important;
    min-width: 0;

    height: auto;

    margin: 0;
    padding: 0;

    transform: translateX(-50%);

    align-items: center;
    z-index: 40;
}

/* Innerer Elementor-Container */
.elementor-1147 .elementor-element.elementor-element-e31c04f > .e-con-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* Logo-Widget */
.elementor-1147 .elementor-element.elementor-element-e31c04f .project-logo {
    width: 100%;
    max-width: none;
    margin: 0;
}

/* Elementor-Widget-Container */
.elementor-1147 .elementor-element.elementor-element-e31c04f .project-logo .elementor-widget-container {
    width: 100%;
    height: auto;
}

/* Logo-Bild */
.elementor-1147 .elementor-element.elementor-element-e31c04f .project-logo img {
    display: block;

    width: 100%;
    max-width: 100%;
    height: auto;

    margin: 0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-39ce158 *//* Text und Icon gehören zum gleichen visuellen Textfluss */
.into {
    display: block !important;
}

/* Das komplette Elementor-Bild-Widget aus dem normalen Layout nehmen */
.into .into-icon {
    float: left;
    width: 24px !important;
    height: 24px !important;
    margin-right: 0.6em;
    margin-bottom: 0.2em;
}

/* Bild selbst */
.into .into-icon img {
    display: block;
    width: 30px;
    height: 30px;
    object-fit: contain;
}

/* Texteditor */
.into .into-text {
    display: block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-606173c *//* =========================================================
   INITIAL PROJECT CONTENT POSITION

   Beim ersten Laden endet der Viewport unmittelbar nach der
   Auftraggeber-Zeile. Die Headline beginnt unterhalb des
   sichtbaren Bereichs.
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-606173c {
    margin-top: calc(
        100svh
        - 130px
        - clamp(23.94px, 1.8468vw, 42.18px)
    ) !important;
}


/* =========================================================
   PROJECT HEADER TYPOGRAPHY

   Farben werden ausschließlich in Elementor beziehungsweise
   über die dort hinterlegten ACF-Dynamic-Tags gesteuert.
   ========================================================= */

/* Projekt-Tags / Pre-Preheadline */
.elementor-1147 .elementor-element.elementor-element-606173c .project-tags {
    margin: 0 0 12px;
    opacity: 0.65;
}

.elementor-1147 .elementor-element.elementor-element-606173c .project-tags,
.elementor-1147 .elementor-element.elementor-element-606173c .project-tags .elementor-heading-title,
.elementor-1147 .elementor-element.elementor-element-606173c .project-tags .project-terms-list {
    font-family:
        "museo-sans-condensed",
        sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Inline-Farbe des Projekt-Terms-Shortcodes neutralisieren */
.elementor-1147 .elementor-element.elementor-element-606173c .project-tags .project-terms-list {
    color: inherit !important;
}

/* Auftraggeber / Preheadline */
.elementor-1147 .elementor-element.elementor-element-606173c .project-client {
    margin: 0 0 20px;
}

.elementor-1147 .elementor-element.elementor-element-606173c .project-client,
.elementor-1147 .elementor-element.elementor-element-606173c .project-client .elementor-heading-title {
    font-family:
        "museo-slab",
        serif;
    font-size: clamp(21px, 1.62vw, 37px);
    font-weight: 300;
    line-height: 1.14;
    letter-spacing: 0.015em;
    text-transform: uppercase;
}

/* Projekt-Headline */
.elementor-1147 .elementor-element.elementor-element-606173c .project-title {
    margin: 0 0 28px;
}

.elementor-1147 .elementor-element.elementor-element-606173c .project-title .elementor-heading-title {
    margin: 0;
    font-family:
        "museo-sans-display",
        sans-serif;
    font-size: clamp(48px, 3.71vw, 85px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0.015em;
    text-transform: none;
}


/* =========================================================
   PROJECT INTRO ICON
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-606173c .project-intro-row {
    display: flow-root;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Shortcode-Widget mit dem projektspezifischen Icon */
.elementor-1147 .elementor-element.elementor-element-606173c .project-intro-icon-widget {
    float: left;
    width: clamp(24px, 1.16vw, 27px);
    margin:
        0.18em
        clamp(12px, 0.7vw, 16px)
        0
        0;
}

/* Leere Icon-Felder erzeugen keinen Abstand */
.elementor-1147 .elementor-element.elementor-element-606173c .project-intro-icon-widget:not(
    :has(.project-intro-icon)
) {
    display: none;
}

.elementor-1147 .elementor-element.elementor-element-606173c .project-intro-icon-widget,
.elementor-1147 .elementor-element.elementor-element-606173c .project-intro-icon-widget .elementor-widget-container,
.elementor-1147 .elementor-element.elementor-element-606173c .project-intro-icon-widget .elementor-shortcode {
    line-height: 0;
}

/*
 * Die SVG-Datei dient als Maske.
 * Ihre sichtbare Farbe stammt aus projektfarbe_akzent.
 */
.elementor-1147 .elementor-element.elementor-element-606173c .project-intro-icon {
    display: block;
    width: 100%;
    aspect-ratio: 26.622 / 24.589;

    background-color: var(--project-accent);

    -webkit-mask-image:
        var(--project-intro-icon-image);
    mask-image:
        var(--project-intro-icon-image);

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}


/* =========================================================
   PROJECT INTRO
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-606173c .project-intro {
    margin: 0;
}

.elementor-1147 .elementor-element.elementor-element-606173c .project-intro,
.elementor-1147 .elementor-element.elementor-element-606173c .project-intro p {
    font-family:
        "museo-slab",
        serif;
    font-size: clamp(17px, 1.31vw, 30px);
    font-weight: 500;
    line-height: clamp(28px, 1.75vw, 40px);
    letter-spacing: -0.008em;
}

.elementor-1147 .elementor-element.elementor-element-606173c .project-intro p {
    margin: 0 0 28px;
}

.elementor-1147 .elementor-element.elementor-element-606173c .project-intro p:last-child {
    margin-bottom: 0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4b9c750 *//* =========================================================
   PROJECT CONTENT GLASS

   Die Farbe stammt dynamisch aus dem in Elementor
   hinterlegten ACF-Hintergrund-Overlay.

   Die Overlay-Deckkraft wird ausschließlich durch das
   globale Project-to-Portfolio-System gesteuert.
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-4b9c750 .project-content {
    position: relative;
    isolation: isolate;

    background: transparent !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.07);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.07),

        0 24px 70px
        rgba(0, 0, 0, 0.18);

    -webkit-backdrop-filter:
        blur(28px)
        saturate(120%);

    backdrop-filter:
        blur(28px)
        saturate(120%);
}

/* =========================================================
   CASE CONTENT TYPOGRAPHY

   Gilt zentral für:
   - Zwischenüberschriften 1–6
   - Copy 1–6

   Farben werden ausschließlich in Elementor beziehungsweise
   über die dort hinterlegten ACF-Dynamic-Tags gesteuert.
   ========================================================= */

/* Übergang vom Slider zum zweiten Content-Container */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .project-showcase + .project-content {
    padding-top: 40px;
}

/* Zwischenüberschriften */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-subheading {
    margin: 64px 0 16px;
}

/*
 * Die erste Überschrift des zweiten Content-Containers
 * erhält keinen zusätzlichen oberen Außenabstand.
 */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .project-content
> .case-subheading:first-child {
    margin-top: 0;
}

.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-subheading
.elementor-heading-title {
    margin: 0;

    font-family:
        "museo-sans-display",
        sans-serif;

    font-size: 22px;
    font-weight: 900;
    line-height: 30px;

    letter-spacing: 0;
    text-transform: none;
}

/* Fließtext */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy {
    margin: 0 0 40px;
}

.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy,
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy p,
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy li {
    font-family:
        "museo-sans",
        sans-serif;

    font-size:
        clamp(
            16px,
            0.96vw,
            22px
        );

    font-weight: 500;

    line-height:
        clamp(
            28px,
            1.4vw,
            32px
        );

    letter-spacing: -0.008em;
}

.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy p {
    margin: 0 0 18px;
}

.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy p:last-child {
    margin-bottom: 0;
}

/* Listen innerhalb der Projekttexte */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy ul,
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy ol {
    margin: 0 0 18px;
    padding-left: 1.25em;
}

.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy li {
    margin: 0 0 8px;
}

.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy li:last-child {
    margin-bottom: 0;
}

/* Links innerhalb der Projekttexte */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy a {
    color: inherit;

    text-decoration-line:
        underline;

    text-decoration-thickness:
        1px;

    text-underline-offset:
        0.18em;
}

.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy a:hover,
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-copy a:focus-visible {
    color: inherit;
}

/* =========================================================
   CASE GRIDS

   Gilt zentral für Raster 1–6.
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 16px;

    width: 100%;

    margin: 0;
    padding: 0;
}

/* Vollständig leere Raster erzeugen keine Resthöhe. */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-grid:not(
    :has(img)
) {
    display: none;
}

/* Jede vorhandene Bildkachel ist quadratisch. */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-grid
> .case-grid-image {
    width: 100%;
    min-width: 0;

    aspect-ratio: 1 / 1;

    overflow: hidden;
}

/* Elementor-Bildcontainer füllt die Kachel. */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-grid
> .case-grid-image
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

/* Bild füllt das Quadrat vollständig. */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-grid
> .case-grid-image
img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

/* Nur ein vorhandenes Bild: über beide Spalten. */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-grid
> .case-grid-image:only-child {
    grid-column: 1 / -1;
}

/*
 * Genau drei vorhandene Bilder:
 * Das dritte Bild läuft über beide Spalten.
 */
.elementor-1147 .elementor-element.elementor-element-4b9c750 .case-grid
> .case-grid-image:nth-child(3):last-child {
    grid-column: 1 / -1;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cc0b8d4 *//* =========================================================
   PROJECT GLASS CONTENT
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-content {
    background: color-mix(
        in srgb,
        var(--project-background) 72%,
        transparent
    );

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);

    color: var(--project-contrast);
}


/* =========================================================
   PROJECT HERO
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-hero-bg {
    background-position:
        var(--project-hero-x)
        var(--project-hero-y);
}

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background: linear-gradient(
        to bottom,
        transparent 55%,
        rgba(0, 0, 0, 0.25) 75%,
        rgba(0, 0, 0, 0.75) 92%,
        #000 100%
    );
}

@media (max-width: 767px) {
    .elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-hero-bg {
        background-image: var(--project-hero-mobile);
    }
}


/* =========================================================
   FIXED PROJECT COLOR LAYER

   Die Farbe stammt aus project-contrast.
   Die Deckkraft wird abhängig von der Scrollposition
   durch das Showcase-Skript gesteuert.
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-color-layer {
    background: var(--project-contrast);
    opacity: var(--project-color-opacity, 0);
    pointer-events: none;
    will-change: opacity;
}


/* =========================================================
   PROJECT SHOWCASE
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-showcase {
    position: relative;
    width: 100vw;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    z-index: auto;
}


/* =========================================================
   SHOWCASE FOREGROUND
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-showcase > .e-n-carousel,
.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-showcase > .swiper {
    position: relative;
    z-index: 50;
}


/* =========================================================
   LEGACY / OPTIONAL CUSTOM SHOWCASE STRUCTURE
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .project-showcase-track {
    position: sticky;
    top: 0;

    display: flex;
    flex-wrap: nowrap;

    width: max-content;
    height: 100vh;

    margin: 0;
    padding: 0;

    overflow: hidden;
    will-change: transform;
    z-index: 50;
}

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .showcase-slide {
    flex: 0 0 100vw;

    width: 100vw;
    min-width: 100vw;

    height: 100vh;
    min-height: 100vh;

    margin: 0;
    padding: 0;

    overflow: hidden;
}

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .showcase-slide > .elementor-widget-image,
.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .showcase-slide .elementor-widget-container {
    width: 100%;
    height: 100%;
}

.elementor-1147 .elementor-element.elementor-element-cc0b8d4 .showcase-slide img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6c34184 *//* =========================================================
   PROJECT GLASS CONTENT
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-6c34184 .project-content {
    background: color-mix(
        in srgb,
        var(--project-background) 72%,
        transparent
    );

    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);

    color: var(--project-contrast);
}


/* =========================================================
   PROJECT HERO
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-6c34184 .project-hero-bg {
    background-position:
        var(--project-hero-x)
        var(--project-hero-y);
}

.elementor-1147 .elementor-element.elementor-element-6c34184 .project-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background: linear-gradient(
        to bottom,
        transparent 55%,
        rgba(0, 0, 0, 0.25) 75%,
        rgba(0, 0, 0, 0.75) 92%,
        #000 100%
    );
}

@media (max-width: 767px) {
    .elementor-1147 .elementor-element.elementor-element-6c34184 .project-hero-bg {
        background-image: var(--project-hero-mobile);
    }
}


/* =========================================================
   FIXED PROJECT COLOR LAYER

   Die Farbe stammt aus project-contrast.
   Die Deckkraft wird abhängig von der Scrollposition
   durch das Showcase-Skript gesteuert.
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-6c34184 .project-color-layer {
    background: var(--project-contrast);
    opacity: var(--project-color-opacity, 0);
    pointer-events: none;
    will-change: opacity;
}


/* =========================================================
   PROJECT SHOWCASE
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-6c34184 .project-showcase {
    position: relative;
    width: 100vw;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    z-index: auto;
}


/* =========================================================
   SHOWCASE FOREGROUND
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-6c34184 .project-showcase > .e-n-carousel,
.elementor-1147 .elementor-element.elementor-element-6c34184 .project-showcase > .swiper {
    position: relative;
    z-index: 50;
}


/* =========================================================
   LEGACY / OPTIONAL CUSTOM SHOWCASE STRUCTURE
   ========================================================= */

.elementor-1147 .elementor-element.elementor-element-6c34184 .project-showcase-track {
    position: sticky;
    top: 0;

    display: flex;
    flex-wrap: nowrap;

    width: max-content;
    height: 100vh;

    margin: 0;
    padding: 0;

    overflow: hidden;
    will-change: transform;
    z-index: 50;
}

.elementor-1147 .elementor-element.elementor-element-6c34184 .showcase-slide {
    flex: 0 0 100vw;

    width: 100vw;
    min-width: 100vw;

    height: 100vh;
    min-height: 100vh;

    margin: 0;
    padding: 0;

    overflow: hidden;
}

.elementor-1147 .elementor-element.elementor-element-6c34184 .showcase-slide > .elementor-widget-image,
.elementor-1147 .elementor-element.elementor-element-6c34184 .showcase-slide .elementor-widget-container {
    width: 100%;
    height: 100%;
}

.elementor-1147 .elementor-element.elementor-element-6c34184 .showcase-slide img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}/* End custom CSS */