/* mindmelt Boost - eigene Schriftart, unabhaengig vom Standard-Theme */
/* Task 1396: Schriften lokal ausgeliefert statt vom Google-Fonts-CDN (DSGVO: keine IP-Übertragung an Google) */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/webfonts/SpaceGrotesk-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/webfonts/SpaceGrotesk-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/webfonts/SpaceGrotesk-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/webfonts/SpaceGrotesk-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/webfonts/WorkSans-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/webfonts/WorkSans-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/webfonts/WorkSans-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/webfonts/WorkSans-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/webfonts/WorkSans-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/webfonts/WorkSans-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

body, p, li, .mm-text--sm, .mm-text--md {
  font-family: 'Work Sans', Arial, sans-serif;
}

h1, h2, h3, .medium-heading, .mm-text--lg, .mm-text--xl {
  font-family: 'Space Grotesk', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.anim1, .anim5, .anim2, .anim3 {opacity: 0;}
.anim1.animated {animation-name: fromup; animation-duration: 0.5s; animation-delay: 0.1s;animation-fill-mode: both;}
.anim5.animated {animation-name: fromdown; animation-duration: 0.5s; animation-delay: 0.1s;animation-fill-mode: both;  }
.anim2.animated {animation-name: fromright; animation-duration: 0.5s; animation-delay: 0.1s; animation-fill-mode: both; }
.anim3.animated {animation-name: fromleft; animation-duration: 0.5s; animation-delay: 0.1s; animation-fill-mode: both; }

@keyframes fromup {0% {opacity:0; transform: translatey(80px);} 100% {opacity:1; transform: none;}}
@keyframes fromdown {0% {opacity:0; transform: translatey(-80px);} 100% {opacity:1; transform: none;}}
@keyframes fromright {0% {opacity:0; transform: translatex(50px);} 100% {opacity:1; transform: none;}}
@keyframes fromleft {0% {opacity:0; transform: translatex(-50px);} 100% {opacity:1; transform: none;}}

.anim4.animated {animation-name: alpha; animation-duration: 0.5s; animation-delay: 0s;animation-fill-mode: both; }
.anim13.animated {animation-name: alpha; animation-duration: 0.75s; animation-delay: 0.25s;animation-fill-mode: both; }
.anim14.animated {animation-name: alpha; animation-duration: 0.1s; animation-delay: 0.5s;animation-fill-mode: both; }

@keyframes alpha {0% {opacity:0;} 100% {opacity:1;}}

.anim4a.animated {animation-name: fadefromout; animation-duration: 1s; animation-fill-mode: both; }
.anim4b.animated {animation-name: fadefromin; animation-duration: 1s; animation-fill-mode: both; } 

@keyframes fadefromout {0% {opacity:0; transform: scale(1.08);} 100% {opacity:1; transform: scale(1);}}
@keyframes fadefromin {0% {opacity:0; transform: scale(0.85);} 100% {opacity:1; transform: scale(1);}}

.anim6.animated {animation-name: zoomInLeft; animation-duration: 1s; } 
.anim7.animated {animation-name: zoomInRight; animation-duration: 1s; } 
.anim8.animated {animation-name: zoomInUp; animation-duration: 1s; }

@keyframes zoomInLeft {0% {opacity: 0; transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);} 60% {opacity: 1; transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);  } 100% {opacity:1;transform: none;}}
@keyframes zoomInRight {0% {opacity: 0; transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);  }  60% {opacity: 1;  transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);   animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);  } 100% {opacity:1;transform: none;}}
@keyframes zoomInUp {  0% {  opacity: 0;   transform: scale3d(.1, .1, .1) translate3d(0, -500px, 0);  animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);  }  60% {  opacity: 1;  transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);  animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);  } 100% {opacity:1;transform: none;}}

.anim9.animated {animation-name: flipInY; animation-duration: 1s; animation-fill-mode: both;} 
.anim10.animated {animation-name: flipInX; animation-duration: 1s; animation-fill-mode: both;} 
.anim11.animated {animation-name: pulse; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 2; } 
.anim12.animated {animation-name: tada; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 1;} 
.anim15.animated {animation-name: tada2; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 3;} 
.anim11a.animated {animation-name: pulse2; animation-duration: 0.3s; animation-fill-mode: both; animation-iteration-count: 5; animation-delay: 0.5s;} 
.anim12a.animated {animation-name: tada2; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 1; animation-delay: 0.5s;} 
.anim12b.animated {animation-name: swing; animation-duration: 0.5s; animation-fill-mode: both; animation-iteration-count: 1; animation-delay: 0.5s;} 
.anim12c.animated {animation-name: bounce; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 2; animation-delay: 0.5s;} 
.anim12d.animated {animation-name: shake; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 1; animation-delay: 1s;} 
.anim18.animated {animation-name: bounceIn; animation-duration: 1s; animation-fill-mode: both;} 
.anim19.animated {animation-name: alphapulse; animation-duration: 5s; animation-fill-mode: both; animation-iteration-count: infinite; animation-timing-function: Ease-in-out;} 
.anim19a.animated {animation-name: alphapulse2; animation-duration: 4.5s; animation-fill-mode: both; animation-iteration-count: infinite; animation-timing-function: Ease-in-out;} 
.anim19b.animated {animation-name: alphapulse3; animation-duration: 10s; animation-fill-mode: both; animation-iteration-count: infinite; } 
.anim20 {transform: rotate3d(0, 0, 1, -7deg);}
.anim20.animated {animation-name: rotateIn; animation-duration: 0.4s; animation-fill-mode: both; animation-iteration-count: 1; ; animation-delay: 0.5s;} 
.anim21.animated {animation-name: flicker-in; animation-duration: 2s; animation-fill-mode: both; animation-iteration-count: 1;} 
.anim22.animated {animation: shadow-inset-br 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;z-index: 10;}
.anim23.animated {animation-name: blur; animation-duration: 1.2s; animation-fill-mode: forwards; }
.anim24.animated {animation: verbiegen 1800ms cubic-bezier(0.190, 1.000, 0.220, 1.000), color 100ms linear;}
.anim25.animated {animation: verbiegen2 1800ms cubic-bezier(0.190, 1.000, 0.220, 1.000), color 100ms linear;}
.kenburns {animation: kenburns-top 5s ease-out both; overflow: hidden;
}

@keyframes verbiegen2 {0% {opacity:0;transform:translate3d(100px,120px,0) scale(0.8) rotate(12deg) skew(20deg)} 100% {opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0deg) skew(0deg);}}
@keyframes verbiegen {0% {opacity:0;transform:translate3d(-100px,120px,0) scale(0.8) rotate(-12deg) skew(-20deg)} 100% {opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0deg) skew(0deg);}}
@keyframes blur {0% {filter: blur(12px);} 100% {filter: blur(0px);}}

@keyframes bounce {  0%, 20%, 53%, 80%, 100% {  transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);  transform: translate3d(0,0,0);  }  40%, 43% {  transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);  transform: translate3d(0, -30px, 0);  }  70% {  transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
  transform: translate3d(0, -15px, 0);  }  90% { transform: translate3d(0,-4px,0); } 100% {opacity:1;transform: none;}}
@keyframes flipInX {  0% { opacity:0; transform: perspective(400px) rotate3d(1, 0, 0, 90deg);  transition-timing-function: ease-in;  opacity: 0;
  }  40% {  transform: perspective(400px) rotate3d(1, 0, 0, -20deg);  transition-timing-function: ease-in;  }  60% {  transform: perspective(400px) rotate3d(1, 0, 0, 10deg);  opacity: 1;  }  80% {  transform: perspective(400px) rotate3d(1, 0, 0, -5deg);  }
  100% { transform: perspective(400px);opacity:1; }} 
@keyframes flipInY {  0% { opacity:0; transform: perspective(400px) rotate3d(0, 1, 0, 90deg);  transition-timing-function: ease-in;  opacity: 0;
  }  40% {  transform: perspective(400px) rotate3d(0, 1, 0, -20deg);  transition-timing-function: ease-in;  }  60% {  transform: perspective(400px) rotate3d(0, 1, 0, 10deg);  opacity: 1;  }  80% {  transform: perspective(400px) rotate3d(0, 1, 0, -5deg);  }
  100% {  transform: perspective(400px); opacity:1;}} 
@keyframes pulse_save {  0% {  transform: scale3d(1, 1, 1); opacity: 0; } 0% {  transform: scale3d(1, 1, 1); opacity: 1; } 50% {  transform: scale3d(1.05, 1.05, 1.05);  }  100% {  transform: scale3d(1, 1, 1);  opacity: 1; }  } 
@keyframes pulse { from { -webkit-transform: scale(1); transform: scale(1); -webkit-transform-origin: center center; transform-origin: center center; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 10% { -webkit-transform: scale(0.91); transform: scale(0.91); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 17% { -webkit-transform: scale(0.98); transform: scale(0.98); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 33% { -webkit-transform: scale(0.87); transform: scale(0.87); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 45% { -webkit-transform: scale(1); transform: scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } }
@keyframes pulse2 {  0% {  transform: scale3d(1, 1, 1); opacity: 1; }  50% {  transform: scale3d(1.05, 1.05, 1.05);  }  100% {  transform: scale3d(1, 1, 1);  opacity: 1; }  } 
@keyframes tada {  0% {  transform: scale3d(1, 1, 1); opacity: 0; }  10%, 20% {  transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -0.5deg);  }  40%, 60% {  transform: scale3d(1.025, 1.025, 1.025) rotate3d(0, 0, 1, 0.5deg);  }  50%, 75% {  transform: scale3d(1.025, 1.025, 1.025) rotate3d(0, 0, 1, -0.5deg);  }  100% {  transform: scale3d(1, 1, 1); ; opacity: 1;   }} 
@keyframes tada2 {  0% {  transform: scale3d(1, 1, 1); opacity: 1;  }  10%, 20% {  transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -0.5deg);  }  30%, 50%, 70%, 90% {  transform: scale3d(1.025, 1.025, 1.025) rotate3d(0, 0, 1, 0.5deg);  }  40%, 60%, 80% {  transform: scale3d(1.025, 1.025, 1.025) rotate3d(0, 0, 1, -0.5deg);  }  100% {  transform: scale3d(1, 1, 1); ; opacity: 1;   }} 
@keyframes swing { 20% { transform: rotate3d(0, 0, 1, 8deg);}40% {transform: rotate3d(0, 0, 1, -5deg);} 60% {transform: rotate3d(0, 0, 1, 3deg); } 80% {transform: rotate3d(0, 0, 1, -3deg); }100% { transform: rotate3d(0, 0, 1, 0deg); } }
@keyframes bounce {0%, 20%, 53%, 80%, 100% {transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);transform: translate3d(0,0,0);}40%, 43% {
  transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
  transform: translate3d(0, -30px, 0);} 70% {transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);transform: translate3d(0, -15px, 0);} 90% { -webkit-transform: translate3d(0,-4px,0); transform: translate3d(0,-4px,0);}} 
@keyframes bounceIn {0%, 20%, 40%, 60%, 80%, 100% {transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);}0% {opacity: 0;transform: scale3d(.3, .3, .3);}20% {transform: scale3d(1.1, 1.1, 1.1);} 40% {transform: scale3d(.9, .9, .9);}60% {opacity: 1;transform: scale3d(1.03, 1.03, 1.03);} 80% {transform: scale3d(.97, .97, .97);}100% {opacity: 1;transform: scale3d(1, 1, 1);}}
@keyframes shake {0%, 100% {transform: translate3d(0, 0, 0);} 10%, 30%, 50%, 70%, 90% {transform: translate3d(-10px, 0, 0);}20%, 40%, 60%, 80% {transform: translate3d(10px, 0, 0);}} 
@keyframes alphapulse {  0% { opacity: 0; }  50% {  opacity: 1; }  100% { opacity: 0; } }
@keyframes alphapulse2 {  0% { opacity: 0; }  20%, 80% {  opacity: 1; }  100% { opacity: 0; } }
@keyframes alphapulse3 {  0% { opacity: 0; }  40%, 60% {  opacity: 1; }  100% { opacity: 0; } }
@keyframes rotateIn {  0% {  transform-origin: center;  transform: rotate3d(0, 0, 1, -7deg); }  100% {  transform-origin: center;    transform: none; }}
@keyframes flicker-in { 0% { opacity: 0; } 10% { opacity: 0; } 10.1% { opacity: 1; } 10.2% { opacity: 0; } 20% { opacity: 0; } 20.1% { opacity: 1; } 20.6% { opacity: 0; } 30% { opacity: 0; } 30.1% { opacity: 1; } 30.5% { opacity: 1; } 30.6% { opacity: 0; } 45% { opacity: 0; } 45.1% { opacity: 1; } 50% { opacity: 1; } 55% { opacity: 1; } 55.1% { opacity: 0; } 57% { opacity: 0; } 57.1% { opacity: 1; } 60% { opacity: 1; } 60.1% { opacity: 0; } 65% { opacity: 0; } 65.1% { opacity: 1; } 75% { opacity: 1; } 75.1% { opacity: 0; } 77% { opacity: 0; } 77.1% { opacity: 1; } 85% { opacity: 1; } 85.1% { opacity: 0; } 86% { opacity: 0; } 86.1% { opacity: 1; } 100% { opacity: 1; } }
@keyframes shadow-inset-br { 0% { box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0);}  100% { box-shadow: inset -6px -6px 14px -6px rgba(0, 0, 0, 0.5);  }}
@keyframes kenburns-top { 0% { transform: scale(1) translateY(0); transform-origin: 50% 16%; } 100% { transform: scale(1.25) translateY(-15px); transform-origin: top; }}

.embed-container {
  position: relative; 
  padding-bottom: 56.25%; /* ratio 16x9 */
  height: 0; 
  overflow: hidden; 
  width: 100%;
  height: auto;
}
.embed-container iframe {
  position: absolute; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
}

/* ratio 4x3 */
.embed-container.ratio4x3 {
  padding-bottom: 75%;
}

header .container {	
    position:relative;	
}

#languages {
    position:absolute;
    top:20px;
    right:0px;
    visibility: hidden;
}

#languages ul.level1 {
    margin:0px;
    padding:0px 10px;
    background:url(../images/languages.png) right 10px no-repeat rgba(255,255,255,0.75);	;	
}

#languages li {
    list-style:none;	
}

#languages ul.level2 {
    margin:0px;
    padding:0px 0px 9px 0px;
    display:none;
}

#languages li:hover ul.level2 {
    display:block;	
}

#languages a {
    display:block;
    width:25px;
    height:22px;	
    margin-bottom:7px;
}

#languages .clang-de { 
    background:url(../images/clang-de.png);
}

#languages .clang-en { 
    background:url(../images/clang-en.png);
}

#languages .clang-fr { 
    background:url(../images/clang-fr.png);
}

#languages .clang-es { 
    background:url(../images/clang-es.png);
}

#languages .clang-ru { 
    background:url(../images/clang-ru.png);
}

#languages .clang-cn { 
    background:url(../images/clang-cn.png);
}

.pt-60 {
    padding-top: 60px;
}

.pt-200 {
    padding-top: 200px;
}
.pb-200 {
    padding-bottom: 200px;
}
.pb-60 {
    padding-bottom: 60px;
}
.pt-40 {
    padding-top: 40px;
}
.pb-40 {
    padding-bottom: 40px;
}
.ptb-6020 {
    padding-top: 60px;
    padding-bottom: 20px;
}
.pb-20 {
	padding-top: 40px;
    padding-bottom: 20px;
}
.pt-0 {
    padding-top: 0px;
}
.pbt-40 {
	padding-top: 40px;
    padding-bottom: 40px;
}
.pbt-20 {
	padding-top: 20px;
    padding-bottom: 20px;
}
.pbt-60 {
	padding-top: 80px;
    padding-bottom: 80px;
}
.pbt-80 {
	padding-top: 120px;
    padding-bottom: 120px;
}
.pbt-160 {
	padding-top: 160px;
    padding-bottom: 160px;
}
.pbt-200 {
	padding-top: 200px;
    padding-bottom: 200px;
}
.pbt-250 {
	padding-top: 230px;
    padding-bottom: 230px;
}
.pbt-300 {
	padding-top: 260px;
    padding-bottom: 260px;
}
.pbt-100 {
	padding-top: 20%;
    padding-bottom: 20%;
}
.pbt-120 {
	padding-top: 30%;
    padding-bottom: 30%;
}
.pbt-5 {
	padding-top: 2px;
    padding-bottom: 2px;
}
.pbt-0 {
	padding-top: 0px;
    padding-bottom: 0px;
}
.pad-45 {
    padding: 45px;
}
.pt40pb120 {
	padding-top: 40px;
    padding-bottom: 120px;
} 
.pt120pb40 {
	padding-top: 120px;
    padding-bottom: 40px;
} 
.pt40mb100 {
	padding-top: 40px;
	margin-bottom: -100px;
}
.mt50pb40 {
	margin-top: -50px;
}
.mt100pb40 {
	margin-top: -100px;
	padding-bottom: 40px;
}
.mt100mb100 {
	margin-top: -100px;
	margin-bottom: -100px;
}
.pt0pb120 {
	padding-top: 0px;
	padding-bottom: 120px;
}
.m20 {margin: 20px;}
.m40 {margin: 40px;}
.m60 {margin: 60px;}
.m20ou {margin: 20px 0;}
.m20lr {	margin: 0 20px;}
.m20lur {margin: 0 20px 20px;}
.m20lor {margin: 20px 20px 0;}
.m20l {	margin-left: 20px;}
.m20r {	margin-right: 20px;}
.-m20 {margin-top: -20px;}
.-m40 {margin-top: -40px;}
.-m60 {margin-top: -60px;}
.m10vw {margin: 0 14vw;}
.m20vw {margin: 0 18vw;}
.m30vw {margin: 0 22vw;}

 @media screen and (max-width: 991px) {
.pt-0, .pb-0, .pb-20, .pb-40, .pt-40, .pb-60, .pt-60, .pbt-40, .pbt-20, .pbt-40, .pbt-60, .pbt-80, .pbt-100, .pbt-120, .pbt-160, .pbt-200, .pbt-250, .pbt-300, .pbt-5, .ptb-6020, .pt40pb120, .pt120pb40, .pt40mb100, .mt100pb40, .mt100mb100, .pt0pb120 {padding-top: 20px; padding-bottom: 20px;}
.caption {margin-left: 10vw; margin-right: 10vw;}
.m20, .m40, .m60, .m20ou, .m20lr, .m20l, .m20r, .m20lur, .m20lor,.-m20, .-m40, .-m60 , .m10vw, .m20vw, .m30vw {margin: 0;}
}

.wrapper.consultant {
    background:#525252;
    color:#ffffff;
    font-size: var(--fs-body);
}

.wrapper.consultant .container {
    width:100%;	
    max-width:1600px;
}

