.mobile_menu{position:fixed;z-index:100;display:none}.mobile_menu .inner{height:100%;background:#000;overflow-y:scroll}.mobile_menu.active.position_left{box-shadow:2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_top{box-shadow:0 2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_right{box-shadow:-2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_bottom{box-shadow:0 -2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.no_shadow{box-shadow:none!important}.mobile_menu_trigger{display:none}.mobile_menu_wrapper{position:relative;width:100%;overflow:hidden}.mobile_menu_overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:99}.mobile_menu_overlay.background{background:rgba(0,0,0,.5)}.mobile_menu li.submenu_hide>ul{display:none}.mobile_menu li.submenu_show>ul{display:block}body.ie8 .mobile_menu,body.ie8 .mobile_menu_trigger,body.ie9 .mobile_menu,body.ie9 .mobile_menu_trigger{display:none!important}
.rsts-main,.rsts-main *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rsts-header,.rsts-footer,.rsts-thumbs-header,.rsts-thumbs-footer{overflow:hidden}.rsts-view,.rsts-thumbs-view{position:relative}@media print{.rsts-view,.rsts-thumbs-view{position:static}}.rsts-crop,.rsts-thumbs-crop{position:relative;overflow:hidden}@media print{.rsts-crop,.rsts-thumbs-crop{position:static;overflow:visible;width:auto !important;height:auto !important;transform:none !important}}.rsts-slides,.rsts-slide,.rsts-thumbs-slides,.rsts-thumbs-slide{position:absolute;left:0;top:0}@media print{.rsts-slides,.rsts-slide,.rsts-thumbs-slides,.rsts-thumbs-slide{position:static;width:auto !important;height:auto !important;transform:none !important}.rsts-slides.rsts-slide-image img,.rsts-slides.rsts-slide-video img,.rsts-slides.rsts-thumbs-slide-image img,.rsts-slides.rsts-thumbs-slide-video img,.rsts-slide.rsts-slide-image img,.rsts-slide.rsts-slide-video img,.rsts-slide.rsts-thumbs-slide-image img,.rsts-slide.rsts-thumbs-slide-video img,.rsts-thumbs-slides.rsts-slide-image img,.rsts-thumbs-slides.rsts-slide-video img,.rsts-thumbs-slides.rsts-thumbs-slide-image img,.rsts-thumbs-slides.rsts-thumbs-slide-video img,.rsts-thumbs-slide.rsts-slide-image img,.rsts-thumbs-slide.rsts-slide-video img,.rsts-thumbs-slide.rsts-thumbs-slide-image img,.rsts-thumbs-slide.rsts-thumbs-slide-video img{width:100% !important;height:auto !important;margin:0 !important}}.rsts-slide,.rsts-thumbs-slide{overflow:hidden}@media print{.rsts-slide,.rsts-thumbs-slide{position:static}}.rsts-video-iframe,.rsts-thumbs-video-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.rsts-type-slide .rsts-view,.rsts-thumbs-type-slide .rsts-thumbs-view{cursor:url("../../bundles/rocksolidslider/img/openhand.cur"),default;cursor:-webkit-grab;cursor:-moz-grab;cursor:-ms-grab;cursor:-o-grab;cursor:grab}.rsts-type-slide.rsts-dragging .rsts-view,.rsts-thumbs-type-slide.rsts-thumbs-dragging .rsts-thumbs-view{cursor:url("../../bundles/rocksolidslider/img/closedhand.cur"),default;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-ms-grabbing;cursor:-o-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rsts-type-slide.rsts-dragging-disabled .rsts-view,.rsts-thumbs-type-slide.rsts-thumbs-dragging-disabled .rsts-thumbs-view{cursor:auto}@media print{.rsts-nav,.rsts-prev,.rsts-next,.rsts-overlay-prev,.rsts-overlay-next,.rsts-progress,.rsts-thumbs-nav,.rsts-thumbs-prev,.rsts-thumbs-next,.rsts-thumbs-overlay-prev,.rsts-thumbs-overlay-next,.rsts-thumbs-progress{display:none !important}}

.rs-columns {
  clear: both;
  display: inline-block;
  width: 100%;
}

.rs-column {
  float: left;
  width: 100%;
  margin-top: 7.69231%;
  margin-right: 7.69231%;
}
.rs-column.-large-first {
  clear: left;
}
.rs-column.-large-last {
  margin-right: -5px;
}
.rs-column.-large-first-row {
  margin-top: 0;
}
.rs-column.-large-col-1-1 {
  width: 100%;
}
.rs-column.-large-col-2-1 {
  width: 46.15385%;
}
.rs-column.-large-col-2-2 {
  width: 100%;
}
.rs-column.-large-col-3-1 {
  width: 28.20513%;
}
.rs-column.-large-col-3-2 {
  width: 64.10256%;
}
.rs-column.-large-col-3-3 {
  width: 100%;
}
.rs-column.-large-col-4-1 {
  width: 19.23077%;
}
.rs-column.-large-col-4-2 {
  width: 46.15385%;
}
.rs-column.-large-col-4-3 {
  width: 73.07692%;
}
.rs-column.-large-col-4-4 {
  width: 100%;
}
.rs-column.-large-col-5-1 {
  width: 13.84615%;
}
.rs-column.-large-col-5-2 {
  width: 35.38462%;
}
.rs-column.-large-col-5-3 {
  width: 56.92308%;
}
.rs-column.-large-col-5-4 {
  width: 78.46154%;
}
.rs-column.-large-col-5-5 {
  width: 100%;
}
.rs-column.-large-col-6-1 {
  width: 10.25641%;
}
.rs-column.-large-col-6-2 {
  width: 28.20513%;
}
.rs-column.-large-col-6-3 {
  width: 46.15385%;
}
.rs-column.-large-col-6-4 {
  width: 64.10256%;
}
.rs-column.-large-col-6-5 {
  width: 82.05128%;
}
.rs-column.-large-col-6-6 {
  width: 100%;
}
@media screen and (max-width: 900px) {
  .rs-column {
    margin-top: 7.69231%;
    margin-right: 7.69231%;
  }
  .rs-column.-large-first {
    clear: none;
  }
  .rs-column.-large-last {
    margin-right: 7.69231%;
  }
  .rs-column.-large-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-medium-first {
    clear: left;
  }
  .rs-column.-medium-last {
    margin-right: -5px;
  }
  .rs-column.-medium-first-row {
    margin-top: 0;
  }
  .rs-column.-medium-col-1-1 {
    width: 100%;
  }
  .rs-column.-medium-col-2-1 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-2-2 {
    width: 100%;
  }
  .rs-column.-medium-col-3-1 {
    width: 28.20513%;
  }
  .rs-column.-medium-col-3-2 {
    width: 64.10256%;
  }
  .rs-column.-medium-col-3-3 {
    width: 100%;
  }
  .rs-column.-medium-col-4-1 {
    width: 19.23077%;
  }
  .rs-column.-medium-col-4-2 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-4-3 {
    width: 73.07692%;
  }
  .rs-column.-medium-col-4-4 {
    width: 100%;
  }
  .rs-column.-medium-col-5-1 {
    width: 13.84615%;
  }
  .rs-column.-medium-col-5-2 {
    width: 35.38462%;
  }
  .rs-column.-medium-col-5-3 {
    width: 56.92308%;
  }
  .rs-column.-medium-col-5-4 {
    width: 78.46154%;
  }
  .rs-column.-medium-col-5-5 {
    width: 100%;
  }
  .rs-column.-medium-col-6-1 {
    width: 10.25641%;
  }
  .rs-column.-medium-col-6-2 {
    width: 28.20513%;
  }
  .rs-column.-medium-col-6-3 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-6-4 {
    width: 64.10256%;
  }
  .rs-column.-medium-col-6-5 {
    width: 82.05128%;
  }
  .rs-column.-medium-col-6-6 {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .rs-column {
    margin-top: 7.69231%;
    margin-right: 7.69231%;
  }
  .rs-column.-large-last {
    margin-right: 7.69231%;
  }
  .rs-column.-large-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-medium-first {
    clear: none;
  }
  .rs-column.-medium-last {
    margin-right: 7.69231%;
  }
  .rs-column.-medium-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-small-first {
    clear: left;
  }
  .rs-column.-small-last {
    margin-right: -5px;
  }
  .rs-column.-small-first-row {
    margin-top: 0;
  }
  .rs-column.-small-col-1-1 {
    width: 100%;
  }
  .rs-column.-small-col-2-1 {
    width: 46.15385%;
  }
  .rs-column.-small-col-2-2 {
    width: 100%;
  }
  .rs-column.-small-col-3-1 {
    width: 28.20513%;
  }
  .rs-column.-small-col-3-2 {
    width: 64.10256%;
  }
  .rs-column.-small-col-3-3 {
    width: 100%;
  }
  .rs-column.-small-col-4-1 {
    width: 19.23077%;
  }
  .rs-column.-small-col-4-2 {
    width: 46.15385%;
  }
  .rs-column.-small-col-4-3 {
    width: 73.07692%;
  }
  .rs-column.-small-col-4-4 {
    width: 100%;
  }
  .rs-column.-small-col-5-1 {
    width: 13.84615%;
  }
  .rs-column.-small-col-5-2 {
    width: 35.38462%;
  }
  .rs-column.-small-col-5-3 {
    width: 56.92308%;
  }
  .rs-column.-small-col-5-4 {
    width: 78.46154%;
  }
  .rs-column.-small-col-5-5 {
    width: 100%;
  }
  .rs-column.-small-col-6-1 {
    width: 10.25641%;
  }
  .rs-column.-small-col-6-2 {
    width: 28.20513%;
  }
  .rs-column.-small-col-6-3 {
    width: 46.15385%;
  }
  .rs-column.-small-col-6-4 {
    width: 64.10256%;
  }
  .rs-column.-small-col-6-5 {
    width: 82.05128%;
  }
  .rs-column.-small-col-6-6 {
    width: 100%;
  }
}

/* ==========================================================================
   Tube20 Werbeagentur – Theme
   Maße: Desktop aus Entwurf (1904 px Referenzbreite) in vw umgerechnet,
   Slide-Typografie proportional zur Slide-Breite (Container-Einheiten).
   ========================================================================== */

:root {
  --t20-red: #9f1516;
  --t20-red-dark: #86100f;
  --t20-hks: #e2001a;
  --t20-ink: #1d1d1b;
  --t20-text: #3c3c3b;
  --t20-grey-5: #f1f1f2;
  --t20-grey-20: #d0d0d1;
  --t20-warm: #a7a3a0;
  --t20-band: #9d9a98;
  --t20-white: #fff;

  /* Adobe Fonts (Kit-ID folgt) – Fallbacks bis dahin */
  --t20-font: "myriad-pro", "Myriad Pro", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --t20-font-cond: "myriad-pro-condensed", "Myriad Pro Condensed", "Myriad Pro Cond", "Arial Narrow", "Roboto Condensed", sans-serif-condensed, sans-serif;

  --t20-content: 1080px;
  --t20-gutter: 16px;
  --t20-radius: 6px;
  --t20-shadow: 0 2px 10px rgba(0, 0, 0, .12);

  /* Header (Desktop) */
  --t20-hbar: clamp(56px, 5.1vw, 98px);
  --t20-hband: clamp(64px, 6.3vw, 120px);
  --t20-logo-w: clamp(180px, 14.7vw, 280px);
}

/* ---------- Basis ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--t20-white);
  color: var(--t20-text);
  font-family: var(--t20-font-cond);
  font-stretch: condensed;
  font-weight: 300;
  font-size: clamp(18px, 1.15vw, 21px);
  line-height: 1.45;
}

img { max-width: 100%; height: auto; }

a { color: var(--t20-red); }
a:hover { color: var(--t20-red-dark); }

h1, h2, h3, h4 {
  font-family: var(--t20-font-cond);
  font-weight: 700;
  color: var(--t20-ink);
  line-height: 1.15;
  margin: 1.4em 0 .5em;
}
h1 { font-size: clamp(30px, 2.6vw, 48px); }
h2 { font-size: clamp(24px, 1.9vw, 36px); }
h3 { font-size: clamp(20px, 1.4vw, 26px); }

p { margin: 0 0 1em; }
strong, b { font-weight: 700; }

.invisible {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

:focus-visible { outline: 3px solid var(--t20-hks); outline-offset: 2px; }

/* Inhalte begrenzen, Bänder dürfen volle Breite nutzen */
#main .mod_article > * {
  max-width: calc(var(--t20-content) + 2 * var(--t20-gutter));
  margin-inline: auto;
  padding-inline: var(--t20-gutter);
}
#main .mod_article > .t20-bleed,
#main .mod_article > .t20-pagehead,
#main .mod_article > .t20-tiles--overlap,
#main .mod_article > .mod_faqreader {
  max-width: none;
  padding-inline: 0;
}
#main .mod_article:last-child { padding-bottom: clamp(40px, 4vw, 80px); }

/* Sichtbarkeit nach Gerät */
@media (max-width: 767px) { .t20-only-desktop { display: none !important; } }
@media (min-width: 768px) { .t20-only-mobile { display: none !important; } }

/* ---------- Header ---------- */
#header { position: relative; }

#header .mod_navigation { margin: 0; }
#header .mod_navigation > a.invisible { position: absolute; }

.t20-head {
  position: relative;
  display: grid;
  grid-template-columns: 1fr var(--t20-logo-w) 1fr;
  grid-template-rows: var(--t20-hbar) var(--t20-hband);
  background: linear-gradient(to bottom, #fdfcfb 0 var(--t20-hbar), var(--t20-red) var(--t20-hbar) 100%);
  border-top: 1px solid var(--t20-grey-20);
}

.t20-head ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }

.t20-head a, .t20-head strong {
  color: var(--t20-ink);
  text-decoration: none;
  font-family: var(--t20-font-cond);
  font-weight: 700;
  font-size: clamp(15px, 1.12vw, 22px);
  letter-spacing: .02em;
  line-height: 1.1;
}
.t20-head ul a:hover, .t20-head ul strong { color: var(--t20-red); }

.t20-head__left { grid-column: 1; grid-row: 1; justify-content: flex-end; padding-right: clamp(16px, 1.6vw, 40px); }
.t20-head__right { grid-column: 3; grid-row: 1; justify-content: flex-start; padding-left: clamp(16px, 1.6vw, 40px); gap: 0; }

.t20-head__right li + li { position: relative; margin-left: clamp(14px, 1.4vw, 28px); padding-left: clamp(14px, 1.4vw, 28px); }
.t20-head__right li + li::before {
  content: ""; position: absolute; left: 0; top: .05em; height: 1.1em; width: 2px; background: var(--t20-ink);
}
/* Zweizeiliger Menüpunkt („Unser Dienst / & Beratung“) über CSS-Klasse der Seite */
.t20-head .nav-2line { max-width: 5em; }

.t20-head__logo {
  grid-column: 2; grid-row: 1 / span 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: var(--t20-grey-5);
  padding: 6% 8% 5%;
}
.t20-head__logo img { display: block; width: 100%; height: auto; }
.t20-head__logo span {
  display: block; margin-top: .15em;
  font-family: var(--t20-font) !important; font-stretch: normal; font-weight: 400 !important;
  font-size: clamp(16px, 1.45vw, 27px) !important; letter-spacing: 0 !important; color: var(--t20-ink);
}

.t20-head__search {
  position: absolute; right: clamp(12px, 1.2vw, 24px); top: calc(var(--t20-hbar) / 2); transform: translateY(-50%);
  display: grid; place-items: center; width: 36px; height: 36px; color: #555 !important;
}
.t20-head__search:hover { color: var(--t20-red) !important; }

/* Willkommen-Leiste */
.t20-welcome {
  background: var(--t20-grey-5);
  border-top: clamp(6px, .72vw, 14px) solid var(--t20-grey-20);
  border-bottom: clamp(5px, .63vw, 12px) solid var(--t20-grey-20);
  padding: clamp(8px, .9vw, 16px) var(--t20-gutter);
  text-align: center;
}
.t20-welcome p {
  margin: 0; font-family: var(--t20-font); font-stretch: normal; font-weight: 300;
  font-size: clamp(13px, 1.28vw, 24px); line-height: 1.3; color: #4a4a49;
}

/* Mobile Menu (codefog) */
#header .mod_mobile_menu { position: absolute; top: 0; right: 0; z-index: 20; }
.mobile_menu_trigger { cursor: pointer; padding: 14px 14px 10px; }
.t20-burger { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; width: 34px; }
.t20-burger span { display: block; height: 3px; width: 100%; background: #fff; border-radius: 2px; }
.t20-burger span:last-child { width: 60%; }

.mobile_menu { background: var(--t20-white); }
.mobile_menu .inner { padding: 24px 20px; background: var(--t20-white); overflow-y: auto; font-family: var(--t20-font-cond); }
.mobile_menu ul { list-style: none; margin: 0; padding: 0; }
.mobile_menu li a, .mobile_menu li strong {
  display: block; padding: 12px 0; border-bottom: 1px solid var(--t20-grey-20);
  color: var(--t20-ink); text-decoration: none; font-weight: 700; font-size: 20px;
}
.mobile_menu li strong { color: var(--t20-red); }
.mobile_menu ul ul a, .mobile_menu ul ul strong { padding-left: 16px; font-weight: 300; }
.mobile_menu .t20-menu-close {
  display: block; margin: 0 0 12px auto; width: 36px; height: 36px; border: 0; background: none;
  font-size: 32px; line-height: 1; color: var(--t20-red); cursor: pointer; text-decoration: none; text-align: center;
}
.mobile_menu .mod_customnav { margin-top: 24px; }
.mobile_menu .mod_customnav a { font-weight: 300; font-size: 17px; border: 0; padding: 6px 0; }

@media (max-width: 899px) {
  .t20-head {
    grid-template-columns: 1fr 39vw 1fr;
    grid-template-rows: clamp(84px, 29vw, 140px);
    background: var(--t20-red);
    border-top: 0;
  }
  .t20-head .t20-head__left, .t20-head .t20-head__right, .t20-head .t20-head__search { display: none; }
  .t20-head__logo { grid-row: 1; padding: 8% 9% 6%; }
  .t20-head__logo span { font-size: clamp(13px, 3.6vw, 20px) !important; }
}
@media (min-width: 900px) {
  #header .mod_mobile_menu { display: none; }
}

/* ---------- Slider (RockSolid Slider, Skin „tube20“) ---------- */
.t20-hero {
  background: var(--t20-red);
  padding: clamp(0px, .5vw, 10px) 0 clamp(0px, .8vw, 16px);
}
/* .rsts-main liegt auf dem Element selbst → Breite über .rsts-view (enthält auch die Pfeile) */
.t20-hero .rsts-view {
  width: min(100%, clamp(480px, 33.2vw, 720px));
  margin-inline: auto;
  position: relative;
}
.rsts-skin-tube20 .rsts-view { background: transparent; }

/* Pfeile: kleine graue Kreise in den oberen Ecken */
.rsts-skin-tube20 .rsts-prev,
.rsts-skin-tube20 .rsts-next {
  position: absolute; z-index: 5; top: 3.5cqi; top: 4%;
  width: clamp(18px, 4.4%, 30px); aspect-ratio: 1; border-radius: 50%;
  background: rgba(220, 220, 221, .95); color: #3c3c3b;
  font-size: 0; cursor: pointer; opacity: .95; border: 0;
}
.rsts-skin-tube20 .rsts-prev { left: 3%; }
.rsts-skin-tube20 .rsts-next { right: 3%; }
.rsts-skin-tube20 .rsts-prev::before,
.rsts-skin-tube20 .rsts-next::before {
  content: ""; position: absolute; inset: 0; margin: auto; width: 32%; height: 32%;
  border: solid currentColor; border-width: 0 0 3px 3px; transform: translateX(15%) rotate(45deg);
}
.rsts-skin-tube20 .rsts-next::before { transform: translateX(-15%) rotate(-135deg); }
.rsts-skin-tube20 .rsts-prev:hover, .rsts-skin-tube20 .rsts-next:hover { background: #fff; }
.rsts-skin-tube20 .rsts-nav-bullets, .rsts-skin-tube20 .rsts-nav { position: static; }
.rsts-skin-tube20 .rsts-nav ul, .rsts-skin-tube20 .rsts-caption { display: none; }

/* Slide-Inhalt */
.t20-slide { container-type: inline-size; }
.t20-slide__box {
  position: relative;
  aspect-ratio: 369 / 186;
  overflow: hidden;
  background:
    radial-gradient(120% 110% at 38% 40%, rgba(255, 255, 255, .07) 0, rgba(0, 0, 0, 0) 55%),
    radial-gradient(140% 120% at 50% 50%, #a31a18 0, #8f1413 70%, #7b0f0f 100%);
  color: #fff;
  font-family: var(--t20-font-cond);
}
.t20-slide__photo {
  position: absolute; left: 5.7%; top: 15%; width: 26.8%; aspect-ratio: 99 / 141; overflow: hidden;
}
.t20-slide__photo img, .t20-slide__photo picture { display: block; width: 100%; height: 100%; object-fit: cover; }

.t20-slide__content {
  position: absolute; left: 36.6%; right: 3.5%; top: 13%; bottom: 7%;
  display: flex; flex-direction: column;
}
.t20-slide p { margin: 0; }

/* Größen proportional zum Entwurf: 27,2 pt ≙ 9,75cqi */
.t20-slide__kicker { font-weight: 300; font-size: 4.45cqi; letter-spacing: .025em; line-height: 1.15; }
.t20-slide__title { line-height: 1.02; }
.t20-slide__xl { display: block; font-weight: 600; font-size: 9.75cqi; letter-spacing: .03em; line-height: 1.05; }
.t20-slide__l { display: block; font-weight: 700; font-size: 7.1cqi; letter-spacing: .04em; line-height: 1.05; }
.t20-slide__kicker + .t20-slide__title { margin-top: .6cqi; }
.t20-slide__text { font-weight: 300; font-size: 4.45cqi; letter-spacing: .025em; line-height: 1.15; margin-top: 2.2cqi !important; }
.t20-slide__sign { margin-top: auto !important; line-height: 1; white-space: nowrap; }
.t20-slide__name { font-weight: 300; font-size: 4.45cqi; }
.t20-slide__role { font-weight: 300; font-size: 2.65cqi; margin-left: 1.2cqi; }

/* Slide mit Kundenlogos: graues Band ab Fotokante bis rechts */
.t20-slide__logos {
  list-style: none; margin: 1.8cqi -3.9cqi 1.2cqi -1.3cqi; padding: 1.3cqi 3.9cqi 1.3cqi 7cqi;
  position: relative; display: flex; gap: .9cqi; align-items: center;
  background: var(--t20-warm);
}
.t20-slide__logos li {
  background: #fff; height: 6.8cqi; display: grid; place-items: center; padding: 0 .6cqi; min-width: 6.4cqi;
}
.t20-slide__logos img { display: block; max-height: 5.8cqi; width: auto; max-width: 13cqi; }
.t20-slide--logos .t20-slide__text { margin-top: 0 !important; }

/* ---------- Kacheln ---------- */
.t20-tiles__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(14px, 1.6vw, 32px); }
.t20-tiles__item { width: clamp(200px, 17.8vw, 340px); }
.t20-tile {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: .45em;
  height: 100%; min-height: clamp(130px, 9.5vw, 182px);
  padding: clamp(10px, 1vw, 18px) 12px clamp(14px, 1.2vw, 22px);
  background: #fff; border-radius: var(--t20-radius); box-shadow: var(--t20-shadow);
  text-decoration: none; color: var(--t20-ink);
  transition: transform .15s ease, box-shadow .15s ease;
}
.t20-tile:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0, 0, 0, .18); color: var(--t20-red); }
.t20-tile__img { flex: 1; display: flex; align-items: center; justify-content: center; }
.t20-tile__img img { display: block; max-height: clamp(56px, 4.8vw, 92px); width: auto; }
.t20-tile__title { font-weight: 700; font-size: clamp(16px, 1.25vw, 24px); letter-spacing: .02em; line-height: 1.1; text-align: center; }

.t20-tiles--overlap {
  background: linear-gradient(to bottom, var(--t20-band) 0 clamp(24px, 3.6vw, 69px), #fff clamp(24px, 3.6vw, 69px));
  padding: 2px var(--t20-gutter) clamp(24px, 3vw, 56px) !important;
}
.t20-tiles--plain { margin-block: clamp(24px, 3vw, 56px); }

/* ---------- Auswahl-Buttons („Wie dürfen wir Sie heute begleiten?“) ---------- */
.t20-chooser { margin-top: 22px; }
.t20-chooser__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.t20-chooser__title { margin: 0; font-size: clamp(19px, 5vw, 26px); font-weight: 700; }
.t20-chooser__side { width: clamp(80px, 24vw, 120px); height: auto; }
.t20-chooser__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.t20-choice {
  display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 6px 14px 6px 6px;
  border: 1.5px solid var(--t20-red); border-radius: var(--t20-radius); background: #fff;
  color: var(--t20-text); text-decoration: none; font-size: clamp(17px, 4.6vw, 21px); font-weight: 300; line-height: 1.1;
  transition: box-shadow .15s ease;
}
.t20-choice__icon { flex: 0 0 38px; height: 38px; display: grid; place-items: center; }
.t20-choice__icon img { max-width: 38px; max-height: 38px; }
.t20-choice:hover { color: var(--t20-red); }
.t20-choice.is-active {
  border-width: 3px; padding: 4.5px 12.5px 4.5px 4.5px; color: var(--t20-red); font-weight: 700;
  box-shadow: 0 2px 8px rgba(159, 21, 22, .25);
}

/* ---------- Seitenkopf Unterseiten ---------- */
.t20-pagehead { background: var(--t20-red); color: #fff; margin-bottom: clamp(28px, 3vw, 56px); }
.t20-pagehead__inner {
  max-width: calc(var(--t20-content) + 2 * var(--t20-gutter)); margin-inline: auto;
  padding: clamp(24px, 3vw, 56px) var(--t20-gutter);
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.t20-pagehead h1 { color: #fff; margin: 0 0 .25em; font-size: clamp(32px, 3.2vw, 60px); letter-spacing: .03em; }
.t20-pagehead p { margin: 0; font-size: clamp(18px, 1.5vw, 28px); font-weight: 300; letter-spacing: .02em; max-width: 36em; }
.t20-pagehead__img { flex: 0 0 auto; background: #fff; border-radius: var(--t20-radius); padding: 10px; box-shadow: var(--t20-shadow); }
.t20-pagehead__img img { display: block; width: clamp(64px, 7vw, 120px); height: auto; }

/* ---------- Text-Inhalte ---------- */
#main .content-text, #main .ce_text { margin-bottom: 1.5em; }
#main .content-text ul, #main .ce_text ul { padding-left: 1.2em; }
#main .content-text li::marker { color: var(--t20-red); }

.t20-intro { text-align: center; }
.t20-intro h2 { margin-top: clamp(32px, 3vw, 56px); }
.t20-intro p { max-width: 42em; margin-inline: auto; font-size: clamp(18px, 1.3vw, 24px); }

/* Buttons */
.t20-button, #main .formbody button[type="submit"], #main .widget-submit button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 10px 26px; border: 0; border-radius: var(--t20-radius);
  background: var(--t20-red); color: #fff !important; text-decoration: none; cursor: pointer;
  font-family: var(--t20-font-cond); font-weight: 700; font-size: 19px; letter-spacing: .03em;
  transition: background .15s ease;
}
.t20-button:hover, #main .formbody button[type="submit"]:hover { background: var(--t20-red-dark); }

.t20-more {
  display: inline-block; font-weight: 700; text-decoration: none; letter-spacing: .02em;
}
.t20-more::after { content: " \2192"; }
.t20-more:hover { text-decoration: underline; }

.t20-cta {
  margin: clamp(32px, 3vw, 56px) 0 0; padding: clamp(20px, 2vw, 32px);
  background: var(--t20-grey-5); border-left: 6px solid var(--t20-red); border-radius: var(--t20-radius);
}
.t20-cta__title { font-weight: 700; font-size: clamp(20px, 1.5vw, 26px); color: var(--t20-ink); margin-bottom: .3em; }

.t20-back a { text-decoration: none; font-weight: 700; }
.t20-back a::before { content: "\2190 "; }

/* ---------- FAQ-Akkordeon ---------- */
.mod_faqlist { margin-block: clamp(32px, 3vw, 56px); }
.mod_faqlist > h2 { margin-top: 0; }
.t20-faq__category { font-size: clamp(20px, 1.5vw, 26px); color: var(--t20-red); }
.t20-faq__item {
  border: 1.5px solid var(--t20-red); border-radius: var(--t20-radius); background: #fff;
  margin-bottom: 12px; transition: box-shadow .15s ease;
}
.t20-faq__item[open] { border-width: 3px; box-shadow: 0 2px 10px rgba(159, 21, 22, .18); }
.t20-faq__question {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px 18px; font-weight: 700; font-size: clamp(18px, 1.3vw, 23px); color: var(--t20-ink); line-height: 1.2;
}
.t20-faq__question::-webkit-details-marker { display: none; }
.t20-faq__question::after {
  content: ""; flex: 0 0 12px; height: 12px; margin-top: -4px;
  border: solid var(--t20-red); border-width: 0 3px 3px 0; transform: rotate(45deg); transition: transform .2s ease;
}
.t20-faq__item[open] .t20-faq__question { color: var(--t20-red); }
.t20-faq__item[open] .t20-faq__question::after { transform: rotate(-135deg); margin-top: 6px; }
.t20-faq__body { padding: 0 18px 16px; }
.t20-faq__teaser p:last-child { margin-bottom: .6em; }

/* FAQ-Detailseite (Modul läuft in voller Breite, Breiten im Template) */
.t20-container {
  max-width: calc(var(--t20-content) + 2 * var(--t20-gutter)); margin-inline: auto; padding-inline: var(--t20-gutter);
}
.t20-pagehead p.t20-pagehead__kicker { margin: 0 0 .35em; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; opacity: .85; }
.t20-faq-detail__answer, .t20-faq-detail .t20-cta, .t20-faq-detail .t20-back { max-width: 46em; }
.t20-faq-detail__answer { font-size: clamp(18px, 1.2vw, 22px); }
.t20-faq-detail__answer h2 { font-size: clamp(22px, 1.6vw, 30px); }

/* ---------- Formular ---------- */
.t20-form { margin-block: 16px clamp(32px, 3vw, 56px); }
.t20-form.is-collapsed { display: none; }
.t20-form form, #main .ce_form form, #main .content-form form {
  background: var(--t20-grey-5); border: 1.5px solid var(--t20-red); border-radius: 10px;
  padding: clamp(16px, 2vw, 32px);
}
#main .formbody { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
#main .formbody > * { grid-column: 1 / -1; margin: 0; }
#main .formbody > .w50 { grid-column: auto; }
@media (max-width: 599px) { #main .formbody > .w50 { grid-column: 1 / -1; } }

#main .formbody label, #main .formbody legend { display: block; font-weight: 700; color: var(--t20-ink); margin-bottom: 4px; font-size: 17px; }
#main .formbody fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
#main .formbody input[type="text"], #main .formbody input[type="email"], #main .formbody input[type="tel"], #main .formbody textarea {
  width: 100%; padding: 10px 12px; border: 1px solid #b9b9ba; border-radius: 4px; background: #fff;
  font: inherit; font-family: var(--t20-font-cond); font-weight: 300; font-size: 18px; color: var(--t20-ink);
}
#main .formbody textarea { min-height: 140px; resize: vertical; }
#main .formbody input:focus, #main .formbody textarea:focus { border-color: var(--t20-red); outline: 2px solid rgba(159, 21, 22, .25); }
#main .formbody .checkbox_container > span { display: inline-flex; align-items: center; gap: 6px; margin-right: 22px; }
#main .formbody .checkbox_container label { display: inline; font-weight: 300; margin: 0; }
#main .formbody input[type="checkbox"] { accent-color: var(--t20-red); width: 18px; height: 18px; }
#main .formbody .mandatory .mandatory, #main .formbody span.mandatory { color: var(--t20-red); }
#main .formbody p.error { color: var(--t20-hks); font-weight: 700; margin: 4px 0; }
/* Datenschutz-Checkbox: Legende nur für Screenreader, Hinweis-Link direkt darunter */
#main .formbody .t20-privacy legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
#main .formbody .t20-privacy label { font-weight: 700; }
#main .formbody .t20-privacy-link { font-size: 16px; margin-top: -8px; }
#main .formbody .t20-dialog-src { display: none; }
#main .formbody .widget-submit { display: flex; justify-content: flex-end; }

dialog.t20-dialog {
  max-width: min(560px, calc(100vw - 32px)); border: 0; border-radius: 10px; padding: 28px; box-shadow: 0 10px 40px rgba(0, 0, 0, .3);
  font-family: var(--t20-font-cond); font-weight: 300; font-size: 18px; color: var(--t20-text);
}
dialog.t20-dialog::backdrop { background: rgba(29, 29, 27, .55); }
dialog.t20-dialog h2 { margin-top: 0; }

/* ---------- Suche ---------- */
.mod_search form { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.mod_search input[type="search"] { flex: 1 1 240px; padding: 10px 12px; border: 1px solid #b9b9ba; border-radius: 4px; font: inherit; }

/* ---------- Footer ---------- */
#footer {
  background: var(--t20-grey-5);
  border-top: clamp(6px, .72vw, 14px) solid var(--t20-grey-20);
  font-size: 16px;
}
#footer .inside {
  max-width: calc(var(--t20-content) + 2 * var(--t20-gutter)); margin-inline: auto;
  padding: 28px var(--t20-gutter) 36px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px;
}
.t20-footer__brand { display: flex; align-items: center; gap: 14px; }
.t20-footer__brand img { width: 92px; height: auto; }
.t20-footer__brand p { margin: 0; line-height: 1.3; }
#footer .mod_customnav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; }
#footer .mod_customnav a, #footer .mod_customnav strong { color: var(--t20-ink); text-decoration: none; font-weight: 700; }
#footer .mod_customnav a:hover, #footer .mod_customnav strong { color: var(--t20-red); }