.wrapper.consultant .second,
.wrapper.consultant .third.col-p-20,
.wrapper.consultant .fourth.col-p-20 {
    padding-top:15px;	
    height:90px;
    border-right:1px solid #888888;	
}

.wrapper.consultant .fifth {
    padding-top:20px;	
}

.wrapper.consultant .col-p-20 {
    float:left;
    width:20%;	
    padding:0px 15px;
}

.wrapper.consultant .size {
    font-size: var(--fs-body);
    text-align:center;
    width:25%;
    float:left;
    padding-top:10px;
    height:90px;		
    border-right:1px solid #888888;
    cursor:pointer;
}

.wrapper.consultant .home {
    width:50px;
    height:45px;
    background:url(../images/s30.png) left top no-repeat;
    margin:0px auto;
}

.wrapper.consultant .size.active .home,
.wrapper.consultant .size:hover .home {
    background-position:left bottom;	
}

.wrapper.consultant #s50 .home {
    background-image:url(../images/s50.png);
}

.wrapper.consultant #s100 .home {
    background-image:url(../images/s100.png);
}

.wrapper.consultant #s150 .home {
    background-image:url(../images/s150.png);
}

.wrapper.consultant #old {
    display:inline-block;
    border:1px solid #ffffff;
    height:23px;
    width:23px;
    line-height:20px;
    margin-right:20px;
    cursor:pointer;
    text-align:center;
}

.wrapper.consultant #old:hover {
    background:#ffffff;
    color:#525252;	
}


.wrapper.consultant label {
    line-height:58px;
    font-weight:normal;
}

.wrapper.consultant #kwh {
    margin-top:5px;
    height:45px;
    border:1px solid #ffffff;
    text-align:center;
    font-size: var(--fs-body);
    -webkit-border-radius:0px;
    -moz-border-radius:0px;
    border-radius:0px;
}

.wrapper.consultant ul {
    padding:0px;
    margin:0px;	
}

.wrapper.consultant li {
    margin-top:5px;	
    list-style:none;
    display:inline-block;
    border:1px solid #ffffff;
    line-height:43px;	
    padding:0px 10px;
    font-size: var(--fs-body);
    cursor:pointer;
}

.wrapper.consultant li.active,
.wrapper.consultant li:hover {
    background:#ffffff;
    color:var(--maincolor);
}

.wrapper.consultant .btn-primary {
    padding:15px;
    width:100%;	
}

.wrapper.consultant .btn-primary:focus,
.wrapper.consultant .btn-primary.focus {
    background:#333333;	
}

.wrapper.image .container,
.wrapper.image .container img {
    width:100%;	
}

.wrapper.image .container .col-sm-12 {
    padding:0px;
}

.downloads {
    padding-bottom:15px;	
}

.downloads .col-md-6 {
    padding:0px 70px;
}

.downloads .download {
    border-bottom:1px solid #d1d1d1;
    padding:10px 0px 10px 45px;
}

.downloads .no-0 .download,
.downloads .no-1 .download {
    border-top:1px solid #d1d1d1;
}

.downloads .button {
    float:right;
    margin:0px !important;
    padding-top:0px;
    padding-bottom:0px;
}

.downloads .text {
    margin-right:115px;
    display:block;
    padding-top:5px;
}

.downloads .pdf .download {
    background:url(../images/download-pdf.png) left 9px no-repeat;	
}

.downloads .jpg .download {
    background:url(../images/download-bild.png) left 9px no-repeat;	
}
.downloads .png .download {
    background:url(../images/download-bild.png) left 9px no-repeat;	
}
.downloads .tif .download {
    background:url(../images/download-bild.png) left 9px no-repeat;	
}
.downloads .link .download {
    background:url(../images/download-link.png) left 9px no-repeat;	
}

.downloads .doc .download {
    background:url(../images/download-doc.png) left 9px no-repeat;	
}

.downloads .docx .download {
    background:url(../images/download-docx.png) left 9px no-repeat;	
}

.downloads .xls .download {
    background:url(../images/download-xls.png) left 9px no-repeat;	
}

.downloads .xlsx .download {
    background:url(../images/download-xlsx.png) left 9px no-repeat;	
}

.downloads .ppt .download {
    background:url(../images/download-ppt.png) left 9px no-repeat;	
}

.downloads .pptx .download {
    background:url(../images/download-pptx.png) left 9px no-repeat;	
}

.contact-form .selectric-form-control {
    float:left;
    width:100%;
}

.has-error .selectric-form-control {
    border:1px solid #a94442;
}

.contact-form .radio,
.contact-form .checkbox {
    text-align:left;	
}

.contact-form #schlussrechnung {
    display:none;	
}

#article-1 .teaser .teaser-text {
    min-height:145px;
}

.image-text .media {
    display:none;	
}

.wrapper.counter {
    background-size:cover;
    padding:7% 0px;	
}

.wrapper.counter .count-number {
    font-size: var(--fs-h1);  /* fluid 48-100px - ersetzt 3 Breakpoint-Duplikate */
    font-weight: bold;
    text-align: center;
}

.animate .container {
    position:relative;
    transition:all 1.2s ease 0s;
}
.carousel a.carousel-control:focus {
    background-color: var(--maincolor);
}
.carousel a.carousel-control:focus i {
    color: #ffffff;
}

#to-top {
    padding:10px;
    cursor:pointer;
    text-align:center;
}

#to-top #arrow {
    display:inline-block;
    line-height:35px;
    font-size:18px;	
    padding-left:50px;
    background:url(../images/arrow-up.png) left top no-repeat;
}


@media screen and (max-width:1267px) {

	.pad-45 {
	padding: 30px !important;
    }
	
	.container {
		width: 100% !important;
	}
	
.animate .container {
    position:relative;
    transition:all 1s ease-in;
}

.animate.animation1 .container {
    opacity:1;
    bottom:0px;
}

.animate.animation1.animated .container {
    bottom:0px;
    opacity:1;
}

.animate.animation2 .container {
    right:0px;
    opacity:1;
}

.animate.animation2.animated .container {
    right:0px;
    opacity:1;
}

.animate.animation3 .container {
    opacity:0;
    left:0px;
}

.animate.animation3.animated .container {
    left:0px;
    opacity:1;
}

.animate.animation4 .container {
    opacity:1;
}

.animate.animation4.animated .container {
    opacity:1;	
}

.animate.animation5 .container {
    opacity:1;
    top:0px;
	z-index: -1;
}

.animate.animation5.animated .container {
    top:0px;
    opacity:1;
}

.animate.animation6 .container {
    opacity:1;
}

.animate.animation6.animated .container {
animation: none
    opacity:1;	
}
}

@media screen and (max-width:1168px) {

    .navigation {
        padding-right:0px;	
        height: 40px;
    }

    #languages {
        top:7px;
        right:80px
    }


    .downloads .button {
        padding:8px 10px !important;
    }

    .downloads .no-1 .download {
        border-top:0px;
    }

    #article-1 .teaser .teaser-text {min-height: 200px;}

}

@media screen and (max-width:767px) {

    #article-1 .teaser .teaser-text {
        min-height:0px;
    }

    .wrapper.counter .count-number {
        text-align:left;
        padding-bottom:30px;
    }
	
	.container {
		width: 100% !important;
	}
	
}

/* ===== video ===== */

.videocontainer, .picturecontainer {
    background: none;
    background-size: cover;
    position: relative;
    overflow: hidden;
    padding: 0;
    background-repeat: no-repeat;
/*	z-index: -1; */
}

.videocontainer video {
    min-width: 100%;
    min-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute; 
    left: 50%; 
    top: 50%; 
    transform: translate(-50%, -50%);
    z-index: -1;
    flex-shrink: 0;
}

@media screen and (max-width: 767px) {
.imagecontainer {height: 29vh !important;}
.videocontainer {height: 27vh !important; background-position: center !important;}
.videocontainer video {height: 100% !important; margin-top: 0px !important;}
} 

@media screen and (min-width: 768px) and (max-width: 1023px) {
.imagecontainer {height: 55vh !important;}
.videocontainer {height: 36vh !important; background-position: center !important;} 
} 

@media screen and (orientation: landscape) and (max-width: 1023px) {
.imagecontainer {height: 90vh !important;}
.videocontainer {height: 90vh !important;} 
} 
 
@media screen and (min-width: 1024px) and (max-width: 1279px) {
.imagecontainer {height: 75vh !important;}
.videocontainer {height: 70vh !important; background-position: center !important;} 
.videocontainer video {height: 107% !important; margin-top: 0px !important;}
}  

@media screen and (min-width: 1024px) and (max-width: 1300px) {
	.videocontainer .container-fluid .row .col-sm-6 {padding: 20px !important;}
}

@media screen and (max-width: 1023px) {
.parallaxcontainer, .parallaxcontainer2 {background-attachment: scroll !important;}
}

@media (hover: none) {
.parallaxcontainer, .parallaxcontainer2 {background-attachment: scroll !important;}
}

.videocontainercontent {padding-bottom: 40px;}
@media screen and (max-width: 1023px) {.videocontainercontent {padding: 10px 20px;}} 

.parallaxcontainer, .parallaxcontainer2 {background-attachment: fixed;}


.videocontainer .container, .picturecontainer .container {
    height: 100%;
	position: inherit;
}

.mobile-element-box {
    position: relative;
}

.videocontainer .container .row, .picturecontainer .container .row {
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding-bottom: 3vw;    
}

.videocontainer .container .row .col-sm-6, .picturecontainer .container .row .col-sm-6 {
    margin-left: 0px;
    width: calc(50% - 30px);
}

.videocontainer .container .row .col-sm-12, .picturecontainer .container .row .col-sm-12 {
    width: 80%;
	padding: 0;
}

.videocontainer .videooverlay, .picturecontainer .videooverlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.videocontainer.boxtop > .container > .row, .picturecontainer.boxtop > .container > .row, .videocontainer.boxtop > .container-fluid > .row, .picturecontainer.boxtop > .container-fluid > .row   {
    padding-top: 3vw;
    align-items: flex-start;
    height: auto;
}

.videocontainer.boxtop2 > .container > .row, .picturecontainer.boxtop2 > .container > .row, .videocontainer.boxtop2 > .container-fluid > .row, .picturecontainer.boxtop2 > .container-fluid > .row   {
    padding-top: 0;
    align-items: flex-start;
    height: auto;
}

.videocontainer.boxbottom2 > .container > .row, .picturecontainer.boxbottom2 > .container > .row, .videocontainer.boxbottom2 > .container-fluid > .row, .picturecontainer.boxbottom2 > .container-fluid > .row   {
    padding-bottom: 0;
    align-items: flex-end;

}

.videocontainer.boxcenter > .container > .row, .picturecontainer.boxcenter > .container > .row, .videocontainer.boxcenter > .container-fluid > .row, .picturecontainer.boxcenter > .container-fluid > .row {
    align-items: center;
    height: 100%;
    padding-top: 3vw;
    padding-bottom: 3vw;
}

.videocontainer.boxcomplete > .container > .row, .picturecontainer.boxcomplete > .container > .row, .videocontainer.boxcomplete > .container-fluid > .row, .picturecontainer.boxcomplete > .container-fluid > .row {
    align-items: flex-start;
    height: 100%;
    padding: 0;
}

.videocontainer.boxcomplete > .container > .row > .col-sm-6, .picturecontainer.boxcomplete > .container > .row > .col-sm-6, .videocontainer.boxcomplete > .container-fluid > .row > .col-sm-6, .picturecontainer.boxcomplete > .container-fluid > .row > .col-sm-6 {
    height: 100%;
}


.spacer-5vw {
    height: 5vw;
}

.mod1_hoverbild {
    opacity: 0;
    position: absolute;
    top: 0;
    transition: 0.5s;
}

.breadcrumb {
    margin-bottom: 0;
	border-style: none;
	border-radius: 0;}

.breadcrumb ul {
    list-style: none;
    margin-left: 10px;
    padding: 0;
}

.breadcrumb ul li,
.breadcrumb ul li a,
.breadcrumb div {
    font-size: var(--fs-body);
    line-height: 24px;
}

.breadcrumb ul li a {
	    text-decoration: underline;
}

.breadcrumb ul li {
    float: left;
    list-style: none;
}

.breadcrumb ul li + li:before {
    content: '/';
    display: inline;
    font-size: var(--fs-body);
    line-height: 24px;
    margin: 0 5px;
}

.breadcrumb .breadcrumb-info {
}

.breadcrumb .container {
    display: flex;
}

.carouselnav-container {
    padding: 0 1vw 30px 1vw;
}

.carouselnav-container {
    margin-top: -2px;
    padding: 0 1vw 30px 1vw;
}

.carouselnav-container ul {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1px;
    padding-bottom: 0px;
}
.carouselnav-container li {
    display: inline-block;
    line-height: 44px;
}

.carouselnav2 li {
    display: inline-block;
    line-height: 44px;
	margin: -1px !important;
}

.carouselnav-container li + li {
    margin-left: 15px;
}

.carouselnav-container li a {
    border: 1px solid #ffffff;
    font-size: 20px;
    color: #ffffff;
    padding: 4px 10px;
    text-decoration: none;
    white-space: nowrap;
}

.carouselnav-container li a:focus {
    background-color: #000000;
}

.carousel-barrierefrei .image-detail {
    padding: 5px 0;
}

/* --- vimeo inhalts modul --- */

.plyr__video-embed iframe, .plyr__video-wrapper--fixed-ratio video {
    border: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.plyr__video-embed, .plyr__video-wrapper--fixed-ratio {
    aspect-ratio: 16/9;
}

.container {
    max-width: inherit;
}

@media (min-width: 992px) {
    .container, .container2 {
        width: 960px;
    }
}

@media (min-width: 1200px) {
    .container, .container2 {
        width: 1160px;
    }
}

@media (min-width: 1280px) {
    .container, .container2 {
        width: 1220px;
    }
}

@media (min-width: 1440px) {
    .container, .container2 {
        width: 1400px;
    }
}

@media (min-width: 1600px) {
    .container, .container2 {
        width: 1460px;
    }
}

@media (min-width: 1900px) {
    .container, .container2 {
        width: 1600px;
    }
}

@media (min-width: 2200px) {
    .container, .container2 {
        width: 2100px;
    }
}

@media (min-width: 2500px) {
    .container, .container2 {
        width: 2400px;
    }
}

.container::after {
    display: block;
    clear: both;
    content: "";
}

.visible-xs, .visible-sm, .visible-md, .visible-lg { display:none !important; }
.visible-xs-block, .visible-xs-inline, .visible-xs-inline-block,
.visible-sm-block, .visible-sm-inline, .visible-sm-inline-block,
.visible-md-block, .visible-md-inline, .visible-md-inline-block,
.visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display:none !important; }

@media (max-width:575px) {
    table.visible-xs                { display:table !important; }
    tr.visible-xs                   { display:table-row !important; }
    th.visible-xs, td.visible-xs    { display:table-cell !important; }

    .visible-xs  { display:block !important; }
    .visible-xs-block { display:block !important; }
    .visible-xs-inline { display:inline !important; }
    .visible-xs-inline-block { display:inline-block !important; }
}

@media (min-width:576px) and (max-width:767px) {
    table.visible-sm { display:table !important; }
    tr.visible-sm { display:table-row !important; }
    th.visible-sm,
    td.visible-sm { display:table-cell !important; }

    .visible-sm { display:block !important; }
    .visible-sm-block { display:block !important; }
    .visible-sm-inline { display:inline !important; }
    .visible-sm-inline-block { display:inline-block !important; }
}

@media (min-width:768px) and (max-width:991px) {
    table.visible-md { display:table !important; }
    tr.visible-md { display:table-row !important; }
    th.visible-md,
    td.visible-md { display:table-cell !important; }

    .visible-md { display:block !important; }
    .visible-md-block { display:block !important; }
    .visible-md-inline { display:inline !important; }
    .visible-md-inline-block { display:inline-block !important; }
}

@media (min-width:992px) and (max-width:1199px) {
    table.visible-lg { display:table !important; }
    tr.visible-lg { display:table-row !important; }
    th.visible-lg,
    td.visible-lg { display:table-cell !important; }

    .visible-lg { display:block !important; }
    .visible-lg-block { display:block !important; }
    .visible-lg-inline { display:inline !important; }
    .visible-lg-inline-block { display:inline-block !important; }
}

@media (min-width:1200px) {
    table.visible-xl { display:table !important; }
    tr.visible-xl { display:table-row !important; }
    th.visible-xl,
    td.visible-xl { display:table-cell !important; }

    .visible-xl { display:block !important; }
    .visible-xl-block { display:block !important; }
    .visible-xl-inline { display:inline !important; }
    .visible-xl-inline-block { display:inline-block !important; }
}

@media (max-width:575px)                        { .hidden-xs{display:none !important;} }
@media (min-width:576px) and (max-width:767px)  { .hidden-sm{display:none !important;} }
@media (min-width:768px) and (max-width:991px)  { .hidden-md{display:none !important;} }
@media (min-width:992px) and (max-width:1199px) { .hidden-lg{display:none !important;} }
@media (min-width:1200px)                       { .hidden-xl{display:none !important;} }

.img-fluid {
    display: block;
}

/* Modernisiert 2026-04-17: von background-image auf <img>-Markup umgestellt */
.img-wrapper {
    position: relative;
    overflow: hidden;
    height: 100%;
}
.img-wrapper figure {
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
}
.img-wrapper figure figcaption {
    position: absolute;
    bottom: 0;
}
.img-wrapper figure img,
.img-wrapper figure img.img-fluid {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}
.img-wrapper figure.img-cover {
    min-height: 180px;
}
.img-wrapper figure.img-cover img,
.img-wrapper figure.img-cover img.img-fluid {
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
    object-position: center;
}
.img-wrapper figure.img-contain img,
.img-wrapper figure.img-contain img.img-fluid {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.img-wrapper figure.img-intrinsic img {
    width: auto;
    height: auto;
    max-width: 100%;
    margin: 0 auto;
}
.img-wrapper figure.img-min-height {
    min-height: 380px;
}
.img-wrapper figure.img-min-height img {
    min-height: 380px;
}
.img-wrapper .img-hover {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: all 0.4s ease-in-out;
}
.img-wrapper .img-hover:hover {
    opacity: 1;
}
.img-wrapper .img-hover figure {
    display: block;
    height: 100%;
    width: 100%;
}

.txt-wrapper .txt-inner {
    height: 100%;
}

.hidden {
    display: none;
}

.full-height {
    height: 100%;
}
.full-height .img-txt-wrapper,
.full-height .img-wrapper,
.full-height .img-cover {
    min-height: 100%;
}

.container-fluid {
	width: unset !important;
}   
.padding16666 {padding:0 22.222%;}
.padding8333 {padding:0 8.333%;}

@media screen and (max-width: 991px) {
    .padding8333 {padding: 0 0;}
	.padding16666 {padding:0 16.666%;}
}

.content-element .content {padding: 60px;}
.contenthover,.contenthover2 {transition: all .6s ease-in-out;}
.contenthover:hover {box-shadow: inset 280px 0px 0px 50px #FFFFFF;transform: scale(1) translatex(-50px);}
.contenthover2:hover {box-shadow: inset -280px 0px 0px 50px #FFFFFF;transform: scale(1) translatex(50px);}

@media (max-width:991px) {
.content-element .content, .content-element .container {padding: 20px 0 !important;} 
.contenthover:hover, .contenthover2:hover {box-shadow: none;transform: scale(1) translatex(0px)}
.img-txt-wrapper {padding: 20px} 
}

div[class^="custom-shape"] {pointer-events: none;}
@media (max-width:1168px) {div[class^="custom-shape"] {display: none;}}

.scroll {background-attachment: scroll;background-size: cover;background-repeat: no-repeat;}
.fixed {background-attachment: fixed;background-size: cover;overflow-y: scroll;} 

@media (orientation: portrait) and (max-width:700px) {
	.videocontainer {height: 37vh !important;}
	video {	width: 160% !important;  transform: translate(-20%,0);}
} 

@media (orientation: portrait) and (min-width:701px) and (max-width:991px) {
	video {width: 100% !important;}
} 


.flex {
    display: flex;
    column-gap: 20px;
}

.flex-center {
    justify-content: center;
}
.mod-countdown .counter-number {
    font-size: var(--fs-h1);
    font-weight: bold;
    line-height: 68px;
}

.mod-countdown .flex p {
    margin-bottom: 0 !important;
}

.lexicon_overview {
	max-width: 410px;
}
.lexicon_overview li {
	width: 30px;
	height: 30px;
	line-height: 30px;
	margin: 0px 5px 5px 0px;
	background: #fff;
	text-align: center;
	list-style: none;
	float: left;
}

.lexicon_overview li a {
	color: #000;
}

.lexicon {
    width: 100%;
    margin: 0 auto;
}
.lexicon li {
    list-style: none;
}
.text-left {
	text-align: left !important;
	justify-items: left !important;
}
.text-center {
	text-align: center !important;
	justify-items: center !important;
}
.text-right {
	text-align: right !important;
	justify-items: right !important;
}

/* marker */

.marker {
    background: linear-gradient(to left, rgba(255,255,255,0) 50%, yellow 50%) right;
    transition: all 1s ease;
    transition-delay: 2s;
    background-size: 200% 100%;
    background-position: right bottom;
}

.mark-it {
    background-position: left bottom;
}

.unmark-it {
    background-position: right bottom;
}


/* accordion */
.accordion-body  {padding: 20px !important;}
.accordion-body .content-element .content {padding: 0px !important;}
.accordion-body .content-element .content p {padding-top: 20px !important;}
.accordion-header p {margin: 0px;}

/* ipad */
@media (min-width: 768px) and (max-width: 991px) {
  .img-wrapper {
    max-width: 75%;
    margin-left: 0;
    margin-right: auto;
  }
.container {padding: 20px !important;}

}

/* News - Kategorie-Filter-Buttons dezent */
.news-tiles__cats .btn.black {
    background-color: #f0f0f0;
    color: #555;
    border-color: transparent;
    font-size: var(--fs-body);
    padding: 0.35em 1.1em;
    font-weight: 400;
    letter-spacing: 0.01em;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.news-tiles__cats .btn.black:hover {
    background-color: #e0e0e0;
    color: #222;
    border-color: transparent;
}
.news-tiles__cats .btn.black.is-active {
    background-color: #222;
    color: #fff;
    border-color: transparent;
    font-weight: 500;
    filter: none;
}

/* ===== Video / Vimeo (Modul 01) ===== */
.mm-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000;
    margin: 0;
}
.mm-video video,
.mm-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}
.mm-video-loop video { object-fit: cover; object-position: center; }
.mm-video-vimeo iframe { object-fit: cover; }
.mm-video-player {
    aspect-ratio: 16 / 9;
    background: #000;
}
.mm-video-player .plyr,
.mm-video-player .plyr__video-wrapper {
    width: 100%;
    height: 100%;
}

/* ===== Bootstrap Spacing Extensions (py-6 bis py-12) ===== */
/* Standard-Bootstrap hat nur py-0 bis py-5. Hier erweitert für Section-Abstände. */
.py-6  { padding-top: 4rem  !important; padding-bottom: 4rem  !important; }
.py-7  { padding-top: 5rem  !important; padding-bottom: 5rem  !important; }
.py-8  { padding-top: 6rem  !important; padding-bottom: 6rem  !important; }
.py-9  { padding-top: 7rem  !important; padding-bottom: 7rem  !important; }
.py-10 { padding-top: 8rem  !important; padding-bottom: 8rem  !important; }
.py-11 { padding-top: 9rem  !important; padding-bottom: 9rem  !important; }
.py-12 { padding-top: 10rem !important; padding-bottom: 10rem !important; }

.pt-6  { padding-top: 4rem  !important; }
.pt-7  { padding-top: 5rem  !important; }
.pt-8  { padding-top: 6rem  !important; }
.pt-9  { padding-top: 7rem  !important; }
.pt-10 { padding-top: 8rem  !important; }

.pb-6  { padding-bottom: 4rem  !important; }
.pb-7  { padding-bottom: 5rem  !important; }
.pb-8  { padding-bottom: 6rem  !important; }
.pb-9  { padding-bottom: 7rem  !important; }
.pb-10 { padding-bottom: 8rem  !important; }


/* ===== Modul 77 bild100 (Bild einspaltig, ggf. randless): kein geerbter height:100% wenn kein Text nebendran ===== */
.row.img-txt-wrapper > .col-12:only-child > .img-wrapper,
.row.img-txt-wrapper > .col-12.p-0:first-child + .visually-hidden + *,
.row.img-txt-wrapper > .col-12:first-child:has(+ .visually-hidden) > .img-wrapper,
.row.img-txt-wrapper > .col-12.padding:has(+ .visually-hidden) > .img-wrapper {
    height: auto;
}
.row.img-txt-wrapper > .col-12:has(+ .visually-hidden) > .img-wrapper figure.img-contain img,
.row.img-txt-wrapper > .col-12:has(+ .visually-hidden) > .img-wrapper figure.img-contain img.img-fluid {
    height: auto;
    object-fit: initial;
}

/* Icon-Liste (CKE5-Style ul.icon-list) - Checkmark via Inline-SVG, Markenfarbe */
ul.icon-list { list-style: none; padding-left: 0; margin-left: 0; }
ul.icon-list li {
  position: relative;
  padding-left: 1.9em;
  margin-bottom: .5em;
  line-height: 1.5;
}
ul.icon-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .15em;
  width: 1.25em;
  height: 1.25em;
  background-color: var(--maincolor, #009fe3);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Media Cards - Icon-Modus (icon-card) */
.mm-card.icon-card .mm-card-icon { font-size: 2.2rem; line-height: 1; margin: .9rem 0 1.3rem 0; color: var(--maincolor, #009fe3); }
.mm-card.icon-card.mm-card--ta-center .mm-card-icon { text-align: center; }

/* Bewertung / Rating (CKE5-Style span.rating-stars) - goldene Sterne, Redakteur tippt ★ */
.rating-stars { color: #f5a623; font-size: 1.15em; letter-spacing: .08em; white-space: nowrap; }

/* =====================================================================
   Task 1330 - generische Fixes aus Kundenprojekt ins Basis-Template
   ===================================================================== */

/* ---- Modul 101 (03 Media Cards): Hover-Bild-Layer (Feld hover_media) ----
   Echter DOM-Layer statt ::after-Pseudo-Element (Stacking-Context in
   Headless-Browsern). */
.mm-mediacards .card.mm-card .mm-card__hover{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
    transition:opacity 2.5s ease;
    z-index:1;
    pointer-events:none;
    border-radius:24px;
}
.mm-mediacards .card.mm-card:hover .mm-card__hover{ opacity:1; }
/* Inner muss über dem Hover-Layer liegen (Basis-Regel setzt bereits z-index:1) */
.mm-mediacards .card.mm-card.has-hover-img > .mm-card__inner{
    position:relative;
    z-index:3;
}

/* ---- Modul 77 (01 Inhalt): Hintergrundbild-Sektion (media1) ----
   Die Klasse has-bgimage sitzt auf dem Wrapper-DIV INNERHALB von
   .content-element (dort haengt auch der background-image-Style),
   daher Nachfahren-Selektor statt .content-element.has-bgimage. */
.content-element .has-bgimage{ position:relative; overflow:hidden; }
.content-element .has-bgimage::before{
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
}
.content-element .has-bgimage.bgimage-overlay-dark::before{
    background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.78) 100%);
}
/* Akzentfarbe hier anpassen (projektspezifische Markenfarbe eintragen) */
.content-element .has-bgimage.bgimage-overlay-accent::before{
    background:linear-gradient(180deg, rgba(60,60,60,.50) 0%, rgba(0,0,0,.72) 100%);
}
.content-element .has-bgimage > .container{ position:relative; z-index:1; }

/* ==========================================================================
   Modul 10 - Karten-Slider (.mm-cardslider)
   Reines CSS scroll-snap, kein Slick/jQuery-Plugin. JS nur für Pfeile+Dots
   (template/js/custom.js, Block "Karten-Slider").
   ========================================================================== */
.mm-slider {
    position: relative;
    --mm-slider-gap: 1.5rem;
    --mm-slider-cards: var(--mm-slider-cards-desktop, 3);
    --mm-slider-imgh: 220px;
}
.mm-slider__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--mm-slider-cards) - 1) * var(--mm-slider-gap)) / var(--mm-slider-cards));
    gap: var(--mm-slider-gap);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 2px;
}
.mm-slider__track::-webkit-scrollbar { display: none; }
.mm-slider__track:focus-visible { outline: 2px solid var(--maincolor, #0B4F80); outline-offset: 4px; }

.mm-slide {
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    background: var(--mm-slide-bg, #ffffff);
    color: var(--mm-slide-fg, inherit);
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 2px;
    box-shadow: 0 10px 30px rgba(18,50,64,.10);
    overflow: hidden;
    min-width: 0;
}
.mm-slide__media { margin: 0; height: var(--mm-slider-imgh); flex: 0 0 auto; }
.mm-slide__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.mm-slide__body {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    gap: .6rem;
    padding: 1.25rem 1.5rem 1.5rem;
    flex: 1 1 auto;
}
.mm-slide__badge {
    justify-self: start;
    font-size: var(--fs-body);
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: .3rem .7rem;
    border-radius: 2px;
    background: var(--maincolor, #0B4F80);
    color: #fff;
}
.mm-slide__title {
    font-size: var(--fs-h2);
    margin: 0;
    overflow-wrap: anywhere;
    hyphens: auto;
}
.mm-slide__teaser {
    margin: 0;
    font-size: var(--fs-body);
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mm-slide__actions { margin: .5rem 0 0; align-self: end; justify-self: start; }
.mm-slide__actions .btn { display: inline-block; width: fit-content; }

/* --- Pfeile --- */
.mm-slider__nav {
    position: absolute;
    top: calc(var(--mm-slider-imgh) / 2);
    transform: translateY(-50%);
    z-index: 3;
    width: 44px; height: 44px;
    border: 0; border-radius: 50%;
    background: #fff;
    color: var(--maincolor, #0B4F80);
    box-shadow: 0 6px 18px rgba(18,50,64,.22);
    font-size: 1.4rem; line-height: 1;
    cursor: pointer;
    transition: opacity .2s ease;
}
.mm-slider__nav--prev { left: 10px; }
.mm-slider__nav--next { right: 10px; }
.mm-slider__nav[disabled] { opacity: .25; cursor: default; }
.mm-slider__nav:focus-visible { outline: 2px solid var(--maincolor, #0B4F80); outline-offset: 2px; }

/* --- Dots --- */
.mm-slider__dots { display: flex; justify-content: center; gap: .55rem; margin-top: 1.75rem; }
.mm-slider__dot {
    width: 11px; height: 11px; padding: 0;
    border: 0; border-radius: 50%;
    background: var(--mm-dot-inactive, rgba(18,50,64,.25));
    cursor: pointer;
}
.mm-slider__dot[aria-selected="true"] { background: var(--mm-dot-active, var(--maincolor, #0B4F80)); }
.mm-slider__dot:focus-visible { outline: 2px solid var(--maincolor, #0B4F80); outline-offset: 3px; }

@media (max-width: 991.98px) {
    .mm-slider { --mm-slider-cards: 2; }
}
@media (max-width: 767.98px) {
    .mm-slider { --mm-slider-cards: 1; --mm-slider-gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .mm-slider__track { scroll-behavior: auto; }
}

/* ============================================================
   QA Task 1397 - Design-/Schoenheitspruefung
   ============================================================ */

/* 1) Phantom-Horizontalscroll auf Mobile (scrollWidth 402 statt 390 auf ALLEN Seiten).
      Ursache: Bootstrap .row hat -12px Gutter-Margins, der umgebende .container hat
      hier aber padding:0 - die Margins brechen aus dem Viewport aus.
      overflow-x:clip (NICHT hidden!), sonst wuerde der Body zum Scroll-Container und
      position:sticky in .boost-pinhero / .mm-imgtext waere kaputt. */
body { overflow-x: clip; }

/* 2) Zeilenlaenge im Fliesstext: Volltext-Spalten liefen bei 1440px auf 105-141
      Zeichen/Zeile (lesbar sind 60-80). Nur die VOLLBREITEN Textspalten begrenzen -
      die halbbreiten brtl/bltr-Spalten sind bereits im guten Bereich. */
.img-txt-wrapper > .content.col-12 > p,
.img-txt-wrapper > .content.col-12 > ul,
.img-txt-wrapper > .content.col-12 > ol,
.img-txt-wrapper > .content.col-md-12 > p,
.img-txt-wrapper > .content.col-md-12 > ul,
.img-txt-wrapper > .content.col-md-12 > ol,
.mm-compare .intro-text > p,
.boost-case__text,
.boost-author__bio { max-width: 78ch; }

/* 3) Inline-Textlinks: barrierefrei.css setzt global --link:#0059d6. Auf den
      dunkelgruenen #14291F-Flaechen ist das Blau markenfremd und kontrastschwach
      (~2:1). Farbe vom Umfeld erben, damit Links auf hellen UND dunklen Sektionen
      passen; die Unterstreichung bleibt als WCAG-Signal erhalten. */
.content-element p > a:not([class]),
.content-element li > a:not([class]),
.boost-author__links a:not([class]),
.mm-text--sm a:not([class]) {
    color: inherit;
    text-decoration-thickness: .07em;
    text-underline-offset: .2em;
    transition: opacity .15s ease;
}
.content-element p > a:not([class]):hover,
.content-element li > a:not([class]):hover,
.boost-author__links a:not([class]):hover,
.mm-text--sm a:not([class]):hover {
    color: inherit;
    opacity: .68;
    text-decoration-thickness: .12em;
}

/* 4) Mikro-Labels der Vergleichskarten lagen bei 10.9px / 11.5px - unter der
      12px-Grenze und auf Mobile grenzwertig lesbar. */
.mm-compare__vlabel,
.mm-compare__hlabel { font-size: var(--fs-body); }
.mm-compare__kicker { font-size: var(--fs-body); }

/* ==========================================================================
   Task 1401: .mm-summary - Kurzzusammenfassung (max. 100 Wörter) direkt nach
   dem Hero, vor dem ersten Content-Block. GEO-Muster von mindmelt.de:
   dort steht der Teaser-Absatz unmittelbar hinter der H1 als eigener <p>.
   Bewusst NICHT mit .mm-text--lg (36px/600) vermischt - das ist der Lead-Satz
   des ersten Inhaltsblocks und bleibt unverändert.
   ========================================================================== */
.mm-summary {
    font-size: var(--fs-body);
    line-height: 1.5;
    font-weight: 400;
    max-width: 62ch;
    margin: 0;
}

/* ==========================================================================
   Task 1452: .mm-summary steht jetzt als ALLERERSTER Seitenabschnitt vor dem
   Pin-Hero. Darum:
   1) linker Rahmen + linkes Einrück-Padding entfernt (war ein Zitat-Look,
      der als Seitenauftakt falsch wirkt),
   2) der Block trägt das einzige <h1> der Seite (Modul 77, value12=h1),
   3) Spalten-Marge: links und rechts je 2 von 12 Bootstrap-Spalten frei,
      Inhalt nutzt die mittleren 8/12. Bewusst als Padding auf der bestehenden
      .content.col-12 statt als neues Modul-Eingabefeld - der txt100-Zweig in
      Modul 77 ignoriert 18.columnsize, und ein neues Feld hätte alle
      txt100-Slices der Site betroffen. Erst ab lg, darunter volle Breite.
   ========================================================================== */
.content-element .content.col-12:has(> .mm-summary),
.content-element .content.col-12:has(> h1 + .mm-summary) {
    background-color: #ffffff;
}
@media (min-width: 992px) {
    .content-element .content.col-12:has(.mm-summary) {
        padding-left: calc(16.6667% + (var(--bs-gutter-x, 1.5rem) * .5));
        padding-right: calc(16.6667% + (var(--bs-gutter-x, 1.5rem) * .5));
    }
}

/* Modul 77 rendert die Überschrift (value2) immer - bei den Zusammenfassungs-
   Slices ist sie leer und hinterlässt ein <p></p>. Leere Absätze ausblenden,
   damit über .mm-summary kein Leerraum entsteht. */
.content-element p:empty { display: none; }

/* ==========================================================================
   Task 1411: Modul 128 "18 - Kurzaudit-Qualifizierung" (BoostQualifier).
   Bewusst hier statt inline im Modul: Der Artikel-Slider (Modul 103) rendert
   eingebundene Artikel mit, dadurch laeuft das Modul mehrfach pro Seite und
   ein Inline-Style-Guard landet im verworfenen Teaser-Durchlauf.
   ========================================================================== */
.mm-qual{padding:3.5rem 0;}
.mm-qual__box{background:var(--boost-gradient-weiss-grau);border:1px solid rgba(20,41,31,.16);border-radius:18px;box-shadow:0 14px 38px rgba(20,41,31,.12);padding:2rem 2rem 1.25rem;max-width:56rem;margin:0 auto;color:#14291F;}
.mm-qual__pips{display:flex;gap:.4rem;margin-bottom:.6rem;}
.mm-qual__pip{flex:1;height:3px;border-radius:2px;background:rgba(20,41,31,.14);overflow:hidden;}
.mm-qual__pip span{display:block;height:100%;width:0;background:#157a52;transition:width .35s ease;}
.mm-qual__pip.is-active span,.mm-qual__pip.is-done span{width:100%;}
.mm-qual__pip.is-done span{background:rgba(21,122,82,.55);}
.mm-qual__meta{display:flex;justify-content:space-between;gap:1rem;font-size: var(--fs-body);letter-spacing:.09em;text-transform:uppercase;color:#4f6459;margin-bottom:1.6rem;}
.mm-qual__name{color:#7a5518;}
.mm-qual__panel{display:none;}
.mm-qual__panel.is-active{display:block;animation:mmQualIn .3s ease both;}
@keyframes mmQualIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mm-qual__h{font-family:"Space Grotesk",Arial,sans-serif;font-size: var(--fs-h2);line-height:1.2;margin:0 0 .6rem;color:#14291F;}
.mm-qual__intro{color:#2c4238;font-size: var(--fs-body);line-height:1.55;margin-bottom:.6rem;}
.mm-qual__intro p:last-child{margin-bottom:0;}
.mm-qual__desc{color:#4f6459;font-size: var(--fs-body);line-height:1.55;margin:0 0 1.5rem;}
.mm-qual__hint{color:#55665e;font-size: var(--fs-body);margin:1rem 0 0;}
.mm-qual__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;}
.mm-qual__tiles--wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.mm-qual__tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;text-align:center;background:#ffffff;border:1px solid rgba(20,41,31,.14);border-radius:14px;padding:1.3rem 1rem;color:#14291F;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;}
.mm-qual__tile:hover{background:#f2f6f4;border-color:rgba(18,104,74,.5);transform:translateY(-2px);}
.mm-qual__tile.is-selected{border-color:#12684a;background:rgba(52,211,153,.12);}
.mm-qual__tile:focus-visible{outline:2px solid #12684a;outline-offset:2px;}
.mm-qual__tile--wide{flex-direction:row;align-items:center;text-align:left;gap:.9rem;}
.mm-qual__ticon{flex:0 0 auto;width:2.6rem;height:2.6rem;border-radius:12px;background:rgba(20,41,31,.06);display:flex;align-items:center;justify-content:center;font-size:1.05rem;color:#12684a;}
.mm-qual__ttext{display:flex;flex-direction:column;gap:.2rem;flex:1 1 auto;}
.mm-qual__tlabel{font-weight:600;font-size: var(--fs-body);line-height:1.3;}
.mm-qual__tsub{color:#4f6459;font-size: var(--fs-body);line-height:1.4;}
.mm-qual__tick{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid rgba(20,41,31,.28);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:transparent;transition:all .18s ease;}
.mm-qual__tile--multi.is-selected .mm-qual__tick{background:#34d399;border-color:#12684a;color:#14291F;}
.mm-qual__rows{display:flex;flex-direction:column;gap:.6rem;}
.mm-qual__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;background:#ffffff;border:1px solid rgba(20,41,31,.14);border-radius:12px;padding:1.05rem 1.2rem;color:#14291F;cursor:pointer;transition:background .18s ease,border-color .18s ease;}
.mm-qual__row:hover{background:#f2f6f4;border-color:rgba(18,104,74,.5);}
.mm-qual__row.is-selected{border-color:#12684a;background:rgba(52,211,153,.12);}
.mm-qual__row:focus-visible{outline:2px solid #12684a;outline-offset:2px;}
.mm-qual__rlabel{font-size: var(--fs-body);line-height:1.35;}
.mm-qual__rarrow{color:#4f6459;font-size:.8rem;}
.mm-qual__sumwrap{background:#ffffff;border:1px solid rgba(20,41,31,.12);border-radius:12px;padding:1rem 1.1rem;margin-bottom:1.5rem;}
.mm-qual__sumtitle{font-size: var(--fs-body);text-transform:uppercase;letter-spacing:.09em;color:#4f6459;margin-bottom:.6rem;}
.mm-qual__sum{display:grid;gap:.4rem;}
.mm-qual__sumitem{display:flex;gap:.8rem;justify-content:space-between;font-size: var(--fs-body);line-height:1.4;}
.mm-qual__sumlabel{color:#4f6459;flex:0 0 auto;}
.mm-qual__sumvalue{text-align:right;color:#14291F;}
.mm-qual__frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.mm-qual__field{margin-bottom:1rem;display:flex;flex-direction:column;}
.mm-qual__field label{font-size: var(--fs-body);color:#4f6459;margin-bottom:.35rem;}
.mm-qual__req{color:#7a5518;}
/* Task 1418 Punkt 8: Telefon nur bei Kontaktweg "Telefon" Pflicht - Optional-Hinweis am Label. */
.mm-qual__opt{color:#5b6b63;font-weight:400;font-size: var(--fs-body);}
.mm-qual__opt[hidden]{display:none;}
.mm-qual__field input,.mm-qual__field textarea{background:#ffffff;border:1px solid rgba(20,41,31,.20);border-radius:10px;padding:.75rem .9rem;color:#14291F;font-size: var(--fs-body);font-family:inherit;width:100%;}
.mm-qual__field input::placeholder,.mm-qual__field textarea::placeholder{color:#5b6b63;}
.mm-qual__field input:focus,.mm-qual__field textarea:focus{outline:none;border-color:#12684a;background:#ffffff;}
.mm-qual__err{display:none;color:#a33a1e;font-size: var(--fs-body);margin-top:.3rem;}
.mm-qual__field.has-error input{border-color:#a33a1e;}
.mm-qual__field.has-error .mm-qual__err{display:block;}
.mm-qual__prefs{display:flex;gap:.5rem;}
.mm-qual__pref{flex:1;background:#ffffff;border:1px solid rgba(20,41,31,.20);border-radius:10px;padding:.72rem .5rem;color:#2c4238;font-size: var(--fs-body);cursor:pointer;}
.mm-qual__pref.is-active{border-color:#12684a;background:rgba(52,211,153,.14);color:#14291F;}
.mm-qual__privacy{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;margin:.4rem 0 0;font-size: var(--fs-body);line-height:1.5;color:#2c4238;}
.mm-qual__privacy input{position:absolute;opacity:0;width:0;height:0;}
.mm-qual__cbox{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.12rem;border:1px solid rgba(20,41,31,.32);border-radius:5px;position:relative;}
.mm-qual__privacy input:checked + .mm-qual__cbox{background:#34d399;border-color:#12684a;}
.mm-qual__privacy input:checked + .mm-qual__cbox::after{content:"";position:absolute;left:.36rem;top:.12rem;width:.28rem;height:.58rem;border:solid #14291F;border-width:0 2px 2px 0;transform:rotate(45deg);}
.mm-qual__privacy input:focus-visible + .mm-qual__cbox{outline:2px solid #12684a;outline-offset:2px;}
.mm-qual__ptext a{color:#12684a;}
.mm-qual__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.mm-qual__errorbox{display:none;margin-top:1rem;background:rgba(163,58,30,.10);border:1px solid rgba(163,58,30,.45);border-radius:10px;padding:.8rem 1rem;color:#8a3a3a;font-size: var(--fs-body);}
.mm-qual__errorbox.is-visible{display:block;}
.mm-qual__bottom{display:flex;align-items:center;gap:.7rem;margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid rgba(20,41,31,.12);}
.mm-qual__back{flex:0 0 auto;width:2.9rem;height:2.9rem;border-radius:10px;background:#ffffff;border:1px solid rgba(20,41,31,.20);color:#2c4238;cursor:pointer;visibility:hidden;}
.mm-qual__back.is-visible{visibility:visible;}
.mm-qual__next{flex:1 1 auto;height:2.9rem;border:0;border-radius:10px;background:#14291F;color:#ffffff;font-weight:700;font-size: var(--fs-body);letter-spacing:.02em;cursor:pointer;transition:opacity .18s ease;}
.mm-qual__next:disabled{opacity:.35;cursor:not-allowed;}
.mm-qual__next:focus-visible,.mm-qual__back:focus-visible{outline:2px solid #7a5518;outline-offset:2px;}
.mm-qual__success{display:none;text-align:center;padding:1rem 0 .5rem;}
.mm-qual__success.is-active{display:block;animation:mmQualIn .3s ease both;}
.mm-qual__check{width:3.2rem;height:3.2rem;border-radius:50%;background:#34d399;color:#14291F;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 1.1rem;}
.mm-qual__success h2{font-family:"Space Grotesk",Arial,sans-serif;color:#14291F;font-size: var(--fs-h2);margin-bottom:.6rem;}
.mm-qual__ssub{color:#2c4238;font-size: var(--fs-body);line-height:1.6;max-width:38rem;margin:0 auto 1.4rem;}
.mm-qual__card{background:#ffffff;border:1px solid rgba(20,41,31,.12);border-radius:12px;padding:1.2rem;max-width:34rem;margin:0 auto 1.3rem;}
.mm-qual__cicon{color:#12684a;font-size:1.1rem;margin-bottom:.5rem;}
.mm-qual__ctime{font-weight:600;color:#14291F;margin-bottom:.35rem;}
.mm-qual__cdetail{color:#4f6459;font-size: var(--fs-body);line-height:1.5;}
.mm-qual__hotline{font-size: var(--fs-body);color:#4f6459;}
.mm-qual__hotline a{color:#12684a;font-weight:600;margin-left:.4rem;}
@media (max-width:640px){
  .mm-qual{padding:2.25rem 0;}
  .mm-qual__box{padding:1.4rem 1.1rem 1rem;border-radius:14px;}
  .mm-qual__frow{grid-template-columns:1fr;gap:0;}
  .mm-qual__tiles{grid-template-columns:1fr 1fr;}
  .mm-qual__tiles--wide{grid-template-columns:1fr;}
  .mm-qual__tile{padding:1rem .7rem;}
  .mm-qual__sumitem{flex-direction:column;gap:.1rem;}
  .mm-qual__sumvalue{text-align:left;}
}

/* ===== Modul 129: 19 - Preis-Konfigurator (Task 1420) =====================
   Eigener mm-pk-Namespace, Tokens bewusst identisch zu .mm-qual (Modul 128),
   damit beide Funnels auf der Preise-Seite als ein Bauteil wirken. */
.mm-pk{padding:3.5rem 0;}
.mm-pk__box{background:var(--boost-gradient-weiss-grau);border:1px solid rgba(20,41,31,.16);border-radius:18px;box-shadow:0 14px 38px rgba(20,41,31,.12);padding:2rem 2rem 1.25rem;margin:0 auto;color:#14291F;}
.mm-pk__pips{display:flex;gap:.4rem;margin-bottom:.6rem;}
.mm-pk__pip{flex:1;height:3px;border-radius:2px;background:rgba(20,41,31,.14);overflow:hidden;}
.mm-pk__pip span{display:block;height:100%;width:0;background:#157a52;transition:width .35s ease;}
.mm-pk__pip.is-active span,.mm-pk__pip.is-done span{width:100%;}
.mm-pk__pip.is-done span{background:rgba(21,122,82,.55);}
.mm-pk__meta{display:flex;justify-content:space-between;gap:1rem;font-size: var(--fs-body);letter-spacing:.09em;text-transform:uppercase;color:#4f6459;margin-bottom:1.6rem;}
.mm-pk__name{color:#7a5518;}
.mm-pk__panel{display:none;}
.mm-pk__panel.is-active{display:block;animation:mmPkIn .3s ease both;}
@keyframes mmPkIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mm-pk__h{font-family:"Space Grotesk",Arial,sans-serif;font-size: var(--fs-h2);line-height:1.2;margin:0 0 .6rem;color:#14291F;}
.mm-pk__intro{color:#2c4238;font-size: var(--fs-body);line-height:1.55;margin-bottom:.6rem;}
.mm-pk__intro p:last-child{margin-bottom:0;}
.mm-pk__desc{color:#4f6459;font-size: var(--fs-body);line-height:1.55;margin:0 0 1.5rem;}
.mm-pk__hint{color:#55665e;font-size: var(--fs-body);margin:1rem 0 0;line-height:1.5;}
.mm-pk__note{display:flex;gap:.55rem;align-items:flex-start;color:#4f6459;font-size: var(--fs-body);line-height:1.55;margin:1.4rem 0 0;background:rgba(224,176,122,.08);border:1px solid rgba(122,85,24,.32);border-radius:10px;padding:.8rem 1rem;}
.mm-pk__note i{color:#7a5518;margin-top:.15rem;}
.mm-pk__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;}
.mm-pk__tiles--wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.mm-pk__tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;text-align:center;background:#ffffff;border:1px solid rgba(20,41,31,.14);border-radius:14px;padding:1.3rem 1rem;color:#14291F;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;}
.mm-pk__tile:hover{background:#f2f6f4;border-color:rgba(18,104,74,.5);transform:translateY(-2px);}
.mm-pk__tile.is-selected{border-color:#12684a;background:rgba(52,211,153,.12);}
.mm-pk__tile:focus-visible{outline:2px solid #12684a;outline-offset:2px;}
.mm-pk__tile--wide{flex-direction:row;align-items:center;text-align:left;gap:.9rem;}
.mm-pk__ticon{flex:0 0 auto;width:2.6rem;height:2.6rem;border-radius:12px;background:rgba(20,41,31,.06);display:flex;align-items:center;justify-content:center;font-size:1.05rem;color:#12684a;}
.mm-pk__ttext{display:flex;flex-direction:column;gap:.2rem;flex:1 1 auto;}
.mm-pk__tlabel{font-weight:600;font-size: var(--fs-body);line-height:1.3;}
.mm-pk__tsub{color:#4f6459;font-size: var(--fs-body);line-height:1.4;}
.mm-pk__tick{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid rgba(20,41,31,.28);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:transparent;transition:all .18s ease;}
.mm-pk__tile--multi.is-selected .mm-pk__tick{background:#34d399;border-color:#12684a;color:#14291F;}
.mm-pk__rows{display:flex;flex-direction:column;gap:.6rem;}
.mm-pk__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;background:#ffffff;border:1px solid rgba(20,41,31,.14);border-radius:12px;padding:1.05rem 1.2rem;color:#14291F;cursor:pointer;transition:background .18s ease,border-color .18s ease;}
.mm-pk__row:hover{background:#f2f6f4;border-color:rgba(18,104,74,.5);}
.mm-pk__row.is-selected{border-color:#12684a;background:rgba(52,211,153,.12);}
.mm-pk__row:focus-visible{outline:2px solid #12684a;outline-offset:2px;}
.mm-pk__rlabel{font-size: var(--fs-body);line-height:1.35;}
.mm-pk__rarrow{color:#4f6459;font-size:.8rem;}
/* Ergebnis-Anker (Task 1421): grosse Preiszahl - Zweig A der echte
   mindmelt.de-Einstiegspreis 490 EUR/Monat, Zweig B der Festpreis-Richtwert.
   Darunter .mm-pk__scope als Herleitung (Stunden), bewusst kleiner. */
.mm-pk__anchor{background:rgba(52,211,153,.10);border:1px solid rgba(18,104,74,.45);border-radius:14px;padding:1.5rem 1.4rem;text-align:center;}
.mm-pk__anchorlabel{font-size: var(--fs-body);text-transform:uppercase;letter-spacing:.09em;color:#7a5518;margin-bottom:.5rem;}
.mm-pk__anchorprice{font-family:"Space Grotesk",Arial,sans-serif;font-size: var(--fs-h1);font-weight:700;color:#12684a;line-height:1.1;}
.mm-pk__anchorprice span{display:block;font-family:inherit;font-size: var(--fs-body);font-weight:400;color:#4f6459;margin-top:.35rem;letter-spacing:0;}
.mm-pk__anchorsrc{color:#4f6459;font-size: var(--fs-body);line-height:1.55;margin:.9rem 0 0;}
.mm-pk__anchorsrc a{color:#7a5518;text-decoration:underline;}
.mm-pk__anchorsrc a:hover{color:#14291F;}
.mm-pk__scope{margin-top:1.2rem;background:#ffffff;border:1px solid rgba(20,41,31,.12);border-radius:12px;padding:1rem 1.1rem;}
.mm-pk__scopehead{font-size: var(--fs-body);text-transform:uppercase;letter-spacing:.09em;color:#4f6459;margin-bottom:.7rem;}
.mm-pk__scoperow{display:flex;gap:.8rem;justify-content:space-between;font-size: var(--fs-body);line-height:1.5;padding:.25rem 0;}
.mm-pk__scopelabel{color:#2c4238;}
.mm-pk__scopeval{color:#14291F;text-align:right;flex:0 0 auto;}
.mm-pk__scoperow.is-total{border-top:1px solid rgba(20,41,31,.16);margin-top:.4rem;padding-top:.6rem;font-weight:600;}
.mm-pk__scoperow.is-total .mm-pk__scopeval{color:#12684a;}
.mm-pk__scopenote{color:#4f6459;font-size: var(--fs-body);line-height:1.6;margin:.9rem 0 0;}

/* Task 1454: Drei Betreuungsstufen als Tabs (Interaktionsmuster wie beim
   Vorbild ownthepatch.co.uk: Tab-Reihe oben, wechselnde Karte darunter).
   Farben/Typografie bleiben die des Boost-Designs. Die Herleitung
   (.mm-pk__tiercalc) steht bewusst direkt unter dem Preis - die Stufen
   duerfen nie wie gesetzte Pauschalpakete wirken. */
.mm-pk__tiers{margin-top:1.2rem;}
.mm-pk__tiertabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.mm-pk__tiertab{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.25rem;text-align:center;background:#ffffff;border:1px solid rgba(20,41,31,.14);border-bottom-color:rgba(20,41,31,.14);border-radius:12px 12px 0 0;padding:.9rem .7rem;color:#14291F;font-family:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.mm-pk__tiertab:hover{background:#f2f6f4;border-color:rgba(18,104,74,.5);}
.mm-pk__tiertab:focus-visible{outline:2px solid #12684a;outline-offset:2px;}
.mm-pk__tiertab.is-active{background:rgba(52,211,153,.12);border-color:#12684a;border-bottom-color:rgba(52,211,153,.12);}
.mm-pk__tiertabname{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;font-size: var(--fs-body);line-height:1.2;}
.mm-pk__tiertabprice{font-size: var(--fs-body);color:#4f6459;line-height:1.3;}
.mm-pk__tiertab.is-active .mm-pk__tiertabprice{color:#12684a;font-weight:600;}
.mm-pk__tiertabrec{font-size: var(--fs-body);text-transform:uppercase;letter-spacing:.07em;color:#7a5518;line-height:1.2;margin-top:.15rem;}
.mm-pk__tiercard{background:#ffffff;border:1px solid #12684a;border-top:none;border-radius:0 0 14px 14px;padding:1.4rem 1.3rem 1.2rem;}
.mm-pk__tierhead{margin-bottom:.9rem;}
.mm-pk__tiername{font-family:"Space Grotesk",Arial,sans-serif;font-size: var(--fs-h2);color:#14291F;margin:0 0 .25rem;}
.mm-pk__tiersub{color:#4f6459;font-size: var(--fs-body);line-height:1.5;margin:0;}
.mm-pk__tierprice{font-family:"Space Grotesk",Arial,sans-serif;font-size: var(--fs-h1);font-weight:700;color:#12684a;line-height:1.1;}
.mm-pk__tierprice span{display:block;font-family:inherit;font-size: var(--fs-body);font-weight:400;color:#4f6459;margin-top:.3rem;}
.mm-pk__tiercalc{color:#4f6459;font-size: var(--fs-body);line-height:1.55;margin:.7rem 0 0;}
.mm-pk__tierlist{list-style:none;margin:1.1rem 0 0;padding:0;border-top:1px solid rgba(20,41,31,.12);}
.mm-pk__tierlist li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .8rem;padding:.6rem 0;border-bottom:1px solid rgba(20,41,31,.08);}
.mm-pk__tieritem{font-weight:600;color:#14291F;font-size: var(--fs-body);}
.mm-pk__tierhours{color:#12684a;font-size: var(--fs-body);text-align:right;flex:0 0 auto;}
.mm-pk__tierfeat{flex:1 0 100%;color:#4f6459;font-size: var(--fs-body);line-height:1.5;}
.mm-pk__tierfit{color:#2c4238;font-size: var(--fs-body);line-height:1.55;margin:1rem 0 0;}

/* Die drei Vorschlaege. Stundenkontingent ist die Hauptzahl, der Euro-Betrag
   bewusst kleiner und als "Richtwert" beschriftet - kein Festpreis-Look.
   Task 1421: nicht mehr im Einsatz, Klassen bleiben fuer Altstaende erhalten. */
.mm-pk__pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;align-items:start;}
.mm-pk__pkg{position:relative;text-align:left;background:#ffffff;border:1px solid rgba(20,41,31,.14);border-radius:14px;padding:1.4rem 1.2rem 1.2rem;color:#14291F;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;font-family:inherit;}
.mm-pk__pkg:hover{background:#f2f6f4;border-color:rgba(18,104,74,.5);transform:translateY(-2px);}
.mm-pk__pkg.is-selected{border-color:#12684a;background:rgba(52,211,153,.12);}
.mm-pk__pkg:focus-visible{outline:2px solid #12684a;outline-offset:2px;}
.mm-pk__badge{position:absolute;top:-.65rem;right:1rem;background:#e0b07a;color:#14291F;font-size: var(--fs-body);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .55rem;border-radius:20px;}
.mm-pk__pkg h4{font-family:"Space Grotesk",Arial,sans-serif;color:#14291F;font-size: var(--fs-h2);margin:0 0 .5rem;}
.mm-pk__pkghours{font-size: var(--fs-body);font-weight:700;color:#12684a;line-height:1.2;}
.mm-pk__pkgeuro{font-size: var(--fs-body);color:#4f6459;margin-bottom:1rem;}
.mm-pk__pkgcat{font-size: var(--fs-body);text-transform:uppercase;letter-spacing:.07em;color:#7a5518;margin:.85rem 0 .3rem;}
.mm-pk__pkg ul{list-style:none;margin:0;padding:0;}
.mm-pk__pkg li{position:relative;padding-left:1rem;font-size: var(--fs-body);line-height:1.5;color:#2c4238;}
.mm-pk__pkg li::before{content:"";position:absolute;left:0;top:.55rem;width:.3rem;height:.3rem;border-radius:50%;background:rgba(18,104,74,.75);}
/* Cross-Sell-Kasten Zweig B */
.mm-pk__cross{background:#ffffff;border:1px solid rgba(122,85,24,.35);border-radius:14px;padding:1.5rem;}
.mm-pk__cross .mm-pk__cicon{color:#7a5518;font-size:1.3rem;margin-bottom:.8rem;}
.mm-pk__cross p{color:#2c4238;font-size: var(--fs-body);line-height:1.6;margin:0 0 .9rem;}
.mm-pk__cross strong{color:#14291F;}
.mm-pk__crossbtn{display:inline-flex;align-items:center;gap:.5rem;background:#e0b07a;color:#14291F;font-weight:700;font-size: var(--fs-body);text-decoration:none;border-radius:10px;padding:.7rem 1.1rem;transition:opacity .18s ease;}
.mm-pk__crossbtn:hover{opacity:.85;color:#14291F;}
.mm-pk__crossbtn:focus-visible{outline:2px solid #12684a;outline-offset:2px;}
/* Zusammenfassung + Formular */
.mm-pk__sumwrap{background:#ffffff;border:1px solid rgba(20,41,31,.12);border-radius:12px;padding:1rem 1.1rem;margin-bottom:1.5rem;}
.mm-pk__sumtitle{font-size: var(--fs-body);text-transform:uppercase;letter-spacing:.09em;color:#4f6459;margin-bottom:.6rem;}
.mm-pk__sum{display:grid;gap:.4rem;}
.mm-pk__sumitem{display:flex;gap:.8rem;justify-content:space-between;font-size: var(--fs-body);line-height:1.4;}
.mm-pk__sumlabel{color:#4f6459;flex:0 0 auto;}
.mm-pk__sumvalue{text-align:right;color:#14291F;}
.mm-pk__frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.mm-pk__field{margin-bottom:1rem;display:flex;flex-direction:column;}
.mm-pk__field[hidden]{display:none;}
.mm-pk__field label{font-size: var(--fs-body);color:#4f6459;margin-bottom:.35rem;}
.mm-pk__req{color:#7a5518;}
.mm-pk__opt{color:#5b6b63;font-weight:400;font-size: var(--fs-body);}
.mm-pk__field input,.mm-pk__field textarea{background:#ffffff;border:1px solid rgba(20,41,31,.20);border-radius:10px;padding:.75rem .9rem;color:#14291F;font-size: var(--fs-body);font-family:inherit;width:100%;}
.mm-pk__field input::placeholder,.mm-pk__field textarea::placeholder{color:#5b6b63;}
.mm-pk__field input:focus,.mm-pk__field textarea:focus{outline:none;border-color:#12684a;background:#ffffff;}
.mm-pk__err{display:none;color:#a33a1e;font-size: var(--fs-body);margin-top:.3rem;}
/* Task 1423: Seitenzahl-Schritt in Zweig B (Panel data-panel="pages") */
.mm-pk__field--pages{max-width:16rem;}
.mm-pk__field--pages input{font-size: var(--fs-body);font-weight:600;letter-spacing:.02em;}
.mm-pk__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;}
.mm-pk__chip{background:#ffffff;border:1px solid rgba(20,41,31,.20);border-radius:999px;padding:.5rem 1rem;color:#2c4238;font-size: var(--fs-body);font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s,color .15s;}
.mm-pk__chip:hover{border-color:#12684a;color:#14291F;}
.mm-pk__chip.is-selected{background:rgba(52,211,153,.16);border-color:#12684a;color:#14291F;}
@media (max-width:560px){
  .mm-pk__field--pages{max-width:100%;}
  .mm-pk__chip{flex:1 1 calc(50% - .5rem);text-align:center;padding:.6rem .5rem;}
}
.mm-pk__field.has-error input{border-color:#a33a1e;}
.mm-pk__field.has-error .mm-pk__err{display:block;}
.mm-pk__privacy{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;margin:.4rem 0 0;font-size: var(--fs-body);line-height:1.5;color:#2c4238;}
.mm-pk__privacy input{position:absolute;opacity:0;width:0;height:0;}
.mm-pk__cbox{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.12rem;border:1px solid rgba(20,41,31,.32);border-radius:5px;position:relative;}
.mm-pk__privacy input:checked + .mm-pk__cbox{background:#34d399;border-color:#12684a;}
.mm-pk__privacy input:checked + .mm-pk__cbox::after{content:"";position:absolute;left:.36rem;top:.12rem;width:.28rem;height:.58rem;border:solid #14291F;border-width:0 2px 2px 0;transform:rotate(45deg);}
.mm-pk__privacy input:focus-visible + .mm-pk__cbox{outline:2px solid #12684a;outline-offset:2px;}
.mm-pk__ptext a{color:#12684a;}
.mm-pk__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.mm-pk__errorbox{display:none;margin-top:1rem;background:rgba(163,58,30,.10);border:1px solid rgba(163,58,30,.45);border-radius:10px;padding:.8rem 1rem;color:#8a3a3a;font-size: var(--fs-body);}
.mm-pk__errorbox.is-visible{display:block;}
.mm-pk__bottom{display:flex;align-items:center;gap:.7rem;margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid rgba(20,41,31,.12);}
.mm-pk__back{flex:0 0 auto;width:2.9rem;height:2.9rem;border-radius:10px;background:#ffffff;border:1px solid rgba(20,41,31,.20);color:#2c4238;cursor:pointer;visibility:hidden;}
.mm-pk__back.is-visible{visibility:visible;}
.mm-pk__next{flex:1 1 auto;height:2.9rem;border:0;border-radius:10px;background:#14291F;color:#ffffff;font-weight:700;font-size: var(--fs-body);letter-spacing:.02em;cursor:pointer;transition:opacity .18s ease;}
.mm-pk__next:disabled{opacity:.35;cursor:not-allowed;}
.mm-pk__next:focus-visible,.mm-pk__back:focus-visible{outline:2px solid #7a5518;outline-offset:2px;}
.mm-pk__success{display:none;text-align:center;padding:1rem 0 .5rem;}
.mm-pk__success.is-active{display:block;animation:mmPkIn .3s ease both;}
.mm-pk__check{width:3.2rem;height:3.2rem;border-radius:50%;background:#34d399;color:#14291F;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 1.1rem;}
.mm-pk__success h2{font-family:"Space Grotesk",Arial,sans-serif;color:#14291F;font-size: var(--fs-h2);margin-bottom:.6rem;}
.mm-pk__ssub{color:#2c4238;font-size: var(--fs-body);line-height:1.6;max-width:38rem;margin:0 auto 1.4rem;}
.mm-pk__card{background:#ffffff;border:1px solid rgba(20,41,31,.12);border-radius:12px;padding:1.2rem;max-width:34rem;margin:0 auto 1.3rem;}
.mm-pk__cicon2{color:#12684a;font-size:1.1rem;margin-bottom:.5rem;}
.mm-pk__ctime{font-weight:600;color:#14291F;margin-bottom:.35rem;}
.mm-pk__cdetail{color:#4f6459;font-size: var(--fs-body);line-height:1.5;}
.mm-pk__hotline{font-size: var(--fs-body);color:#4f6459;}
.mm-pk__hotline a{color:#12684a;font-weight:600;margin-left:.4rem;}
@media (max-width:640px){
  .mm-pk{padding:2.25rem 0;}
  .mm-pk__box{padding:1.4rem 1.1rem 1rem;border-radius:14px;}
  .mm-pk__frow{grid-template-columns:1fr;gap:0;}
  .mm-pk__tiles{grid-template-columns:1fr 1fr;}
  /* Task 1422: gestapelte Weiche-Kacheln gleich hoch - keine Option darf durch
     mehr Hoehe prominenter wirken als die andere. */
  .mm-pk__tiles--wide{grid-template-columns:1fr;grid-auto-rows:1fr;}
  .mm-pk__tile{padding:1rem .7rem;}
  .mm-pk__pkgs{grid-template-columns:1fr;}
  /* Task 1454: auf schmalen Screens Tabs gestapelt, sonst brechen die
     Stufennamen um und die drei Tabs werden unterschiedlich hoch. */
  .mm-pk__tiertabs{grid-template-columns:1fr;gap:.4rem;}
  .mm-pk__tiertab{border-radius:12px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;text-align:left;gap:.2rem .6rem;}
  .mm-pk__tiertabrec{flex:1 0 100%;}
  .mm-pk__tiertab.is-active{border-bottom-color:#12684a;}
  .mm-pk__tiercard{border-top:1px solid #12684a;border-radius:14px;margin-top:.5rem;padding:1.2rem 1rem 1rem;}
  .mm-pk__sumitem{flex-direction:column;gap:.1rem;}
  .mm-pk__sumvalue{text-align:left;}
}

/* ==========================================================================
   Task 1425: Autorenbox / Ansprechpartner-Box - einheitliches Layout
   .boost-author (19 Seiten, "Über den Autor") und .boost-founder (3 Lösungs-
   seiten, "Wer das bei Ihnen macht") hatten zwei verschiedene Layouts:
   .boost-author komplett ohne Layout-CSS (Bild + Text gestapelt, Bild eckig
   120px), .boost-founder mit eigenem Inline-<style> (Grid, 220px, radius 16px).
   Beide laufen jetzt zentral über dieselben Regeln: Bild links, 88px, rund,
   Text daneben. Die Inline-<style>-Bloecke wurden aus den drei founder-Slices
   entfernt - kommen sie zurueck, ueberschreiben sie diese Datei wieder.
   ========================================================================== */
.boost-author,
.boost-founder {
    display: flex;
    gap: 1.75rem;
    margin-top: 1.5rem;
}
/* Autorenbox: kurzer Text, Bild optisch mittig dazu.
   Ansprechpartner-Box: mehrere Absaetze, da wuerde ein mittig schwebendes
   Foto neben 300px Text seltsam wirken - deshalb oben buendig. */
.boost-author { align-items: center; }
.boost-founder { align-items: flex-start; }

.boost-author__photo,
.boost-founder__photo {
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
}
.boost-founder__photo { margin-top: .35rem; }

.boost-author__body,
.boost-founder__body { min-width: 0; }

.boost-author__name,
.boost-founder__name {
    font-family: "Space Grotesk", Arial, sans-serif;
    font-weight: 700;
    font-size: var(--fs-body);
    color: #14291F;
    margin: 0 0 .15rem;
}
.boost-author__role,
.boost-founder__eyebrow {
    font-size: var(--fs-body);
    color: #4a7a63;
    margin: 0 0 .6rem;
}
.boost-founder__eyebrow {
    font-size: var(--fs-body);
    text-transform: uppercase;
    letter-spacing: .09em;
    margin-bottom: .3rem;
}
.boost-author__bio { margin-bottom: .6rem; }
.boost-author__links,
.boost-founder__links { margin: 0; }
.boost-founder__links { margin-top: 1rem; }

/* Sehr schmale Screens: nebeneinander bliebe die Textspalte unter ~200px.
   Deshalb ab 480px abwaerts untereinander, Bild bleibt klein und linksbuendig. */
@media (max-width: 480px) {
    .boost-author,
    .boost-founder {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    .boost-author__photo,
    .boost-founder__photo {
        width: 72px;
        height: 72px;
        margin-top: 0;
    }
}

/* ==========================================================================
   Task 1426 - Punkt 11: Autorenbox / Ansprechpartner-Box mittig zentrieren
   Die Box (Bild + Text als Einheit) stand linksbuendig im Content-Block und
   lief ueber die volle Containerbreite. Sie bekommt jetzt eine eigene
   max-width und wird als ganzer Block per margin:auto zentriert - nicht der
   Text wird zentriert, sondern das Element. Wirkt zentral auf allen 19 Seiten.
   Ergaenzt den Block "Task 1425" oben; nur Box-Ausrichtung, kein Innenlayout.
   ========================================================================== */
.boost-author,
.boost-founder {
    max-width: 46rem;
    margin-left: auto;
    margin-right: auto;
}
/* bio hatte 78ch - waere breiter als die Box und wuerde die Zentrierung
   optisch aufheben. */
.boost-author__bio { max-width: none; }

/* ==========================================================================
   Task 1426 - Punkt 12: Kurzaudit-Tool (Modul 128, .mm-qual) auf volle
   Containerbreite + groessere Typografie.
   Vorher: .mm-qual__box hatte max-width:56rem und war damit deutlich schmaler
   als die uebrigen Content-Bloecke der Seite (.container: 1220-1600px).
   Die Breiten-/Typo-Aenderung ist bewusst ab 768px gekapselt - auf Mobile
   bleiben die bestehenden kompakten Werte (2-spaltiges Kachelraster bei 390px
   wuerde mit groesseren Labels umbrechen).
   Wirkt zentral auf allen ~21 Seiten mit dem Modul.
   ========================================================================== */
.mm-qual__box { max-width: none; }

@media (min-width: 768px) {
    .mm-qual__box { padding: 2.75rem 2.75rem 1.75rem; }

    .mm-qual__meta   { font-size: var(--fs-body); }
    .mm-qual__h      { font-size: var(--fs-h2); }
    .mm-qual__intro,
    .mm-qual__desc   { font-size: var(--fs-body); line-height: 1.6; }
    .mm-qual__hint   { font-size: var(--fs-body); }

    /* Kacheln: mehr Mindestbreite, damit das Raster bei voller Container-
       breite nicht in 5-6 schmale Spalten zerfaellt. */
    .mm-qual__tiles       { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .9rem; }
    .mm-qual__tiles--wide { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
    .mm-qual__tile        { padding: 1.5rem 1.1rem; }
    .mm-qual__ticon       { width: 3rem; height: 3rem; font-size: 1.25rem; }
    .mm-qual__tlabel      { font-size: var(--fs-body); }
    .mm-qual__tsub        { font-size: var(--fs-body); }

    .mm-qual__row    { padding: 1.05rem 1.2rem; }
    .mm-qual__rlabel { font-size: var(--fs-body); }

    .mm-qual__sumitem      { font-size: var(--fs-body); }
    .mm-qual__field label  { font-size: var(--fs-body); }
    .mm-qual__privacy      { font-size: var(--fs-body); }

    .mm-qual__next { height: 3.2rem; font-size: var(--fs-body); }
    .mm-qual__back { width: 3.2rem; height: 3.2rem; }

    .mm-qual__success h2 { font-size: var(--fs-h2); }
    .mm-qual__ssub       { font-size: var(--fs-body); }
}

/* ==========================================================================
   Task 1429 - H2 "Über den Autor" mittig zentrieren
   Die Überschrift steht als Modul-77-Headline (value2) direkt VOR der in
   Task 1426 zentrierten .boost-author-Box und blieb dadurch linksbündig.
   Getroffen wird ausschließlich das h2, dem unmittelbar eine .boost-author
   folgt (:has(+ ...)) - alle anderen h2 der Seite bleiben unverändert.
   Gleiche max-width wie die Box, damit Überschrift und Box optisch auf
   derselben Achse zentriert sind.
   Update: .boost-founder war bewusst ausgenommen, wirkte dadurch aber auf
   den 3 Lösungsseiten inkonsequent (dort links, überall sonst zentriert).
   Jetzt einheitlich für beide Box-Typen.
   ========================================================================== */
h2:has(+ .boost-author),
h2:has(+ .boost-founder) {
    max-width: 46rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* ==========================================================================
   Task #1434 - Schriftgroessen-Vereinheitlichung (3 Stufen)
   Genau drei Groessen seitenweit:
     var(--fs-h1)   Headline-Ebene   (H1 + grosse Display-Zahlen/Preise/Counter)
     var(--fs-h2)   Subheadline      (H2/H3/H4 + Modul-Titel)
     var(--fs-body) alles Uebrige    (Fliesstext, Listen, Karten, FAQ, Buttons,
                                      Labels, Chips, Formulare, Navigation, Footer)
   Tokens definiert in template/css/style.css (:root).
   Dieser Block faengt Erbfaelle aus Bootstrap/Browser-Defaults ab, die sonst
   wieder 16px (1rem) erzeugen wuerden. Keine neuen font-size-Werte anlegen.
   ========================================================================== */
body { font-size: var(--fs-body); }

h1, .h1 { font-size: var(--fs-h1); }
h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-size: var(--fs-h2); }

p, ul, ol, li, dl, dt, dd, td, th, label, figcaption, blockquote, small, .small,
input, select, textarea, button, .btn, .accordion-button, .form-control,
.form-label, .form-check-label, .badge, .nav-link, .dropdown-item,
.card-text, .lead, .breadcrumb, .breadcrumb li, .breadcrumb a {
    font-size: var(--fs-body);
}

/* ==========================================================================
   Task #1435 - Seitenweite Konsistenz-Bereinigung
   (1) Spaltenbreite: Vollbreiten-Textbloecke nutzen wieder 12/12 statt ~62%
   (2) Vertikale Abstaende: genau 3 Rasterstufen (48 / 72 / 112 px)
   (3) Hintergrund-Baender: wechseln durchgaengig, keine zwei gleichen in Folge
   Farbsteuerung der Module 77/89/101/103 laeuft über die Slice-Werte
   (value10 / value16 bzw. die JSON-Configs), die Module 121-129 haben kein
   Farbfeld und werden deshalb hier zentral auf ihr Band festgelegt.
   ========================================================================== */

/* ---------- (2) Abstandsraster: 3 Stufen, sonst nichts ---------- */
:root{
    --mm-sp-s:  48px;   /* knapp      - kurze Ueberleitungs-/Headline-Bloecke */
    --mm-sp-m:  72px;   /* normal     - Standard-Textabschnitt (weisses Band) */
    --mm-sp-l: 112px;   /* grosszuegig- farbige Baender + interaktive Module  */
}
.mm-sp--s  { padding-top:var(--mm-sp-s)!important; padding-bottom:var(--mm-sp-s)!important; }
.mm-sp--m  { padding-top:var(--mm-sp-m)!important; padding-bottom:var(--mm-sp-m)!important; }
.mm-sp--l  { padding-top:var(--mm-sp-l)!important; padding-bottom:var(--mm-sp-l)!important; }
.mm-sp--st { padding-top:var(--mm-sp-s)!important; padding-bottom:0!important; }
.mm-sp--mt { padding-top:var(--mm-sp-m)!important; padding-bottom:0!important; }
.mm-sp--lt { padding-top:var(--mm-sp-l)!important; padding-bottom:0!important; }
.mm-sp--sb { padding-top:0!important; padding-bottom:var(--mm-sp-s)!important; }
.mm-sp--mb { padding-top:0!important; padding-bottom:var(--mm-sp-m)!important; }
.mm-sp--lb { padding-top:0!important; padding-bottom:var(--mm-sp-l)!important; }
.mm-sp--0  { padding-top:0!important; padding-bottom:0!important; }

/* Module 121-129 tragen ihre Abstaende fest im Modul-CSS - hier auf dasselbe
   Raster gezogen. Ausnahme .mm-imgtext (123): Scroll-/Sticky-Modul, dessen
   Hoehe die Animation steuert - Padding bleibt unangetastet. */
.mm-compare,
.mm-aichat, .mm-serp, .mm-maps, .mm-vs,
.mm-qual, .mm-pk        { padding-top:var(--mm-sp-l)!important; padding-bottom:var(--mm-sp-l)!important; }
.mm-process             { padding-top:var(--mm-sp-m)!important; padding-bottom:var(--mm-sp-m)!important; }
/* Artikel-Slider (103): padTB-Klasse traf frueher Wrapper UND Intro gleichzeitig
   (gemessen 240/160 px). Innen neutralisieren, Raster nur aussen. */
.artikel-slider                          { padding-top:var(--mm-sp-l); padding-bottom:var(--mm-sp-l); }
.artikel-slider .slider-wrapper,
.artikel-slider .slider-intro            { padding-top:0!important; padding-bottom:0!important; }

/* ---------- (3) Feste Baender der Module ohne Farbfeld ---------- */
.mm-compare              { background-color:#0d0d0d; }   /* 121 Sichtbarkeits-Vergleich */
.mm-aichat               { background-color:#e4e4e4; }   /* 124 KI-Chat-Simulation      */
.mm-serp                 { background-color:#e4e4e4; }   /* 125 Suchergebnis-Simulation */
.mm-maps                 { background-color:#e4e4e4; }   /* 126 Kartendienst-Simulation */
.mm-vs                   { background-color:#e4e4e4; }   /* 127 Ohne/Mit-Vergleich      */
.mm-process              { background-color:#ffffff; }   /* 122 Prozess-Timeline        */
.mm-qual, .mm-pk         { background-color:#e4e4e4; }   /* 128/129 Kurzaudit + Preise  */

/* Die Simulationsmodule standen bisher auf Weiss; auf #e4e4e4 muessen die
   hellen Innenflaechen sichtbar bleiben. */
.mm-serp__window, .mm-maps__window, .mm-aichat__window { background-color:#ffffff; }

/* ---------- (1) Vollbreite: 12/12 statt ~62 % ---------- */
/* Die ch-Deckelung aus Task 1425 machte Vollbreiten-Textspalten faktisch nur
   ~7,5 von 12 Spalten breit (873 px bei 1400 px Container), linksbuendig mit
   toter Flaeche rechts. Zweispaltige Layouts (bltr/brtl, col-lg-6) bleiben
   unberuehrt - das sind bewusste Layouts. */
.img-txt-wrapper > .content.col-12 > p,
.img-txt-wrapper > .content.col-12 > ul,
.img-txt-wrapper > .content.col-12 > ol,
.img-txt-wrapper > .content.col-md-12 > p,
.img-txt-wrapper > .content.col-md-12 > ul,
.img-txt-wrapper > .content.col-md-12 > ol,
.mm-compare .intro-text > p,
.boost-case__text,
.mm-summary                              { max-width:none; }

/* 123 (.mm-imgtext): das Gruen lag nur auf dem sticky Overlay, der aeussere
   Scroll-Container blieb transparent. Band explizit setzen, damit der
   Farbwechsel auch am Anfang/Ende der Scroll-Strecke traegt. */
.mm-imgtext { background-color:#14291F; }

/* Mobile: gleiches 3-Stufen-Raster, kleinere absolute Werte (112 px Bandrand
   frisst auf 390 px Breite zu viel Hoehe). Stufenverhaeltnis bleibt gleich. */
@media (max-width: 767.98px) {
    :root{ --mm-sp-s:32px; --mm-sp-m:48px; --mm-sp-l:72px; }
}

/* ==========================================================================
   Task #1436 - Zentrale Farb-/Verlaufs-Tokens (Boost)
   --------------------------------------------------------------------------
   Fuehrende Quelle der Palette bleibt das AddOn "Global Settings"
   (rex_global_settings.glob_bgcolors / glob_bggradients, clang=1). Die Module
   lesen von dort. Dieser Block spiegelt dieselben Werte als CSS-Tokens,
   damit modul-eigene <style>-Bloecke (121-129) und custom.css denselben
   Grau-/Verlaufswert verwenden koennen, ohne ihn erneut hart zu tippen.
   Bei Aenderung IMMER beide Stellen gleichzeitig pflegen.

   --boost-gruen : #14291F  = glob_maincolor, identisch mit var(--maincolor)
   --boost-grau  : #E7EDEA  = hsl(150,14%,92%) - derselbe Farbton (150 Grad)
                   wie das Boost-Gruen, nur entsaettigt und aufgehellt.
                   Neu in Task #1436, bgcolors-Index 10 "Boost-Grau".
                   NICHT zu verwechseln mit dem neutral-kalten Alt-Grau
                   #e4e4e4 (Index 8), das noch auf 74 Slices live ist.
   ========================================================================== */
:root{
    --boost-gruen: #14291F;
    --boost-grau:  #E7EDEA;

    /* Die 4 Verlaeufe aus Task #1436, wortgleich zu den Global-Settings-
       Eintraegen (bggradients-Index 13-16). Richtung immer oben -> unten,
       Label liest sich in Leserichtung (oben zuerst). */
    --boost-gradient-grau-weiss:  linear-gradient(to bottom, rgba(231,237,234,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,1) 100%);
    --boost-gradient-weiss-grau:  linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(231,237,234,1) 100%);
    --boost-gradient-gruen-weiss: linear-gradient(to bottom, rgba(20,41,31,1) 0%, rgba(20,41,31,1) 10%, rgba(255,255,255,1) 85%, rgba(255,255,255,1) 100%);
    --boost-gradient-weiss-gruen: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 15%, rgba(20,41,31,1) 90%, rgba(20,41,31,1) 100%);
}

/* Utility-Klassen fuer Stellen ohne Modul-Dropdown (z.B. Template, freie
   HTML-Slices). Die Module setzen den Verlauf per Inline-background-image,
   diese Klassen sind der klassenbasierte Zwilling davon. */
.bg-gradient-grau-weiss  { background-image: var(--boost-gradient-grau-weiss); }
.bg-gradient-weiss-grau  { background-image: var(--boost-gradient-weiss-grau); }
.bg-gradient-gruen-weiss { background-image: var(--boost-gradient-gruen-weiss); }
.bg-gradient-weiss-gruen { background-image: var(--boost-gradient-weiss-gruen); }

/* Pin-Hero: Grid-Standardabstand (Container/Row/Content) entfernen, damit der Hero
   direkt unter dem Header sitzt, kein weisser Rand. Betrifft nur Slices, die den
   Pin-Hero enthalten. */
.container:has(> .row > .content > .boost-pinhero),
.row:has(> .content > .boost-pinhero),
.content:has(> .boost-pinhero) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ==========================================================================
   Task #1443 – Kontrast-Korrektur (WCAG AA, 4.5:1 Fließtext / 3:1 Großtext)
   --------------------------------------------------------------------------
   Ausgangsbefund: 466 Textstellen auf 24 Boost-Seiten unter AA (Playwright-
   Messung berechnete Textfarbe vs. komponierte Hintergrundfarbe).

   Teil 1 (353 Fälle) war ein DATEN-Problem, kein CSS-Problem: 26 Slices von
   Modul 77 standen auf bgcolor-Index 9 (#14291F Dunkelgrün), hatten aber kein
   fgcolor gesetzt – Bootstrap-Standard #212529 auf Dunkelgrün = 1:1. Das ist
   in rex_article_slice.value11='1' (weiß) korrigiert, NICHT hier. Vorbild
   waren die 27 Slices, die es schon richtig hatten (siehe Footer/Pin-Hero).
   Wenn künftig ein Slice auf Dunkelgrün/Schwarz/Dunkelgrau gestellt wird,
   MUSS im Modul-Dropdown "Textfarbe" auf weiß gesetzt werden.

   Teil 2 (unten): Restfälle, deren Farbe fest in den <style>-Blöcken der
   Module 121–129 bzw. in Slice-HTML steht. Die Modul-Styles stehen im
   Dokument NACH custom.css, deshalb hier bewusst !important – ohne das
   gewinnt der Modul-Block bei gleicher Spezifität.

   Nur die TEXTfarbe wird geändert, kein Hintergrund (Vorgabe Briefing).
   Gewählte Ersatzwerte behalten den Farbton und heben nur die Helligkeit an
   bzw. ab; jede ist nachgemessen (Verhältnisse im QA-Bericht).
   ========================================================================== */

/* --- Helle Flächen: zu blasse Grautöne abdunkeln ------------------------- */
.mm-process .mm-process__durationlabel,
.mm-serp .mm-serp__url,
.mm-serp .mm-serp__meta,
.mm-serp .mm-serp__gap span,
.mm-maps .mm-maps__schema,
.mm-maps .mm-maps__packlabel,
.mm-maps .mm-maps__cut span   { color: #556660 !important; }

.boost-flipcard .boost-flipcard__hint,
.boost-calc .boost-calc__note,
.boost-calc .boost-calc__scale span,
.boost-schema-toggle .boost-schema-toggle__label { color: #6e6e6e !important; }

.boost-calc .boost-calc__cardlabel,
.boost-faq-quiz .boost-faq-quiz__option .boost-faq-quiz__label,
div.boost-logos__note p { color: #707070 !important; }

/* Grün-Akzente auf hellgrauen/hellgrünen Flächen: eine Stufe dunkler */
.boost-author .boost-author__body .boost-author__role,
.mm-vs .container .mm-vs__kicker { color: #3a6b53 !important; }

/* Status-Badges: Rot/Grün-Töne knapp unter AA -> dunkler */
.boost-drag .boost-drag__badge--good { color: #155c3f !important; }
.boost-drag .boost-drag__badge--bad,
.boost-schema-toggle .boost-schema-toggle__answer--unsure { color: #8a3a3a !important; }

/* Flipcard-Rückseite "Mittel": Olivgrund #8a7a3a trägt kein Weiß (4.26:1).
   Hintergrund bleibt laut Briefing unangetastet, also Text auf Schwarz. */
.boost-flipcard .boost-flipcard__back--mittel .boost-flipcard__level,
.boost-flipcard .boost-flipcard__back--mittel .boost-flipcard__text { color: #000000 !important; }

/* --- Dunkle Flächen: Text aufhellen -------------------------------------- */
/* 124 KI-Chat-Simulation: Notiz-Zeile und "kommt nicht vor"-Hinweis sitzen
   auf #1d3228 bzw. #283728. */
.mm-aichat .mm-aichat__text .mm-aichat__note { color: #9fb3aa !important; }
.mm-aichat .mm-aichat__missing .mm-aichat__missingtext { color: #e4e4e4 !important; }

/* Dunkelgrüne Bänder (Modul 77, inline background-color:#14291F): Elemente
   mit eigener Farbregel erben das weiße Inline-color des Wrappers nicht. */
[style*="#14291F"] .mm-preisgrid__note,
[style*="#14291F"] p.mm-text--sm.mm-preisgrid__note { color: #d8ded9 !important; }
/* .mm-pk__box traegt sein Dunkelgruen aus custom.css, nicht inline -> eigener Scope. */
.mm-pk__box .mm-pk__hint a,
.mm-qual__box .mm-qual__hint a { color: #12684a !important; }

/* ==========================================================================
   Boost-Studie / Sichtbarkeits-Erhebung (Artikel 452, Slice 10884)
   Aus dem Editor-Feld ausgelagert, weil der Redactor/CKEditor <style>-Tags
   im Inhaltsfeld nicht als Code erkennt, sondern als sichtbaren Text
   anzeigt (und beim Speichern sogar Klassen an den p-Tags entfernt hat).
   Diese Regeln gehoeren NICHT mehr ins CKEditor-Feld - bei aehnlichen
   eigenen Komponenten kuenftig immer hier statt inline einbauen.
   ========================================================================== */
.boost-studie{margin-top:1.5rem;padding:2rem;background:#f4f4f4;border-radius:4px;}
.boost-studie__grid{display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr);}
.boost-studie__kpi{text-align:center;}
.boost-studie__num{font-size:var(--fs-h1);font-weight:700;color:var(--maincolor);line-height:1;}
.boost-studie__label{font-size:var(--fs-body);color:#555;margin-top:.5rem;}
.boost-studie__method{border-top:1px solid #ddd;margin-top:1.75rem;padding-top:1.25rem;}
.boost-studie__methodtitle{font-size:var(--fs-body);font-weight:700;color:#333;margin:0 0 .5rem 0;text-transform:uppercase;letter-spacing:.05em;}
.boost-studie__method ul{margin:0 0 .75rem 0;padding-left:1.2rem;font-size:var(--fs-body);color:#444;}
.boost-studie__note{font-size:var(--fs-body);color:#555;margin:0;}
@media (max-width:800px){.boost-studie__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.boost-studie__grid{grid-template-columns:1fr;}}

/* Footer (Artikel 451): generisches .content-Padding (60px oben/unten) erzeugte
   einen weissen Rand ueber/unter dem full-bleed dunkelgruenen Footer. */
.content:has(> .boost-footer){padding-top:0;padding-bottom:0;}


/* ==========================================================================
   BOOST-KOMPONENTEN-CSS, aus den CKEditor-Inhaltsfeldern ausgelagert
   (Task 1478, 08.09.2026)
   Der Redactor/CKEditor im REDAXO-Backend behandelt <style>-Tags im
   Inhaltsfeld (Modul 77 "txt100", value4) nicht als Code, sondern zeigt sie
   als sichtbaren Text an - und entfernt beim Speichern durch einen Redakteur
   stillschweigend Klassen an umliegenden Tags (passiert bei Slice 10884 und
   10942). Deshalb steht komponentenspezifisches CSS ab jetzt AUSSCHLIESSLICH
   hier, nie mehr im Editorfeld.
   ========================================================================== */

/* --- boost-pinhero  (Pin-Hero-Buehne) ---
   Verwendet auf 23 Slices / 22 Artikeln (441,452,453,454,455,456,457,458,459,460,
   461,462,463,464,465,466,467,468,469,470,471,472,473). CSS war in jedem Slice
   identisch dupliziert. Die JS-IDs (#boostPinHero, #boostPinHeroKi, ...) sind
   pro Seite verschieden, die Regeln nicht -> ein gemeinsamer Block.
   Ausnahme #boostPinHeroLoesungen (Slice 11057, Artikel 469): nur 2 Stufen,
   daher 160vh statt 220vh Track - siehe Override unten.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-pinhero{position:relative;height:220vh;height:220dvh;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;}
.boost-pinhero__sticky{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;background:#14291F;}
/* Task 1451: die gepinnte Buehne ist wieder viewporthoch (100dvh). Mit der
   vorherigen 60vh-Buehne blieben waehrend des gesamten Pins rund 40vh leerer
   Wrapper (300-390px weiss) unter dem Hero im Viewport stehen - das war die
   gemeldete Luecke, nicht ein Fehler in der JS-Progress-Rechnung.
   Track = Buehne + Scrollweg: 100vh + 3 x 40vh = 220vh (2 Stufen: 100 + 2 x 30 = 160vh).
   Das Script liest die tatsaechliche Buehnenhoehe, das Timing bleibt korrekt. */
.boost-pinhero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;}
/* Task 1453: Hintergrund ist jetzt ein echtes Team-Foto. Die flaechige Einfaerbung
   liegt bei 10% (__overlay), damit die Menschen erkennbar bleiben. Den WCAG-Kontrast
   sichert das Verlaufsband __scrim, das nur im mittleren Textbereich dunkel ist und
   nach oben/unten auf 0 auslaeuft - dort bleibt das Foto nahezu unveraendert. */
.boost-pinhero__scrim{position:absolute;inset:0;pointer-events:none;background:rgba(6,16,11,.55);}
.boost-pinhero__overlay{position:absolute;inset:0;background:rgba(20,41,31,0.15);}
.boost-pinhero__stages{position:relative;height:100%;max-width:900px;margin:0 auto;padding:0 2rem;}
.boost-pinhero__stage{position:absolute;top:50%;left:2rem;right:2rem;transform:translateY(-50%);opacity:1;transition:opacity .35s ease;}
/* Task 1418 Punkt 6: sichtbarer Grundzustand ohne JS. Erst wenn das Script laeuft
   (und prefers-reduced-motion nicht gesetzt ist) wird --js gesetzt und die Buehne gepinnt. */
.boost-pinhero--js .boost-pinhero__stage:not([data-stage="0"]){opacity:0;}
.boost-pinhero:not(.boost-pinhero--js){height:auto;}
.boost-pinhero:not(.boost-pinhero--js) .boost-pinhero__sticky{position:relative;height:auto;overflow:visible;padding:5rem 0;}
.boost-pinhero:not(.boost-pinhero--js) .boost-pinhero__photo{position:absolute;}
.boost-pinhero:not(.boost-pinhero--js) .boost-pinhero__stages{height:auto;}
.boost-pinhero:not(.boost-pinhero--js) .boost-pinhero__stage{position:relative;top:auto;left:auto;right:auto;transform:none;opacity:1;margin:0 0 2.5rem 0;}
.boost-pinhero:not(.boost-pinhero--js) .boost-pinhero__stage:last-child{margin-bottom:0;}
.boost-pinhero:not(.boost-pinhero--js) .boost-pinhero__hint{display:none;}
.boost-pinhero__eyebrow{color:#fff;text-transform:uppercase;letter-spacing:.06em;font-size:var(--fs-body);margin-bottom:1rem;opacity:.95;text-shadow:0 1px 10px rgba(0,0,0,.55);}
.boost-pinhero__h1{color:#fff;font-size:var(--fs-h1);margin:0;line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.6);}
.boost-pinhero__h2{color:#fff;font-size:var(--fs-h2);margin:0 0 1rem 0;line-height:1.2;text-shadow:0 2px 14px rgba(0,0,0,.6);}
.boost-pinhero__text{color:#fff;font-size:var(--fs-body);max-width:680px;margin:0 0 1.5rem 0;text-shadow:0 1px 10px rgba(0,0,0,.55);}
.boost-pinhero__cta{display:inline-block;}
.boost-pinhero__hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:#fff;font-size:var(--fs-body);opacity:.6;}
@media (max-width:640px){.boost-pinhero__stage{left:1.25rem;right:1.25rem;}}

/* Artikel 469 / Slice 11057: 2 statt 3 Stufen -> kuerzerer Track. */
#boostPinHeroLoesungen{height:160vh;height:160dvh;}

/* --- mm-servicegrid  (Service-Kachelraster) ---
   Slices 10421 (Artikel 452) und 10892 (Artikel 466). Bis auf die Ueberschriften-
   ebene (h3 vs. h4) identisch -> beide Selektoren in einer Regel.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.mm-servicegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:1.5rem;}.mm-servicegrid__tile{display:block;background:#f4f4f4;border-radius:10px;padding:1.5rem;text-decoration:none;color:inherit;transition:background .2s ease;}.mm-servicegrid__tile:hover{background:#e9e9e9;}.mm-servicegrid__tile h3,.mm-servicegrid__tile h4{margin:0 0 .5rem 0;font-size:var(--fs-h2);color:#14291F;}.mm-servicegrid__tile p{margin:0;font-size:var(--fs-body);color:#555;}

/* --- boost-logos  (Logo-Wolke, Standardvariante) ---
   Slices 10938 (Artikel 468, Referenzen) und 10985 (Artikel 470, Rundum-
   Sichtbarkeit). CSS in beiden Slices identisch.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-logos{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:#fff;overflow:hidden;margin-top:1.75rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;}
.boost-logos__item{background:#fff;display:flex;align-items:center;justify-content:center;padding:2rem 1.75rem;aspect-ratio:3/2;}
.boost-logos__item img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.boost-logos__note{margin:1rem calc(50% - 50vw) 0;width:100vw;text-align:center;color:#8a8a8a;font-size:var(--fs-body);}
@media (min-width:640px){.boost-logos{grid-template-columns:repeat(4,1fr);}}
@media (min-width:900px){.boost-logos{grid-template-columns:repeat(8,1fr);}}
@media (max-width:640px){.boost-logos__item{padding:1.1rem 1rem;}}

/* --- boost-logos  (Logo-Wolke, Variante "Ueber uns") ---
   Slice 10942 (Artikel 458). Eigene Optik: auto-fill-Raster ab 150px, Rahmen,
   Graustufen-Logos mit Hover-Aufblendung, Hinweiszeile als div>p. Weil die
   Klassennamen mit der Standardvariante kollidieren, ist der Block per
   Body-ID #article-458 gescopet (template.php: <body id="article-REX_ARTICLE_ID">).
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
#article-458 .boost-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0;background:#fff;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;overflow:hidden;margin-top:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;}
#article-458 .boost-logos__item{background:#fff;box-shadow:0 0 0 .5px #e9e9e9;display:flex;align-items:center;justify-content:center;padding:1.5rem 1.25rem;aspect-ratio:16/10;}
#article-458 .boost-logos__item img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.62;transition:filter .25s ease,opacity .25s ease;}
#article-458 .boost-logos__item:hover img{filter:grayscale(0);opacity:1;}
#article-458 .boost-logos__note{margin:.75rem calc(50% - 50vw) 0;width:100vw;}
#article-458 .boost-logos__note p{margin:0;max-width:none;text-align:center;font-size:var(--fs-body);line-height:1.4;color:#8a8a8a;}
@media (max-width:640px){#article-458 .boost-logos{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));}#article-458 .boost-logos__item{padding:1rem .75rem;}}

/* --- boost-award ---
   Auszeichnungs-Zeile (FOCUS Business), Slice 10400 / Artikel 441.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-award{display:flex;align-items:center;gap:1.25rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.12);}.boost-award__img{width:92px;height:auto;flex-shrink:0;}.boost-award__text{font-size:var(--fs-body);line-height:1.5;color:#444;margin:0;}.boost-award__text a{text-decoration:underline;}@media (max-width:640px){.boost-award{flex-direction:column;align-items:flex-start;}}

/* --- boost-calc ---
   Sichtbarkeits-Rechner, Slice 10413 / Artikel 441.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-calc{margin-top:1.5rem;padding:2rem;background:#f4f4f4;border-radius:4px;}
.boost-calc__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;font-size:var(--fs-body);}
.boost-calc__value{font-size:var(--fs-h1);color:var(--maincolor);white-space:nowrap;}
.boost-calc__value--sm{font-size:var(--fs-body);}
.boost-calc__assumptitle{margin:1.75rem 0 .75rem;font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.05em;color:#555;font-weight:700;}
.boost-calc__slider{width:100%;height:2px;background:#ccc;-webkit-appearance:none;appearance:none;outline:none;margin:.5rem 0 1.25rem;}
.boost-calc__slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--maincolor);border:3px solid #fff;box-shadow:0 0 0 1px var(--maincolor);cursor:pointer;}
.boost-calc__slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--maincolor);border:3px solid #fff;box-shadow:0 0 0 1px var(--maincolor);cursor:pointer;}
.boost-calc__scale{display:flex;justify-content:space-between;font-size:var(--fs-body);color:#888;margin:-1rem 0 .5rem;}
.boost-calc__result{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem;}
.boost-calc__card{background:#fff;padding:1.25rem;border-left:3px solid #ddd;}
.boost-calc__card--on{border-left-color:var(--maincolor);}
.boost-calc__cardlabel{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.04em;color:#777;margin-bottom:.5rem;}
.boost-calc__cardnum{font-size:var(--fs-body);font-weight:700;color:#222;}
.boost-calc__note{font-size:var(--fs-body);color:#888;margin-top:1rem;margin-bottom:0;line-height:1.6;}
@media (max-width:640px){.boost-calc__result{grid-template-columns:1fr;}}

/* --- boost-check ---
   Checkliste, Slice 10435 / Artikel 452.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-check{margin-top:1.5rem;padding:2rem;background:#f4f4f4;border-radius:4px;}
.boost-check__item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #e4e4e4;cursor:pointer;font-size:var(--fs-body);}
.boost-check__item:last-of-type{border-bottom:none;}
.boost-check__item input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--maincolor);cursor:pointer;flex-shrink:0;}
.boost-check__result{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ddd;}
.boost-check__scorerow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;}
.boost-check__scorelabel{font-size:var(--fs-body);color:#555;}
.boost-check__scorevalue{font-size:var(--fs-h1);font-weight:700;color:var(--maincolor);}
.boost-check__bar{width:100%;height:10px;background:#e0e0e0;border-radius:999px;overflow:hidden;margin-bottom:1rem;}
.boost-check__barfill{width:0%;height:100%;background:var(--maincolor);transition:width .3s ease;}
.boost-check__msg{font-size:var(--fs-body);color:#444;margin:0;}

/* --- boost-audit-calc ---
   Audit-Rechner, Slice 10452 / Artikel 453.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-audit-calc{margin-top:1.5rem;padding:2rem;background:#f4f4f4;border-radius:4px;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);}
.boost-audit-calc__q{display:flex;flex-direction:column;gap:.5rem;}
.boost-audit-calc__qtitle{font-size:var(--fs-body);font-weight:700;color:#333;margin:0 0 .25rem 0;}
.boost-audit-calc__opt{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-body);color:#444;cursor:pointer;}
.boost-audit-calc__opt input{accent-color:var(--maincolor);width:16px;height:16px;cursor:pointer;}
.boost-audit-calc__result{grid-column:1/-1;border-top:1px solid #ddd;padding-top:1.25rem;text-align:center;}
.boost-audit-calc__num{font-size:var(--fs-h1);font-weight:700;color:var(--maincolor);line-height:1;}
.boost-audit-calc__hint{font-size:var(--fs-body);color:#555;margin-top:.5rem;}
@media (max-width:800px){.boost-audit-calc{grid-template-columns:1fr;}}

/* --- boost-schema-toggle ---
   Schema-Quiz-Toggle, Slice 10471 / Artikel 454.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-schema-toggle{margin-top:1.5rem;padding:2rem;background:#f4f4f4;border-radius:4px;}
.boost-schema-toggle__buttons{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.boost-schema-toggle__btn{padding:.65rem 1.25rem;border-radius:999px;border:1px solid #ccc;background:#fff;color:#444;font-size:var(--fs-body);cursor:pointer;transition:all .2s ease;}
.boost-schema-toggle__btn.is-active{background:var(--maincolor);border-color:var(--maincolor);color:#fff;}
.boost-schema-toggle__panel{display:none;}
.boost-schema-toggle__panel.is-active{display:block;animation:boostSchemaFade .3s ease;}
@keyframes boostSchemaFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.boost-schema-toggle__label{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.05em;color:#888;margin:0 0 .4rem 0;}
.boost-schema-toggle__raw{background:#fff;padding:1rem;border-radius:4px;font-size:var(--fs-body);color:#555;font-style:italic;margin:0 0 1.25rem 0;border:1px solid #e4e4e4;}
.boost-schema-toggle__answer{font-size:var(--fs-body);font-weight:600;margin:0;padding:1rem;border-radius:4px;}
.boost-schema-toggle__answer--unsure{background:rgba(224,122,122,.12);color:#a15353;}
.boost-schema-toggle__answer--sure{background:rgba(52,211,153,.12);color:#1f7a56;}

/* --- boost-faq-quiz ---
   FAQ-Quiz, Slice 10490 / Artikel 455.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-faq-quiz{margin-top:1.5rem;padding:2rem;background:#f4f4f4;border-radius:4px;}
.boost-faq-quiz__option{display:block;width:100%;text-align:left;background:#fff;border:2px solid #e4e4e4;border-radius:8px;padding:1.25rem;margin-bottom:1rem;cursor:pointer;transition:border-color .2s ease;font-family:inherit;}
.boost-faq-quiz__option:hover{border-color:#bbb;}
.boost-faq-quiz__option.is-correct{border-color:#34d399;background:rgba(52,211,153,.08);}
.boost-faq-quiz__option.is-wrong{border-color:#e07a7a;background:rgba(224,122,122,.08);}
.boost-faq-quiz__label{display:block;font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:.5rem;}
.boost-faq-quiz__text{display:block;font-size:var(--fs-body);color:#333;font-style:italic;}
.boost-faq-quiz__result{display:none;border-top:1px solid #ddd;padding-top:1.25rem;margin-top:.5rem;}
.boost-faq-quiz__result.is-visible{display:block;animation:boostQuizFade .3s ease;}
@keyframes boostQuizFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.boost-faq-quiz__resulttitle{font-weight:700;font-size:var(--fs-h2);margin:0 0 .5rem 0;color:var(--maincolor);}
.boost-faq-quiz__resulttext{margin:0;color:#444;font-size:var(--fs-body);}

/* --- boost-flipgrid / boost-flipcard ---
   Flip-Karten-Raster, Slice 10508 / Artikel 456.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-flipgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:1.5rem;}
.boost-flipcard{background:none;border:none;padding:0;cursor:pointer;perspective:1000px;height:180px;font-family:inherit;}
.boost-flipcard__inner{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d;}
.boost-flipcard.is-flipped .boost-flipcard__inner{transform:rotateY(180deg);}
.boost-flipcard__front, .boost-flipcard__back{position:absolute;inset:0;backface-visibility:hidden;border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.5rem;}
.boost-flipcard__front{background:#f4f4f4;border:1px solid #e4e4e4;color:#333;font-weight:600;}
.boost-flipcard__hint{font-size:var(--fs-body);color:#999;font-weight:400;text-transform:uppercase;letter-spacing:.04em;}
.boost-flipcard__back{transform:rotateY(180deg);color:#fff;}
.boost-flipcard__back--niedrig{background:#8a5a5a;}
.boost-flipcard__back--mittel{background:#8a7a3a;}
.boost-flipcard__back--hoch{background:var(--maincolor);}
.boost-flipcard__level{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.06em;opacity:.85;}
.boost-flipcard__text{font-size:var(--fs-body);line-height:1.3;}
@media (max-width:900px){.boost-flipgrid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.boost-flipgrid{grid-template-columns:1fr;}.boost-flipcard{height:auto;min-height:150px;}}

/* --- boost-drag ---
   Drag-and-Drop-Uebung, Slice 10526 / Artikel 457.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-drag{margin-top:1.5rem;}
.boost-drag__stage{position:relative;height:320px;border-radius:8px;overflow:hidden;background:#f4f4f4;}
.boost-drag__panel{position:absolute;inset:0;padding:1.75rem;display:flex;flex-direction:column;justify-content:space-between;}
.boost-drag__panel--after{background:#eef4f0;}
.boost-drag__panel--before{background:#fbeeee;}
.boost-drag__badge{display:inline-block;align-self:flex-start;font-size:var(--fs-body);font-weight:700;padding:.35rem .9rem;border-radius:999px;}
.boost-drag__badge--good{background:rgba(52,211,153,.18);color:#1f7a56;}
.boost-drag__badge--bad{background:rgba(224,122,122,.18);color:#a15353;}
.boost-drag__bars{display:flex;align-items:flex-end;gap:.75rem;height:120px;margin:1rem 0;}
.boost-drag__bar{width:32px;background:var(--maincolor);border-radius:4px 4px 0 0;}
.boost-drag__bar--bad{background:#c47a7a;}
.boost-drag__caption{font-size:var(--fs-body);color:#444;margin:0;}
.boost-drag__handle{position:absolute;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);left:50%;transform:translateX(-50%);pointer-events:none;}
.boost-drag__handle::after{content:"";position:absolute;top:50%;left:50%;width:36px;height:36px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.25);}
.boost-drag__range{width:100%;margin-top:1rem;-webkit-appearance:none;appearance:none;height:4px;background:#ccc;border-radius:999px;}
.boost-drag__range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--maincolor);border:3px solid #fff;box-shadow:0 0 0 1px var(--maincolor);cursor:pointer;}
.boost-drag__range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--maincolor);border:3px solid #fff;box-shadow:0 0 0 1px var(--maincolor);cursor:pointer;}

/* --- boost-quote ---
   Zitat-Block, Slice 10543 / Artikel 458.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-quote{margin-top:1.5rem;padding:3rem 2rem;background:#14291F;border-radius:4px;text-align:center;}
.boost-quote__text{color:#fff;font-size:var(--fs-h2);line-height:1.3;margin:0 auto;max-width:900px;border:0;padding:0;quotes:none;}
.boost-quote__author{color:#fff;opacity:.75;font-size:var(--fs-body);margin:1.5rem 0 0 0;}
.boost-quote__note{color:#e4e4e4;font-size:var(--fs-body);max-width:700px;margin:1.5rem auto 0 auto;}

/* --- boost-facts ---
   Fakten-Liste, Slice 10544 / Artikel 458.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-facts{margin-top:1.5rem;padding:2rem;background:#f4f4f4;border-radius:4px;}
.boost-facts__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.boost-facts__item{display:flex;flex-direction:column;gap:.25rem;text-align:center;}
.boost-facts__num{font-size:var(--fs-h1);font-weight:700;color:var(--maincolor);line-height:1;}
.boost-facts__label{font-size:var(--fs-body);color:#555;}
.boost-facts__award{display:flex;align-items:center;gap:1.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ddd;}
.boost-facts__awardimg{width:110px;height:auto;flex-shrink:0;}
.boost-facts__awardtext{font-size:var(--fs-body);color:#444;margin:0;}
@media (max-width:800px){.boost-facts__grid{grid-template-columns:repeat(2,1fr);}.boost-facts__award{flex-direction:column;text-align:center;}}

/* --- boost-postlist / boost-postcard ---
   Blog-Artikelliste, Slice 10797 / Artikel 459.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-postlist{margin-top:2rem;display:grid;gap:1.5rem;}
.boost-postcard{display:grid;grid-template-columns:320px 1fr;gap:1.75rem;align-items:center;background:#f4f4f4;border-radius:4px;padding:1.5rem;text-decoration:none;color:inherit;transition:background .2s ease;}
.boost-postcard:hover{background:#ececec;}
.boost-postcard__imgwrap{display:block;overflow:hidden;border-radius:4px;}
.boost-postcard__imgwrap img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.boost-postcard__body{display:flex;flex-direction:column;gap:.6rem;}
.boost-postcard__title{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:var(--fs-h2);line-height:1.25;color:var(--maincolor);}
.boost-postcard__text{font-size:var(--fs-body);color:#444;line-height:1.55;}
.boost-postcard__more{font-size:var(--fs-body);font-weight:700;color:var(--maincolor);}
@media (max-width:800px){.boost-postcard{grid-template-columns:1fr;gap:1rem;}}

/* --- mm-preisgrid ---
   Preis-Raster, Slice 10889 / Artikel 466.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.mm-preisgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:1.5rem;}
.mm-preisgrid__card{display:flex;flex-direction:column;background:#f4f4f4;border-radius:10px;padding:1.75rem;}
.mm-preisgrid__card--free{background:#f4f4f4;}
.mm-preisgrid__title{margin:0 0 .6rem 0;font-size:var(--fs-h2);color:#14291F;}
.mm-preisgrid__desc{margin:0 0 1.5rem 0;font-size:var(--fs-body);color:#555;flex:1;}
.mm-preisgrid__pricewrap{margin:0;display:flex;flex-direction:column;gap:.2rem;}
.mm-preisgrid__price{font-size:var(--fs-h1);font-weight:700;line-height:1;color:var(--maincolor);}
.mm-preisgrid__unit{font-size:var(--fs-body);color:#666;}
.mm-preisgrid__note{margin-top:1rem;color:#666;}
.mm-preisgrid__hint{margin:.6rem 0 0 0;font-size:var(--fs-body);color:#666;}

/* --- boost-case ---
   Case-Study-Block, Slice 10929 / Artikel 468.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-case{background:#f4f4f4;border-radius:10px;padding:2rem;margin-top:1.5rem;}
.boost-case--dark{background:#14291F;}
.boost-case__kicker{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.06em;color:#666;margin:0 0 .4rem 0;}
.boost-case--dark .boost-case__kicker{color:#9fb3a8;}
.boost-case__name{font-size:var(--fs-h2);margin:0 0 1rem 0;color:#14291F;}
.boost-case--dark .boost-case__name{color:#fff;}
.boost-case__text{color:#444;margin:0 0 1.25rem 0;}
.boost-case--dark .boost-case__text{color:#d8ded9;}
.boost-case__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;padding-top:1.25rem;border-top:1px solid #ddd;}
.boost-case--dark .boost-case__cols{border-top-color:rgba(255,255,255,.2);}
.boost-case__label{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 .5rem 0;}
.boost-case--dark .boost-case__label{color:#9fb3a8;}
.boost-case__list{margin:0;padding-left:1.1rem;font-size:var(--fs-body);color:#444;}
.boost-case--dark .boost-case__list{color:#d8ded9;}
.boost-case__list li{margin-bottom:.3rem;}
.boost-case__link{display:inline-block;margin-top:1.25rem;font-size:var(--fs-body);}
.boost-case--dark .boost-case__link a{color:#fff !important;text-decoration:underline;}

/* --- boost-footer ---
   Seiten-Footer, Slice 10937 / Artikel 451.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-footer{background:#14291F;color:#d8ded9;padding:3.5rem 1.5rem 2rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;}
.boost-footer__inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.75rem;align-items:stretch;}
@media (min-width:992px){.boost-footer__inner{grid-template-columns:repeat(3,minmax(0,1fr));}}
.boost-footer__card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:1.75rem;box-shadow:0 12px 20px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.1);}
.boost-footer__head{color:#fff;font-weight:700;margin:0 0 .9rem 0;font-size:var(--fs-body);display:flex;align-items:center;gap:.6rem;}
.boost-footer__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;}
.boost-footer__head--sec{margin-top:1.75rem;}
.boost-footer__text{font-size:var(--fs-body);line-height:1.6;margin:0 0 1rem 0;color:#d8ded9;}
.boost-footer__list{list-style:none;margin:0;padding:0;}
.boost-footer__list li{margin-bottom:.45rem;font-size:var(--fs-body);}
.boost-footer__sublist{list-style:none;margin:.5rem 0 .75rem 0;padding:0 0 0 1rem;border-left:1px solid rgba(255,255,255,.18);}
.boost-footer__sublist li{margin-bottom:.4rem;font-size:var(--fs-body);opacity:.85;}
.boost-footer a{color:#d8ded9;text-decoration:none;}
.boost-footer a:hover,.boost-footer a:focus{color:#fff;text-decoration:underline;}
.boost-footer__award{display:flex;align-items:center;gap:.9rem;font-size:var(--fs-body);line-height:1.45;color:#9fb3a8;margin:0;}.boost-footer__award img{width:64px;height:auto;flex-shrink:0;}.boost-footer__legal{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);font-size:var(--fs-body);color:#9fb3a8;}
@media (max-width:575px){.boost-footer__card{padding:1.4rem;border-radius:18px;}}

/* --- boost-iv ---
   Interview-/Zitatstrecke, Slice 10939 / Artikel 458.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
/* Task 1430: Interview zweispaltig wie mindmelt.de (Vorbild Artikel 430, Modul 77, Layout txttxt).
   Scope: .boost-iv existiert ausschliesslich in Slice 10939 - keine anderen txt100-Slices betroffen. */
.boost-iv{margin-top:1.75rem;border-top:1px solid #ddd;column-count:2;column-gap:3.5rem;}
.boost-iv__row{display:block;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;padding:1.5rem 0;border-bottom:1px solid #ddd;}
.boost-iv__q{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:var(--fs-h2);line-height:1.35;color:var(--maincolor);margin:0 0 .7rem 0;}
.boost-iv__a p{margin:0 0 .85rem 0;}
.boost-iv__a p:last-child{margin-bottom:0;}
@media (max-width:991px){.boost-iv{column-count:1;column-gap:normal;}.boost-iv__row{padding:1.35rem 0;}}

/* --- boost-scan ---
   Scan-Animation, Slice 10984 / Artikel 470.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-scan{margin:0;max-width:52rem;}
.boost-scan__window{background:#14291F;border:1px solid rgba(255,255,255,.10);border-radius:16px;overflow:hidden;box-shadow:0 18px 40px rgba(20,41,31,.18);}
.boost-scan__bar{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.15rem;border-bottom:1px solid rgba(255,255,255,.09);}
.boost-scan__app{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;color:#fff;font-size:var(--fs-body);}
.boost-scan__sim{margin-left:auto;font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.09em;color:#e0b07a;border:1px dashed rgba(224,176,122,.5);border-radius:999px;padding:.1rem .55rem;}
.boost-scan__body{padding:2rem 1.35rem 1.9rem;}
.boost-scan__phase{text-align:center;}
.boost-scan__ring{position:relative;width:3.6rem;height:3.6rem;margin:0 auto 1.2rem;}
.boost-scan__ring span{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(52,211,153,.25);border-top-color:#34d399;animation:boost-scan-spin 1.1s linear infinite;}
.boost-scan__ring span:last-child{inset:.55rem;border-color:rgba(224,176,122,.2);border-top-color:#e0b07a;animation-duration:1.7s;animation-direction:reverse;}
.boost-scan__title{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;color:#fff;font-size:var(--fs-h2);line-height:1.3;margin:0 0 .6rem;}
.boost-scan__status{color:#9fb8ab;font-size:var(--fs-body);margin:0 0 1.2rem;min-height:1.4em;}
.boost-scan__progress{height:5px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;max-width:24rem;margin:0 auto;}
.boost-scan__progressfill{height:100%;width:0;background:linear-gradient(90deg,#34d399,#e0b07a);border-radius:999px;transition:width .45s ease;}
.boost-scan__resultlabel{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.09em;color:#e0b07a;margin:0 0 .5rem;}
.boost-scan__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin:1.5rem 0 1.3rem;text-align:left;}
.boost-scan__card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;}
.boost-scan.is-played .boost-scan__card{opacity:1;transform:translateY(0);}
.boost-scan__card:nth-child(2){transition-delay:.15s;}
.boost-scan__card:nth-child(3){transition-delay:.3s;}
.boost-scan__cardlabel{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.07em;color:#7d938a;margin:0 0 .35rem;}
.boost-scan__cardvalue{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;font-size:var(--fs-body);margin:0 0 .4rem;}
.boost-scan__card.is-bad .boost-scan__cardvalue{color:#e79a9a;}
.boost-scan__card.is-mid .boost-scan__cardvalue{color:#e0b07a;}
.boost-scan__cardnote{color:#9fb8ab;font-size:var(--fs-body);line-height:1.5;margin:0;}
.boost-scan__hint{color:#cfe0d7;font-size:var(--fs-body);line-height:1.55;max-width:36rem;margin:0 auto 1.2rem;}
.boost-scan__caption{display:flex;align-items:flex-start;gap:.45rem;margin-top:.75rem;font-size:var(--fs-body);line-height:1.45;color:#5c6b63;}
.boost-scan__caticon{flex:0 0 auto;width:1.05rem;height:1.05rem;border-radius:50%;border:1px solid currentColor;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:.1rem;}
@keyframes boost-scan-spin{to{transform:rotate(360deg);}}
@media (max-width:760px){.boost-scan__cards{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){.boost-scan__ring span{animation:none;}.boost-scan__card{opacity:1;transform:none;transition:none;}}

/* --- boost-cases ---
   Case-Teaser, Slice 11000 / Artikel 470.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.75rem;}
.boost-cases__item{background:#f7f9f8;border:1px solid #e6ebe8;border-radius:14px;padding:1.5rem;}
.boost-cases__item h3{font-size:var(--fs-h2);margin:0 0 .6rem;color:#14291F;}
.boost-cases__item p{font-size:var(--fs-body);line-height:1.6;color:#4d5f56;margin:0;}
@media (max-width:900px){.boost-cases{grid-template-columns:1fr;}}

/* --- boost-solutions ---
   Loesungs-Kacheln, Slice 11060 / Artikel 469.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-solutions{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.75rem;}
.boost-solutions__card{display:flex;flex-direction:column;gap:.55rem;border-radius:16px;padding:1.75rem;text-decoration:none;border:1px solid #e6ebe8;background:#f7f9f8;}
.boost-solutions__card.is-live{background:#14291F;border-color:#14291F;box-shadow:0 16px 36px rgba(20,41,31,.16);transition:transform .25s ease,box-shadow .25s ease;}
.boost-solutions__card.is-live:hover,.boost-solutions__card.is-live:focus{transform:translateY(-4px);box-shadow:0 22px 46px rgba(20,41,31,.24);}
.boost-solutions__card.is-soon{border-style:dashed;opacity:.9;}
.boost-solutions__badge{align-self:flex-start;font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.09em;border-radius:999px;padding:.18rem .6rem;background:#e4eae7;color:#3f5a4c;}
.boost-solutions__card.is-live .boost-solutions__badge{background:#34d399;color:#14291F;}
.boost-solutions__num{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:.08em;color:#7d938a;margin-top:.4rem;}
.boost-solutions__title{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;font-size:var(--fs-h2);line-height:1.25;color:#14291F;}
.boost-solutions__card.is-live .boost-solutions__title{color:#fff;}
.boost-solutions__text{font-size:var(--fs-body);line-height:1.6;color:#4d5f56;}
.boost-solutions__card.is-live .boost-solutions__text{color:#cfe0d7;}
.boost-solutions__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem;}
.boost-solutions__tags span{font-size:var(--fs-body);color:#cfe0d7;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.15rem .6rem;}
.boost-solutions__cta{margin-top:auto;padding-top:1rem;font-weight:700;color:#34d399;}
@media (max-width:900px){.boost-solutions{grid-template-columns:1fr;}}

/* --- boost-sits ---
   Situations-Liste, Slice 11067 / Artikel 471.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-sits{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin:1.75rem 0;}
.boost-sits__item{background:#f7f9f8;border:1px solid #e6ebe8;border-left:3px solid #4a7a63;border-radius:12px;padding:1.35rem 1.5rem;}
.boost-sits__tag{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;color:#14291F;font-size:var(--fs-body);margin:0 0 .5rem;}
.boost-sits__text{font-size:var(--fs-body);line-height:1.65;color:#4d5f56;margin:0;}
@media (max-width:900px){.boost-sits{grid-template-columns:1fr;}}

/* --- boost-raw ---
   Rohdaten-/Zitatkasten, Slice 11070 / Artikel 471.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-raw{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin:1.75rem 0;}
.boost-raw__item{background:#f7f9f8;border:1px solid #e6ebe8;border-left:3px solid #4a7a63;border-radius:12px;padding:1.35rem 1.5rem;}
.boost-raw__label{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;color:#14291F;font-size:var(--fs-body);margin:0 0 .5rem;}
.boost-raw__text{font-size:var(--fs-body);line-height:1.65;color:#4d5f56;margin:0;}
@media (max-width:900px){.boost-raw{grid-template-columns:1fr;}}

/* --- boost-eb ---
   Erwartungs-Block, Slice 11090 / Artikel 472.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-eb{display:grid;gap:1.1rem;margin:1.75rem 0;}
.boost-eb__item{background:#f7f9f8;border:1px solid #e6ebe8;border-radius:12px;padding:1.4rem 1.6rem;display:grid;grid-template-columns:auto 1fr;column-gap:1.25rem;align-items:start;}
.boost-eb__num{grid-row:1 / span 2;font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;font-size:var(--fs-h1);color:#4a7a63;margin:0;line-height:1;}
.boost-eb__label{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;color:#14291F;font-size:var(--fs-body);margin:0 0 .5rem;}
.boost-eb__text{font-size:var(--fs-body);line-height:1.65;color:#4d5f56;margin:0;}
@media (max-width:640px){.boost-eb__item{grid-template-columns:1fr;}.boost-eb__num{grid-row:auto;margin-bottom:.4rem;}}

/* --- boost-funnel / boost-obj ---
   Funnel- und Einwand-Block, Slice 11135 / Artikel 472.
   Ausgelagert wegen CKEditor-Kompatibilitaet (siehe Kopf dieses Abschnitts). */
.boost-funnel__sub{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;color:#14291F;margin:2.25rem 0 .75rem;}
.boost-obj{list-style:none;padding:0;margin:1.25rem 0 1.5rem;display:grid;gap:.6rem;}
.boost-obj li{position:relative;padding:.85rem 1.1rem .85rem 1.1rem;background:#f7f9f8;border:1px solid #e6ebe8;border-left:3px solid #4a7a63;border-radius:10px;font-size:var(--fs-body);line-height:1.6;color:#4d5f56;}
.boost-obj li span{display:block;font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;color:#14291F;margin-bottom:.2rem;}
@media (max-width:640px){.boost-obj li{padding:.75rem .9rem;}}

/* ==========================================================================
   Boost-Logowolke (.boost-logos) - verwendet auf 3 Seiten:
   Artikel 458 (Ueber uns, Slice 10942), 468 (Referenzen, Slice 10938),
   470 (Rundum-Sichtbarkeit, Slice 10985). Aus den Editorfeldern ausgelagert,
   weil der Redactor/CKEditor <style>-Tags dort als Text anzeigt und dabei
   teils Klassen entfernt hat (Slices 10942 und 10985 waren dadurch akut
   kaputt). Bei allen drei Slices jetzt nur noch reines HTML im Editorfeld.
   ========================================================================== */
.boost-logos{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:#fff;overflow:hidden;margin-top:1.75rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;}
.boost-logos__item{background:#fff;display:flex;align-items:center;justify-content:center;padding:2rem 1.75rem;aspect-ratio:3/2;}
.boost-logos__item img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.boost-logos__note{margin:1rem calc(50% - 50vw) 0;width:100vw;text-align:center;color:#8a8a8a;font-size:var(--fs-body);}
@media (min-width:640px){.boost-logos{grid-template-columns:repeat(4,1fr);}}
@media (min-width:900px){.boost-logos{grid-template-columns:repeat(8,1fr);}}
@media (max-width:640px){.boost-logos__item{padding:1.1rem 1rem;}}

/* Logowolke: finale Variante, aktiv auf Ueber-uns (458) und Referenzen (468).
   Rundum-Sichtbarkeit (470) bleibt offline. Innerhalb der Container-/Nav-Breite
   statt full-bleed, weisser Hintergrund (kein Grau), groessere Logos (6 statt
   8 Spalten ab 900px, weniger Innenabstand pro Kachel). Scoped ueber die
   Body-ID, damit andere Seiten nicht automatisch denselben Stil erben. */
#article-458 .boost-logos, #article-468 .boost-logos{margin-left:auto;margin-right:auto;width:auto;}
#article-458 .content:has(> .boost-logos), #article-468 .content:has(> .boost-logos){padding-left:0;padding-right:0;}
#article-458 .boost-logos__item, #article-468 .boost-logos__item{padding:1.25rem 1rem;}
@media (min-width:900px){
  #article-458 .boost-logos{grid-template-columns:repeat(6,1fr);}
  #article-468 .boost-logos{grid-template-columns:repeat(6,1fr);}
}

/* "Kurz gesagt"-Kasten (Beispiel Startseite, unter dem GEO-Bausteine-Block).
   Jargonfreie Kurzfassung fuer Leser, die sich von der technischen Tiefe
   der Seite abschrecken lassen koennten - rein additiv, keine Struktur-
   aenderung. Bei Bewaehrung ggf. auf weitere Seiten (5 Bausteine, 3
   Loesungen) ausrollen. */
.mm-tldr{margin:1.5rem auto 0 auto;padding:1.5rem 1.75rem;background:#f4f4f4;border-left:4px solid var(--maincolor);border-radius:0 10px 10px 0;}
.mm-tldr__label{margin:0 0 .4rem 0;font-size:var(--fs-body);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--maincolor);}
.mm-tldr__text{margin:0;font-size:var(--fs-body);line-height:1.55;color:#333;}

/* Leading-Innovator-Badge (Startseite Slice 10944, Ueber-uns Slice 10951):
   Bootstrap-Spalte faellt auf Mobile von col-lg-3 auf volle Breite zurueck,
   img-fluid streckt das Badge dann auf 100% Bildschirmbreite. Auf kleinen
   Screens Breite begrenzen, analog zur Desktop-Groesse. */
@media (max-width:991px){
  #img_wrp10944 img.img-fluid,
  #img_wrp10951 img.img-fluid{
    max-width:140px;
    margin:0 auto;
    display:block;
  }
}

/* Nav-Umbruch zwischen ca. 1024px und 1420px (9 Menüpunkte + Logo passen
   nicht mehr nebeneinander, "Kontakt" faellt in eine zweite Zeile und die
   Unterstreichung des aktiven Punkts ueberlappt dann das Logo darunter).
   Schrift und Abstaende in genau diesem Bereich gezielt verkleinern. */
@media screen and (max-width: 1420px) and (min-width: 1025px) {
  .header .logo-text {
    font-size: clamp(1.05rem, 1vw + 0.7rem, 1.3rem);
  }
  .header ul.megamenu li a {
    font-size: 13px !important;
    letter-spacing: -0.01em;
  }
  .header ul.megamenu > li > a {
    margin-right: 2px;
    padding: 4px 6px !important;
  }
}
