/* Sitewide type — Gelasio (Google Fonts). Avoid `i`/`span` so icon fonts keep working. */
html,
body {
  overflow-x: clip;
}
html,
body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6,
p, li, label, td, th, blockquote,
.vc_custom_heading,
.wpb_text_column,
.wpb_wrapper,
#header .menu,
#header .nav,
#footer,
.ultb3-title,
.ult-new-ib-title,
.flipbox_heading,
.testimonials_text_content,
.ts1-author,
.t-author,
.spo-optical-headline,
.spo-hero-lead,
.spo-seo-h1,
.spo-scroll-title,
.spo-vision-title {
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
}

/* Hero — match homepage home13 (full viewport, 50/50)
 *
 * Fixed style4 header (~153px; ~200px when nav wraps) overlays the hero while
 * .master_container only pads 50px. Centering in the full column then hides the
 * top of the copy under the nav, so the visible block looks pinned to the bottom.
 * --spo-header-clear matches the real header; copy padding-top eats the overlap
 * so flex centering is relative to the visible box beside the photo.
 */
.spo-hero-row {
  --spo-header-clear: 160px;
  --spo-master-pad-top: 50px;
}
/* Written nav only ≥1367; hamburger ≤1366 — no wrap-height bump needed */
@media (min-width: 1367px) {
  .spo-hero-row {
    --spo-header-clear: 160px;
  }
}
.vc_custom_spo_hero_img { padding: 0 !important; }
.vc_custom_spo_hero_txt {
  padding-top: 0 !important;
  padding-right: 10% !important;
  padding-bottom: 0 !important;
  padding-left: 10% !important;
  background-color: #f4f4f4 !important;
}
.spo-hero-row.wpb_row,
.spo-hero-row.vc_row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  clear: both !important;
  /* Full-bleed breakout from theme .container (match homepage home13) */
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  left: 0 !important;
  right: auto !important;
  position: relative !important;
  box-sizing: border-box !important;
  min-height: calc(100svh - var(--spo-master-pad-top));
  min-height: calc(100vh - var(--spo-master-pad-top));
  margin-bottom: 80px !important;
  padding-bottom: 0 !important;
  /* Prevent VC full-width JS from repositioning and flashing the hero */
  transform: none !important;
}
.spo-hero-row > .wpb_column,
.spo-hero-row > .vc_column_container {
  float: none !important;
  display: flex !important;
  flex-direction: column;
  min-height: inherit;
}
.spo-hero-row > .wpb_column > .vc_column-inner,
.spo-hero-row > .vc_column_container > .vc_column-inner {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
}
/* Desktop: center copy in the visible area below the fixed header */
@media (min-width: 992px) {
  .spo-hero-row > .spo-hero-copy > .vc_column-inner,
  .spo-hero-row > .spo-hero-copy .vc_column-inner,
  .spo-hero-row .vc_custom_spo_hero_txt {
    padding-top: calc(var(--spo-header-clear) - var(--spo-master-pad-top)) !important;
    padding-bottom: 0 !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}
.spo-hero-row,
.spo-hero-row .vc_column-inner,
.spo-hero-row .wpb_wrapper { overflow: visible !important; }
.spo-hero-row > .spo-hero-media,
.spo-hero-row > .spo-hero-media > .vc_column-inner,
.spo-hero-row > .spo-hero-media .wpb_wrapper,
.spo-hero-row > .spo-hero-media .wpb_single_image,
.spo-hero-row > .spo-hero-media .vc_figure,
.spo-hero-row > .spo-hero-media .vc_single_image-wrapper {
  overflow: hidden !important;
}
.spo-hero-media {
  position: relative !important;
  overflow: hidden !important;
  background: #f5f1eb !important;
  min-height: 100% !important;
}
.spo-hero-media > .vc_column-inner {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f5f1eb !important;
  display: block !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}
.spo-hero-media .wpb_wrapper,
.spo-hero-media .wpb_single_image,
.spo-hero-media .vc_figure,
.spo-hero-media .vc_single_image-wrapper,
.spo-hero-media .spo-hero-logo,
.spo-hero-media .spo-hero-logo .wpb_wrapper,
.spo-hero-media .spo-hero-logo .vc_figure,
.spo-hero-media .spo-hero-logo .vc_single_image-wrapper {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
}
.spo-hero-media img {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  display: block !important;
}
body.page-id-8363 .spo-about-hero .spo-hero-media img,
body.page-ueber-mich .spo-about-hero .spo-hero-media img {
  object-position: center 42% !important;
}
/* PC hero — Lea in red: keep face/jacket centered */
body.page-id-8362 .spo-pc-hero .spo-hero-media img,
body.page-post-covid-me-cfs .spo-pc-hero .spo-hero-media img,
.spo-pc-hero .spo-hero-media.spo-hero-portrait img {
  object-position: center 22% !important;
}
.spo-oe-gesundheit-icon img {
  width: 120px !important;
  max-width: 140px !important;
  height: auto !important;
  margin: 0 auto !important;
  display: block;
}
/* About — Agency About Studio header (not OE/GE 50/50) */
.spo-about-studio-header .spo-optical-headline,
.spo-about-studio-header .spo-about-studio-title {
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  font-weight: 700 !important;
  font-size: clamp(32px, 5vw, 52px) !important;
  line-height: 1.1 !important;
  color: #ffffff !important;
  margin: 0 auto !important;
  max-width: 16em;
}
.spo-about-intro .spo-about-intro-text,
.spo-about-intro .spo-about-intro-text p,
.spo-about-intro .spo-about-intro-text ul {
  text-align: center !important;
}
.spo-about-intro .spo-about-intro-text ul {
  list-style-position: inside;
  padding-left: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.spo-about-intro .spo-lime-btn {
  text-align: center !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.spo-about-push.about-image-push-top,
.about-image-push-top.spo-about-push {
  /* Intro-on-image owns the pull; keep z-index only */
  margin-top: 0 !important;
  position: relative;
  z-index: 2;
}
.spo-about-push img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
/* About — intro copy overlaid on photo (below 50/50 hero; no overlap) */
.spo-about-intro-on-image.about-image-push-top {
  margin-top: 0 !important;
  position: relative;
  z-index: 2;
  min-height: 0;
}
.spo-about-studio-header {
  padding-bottom: 48px !important;
  overflow: visible !important;
}
.spo-about-studio-header .spo-optical-headline,
.spo-about-studio-header .spo-about-studio-title {
  position: relative;
  z-index: 3;
}
.spo-about-intro-on-image {
  padding-top: 36px !important;
  padding-bottom: 64px !important;
  min-height: 420px !important;
  /* Portrait photo — keep subject behind centered copy */
  background-size: cover !important;
  background-position: 62% 32% !important;
}
.spo-about-intro-on-image .spo-about-intro-text {
  max-width: 36em;
  margin: 0 auto;
  padding: 28px 32px !important;
  background: rgba(17, 17, 17, 0.55);
  border-radius: 2px;
  box-sizing: border-box;
  font-size: clamp(15px, 1.25vw, 16px);
  line-height: 1.65 !important;
  text-align: left !important;
  color: #ffffff !important;
}
.spo-about-intro-on-image .spo-about-intro-text p,
.spo-about-intro-on-image .spo-about-intro-text li {
  color: #ffffff !important;
  text-align: left !important;
  line-height: 1.7 !important;
}
.spo-about-intro-on-image .spo-about-intro-text p {
  margin: 0 0 1.15em !important;
}
.spo-about-intro-on-image .spo-about-intro-text p:last-child {
  margin-bottom: 0 !important;
}
.spo-about-intro-on-image .spo-about-intro-text ul {
  list-style: disc !important;
  list-style-position: outside !important;
  padding-left: 1.35em !important;
  margin: 0.35em 0 1.35em !important;
  text-align: left !important;
}
.spo-about-intro-on-image .spo-about-intro-text li {
  margin: 0 0 0.65em !important;
  padding-left: 0.2em;
}
.spo-about-intro-on-image .spo-lime-btn {
  text-align: center !important;
  display: block !important;
  margin: 20px auto 0 !important;
}
/* About Bausteine tabs — centered panel (match OE) */
.spo-about-bausteine-tabs .spo-about-tab-body {
  max-width: 42em !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  color: #4a4a4a !important;
  letter-spacing: 0 !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body,
.spo-about-bausteine-tabs .spo-about-tab-body p,
.spo-about-bausteine-tabs .spo-about-tab-body .wpb_wrapper {
  font-weight: 400 !important;
  text-align: center !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body p {
  margin: 0 0 1em !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #4a4a4a !important;
}
/* Lists flow like body copy — no list-block margins between items */
.spo-about-bausteine-tabs .spo-about-tab-body p:has(+ ul) {
  margin-bottom: 0 !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body ul + p {
  margin-top: 1em !important;
}
/* Centered list: same type/rhythm as paragraphs */
.spo-about-bausteine-tabs .spo-about-tab-body ul {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  text-align: center !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #4a4a4a !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body li {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  list-style: none !important;
  list-style-type: none !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #4a4a4a !important;
  text-align: center !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body li::before {
  content: "• " !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body li::marker {
  content: "" !important;
  font-size: 0 !important;
  color: transparent !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body a {
  color: var(--spo-page-accent, #f17912) !important;
  text-decoration: underline;
}
.spo-about-bausteine-tabs .spo-about-tab-body a:hover {
  color: var(--spo-page-accent-hover, #d96c10) !important;
}
.spo-about-bausteine-tabs .spo-highlight-box {
  margin: 1.25em 0 !important;
}
/* Ultimate Tabs: do NOT force position/display on panels — that breaks Fade
   and leaves every .ult_tabitemname at display:none (Mein Ansatz invisible).
   Only give the content shell room; let the plugin toggle panels. */
.spo-about-bausteine-tabs .ult_tabcontent,
.spo-about-bausteine-tabs .ult_tab_min_contain {
  position: relative !important;
  min-height: 240px !important;
  overflow: visible !important;
}
.spo-about-bausteine-tabs .ult_tabcontent,
.spo-about-bausteine-tabs .ult_tabitemname {
  padding-top: 28px !important;
}
.spo-about-bausteine-tabs.spo-bausteine-tabs,
.spo-about-bausteine-tabs.vc_custom_spo_bautabs,
.spo-about-bausteine-tabs {
  padding-bottom: 0 !important;
}
/* Tab panels — centered stack like OE */
.spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
.spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner > .wpb_column,
.spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner > .vc_column_inner,
.spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner > .vc_column_container {
  float: none !important;
  width: 100% !important;
  max-width: 42em !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
  text-align: center !important;
  align-self: center !important;
}
.spo-about-bausteine-tabs .spo-bau-tab-heading,
.spo-about-bausteine-tabs.spo-bausteine-tabs .spo-bau-tab-heading {
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  max-width: 40em !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body,
.spo-about-bausteine-tabs .spo-bau-tab-body,
.spo-about-bausteine-tabs .spo-bau-tab-body p {
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  overflow-wrap: break-word !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 42em !important;
}
/* About — vertical rhythm between major sections */
.spo-about-intro-on-image {
  padding-bottom: 80px !important;
}
body.page-id-8363 .spo-about-hero.spo-hero-row,
body.page-ueber-mich .spo-about-hero.spo-hero-row {
  margin-bottom: 0 !important;
}
body.page-id-8363 .spo-about-hero .ult-spacer,
body.page-ueber-mich .spo-about-hero .ult-spacer {
  height: 14px !important;
  min-height: 14px !important;
}
body.page-id-8363 .spo-about-hero .spo-about-intro-text p,
body.page-ueber-mich .spo-about-hero .spo-about-intro-text p {
  margin: 0 0 0.6em !important;
}
.spo-about-bausteine.vc_custom_spo_bau,
.spo-about-bausteine {
  padding-top: 80px !important;
  padding-bottom: 8px !important;
}
/* Shared section intro (eyebrow + H2 + lead): a bit more air above */
.spo-bausteine.vc_custom_spo_bau,
.spo-bausteine {
  padding-top: 80px !important;
}
body.page-id-8363 .spo-about-bausteine .ult-spacer,
body.page-ueber-mich .spo-about-bausteine .ult-spacer {
  height: 8px !important;
  min-height: 8px !important;
}
body.page-id-8363 .spo-about-bausteine .wpb_wrapper > .ult-spacer:last-child,
body.page-ueber-mich .spo-about-bausteine .wpb_wrapper > .ult-spacer:last-child {
  height: 20px !important;
  min-height: 20px !important;
}
.spo-about-insight.spo-postcovid-cta {
  padding-top: 16px !important;
  padding-bottom: 104px !important;
}
.spo-about-inqa-cta.spo-postcovid-cta {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
}
/* About prose after intro — breathing room + aligned column */
.spo-about-ansatz.spo-text-block {
  padding-top: 104px !important;
  padding-bottom: 80px !important;
}
.spo-about-mission.spo-text-block {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
.spo-about-unternehmen.spo-text-block {
  padding-top: 64px !important;
  padding-bottom: 80px !important;
}
.spo-about-background.spo-text-block {
  padding-top: 120px !important;
  padding-bottom: 80px !important;
}
.spo-about-ansatz.spo-text-block,
.spo-about-prose.spo-text-block,
.spo-about-background.spo-text-block {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.spo-about-ansatz.spo-text-block > .wpb_column,
.spo-about-ansatz.spo-text-block > .vc_column_container,
.spo-about-prose.spo-text-block > .wpb_column,
.spo-about-prose.spo-text-block > .vc_column_container,
.spo-about-background.spo-text-block > .wpb_column,
.spo-about-background.spo-text-block > .vc_column_container {
  max-width: 920px !important;
}
.spo-about-ansatz .vc_column-inner,
.spo-about-prose .vc_column-inner,
.spo-about-background .vc_column-inner {
  padding-left: 40px !important;
  padding-right: 40px !important;
}
.spo-about-ansatz .vc_custom_heading,
.spo-about-prose .vc_custom_heading {
  margin: 0 0 0.15em !important;
}
.spo-about-ansatz .wpb_text_column,
.spo-about-prose .wpb_text_column {
  margin-top: 0 !important;
}
/* Ansatz / text blocks — readable list spacing */
.spo-about-ansatz .wpb_text_column ul,
.spo-about-mission .wpb_text_column ul,
.spo-about-unternehmen .wpb_text_column ul,
.spo-about-background .wpb_text_column ul,
.spo-about-werte .wpb_text_column ul,
.spo-text-block .wpb_text_column ul {
  padding-left: 1.35em !important;
  margin: 0.75em 0 1.25em !important;
  list-style: disc !important;
}
.spo-about-ansatz .wpb_text_column li,
.spo-about-mission .wpb_text_column li,
.spo-about-unternehmen .wpb_text_column li,
.spo-about-background .wpb_text_column li,
.spo-text-block .wpb_text_column li {
  margin: 0 !important;
  padding: 0 0 0.12em !important;
  line-height: 1.5 !important;
}
.spo-about-ansatz .wpb_text_column p,
.spo-about-mission .wpb_text_column p,
.spo-text-block .wpb_text_column p {
  margin-bottom: 1em !important;
  line-height: 1.65 !important;
}
@media (max-width: 767px) {
  .spo-about-intro-on-image.about-image-push-top {
    margin-top: -24px !important;
    min-height: 0;
  }
  .spo-about-studio-header {
    padding-bottom: 36px !important;
  }
  .spo-about-intro-on-image.vc_custom_spo_about_onimg,
  .spo-about-intro-on-image {
    padding-top: 28px !important;
    padding-bottom: 36px !important;
  }
  .spo-about-intro-on-image .spo-about-intro-text {
    padding: 22px 18px !important;
    max-width: 100%;
  }
  .spo-about-ansatz .vc_column-inner,
  .spo-about-prose .vc_column-inner,
  .spo-about-background .vc_column-inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .spo-about-ansatz.vc_custom_spo_ansatz,
  .spo-about-ansatz,
  .spo-about-background {
    padding-top: 64px !important;
  }
}
.spo-about-insight .spo-insight-quote {
  max-width: 42em;
  margin: 0 auto;
}
/* Legacy About Lea-hero rules kept harmlessly if unused */
.spo-about-hero .spo-hero-portrait,
.spo-about-hero .spo-hero-portrait > .vc_column-inner,
.spo-about-hero .spo-hero-portrait .wpb_wrapper,
.spo-about-hero .spo-hero-portrait .wpb_single_image,
.spo-about-hero .spo-hero-portrait .vc_figure,
.spo-about-hero .spo-hero-portrait .vc_single_image-wrapper {
  width: 100% !important;
  height: 100% !important;
  min-height: inherit;
  margin: 0 !important;
  padding: 0 !important;
}
.spo-about-hero .spo-hero-portrait .wpb_wrapper,
.spo-about-hero .spo-hero-portrait > .vc_column-inner {
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}
.spo-about-hero .spo-hero-portrait img {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: calc(100svh - 80px) !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
  margin: 0 !important;
}
.spo-about-hero .spo-optical-headline {
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  font-weight: 700 !important;
  font-size: clamp(28px, 3.4vw, 36px) !important;
  line-height: 1.15 !important;
  color: #111 !important;
  margin: 0 !important;
  max-width: 16em;
}
/* About intro copy sits under SPOONIE in the hero (photo overlay row removed) */
.spo-about-hero .spo-hero-copy .wpb_wrapper {
  max-width: 640px;
}
.spo-about-hero .spo-about-intro-text {
  max-width: none;
  margin: 0;
  padding: 0 !important;
  background: transparent;
  font-size: clamp(15px, 1.2vw, 16px);
  line-height: 1.65 !important;
  text-align: left !important;
  color: #4a4a4a !important;
}
.spo-about-hero .spo-about-intro-text p,
.spo-about-hero .spo-about-intro-text li {
  color: #4a4a4a !important;
  text-align: left !important;
  line-height: 1.7 !important;
}
.spo-about-hero .spo-about-intro-text p {
  margin: 0 0 1em !important;
}
.spo-about-hero .spo-about-intro-text p:last-child {
  margin-bottom: 0 !important;
}
.spo-about-hero .spo-about-intro-text ul {
  list-style: disc !important;
  list-style-position: outside !important;
  padding-left: 1.35em !important;
  margin: 0.15em 0 0.4em !important;
  text-align: left !important;
}
.spo-about-hero .spo-about-intro-text p:has(+ ul) {
  margin-bottom: 0.35em !important;
}
.spo-about-hero .spo-about-intro-text ul + p {
  margin-top: 0 !important;
}
.spo-about-hero .spo-about-intro-text li {
  margin: 0 0 0.18em !important;
  padding-left: 0.2em;
}
.spo-about-hero .spo-about-intro-text li:last-child {
  margin-bottom: 0 !important;
}
.spo-hero-copy .wpb_wrapper {
  width: 100%;
  max-width: 560px;
}
.spo-hero-row .spo-hero-lead,
.spo-hero-row .spo-seo-h1 {
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  /* Match page CTA accent (OE green / GC purple / PC salmon / AM orange) */
  color: var(--spo-page-accent, #437542) !important;
  max-width: 36em;
  margin: 0 !important;
}
.spo-hero-row .spo-hero-lead {
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.spo-hero-row .spo-hero-title,
.spo-hero-row h1.vc_custom_heading:not(.spo-seo-h1) {
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  font-weight: 700 !important;
  font-size: clamp(36px, 4.2vw, 56px) !important;
  line-height: 1.08 !important;
  color: #111111 !important;
  max-width: 9.5em;
  overflow-wrap: normal;
  word-break: normal;
  margin: 0 !important;
}
.spo-hero-row .spo-hero-body p {
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: #222 !important;
  max-width: 34em;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
}
.spo-hero-row .spo-cta-dark .vc_btn3,
.spo-hero-row .spo-cta-dark a.vc_general {
  background-color: #f3c4cc !important;
  border-color: #f3c4cc !important;
  color: #111111 !important;
}
@media (max-width: 991px) {
  .spo-hero-row.wpb_row,
  .spo-hero-row.vc_row {
    min-height: 0;
  }
  .spo-hero-media {
    min-height: 420px !important;
  }
  .spo-hero-copy > .vc_column-inner,
  .vc_custom_spo_hero_txt {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}

/* Keep sections from wrapping beside floats.
   Do NOT force width on spo-cta-banner — VC stretch_row needs auto width. */
.spo-section-title,
.spo-text-block,
.spo-it-row,
.spo-tiles {
  clear: both !important;
  width: 100% !important;
  float: none !important;
}
.spo-cta-banner {
  clear: both !important;
  float: none !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  left: 0 !important;
  right: auto !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* Centered content column — same rhythm as section titles */
.spo-text-block.wpb_row {
  display: block !important;
}
.spo-text-block > .wpb_column,
.spo-text-block > .vc_column_container {
  float: none !important;
  width: 100% !important;
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.spo-text-block .vc_column-inner {
  padding-left: 24px !important;
  padding-right: 24px !important;
  width: 100% !important;
}
.spo-text-block .wpb_wrapper {
  max-width: 100% !important;
  margin: 0 !important;
}
.vc_custom_spo_block {
  padding-top: 28px !important;
  padding-bottom: 36px !important;
}

/* Image + text */
.spo-it-row.wpb_row,
.spo-it-row.vc_row {
  display: flex !important;
  flex-wrap: wrap;
  clear: both !important;
}
.spo-it-row > .wpb_column,
.spo-it-row > .vc_column_container {
  float: none !important;
}
.spo-it-img .vc_column-inner { padding: 24px 24px 24px 40px !important; }
.spo-it-txt .vc_column-inner { padding: 24px 40px 24px 24px !important; }

/* Tiles */
.spo-tiles.wpb_row,
.spo-tiles.vc_row {
  display: flex !important;
  flex-wrap: wrap;
  clear: both !important;
  margin-bottom: 10px !important;
}
.spo-tiles > .wpb_column,
.spo-tiles > .vc_column_container {
  float: none !important;
}
.spo-tiles .vc_column-inner {
  padding: 16px 24px !important;
}
.spo-tiles h4 {
  font-size: 15px;
  line-height: 1.35;
  min-height: 2.7em;
  margin-bottom: 10px;
}

/* Section titles */
.vc_custom_spo_sect {
  padding-top: 48px !important;
  padding-bottom: 8px !important;
}

/* Buttons */
.spo-cta .vc_btn3,
.spo-cta a.vc_general {
  padding: 16px 28px !important;
  min-width: 280px;
  text-align: center;
  box-sizing: border-box;
  height: auto !important;
  line-height: 1.3 !important;
  display: inline-block !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: 15px !important;
  background-color: #f3c4cc !important;
  border-color: #f3c4cc !important;
  color: #111111 !important;
}
.spo-cta .vc_btn3:hover,
.spo-cta a.vc_general:hover {
  background-color: #e5a8b4 !important;
  border-color: #e5a8b4 !important;
  color: #111111 !important;
}
@media (min-width: 768px) {
  .spo-cta .vc_btn3,
  .spo-cta a.vc_general {
    white-space: nowrap !important;
  }
}
.spo-text-block .spo-cta,
.spo-text-block .vc_btn3-container,
.spo-cta-center .vc_btn3-container {
  text-align: center !important;
  display: flex !important;
  justify-content: center;
  margin-top: 8px;
}
.spo-cta-banner { margin-top: 24px !important; }
body.home .spo-home-services-hero-row ~ .spo-cta-banner,
body.page-id-8359 .spo-home-services-hero-row ~ .spo-cta-banner,
.spo-home-services-hero-row ~ .spo-cta-banner {
  margin-top: 0 !important;
}

@media (max-width: 991px) {
  .vc_custom_spo_hero_txt {
    padding-top: 130px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .spo-it-img .vc_column-inner,
  .spo-it-txt .vc_column-inner {
    padding: 16px 20px !important;
  }
}

/* Align content column with typical Deep container */
.spo-text-block > .wpb_column,
.spo-text-block > .vc_column_container {
  max-width: 1100px !important;
}
.spo-text-block .spo-text-body ul {
  padding-left: 1.2em !important;
  margin-left: 0 !important;
}
.spo-text-block .vc_btn3-container {
  text-align: left !important;
  display: block !important;
  justify-content: flex-start;
}
.spo-text-block + .spo-cta-banner {
  margin-top: 10px !important;
}
.vc_custom_spo_block {
  padding-bottom: 20px !important;
}

/* OE mockup rebuild sections.
   spo-dark-cta uses Ultimate full-bleed bg — do not force width:100%. */
.spo-mockup,
.spo-feature-row,
.spo-bausteine,
.spo-bausteine-tabs,
.spo-icon-grid,
.spo-pricing-head,
.spo-pricing-grid {
  clear: both !important;
  width: 100% !important;
}

/* Bausteine tabs block — side inset + vertical breathing room */
.spo-bausteine-tabs.vc_custom_spo_bautabs,
.spo-bausteine-tabs {
  padding-top: 40px !important;
  padding-bottom: 88px !important;
  padding-left: clamp(24px, 4vw, 56px) !important;
  padding-right: clamp(24px, 4vw, 56px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
.spo-about-bausteine-tabs.spo-bausteine-tabs {
  /* Match sitewide mobile gutters; keep section spacing from VC */
  padding-left: clamp(28px, 4vw, 40px) !important;
  padding-right: clamp(28px, 4vw, 40px) !important;
  /* Beat generic .spo-bausteine-tabs { padding-bottom: 88px } */
  padding-bottom: 0 !important;
}
.spo-bausteine-tabs .ult_tabcontent,
.spo-bausteine-tabs .ult_tab_min_contain {
  margin-top: 20px !important;
}
/* Space under Bausteine title before tabs */
.spo-bausteine.vc_custom_spo_bau,
.spo-bausteine {
  padding-bottom: 28px !important;
}

/* Bausteine tabs — Maindemo services-2 Style_3 */
.spo-bausteine-tabs .spo-bau-tab-heading {
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  white-space: pre-line;
}
.spo-bausteine-tabs .spo-bau-tab-body {
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}
.spo-bausteine-tabs .ser-ul ul,
.spo-bausteine-tabs .spo-bau-tab-list ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.spo-bausteine-tabs .ser-ul li,
.spo-bausteine-tabs .spo-bau-tab-list li,
.spo-bausteine-tabs .spo-bau-tab-lines p {
  margin: 0 0 2px !important;
  padding: 0 !important;
  font-size: 15px;
  line-height: 1.45;
  color: #010101;
}
.spo-bausteine-tabs .spo-bau-tab-lines p {
  margin-bottom: 2px !important;
}
/* Bausteine: labels only — hide tab icons */
.spo-bau-no-icons .ult_tab_icon,
.spo-bau-no-icons .aio-icon,
.spo-bau-no-icons .ult-just-icon-wrapper,
.spo-bau-no-icons a .aio-icon {
  display: none !important;
}
.spo-bau-no-icons .ult_tabmenu.style3 .ult_tab_li a {
  padding-top: 8px !important;
}
.spo-bau-no-icons .ult_tabmenu.style3 .ult-span-text {
  margin-top: 0 !important;
}
.spo-bausteine-tabs .ult_tabmenu.style3 {
  margin-bottom: 16px !important;
  border-bottom: 1px solid #e5e5e5 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: stretch !important;
  align-items: flex-end;
  gap: 0;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li {
  text-align: center;
  flex: 1 1 0 !important;
  width: 0 !important; /* equal share of the row — OE only; About overrides below */
  min-width: 0 !important;
  max-width: none !important;
  float: none !important;
  display: block !important;
  border-bottom: 3px solid transparent !important;
  margin: 0 !important;
}
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current a {
  border-bottom-color: #010101 !important;
}
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a {
  border-bottom: none !important;
  display: block;
  padding: 0 4px 16px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.spo-bausteine-tabs .ult_tab_icon img,
.spo-bausteine-tabs .aio-icon img {
  max-height: 56px !important;
  width: auto !important;
}
.spo-bausteine-tabs .ult_tabmenu.style3 .ult-span-text {
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  font-size: 12px !important;
  white-space: normal !important;
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  overflow-wrap: break-word !important;
  line-height: 1.25 !important;
  max-width: none !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.spo-services-scroll .spo-scroll-title,
.spo-services-scroll-mobile .spo-scroll-title {
  letter-spacing: 0.03em !important;
  line-height: 1.25 !important;
  margin: 0 0 8px !important;
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  overflow-wrap: break-word !important;
}
header.style4 .navbar-nav > li {
  float: none !important;
  white-space: normal;
  flex: 0 1 auto;
  min-width: 0;
}
header.style4 .navbar-nav > li > a {
  color: #111111 !important;
  padding-top: 12px !important;
  padding-bottom: 14px !important;
  padding-left: 11px !important;
  padding-right: 11px !important;
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  text-align: center !important;
}
@media (max-width: 991px) {
  .spo-bausteine-tabs .ult_tabmenu.style3 {
    flex-wrap: wrap !important;
    gap: 0 12px;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li {
    flex: 1 1 30% !important;
    width: auto !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult-span-text {
    white-space: normal;
    font-size: 12px !important;
  }
}
@media (max-width: 991px) {
  .spo-bausteine-tabs .spo-bau-tab-heading {
    margin-bottom: 16px;
  }
}
.spo-intro-row {
  clear: both !important;
}
.spo-intro-row.wpb_row,
.spo-intro-row.vc_row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
}
.spo-intro-row > .wpb_column,
.spo-intro-row > .vc_column_container {
  float: none !important;
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Intro: theme defaults to 10px tracking — too wide for German compounds */
.spo-intro-row .spo-intro-title,
.spo-intro-row .spo-intro-title-sm,
.spo-intro-row h2.vc_custom_heading,
.spo-intro-row .spo-intro-title h2 {
  letter-spacing: 0.05em !important;
  line-height: 1.28 !important;
  text-transform: uppercase;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}
.spo-intro-row .spo-intro-title,
.spo-intro-row .spo-intro-title h2 {
  font-size: clamp(26px, 2.5vw, 34px) !important;
  font-weight: 700;
  margin: 0;
  max-width: 100%;
  line-height: 1.32 !important;
}
.spo-intro-row .spo-intro-title-sm {
  font-size: clamp(24px, 2.3vw, 32px) !important;
}
.spo-intro-row .spo-intro-left {
  padding-right: 24px;
}
.spo-intro-row .spo-intro-right {
  padding-left: 12px;
}
.spo-intro-row .section-title-inline {
  max-width: 100%;
}
.spo-intro-row .ultimate-dual-color,
.spo-intro-row .ult-dual-color-heading {
  max-width: 100%;
}

/* Hide Deep demo dual-color section labels (BAUSTEINE 5 BEREICHE, WEITERE MODULE, …) */
.ult-dual-color.mark-decoration-2,
.mark-decoration-2.ult-dual-color,
.ult-dual-color.mark-decoration-2 .ult-dual-color-heading,
.uvc-heading-spacer.line_only {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Hide leftover demo eyebrow labels above section H2s (ANSATZ, FAQ, SPOONIE, …) */
.spo-section-title h6.vc_custom_heading,
.spo-section-title .vc_custom_heading[class*="h6"],
.spo-section-title > .wpb_column > .vc_column-inner > .wpb_wrapper > h6 {
  display: none !important;
}

.spo-text-mark {
  display: inline;
  background: #ff2bd6;
  color: #111;
  padding: 0.18em 0.35em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 1.55;
  font-size: 15px;
  font-weight: 500;
}
.spo-highlight-line p {
  margin: 0;
  line-height: 1.55;
}
@media (max-width: 991px) {
  .spo-intro-row > .wpb_column,
  .spo-intro-row > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .spo-intro-row .spo-intro-left,
  .spo-intro-row .spo-intro-right {
    padding-left: 0;
    padding-right: 0;
  }
}
/* FAQ: Creative Demo classic accordion — do not override theme styles */
.spo-faq {
  clear: both !important;
}
.spo-refs,
.spo-quotes,
.spo-logos {
  clear: both !important;
}

/* Testimonials: Maindemo style2 look — circular quote, centered, no card chrome */
.spo-quotes .testimonials-style2:not(.single-wide-testimonials) .testimonilas1bg {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 24px 28px 10px !important;
  text-align: center !important;
  display: block !important;
  width: 100%;
  position: relative;
}
.spo-quotes .testimonials-style2 .testimonials-slide-content.container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.spo-quotes .testimonials-3-icon {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 auto 22px !important;
  background: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 1 !important;
  rotate: none !important;
  transform: none !important;
  font-size: 22px !important;
  line-height: 1 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.spo-quotes .testimonials-3-icon i,
.spo-quotes .testimonials-3-icon .icon-quotation-mark {
  color: #111 !important;
  opacity: 1 !important;
  transform: none !important;
  rotate: none !important;
  font-size: 22px !important;
  line-height: 1 !important;
}
.spo-quotes .testimonials_text_content,
.spo-quotes .testimonials_text_content p {
  text-align: center !important;
  color: #6a6a6a !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
  max-height: none !important;
}
.spo-quotes .section-line {
  display: none !important;
}
.spo-quotes .ts1-author {
  display: block !important;
  text-align: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.spo-quotes .t-author {
  margin: 22px 0 0 !important;
  margin-left: 0 !important;
  text-align: center !important;
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.spo-quotes .t-author a {
  color: #111 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.spo-quotes .t-author .company_value,
.spo-quotes .t-author .company_value a {
  display: block !important;
  margin-top: 6px !important;
  color: #888 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
  line-height: 1.45 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* Reserve a little space under attribution so dots sit close but don’t overlap */
.spo-quotes .testimonials-style2:not(.single-wide-testimonials) .testimonilas1bg {
  padding-bottom: 8px !important;
}
.spo-quotes .testimonials-style2:not(.single-wide-testimonials) .slick-slider,
.spo-quotes .testimonials-style2 ul.slides,
.spo-quotes .testimonials-style2 .slick-initialized {
  padding-bottom: 0 !important;
  position: relative !important;
  /* Theme/VC caps the list at 650px → huge empty band above the dots */
  max-height: none !important;
  height: auto !important;
}
.spo-quotes .testimonials-style2 .slick-list {
  max-height: none !important;
  height: auto !important;
}
.spo-quotes .testimonials-style2 .slick-track {
  align-items: flex-start !important;
  height: auto !important;
}
.spo-quotes .testimonials-style2 .slick-arrow,
.spo-quotes .testimonials-style2 .flex-direction-nav a {
  opacity: 1 !important;
  visibility: visible !important;
}
/* Side arrows — clear of quote + author text */
.spo-quotes .testimonials-style2 button.slick-prev,
.spo-quotes .testimonials-style2 button.slick-next,
.spo-quotes .testimonials-style2 .slick-prev,
.spo-quotes .testimonials-style2 .slick-next {
  top: 42% !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
}
.spo-quotes .testimonials-style2 button.slick-prev,
.spo-quotes .testimonials-style2 .slick-prev {
  left: 4px !important;
  right: auto !important;
}
.spo-quotes .testimonials-style2 button.slick-next,
.spo-quotes .testimonials-style2 .slick-next {
  right: 4px !important;
  left: auto !important;
}
.spo-quotes .testimonials-style2 .testimonials_text_content,
.spo-quotes .testimonials-style2 .ts1-author,
.spo-quotes .testimonials-style2 .t-author {
  padding-left: 56px !important;
  padding-right: 56px !important;
  box-sizing: border-box !important;
}
/* Dots directly under author — not pinned to a tall empty box */
.spo-quotes .testimonials-style2 .slick-dots,
.spo-quotes .testimonials-style2 .flex-control-nav {
  display: block !important;
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  z-index: 4 !important;
}
.spo-quotes.vc_row,
.spo-quotes {
  padding-bottom: 28px !important;
  overflow: visible !important;
}
.spo-quotes .testimonials-style2 .slick-list {
  margin: 0;
  padding-bottom: 0 !important;
  max-height: none !important;
  height: auto !important;
}
.spo-quotes .testimonials-style2 .testimonials-slide {
  padding: 0 8px 0;
}
.spo-quotes .ts1-author,
.spo-quotes .t-author {
  position: relative !important;
  z-index: 1 !important;
  padding-bottom: 0 !important;
}
.spo-quotes .img-container {
  display: none !important;
}
@media (max-width: 767px) {
  .spo-quotes .testimonials-style2 button.slick-prev,
  .spo-quotes .testimonials-style2 .slick-prev {
    left: 0 !important;
  }
  .spo-quotes .testimonials-style2 button.slick-next,
  .spo-quotes .testimonials-style2 .slick-next {
    right: 0 !important;
  }
  .spo-quotes .testimonials-style2 .testimonials_text_content,
  .spo-quotes .testimonials-style2 .ts1-author,
  .spo-quotes .testimonials-style2 .t-author {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
}
.spo-split-50 {
  clear: both !important;
}
.spo-split-50.wpb_row,
.spo-split-50.vc_row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  /* Full-bleed without VC left/width inline offsets fighting the layout */
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  left: 0 !important;
  right: auto !important;
  position: relative !important;
  box-sizing: border-box !important;
}
.spo-split-50 > .wpb_column,
.spo-split-50 > .vc_column_container {
  float: none !important;
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}
.spo-split-50 .spo-split-txt,
.spo-split-50 .vc_custom_spo_split_txt,
.spo-split-50 .spo-split-txt > .vc_column-inner {
  background-color: #f5f1eb !important;
  height: 100%;
}
.spo-split-50 .spo-split-txt > .vc_column-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 80px clamp(28px, 8%, 80px) !important;
}
.spo-split-50 .spo-split-txt .wpb_wrapper {
  max-width: 34em;
}
.spo-split-50 .spo-split-txt .vc_custom_heading,
.spo-split-50 .spo-split-txt .wpb_text_column,
.spo-split-50 .spo-split-txt .vc_btn3-container,
.spo-split-50 .spo-split-txt .ult-spacer {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.spo-split-50 .spo-split-txt .wpb_text_column p,
.spo-split-50 .spo-split-txt .wpb_text_column li {
  line-height: 1.65 !important;
}
.spo-split-50 .spo-split-txt .wpb_text_column ul,
.spo-split-50 .spo-split-txt .wpb_text_column ol,
.spo-split-50 .spo-split-txt .wpb_text_column li {
  color: #333333 !important;
}
.spo-split-50 .spo-split-txt .wpb_text_column ul li::marker,
.spo-split-50 .spo-split-txt .wpb_text_column ol li::marker {
  color: #333333 !important;
}
.spo-split-50 .spo-split-txt .wpb_text_column p + p,
.spo-split-50 .spo-split-txt .wpb_text_column ul {
  margin-top: 1em !important;
}
.spo-split-50 .spo-split-txt .vc_btn3-container {
  margin-top: 8px !important;
}
/* Photo fills its half to match the text column — no overflow below */
.spo-split-50 .spo-split-img {
  position: relative;
  overflow: hidden !important;
  min-height: 0;
  background: #f5f1eb !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.spo-split-50 .spo-split-img > .vc_column-inner,
.spo-split-50 .spo-split-img .wpb_wrapper,
.spo-split-50 .spo-split-img .wpb_single_image,
.spo-split-50 .spo-split-img .vc_figure,
.spo-split-50 .spo-split-img .vc_single_image-wrapper {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden;
}
.spo-split-50 .spo-split-img img,
.spo-split-50 .vc_custom_spo_img2 img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
/* Home: breathing room around stacked splits + refs */
.spo-home-about-split.spo-split-50,
.spo-home-collab-split.spo-split-50 {
  min-height: clamp(520px, 68vh, 720px);
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-items: stretch !important;
  /* Fallback fill so a short text column never flashes page white */
  background-color: #f5f1eb !important;
}
/* Text column must match row/image height (was ~5px short → white hairline) */
.spo-home-about-split > .spo-split-txt,
.spo-home-about-split > .spo-split-img,
.spo-home-collab-split > .spo-split-txt,
.spo-home-collab-split > .spo-split-img,
.spo-home-about-split > .wpb_column,
.spo-home-about-split > .vc_column_container,
.spo-home-collab-split > .wpb_column,
.spo-home-collab-split > .vc_column_container {
  align-self: stretch !important;
  min-height: 100% !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.spo-home-about-split > .spo-split-txt,
.spo-home-collab-split > .spo-split-txt {
  background-color: #f5f1eb !important;
}
.spo-home-about-split .spo-split-txt > .vc_column-inner,
.spo-home-collab-split .spo-split-txt > .vc_column-inner,
.spo-home-about-split .vc_custom_spo_home_split_txt,
.spo-home-collab-split .spo-split-txt > .vc_column-inner {
  flex: 1 1 auto !important;
  align-self: stretch !important;
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  background-color: #f5f1eb !important;
  box-sizing: border-box !important;
}
.spo-home-about-split > .spo-split-img,
.spo-home-collab-split > .spo-split-img {
  background-color: #f5f1eb !important;
  position: relative !important;
  overflow: hidden !important;
}
.spo-home-about-split .spo-split-img > .vc_column-inner,
.spo-home-collab-split .spo-split-img > .vc_column-inner {
  flex: 1 1 auto !important;
  min-height: 100% !important;
}
/* Kill white hairline between stacked dark home bands (WPBakery clearfix) */
.spo-cta-banner + .vc_row-full-width,
.spo-cta-banner + .vc_row-full-width + .vc_clearfix,
.spo-home-about-split + .vc_row-full-width,
.spo-home-about-split + .vc_row-full-width + .vc_clearfix,
.spo-home-collab-split + .vc_row-full-width,
.spo-home-collab-split + .vc_row-full-width + .vc_clearfix,
.spo-cta-banner ~ .vc_row-full-width.vc_clearfix,
.spo-home-about-split ~ .vc_row-full-width.vc_clearfix {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}
.spo-cta-banner + .vc_row-full-width + .spo-home-about-split,
.spo-cta-banner ~ .spo-home-about-split,
.spo-home-about-split + .vc_row-full-width + .spo-home-collab-split,
.spo-home-about-split ~ .spo-home-collab-split {
  margin-top: -1px !important;
}
.spo-cta-banner {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  margin-bottom: 0 !important;
}
.spo-cta-banner > .wpb_column > .vc_column-inner,
.spo-cta-banner > .vc_column_container > .vc_column-inner {
  padding-left: clamp(24px, 6vw, 80px) !important;
  padding-right: clamp(24px, 6vw, 80px) !important;
}
.spo-cta-banner .vc_custom_heading {
  margin-bottom: 16px !important;
}
.spo-cta-banner .vc_btn3-container {
  margin-top: 12px !important;
}
.spo-home-refs.spo-refs,
.spo-refs.spo-home-refs {
  padding-top: 112px !important;
  padding-bottom: 8px !important;
}
.spo-oe-refs.spo-refs,
.spo-refs.spo-oe-refs,
.spo-ge-refs.spo-refs,
.spo-pc-refs.spo-refs,
.spo-refs {
  padding-top: 112px !important;
  padding-bottom: 8px !important;
}
.spo-home-refs .spo-refs-eyebrow {
  margin-bottom: 12px !important;
}
.spo-oe-refs .spo-refs-eyebrow {
  margin-bottom: 12px !important;
}
.spo-home-refs .spo-refs-title,
.spo-home-refs h2.vc_custom_heading,
.spo-refs .spo-refs-title,
.spo-refs h2.vc_custom_heading {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.spo-home-quotes.spo-quotes,
.spo-quotes.spo-home-quotes,
.spo-oe-quotes.spo-quotes,
.spo-quotes.spo-oe-quotes,
.spo-ge-quotes.spo-quotes,
.spo-pc-quotes.spo-quotes,
.spo-quotes {
  padding-top: 8px !important;
  /* Tight under dots — was 48 and looked like empty grey */
  padding-bottom: 28px !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  height: auto !important;
}
.spo-home-quotes .vc_column-inner,
.spo-home-quotes .wpb_wrapper,
.spo-home-quotes .testimonials-style2,
.spo-oe-quotes .vc_column-inner,
.spo-oe-quotes .wpb_wrapper,
.spo-oe-quotes .testimonials-style2,
.spo-ge-quotes .vc_column-inner,
.spo-ge-quotes .wpb_wrapper,
.spo-ge-quotes .testimonials-style2,
.spo-pc-quotes .vc_column-inner,
.spo-pc-quotes .wpb_wrapper,
.spo-pc-quotes .testimonials-style2 {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
.spo-quotes .testimonials-style2,
.spo-quotes .testimonials {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* One full-width quote — not three slim columns */
.spo-quotes .testimonials-style2 .slick-list {
  overflow: hidden !important;
  height: auto !important;
}
.spo-quotes .testimonials-style2 .slick-track {
  display: flex !important;
  align-items: flex-start !important;
  height: auto !important;
}
.spo-quotes .testimonials-style2 .slick-slide,
.spo-quotes .testimonials-style2 .testimonials-slide {
  float: none !important;
  height: auto !important;
  max-width: 100% !important;
}
.spo-quotes .testimonials-style2 .testimonials-slide-content,
.spo-quotes .testimonials-style2 .testimonilas1bg {
  height: auto !important;
  max-width: 48em !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 767px) {
  .spo-split-50.wpb_row,
  .spo-split-50.vc_row {
    flex-wrap: wrap !important;
  }
  .spo-split-50 > .wpb_column,
  .spo-split-50 > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .spo-split-50 .spo-split-img {
    min-height: 420px;
  }
  .spo-split-50 .spo-split-txt > .vc_column-inner {
    padding: 56px 28px !important;
  }
  .spo-home-about-split.spo-split-50,
  .spo-home-collab-split.spo-split-50 {
    min-height: 0;
  }
  .spo-cta-banner {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
  .spo-home-refs.spo-refs,
  .spo-refs.spo-home-refs {
    padding-top: 72px !important;
  }
}
.spo-split-big {
  font-weight: 400 !important;
  font-size: 1em !important;
  line-height: 1.55 !important;
  color: #333333 !important;
}
.spo-split-small {
  font-weight: 400 !important;
  font-size: 1em !important;
  line-height: 1.55 !important;
  color: #333333 !important;
}
.spo-split-eyebrow {
  letter-spacing: 0.12em !important;
  opacity: 0.85;
}
.spo-split-sub {
  letter-spacing: 0.02em !important;
  opacity: 0.9;
  text-transform: none !important;
}
/* Split hierarchy: small lead → large heading (SAME FOR ALL SIMILAR ELEMENTS) */
.spo-split-50 .spo-split-heading,
.spo-split-50 .spo-split-heading .wpb_wrapper,
.spo-about-hamburg .spo-split-heading,
.spo-oe-hamburg .spo-split-heading,
.spo-oe-aufgaben .spo-split-heading {
  font-size: clamp(24px, 2.6vw, 32px) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: #111111 !important;
  letter-spacing: -0.015em;
  margin: 0 !important;
  text-transform: none !important;
}
.spo-split-50 .spo-split-sub,
.spo-about-hamburg .spo-split-sub,
.spo-oe-hamburg .spo-split-sub,
.spo-oe-aufgaben .spo-split-sub {
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  color: var(--spo-page-accent, #437542) !important;
  margin: 0 !important;
  text-transform: none !important;
}
.spo-split-follow {
  clear: both !important;
  width: 100% !important;
  padding-top: 100px !important;
}
.spo-dark-cta {
  clear: both !important;
}
.spo-vision-cta {
  clear: both !important;
  padding-top: 0 !important;
}
/* PC: Hintergrund + CTA — one light framed block (no bg image) */
.spo-pc-hg-united.spo-postcovid-cta,
.spo-pc-hg-united.vc_custom_spo_pc_hg,
.spo-pc-hg-united {
  background: #ffffff !important;
  /* Outer breathing room above/below the framed block */
  padding-top: 96px !important;
  padding-bottom: 96px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.spo-pc-hg-united .spo-pc-hg-frame.spo-postcovid-frame,
.spo-pc-hg-united .spo-postcovid-frame,
.spo-pc-hg-united .ult-content-box-container.spo-pc-hg-frame,
.spo-pc-hg-united .ult-content-box-container.spo-postcovid-frame {
  border: 1px solid #111 !important;
  background: #fff !important;
  padding: 72px clamp(28px, 6vw, 96px) 80px !important;
  box-sizing: border-box !important;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.spo-pc-hg-united .ult-content-box-container.spo-pc-hg-frame > .ult-content-box,
.spo-pc-hg-united .ult-content-box-container.spo-postcovid-frame > .ult-content-box {
  padding: 0 !important;
  margin: 0 !important;
}
.spo-pc-hg-united .spo-pc-hg-title,
.spo-pc-hg-united .spo-vision-title {
  color: #111111 !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
  font-size: clamp(28px, 3.2vw, 42px) !important;
  margin: 0 0 8px !important;
}
.spo-pc-hg-united .spo-pc-hg-title .text-animated-border,
.spo-pc-hg-united .spo-pc-hg-title u,
.spo-pc-hg-united .spo-vision-title .text-animated-border,
.spo-pc-hg-united .spo-vision-title u {
  border-bottom-color: #111111 !important;
  text-decoration-color: #111111 !important;
}
.spo-pc-hg-united .spo-pc-hg-title .ifanimatedborder,
.spo-pc-hg-united .spo-vision-title .ifanimatedborder {
  margin-left: 0.25em !important;
}
.spo-pc-hg-united .spo-pc-hg-copy {
  max-width: 38em;
  margin: 0 auto !important;
  text-align: center !important;
  padding: 0 12px !important;
}
.spo-pc-hg-united .spo-pc-hg-lead,
.spo-pc-hg-united .spo-pc-hg-werte-lead,
.spo-pc-hg-united .spo-pc-hg-werte-heading {
  color: #333333 !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: 1.05em !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  margin: 0 0 1.15em !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.spo-pc-hg-united .spo-pc-hg-lead strong {
  color: #111111 !important;
  font-weight: 700 !important;
  font-size: inherit !important;
}
.spo-pc-hg-united .spo-pc-hg-highlight {
  display: none !important;
}
.spo-pc-hg-united .spo-pc-hg-copy .spo-pc-werte-list,
.spo-pc-hg-united .spo-pc-werte-list {
  list-style: none !important;
  list-style-type: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 1.35em auto 0 !important;
  padding: 36px clamp(24px, 4vw, 48px) !important;
  max-width: 34em;
  width: 100%;
  text-align: center !important;
  background: var(--spo-accent-pc, #ebafae) !important;
  box-sizing: border-box !important;
}
.spo-pc-hg-united .spo-pc-hg-copy .spo-pc-werte-list li,
.spo-pc-hg-united .spo-pc-werte-list li {
  list-style: none !important;
  list-style-type: none !important;
  position: static !important;
  display: block !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
  color: #111111 !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: 1.02em !important;
  line-height: 1.45 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center !important;
}
.spo-pc-hg-united .spo-pc-hg-copy .spo-pc-werte-list li::marker,
.spo-pc-hg-united .spo-pc-werte-list li::marker,
.spo-pc-hg-united .spo-pc-werte-list li::before,
.spo-pc-hg-united .spo-pc-werte-list li::after {
  content: none !important;
  display: none !important;
}
.spo-pc-hg-united .spo-pc-werte-list strong {
  color: #3d7a76 !important;
  -webkit-text-stroke: 0.7px #285052;
  font-weight: 500 !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  margin-right: 0.45em;
  letter-spacing: 0.06em;
}
.spo-pc-hg-united .spo-postcovid-title {
  display: none !important;
}
.spo-pc-hg-united .spo-lime-btn,
.spo-pc-hg-united .ubtn-ctn-center.spo-lime-btn,
.spo-pc-hg-united .ult_buttons {
  display: none !important;
}
.spo-pc-hg-united .spo-postcovid-title + .ult-spacer,
.spo-pc-hg-united .spo-postcovid-title + .ultimate-spacer {
  display: none !important;
}
.spo-pc-hintergrund-werte .spo-vision-title {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.spo-pc-hintergrund-werte .spo-pc-werte-cols {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 20px !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
.spo-pc-hintergrund-werte .spo-pc-werte-cols > .vc_column_inner,
.spo-pc-hintergrund-werte .spo-pc-werte-cols > .wpb_column,
.spo-pc-hintergrund-werte .spo-pc-werte-cols > .vc_column_container {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 0 !important;
  align-self: stretch !important;
  min-width: 0 !important;
  min-height: 100% !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Full height chain: column → inner → wrapper → Ultimate box → white panel */
.spo-pc-hintergrund-werte .spo-pc-werte-cols > .wpb_column > .vc_column-inner,
.spo-pc-hintergrund-werte .spo-pc-werte-cols > .vc_column_container > .vc_column-inner,
.spo-pc-hintergrund-werte .spo-pc-werte-cols .vc_column-inner {
  padding: 0 !important;
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.spo-pc-hintergrund-werte .spo-pc-werte-cols .vc_column-inner > .wpb_wrapper {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.spo-pc-hintergrund-werte .spo-wert-card,
.spo-pc-werte-cols .spo-wert-card,
.spo-pc-hintergrund-werte .ult-content-box-container.spo-wert-card {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 150px !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
.spo-pc-hintergrund-werte .spo-wert-card > .ult-content-box,
.spo-pc-hintergrund-werte .ult-content-box-container.spo-wert-card > .ult-content-box {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 36px 32px !important;
  box-sizing: border-box !important;
}
.spo-pc-hintergrund-werte .spo-wert-card h3.vc_custom_heading,
.spo-pc-hintergrund-werte .spo-wert-card h5.vc_custom_heading {
  color: #111111 !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.spo-pc-hintergrund-werte .spo-wert-card h3.vc_custom_heading {
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em;
  margin-top: 10px !important;
}
.spo-pc-hintergrund-werte .spo-lime-btn {
  text-align: center !important;
}
.spo-pc-hintergrund-werte .vc_custom_heading[style*="dddddd"],
.spo-pc-hintergrund-werte .wpb_column > .vc_column-inner {
  /* body copy already in 2/3; keep readable measure */
}
@media (max-width: 991px) {
  .spo-pc-hintergrund-werte .spo-pc-werte-cols {
    flex-wrap: wrap !important;
  }
  .spo-pc-hintergrund-werte .spo-pc-werte-cols > .vc_column_inner,
  .spo-pc-hintergrund-werte .spo-pc-werte-cols > .wpb_column {
    flex: 1 1 calc(50% - 12px) !important;
  }
}
@media (max-width: 767px) {
  .spo-pc-hintergrund-werte .spo-pc-werte-cols {
    flex-direction: column !important;
    gap: 14px !important;
  }
  .spo-pc-hintergrund-werte .spo-pc-werte-cols > .vc_column_inner,
  .spo-pc-hintergrund-werte .spo-pc-werte-cols > .wpb_column {
    flex: 1 1 auto !important;
    width: 100% !important;
  }
}
.spo-services-scroll {
  padding-bottom: 120px !important;
}
.spo-services-scroll .spo-scroll-sticky-col .spo-cta-pink,
.spo-services-scroll .spo-scroll-sticky-col .vc_btn3-container {
  margin-bottom: 24px !important;
}
.spo-vision-title,
.spo-vision-cta h2.vc_custom_heading,
.spo-inqa-cta h2.vc_custom_heading {
  letter-spacing: 0.04em !important;
  font-size: clamp(28px, 3.2vw, 42px) !important;
  line-height: 1.2 !important;
}
.spo-aufgaben-cta.spo-split-50 .spo-aufgaben-body,
.spo-aufgaben-cta.spo-split-50 .spo-dark-lead {
  color: #333333 !important;
  text-align: left !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.spo-aufgaben-cta.spo-split-50 .spo-lime-btn,
.spo-aufgaben-cta.spo-split-50 .vc_btn3-container {
  text-align: left !important;
}
.spo-inqa-body {
  color: #dddddd !important;
}
.spo-dark-lead,
.spo-inqa-lead {
  color: #dddddd !important;
  text-align: center;
  font-size: 1.05em;
  line-height: 1.65;
  max-width: 720px;
  margin: 0 auto 22px;
}
.spo-dark-lead-after {
  margin-top: 24px;
}
.spo-inqa-list {
  color: #ffffff !important;
  max-width: 680px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.75;
  font-size: 1.02em;
  list-style: disc;
  padding-left: 1.35em;
}
.spo-inqa-list li {
  color: #ffffff !important;
  margin-bottom: 14px;
}
.spo-unpublished {
  display: none !important;
}
.spo-inqa-body a {
  color: #beff01 !important;
  text-decoration: underline;
}
.spo-aufgaben-body a {
  color: var(--spo-page-accent, #437542) !important;
  text-decoration: underline;
}
.spo-inqa-body a:hover {
  color: #ffffff !important;
}
.spo-aufgaben-body a:hover {
  color: var(--spo-page-accent-hover, #2f5230) !important;
}
.spo-vision-cta .text-animated-border,
.spo-vision-cta .vc_custom_heading u,
.spo-vision-cta .animated-border,
.spo-vision-cta [class*="animated-border"] {
  text-decoration-color: #beff01 !important;
  border-bottom-color: #beff01 !important;
}
.spo-ansaetze-row {
  clear: both !important;
  width: 100% !important;
}
.spo-content-block {
  clear: both !important;
}
.spo-content-block.wpb_row,
.spo-content-block.vc_row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
}
.spo-content-block > .wpb_column,
.spo-content-block > .vc_column_container {
  float: none !important;
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.spo-content-media img {
  width: 100% !important;
  height: auto !important;
  display: block;
}
.spo-accent-label {
  text-transform: uppercase;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}
.spo-content-sub {
  letter-spacing: 0.02em !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.spo-content-body p,
.spo-content-body li {
  font-size: 16px;
  line-height: 1.7;
  color: #333;
}
.spo-content-body ul {
  padding-left: 1.25em;
  margin: 0.6em 0 1em;
}
.spo-content-body li {
  margin-bottom: 0.45em;
}
@media (max-width: 991px) {
  .spo-content-block > .wpb_column,
  .spo-content-block > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .spo-content-label .ult_content_box {
    margin-left: 0 !important;
    margin-top: 28px !important;
  }
  .spo-accent-label {
    font-size: 28px !important;
  }
}
/* Brand CTA buttons — salmon (#f3c4cc), dark label */
.spo-lime-btn .ubtn,
.spo-lime-btn button.ubtn,
.spo-lime-btn .ubtn-bg {
  background-color: #f3c4cc !important;
  border-color: #f3c4cc !important;
  color: #111111 !important;
  border-radius: 0 !important;
}
.spo-lime-btn .ubtn-text,
.spo-lime-btn .ubtn-data,
.spo-lime-btn .ubtn i,
.spo-lime-btn .ubtn .ult-btn-icon {
  color: #111111 !important;
}
.spo-lime-btn .ubtn:hover,
.spo-lime-btn button.ubtn:hover,
.spo-lime-btn .ubtn:hover .ubtn-bg {
  background-color: #e5a8b4 !important;
  border-color: #e5a8b4 !important;
  color: #111111 !important;
}

/* Sitewide CTA hover: darken only — no grow/shrink/float/size jump.
   Ultimate ships ulta-grow (scale 1.1) + transition:all on .ubtn. */
.ubtn,
button.ubtn,
a.ubtn-link .ubtn,
.vc_btn3,
a.vc_general.vc_btn3,
.wpcf7 input.wpcf7-submit,
.wpcf7 button.wpcf7-submit {
  transition-property: background-color, border-color, color, opacity !important;
  transition-duration: 0.2s !important;
  transition-timing-function: ease !important;
  transform: none !important;
  -webkit-transform: none !important;
  animation: none !important;
  -webkit-animation: none !important;
}
/* Expand-panel CTA still needs max-height/padding for open/close; only kill motion on hover */
.spo-home-expand-panel__cta {
  transform: none !important;
  -webkit-transform: none !important;
}
.ubtn:hover,
.ubtn:focus,
.ubtn:active,
button.ubtn:hover,
button.ubtn:focus,
button.ubtn:active,
a.ubtn-link:hover .ubtn,
a.ubtn-link:focus .ubtn,
.vc_btn3:hover,
.vc_btn3:focus,
.vc_btn3:active,
a.vc_general.vc_btn3:hover,
a.vc_general.vc_btn3:focus,
.wpcf7 input.wpcf7-submit:hover,
.wpcf7 input.wpcf7-submit:focus,
.wpcf7 button.wpcf7-submit:hover,
.wpcf7 button.wpcf7-submit:focus,
.ulta-grow:hover,
.ulta-grow:focus,
.ulta-grow:active,
.ulta-shrink:hover,
.ulta-shrink:focus,
.ulta-shrink:active,
.ulta-pulse:hover,
.ulta-pulse:focus,
.ulta-pulse:active,
.ulta-pulse-grow:hover,
.ulta-pulse-grow:focus,
.ulta-pulse-grow:active,
.ulta-pulse-shrink:hover,
.ulta-pulse-shrink:focus,
.ulta-pulse-shrink:active,
.ulta-push:hover,
.ulta-push:focus,
.ulta-push:active,
.ulta-pop:hover,
.ulta-pop:focus,
.ulta-pop:active,
.ulta-rotate:hover,
.ulta-rotate:focus,
.ulta-rotate:active,
.ulta-grow-rotate:hover,
.ulta-grow-rotate:focus,
.ulta-grow-rotate:active,
.ulta-float:hover,
.ulta-float:focus,
.ulta-float:active,
.ulta-sink:hover,
.ulta-sink:focus,
.ulta-sink:active,
.ulta-hover:hover,
.ulta-hover:focus,
.ulta-hover:active,
.ulta-hang:hover,
.ulta-hang:focus,
.ulta-hang:active,
.ulta-skew:hover,
.ulta-skew:focus,
.ulta-skew:active,
.ulta-skew-forward:hover,
.ulta-skew-forward:focus,
.ulta-skew-forward:active,
.ulta-skew-backward:hover,
.ulta-skew-backward:focus,
.ulta-skew-backward:active,
[class*="ulta-"]:hover,
[class*="ulta-"]:focus,
[class*="ulta-"]:active {
  transform: none !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  top: auto !important;
  /* Do NOT set letter-spacing here — inherit collapses Ultimate/CF7 tracking and looks like shrink.
     Keep the button's own letter-spacing from rest state / inline styles. */
  animation: none !important;
  -webkit-animation: none !important;
  box-shadow: none !important;
}
/* Keep icon + label in place — no Ultimate sep-icon push/slide on hover */
.ubtn:hover .ubtn-icon,
.ubtn:focus .ubtn-icon,
.ubtn:hover .ubtn-text,
.ubtn:focus .ubtn-text,
.ubtn-sep-icon:hover .ubtn-icon,
.ubtn-sep-icon:hover .ubtn-text,
.ubtn-sep-icon:hover .ubtn-data {
  transform: none !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
}

/* Page accent CTAs from brand images:
   OE green / GC purple / PC salmon / AM orange */
:root {
  --spo-accent-oe: #285052;
  --spo-accent-oe-hover: #1f4042;
  --spo-accent-ge: #ae91be;
  --spo-accent-ge-hover: #9a7dac;
  --spo-accent-pc: #ebafae;
  --spo-accent-pc-hover: #dc9b9a;
  --spo-accent-pc-text: #d48c8b;
  --spo-accent-am: #f17912;
  --spo-accent-am-hover: #d9680e;
  --spo-page-accent-ink: #111111;
}

/* Home expand hero — button color matches destination page */
.spo-home-expand-panel--oe .spo-home-expand-panel__cta {
  background: var(--spo-accent-oe) !important;
  border-color: var(--spo-accent-oe) !important;
  color: #fff !important;
}
.spo-home-expand-panel--oe .spo-home-expand-panel__cta:hover,
.spo-home-expand-panel--oe .spo-home-expand-panel__cta:focus {
  background: var(--spo-accent-oe-hover) !important;
  border-color: var(--spo-accent-oe-hover) !important;
  border-width: 2px !important;
  color: #fff !important;
  letter-spacing: 0.04em !important;
}
.spo-home-expand-panel--ge .spo-home-expand-panel__cta {
  background: var(--spo-accent-ge) !important;
  border-color: var(--spo-accent-ge) !important;
  color: #111 !important;
}
.spo-home-expand-panel--ge .spo-home-expand-panel__cta:hover,
.spo-home-expand-panel--ge .spo-home-expand-panel__cta:focus {
  background: var(--spo-accent-ge-hover) !important;
  border-color: var(--spo-accent-ge-hover) !important;
  border-width: 2px !important;
  color: #111 !important;
  letter-spacing: 0.04em !important;
}
.spo-home-expand-panel--pc .spo-home-expand-panel__cta {
  background: var(--spo-accent-pc) !important;
  border-color: var(--spo-accent-pc) !important;
  color: #111 !important;
}
.spo-home-expand-panel--pc .spo-home-expand-panel__cta:hover,
.spo-home-expand-panel--pc .spo-home-expand-panel__cta:focus {
  background: var(--spo-accent-pc-hover) !important;
  border-color: var(--spo-accent-pc-hover) !important;
  border-width: 2px !important;
  color: #111 !important;
  letter-spacing: 0.04em !important;
}

/* OE page buttons — green (light ink on dark fill) */
body.page-id-8360,
body.page-organisationsentwicklung {
  --spo-page-accent: var(--spo-accent-oe);
  --spo-page-accent-hover: var(--spo-accent-oe-hover);
  --spo-page-accent-ink: #ffffff;
}
/* GC page buttons — purple */
body.page-id-8361,
body.page-gesundheitscoaching {
  --spo-page-accent: var(--spo-accent-ge);
  --spo-page-accent-hover: var(--spo-accent-ge-hover);
  --spo-page-accent-ink: #111111;
}
/* PC page buttons — salmon */
body.page-id-8362,
body.page-post-covid-me-cfs {
  --spo-page-accent: var(--spo-accent-pc);
  --spo-page-accent-hover: var(--spo-accent-pc-hover);
  --spo-page-accent-ink: #111111;
}
/* AM / Über mich — orange */
body.page-id-8363,
body.page-ueber-mich {
  --spo-page-accent: var(--spo-accent-am);
  --spo-page-accent-hover: var(--spo-accent-am-hover);
  --spo-page-accent-ink: #ffffff;
}

body.page-id-8360 .spo-lime-btn .ubtn,
body.page-id-8360 .spo-lime-btn button.ubtn,
body.page-id-8360 .spo-lime-btn .ubtn-bg,
body.page-organisationsentwicklung .spo-lime-btn .ubtn,
body.page-organisationsentwicklung .spo-lime-btn button.ubtn,
body.page-organisationsentwicklung .spo-lime-btn .ubtn-bg,
body.page-id-8361 .spo-lime-btn .ubtn,
body.page-id-8361 .spo-lime-btn button.ubtn,
body.page-id-8361 .spo-lime-btn .ubtn-bg,
body.page-gesundheitscoaching .spo-lime-btn .ubtn,
body.page-gesundheitscoaching .spo-lime-btn button.ubtn,
body.page-gesundheitscoaching .spo-lime-btn .ubtn-bg,
body.page-id-8362 .spo-lime-btn .ubtn,
body.page-id-8362 .spo-lime-btn button.ubtn,
body.page-id-8362 .spo-lime-btn .ubtn-bg,
body.page-post-covid-me-cfs .spo-lime-btn .ubtn,
body.page-post-covid-me-cfs .spo-lime-btn button.ubtn,
body.page-post-covid-me-cfs .spo-lime-btn .ubtn-bg,
body.page-id-8363 .spo-lime-btn .ubtn,
body.page-id-8363 .spo-lime-btn button.ubtn,
body.page-id-8363 .spo-lime-btn .ubtn-bg,
body.page-ueber-mich .spo-lime-btn .ubtn,
body.page-ueber-mich .spo-lime-btn button.ubtn,
body.page-ueber-mich .spo-lime-btn .ubtn-bg,
body.page-id-8360 .spo-cta-dark .vc_btn3,
body.page-id-8360 .spo-cta-dark a.vc_general,
body.page-id-8360 .spo-cta-pink .vc_btn3,
body.page-id-8360 .spo-cta .vc_btn3,
body.page-organisationsentwicklung .spo-cta-dark .vc_btn3,
body.page-organisationsentwicklung .spo-cta-dark a.vc_general,
body.page-organisationsentwicklung .spo-cta .vc_btn3,
body.page-id-8361 .spo-cta-dark .vc_btn3,
body.page-id-8361 .spo-cta-dark a.vc_general,
body.page-id-8361 .spo-cta .vc_btn3,
body.page-gesundheitscoaching .spo-cta-dark .vc_btn3,
body.page-gesundheitscoaching .spo-cta-dark a.vc_general,
body.page-gesundheitscoaching .spo-cta .vc_btn3,
body.page-id-8362 .spo-cta-dark .vc_btn3,
body.page-id-8362 .spo-cta-dark a.vc_general,
body.page-id-8362 .spo-cta .vc_btn3,
body.page-post-covid-me-cfs .spo-cta-dark .vc_btn3,
body.page-post-covid-me-cfs .spo-cta-dark a.vc_general,
body.page-post-covid-me-cfs .spo-cta .vc_btn3,
body.page-id-8363 .spo-cta-dark .vc_btn3,
body.page-id-8363 .spo-cta-dark a.vc_general,
body.page-id-8363 .spo-cta-pink .vc_btn3,
body.page-id-8363 .spo-cta .vc_btn3,
body.page-ueber-mich .spo-cta-dark .vc_btn3,
body.page-ueber-mich .spo-cta-dark a.vc_general,
body.page-ueber-mich .spo-cta .vc_btn3,
body.page-id-8360 .spo-price-card .spo-lime-btn .ubtn,
body.page-id-8360 .spo-price-card .spo-lime-btn button.ubtn,
body.page-organisationsentwicklung .spo-price-card .spo-lime-btn .ubtn,
body.page-id-8361 .spo-price-card .spo-lime-btn .ubtn,
body.page-gesundheitscoaching .spo-price-card .spo-lime-btn .ubtn,
body.page-id-8362 .spo-price-card .spo-lime-btn .ubtn,
body.page-post-covid-me-cfs .spo-price-card .spo-lime-btn .ubtn,
body.page-id-8363 .spo-price-card .spo-lime-btn .ubtn,
body.page-ueber-mich .spo-price-card .spo-lime-btn .ubtn,
body.page-id-8360 input.wpcf7-submit,
body.page-organisationsentwicklung input.wpcf7-submit,
body.page-id-8361 input.wpcf7-submit,
body.page-gesundheitscoaching input.wpcf7-submit,
body.page-id-8362 input.wpcf7-submit,
body.page-post-covid-me-cfs input.wpcf7-submit,
body.page-id-8363 input.wpcf7-submit,
body.page-ueber-mich input.wpcf7-submit {
  background-color: var(--spo-page-accent) !important;
  border-color: var(--spo-page-accent) !important;
  color: var(--spo-page-accent-ink) !important;
}

body.page-id-8360 .spo-lime-btn .ubtn-text,
body.page-id-8360 .spo-lime-btn .ubtn-data,
body.page-id-8360 .spo-lime-btn .ubtn i,
body.page-organisationsentwicklung .spo-lime-btn .ubtn-text,
body.page-organisationsentwicklung .spo-lime-btn .ubtn-data,
body.page-id-8361 .spo-lime-btn .ubtn-text,
body.page-id-8361 .spo-lime-btn .ubtn-data,
body.page-id-8361 .spo-lime-btn .ubtn i,
body.page-gesundheitscoaching .spo-lime-btn .ubtn-text,
body.page-gesundheitscoaching .spo-lime-btn .ubtn-data,
body.page-gesundheitscoaching .spo-lime-btn .ubtn i,
body.page-id-8362 .spo-lime-btn .ubtn-text,
body.page-id-8362 .spo-lime-btn .ubtn-data,
body.page-post-covid-me-cfs .spo-lime-btn .ubtn-text,
body.page-id-8363 .spo-lime-btn .ubtn-text,
body.page-id-8363 .spo-lime-btn .ubtn-data,
body.page-id-8363 .spo-lime-btn .ubtn i,
body.page-ueber-mich .spo-lime-btn .ubtn-text,
body.page-ueber-mich .spo-lime-btn .ubtn-data,
body.page-ueber-mich .spo-lime-btn .ubtn i,
body.page-id-8360 .spo-cta-dark .vc_btn3,
body.page-id-8360 .spo-cta .vc_btn3,
body.page-id-8361 .spo-cta-dark .vc_btn3,
body.page-id-8361 .spo-cta .vc_btn3,
body.page-gesundheitscoaching .spo-cta-dark .vc_btn3,
body.page-gesundheitscoaching .spo-cta .vc_btn3,
body.page-id-8362 .spo-cta-dark .vc_btn3,
body.page-id-8362 .spo-cta .vc_btn3,
body.page-id-8363 .spo-cta-dark .vc_btn3,
body.page-id-8363 .spo-cta .vc_btn3,
body.page-ueber-mich .spo-cta-dark .vc_btn3,
body.page-ueber-mich .spo-cta .vc_btn3,
body.page-id-8360 input.wpcf7-submit,
body.page-id-8361 input.wpcf7-submit,
body.page-id-8362 input.wpcf7-submit,
body.page-id-8363 input.wpcf7-submit {
  color: var(--spo-page-accent-ink) !important;
}

body.page-id-8360 .spo-lime-btn .ubtn:hover,
body.page-id-8360 .spo-lime-btn button.ubtn:hover,
body.page-id-8360 .spo-lime-btn .ubtn:hover .ubtn-bg,
body.page-id-8360 .spo-lime-btn .ubtn-hover,
body.page-id-8360 .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8360 a.ubtn-link:hover .ubtn-hover,
body.page-organisationsentwicklung .spo-lime-btn .ubtn:hover,
body.page-organisationsentwicklung .spo-lime-btn button.ubtn:hover,
body.page-organisationsentwicklung .spo-lime-btn .ubtn-hover,
body.page-organisationsentwicklung .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8361 .spo-lime-btn .ubtn:hover,
body.page-id-8361 .spo-lime-btn button.ubtn:hover,
body.page-id-8361 .spo-lime-btn .ubtn:hover .ubtn-bg,
body.page-id-8361 .spo-lime-btn .ubtn-hover,
body.page-id-8361 .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8361 a.ubtn-link:hover .ubtn-hover,
body.page-gesundheitscoaching .spo-lime-btn .ubtn:hover,
body.page-gesundheitscoaching .spo-lime-btn .ubtn-hover,
body.page-gesundheitscoaching .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8362 .spo-lime-btn .ubtn:hover,
body.page-id-8362 .spo-lime-btn button.ubtn:hover,
body.page-id-8362 .spo-lime-btn .ubtn:hover .ubtn-bg,
body.page-id-8362 .spo-lime-btn .ubtn-hover,
body.page-id-8362 .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8362 a.ubtn-link:hover .ubtn-hover,
body.page-post-covid-me-cfs .spo-lime-btn .ubtn:hover,
body.page-post-covid-me-cfs .spo-lime-btn .ubtn-hover,
body.page-post-covid-me-cfs .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8363 .spo-lime-btn .ubtn:hover,
body.page-id-8363 .spo-lime-btn button.ubtn:hover,
body.page-id-8363 .spo-lime-btn .ubtn:hover .ubtn-bg,
body.page-id-8363 .spo-lime-btn .ubtn-hover,
body.page-id-8363 .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8363 a.ubtn-link:hover .ubtn-hover,
body.page-ueber-mich .spo-lime-btn .ubtn:hover,
body.page-ueber-mich .spo-lime-btn .ubtn-hover,
body.page-ueber-mich .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8360 .spo-cta-dark .vc_btn3:hover,
body.page-id-8360 .spo-cta .vc_btn3:hover,
body.page-organisationsentwicklung .spo-cta-dark .vc_btn3:hover,
body.page-id-8361 .spo-cta-dark .vc_btn3:hover,
body.page-gesundheitscoaching .spo-cta-dark .vc_btn3:hover,
body.page-id-8362 .spo-cta-dark .vc_btn3:hover,
body.page-post-covid-me-cfs .spo-cta-dark .vc_btn3:hover,
body.page-id-8363 .spo-cta-dark .vc_btn3:hover,
body.page-id-8363 .spo-cta .vc_btn3:hover,
body.page-ueber-mich .spo-cta-dark .vc_btn3:hover,
body.page-id-8360 .spo-price-card .spo-lime-btn .ubtn:hover,
body.page-id-8360 .spo-price-card .spo-lime-btn .ubtn-hover,
body.page-id-8360 .spo-price-card .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8361 .spo-price-card .spo-lime-btn .ubtn:hover,
body.page-id-8361 .spo-price-card .spo-lime-btn .ubtn-hover,
body.page-id-8361 .spo-price-card .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8362 .spo-price-card .spo-lime-btn .ubtn:hover,
body.page-id-8362 .spo-price-card .spo-lime-btn .ubtn-hover,
body.page-id-8362 .spo-price-card .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8363 .spo-price-card .spo-lime-btn .ubtn:hover,
body.page-id-8363 .spo-price-card .spo-lime-btn .ubtn-hover,
body.page-id-8363 .spo-price-card .spo-lime-btn .ubtn:hover .ubtn-hover,
body.page-id-8360 input.wpcf7-submit:hover,
body.page-id-8361 input.wpcf7-submit:hover,
body.page-id-8362 input.wpcf7-submit:hover,
body.page-id-8363 input.wpcf7-submit:hover {
  background-color: var(--spo-page-accent-hover) !important;
  border-color: var(--spo-page-accent-hover) !important;
  color: var(--spo-page-accent-ink) !important;
}

/* Ultimate Buttons also paint border via inline attrs — force border match */
body.page-id-8360 .spo-lime-btn .ubtn,
body.page-organisationsentwicklung .spo-lime-btn .ubtn,
body.page-id-8361 .spo-lime-btn .ubtn,
body.page-gesundheitscoaching .spo-lime-btn .ubtn,
body.page-id-8362 .spo-lime-btn .ubtn,
body.page-post-covid-me-cfs .spo-lime-btn .ubtn,
body.page-id-8363 .spo-lime-btn .ubtn,
body.page-ueber-mich .spo-lime-btn .ubtn {
  border-color: var(--spo-page-accent) !important;
}
.spo-cta-pink .vc_btn3,
.spo-cta-pink a.vc_general,
.vc_btn3.vc_btn3-color-chino.vc_btn3-style-flat {
  background-color: #f3c4cc !important;
  border-color: #f3c4cc !important;
  color: #111111 !important;
  border-radius: 0 !important;
}
.spo-cta-pink .vc_btn3:hover,
.spo-cta-pink a.vc_general:hover,
.vc_btn3.vc_btn3-color-chino.vc_btn3-style-flat:hover {
  background-color: #e5a8b4 !important;
  border-color: #e5a8b4 !important;
  color: #111111 !important;
}
/* Service pages: pink/chino CTAs follow first-block page accent */
body.page-id-8360 .spo-cta-pink .vc_btn3,
body.page-id-8360 .spo-cta-pink a.vc_general,
body.page-organisationsentwicklung .spo-cta-pink .vc_btn3,
body.page-id-8361 .spo-cta-pink .vc_btn3,
body.page-id-8361 .spo-cta-pink a.vc_general,
body.page-gesundheitscoaching .spo-cta-pink .vc_btn3,
body.page-id-8362 .spo-cta-pink .vc_btn3,
body.page-id-8362 .spo-cta-pink a.vc_general,
body.page-post-covid-me-cfs .spo-cta-pink .vc_btn3,
body.page-id-8363 .spo-cta-pink .vc_btn3,
body.page-id-8363 .spo-cta-pink a.vc_general,
body.page-ueber-mich .spo-cta-pink .vc_btn3 {
  background-color: var(--spo-page-accent) !important;
  border-color: var(--spo-page-accent) !important;
  color: var(--spo-page-accent-ink) !important;
}
body.page-id-8360 .spo-cta-pink .vc_btn3:hover,
body.page-organisationsentwicklung .spo-cta-pink .vc_btn3:hover,
body.page-id-8361 .spo-cta-pink .vc_btn3:hover,
body.page-gesundheitscoaching .spo-cta-pink .vc_btn3:hover,
body.page-id-8362 .spo-cta-pink .vc_btn3:hover,
body.page-post-covid-me-cfs .spo-cta-pink .vc_btn3:hover,
body.page-id-8363 .spo-cta-pink .vc_btn3:hover,
body.page-ueber-mich .spo-cta-pink .vc_btn3:hover {
  background-color: var(--spo-page-accent-hover) !important;
  border-color: var(--spo-page-accent-hover) !important;
  color: var(--spo-page-accent-ink) !important;
}
.spo-feature-row.wpb_row,
.spo-feature-row.vc_row,
.spo-icon-grid.wpb_row,
.spo-icon-grid.vc_row,
.spo-pricing-grid.wpb_row,
.spo-pricing-grid.vc_row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}
.spo-feature-row > .wpb_column,
.spo-feature-row > .vc_column_container,
.spo-icon-grid > .wpb_column,
.spo-icon-grid > .vc_column_container,
.spo-pricing-grid > .wpb_column,
.spo-pricing-grid > .vc_column_container {
  float: none !important;
}
.spo-dark-cta .vc_custom_heading {
  color: #fff !important;
}
.spo-price-body p {
  font-size: 14px;
  line-height: 1.45;
  margin-bottom: 10px;
}
.ult_pricing_table {
  border: 1px solid #e8e8e8;
  height: 100%;
}
.spo-cta-dark .vc_btn3,
.spo-cta-dark a.vc_general {
  background-color: #f3c4cc !important;
  border-color: #f3c4cc !important;
  color: #111111 !important;
}
.spo-cta-dark .vc_btn3:hover,
.spo-cta-dark a.vc_general:hover {
  background-color: #e5a8b4 !important;
  border-color: #e5a8b4 !important;
  color: #111111 !important;
}

/* Native hash fallback: single offset (do not also set scroll-margin — they stack). */
html {
  scroll-padding-top: 180px;
}
#kontakt,
.spo-kontakt,
.spo-home-kontakt {
  scroll-margin-top: 0;
}
@media (min-width: 1280px) {
  html {
    scroll-padding-top: 220px;
  }
  #kontakt,
  .spo-kontakt,
  .spo-home-kontakt {
    scroll-margin-top: 0;
  }
}
/* Contact sections — unified intro + form fields sitewide */
.spo-kontakt.vc_row,
.vc_custom_spo_kontakt {
  padding-bottom: 100px !important;
}

.spo-kontakt .spo-kontakt-title,
.spo-kontakt h2.vc_custom_heading,
.spo-home-kontakt .spo-home-kontakt-title,
.spo-home-kontakt h2.vc_custom_heading {
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-size: clamp(22px, 2.4vw, 28px) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-indent: 0 !important;
  color: #111111 !important;
  margin: 0 0 16px !important;
  text-align: left !important;
  max-width: none !important;
}

/* Lead under the form heading = normal body text (not oversized subhead) */
.spo-kontakt-intro,
.spo-kontakt-intro p,
.spo-kontakt-intro .wpb_wrapper > p,
.spo-home-kontakt-intro,
.spo-home-kontakt-intro p,
.spo-home-kontakt-intro .wpb_wrapper > p,
.spo-kontakt .wpb_wrapper > .wpb_text_column p,
.spo-home-kontakt .wpb_wrapper > .wpb_text_column p,
.spo-kontakt .spo-kontakt-intro .wpb_wrapper p,
.spo-home-kontakt .spo-home-kontakt-intro .wpb_wrapper p {
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 400 !important;
  color: #4a4a4a !important;
  max-width: none !important;
  margin: 0 0 28px !important;
}

.spo-kontakt-lead {
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  max-width: none !important;
  margin: 0 0 12px !important;
  text-align: left !important;
}

/* Shared CF7 field chrome */
.spo-kontakt .wpcf7,
.spo-home-kontakt .wpcf7 {
  margin-top: 4px !important;
  max-width: none !important;
  width: 100% !important;
}
.spo-kontakt .wpcf7 label,
.spo-home-kontakt .wpcf7 label {
  display: block !important;
  margin: 0 0 16px !important;
  color: #111111 !important;
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.spo-kontakt .wpcf7 input[type="text"],
.spo-kontakt .wpcf7 input[type="email"],
.spo-kontakt .wpcf7 input[type="tel"],
.spo-kontakt .wpcf7 textarea,
.spo-home-kontakt .wpcf7 input[type="text"],
.spo-home-kontakt .wpcf7 input[type="email"],
.spo-home-kontakt .wpcf7 input[type="tel"],
.spo-home-kontakt .wpcf7 textarea {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 6px !important;
  padding: 12px 14px !important;
  border: 1px solid #111111 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #111111 !important;
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  height: auto !important;
  min-height: 46px !important;
  box-sizing: border-box !important;
}
.spo-kontakt .wpcf7 textarea,
.spo-home-kontakt .wpcf7 textarea {
  min-height: 140px !important;
  resize: vertical;
}
.spo-kontakt .wpcf7 input[type="text"]:focus,
.spo-kontakt .wpcf7 input[type="email"]:focus,
.spo-kontakt .wpcf7 input[type="tel"]:focus,
.spo-kontakt .wpcf7 textarea:focus,
.spo-home-kontakt .wpcf7 input[type="text"]:focus,
.spo-home-kontakt .wpcf7 input[type="email"]:focus,
.spo-home-kontakt .wpcf7 input[type="tel"]:focus,
.spo-home-kontakt .wpcf7 textarea:focus {
  outline: none !important;
  border-color: #111111 !important;
  box-shadow: none !important;
}

/* Contact Form 7 submit — match salmon CTAs */
.wpcf7 input.wpcf7-submit,
.wpcf7 button.wpcf7-submit,
.wpcf7 .wpcf7-submit {
  background-color: #f3c4cc !important;
  border: 2px solid #f3c4cc !important;
  color: #111111 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 28px !important;
  line-height: 1.3 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: inline-block !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}
.wpcf7 input.wpcf7-submit:hover,
.wpcf7 button.wpcf7-submit:hover,
.wpcf7 .wpcf7-submit:hover {
  background-color: #e5a8b4 !important;
  border-color: #e5a8b4 !important;
  border-width: 2px !important;
  color: #111111 !important;
  letter-spacing: 0.04em !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 16px 28px !important;
}
.wpcf7 input.wpcf7-submit:focus,
.wpcf7 button.wpcf7-submit:focus {
  outline: 2px solid #e5a8b4 !important;
  outline-offset: 2px !important;
}

/* CF7 success/error under form.
   CF7 clears .wpcf7-response-output on post-send reset; JS re-applies text + .spo-cf7-visible. */
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 .wpcf7-response-output.spo-cf7-visible {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 40em !important;
  margin: 1.25em 0 0 !important;
  padding: 0.85em 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
  text-align: left !important;
  color: #285052 !important;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  color: #b42318 !important;
}
/* Deep theme hides tips with span.wpcf7-not-valid-tip { display:none !important } */
span.wpcf7-not-valid-tip,
.wpcf7-not-valid-tip {
  display: block !important;
  visibility: visible !important;
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  color: #b42318 !important;
  font-size: 13px !important;
  font-style: normal !important;
  margin-top: 6px !important;
  z-index: 1 !important;
}
.wpcf7 input.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid {
  border-color: #b42318 !important;
}

@media (max-width: 991px) {
  .spo-icon-grid > .wpb_column,
  .spo-icon-grid > .vc_column_container {
    width: 50% !important;
  }
}

/* Pricing Demo-1 style */
.spo-price-box .ult_pricing_table {
  background: #fff !important;
  color: #111 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.spo-price-box .ult_price_action_button,
.spo-ult-price .ult_price_action_button {
  background: #f3c4cc !important;
  color: #111111 !important;
  border: none !important;
  display: inline-block !important;
  padding: 14px 28px !important;
  min-width: 180px;
  text-align: center;
}
.spo-price-box .pr-list {
  list-style: none;
  padding: 0;
  margin: 18px 0;
  text-align: left;
}
.spo-price-box .pr-list li {
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  line-height: 1.4;
}
.spo-price-box .ult_price_figure {
  font-size: 48px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.spo-price-box .price-heading {
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 18px !important;
}
.spo-price-details {
  margin-top: 12px;
  text-align: left;
}
.spo-price-details .vc_toggle_title,
.spo-price-details .vc_toggle_title > *,
.spo-price-card .spo-price-details .vc_toggle_title,
.spo-price-card .spo-price-details .vc_toggle_title h4,
.spo-price-card .spo-price-details .vc_toggle_title h3,
.spo-price-card .spo-price-details .vc_toggle_title h5 {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  color: #333 !important;
}
.spo-price-card .spo-price-details.vc_toggle {
  margin-bottom: 0 !important;
}
.spo-price-card .spo-price-details .vc_toggle_title {
  padding-left: 28px !important;
  min-height: 0 !important;
}
.spo-price-card .spo-price-details .vc_toggle_icon {
  transform: scale(0.75);
  transform-origin: left center;
}
.spo-price-card .spo-price-details .vc_toggle_content,
.spo-price-card .spo-price-details .vc_toggle_content p {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #555 !important;
}
.spo-pricing-grid > .wpb_column {
  display: flex !important;
}
.spo-pricing-grid > .wpb_column > .vc_column-inner,
.spo-pricing-grid > .vc_column_container > .vc_column-inner {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.spo-pricing-grid .wpb_wrapper {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
}
.spo-pricing-grid .ult-content-box-container,
.spo-pricing-grid .ult_content_box,
.spo-pricing-grid .ult-content-box,
.spo-pricing-grid .spo-price-box {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100% !important;
  height: 100% !important;
}

/* Dark CTA outline button */
.spo-cta-outline .vc_btn3,
.spo-cta-outline a.vc_general {
  background: transparent !important;
  border: 1px solid #fff !important;
  color: #fff !important;
  min-width: 280px;
  padding: 16px 36px !important;
}
.spo-cta-outline .vc_btn3:hover,
.spo-cta-outline a.vc_general:hover {
  background: #fff !important;
  color: #111 !important;
}

/* Flip bausteine */
.spo-flip .flip-box-wrap,
.spo-flip .ifb-flip-box {
  min-height: 260px;
}

/* Quote carousel slides */
.spo-quote-slide {
  position: relative;
  margin: 12px 10px;
  min-height: 340px;
}
.spo-quote-slide::before,
.spo-quote-slide::after {
  position: absolute;
  font-family: "Gelasio", Georgia, "Times New Roman", serif;
  font-size: 64px;
  line-height: 1;
  color: #437542;
  opacity: 0.35;
  pointer-events: none;
}
.spo-quote-slide::before {
  content: "“";
  top: 6px;
  left: 14px;
}
.spo-quote-slide::after {
  content: "”";
  right: 18px;
  bottom: 8px;
}
.spo-quote-text {
  font-size: 15px;
  line-height: 1.55;
  color: #333;
}
.spo-quote-author {
  margin-top: 16px !important;
  font-size: 13px;
  color: #666;
}
.spo-ref-carousel .slick-slide {
  padding: 8px;
}

/* Logo liste — full-bleed row, evenly spaced */
.spo-logos.vc_row-has-fill,
.spo-logos .upb_row_bg,
.spo-logos {
  background-color: #eeeeee !important;
}
.spo-logos.wpb_row,
.spo-logos.vc_row {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100vw !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 56px !important;
  position: relative;
  left: auto;
  right: auto;
}
.spo-logos > .wpb_column,
.spo-logos > .vc_column_container {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
}
.spo-logos > .wpb_column > .vc_column-inner,
.spo-logos > .vc_column_container > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
.spo-logos .wpb_wrapper,
.spo-logos .wpb_text_column,
.spo-logos .wpb_text_column > .wpb_wrapper {
  max-width: none !important;
  width: 100% !important;
}
.spo-logo-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 12px 3vw;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  border: 0;
  background: transparent;
}
.spo-logo-list .spo-logo-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 0 6px;
  min-height: 56px;
  color: inherit;
  font-size: 0;
  opacity: 1;
  filter: none;
}
.spo-logo-list .spo-logo-item img {
  display: block;
  height: 52px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.8;
}
@media (max-width: 991px) {
  .spo-logo-list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px 36px;
    padding: 28px 24px 0;
  }
  .spo-logo-list .spo-logo-item {
    flex: 0 1 auto;
  }
}
@media (max-width: 767px) {
  .spo-logo-list {
    gap: 20px 28px;
    padding: 24px 28px 0;
  }
  .spo-logo-list .spo-logo-item img {
    height: 40px;
    max-width: 140px;
  }
}


/* Price Box: trust Ultimate Addons + Content Box (Main Demo). */
.spo-pricing-grid > .wpb_column { margin-bottom: 24px; }
.spo-price-details { margin-top: 12px; }
/* title size rules live above with .spo-price-card .spo-price-details */
.spo-modules.wpb_row,
.spo-modules.vc_row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch !important;
}
.spo-modules > .wpb_column,
.spo-modules > .vc_column_container {
  display: flex !important;
  float: none !important;
}
.spo-modules > .wpb_column > .vc_column-inner,
.spo-modules > .vc_column_container > .vc_column-inner {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.spo-modules .wpb_wrapper {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
}
.spo-modules .ult-content-box-container,
.spo-modules .ult_content_box,
.spo-modules .ult-content-box {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100% !important;
  box-sizing: border-box;
}
.spo-modules-price .ult_buttons { margin: 0 !important; }


/* OE feedback: Maindemo services sticky scroll */
.spo-services-scroll .spo-scroll-num {
  margin: 0 0 8px !important;
  letter-spacing: 0.02em !important;
}
.spo-services-scroll .spo-scroll-title,
.spo-services-scroll-mobile .spo-scroll-title {
  letter-spacing: 0.03em !important;
  line-height: 1.25 !important;
  margin: 0 0 8px !important;
}
.spo-services-scroll .spo-scroll-body p,
.spo-services-scroll .spo-scroll-body li,
.spo-services-scroll-mobile .spo-scroll-body p,
.spo-services-scroll-mobile .spo-scroll-body li {
  font-size: 16px;
  line-height: 1.55;
  color: #333;
}
.spo-services-scroll .spo-scroll-body ul,
.spo-services-scroll-mobile .spo-scroll-body ul,
.spo-content-body ul,
.spo-text-body ul {
  margin: 0.4em 0 0.6em !important;
  padding-left: 1.2em !important;
}
.spo-services-scroll .spo-scroll-body li,
.spo-services-scroll-mobile .spo-scroll-body li,
.spo-content-body li,
.spo-text-body li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.45 !important;
}
.spo-refs-eyebrow {
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: #111111 !important;
}
body.page-id-8360 .spo-pricing-head .spo-price-section-eyebrow,
body.page-organisationsentwicklung .spo-pricing-head .spo-price-section-eyebrow {
  color: #111111 !important;
}
.spo-price-section-eyebrow,
.spo-modules-eyebrow,
.spo-bau-eyebrow,
.spo-logos-eyebrow {
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: #111111 !important;
}
.spo-refs-title {
  white-space: pre-line !important;
}
.spo-oe-refs h2.spo-refs-title,
.spo-oe-refs h2.vc_custom_heading {
  white-space: pre-line !important;
}
.spo-home-refs .spo-refs-eyebrow,
.spo-refs.spo-home-refs .vc_custom_heading.spo-refs-eyebrow {
  color: #111111 !important;
}
.spo-logos-title {
  letter-spacing: 0.04em !important;
  font-weight: 600 !important;
  margin: 0 !important;
}
/* Quote headline above body (pages.json titles) */
.spo-quotes .spo-quote-headline {
  display: block !important;
  color: #111111 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  text-align: center !important;
}
/* PC / GE Referenzen — same full-quote carousel as OE / Home */
.spo-pc-quotes .spo-quote-body,
.spo-ge-quotes .spo-quote-body {
  display: block !important;
}
.spo-pc-quotes .ts1-author,
.spo-pc-quotes .t-author,
.spo-pc-quotes .company_value,
.spo-pc-quotes h6.company_value,
.spo-pc-quotes .t-author .company_value,
.spo-ge-quotes .ts1-author,
.spo-ge-quotes .t-author,
.spo-ge-quotes .company_value,
.spo-ge-quotes h6.company_value,
.spo-ge-quotes .t-author .company_value {
  display: block !important;
}
.spo-pc-quotes.spo-quotes,
.spo-ge-quotes.spo-quotes {
  padding-top: 8px !important;
  padding-bottom: 48px !important;
}
.spo-pc-quotes .testimonials-style2:not(.single-wide-testimonials) .slick-slider,
.spo-ge-quotes .testimonials-style2:not(.single-wide-testimonials) .slick-slider {
  padding-bottom: 36px !important;
}
@media (max-width: 991px) {
  .spo-pc-quotes .testimonials-style2 .testimonials-slide,
  .spo-pc-quotes .testimonials-style2 .slick-slide,
  .spo-ge-quotes .testimonials-style2 .testimonials-slide,
  .spo-ge-quotes .testimonials-style2 .slick-slide {
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
.spo-quotes .spo-quote-body {
  display: block !important;
  margin: 0 !important;
  color: #6a6a6a !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  text-align: center !important;
}
.spo-quotes .testimonials_text_content .spo-quote-headline + .spo-quote-body,
.spo-quotes .testimonials_text_content strong.spo-quote-headline {
  color: #111111 !important;
}
/* Brand pagination (no theme green) */
.spo-quotes .testimonials-style2 .slick-dots li,
.spo-quotes .testimonials-style2.style-dark .slick-dots li {
  border-color: #d0d0d0 !important;
  background: transparent !important;
}
.spo-quotes .testimonials-style2 .slick-dots li.slick-active,
.spo-quotes .testimonials-style2.style-dark .slick-dots li.slick-active {
  border-color: #f3c4cc !important;
  background: #f3c4cc !important;
}
.spo-quotes .testimonials-style2 .slick-dots li i:after,
.spo-quotes .testimonials-style2.style-dark .slick-dots li i:after,
.spo-quotes .testimonials-style2 .slick-dots li.slick-active i:after {
  background-color: #f3c4cc !important;
}
.spo-home-logos {
  background-color: #f4f4f4 !important;
}
.spo-home-contact-logos,
.spo-home-contact-logos.vc_row,
.spo-home-contact-logos.wpb_row,
.vc_custom_spo_home_contact_logos {
  background-color: #f4f4f4 !important;
  padding-top: 48px !important;
  /* Margin shows page background (white on Startseite) — use internal padding instead. */
  padding-bottom: 104px !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}
.spo-home-contact-logos .spo-logo-list {
  padding: 0 1vw 0 !important;
}
.spo-home-kontakt,
.spo-home-kontakt.vc_row,
.spo-home-kontakt.wpb_row,
.vc_custom_spo_home_kontakt {
  padding-top: 48px !important;
  padding-bottom: 100px !important;
  clear: both !important;
  position: relative !important;
  z-index: 1;
}
.spo-home-kontakt .spo-home-kontakt-inner,
.spo-home-kontakt .spo-text-inner {
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
.spo-scroll-icon .aio-icon-title {
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
}
.spo-baustein-box .aio-icon-title {
  letter-spacing: 0.05em !important;
  line-height: 1.3 !important;
}
.spo-price-card .spo-price-label {
  margin-bottom: 6px;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--spo-page-accent, #437542);
}
.spo-price-card .spo-price-paket,
.spo-price-card .vc_custom_heading.spo-price-paket {
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  margin: 0 0 2px !important;
  color: var(--spo-page-accent, #437542) !important;
}
.spo-price-card .spo-price-ibox,
.spo-price-card .spo-price-ibox.vc_custom_heading {
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  margin: 0 0 4px !important;
  text-transform: none !important;
}
.spo-price-card .spo-price-ibox .aio-icon-title,
.spo-price-card .spo-price-ibox h3.aio-icon-title,
.spo-price-card .bsf-info-box .aio-icon-title {
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  margin: 8px 0 4px !important;
}
.spo-price-card .spo-price-subtitle {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #555 !important;
  margin: 0 !important;
}
.spo-price-card .spo-price-quote {
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #111 !important;
  margin: 0 !important;
}
.spo-price-card .spo-price-situation p {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 10px;
}
.spo-price-card .spo-price-footer {
  margin-top: 8px;
  margin-bottom: 14px;
  text-align: center !important;
}
.spo-price-card .spo-price-amount {
  font-size: 18px;
  line-height: 1.4;
  margin: 0;
  text-align: center !important;
}
.spo-price-card .spo-price-details {
  margin-top: 8px;
  margin-bottom: 4px;
}
/* hero media img rules live in the hero block at file top */

.spo-scroll-sticky-col .spo-scroll-quote,
.spo-services-scroll-mobile .spo-scroll-quote {
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word;
  max-width: 18em;
  background: none !important;
  color: #111 !important;
  margin-top: 48px !important;
}
.spo-scroll-sticky-col .spo-scroll-quote .spo-text-mark,
.spo-services-scroll-mobile .spo-scroll-quote .spo-text-mark {
  background: none !important;
  color: inherit !important;
  padding: 0 !important;
}
.spo-scroll-sticky-col .spo-scroll-sticky-title,
.spo-services-scroll-mobile .spo-scroll-sticky-title {
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1.25 !important;
  overflow-wrap: break-word;
  max-width: 100%;
}
.spo-services-scroll .spo-scroll-sticky-title,
.spo-services-scroll-mobile .spo-scroll-sticky-title,
.spo-services-scroll h2.vc_custom_heading,
.spo-services-scroll-mobile h2.vc_custom_heading,
.spo-split-50 h2.vc_custom_heading,
.spo-bausteine h2.vc_custom_heading,
.spo-pricing-head h2.vc_custom_heading,
.spo-refs h2.vc_custom_heading,
.spo-modules-head h2.vc_custom_heading,
.spo-faq h2.vc_custom_heading {
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1.25 !important;
  overflow-wrap: break-word;
  max-width: 100%;
}
.spo-hero-row .spo-hero-title {
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}
.spo-hero-row .spo-hero-sub,
.spo-hero-row .spo-hero-body p {
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.spo-scroll-sticky-col {
  min-width: 0 !important;
}
.spo-scroll-stacks-col {
  min-width: 0 !important;
}
.spo-scroll-icon-img,
.spo-scroll-icon-img .wpb_wrapper,
.spo-scroll-icon-img .vc_figure,
.spo-scroll-icon-img .vc_single_image-wrapper {
  overflow: visible !important;
  max-width: 160px;
}
.spo-scroll-icon-img img {
  width: auto !important;
  height: auto !important;
  max-width: 160px !important;
  max-height: 130px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
}
.spo-scroll-accent {
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin: 0 0 4px !important;
  font-weight: 600 !important;
}
.spo-scroll-title {
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}
.spo-baustein-box .aio-icon-img img,
.spo-baustein-box .ult-just-icon-wrapper img {
  max-width: 72px !important;
  height: auto !important;
}
.spo-price-card {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  width: 100% !important;
  box-sizing: border-box;
}
.spo-price-card .spo-price-footer {
  margin-top: auto !important;
  margin-bottom: 14px !important;
  text-align: center !important;
  width: 100% !important;
}
.spo-price-card .spo-price-footer p,
.spo-price-card .spo-price-amount {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.spo-price-card .spo-price-amount {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  font-size: 15px;
  line-height: 1.45;
  margin-top: 0;
  margin-bottom: 0;
  min-height: 0 !important;
  box-sizing: border-box;
}
.spo-price-card .spo-lime-btn {
  margin-top: 8px;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}
.spo-price-card .spo-lime-btn.ubtn-link,
.spo-price-card a.spo-lime-btn,
.spo-price-card .ubtn-center.spo-lime-btn {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
}
.spo-price-card .spo-lime-btn .ubtn,
.spo-price-card .spo-lime-btn button.ubtn {
  margin-left: auto !important;
  margin-right: auto !important;
  background-color: var(--spo-page-accent, #f3c4cc) !important;
  border-color: var(--spo-page-accent, #f3c4cc) !important;
  color: var(--spo-page-accent-ink, #111111) !important;
}
.spo-price-card .spo-lime-btn .ubtn-text,
.spo-price-card .spo-lime-btn .ubtn-data,
.spo-price-card .spo-lime-btn .ubtn i {
  color: var(--spo-page-accent-ink, #111111) !important;
}
.spo-price-card .spo-lime-btn .ubtn:hover,
.spo-price-card .spo-lime-btn button.ubtn:hover,
.spo-price-card .spo-lime-btn .ubtn-hover,
.spo-price-card .spo-lime-btn .ubtn:hover .ubtn-hover,
.spo-price-card a.ubtn-link:hover .ubtn-hover {
  background-color: var(--spo-page-accent-hover, #e5a8b4) !important;
  border-color: var(--spo-page-accent-hover, #e5a8b4) !important;
  color: var(--spo-page-accent-ink, #111111) !important;
}

/* Kill Ultimate Buttons fade/slide overlay — hover must only darken fill.
   Keep layer in the box model (absolute) so hiding it never changes button size. */
.ubtn .ubtn-hover,
.ubtn-fade-bg .ubtn-hover,
.ubtn-sep-icon .ubtn-hover,
a.ubtn-link .ubtn-hover {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  -webkit-transform: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  transition: none !important;
  /* never display:none — that can reflow sep-icon / animate wrappers */
}
.ubtn.ubtn-fade-bg:hover .ubtn-hover,
.ubtn.ubtn-fade-bg:focus .ubtn-hover,
.ubtn:hover .ubtn-hover,
.ubtn:focus .ubtn-hover {
  opacity: 0 !important;
  visibility: hidden !important;
}
.ubtn.ulta-grow,
.ubtn.ulta-shrink,
.ubtn.ulta-pulse,
.ubtn.ulta-push,
.ubtn.ulta-pop,
.ubtn.ulta-float,
.ubtn.ulta-sink,
button.ubtn[class*="ulta-"],
.ubtn.ulta-grow:hover,
.ubtn.ulta-grow:focus,
.ubtn.ulta-grow:active,
.ubtn.ulta-shrink:hover,
.ubtn.ulta-shrink:focus,
.ubtn.ulta-shrink:active {
  transform: none !important;
  -webkit-transform: none !important;
  animation: none !important;
  -webkit-animation: none !important;
}

/* Deep theme btn-animate-y slides label up on hover → looks like the button shrinks.
   Freeze both lines; hide the duplicate. */
.ubtn .btn-animate-y,
.ubtn .wn-btn-animate,
a.ubtn-link .btn-animate-y,
.vc_btn3 .btn-animate-y,
a.vc_general.vc_btn3 .btn-animate-y,
.spo-lime-btn .btn-animate-y,
.spo-cta .btn-animate-y {
  overflow: visible !important;
  transform: none !important;
}
.ubtn .btn-animate-y-1,
.ubtn .btn-animate-y-2,
a.ubtn-link .btn-animate-y-1,
a.ubtn-link .btn-animate-y-2,
.vc_btn3 .btn-animate-y-1,
.vc_btn3 .btn-animate-y-2,
.ubtn:hover .btn-animate-y-1,
.ubtn:hover .btn-animate-y-2,
a.ubtn-link:hover .btn-animate-y-1,
a.ubtn-link:hover .btn-animate-y-2,
.vc_btn3:hover .btn-animate-y-1,
.vc_btn3:hover .btn-animate-y-2,
a:not(.no-hover):hover .ubtn .btn-animate-y-1,
a:not(.no-hover):hover .ubtn .btn-animate-y-2,
button.ubtn:hover .btn-animate-y-1,
button.ubtn:hover .btn-animate-y-2 {
  transform: none !important;
  -webkit-transform: none !important;
  opacity: 1 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  transition: none !important;
}
.ubtn .btn-animate-y-2,
a.ubtn-link .btn-animate-y-2,
.vc_btn3 .btn-animate-y-2,
.spo-lime-btn .btn-animate-y-2,
.spo-cta .btn-animate-y-2 {
  display: none !important;
}

/* Lock CTA box size on hover — no scale / padding / tracking jump (sitewide) */
.ubtn:hover,
.ubtn:focus,
.ubtn:active,
button.ubtn:hover,
button.ubtn:focus,
button.ubtn:active,
a.ubtn-link:hover .ubtn,
.vc_btn3:hover,
.vc_btn3:focus,
.vc_btn3:active,
a.vc_general.vc_btn3:hover,
.wpcf7 input.wpcf7-submit:hover,
.wpcf7 input.wpcf7-submit:focus,
.wpcf7 button.wpcf7-submit:hover,
.wpcf7 button.wpcf7-submit:focus,
.spo-home-expand-panel__cta:hover,
.spo-home-expand-panel__cta:focus {
  transform: none !important;
  -webkit-transform: none !important;
  scale: none !important;
  box-sizing: border-box !important;
}

/* Sitewide chrome — sand header + centered logo+claim (style4) */
header.style1,
header.style4,
header.header-init {
  background-color: #f5f1eb !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.1) !important;
}
header.style1.light,
header.style4.light,
header.header_after_scroll.style4,
header.header_after_scroll.style1 {
  background-color: #f5f1eb !important;
}
/* Theme keeps header relative while .header-init — causes vanish on navigation.
   Force fixed from first paint on the real header only. */
body.content_after_header header.wn-header:not(.headerclone),
body.content_after_header header.navbar-fixed-top:not(.headerclone),
body.content_after_header header.header-init:not(.headerclone),
body.content_after_header header.style4:not(.headerclone) {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
header.style4 .nav-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  flex-direction: column !important;
  align-items: center !important;
  min-height: 0;
  position: relative;
  transition: min-height 0.25s ease;
  width: 100% !important;
  max-width: none !important;
  padding-top: 14px !important;
  padding-bottom: 8px !important;
  padding-left: clamp(12px, 2vw, 28px) !important;
  padding-right: clamp(12px, 2vw, 28px) !important;
  box-sizing: border-box !important;
}
header.style4 .navbar-header,
header.style4 .nav-container .navbar-header {
  float: none !important;
  position: relative !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  z-index: 2;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
header.style4 .new-menu-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 0 !important;
  row-gap: 4px !important;
}
/* JS parks the logo between left/right halves — own row above, items as one group */
header.style4 .new-menu-wrapper > .navbar-brand,
header.style4 .navbar-header > .navbar-brand {
  order: -1 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  margin: 0 0 4px !important;
}
@media (min-width: 768px) {
  header.style4 .new-menu-left,
  header.style4 .new-menu-right,
  header.style4 .new-menu-bearer,
  header.style4 .new-menu-bearer > .navbar-nav {
    display: contents !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
  }
}
header.style4 .new-menu-left .navbar-nav,
header.style4 .new-menu-right .navbar-nav,
header.style4 .navbar-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  margin: 0 !important;
  float: none !important;
  gap: 0;
}
header.style4 .navbar-nav > li {
  float: none !important;
  white-space: normal;
  flex: 0 1 auto;
  min-width: 0;
}
header.style4 .navbar-nav > li > a {
  color: #111111 !important;
  padding-top: 12px !important;
  padding-bottom: 14px !important;
  padding-left: 11px !important;
  padding-right: 11px !important;
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  text-align: center !important;
}
@media (min-width: 768px) and (max-width: 1100px) {
  header.style4 .navbar-nav > li > a {
    font-size: 13px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    letter-spacing: 0.01em !important;
  }
}
/* Standard green hover/current — beat Deep #999 after-scroll + scroll-spy .selected */
header.style4 .navbar-nav > li > a:hover,
header.style4 .navbar-nav > li > a:focus,
header.style4 .navbar-nav > li > a.selected,
header.style4 .navbar-nav > li > a.hover_selected,
header.style4 .navbar-nav > li.current-menu-item > a,
header.style4 .navbar-nav > li.current_page_item > a,
header.style4.navbar-default .navbar-collapse ul.navbar-nav > li > a:hover,
header.style4.navbar-default .navbar-collapse ul.navbar-nav > li > a:focus,
header.style4.navbar-default .navbar-collapse ul.navbar-nav > li > a.selected,
header.style4.navbar-default .navbar-collapse ul.navbar-nav > li > a.hover_selected,
header.style4.navbar-default .navbar-collapse ul.navbar-nav > li.current-menu-item > a,
header.style4.navbar-default .navbar-collapse ul.navbar-nav > li.current_page_item > a,
header.style4.navbar-default .navbar-collapse ul.navbar-nav > li.current-menu-ancestor > a,
.header_after_scroll .navbar-collapse ul.navbar-nav > li > a:hover,
.header_after_scroll .navbar-collapse ul.navbar-nav > li > a:focus,
.header_after_scroll .navbar-collapse ul.navbar-nav > li > a.selected,
.header_after_scroll .navbar-collapse ul.navbar-nav > li > a.hover_selected,
.header_after_scroll .navbar-collapse ul.navbar-nav > li.current-menu-item > a,
.header_after_scroll .navbar-collapse ul.navbar-nav > li.current_page_item > a,
.header_after_scroll .navbar-collapse ul.navbar-nav > li.current-menu-ancestor > a,
header.header_after_scroll.navbar-default .navbar-collapse ul.navbar-nav > li > a:hover,
header.header_after_scroll.navbar-default .navbar-collapse ul.navbar-nav > li > a:focus,
header.header_after_scroll.navbar-default .navbar-collapse ul.navbar-nav > li > a.selected,
header.header_after_scroll.navbar-default .navbar-collapse ul.navbar-nav > li > a.hover_selected,
header.header_after_scroll.navbar-default .navbar-collapse ul.navbar-nav > li.current-menu-item > a,
header.header_after_scroll.navbar-default .navbar-collapse ul.navbar-nav > li.current_page_item > a,
header.header_after_scroll.navbar-default .navbar-collapse ul.navbar-nav > li.current-menu-ancestor > a,
header.header_after_scroll.style4 .navbar-nav > li > a:hover,
header.header_after_scroll.style4 .navbar-nav > li > a.selected,
header.header_after_scroll.style4 .navbar-nav > li > a.hover_selected,
header.header_after_scroll.style4 .navbar-nav > li.current-menu-item > a,
header.header_after_scroll.style4 .navbar-nav > li.current_page_item > a {
  color: #437542 !important;
}
/* Theme paints a gray/black plate on hover — keep color change only */
header:not(.headerclone) .navbar-nav > li,
header:not(.headerclone) .navbar-nav > li:hover,
header:not(.headerclone) .navbar-nav > li.open,
header:not(.headerclone) .navbar-nav > li > a,
header:not(.headerclone) .navbar-nav > li > a:hover,
header:not(.headerclone) .navbar-nav > li > a:focus,
header:not(.headerclone) .navbar-nav > li > a.hover_selected,
header:not(.headerclone) .navbar-nav > li > a.selected,
header:not(.headerclone) .navbar-nav > li.current-menu-item > a,
header:not(.headerclone) .navbar-nav > .open > a,
header:not(.headerclone) .navbar-nav > .open > a:hover,
header:not(.headerclone) .navbar-nav > .open > a:focus,
header.navbar .navbar-collapse ul li:hover a,
header.navbar-default .navbar-nav > .open > a,
header.navbar-default .navbar-nav > .open > a:hover,
header.navbar-default .navbar-nav > .open > a:focus {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
header.navbar-default.deep-underlining .navbar-nav > li:hover:before,
header.navbar-default.hover-line .navbar-nav > li:hover:before,
header.navbar-default.deep-underlining .navbar-nav > li:hover > a:before,
header.navbar-default.hover-line .navbar-nav > li:hover > a:before {
  background: transparent !important;
  background-color: transparent !important;
  width: 0 !important;
  opacity: 0 !important;
  border: 0 !important;
}
/* Kill Deep hover/current mid-line on desktop primary nav (deep-underlining + hover-line) */
header.navbar-default.deep-underlining .navbar-nav > li::before,
header.navbar-default.deep-underlining .navbar-nav > li:hover::before,
header.navbar-default.deep-underlining .navbar-nav > li.current-menu-item::before,
header.navbar-default.deep-underlining .navbar-nav > li.current_page_item::before,
header.navbar-default.deep-underlining .navbar-nav > li.current-menu-ancestor::before,
header.navbar-default.hover-line .navbar-nav > li::before,
header.navbar-default.hover-line .navbar-nav > li:hover::before,
header.navbar-default.hover-line .navbar-nav > li.current-menu-item::before,
header.navbar-default .navbar-nav > li::before,
header.navbar-default .navbar-nav > li:hover::before,
header.navbar-default .navbar-nav > li.current-menu-item::before,
header.navbar-default .navbar-nav > li.current_page_item::before,
header.navbar-default .navbar-nav > li.current-menu-ancestor::before,
.navbar-collapse ul.navbar-nav > li::before,
.navbar-collapse ul.navbar-nav > li:hover::before,
.navbar-collapse ul.navbar-nav > li.current-menu-item::before,
.navbar-collapse ul.navbar-nav > li.current-menu-ancestor::before,
.navbar-collapse ul.navbar-nav > li:has(a.selected)::before,
header.navbar-default.deep-underlining .navbar-nav > li > a::before,
header.navbar-default.deep-underlining .navbar-nav > li > a::after,
header.navbar-default.deep-underlining .navbar-nav > li:hover > a::before,
header.navbar-default.deep-underlining .navbar-nav > li:hover > a::after,
header.navbar-default.deep-underlining .navbar-nav > li.current-menu-item > a::before,
header.navbar-default.deep-underlining .navbar-nav > li.current-menu-item > a::after,
header.navbar-default.hover-line .navbar-nav > li > a::before,
header.navbar-default.hover-line .navbar-nav > li > a::after,
header.style4 .navbar-nav > li::before,
header.style4 .navbar-nav > li:hover::before,
header.style4 .navbar-nav > li.current-menu-item::before,
header.style4 .navbar-nav > li > a::before,
header.style4 .navbar-nav > li > a::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-bottom: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  box-shadow: none !important;
}
/* Style1 fallback (if theme flips back) */
header.style1 .nav-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  min-height: 80px;
}
header.style1 .nav-container > .navbar-header {
  float: none !important;
  flex: 0 0 auto;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
header.style1 .nav-container > .navbar-collapse.collapse {
  float: none !important;
  flex: 1 1 auto;
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  width: auto !important;
  margin-left: auto;
}
header.style1 .navbar-collapse .navbar-nav {
  float: none !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  margin: 0 !important;
}
header.style1 .navbar-collapse .navbar-nav > li {
  float: none !important;
  white-space: nowrap;
}
header.style1 .navbar-collapse .navbar-nav > li > a {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  line-height: 1.2 !important;
  color: #111111 !important;
}
header.style1 .deep_right_header_icons {
  float: none !important;
  padding-top: 0 !important;
  align-self: center;
}
.navbar-brand,
a.navbar-brand,
header .navbar-header .navbar-brand,
header.style4 .navbar-brand,
header.style4 .nav-container .navbar-header .navbar-brand {
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  min-height: 72px;
  /* Theme style4 starts at opacity:0 until JS — show immediately */
  opacity: 1 !important;
}
.navbar-brand img.logo_normal,
.navbar-brand img.logo_retina,
.navbar-brand img.logo_after_scroll,
header a.navbar-brand img {
  height: 78px !important;
  width: auto !important;
  max-width: 360px !important;
  max-height: 78px !important;
  object-fit: contain !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  transition: height 0.25s ease, max-height 0.25s ease, max-width 0.25s ease;
}
/* One logo only — same asset for normal/after_scroll; shrink height on scroll */
header:not(.headerclone) .navbar-brand img.logo_normal:not(.logo_after_scroll) {
  display: block !important;
  opacity: 1 !important;
}
header:not(.headerclone) .navbar-brand img.logo_after_scroll,
header:not(.headerclone) .navbar-brand img.logo_retina {
  display: none !important;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
  only screen and (min-resolution: 192dpi),
  only screen and (min-resolution: 2dppx) {
  header:not(.headerclone) .navbar-brand img.logo_normal:not(.logo_after_scroll) {
    display: none !important;
  }
  header:not(.headerclone) .navbar-brand img.logo_retina:not(.logo_after_scroll) {
    display: block !important;
    opacity: 1 !important;
  }
  header:not(.headerclone) .navbar-brand img.logo_retina.logo_after_scroll {
    display: none !important;
  }
}
/* Shrink on scroll — keep the same img visible (no logo_after_scroll swap) */
header.header_after_scroll:not(.headerclone) .navbar-brand {
  min-height: 56px;
}
header.header_after_scroll:not(.headerclone) .nav-container {
  min-height: 0;
  padding-top: 10px !important;
  padding-bottom: 6px !important;
}
header.header_after_scroll:not(.headerclone) .navbar-nav > li > a {
  padding-top: 8px !important;
  padding-bottom: 10px !important;
}
header.header_after_scroll:not(.headerclone) .navbar-brand img.logo_normal:not(.logo_after_scroll),
header.header_after_scroll:not(.headerclone) .navbar-brand img.logo_retina:not(.logo_after_scroll) {
  height: 56px !important;
  max-height: 56px !important;
  max-width: 280px !important;
}
/* Deep clones the header for sticky math; never paint it (visibility:hidden
   descendants can re-show with visibility:visible — that caused double logo). */
header.headerclone {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
header.headerclone,
header.headerclone * {
  visibility: hidden !important;
}
/* Menu text: no slide-in duplicate after theme JS wraps links */
header .navbar-nav > li > a .btn-animate-y-1 {
  opacity: 1 !important;
  transform: none !important;
}
header .navbar-nav > li > a .btn-animate-y-2 {
  display: none !important;
  visibility: hidden !important;
}

/* Sticky Email + Phone + WhatsApp + Cal — permanently above Deep #back-top */
.spo-sticky-chrome {
  position: fixed;
  right: 18px;
  /* #back-top sits at bottom:30px (~49px). Keep a clear gap above it. */
  bottom: 100px;
  z-index: 9998;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.spo-sticky-chrome__email,
.spo-sticky-chrome__phone,
.spo-sticky-chrome__wa,
.spo-sticky-chrome__cal {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
  transition: background-color 0.18s ease, color 0.18s ease;
  transform: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  line-height: 0;
}
.spo-sticky-chrome__email {
  color: #437542 !important;
  background: #ffffff !important;
  border-color: rgba(67, 117, 66, 0.28) !important;
}
.spo-sticky-chrome__email:hover {
  background: #f3f7f3 !important;
  color: #356334 !important;
  transform: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
.spo-sticky-chrome__phone {
  color: #ffffff !important;
  background: #437542 !important;
  border-color: transparent !important;
}
.spo-sticky-chrome__phone:hover {
  background: #356334 !important;
  color: #ffffff !important;
  transform: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
.spo-sticky-chrome__wa {
  background: #25d366 !important;
  color: #ffffff !important;
  border-color: transparent !important;
}
.spo-sticky-chrome__wa:hover {
  background: #1ebe57 !important;
  color: #ffffff !important;
  transform: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
.spo-sticky-chrome__cal {
  color: #111111 !important;
  background: #f5f1eb !important;
  border-color: rgba(17, 17, 17, 0.14) !important;
}
.spo-sticky-chrome__cal:hover {
  background: #ebe6de !important;
  color: #111111 !important;
  transform: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
.spo-sticky-chrome__icon {
  display: block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.spo-sticky-chrome .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (max-width: 767px) {
  .spo-sticky-chrome {
    right: 12px;
    bottom: 90px;
    gap: 8px;
  }
  .spo-sticky-chrome__email,
  .spo-sticky-chrome__phone,
  .spo-sticky-chrome__wa,
  .spo-sticky-chrome__cal {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
  }
  .spo-sticky-chrome__icon {
    width: 20px;
    height: 20px;
  }
}

/* Deep #back-top defaults to right:30px — align with .spo-sticky-chrome stack */
#back-top {
  right: 18px !important;
}
@media (max-width: 767px) {
  #back-top {
    right: 12px !important;
  }
}

/* Keep long DE labels on one line with written nav (wide desktop only) */
@media (min-width: 1367px) {
  header.style1 .navbar-collapse .navbar-nav > li > a,
  header.style4 .navbar-nav > li > a {
    white-space: nowrap !important;
  }
}

/* Written nav on wide desktop — beat Deep theme’s 1600px hamburger switch */
@media (min-width: 1367px) {
  /* Theme uses .new-menu-wrapper .new-menu-left — match that specificity */
  header.style4 .new-menu-wrapper .new-menu-left,
  header.style4 .new-menu-wrapper .new-menu-right,
  header.style4 .new-menu-wrapper .new-menu-bearer,
  header.style4 .new-menu-wrapper .new-menu-bearer > .navbar-nav,
  header.style4 .new-menu-left,
  header.style4 .new-menu-right,
  header.style4 .new-menu-bearer,
  header.style4 .new-menu-bearer > .navbar-nav {
    display: contents !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
  }
  header.style4 .new-menu-wrapper,
  header.style4 .navbar-header .new-menu-wrapper {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    width: 100% !important;
  }
  header.style4 .new-menu-wrapper > .navbar-nav,
  header.style4 .navbar-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-wrap: nowrap !important;
  }
  /* Source menu may be emptied by Deep JS into left/right — keep collapse out of the way */
  header.style4:not(.headerclone) .nav-container > .navbar-collapse.collapse,
  header.style4:not(.headerclone) .nav-container .navbar-collapse.collapse,
  header:not(.style2):not(.style3) .nav-container > .navbar-collapse.collapse {
    display: none !important;
  }
  header:not(.headerclone) .dl-menuwrapper,
  header.style4 .dl-menuwrapper,
  header.style4 .nav-container .dl-menuwrapper,
  header .nav-container .dl-menuwrapper,
  body header .nav-container .dl-menuwrapper {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }
}

/* Hamburger mode — phone + tablet (≤1366): written nav never wraps to 2 rows */
@media (max-width: 1366px) {
  header.style1 .nav-container,
  header.style4 .nav-container {
    min-height: 72px;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    position: relative !important;
  }
  /* Full-bleed bar: theme .container shrinks nav and breaks the bottom edge */
  header.style4:not(.headerclone) .nav-container.container,
  header.style4:not(.headerclone) .nav-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  body.content_after_header header.style4:not(.headerclone),
  body.content_after_header header.wn-header:not(.headerclone),
  header.style4:not(.headerclone) {
    background-color: #f5f1eb !important;
    background-image: none !important;
    /* Continuous hairline — theme sets transparent border otherwise */
    border-bottom: 1px solid rgba(17, 17, 17, 0.1) !important;
    box-shadow: none !important;
  }
  header.style4:not(.headerclone) .nav-container,
  header.style4:not(.headerclone) .navbar-header,
  header.style4:not(.headerclone) .navbar-brand {
    background-color: transparent !important;
    background-image: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
  header.style4 .navbar-brand,
  header.style4 .navbar-header .navbar-brand,
  header.style4 .new-menu-wrapper > .navbar-brand {
    background: transparent !important;
    box-shadow: none !important;
    min-height: 0 !important;
    height: auto !important;
    order: 0 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }
  header.style4 .new-menu-left,
  header.style4 .new-menu-right,
  header.style4 .new-menu-bearer,
  header.style4 .new-menu-bearer > .navbar-nav {
    display: none !important;
  }
  header.style4 .navbar-header,
  header.style4 .new-menu-wrapper {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    width: auto !important;
  }
  /* Clone stays for Deep sticky math — never paint a second sand shelf */
  header.headerclone {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .navbar-brand img.logo_normal,
  .navbar-brand img.logo_retina,
  .navbar-brand img.logo_after_scroll {
    height: 48px !important;
    max-height: 48px !important;
    max-width: 220px !important;
    width: auto !important;
    background: transparent !important;
  }
  header .dl-menuwrapper button,
  header .dl-menuwrapper button.dl-active,
  header .dl-menuwrapper .dl-trigger {
    background: transparent !important;
    z-index: 10070 !important;
    position: relative !important;
    /* Usable hit target — theme collapses the button to ~3px tall */
    min-width: 44px !important;
    min-height: 44px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  header:not(.headerclone) .dl-menuwrapper {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  header:not(.headerclone) .dl-menuwrapper button::after,
  header:not(.headerclone) .dl-menuwrapper .dl-trigger::after {
    display: none !important;
    content: none !important;
    box-shadow: none !important;
  }
  header:not(.headerclone) .hamburguer-trigger-menu-icon {
    visibility: visible !important;
    opacity: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 5px !important;
    position: relative !important;
    top: 0 !important;
    width: 22px !important;
    height: 16px !important;
    min-height: 16px !important;
    transform: none !important;
    background-color: transparent !important;
    overflow: visible !important;
  }
  header:not(.headerclone) .hamburguer-trigger-menu-icon .hamburguer-line,
  header:not(.headerclone) .hamburguer-trigger-menu-icon .hamburger-line-1,
  header:not(.headerclone) .hamburguer-trigger-menu-icon .hamburger-line-2,
  header:not(.headerclone) .hamburguer-trigger-menu-icon .hamburger-line-3 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: 2px !important;
    min-height: 2px !important;
    display: block !important;
    background-color: #111111 !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }
  /* Trigger stays in the header; panel itself is a fixed drawer */
  header.style4 .dl-menuwrapper,
  header.style4 .nav-container .dl-menuwrapper,
  header:not(.headerclone) .dl-menuwrapper {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: absolute !important;
    left: auto !important;
    right: 12px !important;
    top: 0 !important;
    bottom: 0 !important;
    /* No transform here — it would trap position:fixed drawer panel */
    transform: none !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 10050 !important;
    perspective: none !important;
    -webkit-perspective: none !important;
  }
  header.headerclone .dl-menuwrapper .dl-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  /*
   * Half+ screen drawer from the right — replace dropdown popup.
   * Keep panel in layout (no display:none) so translateX can animate.
   */
  header:not(.headerclone) .dl-menuwrapper .dl-menu,
  header:not(.headerclone) .dl-menuwrapper ul.dl-menu {
    display: block !important;
    visibility: visible !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    width: 65vw !important;
    min-width: 320px !important;
    max-width: 720px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    padding: 36px 40px 56px !important;
    box-sizing: border-box !important;
    background: #f5f1eb !important;
    background-color: #f5f1eb !important;
    background-image: none !important;
    border: 0 !important;
    border-left: 1px solid rgba(17, 17, 17, 0.1) !important;
    border-radius: 0 !important;
    box-shadow: -28px 0 64px rgba(17, 17, 17, 0.22) !important;
    opacity: 1 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    pointer-events: none !important;
    transform: translate3d(104%, 0, 0) !important;
    transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1) !important;
    z-index: 10060 !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen,
  header:not(.headerclone) .dl-menuwrapper ul.dl-menu.dl-menuopen,
  body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu,
  body.spo-nav-open header:not(.headerclone) .dl-menuwrapper ul.dl-menu {
    background: #f5f1eb !important;
    background-color: #f5f1eb !important;
    background-image: none !important;
  }
  /* Spoonie logo at top of open hamburger drawer — no underline */
  header:not(.headerclone) .dl-menuwrapper .dl-menu .spo-nav-drawer-brand,
  header:not(.headerclone) .dl-menuwrapper ul.dl-menu > li.spo-nav-drawer-brand {
    list-style: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu .spo-nav-drawer-brand a,
  header:not(.headerclone) .dl-menuwrapper .dl-menu .spo-nav-drawer-brand__link {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 0 !important;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu .spo-nav-drawer-brand__logo {
    display: block !important;
    height: 68px !important;
    width: auto !important;
    max-width: min(320px, 82%) !important;
    object-fit: contain !important;
    background: transparent !important;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li.spo-nav-drawer-brand a:hover,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li.spo-nav-drawer-brand a:focus {
    color: inherit !important;
    background: transparent !important;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen,
  header:not(.headerclone) .dl-menuwrapper ul.dl-menu.dl-menuopen {
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    z-index: 10062 !important;
  }
  body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen a {
    pointer-events: auto !important;
    cursor: pointer !important;
  }
  /* Kill theme 3D flip animations that fight the slide */
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-out-1,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-out-2,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-out-3,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-out-4,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-out-5,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-in-1,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-in-2,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-in-3,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-in-4,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-animate-in-5 {
    animation: none !important;
    -webkit-animation: none !important;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li a {
    background: transparent !important;
    background-color: transparent !important;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li:not(.spo-nav-drawer-brand) > a {
    color: #111111 !important;
    font-family: Gelasio, Georgia, "Times New Roman", serif !important;
    font-size: clamp(18px, 2.4vw, 26px) !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    padding: 18px 4px !important;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    line-height: 1.3 !important;
  }
  /* Logo row: never get menu-link underlines / separators */
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen > li.spo-nav-drawer-brand,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen > li.spo-nav-drawer-brand a,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li.spo-nav-drawer-brand,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li.spo-nav-drawer-brand a,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li.spo-nav-drawer-brand a.spo-nav-drawer-brand__link {
    border: 0 !important;
    border-bottom: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 18px !important;
    background: transparent !important;
  }
  /* Header hairline sits under logo when drawer is open — hide it */
  body.spo-nav-open header,
  body.spo-nav-open header.style1,
  body.spo-nav-open header.style4,
  body.spo-nav-open header.header-init,
  body.spo-nav-open header.wn-header:not(.headerclone),
  body.spo-nav-open header.style4:not(.headerclone),
  body.spo-nav-open header.style4:not(.headerclone) .nav-container,
  body.spo-nav-open header.style4:not(.headerclone) .navbar-header {
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
  /* No separator under drawer logo / before first menu item */
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen > li.spo-nav-drawer-brand + li > a {
    border-top: 0 !important;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li:not(.spo-nav-drawer-brand):last-child > a {
    border-bottom: 0;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li.current-menu-item > a,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li.current_page_item > a,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li a:hover,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li a:focus,
  header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li:hover > a,
  body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li a:hover,
  body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu.dl-menuopen li:hover > a {
    color: #293b49 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }
  /* Kill theme hover black plate / btn-animate overlays inside hamburger */
  header .dl-menuwrapper .dl-menu.dl-menuopen li a::before,
  header .dl-menuwrapper .dl-menu.dl-menuopen li a::after,
  header .dl-menuwrapper .dl-menu.dl-menuopen [data-btn-animate],
  header .dl-menuwrapper .dl-menu.dl-menuopen .btn-animate,
  header .dl-menuwrapper .dl-menu.dl-menuopen .wn-btn-animate,
  header .dl-menuwrapper .dl-menu.dl-menuopen .btn-animate-y-1,
  header .dl-menuwrapper .dl-menu.dl-menuopen .btn-animate-y-2 {
    display: none !important;
    background: transparent !important;
    background-color: transparent !important;
    content: none !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
  }
  /* Deep theme deep-underlining: mid-text strike (::after top:50%) on hover/current */
  header.deep-underlining .dl-menu li > a::after,
  header.deep-underlining .dl-menu li > a:hover::after,
  header.deep-underlining .dl-menu li > a:focus::after,
  header.deep-underlining .dl-menu li > a:active::after,
  header.deep-underlining .dl-menu li:hover > a::after,
  header.deep-underlining .dl-menu li.current-menu-item > a::after,
  header.deep-underlining .dl-menu li.current_page_item > a::after,
  header.hover-line .dl-menu li > a::after,
  header.hover-line .dl-menu li:hover > a::after,
  header .dl-menu li:not(.deep_mega_hide_link) > a::after,
  header .dl-menu li:not(.deep_mega_hide_link) > a:hover::after,
  header .dl-menu li:not(.deep_mega_hide_link) > a:focus::after,
  header .dl-menu li:not(.deep_mega_hide_link) > a:active::after,
  header .dl-menu li:hover > a::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-color: transparent !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    opacity: 0 !important;
    border: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  header .dl-menuwrapper .dl-menu.dl-menuopen li:hover,
  header .dl-menuwrapper .dl-menu.dl-menuopen li:hover > a,
  header .dl-menuwrapper .dl-menu.dl-menuopen li a:hover,
  header .dl-menuwrapper .dl-menu.dl-menuopen li a:focus,
  header .dl-menuwrapper .dl-menu.dl-menuopen li a.menu-link:hover,
  header .dl-menuwrapper .dl-menu.dl-menuopen li a.main-menu-link:hover,
  body.spo-nav-open header .dl-menuwrapper .dl-menu li:hover,
  body.spo-nav-open header .dl-menuwrapper .dl-menu li:hover > a,
  body.spo-nav-open header .dl-menuwrapper .dl-menu li a:hover,
  body.spo-nav-open header .dl-menuwrapper .dl-menu li a:focus,
  header #dl-menu ul li:hover,
  header #dl-menu ul li:hover > a,
  header #dl-menu ul li a:hover {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    outline: none !important;
  }
}

/* Nav drawer scrim — dim page while half-panel is open */
.spo-nav-scrim {
  position: fixed;
  inset: 0;
  z-index: 10055;
  background: rgba(17, 17, 17, 0.42);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
body.spo-nav-open .spo-nav-scrim {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
/* Header (and fixed drawer inside it) must sit above scrim — header is z-index 1000 by default */
body.spo-nav-open header.wn-header:not(.headerclone),
body.spo-nav-open header.navbar-fixed-top:not(.headerclone),
body.spo-nav-open header.header-init:not(.headerclone),
body.spo-nav-open header.style4:not(.headerclone) {
  z-index: 10070 !important;
}
body.spo-nav-open {
  overflow: hidden;
}
/* Hamburger drawer: hover = #293B49 text only, never a filled plate */
body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu li:hover,
body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu li:hover > a,
body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu li a:hover,
body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu li a:focus,
body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu li a.menu-link:hover,
body.spo-nav-open .dl-menu li:not(.dl-back):hover > a,
header #dl-menu ul li:hover,
header #dl-menu ul li:hover > a,
header #dl-menu ul li:hover a,
header #dl-menu ul li a:hover,
header.header_after_scroll #dl-menu ul li:hover,
header.header_after_scroll #dl-menu ul li:hover > a,
header.header_after_scroll #dl-menu ul li:hover a,
header.header_after_scroll #dl-menu ul li a:hover,
header li:not(.deep_mega_menu) ul.menu-depth-1 li:hover,
header.header_after_scroll li:not(.deep_mega_menu) ul.menu-depth-1 li:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #293b49 !important;
}
body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu li a::before,
body.spo-nav-open header:not(.headerclone) .dl-menuwrapper .dl-menu li a::after,
body.spo-nav-open header.deep-underlining .dl-menu li > a::after,
body.spo-nav-open header.deep-underlining .dl-menu li > a:hover::after,
body.spo-nav-open header.deep-underlining .dl-menu li:hover > a::after,
body.spo-nav-open header.deep-underlining .dl-menu li.current-menu-item > a::after,
body.spo-nav-open header .dl-menu li:not(.deep_mega_hide_link) > a::after,
body.spo-nav-open header .dl-menu li:not(.deep_mega_hide_link) > a:hover::after,
body.spo-nav-open header .dl-menu li:hover > a::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-color: transparent !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  opacity: 0 !important;
  border: 0 !important;
  visibility: hidden !important;
}
.spo-nav-close {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 10075;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #111111;
  font-size: 32px;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
body.spo-nav-open .spo-nav-close {
  display: inline-flex;
}
.spo-nav-close:hover,
.spo-nav-close:focus {
  color: #293b49;
  outline: none;
}
@media (max-width: 767px) {
  header:not(.headerclone) .dl-menuwrapper .dl-menu,
  header:not(.headerclone) .dl-menuwrapper ul.dl-menu {
    width: 82vw !important;
    min-width: 280px !important;
    max-width: none !important;
    padding: 28px 28px 48px !important;
    background: #f5f1eb !important;
    background-color: #f5f1eb !important;
  }
  header:not(.headerclone) .dl-menuwrapper .dl-menu .spo-nav-drawer-brand__logo {
    height: 60px !important;
    max-width: min(300px, 85%) !important;
  }
}

.spo-it-img img,
.spo-tile-icon img {
  max-height: 220px;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}
.spo-scroll-icon-img img {
  max-width: 160px !important;
  max-height: 130px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}
.spo-quote-card {
  background: #f7f7f7;
  padding: 22px 20px;
  min-height: 220px;
}
.spo-highlight-box .spo-text-inner {
  max-width: 920px;
  margin: 0 auto;
}

/* GC — Post COVID framed callout (no bg image) */
.spo-postcovid-cta .spo-postcovid-frame {
  border: 1px solid #111 !important;
  background: #fff !important;
  padding: 48px 40px !important;
  box-sizing: border-box;
}
.spo-postcovid-cta .spo-postcovid-title {
  margin: 0 !important;
}
@media (max-width: 767px) {
  .spo-postcovid-cta .spo-postcovid-frame {
    padding: 32px 22px !important;
  }
}

/* ——— Spoonie footer: sand bg (match site #f5f1eb) + partner logos ——— */
#wrap #footer,
#footer,
#big_footer,
#secondary_footer,
#footer #big_footer,
#footer #secondary_footer {
  background: #f5f1eb !important;
  background-color: #f5f1eb !important;
  color: #333333 !important;
}
#secondary_footer .footerlogo img,
#secondary_footer .footer_logo img,
#secondary_footer img.footer_logo_normal,
#secondary_footer img.footer_logo_retina {
  max-height: 62px !important;
  height: auto !important;
  width: auto !important;
  filter: none !important;
  opacity: 1 !important;
}
#secondary_footer .social-icons-fa a,
#secondary_footer .social-icons-fa a.spo-footer-phone,
#secondary_footer .social-icons-fa a.spo-footer-calendar,
#secondary_footer .social-icons-fa a i,
#secondary_footer .social-icons-fa a.spo-footer-phone i,
#secondary_footer .social-icons-fa a.spo-footer-calendar i,
#secondary_footer .social-icons-fa a.spo-footer-phone svg,
#secondary_footer .social-icons-fa a.spo-footer-calendar svg,
#secondary_footer .social-icons-fa a.spo-footer-phone svg path,
#secondary_footer .social-icons-fa a.spo-footer-calendar svg path,
#big_footer .social-icons-fa a i,
#big_footer .social-icons-fa a.spo-footer-phone,
#big_footer .social-icons-fa a.spo-footer-calendar,
#big_footer .social-icons-fa a.spo-footer-phone i,
#big_footer .social-icons-fa a.spo-footer-calendar i,
#big_footer .social-icons-fa a.spo-footer-phone svg,
#big_footer .social-icons-fa a.spo-footer-calendar svg,
#big_footer .social-icons-fa a.spo-footer-phone svg path,
#big_footer .social-icons-fa a.spo-footer-calendar svg path {
  color: #111111 !important;
  fill: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
#secondary_footer .social-icons-fa a,
#secondary_footer .social-icons-fa a.spo-footer-phone,
#secondary_footer .social-icons-fa a.spo-footer-calendar,
#secondary_footer .social-icons-fa button.spo-footer-calendar,
#big_footer .social-icons-fa a.spo-footer-phone,
#big_footer .social-icons-fa a.spo-footer-calendar,
#big_footer .social-icons-fa button.spo-footer-calendar {
  background: #e8e4de !important;
  background-color: #e8e4de !important;
}
#secondary_footer .social-icons-fa a.spo-footer-phone,
#secondary_footer .social-icons-fa a.spo-footer-calendar,
#big_footer .social-icons-fa a.spo-footer-phone,
#big_footer .social-icons-fa a.spo-footer-calendar {
  width: 39px !important;
  height: 39px !important;
  min-width: 39px !important;
  min-height: 39px !important;
  max-width: 39px !important;
  max-height: 39px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
}
/* Same circle size for theme socials + custom phone/calendar */
#secondary_footer .social-icons-fa a,
#secondary_footer .social-icons-fa a:before {
  box-sizing: border-box !important;
  width: 39px !important;
  height: 39px !important;
  min-width: 39px !important;
  min-height: 39px !important;
  max-width: 39px !important;
  max-height: 39px !important;
  border-radius: 50% !important;
}
#secondary_footer .social-icons-fa a.spo-footer-phone svg,
#secondary_footer .social-icons-fa a.spo-footer-calendar svg,
#secondary_footer .social-icons-fa button.spo-footer-calendar svg,
#big_footer .social-icons-fa a.spo-footer-phone svg,
#big_footer .social-icons-fa a.spo-footer-calendar svg,
#big_footer .social-icons-fa button.spo-footer-calendar svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 auto;
  position: relative !important;
  z-index: 2 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}
#secondary_footer .social-icons-fa a.spo-footer-phone:before,
#secondary_footer .social-icons-fa a.spo-footer-calendar:before,
#secondary_footer .social-icons-fa button.spo-footer-calendar:before,
#big_footer .social-icons-fa a.spo-footer-phone:before,
#big_footer .social-icons-fa a.spo-footer-calendar:before,
#big_footer .social-icons-fa button.spo-footer-calendar:before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
#secondary_footer .social-icons-fa a:before,
#secondary_footer .social-icons-fa a.spo-footer-phone:before,
#secondary_footer .social-icons-fa a.spo-footer-calendar:before,
#secondary_footer .social-icons-fa button.spo-footer-calendar:before,
#big_footer .social-icons-fa a.spo-footer-phone:before,
#big_footer .social-icons-fa a.spo-footer-calendar:before,
#big_footer .social-icons-fa button.spo-footer-calendar:before {
  background: #e8e4de !important;
}
#secondary_footer .social-icons-fa a:hover,
#secondary_footer .social-icons-fa a.spo-footer-phone:hover,
#secondary_footer .social-icons-fa a.spo-footer-calendar:hover,
#secondary_footer .social-icons-fa button.spo-footer-calendar:hover,
#secondary_footer .social-icons-fa a:hover i,
#secondary_footer .social-icons-fa a.spo-footer-phone:hover i,
#secondary_footer .social-icons-fa a.spo-footer-calendar:hover i,
#secondary_footer .social-icons-fa a.spo-footer-phone:hover svg,
#secondary_footer .social-icons-fa a.spo-footer-calendar:hover svg,
#secondary_footer .social-icons-fa button.spo-footer-calendar:hover svg,
#secondary_footer .social-icons-fa a.spo-footer-phone:hover svg path,
#secondary_footer .social-icons-fa a.spo-footer-calendar:hover svg path,
#secondary_footer .social-icons-fa button.spo-footer-calendar:hover svg path,
#big_footer .social-icons-fa a.spo-footer-phone:hover,
#big_footer .social-icons-fa a.spo-footer-calendar:hover,
#big_footer .social-icons-fa button.spo-footer-calendar:hover,
#big_footer .social-icons-fa a.spo-footer-phone:hover i,
#big_footer .social-icons-fa a.spo-footer-calendar:hover i,
#big_footer .social-icons-fa a.spo-footer-phone:hover svg,
#big_footer .social-icons-fa a.spo-footer-calendar:hover svg,
#big_footer .social-icons-fa button.spo-footer-calendar:hover svg {
  color: #111111 !important;
  fill: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
#secondary_footer .social-icons-fa a:hover,
#secondary_footer .social-icons-fa a.spo-footer-phone:hover,
#secondary_footer .social-icons-fa a.spo-footer-calendar:hover,
#secondary_footer .social-icons-fa button.spo-footer-calendar:hover,
#big_footer .social-icons-fa a.spo-footer-phone:hover,
#big_footer .social-icons-fa a.spo-footer-calendar:hover,
#big_footer .social-icons-fa button.spo-footer-calendar:hover {
  background: #f3c4cc !important;
  background-color: #f3c4cc !important;
}
#secondary_footer .social-icons-fa a:hover:before,
#secondary_footer .social-icons-fa a.spo-footer-phone:hover:before,
#secondary_footer .social-icons-fa a.spo-footer-calendar:hover:before,
#secondary_footer .social-icons-fa button.spo-footer-calendar:hover:before,
#big_footer .social-icons-fa a.spo-footer-phone:hover:before,
#big_footer .social-icons-fa a.spo-footer-calendar:hover:before,
#big_footer .social-icons-fa button.spo-footer-calendar:hover:before {
  background: #f3c4cc !important;
}
#secondary_footer .social-icons-fa a.spo-footer-phone:hover svg,
#secondary_footer .social-icons-fa a.spo-footer-calendar:hover svg,
#secondary_footer .social-icons-fa button.spo-footer-calendar:hover svg,
#secondary_footer .social-icons-fa a.spo-footer-phone:hover svg path,
#secondary_footer .social-icons-fa a.spo-footer-calendar:hover svg path,
#secondary_footer .social-icons-fa button.spo-footer-calendar:hover svg path,
#big_footer .social-icons-fa a.spo-footer-phone:hover svg,
#big_footer .social-icons-fa a.spo-footer-calendar:hover svg,
#big_footer .social-icons-fa button.spo-footer-calendar:hover svg,
#big_footer .social-icons-fa a.spo-footer-phone:hover svg path,
#big_footer .social-icons-fa a.spo-footer-calendar:hover svg path,
#big_footer .social-icons-fa button.spo-footer-calendar:hover svg path {
  color: #111111 !important;
  fill: #111111 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#big_footer .spo-footer-logos {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 22px 28px;
  max-width: 1400px;
  margin: 12px auto 8px;
  padding: 0 16px 8px;
}
#big_footer .spo-footer-logos img,
#big_footer .spo-footer-logo {
  display: block;
  max-height: 44px;
  width: auto;
  max-width: 130px;
  object-fit: contain;
  opacity: 0.92;
  filter: none;
  background: transparent !important;
  box-shadow: none !important;
}
#big_footer .spo-footer-logo--fresenius {
  max-height: 42px;
  max-width: 170px;
  background: transparent !important;
  padding: 0;
  border-radius: 0;
}
#big_footer .spo-footer-logo--inqa {
  max-height: 42px;
  max-width: 180px;
  background: transparent !important;
  padding: 0;
  border-radius: 0;
}
#big_footer .spo-footer-logo--bafa {
  max-height: 44px;
  max-width: 150px;
  background: transparent !important;
  padding: 0;
  border-radius: 0;
}
#big_footer .spo-footer-logo--wispo {
  max-height: 42px;
  max-width: 170px;
  background: transparent !important;
}
#big_footer .spo-footer-logo--dgsf {
  max-height: 36px;
  background: transparent !important;
}
#big_footer .spo-footer-logo--uni-hh {
  max-height: 52px;
  border-radius: 4px;
  background: transparent !important;
}
#big_footer .spo-footer-logo--no-afd {
  max-height: 56px;
  border-radius: 50%;
}
#big_footer .spo-footer-logo--irbw {
  max-height: 40px;
  background: transparent !important;
}
#big_footer .spo-footer-legal {
  text-align: center !important;
  margin: 18px 0 0 !important;
  font-size: 13px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
#big_footer .spo-footer-legal a,
#big_footer a:not(.social-icons-fa a),
#secondary_footer a:not(.social-icons-fa a),
#footer a:not(.social-icons-fa a) {
  color: #333333 !important;
  text-decoration: none !important;
}
#big_footer .spo-footer-legal a:hover,
#big_footer a:not(.social-icons-fa a):hover,
#secondary_footer a:not(.social-icons-fa a):hover,
#footer a:not(.social-icons-fa a):hover {
  color: #437542 !important;
}
#big_footer .spo-footer-copy {
  display: none !important;
}
#secondary_footer,
#secondary_footer p,
#secondary_footer .footer-in,
#secondary_footer .col-md-6 {
  color: #333333 !important;
}
@media (max-width: 767px) {
  #big_footer .spo-footer-logos {
    flex-wrap: wrap;
    gap: 18px 22px;
  }
  #big_footer .spo-footer-logos img,
  #big_footer .spo-footer-logo {
    max-height: 36px;
    max-width: 130px;
  }
}

/* ——— Startseite: hero image + hover-expand service panels ——— */
.spo-home-services-hero-row.wpb_row,
.spo-home-services-hero-row.vc_row {
  clear: both !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  left: 0 !important;
  right: auto !important;
  position: relative !important;
  padding: 0 !important;
  float: none !important;
}
.spo-home-services-hero-row + .spo-cta-banner,
.spo-home-services-hero-row + .vc_row {
  margin-top: 0 !important;
}
/* WPBakery inserts an empty full-width clearfix between stretch rows */
.spo-home-services-hero-row + .vc_row-full-width,
.spo-home-services-hero-row + .vc_row-full-width + .vc_clearfix {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}
.spo-home-services-hero-row ~ .spo-cta-banner.vc_custom_spo_cta,
.spo-home-services-hero-row ~ .spo-cta-banner,
body.page-id-8359 .spo-cta-banner.vc_custom_spo_cta,
body.home .spo-home-services-hero-row ~ .spo-cta-banner {
  margin-top: 0 !important;
}
.spo-home-services-hero-row > .wpb_column,
.spo-home-services-hero-row > .vc_column_container {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.spo-home-services-hero-row > .wpb_column > .vc_column-inner,
.spo-home-services-hero-row > .vc_column_container > .vc_column-inner {
  padding: 0 !important;
  margin: 0 !important;
}
.spo-home-services-hero-row .wpb_wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
/* Home: flush under header; content clears fixed chrome; panels fill height */
body.home .master_container.master_container_bgwhite,
body.page-id-8359 .master_container.master_container_bgwhite {
  padding-top: 0 !important;
}
/* Written header taller only when written nav shows; hamburger uses short clear */
@media (min-width: 1367px) {
  body.content_after_header:not(.home):not(.page-id-8359) .master_container.master_container_bgwhite {
    padding-top: 160px !important;
  }
}
@media (max-width: 1366px) {
  body.content_after_header:not(.home):not(.page-id-8359) .master_container.master_container_bgwhite {
    padding-top: 80px !important;
  }
}
.spo-home-expand-hero {
  --spo-home-hero-image: none;
  /* Written nav header (~logo+claim+menu); phone hamburger overrides below */
  --spo-home-hero-header-clear: 176px;
  position: relative;
  isolation: isolate;
  min-height: 92vh;
  display: flex;
  align-items: stretch;
  background-color: #f5f1eb;
  background-image: var(--spo-home-hero-image);
  background-size: cover;
  background-position: center;
  overflow: hidden;
  margin: 0 !important;
  padding: var(--spo-home-hero-header-clear) 0 0 !important;
  box-sizing: border-box;
}
@media (max-width: 1366px) {
  .spo-home-expand-hero {
    --spo-home-hero-header-clear: 88px;
  }
}
.spo-home-expand-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 0;
  /* Light veil so black hero copy stays readable over the illustration */
  background: rgba(255, 255, 255, 0.58);
  pointer-events: none;
}
.spo-home-expand-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 !important;
  box-sizing: border-box;
  margin: 0 !important;
  height: auto;
  min-height: 0;
}
/* Feedback 6: text above hero panels — own band, not sitting on the columns */
.spo-home-expand-hero__intro {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  padding: 52px 32px 64px;
  text-align: center;
  margin: 0;
  box-sizing: border-box;
  flex: 0 0 auto;
  color: #111111 !important;
}
.spo-home-expand-hero__kicker {
  margin: 0 auto 12px !important;
  max-width: 42em;
  color: #111111 !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: clamp(24px, 2.8vw, 36px) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}
.spo-home-expand-hero__question {
  margin: 0 auto !important;
  max-width: 42em;
  color: #111111 !important;
  font-size: clamp(15px, 1.35vw, 18px) !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}
.spo-home-expand-hero__title {
  margin: 0 auto 28px !important;
  padding: 0 24px;
  max-width: 18em;
  text-align: center;
  color: #111111 !important;
  font-size: clamp(28px, 3.4vw, 42px) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}
.spo-home-expand-panels {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  align-self: stretch;
  width: 100%;
  height: auto;
  min-height: 0;
  gap: 0;
  margin: 0 !important;
}
.spo-home-expand-panel {
  position: relative;
  /* Closed panels: equal share but wide enough that titles aren't clipped */
  flex: 1 1 0;
  min-width: 11.5em;
  overflow: hidden;
  color: #111111;
  background: rgba(255, 255, 255, 0.62);
  border-left: 1px solid rgba(17, 17, 17, 0.1);
  transition:
    flex 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.35s ease,
    border-color 0.35s ease;
  outline: none;
  cursor: pointer;
}
.spo-home-expand-panel:first-child {
  border-left: 0;
}
.spo-home-expand-panel__shell {
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  /* Intro sits above the panels — center title + body + CTA as one group */
  padding: clamp(28px, 4.5vh, 48px) clamp(28px, 3.2vw, 56px) clamp(28px, 4vh, 48px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  gap: 0;
}
.spo-home-expand-panel--oe .spo-home-expand-panel__title {
  max-width: 100%;
}
.spo-home-expand-panel__title-main {
  display: block;
  line-height: 1.05 !important;
}
.spo-home-expand-panel__title-sub {
  display: block;
  margin-top: 0.62em;
  line-height: 1.2 !important;
}
.spo-home-expand-panel__title {
  margin: 0 !important;
  color: #111111 !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  /* Feedback 6: smaller panel titles */
  font-size: clamp(15px, 1.35vw, 20px) !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  text-align: left !important;
  align-self: flex-start;
  max-width: 100%;
  overflow-wrap: break-word;
}
.spo-home-expand-panel__more {
  flex: 1 1 auto;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateX(12px);
  transition:
    opacity 0.35s ease 0.05s,
    max-height 0.45s ease,
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
.spo-home-expand-panel--left .spo-home-expand-panel__more {
  transform: translateX(18px);
}
.spo-home-expand-panel--right .spo-home-expand-panel__more {
  transform: translateX(-18px);
}
.spo-home-expand-panel--both .spo-home-expand-panel__more {
  transform: translateY(10px);
}
.spo-home-expand-panel__lead,
.spo-home-expand-panel__lead p {
  margin: 0 0 14px !important;
  color: #111111 !important;
  font-size: clamp(15px, 1.2vw, 17px) !important;
  line-height: 1.55 !important;
  max-width: 34em;
  opacity: 1 !important;
}
.spo-home-expand-panel__list {
  margin: 0 !important;
  padding-left: 1.15em !important;
  color: #111111 !important;
  opacity: 1 !important;
}
.spo-home-expand-panel__list li {
  margin: 0 0 8px !important;
  font-size: clamp(14px, 1.1vw, 16px) !important;
  line-height: 1.5 !important;
  color: #111111 !important;
  opacity: 1 !important;
}
.spo-home-expand-panel__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  /* Closed: out of flow so only the title is vertically centered */
  flex: 0 0 auto;
  flex-shrink: 0;
  box-sizing: border-box;
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  margin-left: 0;
  margin-right: auto;
  margin-bottom: 0;
  /* Keep 2px border always so hover never changes outer width */
  padding: 0 18px;
  overflow: hidden;
  pointer-events: none;
  background: #f3c4cc;
  color: #111 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.04em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3;
  white-space: nowrap;
  width: max-content;
  max-width: none;
  border: 2px solid #f3c4cc;
  transform: none !important;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    opacity 0.3s ease,
    max-height 0.35s ease,
    margin-top 0.35s ease,
    padding-top 0.35s ease,
    padding-bottom 0.35s ease;
}
.spo-home-expand-panel__cta:hover,
.spo-home-expand-panel__cta:focus {
  background: #e5a8b4;
  border-color: #e5a8b4;
  border-width: 2px !important;
  color: #111 !important;
  letter-spacing: 0.04em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  transform: none !important;
  width: max-content !important;
  flex-shrink: 0 !important;
}

/* Hover / focus expand: Feedback 6 → 50 / 25 / 25 */
@media (hover: hover) and (pointer: fine) {
  .spo-home-expand-panels:hover .spo-home-expand-panel:not(:hover):not(:focus-within),
  .spo-home-expand-panels:focus-within .spo-home-expand-panel:not(:hover):not(:focus-within) {
    flex: 1 1 0;
    min-width: 11.5em;
    background: rgba(255, 255, 255, 0.58);
  }
  .spo-home-expand-panel:hover,
  .spo-home-expand-panel:focus-within {
    flex: 2 1 0;
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(17, 17, 17, 0.14);
    z-index: 2;
  }
  /* Open: pin content top → CTA bottom so the block doesn't collide with neighbors */
  .spo-home-expand-panel:hover .spo-home-expand-panel__shell,
  .spo-home-expand-panel:focus-within .spo-home-expand-panel__shell {
    justify-content: flex-start;
  }
  .spo-home-expand-panel:hover .spo-home-expand-panel__more,
  .spo-home-expand-panel:focus-within .spo-home-expand-panel__more {
    opacity: 1;
    max-height: 420px;
    margin-top: 18px;
    transform: translate(0, 0);
    pointer-events: auto;
  }
  .spo-home-expand-panel:hover .spo-home-expand-panel__cta,
  .spo-home-expand-panel:focus-within .spo-home-expand-panel__cta {
    max-height: 60px;
    opacity: 1;
    margin-top: auto;
    padding: 12px 18px;
    border-width: 2px !important;
    pointer-events: auto;
    letter-spacing: 0.04em !important;
    width: max-content;
    flex-shrink: 0;
  }
}

/* Touch / coarse pointer: tap toggles .is-open (50/25/25) */
@media (hover: none), (pointer: coarse) {
  .spo-home-expand-panel.is-open {
    flex: 2 1 0;
    background: rgba(255, 255, 255, 0.72);
    z-index: 2;
  }
  .spo-home-expand-panels:has(.is-open) .spo-home-expand-panel:not(.is-open) {
    flex: 1 1 0;
    min-width: 11.5em;
    background: rgba(255, 255, 255, 0.58);
  }
  .spo-home-expand-panel.is-open .spo-home-expand-panel__shell {
    justify-content: flex-start;
  }
  .spo-home-expand-panel.is-open .spo-home-expand-panel__more {
    opacity: 1;
    max-height: 480px;
    margin-top: 18px;
    transform: none;
    pointer-events: auto;
  }
  .spo-home-expand-panel.is-open .spo-home-expand-panel__cta {
    max-height: 60px;
    opacity: 1;
    margin-top: auto;
    padding: 12px 18px;
    border-width: 2px !important;
    pointer-events: auto;
    letter-spacing: 0.04em !important;
    width: max-content;
    flex-shrink: 0;
  }
}

@media (max-width: 900px) {
  .spo-home-expand-hero {
    min-height: 0;
    --spo-home-hero-header-clear: 88px;
  }
  .spo-home-expand-hero__intro {
    padding: 40px 20px 44px;
  }
  .spo-home-expand-hero__kicker {
    margin-bottom: 12px !important;
  }
  .spo-home-expand-hero__inner {
    padding-bottom: 0;
  }
  .spo-home-expand-panels {
    flex-direction: column;
    min-height: 0;
    gap: 10px;
    padding: 0 16px 16px;
  }
  .spo-home-expand-panel,
  .spo-home-expand-panel:first-child {
    border: 0;
    flex: 0 0 auto !important;
    background: rgba(12, 10, 8, 0.28) !important;
  }
  .spo-home-expand-panel__shell {
    padding: 22px 20px;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
  }
  .spo-home-expand-panel__title {
    max-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }
  .spo-home-expand-panel__cta {
    align-self: flex-start;
    max-height: 60px;
    opacity: 1;
    margin-top: 14px;
    padding: 12px 18px;
    border-width: 2px;
    pointer-events: auto;
  }
  .spo-home-expand-panel__more {
    opacity: 1;
    max-height: none;
    transform: none;
    pointer-events: auto;
    overflow: visible;
  }
  .spo-home-expand-hero__title {
    margin-bottom: 20px !important;
  }
}

/* ——— Home hero: team-showcase style (titles + CTA only) ——— */
.spo-home-expand-hero--showcase {
  --spo-home-hero-image: none;
  --spo-home-hero-header-clear: 168px;
  --spo-home-hero-frame: clamp(24px, 3.5vw, 48px);
  --spo-home-hero-gap: clamp(20px, 2.5vw, 36px);
  /* Tiles sit inset in sand — not full-bleed edge to edge */
  min-height: 0 !important;
  padding: calc(var(--spo-home-hero-header-clear) + var(--spo-home-hero-frame))
    var(--spo-home-hero-frame)
    var(--spo-home-hero-frame) !important;
  background: #f5f1eb !important;
  background-image: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
@media (max-width: 767px) {
  .spo-home-expand-hero--showcase {
    --spo-home-hero-header-clear: 72px;
  }
}
.spo-home-expand-hero--showcase .spo-home-expand-hero__scrim,
.spo-home-expand-hero--showcase .spo-home-expand-hero__intro {
  display: none !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panels {
  display: flex;
  flex: 0 0 auto !important;
  align-items: stretch;
  align-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  /* Slightly shorter than full viewport; sand frame shows around */
  min-height: calc(
    100vh - var(--spo-home-hero-header-clear) - (var(--spo-home-hero-frame) * 2) - 64px
  );
  max-height: calc(
    100vh - var(--spo-home-hero-header-clear) - (var(--spo-home-hero-frame) * 2) - 40px
  );
  height: calc(
    100vh - var(--spo-home-hero-header-clear) - (var(--spo-home-hero-frame) * 2) - 64px
  );
  gap: var(--spo-home-hero-gap);
}
.spo-home-expand-hero--showcase .spo-home-expand-panel {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  border: 0 !important;
  background: #ebe6de;
  color: #111;
  transition: none !important;
  cursor: pointer;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__hit {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  background: transparent;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__hit:focus {
  outline: none;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__hit:focus-visible {
  outline: 3px solid #111;
  outline-offset: -6px;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #ebe6de;
  background-image: var(--spo-panel-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
  transform: scale(1.05);
  transform-origin: center center;
  transition: transform 0.4s ease-in-out;
  will-change: transform;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.4s ease-in-out;
  pointer-events: none;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__shell {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center !important;
  align-items: stretch !important;
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  padding: clamp(36px, 6vh, 72px) clamp(26px, 2.8vw, 48px);
  background: transparent !important;
  pointer-events: none;
}
/* Title + CTA as one unit: stacked, left-aligned, vertically centered via shell.
   Equal min-heights keep main/sub/CTA on one horizontal line across panels. */
.spo-home-expand-hero--showcase .spo-home-expand-panel__cluster {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 24px;
  width: 100%;
  max-width: 100%;
  margin: 0;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__title {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 0 0 auto;
  min-width: 0;
  margin: 0 !important;
  max-width: 18em;
  color: #111 !important;
  text-align: left !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__title-main {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  /* Exactly 2 forced lines — no wrap, same height in every panel */
  min-height: calc(2 * 1.05em);
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: clamp(20px, 2.1vw, 32px) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  color: #111 !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__title-line {
  display: block;
  white-space: nowrap;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__title-sub {
  display: block;
  max-width: 18em;
  /* Reserve 3 lines for longest subtitle (GE) so subs + CTAs align */
  min-height: calc(3 * 1.3em);
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: clamp(16px, 1.35vw, 22px) !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #111 !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__more {
  display: none !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel__cta {
  position: relative;
  z-index: 2;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  flex: 0 0 auto;
  box-sizing: border-box !important;
  max-height: none !important;
  min-height: 0 !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 14px 22px !important;
  overflow: visible !important;
  pointer-events: none !important;
  width: max-content !important;
  max-width: 100%;
  white-space: normal;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.06em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
  scale: none !important;
  transition: background 0.2s ease !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel--oe .spo-home-expand-panel__cta {
  background: var(--spo-accent-oe) !important;
  color: #fff !important;
  border-color: #fff !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel--ge .spo-home-expand-panel__cta {
  background: var(--spo-accent-ge) !important;
  color: #111 !important;
  border-color: #fff !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel--pc .spo-home-expand-panel__cta {
  background: var(--spo-accent-pc) !important;
  color: #111 !important;
  border-color: #fff !important;
}
/* Hover: only color — never padding / border / letter-spacing (prevents shrink) */
.spo-home-expand-hero--showcase .spo-home-expand-panel:hover .spo-home-expand-panel__cta,
.spo-home-expand-hero--showcase .spo-home-expand-panel:focus-within .spo-home-expand-panel__cta,
.spo-home-expand-hero--showcase .spo-home-expand-panel__cta:hover,
.spo-home-expand-hero--showcase .spo-home-expand-panel__cta:focus {
  padding: 14px 22px !important;
  margin: 0 !important;
  border: 2px solid #fff !important;
  letter-spacing: 0.06em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  width: max-content !important;
  max-height: none !important;
  transform: none !important;
  scale: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel--oe:hover .spo-home-expand-panel__cta,
.spo-home-expand-hero--showcase .spo-home-expand-panel--oe:focus-within .spo-home-expand-panel__cta,
.spo-home-expand-hero--showcase .spo-home-expand-panel--oe .spo-home-expand-panel__cta:hover,
.spo-home-expand-hero--showcase .spo-home-expand-panel--oe .spo-home-expand-panel__cta:focus {
  background: #3a6a6c !important;
  color: #fff !important;
  border-color: #fff !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel--ge:hover .spo-home-expand-panel__cta,
.spo-home-expand-hero--showcase .spo-home-expand-panel--ge:focus-within .spo-home-expand-panel__cta,
.spo-home-expand-hero--showcase .spo-home-expand-panel--ge .spo-home-expand-panel__cta:hover,
.spo-home-expand-hero--showcase .spo-home-expand-panel--ge .spo-home-expand-panel__cta:focus {
  background: #c4b0d0 !important;
  color: #111 !important;
  border-color: #fff !important;
}
.spo-home-expand-hero--showcase .spo-home-expand-panel--pc:hover .spo-home-expand-panel__cta,
.spo-home-expand-hero--showcase .spo-home-expand-panel--pc:focus-within .spo-home-expand-panel__cta,
.spo-home-expand-hero--showcase .spo-home-expand-panel--pc .spo-home-expand-panel__cta:hover,
.spo-home-expand-hero--showcase .spo-home-expand-panel--pc .spo-home-expand-panel__cta:focus {
  background: #f3c9c8 !important;
  color: #111 !important;
  border-color: #fff !important;
}
/* Team-showcase hover: image settles + dim; CTA stays pinned (no expand layout) */
@media (hover: hover) and (pointer: fine) {
  .spo-home-expand-hero--showcase .spo-home-expand-panels:hover .spo-home-expand-panel,
  .spo-home-expand-hero--showcase .spo-home-expand-panels:focus-within .spo-home-expand-panel,
  .spo-home-expand-hero--showcase .spo-home-expand-panel:hover,
  .spo-home-expand-hero--showcase .spo-home-expand-panel:focus-within {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    background: #ebe6de !important;
    z-index: 1 !important;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel:hover .spo-home-expand-panel__shell,
  .spo-home-expand-hero--showcase .spo-home-expand-panel:focus-within .spo-home-expand-panel__shell {
    justify-content: center !important;
    align-items: stretch !important;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel:hover .spo-home-expand-panel__cta,
  .spo-home-expand-hero--showcase .spo-home-expand-panel:focus-within .spo-home-expand-panel__cta {
    padding: 14px 22px !important;
    margin: 0 !important;
    border: 2px solid #fff !important;
    letter-spacing: 0.06em !important;
    font-size: 13px !important;
    max-height: none !important;
    opacity: 1 !important;
    transform: none !important;
    width: max-content !important;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel:hover .spo-home-expand-panel__media,
  .spo-home-expand-hero--showcase .spo-home-expand-panel:focus-within .spo-home-expand-panel__media {
    transform: scale(1);
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel:hover .spo-home-expand-panel__media::after,
  .spo-home-expand-hero--showcase .spo-home-expand-panel:focus-within .spo-home-expand-panel__media::after {
    /* Light wash — not a dark dim */
    background: rgba(255, 255, 255, 0.28);
  }
}
@media (hover: none), (pointer: coarse) {
  .spo-home-expand-hero--showcase .spo-home-expand-panel.is-open .spo-home-expand-panel__shell {
    justify-content: center !important;
    align-items: stretch !important;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel.is-open .spo-home-expand-panel__cta {
    max-height: none !important;
    opacity: 1 !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 14px 22px !important;
    transform: none !important;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel.is-open .spo-home-expand-panel__media {
    transform: scale(1);
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel.is-open .spo-home-expand-panel__media::after {
    background: rgba(255, 255, 255, 0.28);
  }
}
@media (max-width: 991px) {
  .spo-home-expand-hero--showcase {
    --spo-home-hero-header-clear: 72px;
    --spo-home-hero-frame: 20px;
    --spo-home-hero-gap: 16px;
    min-height: 0 !important;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panels {
    flex-direction: column;
    min-height: 0;
    max-height: none;
    height: auto;
    gap: var(--spo-home-hero-gap);
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel {
    min-height: min(64vh, 560px);
    height: auto;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__shell {
    padding: 28px 22px 28px;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__cluster {
    gap: 16px;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__title {
    max-width: 18em;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__title-main {
    font-size: clamp(22px, 5.5vw, 28px) !important;
  }
}

/* Legacy tile styles kept harmless if old markup remains */
.spo-home-hero-title {
  padding-top: 72px !important;
  padding-bottom: 12px !important;
}
.spo-home-hero-title .vc_custom_heading {
  letter-spacing: 0.02em;
}
.spo-home-hero.spo-home-hero-tiles.wpb_row,
.spo-home-hero.spo-home-hero-tiles.vc_row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  overflow: visible !important;
}
.spo-home-hero-tile {
  float: none !important;
  width: 33.333% !important;
  max-width: 33.333% !important;
  flex: 0 0 33.333% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.spo-home-hero-tile > .vc_column-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.spo-home-hero-tile .wpb_wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
}
.spo-home-hero-tile-img,
.spo-home-hero-tile .wpb_single_image {
  margin: 0 !important;
}
.spo-home-hero-tile-img img,
.spo-home-hero-tile .wpb_single_image img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block;
}
.spo-home-hero-tile-title,
.spo-home-hero-tile h3.vc_custom_heading {
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-size: clamp(18px, 1.6vw, 22px) !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  min-height: 2.6em;
}
.spo-home-hero-tile-body p {
  margin: 0 0 12px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #333 !important;
}
.spo-home-hero-tile-body ul {
  margin: 0 0 8px !important;
  padding-left: 1.1em !important;
}
.spo-home-hero-tile-body li {
  margin: 0 0 6px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #444 !important;
}
.spo-home-hero-tile .spo-cta,
.spo-home-hero-tile .vc_btn3-container {
  margin-top: auto !important;
  padding-top: 8px;
}
.spo-home-hero-tile .spo-cta .vc_btn3,
.spo-home-hero-tile .spo-cta a.vc_general,
.spo-home-hero-tile .spo-cta-dark .vc_btn3,
.spo-home-hero-tile .spo-cta-dark a.vc_general {
  background-color: #f3c4cc !important;
  border-color: #f3c4cc !important;
  color: #111111 !important;
  white-space: normal !important;
  height: auto !important;
  line-height: 1.3 !important;
  padding: 12px 18px !important;
}
.spo-home-hero-tile .spo-cta .vc_btn3:hover,
.spo-home-hero-tile .spo-cta-dark .vc_btn3:hover {
  background-color: #e5a8b4 !important;
  border-color: #e5a8b4 !important;
  color: #111111 !important;
}
@media (max-width: 991px) {
  .spo-home-hero.spo-home-hero-tiles.wpb_row,
  .spo-home-hero.spo-home-hero-tiles.vc_row {
    flex-wrap: wrap !important;
  }
  .spo-home-hero-tile {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-bottom: 28px;
  }
  .spo-home-hero-tile-img img,
  .spo-home-hero-tile .wpb_single_image img {
    height: 240px !important;
  }
  .spo-home-hero-tile-title,
  .spo-home-hero-tile h3.vc_custom_heading {
    min-height: 0;
  }
}
@media (max-width: 767px) {
  .spo-home-hero-title {
    padding-top: 40px !important;
  }
}


/* ——— Legal pages (Impressum / Datenschutz / AGB) ——— */
.spo-legal {
  max-width: 820px;
  margin: 0 auto;
  padding: 24px 0 48px;
  line-height: 1.65;
  color: #222;
}
.spo-legal h1 {
  font-size: 2rem;
  margin: 0 0 1.25rem;
  line-height: 1.25;
}
.spo-legal h2 {
  font-size: 1.25rem;
  margin: 2rem 0 0.75rem;
  line-height: 1.3;
}
.spo-legal h3 {
  font-size: 1.05rem;
  margin: 1.5rem 0 0.5rem;
  line-height: 1.35;
}
.spo-legal p,
.spo-legal ul {
  margin: 0 0 0.85rem;
}
.spo-legal ul {
  padding-left: 1.25rem;
}
.spo-legal li {
  margin: 0 0 0.35rem;
}
.spo-legal a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}


/* ——— Feedback 5: package price lines, logos, bausteine, refs ——— */
.spo-price-card .spo-price-amount {
  text-align: center !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
}
.spo-price-card .spo-price-line {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 8px !important;
  line-height: 1.4 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.spo-price-card .spo-price-line--total {
  margin-top: 4px !important;
  padding-top: 8px !important;
  border-top: 1px solid #e8e8e8;
  font-size: 16px !important;
  width: auto !important;
  min-width: 60%;
}
/* Module tier prices: divider after the single-session line, not before the last package */
.spo-price-card .spo-price-line--unit {
  padding-bottom: 8px !important;
  margin-bottom: 4px !important;
  border-bottom: 1px solid #e8e8e8;
  width: auto !important;
  min-width: 60%;
}
.spo-price-card .spo-price-amount:has(.spo-price-line--unit) .spo-price-line--total {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  font-size: 14px !important;
}
.spo-bau-no-icons .ult_tabmenu.style3 .ult_tab_li a,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a {
  justify-content: center !important;
  text-align: center !important;
}
.spo-bau-no-icons .ult_tabmenu.style3 .ult-span-text,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult-span-text {
  display: block !important;
  text-align: center !important;
  width: 100%;
}
.spo-bausteine-tabs .spo-bau-tab-heading,
.spo-bausteine-tabs .spo-bau-tab-under {
  text-align: center !important;
  max-width: 40em;
  margin-left: auto !important;
  margin-right: auto !important;
}
.spo-bausteine-tabs .spo-bau-tab-body,
.spo-bausteine-tabs .spo-bau-tab-body p {
  text-align: center !important;
  max-width: 42em;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Stack title + body as one centered column under the tabs (OE packages layout) */
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname > .vc_row_inner,
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname > .wpb_row,
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname > .vc_row,
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row.vc_inner,
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row.vc_row-flex {
  display: flex !important;
  flex-direction: column !important;
  flex-flow: column nowrap !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row_inner > .wpb_column,
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row_inner > .vc_column_inner,
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row_inner > .vc_column_container,
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row.vc_inner > .wpb_column,
.spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row.vc_inner > .vc_column_container {
  float: none !important;
  width: 100% !important;
  max-width: 42em !important;
  flex: 0 0 auto !important;
  text-align: center !important;
}
.spo-services-scroll .spo-scroll-body ul,
.spo-services-scroll-mobile .spo-scroll-body ul,
.spo-bau-tab-list ul,
.spo-price-details .vc_toggle_content ul {
  margin: 0.4em 0 0.6em !important;
  padding-left: 1.15em !important;
}
.spo-services-scroll .spo-scroll-body li,
.spo-services-scroll-mobile .spo-scroll-body li,
.spo-bau-tab-list li,
.spo-price-details .vc_toggle_content li {
  margin: 0 0 0.2em !important;
  padding: 0 !important;
  line-height: 1.45 !important;
}
.spo-pc-werte-cols {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 20px;
}
.spo-pc-werte-cols > .vc_column_inner,
.spo-pc-werte-cols > .wpb_column,
.spo-pc-werte-cols > .vc_column_container {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
.spo-pc-werte-cols .spo-wert-card,
.spo-pc-hintergrund-werte .spo-wert-card {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 150px;
  display: flex !important;
  flex-direction: column !important;
}
.spo-pc-werte-cols .spo-wert-card > .ult-content-box {
  flex: 1 1 auto !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.spo-pc-quotes .wpb_column,
.spo-quotes .testimonials {
  /* slightly tighter horizontal feel */
}
.spo-ge-refs,
.spo-pc-refs,
.spo-refs {
  /* half spacing handled in builders; keep floor */
}
.spo-highlight-box,
.spo-promise-box {
  background: #f3c4cc !important;
  color: #111 !important;
  padding: 36px 40px !important;
  border-radius: 2px;
  margin: 22px 0 28px !important;
  box-sizing: border-box;
}
body.page-id-8362 .spo-disclaimer .spo-highlight-box,
body.page-id-8362 .spo-highlight-box,
body.page-post-covid-me-cfs .spo-disclaimer .spo-highlight-box,
body.page-post-covid-me-cfs .spo-highlight-box {
  background: var(--spo-page-accent, var(--spo-accent-pc, #ebafae)) !important;
}
.spo-highlight-box p,
.spo-promise-box p {
  margin: 0 !important;
  color: #111 !important;
  font-size: 1.08em !important;
  line-height: 1.45 !important;
}
.spo-about-intro-on-image {
  padding-top: 36px !important;
  padding-bottom: 64px !important;
}
.spo-about-intro-on-image .spo-about-intro-text {
  max-width: 36em;
  margin-left: auto;
  margin-right: auto;
}
.spo-about-werte .spo-no-afd img {
  max-width: 120px;
  height: auto;
}

/* Bausteine: equal-width tab labels in one row */
.spo-bausteine-tabs .ult_tabmenu.style3 {
  justify-content: stretch !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  /* Kill Ultimate Tabs’ wide side padding that leaves white gaps between icons */
  padding-left: 4px !important;
  padding-right: 4px !important;
  padding-top: 0 !important;
  padding-bottom: 16px !important;
}
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li .ult_tab_icon,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li .aio-icon {
  margin-left: auto !important;
  margin-right: auto !important;
}
.spo-about-bausteine-tabs .ult_tabmenu.style3 .aio-icon i,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_icon {
  display: none !important;
  visibility: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
.spo-about-bausteine-tabs .ult_tabmenu.style3 {
  border-bottom: 1px solid #e5e5e5 !important;
  width: max-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  /* One row; labels stay on a single line when space allows */
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 0 8px !important;
}
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}
/* Readable under-icon titles — prefer one line, no forced wrap */
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult-span-text {
  text-transform: none !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  max-width: none !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.spo-about-bausteine-tabs .ult_tabmenu.style3::before,
.spo-about-bausteine-tabs .ult_tabmenu.style3::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
/* Kill theme Style_3 separators / underline plates on About tabs (esp. WERTE stick) */
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li,
.spo-about-bausteine-tabs .ult_tabmenu.style3 > li.ult_tab_li,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a,
.spo-about-bausteine-tabs .ult_tabmenu.style3 > li.ult_tab_li a {
  border: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  white-space: nowrap !important;
}
.spo-about-bausteine-tabs .ult_tabmenu.style3 > li.ult_tab_li:before,
.spo-about-bausteine-tabs .ult_tabmenu.style3 > li.ult_tab_li:after,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li::before,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li::after,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a::before,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a::after,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li:last-child::before,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li:last-child::after,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li:last-child a::before,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li:last-child a::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
}
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current,
.spo-about-bausteine-tabs .ult_tabmenu.style3 > li.current,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current:hover,
.spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current:focus,
.spo-about-bausteine-tabs .ult_tabmenu.style3 > li.current:hover,
.spo-about-bausteine-tabs .ult_tabmenu.style3 > li.current:focus {
  border: 0 !important;
  border-bottom: 3px solid #010101 !important;
  background: transparent !important;
}
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current:hover,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current:focus,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current a,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current:hover a,
.spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current:focus a {
  border-bottom-color: #010101 !important;
}
.spo-about-bausteine-tabs .ult_tabmenu.style3 .aio-icon {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  overflow: hidden !important;
}
/* Duplicate of active tab label — hide sitewide */
.spo-bau-tab-under,
.spo-bausteine-tabs .spo-bau-tab-under {
  display: none !important;
}
.spo-bausteine-tabs .spo-bau-tab-heading {
  font-weight: 400 !important;
  margin: 0 !important;
  text-align: center !important;
}
/* About tab titles — same uppercase tracking as OE */
.spo-about-bausteine-tabs.spo-bausteine-tabs .spo-bau-tab-heading,
.spo-about-bausteine-tabs .spo-bau-tab-heading {
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  font-weight: 400 !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 40em !important;
}
.spo-about-bausteine-tabs.spo-bausteine-tabs .spo-bau-tab-body,
.spo-about-bausteine-tabs.spo-bausteine-tabs .spo-bau-tab-body p,
.spo-about-bausteine-tabs .spo-bau-tab-body,
.spo-about-bausteine-tabs .spo-bau-tab-body p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 42em !important;
}
.spo-bausteine .spo-bau-eyebrow {
  text-align: center !important;
  margin: 0 0 8px !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* OE package cards: Situation / Ablauf / Ergebnis accent bars */
.spo-price-card .spo-price-stack {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.spo-price-card .spo-price-eyebrow {
  margin: 0 0 6px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  color: #9a9a9a !important;
}
.spo-price-card .spo-price-situation-lead {
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #111 !important;
}
.spo-price-card .spo-price-block--ablauf,
.spo-price-card .spo-price-block--ergebnis {
  padding-left: 14px;
  border-left: 2px solid #333;
}
.spo-price-card .spo-price-block--ergebnis {
  border-left-color: #b05b48;
}
.spo-price-card .spo-price-block-body {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #222 !important;
  font-weight: 400 !important;
}

/* OE module price bar — force readable contrast on dark box */
.spo-modules-price .ult-content-box,
.spo-modules-price .ult-content-box .wpb_text_column,
.spo-modules-price .ult-content-box .wpb_wrapper,
.spo-modules-price .ult-content-box p {
  color: #ffffff !important;
}
.spo-modules-price .spo-mod-price-lines {
  color: #ffffff !important;
}
.spo-modules-price .spo-mod-price-lines p {
  color: #ffffff !important;
  margin: 0 0 6px !important;
}
.spo-modules-price .spo-mod-price-lines p:last-child {
  margin-bottom: 0 !important;
}
.spo-modules-price .spo-mod-price-lines strong {
  color: #8fbf7a !important;
  font-weight: 700 !important;
}

/* About — Hamburg: text fills column up to the photo (no 34em cap gap) */
.spo-about-hamburg .spo-split-txt .wpb_wrapper {
  max-width: none !important;
  width: 100%;
}
.spo-about-hamburg .spo-split-txt > .vc_column-inner {
  padding-right: clamp(24px, 4%, 40px) !important;
}
/* About — Hamburg tighter side padding + split typography */
.spo-about-hamburg .spo-split-small {
  margin: 0 0 16px !important;
}
.spo-about-hamburg .spo-split-big,
.spo-about-hamburg .spo-split-small {
  margin: 0 0 16px !important;
  font-size: 1em !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #333333 !important;
}

/* About Name / insight — match GC postcovid frame */
.spo-about-insight .spo-postcovid-frame,
.spo-about-insight.spo-postcovid-cta .spo-postcovid-frame {
  border: 1px solid #111 !important;
  background: #fff !important;
  padding: 48px 40px !important;
  box-sizing: border-box;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.spo-about-insight .spo-postcovid-frame h2.vc_custom_heading,
.spo-about-insight .spo-postcovid-frame h3.vc_custom_heading {
  margin: 0 0 8px !important;
  text-align: center !important;
}
.spo-about-insight .spo-insight-quote p {
  text-align: center !important;
  font-size: 1.05em !important;
  line-height: 1.65 !important;
  max-width: 38em;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 767px) {
  .spo-about-insight .spo-postcovid-frame,
  .spo-about-insight.spo-postcovid-cta .spo-postcovid-frame,
  .spo-postcovid-cta .spo-postcovid-frame,
  .spo-pc-hg-united .spo-pc-hg-frame.spo-postcovid-frame,
  .spo-pc-hg-united .ult-content-box-container.spo-pc-hg-frame {
    padding: 40px 24px !important;
  }
  .spo-pc-hg-united .spo-pc-werte-list {
    padding: 28px 20px !important;
    gap: 12px !important;
  }
  .spo-highlight-box,
  .spo-promise-box {
    padding: 28px 22px !important;
  }
}
/* About INQA/BAFA — inset framed callout (same chrome as Name / GE Post COVID) */
.spo-about-inqa-cta.spo-postcovid-cta .spo-postcovid-frame,
.spo-about-inqa-cta .ult-content-box-container.spo-postcovid-frame {
  border: 1px solid #111 !important;
  background: #fff !important;
  padding: 48px 40px !important;
  box-sizing: border-box;
  max-width: 920px;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
}
.spo-about-inqa-cta .spo-vision-title,
.spo-about-inqa-cta .spo-about-inqa-title,
.spo-about-inqa-cta .spo-postcovid-title {
  max-width: 18em;
  margin: 0 auto !important;
  text-align: center !important;
  text-transform: none !important;
  color: #111111 !important;
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-weight: 600 !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}
.spo-about-inqa-cta .spo-about-inqa-title + .ult-spacer,
.spo-about-inqa-cta .spo-postcovid-title + .ult-spacer,
.spo-about-inqa-cta .spo-about-inqa-title + .ultimate-spacer {
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
}
.spo-about-inqa-cta .spo-about-inqa-body {
  max-width: 38em;
  margin-left: auto;
  margin-right: auto;
}
.spo-about-inqa-cta .spo-about-inqa-lead {
  margin: 0 0 1.1em !important;
  color: #111111 !important;
  font-size: clamp(15px, 1.15vw, 17px) !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  text-align: center !important;
}
.spo-about-inqa-cta .spo-about-inqa-list {
  margin: 0 auto !important;
  padding-left: 1.25em !important;
  list-style: disc !important;
  color: #111111 !important;
  max-width: 36em;
  text-align: left !important;
}
.spo-about-inqa-cta .spo-about-inqa-list li {
  margin: 0 0 0.85em !important;
  color: #111111 !important;
  font-size: clamp(15px, 1.15vw, 17px) !important;
  line-height: 1.6 !important;
}
.spo-about-inqa-cta .spo-about-inqa-body a,
.spo-about-inqa-cta .spo-about-inqa-list a {
  color: var(--spo-page-accent, #437542) !important;
  text-decoration: underline;
}
.spo-about-inqa-cta .spo-about-inqa-body a:hover,
.spo-about-inqa-cta .spo-about-inqa-list a:hover {
  color: #111111 !important;
}
@media (max-width: 767px) {
  .spo-about-inqa-cta.spo-postcovid-cta .spo-postcovid-frame,
  .spo-about-inqa-cta .ult-content-box-container.spo-postcovid-frame {
    padding: 32px 22px !important;
  }
  .spo-about-inqa-cta .spo-vision-title,
  .spo-about-inqa-cta .spo-about-inqa-title,
  .spo-about-inqa-cta .spo-postcovid-title {
    font-size: clamp(20px, 5.5vw, 26px) !important;
    max-width: none;
  }
}

/* PC Zusammenarbeit: two mirrored 50/50 rows (A: photo left; B: photo right) */
.spo-pc-zusammenarbeit .spo-promise-box {
  margin-top: 18px !important;
}

/* PC testimonials — more horizontal gutter */
.spo-pc-quotes > .wpb_column,
.spo-pc-quotes .vc_column_container {
  padding-left: 18px !important;
  padding-right: 18px !important;
}
@media (min-width: 992px) {
  .spo-pc-quotes > .wpb_column,
  .spo-pc-quotes .vc_column_container {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}

/* Sitewide dark-split hierarchy */
.spo-split-50 .spo-split-sub + .ult-spacer,
.spo-split-50 .spo-split-sub {
  margin-bottom: 0 !important;
}
.spo-split-50 .spo-split-title {
  margin: 0 0 0.35em !important;
  font-weight: 600 !important;
}
.spo-split-50 .spo-split-small {
  display: block;
  margin: 0 0 0.9em !important;
  color: #333333 !important;
  font-size: 1em !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}
/* Uniform body inside sand splits */
.spo-split-50 .spo-split-big,
.spo-split-50 .spo-highlight-line,
.spo-split-50 .spo-split-txt .wpb_text_column p,
.spo-split-50 .spo-split-txt .wpb_text_column li,
.spo-split-50 .spo-promise-box,
.spo-split-50 .spo-promise-box p {
  display: block;
  margin: 0 0 0.9em !important;
  color: #333333 !important;
  font-size: 1em !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}
.spo-split-50 .spo-split-txt strong,
.spo-split-50 .spo-split-txt b,
.spo-split-50 .spo-highlight-line strong,
.spo-split-50 .spo-promise-box strong {
  font-weight: 400 !important;
  color: inherit !important;
}
/* Body lists in split panels — same type as surrounding paragraph text */
.spo-dark-list,
.spo-split-50 .spo-dark-list,
.spo-split-50 .spo-split-txt .wpb_text_column ul.spo-dark-list {
  list-style: disc !important;
  list-style-position: outside !important;
  margin: 1.15em 0 1.4em !important;
  padding: 0 0 0 1.25em !important;
  max-width: none;
  text-align: left;
  color: #333333 !important;
  font-size: 1em !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}
.spo-dark-list li,
.spo-split-50 .spo-dark-list li,
.spo-split-50 .spo-split-txt .wpb_text_column ul.spo-dark-list li {
  position: static !important;
  display: list-item !important;
  /* Feedback 6: ~50% tighter bullet spacing (all pages with this element) */
  margin: 0 0 0.38em !important;
  padding: 0 !important;
  color: #333333 !important;
  font-size: 1em !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}
.spo-dark-list li:last-child,
.spo-split-50 .spo-dark-list li:last-child {
  margin-bottom: 0 !important;
}
.spo-dark-list li::marker,
.spo-split-50 .spo-dark-list li::marker {
  color: #333333 !important;
  font-weight: 400 !important;
}
.spo-dark-list li::before,
.spo-split-50 .spo-dark-list li::before {
  content: none !important;
  display: none !important;
}
/* Tighter gap under dark-split H2 before body copy */
.spo-split-50 .spo-split-heading + .ult-spacer,
.spo-split-50 .spo-split-heading + .ultimate-spacer,
.spo-split-50 .wpb_wrapper > .spo-split-heading + .ult-spacer,
.spo-split-50 .wpb_wrapper > .wpb_text_column.spo-split-heading + .ult-spacer {
  height: 12px !important;
  min-height: 12px !important;
  max-height: 12px !important;
}
.spo-split-50 .spo-split-heading + .ult-spacer > .ult-spacer,
.spo-split-50 .spo-split-heading + .ult-spacer .ultimate-spacer {
  height: 12px !important;
  min-height: 12px !important;
}
.spo-oe-hamburg .spo-split-txt > .vc_column-inner,
.spo-pc-zusammenarbeit .spo-split-txt > .vc_column-inner,
.spo-ge-hamburg .spo-split-txt > .vc_column-inner,
.spo-ge-einziger .spo-split-txt > .vc_column-inner,
.spo-home-about-split .spo-split-txt > .vc_column-inner,
.spo-home-collab-split .spo-split-txt > .vc_column-inner,
.spo-oe-aufgaben .spo-split-txt > .vc_column-inner {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
.spo-about-hamburg .spo-split-txt > .vc_column-inner {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

/* Feedback 6: only the OLD contact-logos strip may be tighter — never the OE-copied block */
body.page-id-8359 .spo-home-services-hero-row ~ .spo-home-logos.spo-home-contact-logos:not(.spo-oe-logos),
body.home .spo-home-services-hero-row ~ .spo-home-logos.spo-home-contact-logos:not(.spo-oe-logos) {
  padding-top: 36px !important;
  padding-bottom: 28px !important;
  background-color: #f4f4f4 !important;
}

/* Feedback 6 override (Startseite): keep contact logos strip height like OE */
body.home .spo-home-contact-logos:not(.spo-oe-logos) {
  padding-top: 48px !important;
  padding-bottom: 104px !important;
  margin-bottom: 0 !important;
  background-color: #f4f4f4 !important;
  overflow: hidden !important;
}
/* Home customer logos — match OE strip size */
body.home .spo-home-logos .spo-logo-list,
body.home .spo-home-contact-logos .spo-logo-list,
body.page-id-8359 .spo-home-logos .spo-logo-list,
body.page-id-8359 .spo-home-contact-logos .spo-logo-list {
  padding-left: 1vw !important;
  padding-right: 1vw !important;
}
body.home .spo-home-logos .spo-logo-item img,
body.home .spo-home-contact-logos .spo-logo-item img,
body.page-id-8359 .spo-home-logos .spo-logo-item img,
body.page-id-8359 .spo-home-contact-logos .spo-logo-item img {
  height: 56px !important;
}
@media (max-width: 767px) {
  body.home .spo-home-logos .spo-logo-item img,
  body.home .spo-home-contact-logos .spo-logo-item img,
  body.page-id-8359 .spo-home-logos .spo-logo-item img,
  body.page-id-8359 .spo-home-contact-logos .spo-logo-item img {
    height: 42px !important;
  }
}

/* Feedback 6: mobile nav — slightly smaller long labels */
@media (max-width: 991px) {
  .dl-menuwrapper .dl-menu a[href*="gesundheitscoaching"],
  .navbar-nav a[href*="gesundheitscoaching"],
  #nav-wrap a[href*="gesundheitscoaching"] {
    font-size: 0.9em !important;
    letter-spacing: 0.02em !important;
  }
}

/* Page eyebrow / SEO H1 — same accent as page CTAs */
body.page-id-8360 .spo-hero-lead,
body.page-id-8360 .spo-seo-h1,
body.page-id-8360 .spo-split-sub,
body.page-organisationsentwicklung .spo-hero-lead,
body.page-organisationsentwicklung .spo-seo-h1,
body.page-organisationsentwicklung .spo-split-sub {
  color: var(--spo-accent-oe, #285052) !important;
}
body.page-id-8361 .spo-hero-lead,
body.page-id-8361 .spo-seo-h1,
body.page-id-8361 .spo-split-sub,
body.page-gesundheitscoaching .spo-hero-lead,
body.page-gesundheitscoaching .spo-seo-h1,
body.page-gesundheitscoaching .spo-split-sub {
  color: var(--spo-accent-ge, #ae91be) !important;
}
body.page-id-8362 .spo-hero-lead,
body.page-id-8362 .spo-seo-h1,
body.page-id-8362 .spo-split-sub,
body.page-post-covid-me-cfs .spo-hero-lead,
body.page-post-covid-me-cfs .spo-seo-h1,
body.page-post-covid-me-cfs .spo-split-sub {
  color: var(--spo-accent-pc, #ebafae) !important;
}
body.page-id-8362 .spo-hero-row .spo-seo-h1,
body.page-id-8362 .spo-hero-row .spo-hero-lead,
body.page-post-covid-me-cfs .spo-hero-row .spo-seo-h1,
body.page-post-covid-me-cfs .spo-hero-row .spo-hero-lead {
  color: var(--spo-accent-pc-text, #d48c8b) !important;
}
body.page-id-8363 .spo-hero-lead,
body.page-id-8363 .spo-seo-h1,
body.page-id-8363 .spo-split-sub,
body.page-ueber-mich .spo-hero-lead,
body.page-ueber-mich .spo-seo-h1,
body.page-ueber-mich .spo-split-sub {
  color: var(--spo-accent-am, #f17912) !important;
}

/* Feedback 6: OE package cards — page accent labels + more gap */
body.page-id-8360 .spo-price-ibox,
body.page-id-8360 .spo-price-card .spo-price-ibox,
body.page-id-8360 .ult_pricing_table .ult_pricing_heading,
body.page-id-8360 .spo-price-card h3.vc_custom_heading {
  color: var(--spo-page-accent, var(--spo-accent-oe)) !important;
}
body.page-id-8360 .spo-price-paket,
body.page-id-8360 .spo-price-card .spo-price-paket {
  color: var(--spo-page-accent, var(--spo-accent-oe)) !important;
}
body.page-id-8360 .spo-price-row,
body.page-id-8360 .spo-packages,
body.page-id-8360 .vc_row.spo-packages {
  column-gap: 28px;
}
body.page-id-8360 .spo-price-card,
body.page-id-8360 .ult_pricing_table {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

/* PC Werte lead stays sentence-case body copy inside the Hintergrund block */
.spo-pc-hg-united .spo-pc-hg-werte-heading {
  margin: 0 0 1.15em !important;
  font-size: 1.05em !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  color: #333 !important;
}
.spo-pc-hg-united .spo-pc-hg-title {
  font-size: clamp(28px, 3.2vw, 42px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

/* Feedback 6: OE bausteine tab titles (moved up from content) */
body.page-id-8360 .spo-bausteine .ult_tabmenu li a,
body.page-id-8360 .spo-bausteine .ult_tab_link {
  font-size: 12px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  max-width: 9.5em;
  text-align: center;
}

/* Feedback 6: OE quotes — auto height, contain bleed into logos */
body.page-id-8360 .spo-oe-quotes.spo-quotes,
body.page-id-8360 .spo-quotes.spo-oe-quotes {
  overflow: hidden !important;
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 48px !important;
}
body.page-id-8360 .spo-oe-quotes > .wpb_column,
body.page-id-8360 .spo-oe-quotes > .vc_column_container,
body.page-id-8360 .spo-oe-quotes .vc_column-inner,
body.page-id-8360 .spo-oe-quotes .wpb_wrapper,
body.page-id-8360 .spo-oe-quotes .testimonials-style2,
body.page-id-8360 .spo-oe-quotes .testimonials-style2 .slick-slider {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
}
body.page-id-8360 .spo-oe-quotes .vc_column-inner,
body.page-id-8360 .spo-oe-quotes .wpb_wrapper,
body.page-id-8360 .spo-oe-quotes .testimonials-style2 {
  overflow: visible !important;
}
body.page-id-8360 .spo-oe-quotes .testimonials-style2 .slick-list {
  overflow: hidden !important;
  height: auto !important;
}
body.page-id-8360 .spo-oe-quotes .testimonials-style2 .slick-track {
  display: flex !important;
  align-items: stretch !important;
  height: auto !important;
}
body.page-id-8360 .spo-oe-quotes .testimonials-style2 .slick-slide {
  height: auto !important;
  float: none !important;
  max-width: 100% !important;
}
body.page-id-8360 .spo-oe-quotes .testimonials-style2 .testimonials-slide-content,
body.page-id-8360 .spo-oe-quotes .testimonials-style2 .testimonilas1bg {
  height: auto !important;
  min-height: 0;
  max-width: 48em !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* OE + Home logo strip — same padding (48/48); no white gap under the grey band */
body.page-id-8360 .spo-oe-logos.spo-logos,
body.page-id-8360 .spo-oe-logos,
body.home .spo-oe-logos.spo-logos,
body.home .spo-oe-logos,
body.page-id-8359 .spo-oe-logos.spo-logos,
body.page-id-8359 .spo-oe-logos {
  background-color: #f4f4f4 !important;
  padding-top: 48px !important;
  padding-bottom: 48px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  clear: both !important;
  position: relative !important;
  z-index: 2;
}
/* Kill generic .spo-logos { margin-bottom: 56px } white strip under Home/OE logos */
body.home .spo-logos.spo-oe-logos.wpb_row,
body.home .spo-logos.spo-oe-logos.vc_row,
body.page-id-8359 .spo-logos.spo-oe-logos.wpb_row,
body.page-id-8359 .spo-logos.spo-oe-logos.vc_row,
body.page-id-8360 .spo-logos.spo-oe-logos.wpb_row,
body.page-id-8360 .spo-logos.spo-oe-logos.vc_row {
  margin-bottom: 0 !important;
}
body.page-id-8360 .spo-oe-logos .spo-logo-list,
body.home .spo-oe-logos .spo-logo-list,
body.page-id-8359 .spo-oe-logos .spo-logo-list {
  padding-left: 1vw !important;
  padding-right: 1vw !important;
  max-width: none !important;
  width: 100% !important;
}
body.page-id-8360 .spo-oe-logos .spo-logo-item img,
body.home .spo-oe-logos .spo-logo-item img,
body.page-id-8359 .spo-oe-logos .spo-logo-item img {
  height: 56px !important;
}
@media (max-width: 767px) {
  body.page-id-8360 .spo-oe-logos .spo-logo-item img,
  body.home .spo-oe-logos .spo-logo-item img,
  body.page-id-8359 .spo-oe-logos .spo-logo-item img {
    height: 42px !important;
  }
}

/* Package / module section breathing — not flush with neighbors */
body .spo-pricing-head.vc_row,
body .vc_custom_spo_ph.vc_row,
body .spo-modules-head.vc_row,
body .vc_custom_spo_modhead.vc_row,
.wpb_row.spo-pricing-head,
.wpb_row.vc_custom_spo_ph,
.wpb_row.spo-modules-head,
.wpb_row.vc_custom_spo_modhead {
  padding-top: 112px !important;
  padding-bottom: 48px !important;
}

/* OE: Leistungspakete + Weitere Module on site sand */
body.page-id-8360 .spo-oe-logos.spo-logos,
body.page-id-8360 .spo-oe-logos {
  margin-bottom: 0 !important;
}
body.page-id-8360 .spo-pricing-head,
body.page-id-8360 .spo-pricing-grid,
body.page-id-8360 .spo-modules-head,
body.page-organisationsentwicklung .spo-pricing-head,
body.page-organisationsentwicklung .spo-pricing-grid,
body.page-organisationsentwicklung .spo-modules-head {
  background: #f5f1eb !important;
  background-color: #f5f1eb !important;
  box-shadow: -50vw 0 0 0 #f5f1eb, 50vw 0 0 0 #f5f1eb;
}
body .vc_custom_spo_morepak.vc_row,
.wpb_row.vc_custom_spo_morepak,
div.vc_row.vc_custom_spo_morepak {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
body .spo-pricing-grid.wpb_row,
body .spo-pricing-grid.vc_row {
  padding-bottom: 24px !important;
}
body .spo-pricing-grid.spo-modules.wpb_row,
body .spo-pricing-grid.spo-modules.vc_row {
  padding-bottom: 16px !important;
}

/* Feedback 6: OE INQA framed callout spacing */
body.page-id-8360 .spo-oe-inqa-cta {
  padding-top: 100px !important;
  padding-bottom: 72px !important;
}

/* OE: FAQ → Kontakt were stuck together (VC stripped row padding) */
body.page-id-8360 .spo-faq.vc_row,
body.page-id-8360 .spo-faq {
  padding-top: 40px !important;
  padding-bottom: 72px !important;
  margin-bottom: 0 !important;
  clear: both !important;
}
body.page-id-8360 #kontakt.spo-kontakt,
body.page-id-8360 .spo-kontakt.vc_row,
body.page-id-8360 .vc_custom_spo_kontakt {
  padding-top: 72px !important;
  padding-bottom: 100px !important;
  clear: both !important;
}
body.page-id-8360 .spo-kontakt-intro,
body.page-id-8360 .spo-kontakt-intro p {
  margin: 0 0 28px !important;
}
body.page-id-8360 .spo-kontakt .wpcf7 label {
  margin: 0 0 16px !important;
}




/* Feedback 6: remove AfD graphic if residual */
.spo-no-afd,
.spo-no-afd img {
  display: none !important;
}
body.page-id-8363 .spo-about-tab-body ul {
  margin: 0 !important;
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  text-align: center !important;
}
body.page-id-8363 .spo-about-tab-body li {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: auto !important;
  text-align: center !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400 !important;
}
body.page-id-8363 .spo-about-tab-body p:has(+ ul) {
  margin-bottom: 0 !important;
}
body.page-id-8363 .spo-about-tab-body ul + p {
  margin-top: 1em !important;
}
body.page-id-8363 .spo-about-tab-body,
body.page-id-8363 .spo-about-tab-body p {
  font-weight: 400 !important;
  color: #4a4a4a !important;
  text-align: center !important;
}
body.page-id-8363 .spo-about-tab-body ul,
body.page-id-8363 .spo-about-tab-body li {
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #4a4a4a !important;
  text-align: center !important;
}
body.page-id-8363 .spo-about-bausteine-tabs .spo-bau-tab-heading {
  text-align: center !important;
  font-weight: 400 !important;
  font-size: 28px !important;
}

/* About: tighten gap between Bausteine tabs and „Woher kommt der Name spoonie?“ */
body.page-id-8363 .spo-about-bausteine.spo-bausteine,
body.page-id-8363 .spo-about-bausteine.vc_custom_spo_bau,
body.page-ueber-mich .spo-about-bausteine.spo-bausteine,
body.page-ueber-mich .spo-about-bausteine.vc_custom_spo_bau {
  padding-bottom: 8px !important;
}
body.page-id-8363 .spo-about-bausteine-tabs.spo-bausteine-tabs,
body.page-id-8363 .spo-about-bausteine-tabs.vc_custom_spo_bautabs,
body.page-ueber-mich .spo-about-bausteine-tabs.spo-bausteine-tabs,
body.page-ueber-mich .spo-about-bausteine-tabs.vc_custom_spo_bautabs {
  padding-bottom: 0 !important;
}
body.page-id-8363 .spo-about-insight.spo-postcovid-cta,
body.page-ueber-mich .spo-about-insight.spo-postcovid-cta {
  padding-top: 16px !important;
}

/* Single blog post hero — featured image fills the title band */
body.single-post .fullwidth-container {
  min-height: 360px !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body.single-post .fullwidth-container .present-container {
  min-height: 360px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  /* Clear fixed header; keep title optically centered in the visible band */
  padding-top: 168px !important;
  padding-bottom: 64px !important;
  padding-left: 25px !important;
  padding-right: 25px !important;
}
body.single-post .fullwidth-container .pageTitle {
  width: 100% !important;
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
}
body.single-post .fullwidth-container h1.page_title,
body.single-post .present-container h1.page_title {
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-indent: 0 !important;
  max-width: 22em;
  margin: 0 auto !important;
}
@media (max-width: 991px) {
  body.single-post .fullwidth-container,
  body.single-post .fullwidth-container .present-container {
    min-height: 300px !important;
  }
  body.single-post .fullwidth-container .present-container {
    padding-top: 150px !important;
    padding-bottom: 52px !important;
  }
  body.single-post .fullwidth-container h1.page_title,
  body.single-post .present-container h1.page_title {
    font-size: 32px !important;
  }
}
@media (max-width: 767px) {
  body.single-post .fullwidth-container,
  body.single-post .fullwidth-container .present-container {
    min-height: 260px !important;
  }
  body.single-post .fullwidth-container .present-container {
    padding-top: 132px !important;
    padding-bottom: 44px !important;
  }
  body.single-post .fullwidth-container h1.page_title,
  body.single-post .present-container h1.page_title {
    font-size: 26px !important;
  }
}

/* Blog index hero — clear fixed header so title is not clipped */
body.blog .fullwidth-container {
  min-height: 320px !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body.blog .fullwidth-container .present-container {
  min-height: 320px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  /* Header (logo+claim+nav) is ~150–180px; 96px was clipping the H1 */
  padding-top: 190px !important;
  padding-bottom: 72px !important;
  padding-left: 25px !important;
  padding-right: 25px !important;
}
body.blog .fullwidth-container .pageTitle {
  width: 100% !important;
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
}
body.blog .fullwidth-container h1.page_title {
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #111111 !important;
  margin: 0 !important;
  max-width: 18em;
  margin-left: auto !important;
  margin-right: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-width: 991px) {
  body.blog .fullwidth-container .present-container {
    padding-top: 160px !important;
    padding-bottom: 56px !important;
    min-height: 260px !important;
  }
}
@media (max-width: 767px) {
  body.blog .fullwidth-container,
  body.blog .fullwidth-container .present-container {
    min-height: 220px !important;
  }
  body.blog .fullwidth-container .present-container {
    padding-top: 140px !important;
    padding-bottom: 48px !important;
  }
}


/* ——— Sand 50/50 splits (was black) — site sand #f5f1eb ——— */
.spo-split-50 .spo-split-txt,
.spo-split-50 .spo-split-txt > .vc_column-inner,
.spo-split-50 [class*="vc_custom_spo_split"],
.spo-split-50 [class*="vc_custom_spo_aufgaben"],
.spo-split-50 [class*="vc_custom_spo_about_ham"],
.spo-split-50 [class*="vc_custom_spo_pc_zw"],
.spo-split-50 [class*="vc_custom_spo_home_split"] {
  background-color: #f5f1eb !important;
  background: #f5f1eb !important;
}
.spo-split-50 .spo-split-txt .vc_custom_heading:not(.spo-split-sub),
.spo-split-50 .spo-split-txt h1,
.spo-split-50 .spo-split-txt h2,
.spo-split-50 .spo-split-txt h3,
.spo-split-50 .spo-split-txt .spo-split-title,
.spo-split-50 .spo-split-txt .spo-split-heading {
  color: #111111 !important;
}
.spo-split-50 .spo-split-txt .spo-split-sub,
.spo-split-50 .spo-split-txt .vc_custom_heading.spo-split-sub {
  color: var(--spo-page-accent, #437542) !important;
}
.spo-split-50 .spo-split-txt .wpb_text_column,
.spo-split-50 .spo-split-txt .wpb_text_column p,
.spo-split-50 .spo-split-txt .wpb_text_column li,
.spo-split-50 .spo-split-txt .wpb_text_column span,
.spo-split-50 .spo-split-txt .spo-split-big,
.spo-split-50 .spo-split-txt .spo-split-small,
.spo-split-50 .spo-split-txt .spo-dark-lead,
.spo-split-50 .spo-split-txt .spo-aufgaben-body,
.spo-split-50 .spo-split-txt .spo-aufgaben-body p {
  color: #333333 !important;
}
.spo-split-50 .spo-split-txt a:not(.vc_btn3):not(.ubtn) {
  color: var(--spo-page-accent, #437542) !important;
}
.spo-split-50 .spo-split-txt a:not(.vc_btn3):not(.ubtn):hover {
  color: var(--spo-page-accent-hover, #2f5230) !important;
}

/* ——— Hamburger drawer: sand panel + no logo rule (last-wins) ——— */
header .dl-menuwrapper .dl-menu,
header .dl-menuwrapper ul.dl-menu,
header #dl-menu .dl-menu,
header #dl-menu ul.dl-menu,
header .dl-menuwrapper .dl-menu.dl-menuopen,
header .dl-menuwrapper ul.dl-menu.dl-menuopen,
body.spo-nav-open header .dl-menuwrapper .dl-menu,
body.spo-nav-open header .dl-menuwrapper ul.dl-menu,
body.spo-nav-open header #dl-menu .dl-menu {
  background: #f5f1eb !important;
  background-color: #f5f1eb !important;
  background-image: none !important;
}
header .dl-menuwrapper .dl-menu > li.spo-nav-drawer-brand,
header .dl-menuwrapper ul.dl-menu > li.spo-nav-drawer-brand,
header .dl-menuwrapper .dl-menu .spo-nav-drawer-brand,
header .dl-menuwrapper .dl-menu.dl-menuopen > li.spo-nav-drawer-brand,
header .dl-menuwrapper .dl-menu.dl-menuopen > li.spo-nav-drawer-brand > a,
header .dl-menuwrapper .dl-menu.dl-menuopen li.spo-nav-drawer-brand a,
body.spo-nav-open header .dl-menuwrapper .dl-menu li.spo-nav-drawer-brand,
body.spo-nav-open header .dl-menuwrapper .dl-menu li.spo-nav-drawer-brand a {
  border: 0 !important;
  border-bottom: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  padding-bottom: 0 !important;
  margin-bottom: 18px !important;
}
body.spo-nav-open header,
body.spo-nav-open header.style4,
body.spo-nav-open header.header-init {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
header .dl-menuwrapper .dl-menu > li.spo-nav-drawer-brand::after,
header .dl-menuwrapper .dl-menu > li.spo-nav-drawer-brand::before,
header .dl-menuwrapper .dl-menu .spo-nav-drawer-brand a::after,
header .dl-menuwrapper .dl-menu .spo-nav-drawer-brand a::before,
header .dl-menuwrapper .dl-menu.dl-menuopen > li.spo-nav-drawer-brand::after,
header .dl-menuwrapper .dl-menu.dl-menuopen > li.spo-nav-drawer-brand::before,
header .dl-menuwrapper .dl-menu.dl-menuopen li.spo-nav-drawer-brand a::after,
header .dl-menuwrapper .dl-menu.dl-menuopen li.spo-nav-drawer-brand a::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
  height: 0 !important;
  width: 0 !important;
  opacity: 0 !important;
}

/* Home: after first hero — small green accents + green buttons → #293B49 */
body.home,
body.page-id-8359 {
  --spo-home-rest-accent: #293b49;
  --spo-home-rest-accent-hover: #1f2e39;
}
body.home .spo-home-about-split .spo-split-sub,
body.home .spo-home-collab-split .spo-split-sub,
body.home .spo-home-about-split .vc_custom_heading.spo-split-sub,
body.home .spo-home-collab-split .vc_custom_heading.spo-split-sub,
body.page-id-8359 .spo-home-about-split .spo-split-sub,
body.page-id-8359 .spo-home-collab-split .spo-split-sub,
body.page-id-8359 .spo-home-about-split .vc_custom_heading.spo-split-sub,
body.page-id-8359 .spo-home-collab-split .vc_custom_heading.spo-split-sub,
body.home .spo-home-inqa-cta .spo-about-inqa-body a,
body.home .spo-home-inqa-cta .spo-about-inqa-list a,
body.page-id-8359 .spo-home-inqa-cta .spo-about-inqa-body a,
body.page-id-8359 .spo-home-inqa-cta .spo-about-inqa-list a,
body.home .spo-home-about-split .spo-split-txt a:not(.vc_btn3):not(.ubtn),
body.home .spo-home-collab-split .spo-split-txt a:not(.vc_btn3):not(.ubtn),
body.page-id-8359 .spo-home-about-split .spo-split-txt a:not(.vc_btn3):not(.ubtn),
body.page-id-8359 .spo-home-collab-split .spo-split-txt a:not(.vc_btn3):not(.ubtn) {
  color: var(--spo-home-rest-accent) !important;
}
/* Home rest-of-page buttons — #293B49 (incl. salmon VC CTA in about-split) */
body.home .spo-home-about-split .spo-lime-btn .ubtn,
body.home .spo-home-about-split .spo-lime-btn button.ubtn,
body.home .spo-home-about-split .spo-lime-btn .ubtn-bg,
body.home .spo-home-collab-split .spo-lime-btn .ubtn,
body.home .spo-home-collab-split .spo-lime-btn button.ubtn,
body.home .spo-home-collab-split .spo-lime-btn .ubtn-bg,
body.home .spo-home-inqa-cta .spo-lime-btn .ubtn,
body.home .spo-home-inqa-cta .spo-lime-btn button.ubtn,
body.home .spo-home-inqa-cta .spo-lime-btn .ubtn-bg,
body.home .spo-home-kontakt .spo-lime-btn .ubtn,
body.home .spo-home-kontakt .spo-lime-btn button.ubtn,
body.home .spo-home-kontakt .spo-lime-btn .ubtn-bg,
body.page-id-8359 .spo-home-about-split .spo-lime-btn .ubtn,
body.page-id-8359 .spo-home-collab-split .spo-lime-btn .ubtn,
body.page-id-8359 .spo-home-inqa-cta .spo-lime-btn .ubtn,
body.page-id-8359 .spo-home-kontakt .spo-lime-btn .ubtn,
body.home .spo-home-about-split .spo-cta .vc_btn3,
body.home .spo-home-about-split .spo-cta a.vc_general,
body.home .spo-home-about-split .spo-cta-dark .vc_btn3,
body.home .spo-home-about-split .spo-cta-dark a.vc_general,
body.home .spo-home-about-split .spo-cta-pink .vc_btn3,
body.home .spo-home-collab-split .spo-cta .vc_btn3,
body.home .spo-home-collab-split .spo-cta-dark .vc_btn3,
body.page-id-8359 .spo-home-about-split .spo-cta .vc_btn3,
body.page-id-8359 .spo-home-about-split .spo-cta a.vc_general,
body.page-id-8359 .spo-home-about-split .spo-cta-dark .vc_btn3,
body.page-id-8359 .spo-home-collab-split .spo-cta .vc_btn3 {
  background-color: var(--spo-home-rest-accent) !important;
  border-color: var(--spo-home-rest-accent) !important;
  color: #ffffff !important;
}
body.home .spo-home-about-split .spo-lime-btn .ubtn-text,
body.home .spo-home-about-split .spo-lime-btn .ubtn-data,
body.home .spo-home-collab-split .spo-lime-btn .ubtn-text,
body.home .spo-home-collab-split .spo-lime-btn .ubtn-data,
body.home .spo-home-inqa-cta .spo-lime-btn .ubtn-text,
body.home .spo-home-kontakt .spo-lime-btn .ubtn-text,
body.page-id-8359 .spo-home-about-split .spo-lime-btn .ubtn-text,
body.page-id-8359 .spo-home-collab-split .spo-lime-btn .ubtn-text {
  color: #ffffff !important;
}
body.home .spo-home-about-split .spo-lime-btn .ubtn:hover,
body.home .spo-home-collab-split .spo-lime-btn .ubtn:hover,
body.home .spo-home-inqa-cta .spo-lime-btn .ubtn:hover,
body.home .spo-home-kontakt .spo-lime-btn .ubtn:hover,
body.page-id-8359 .spo-home-about-split .spo-lime-btn .ubtn:hover,
body.page-id-8359 .spo-home-collab-split .spo-lime-btn .ubtn:hover,
body.home .spo-home-about-split .spo-cta .vc_btn3:hover,
body.home .spo-home-about-split .spo-cta a.vc_general:hover,
body.home .spo-home-about-split .spo-cta-dark .vc_btn3:hover,
body.home .spo-home-about-split .spo-cta-dark a.vc_general:hover,
body.home .spo-home-collab-split .spo-cta .vc_btn3:hover,
body.home .spo-home-collab-split .spo-cta-dark .vc_btn3:hover,
body.page-id-8359 .spo-home-about-split .spo-cta .vc_btn3:hover,
body.page-id-8359 .spo-home-about-split .spo-cta-dark .vc_btn3:hover {
  background-color: var(--spo-home-rest-accent-hover) !important;
  border-color: var(--spo-home-rest-accent-hover) !important;
  color: #ffffff !important;
}
/* Contact submit below hero — same rest accent */
body.home .spo-home-kontakt input.wpcf7-submit,
body.home .spo-home-kontakt button.wpcf7-submit,
body.page-id-8359 .spo-home-kontakt input.wpcf7-submit,
body.page-id-8359 .spo-home-kontakt button.wpcf7-submit {
  background-color: var(--spo-home-rest-accent) !important;
  border-color: var(--spo-home-rest-accent) !important;
  color: #ffffff !important;
}
body.home .spo-home-kontakt input.wpcf7-submit:hover,
body.home .spo-home-kontakt button.wpcf7-submit:hover,
body.page-id-8359 .spo-home-kontakt input.wpcf7-submit:hover,
body.page-id-8359 .spo-home-kontakt button.wpcf7-submit:hover {
  background-color: var(--spo-home-rest-accent-hover) !important;
  border-color: var(--spo-home-rest-accent-hover) !important;
  color: #ffffff !important;
}



/* ——— Page accents: small headings + buttons match first-block CTA ——— */
body.page-id-8360 .spo-split-sub,
body.page-id-8360 .spo-split-50 .spo-split-txt .spo-split-sub,
body.page-id-8360 .spo-split-50 .spo-split-txt .vc_custom_heading.spo-split-sub,
body.page-organisationsentwicklung .spo-split-sub,
body.page-organisationsentwicklung .spo-split-50 .spo-split-txt .spo-split-sub,
body.page-id-8361 .spo-split-sub,
body.page-id-8361 .spo-split-50 .spo-split-txt .spo-split-sub,
body.page-id-8361 .spo-split-50 .spo-split-txt .vc_custom_heading.spo-split-sub,
body.page-gesundheitscoaching .spo-split-sub,
body.page-id-8362 .spo-split-sub,
body.page-id-8362 .spo-split-50 .spo-split-txt .spo-split-sub,
body.page-id-8362 .spo-split-50 .spo-split-txt .vc_custom_heading.spo-split-sub,
body.page-post-covid-me-cfs .spo-split-sub,
body.page-id-8363 .spo-split-sub,
body.page-id-8363 .spo-split-50 .spo-split-txt .spo-split-sub,
body.page-id-8363 .spo-split-50 .spo-split-txt .vc_custom_heading.spo-split-sub,
body.page-ueber-mich .spo-split-sub,
body.page-id-8360 .spo-split-50 .spo-split-txt a:not(.vc_btn3):not(.ubtn),
body.page-id-8361 .spo-split-50 .spo-split-txt a:not(.vc_btn3):not(.ubtn),
body.page-id-8362 .spo-split-50 .spo-split-txt a:not(.vc_btn3):not(.ubtn),
body.page-id-8363 .spo-split-50 .spo-split-txt a:not(.vc_btn3):not(.ubtn),
body.page-id-8360 .spo-aufgaben-body a,
body.page-id-8361 .spo-aufgaben-body a,
body.page-id-8362 .spo-aufgaben-body a,
body.page-id-8363 .spo-aufgaben-body a,
body.page-id-8360 .spo-scroll-accent,
body.page-id-8361 .spo-scroll-accent,
body.page-id-8362 .spo-scroll-accent,
body.page-id-8363 .spo-scroll-accent {
  color: var(--spo-page-accent) !important;
}

/* Blog article CTA + disclaimer */
.spo-blog-cta {
  margin: 32px 0 20px !important;
}
.spo-blog-cta__btn {
  display: inline-block !important;
  background: #f3c4cc !important;
  color: #111111 !important;
  border: 2px solid #f3c4cc !important;
  padding: 14px 26px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}
.spo-blog-cta__btn:hover,
.spo-blog-cta__btn:focus {
  background: #e5a8b4 !important;
  border-color: #e5a8b4 !important;
  color: #111111 !important;
}
.spo-blog-disclaimer {
  margin-top: 28px !important;
  font-size: 0.92em !important;
  color: #555 !important;
}

/* Single post: narrow reading column, clear side padding */
body.single-post .blog-default {
  padding: 40px 0 72px !important;
  background: #fff !important;
}
body.single-post .blog-default.wideblog {
  padding-top: 40px !important;
}
body.single-post .blog-default .master_container.container {
  max-width: 780px !important;
  width: 100% !important;
  padding-left: 36px !important;
  padding-right: 36px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
body.single-post .blog-default .page_content {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body.single-post .blog-default .page_content.sidebar,
body.single-post .blog-sidebar-bg {
  display: none !important;
}
body.single-post .blog-default-bg {
  padding: 0 !important;
  max-width: 100% !important;
}
body.single-post .postcontent,
body.single-post .the_content {
  max-width: 42rem !important;
  width: 100% !important;
  margin: 0 auto !important;
  color: #222 !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}
body.single-post .the_content > p {
  margin: 0 0 1.25em !important;
}
body.single-post .the_content > p:first-child {
  font-size: 1.06em !important;
  line-height: 1.7 !important;
  margin-bottom: 1.65em !important;
}
body.single-post .the_content h2,
body.single-post .postcontent h2 {
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-size: clamp(22px, 2.4vw, 28px) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-indent: 0 !important;
  color: #111 !important;
  margin: 2.15em 0 0.75em !important;
}
body.single-post .the_content h3,
body.single-post .postcontent h3 {
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #111 !important;
  margin: 1.6em 0 0.55em !important;
}
body.single-post .the_content ul,
body.single-post .postcontent ul {
  margin: 0.35em 0 1.35em !important;
  padding-left: 1.35em !important;
  list-style: disc !important;
}
body.single-post .the_content li,
body.single-post .postcontent li {
  margin: 0.35em 0 !important;
  padding-left: 0.15em !important;
  line-height: 1.6 !important;
}
body.single-post .the_content a {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
body.single-post .single-extras {
  max-width: 42rem !important;
  margin: 40px auto 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
}
body.single-post .single-extras .share-buttons {
  margin-top: 8px !important;
}
body.single-post .single-extras h5 {
  font-family: Gelasio, Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}
body.single-post #nav-below.navigation {
  max-width: 42rem !important;
  margin: 28px auto 0 !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(17, 17, 17, 0.12) !important;
}
@media (max-width: 767px) {
  body.single-post .blog-default {
    padding: 32px 0 56px !important;
  }
  body.single-post .blog-default .master_container.container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.single-post .postcontent,
  body.single-post .the_content {
    font-size: 16px !important;
  }
}

/* Blog single: FAQ accordion (same VC pattern as service pages) */
.spo-blog-faq {
  clear: both !important;
  margin: 48px 0 36px !important;
}
.spo-blog-faq__heading {
  margin: 0 0 28px !important;
  line-height: 1.25 !important;
}
.spo-blog-faq .vc_tta-accordion {
  margin: 0 !important;
}

/* ==========================================================================
   Responsive pass — tablet (≤991) + phone (≤767)
   Split photos used position:absolute children with min-height:100%, which
   collapses to 0px once the row wraps. Stack earlier on tablets so German
   copy isn't squeezed into a 384px column beside a photo.
   ========================================================================== */

@media (max-width: 991px) {
  html {
    scroll-padding-top: 96px;
  }

  /* 50/50 splits — stack and give the photo a real height */
  .spo-split-50.wpb_row,
  .spo-split-50.vc_row,
  .spo-home-about-split.spo-split-50,
  .spo-home-collab-split.spo-split-50 {
    flex-wrap: wrap !important;
    align-items: stretch !important;
    min-height: 0 !important;
  }
  .spo-split-50 > .wpb_column,
  .spo-split-50 > .vc_column_container,
  .spo-home-about-split > .spo-split-txt,
  .spo-home-about-split > .spo-split-img,
  .spo-home-collab-split > .spo-split-txt,
  .spo-home-collab-split > .spo-split-img,
  .spo-home-about-split > .wpb_column,
  .spo-home-about-split > .vc_column_container,
  .spo-home-collab-split > .wpb_column,
  .spo-home-collab-split > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    align-self: auto !important;
  }
  .spo-split-50 .spo-split-img,
  .spo-home-about-split > .spo-split-img,
  .spo-home-collab-split > .spo-split-img {
    position: relative !important;
    order: -1;
    width: 100% !important;
    min-height: 280px !important;
    height: min(52vw, 420px) !important;
    max-height: 460px !important;
    overflow: hidden !important;
    flex: 0 0 auto !important;
  }
  .spo-split-50 .spo-split-img > .vc_column-inner,
  .spo-home-about-split .spo-split-img > .vc_column-inner,
  .spo-home-collab-split .spo-split-img > .vc_column-inner {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    flex: none !important;
  }
  .spo-split-50 .spo-split-txt > .vc_column-inner,
  .spo-home-about-split .spo-split-txt > .vc_column-inner,
  .spo-home-collab-split .spo-split-txt > .vc_column-inner {
    padding: 48px 72px 48px 28px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Inner-page heroes: stack on tablet (Bootstrap sm-6 stays 50% at 768) */
  .spo-hero-row.wpb_row,
  .spo-hero-row.vc_row {
    flex-wrap: wrap !important;
    min-height: 0 !important;
  }
  .spo-hero-row > .wpb_column:not(.spo-hero-media),
  .spo-hero-row > .vc_column_container:not(.spo-hero-media) {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .spo-hero-row > .spo-hero-media,
  .spo-hero-row > .spo-hero-media.wpb_column,
  .spo-hero-row > .spo-hero-media.vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    order: -1;
    min-height: 280px !important;
    height: min(52vw, 400px) !important;
    max-height: 460px !important;
  }
  .spo-hero-media > .vc_column-inner {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
  }
  .spo-hero-copy > .vc_column-inner,
  .spo-hero-copy .vc_column-inner,
  .vc_custom_spo_hero_txt {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
  .spo-services-scroll > .wpb_column,
  .spo-services-scroll > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .spo-hero-row .spo-hero-title,
  .spo-hero-row h1.vc_custom_heading:not(.spo-seo-h1) {
    font-size: clamp(28px, 7vw, 40px) !important;
    max-width: none;
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* Pricing / modules / icon tiles: one card per row on tablet portrait */
  .spo-pricing-grid > .wpb_column,
  .spo-pricing-grid > .vc_column_container,
  .spo-modules > .wpb_column,
  .spo-modules > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Home showcase tiles: shorter panels, titles can wrap */
  .spo-home-expand-hero--showcase .spo-home-expand-panel {
    min-height: min(52vh, 440px);
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__cta {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__title-line {
    white-space: normal;
  }

  /* Quotes: keep a slim gutter beside arrows, let copy use the middle */
  .spo-quotes .testimonials-style2:not(.single-wide-testimonials) .testimonilas1bg {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
  }
  .spo-quotes .testimonials-style2 .testimonials-slide {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .spo-quotes .testimonials-style2 .testimonials_text_content,
  .spo-quotes .testimonials-style2 .ts1-author,
  .spo-quotes .testimonials-style2 .t-author {
    /* Only clear the circular arrows (~48px), not a second inner column */
    padding-left: 52px !important;
    padding-right: 52px !important;
  }

  /* Prevent iOS zoom on CF7 focus */
  .spo-kontakt .wpcf7 input[type="text"],
  .spo-kontakt .wpcf7 input[type="email"],
  .spo-kontakt .wpcf7 input[type="tel"],
  .spo-kontakt .wpcf7 textarea,
  .spo-home-kontakt .wpcf7 input[type="text"],
  .spo-home-kontakt .wpcf7 input[type="email"],
  .spo-home-kontakt .wpcf7 input[type="tel"],
  .spo-home-kontakt .wpcf7 textarea,
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 textarea {
    font-size: 16px !important;
  }

  /* Bausteine tabs: horizontal swipe handled below (≤991) */
  body.page-id-8360 .spo-bausteine .ult_tabmenu li a,
  body.page-id-8360 .spo-bausteine .ult_tab_link {
    max-width: none;
  }
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 80px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .spo-split-50 .spo-split-img,
  .spo-home-about-split > .spo-split-img,
  .spo-home-collab-split > .spo-split-img {
    min-height: 280px !important;
    height: min(78vw, 400px) !important;
  }
  .spo-split-50 .spo-split-txt > .vc_column-inner,
  .spo-home-about-split .spo-split-txt > .vc_column-inner,
  .spo-home-collab-split .spo-split-txt > .vc_column-inner {
    padding: 36px 28px !important;
  }

  .spo-hero-media {
    min-height: 240px !important;
    height: min(70vw, 340px) !important;
  }
  .spo-hero-copy > .vc_column-inner,
  .spo-hero-copy .vc_column-inner,
  .vc_custom_spo_hero_txt {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
  .spo-hero-row .vc_btn3-container,
  .spo-hero-row .spo-cta,
  .spo-hero-row .spo-lime-btn,
  .spo-split-50 .vc_btn3-container {
    max-width: 100% !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  .spo-hero-row .vc_btn3,
  .spo-hero-row a.vc_general,
  .spo-hero-row .ubtn,
  .spo-split-50 .vc_btn3,
  .spo-split-50 a.vc_general {
    max-width: 100% !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }
  .spo-hero-row .spo-hero-title,
  .spo-hero-row h1.vc_custom_heading:not(.spo-seo-h1) {
    font-size: clamp(26px, 8vw, 34px) !important;
    line-height: 1.15 !important;
  }
  /* Mobile hero type: kicker small, headline big (beat Deep theme p/h1 resets) */
  .spo-hero-row .spo-seo-h1,
  .spo-hero-row h1.spo-seo-h1,
  .spo-hero-row .spo-hero-lead {
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    max-width: none !important;
  }
  .spo-hero-row .spo-hero-title,
  .spo-hero-row .spo-hero-title.custom-size,
  .spo-hero-row p.spo-hero-title,
  .spo-hero-row p.spo-optical-headline {
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    max-width: none !important;
    color: #111111 !important;
  }
  .spo-hero-row .spo-hero-body p {
    font-size: 16px !important;
  }

  /* Buttons: wrap long DE labels, fill the column */
  .spo-cta .vc_btn3,
  .spo-cta a.vc_general,
  .spo-cta-dark .vc_btn3,
  .spo-cta-dark a.vc_general,
  .spo-cta-outline .vc_btn3,
  .spo-lime-btn .ubtn,
  .spo-lime-btn button.ubtn {
    white-space: normal !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .spo-cta-banner .vc_btn3,
  .spo-cta-banner a.vc_general {
    min-width: 0 !important;
    white-space: normal !important;
  }

  .spo-text-block .vc_column-inner,
  .spo-it-img .vc_column-inner,
  .spo-it-txt .vc_column-inner {
    padding-left: 20px !important;
    padding-right: 64px !important;
  }

  .spo-home-expand-hero--showcase {
    --spo-home-hero-frame: 14px;
    --spo-home-hero-gap: 12px;
    --spo-home-hero-header-clear: 72px;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel {
    min-height: min(58vh, 420px);
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__shell {
    padding: 24px 18px;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__title-main {
    font-size: clamp(20px, 6.2vw, 26px) !important;
    min-height: 0;
  }
  .spo-home-expand-hero--showcase .spo-home-expand-panel__title-sub {
    min-height: 0;
    font-size: clamp(15px, 4.2vw, 18px) !important;
  }

  .spo-quotes .testimonials-style2:not(.single-wide-testimonials) .testimonilas1bg {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
  }
  .spo-quotes .testimonials-style2 .testimonials-slide {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .spo-quotes .testimonials-style2 .testimonials_text_content,
  .spo-quotes .testimonials-style2 .ts1-author,
  .spo-quotes .testimonials-style2 .t-author {
    /* Arrow clearance only — wider copy between the side buttons */
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
  .spo-quotes .testimonials-style2 button.slick-prev,
  .spo-quotes .testimonials-style2 .slick-prev {
    left: 0 !important;
  }
  .spo-quotes .testimonials-style2 button.slick-next,
  .spo-quotes .testimonials-style2 .slick-next {
    right: 0 !important;
  }

  /* Sticky contact stack: clear iOS home indicator */
  .spo-sticky-chrome {
    right: max(10px, env(safe-area-inset-right, 0px));
    bottom: max(84px, calc(env(safe-area-inset-bottom, 0px) + 64px));
    gap: 8px;
  }

  /* Bausteine tab items: width set in horizontal swipe block */

  .spo-cta-banner {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .spo-cta-banner > .wpb_column > .vc_column-inner,
  .spo-cta-banner > .vc_column_container > .vc_column-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .spo-home-kontakt,
  .spo-kontakt.vc_row,
  .vc_custom_spo_kontakt {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 72px !important;
  }
  .spo-home-kontakt .vc_column-inner,
  .spo-kontakt .vc_column-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #footer,
  #big_footer {
    padding-bottom: 24px !important;
  }
  #big_footer .spo-footer-legal {
    font-size: 12px !important;
    letter-spacing: 0.03em;
  }

  .spo-postcovid-cta .spo-postcovid-frame,
  .spo-about-insight .spo-postcovid-frame,
  .spo-about-inqa-cta.spo-postcovid-cta .spo-postcovid-frame {
    padding: 28px 18px !important;
  }

  body.blog .container,
  body.single-post .container,
  body.blog .blog-single-post,
  body.blog .post-content-outer {
    padding-right: 68px !important;
  }

  /* Legal / long compound words */
  .spo-hero-row .spo-hero-title,
  .spo-split-50 .spo-split-heading,
  .spo-optical-headline,
  .spo-accent-label {
    overflow-wrap: anywhere;
    hyphens: manual;
  }
}

/*
 * Mobile/tablet page gutters.
 * Deep theme forces padding:0 !important on .vc_row-no-padding .vc_column-inner
 * (≤1024 / ≤479), which beats our column-inner rules. Pad the inner .wpb_wrapper
 * instead so copy never sits on the viewport edge. Do not pad photo columns.
 * Also restore vertical air under stacked photos (image → small title was flush).
 */
@media (max-width: 1024px) {
  .spo-hero-row > .spo-hero-copy > .vc_column-inner > .wpb_wrapper,
  .spo-split-50 > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-about-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-collab-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  .spo-hero-row > .spo-hero-copy > .vc_column-inner > .wpb_wrapper,
  .spo-split-50 > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-about-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-collab-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
  /* Hero: more air under the photo before the kicker */
  .spo-hero-row > .spo-hero-copy > .vc_column-inner > .wpb_wrapper {
    padding-top: 52px !important;
  }

  .spo-hero-copy .vc_btn3-container,
  .spo-split-txt .vc_btn3-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .spo-hero-copy a.vc_btn3,
  .spo-hero-copy .vc_btn3,
  .spo-split-txt a.vc_btn3,
  .spo-split-txt .vc_btn3 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  .spo-services-scroll-mobile > .wpb_column > .vc_column-inner,
  .spo-services-scroll-mobile > .vc_column_container > .vc_column-inner,
  .spo-text-block > .wpb_column > .vc_column-inner,
  .spo-faq > .wpb_column > .vc_column-inner,
  .spo-kontakt > .wpb_column > .vc_column-inner,
  .spo-home-kontakt > .wpb_column > .vc_column-inner,
  .spo-postcovid-cta > .wpb_column > .vc_column-inner,
  .spo-about-insight > .wpb_column > .vc_column-inner,
  .spo-about-inqa-cta > .wpb_column > .vc_column-inner,
  .spo-oe-inqa-cta > .wpb_column > .vc_column-inner,
  .spo-home-inqa-cta > .wpb_column > .vc_column-inner,
  .spo-pc-hg-united > .wpb_column > .vc_column-inner,
  .spo-legal > .wpb_column > .vc_column-inner {
    /* Equal gutters — sticky chrome overlays the right edge; do not shift content left */
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
  }
  /*
   * Centered inscriptions (refs / quotes / section heads / CTAs): equal side
   * gutters so text-align:center is optically centered. Sticky chrome may
   * overlay the right pad — do not shift the text axis left.
   */
  .spo-refs > .wpb_column > .vc_column-inner,
  .spo-quotes > .wpb_column > .vc_column-inner,
  .spo-quotes > .vc_column_container > .vc_column-inner,
  .spo-pricing-head > .wpb_column > .vc_column-inner,
  .spo-modules-head > .wpb_column > .vc_column-inner,
  .spo-bausteine > .wpb_column > .vc_column-inner,
  .spo-cta-banner > .wpb_column > .vc_column-inner,
  .spo-logos > .wpb_column > .vc_column-inner {
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
  }
  /* Quote slides: equal clear for left/right arrows only */
  .spo-quotes .testimonials-style2 .testimonials_text_content,
  .spo-quotes .testimonials-style2 .ts1-author,
  .spo-quotes .testimonials-style2 .t-author {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  .spo-pricing-grid > .wpb_column > .vc_column-inner,
  .spo-modules > .wpb_column > .vc_column-inner,
  .spo-icon-grid > .wpb_column > .vc_column-inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  #footer #big_footer,
  #big_footer .footer-in,
  #secondary_footer .footer-in {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }

  body.blog .container,
  body.single-post .container,
  body.blog .blog-single-post,
  body.blog .post-content-outer {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  html body .spo-cta .vc_btn3,
  html body .spo-cta a.vc_general,
  html body .spo-hero-copy a.vc_btn3,
  html body .spo-split-txt a.vc_btn3 {
    white-space: normal !important;
    letter-spacing: 0.04em !important;
    font-size: 13px !important;
    padding: 14px 16px !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #big_footer .spo-footer-legal {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}


/* ========== 2026-09 client tablet/mobile feedback pass ========== */

/* Mobile/tablet: use non-sticky scroll row (fixes ult_sticky overlap) */
@media (max-width: 991px) {
  .spo-services-scroll {
    display: none !important;
  }
  .spo-services-scroll-mobile,
  .spo-services-scroll-mobile.ult-hide-for-tablet,
  .spo-services-scroll-mobile.ult-hide-for-tablet-portrait,
  .spo-services-scroll-mobile.ult-hide-for-tablet-landscape,
  .wpb_row.spo-services-scroll-mobile {
    display: block !important;
    visibility: visible !important;
  }
  .spo-services-scroll .ult_stick,
  .spo-services-scroll [class*="ult-sticky"],
  .spo-services-scroll .ult_sticky_section,
  .spo-services-scroll .ult-sticky-section {
    position: static !important;
    top: auto !important;
    transform: none !important;
  }
}

/* Hide duplicate CTA in mobile scroll (hero already has it) */
@media (max-width: 991px) {
  .spo-services-scroll-mobile .spo-cta,
  .spo-services-scroll-mobile .spo-cta-pink,
  .spo-services-scroll-mobile .vc_btn3-container {
    display: none !important;
  }
}

/* Bigger sticky quote on mobile scroll */
@media (max-width: 991px) {
  .spo-services-scroll-mobile .spo-scroll-quote,
  .spo-services-scroll-mobile h2.spo-scroll-quote,
  .spo-services-scroll-mobile h2.vc_custom_heading.spo-scroll-quote {
    font-size: clamp(28px, 7.5vw, 36px) !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    max-width: none !important;
  }
}

/* Sticky pin for quote + subtitle while stacks scroll */
.spo-scroll-mobile-pin {
  position: sticky;
  top: 72px;
  z-index: 2;
  background: #fff;
  padding-bottom: 12px;
}
@media (min-width: 992px) {
  .spo-scroll-mobile-pin {
    position: static;
    padding-bottom: 0;
  }
}

/* Bausteine H2 mobile-only break */
br.spo-br-mobile {
  display: none;
}
@media (max-width: 767px) {
  br.spo-br-mobile {
    display: inline;
  }
}

/* Bausteine tabs (OE / GC / PC / About): horizontal swipe strip ≤991 */
@media (max-width: 991px) {
  .spo-bausteine-tabs .spo-bau-tabs-scroll,
  .spo-about-bausteine-tabs .spo-about-tabs-scroll {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    scroll-snap-type: none;
    scrollbar-width: none;
    cursor: grab;
    border-bottom: 1px solid #e5e5e5 !important;
  }
  .spo-bausteine-tabs .spo-bau-tabs-scroll::-webkit-scrollbar,
  .spo-about-bausteine-tabs .spo-about-tabs-scroll::-webkit-scrollbar {
    display: none;
  }
  .spo-bausteine-tabs .spo-bau-tabs-scroll.is-dragging,
  .spo-about-bausteine-tabs .spo-about-tabs-scroll.is-dragging {
    cursor: grabbing;
  }
  .spo-bausteine-tabs .spo-bau-tabs-scroll .ult_tabmenu.style3,
  .spo-bausteine-tabs .spo-bau-tabs-scroll .ult_tabmenu,
  .spo-bausteine-tabs .ult_tabmenu.style3,
  .spo-bausteine-tabs .ult_tabmenu,
  .spo-about-bausteine-tabs .spo-about-tabs-scroll .ult_tabmenu.style3,
  .spo-about-bausteine-tabs .spo-about-tabs-scroll .ult_tabmenu,
  .spo-about-bausteine-tabs .ult_tabmenu.style3,
  .spo-about-bausteine-tabs .ult_tabmenu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 4px 4px 0 !important;
    border-bottom: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li,
  .spo-bausteine-tabs .ult_tabmenu .ult_tab_li,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li,
  .spo-about-bausteine-tabs .ult_tabmenu .ult_tab_li {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: none !important;
    box-sizing: border-box !important;
    border-bottom: 0 !important;
    scroll-snap-align: none;
    background: transparent !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a,
  .spo-bausteine-tabs .ult_tabmenu .ult_tab_li a,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li a,
  .spo-about-bausteine-tabs .ult_tabmenu .ult_tab_li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding: 8px 12px 14px !important;
    text-align: center !important;
    white-space: normal !important;
    touch-action: pan-x;
    -webkit-user-drag: none;
    user-select: none;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .aio-icon,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .aio-icon {
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 auto !important;
    flex: 0 0 56px !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult-span-text {
    white-space: normal !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    max-width: 118px !important;
    width: auto !important;
    flex: 0 0 auto !important;
    text-align: center !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    font-weight: 500 !important;
  }
  /* About labels are short — keep on one line */
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .ult-span-text {
    white-space: nowrap !important;
    max-width: none !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current,
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current a,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current a {
    background: transparent !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li.current {
    border-bottom: 3px solid #010101 !important;
  }
  /* Heart / Gesundheit glyph sits high in the artboard — nudge down */
  .spo-bausteine-tabs a#spo-bau-gesundheit .aio-icon {
    background-position: center 78% !important;
  }
}
@media (max-width: 767px) {
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .ult_tab_li {
    min-width: 100px !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .aio-icon,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .aio-icon {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3 .ult-span-text {
    font-size: 11px !important;
    max-width: 108px !important;
  }
  .spo-about-bausteine-tabs .ult_tabmenu.style3 .ult-span-text {
    font-size: 11px !important;
    max-width: none !important;
  }
  .spo-bau-main-heading {
    font-size: clamp(26px, 7vw, 32px) !important;
    line-height: 1.2 !important;
  }
}


/* About lists: restore bullets + clearer body vs list hierarchy */
.spo-about-ansatz .wpb_text_column ul,
.spo-about-mission .wpb_text_column ul,
.spo-about-unternehmen .wpb_text_column ul,
.spo-about-background .wpb_text_column ul,
.spo-about-werte .wpb_text_column ul,
.spo-about-hamburg .wpb_text_column ul,
.spo-about-hamburg ul.spo-dark-list,
.spo-about-hamburg .spo-split-txt ul.spo-dark-list {
  padding-left: 1.25em !important;
  margin: 0.75em 0 1.15em !important;
  list-style: disc !important;
  list-style-type: disc !important;
  list-style-position: outside !important;
  /* Beat inline color:#cccccc on light Hamburg panel — invisible markers otherwise */
  color: #333333 !important;
}
.spo-about-ansatz .wpb_text_column li,
.spo-about-mission .wpb_text_column li,
.spo-about-unternehmen .wpb_text_column li,
.spo-about-background .wpb_text_column li,
.spo-about-werte .wpb_text_column li,
.spo-about-hamburg .wpb_text_column li,
.spo-about-hamburg ul.spo-dark-list li,
.spo-about-hamburg .spo-split-txt ul.spo-dark-list li {
  display: list-item !important;
  padding-left: 0.15em !important;
  margin: 0 0 0.38em !important;
  list-style: disc !important;
  list-style-type: disc !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #333333 !important;
}
.spo-about-ansatz .wpb_text_column li::marker,
.spo-about-mission .wpb_text_column li::marker,
.spo-about-unternehmen .wpb_text_column li::marker,
.spo-about-background .wpb_text_column li::marker,
.spo-about-werte .wpb_text_column li::marker,
.spo-about-hamburg ul.spo-dark-list li::marker,
.spo-about-hamburg .spo-split-txt ul.spo-dark-list li::marker {
  content: normal !important;
  color: #111111 !important;
  font-size: 0.9em;
  opacity: 1 !important;
}
.spo-about-hamburg ul.spo-dark-list li,
.spo-about-hamburg .spo-split-txt ul.spo-dark-list li {
  font-size: 16px !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body p,
.spo-about-bausteine-tabs .spo-bau-tab-body,
.spo-about-bausteine-tabs .spo-bau-tab-body p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #4a4a4a !important;
}
/* Match OE tab title size/weight/case */
.spo-about-bausteine-tabs .spo-bau-tab-heading,
.spo-about-bausteine-tabs h3.spo-bau-tab-heading,
.spo-about-bausteine-tabs .vc_custom_heading.spo-bau-tab-heading {
  font-size: 28px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  color: #010101 !important;
  margin: 0 0 16px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
/* About tab lists: same size/rhythm as body copy; no extra list spacing */
.spo-about-bausteine-tabs .spo-about-tab-body ul,
.spo-about-bausteine-tabs .spo-bau-tab-body ul,
.spo-about-bausteine-tabs .spo-text-block .wpb_text_column ul,
.spo-about-bausteine-tabs .wpb_text_column ul {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  text-align: center !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #4a4a4a !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body li,
.spo-about-bausteine-tabs .spo-bau-tab-body li,
.spo-about-bausteine-tabs .wpb_text_column li {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  list-style: none !important;
  list-style-type: none !important;
  text-align: center !important;
  font-family: "Gelasio", Georgia, "Times New Roman", serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #4a4a4a !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body ul + p,
.spo-about-bausteine-tabs .spo-bau-tab-body ul + p,
.spo-about-bausteine-tabs .wpb_text_column ul + p {
  margin-top: 1em !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body li::before,
.spo-about-bausteine-tabs .spo-bau-tab-body li::before,
.spo-about-bausteine-tabs .wpb_text_column li::before {
  content: "• " !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}
.spo-about-bausteine-tabs .spo-about-tab-body li::marker,
.spo-about-bausteine-tabs .spo-bau-tab-body li::marker,
.spo-about-bausteine-tabs .wpb_text_column li::marker {
  content: "" !important;
  font-size: 0 !important;
  color: transparent !important;
}

/* Phone: theme forces body/p to 14px — keep tab lists in sync (not stuck at 16px) */
@media (max-width: 767px) {
  body.page-id-8363 .spo-about-bausteine-tabs .spo-about-tab-body,
  body.page-id-8363 .spo-about-bausteine-tabs .spo-about-tab-body p,
  body.page-id-8363 .spo-about-bausteine-tabs .spo-about-tab-body ul,
  body.page-id-8363 .spo-about-bausteine-tabs .spo-about-tab-body li,
  body.page-id-8363 .spo-about-bausteine-tabs .spo-about-tab-body li::before,
  body.page-ueber-mich .spo-about-bausteine-tabs .spo-about-tab-body,
  body.page-ueber-mich .spo-about-bausteine-tabs .spo-about-tab-body p,
  body.page-ueber-mich .spo-about-bausteine-tabs .spo-about-tab-body ul,
  body.page-ueber-mich .spo-about-bausteine-tabs .spo-about-tab-body li,
  body.page-ueber-mich .spo-about-bausteine-tabs .spo-about-tab-body li::before {
    font-size: 14px !important;
    line-height: 1.58 !important;
    font-weight: 400 !important;
    text-align: center !important;
  }
}

/* Content logo strip: even grid on tablet/phone */
@media (max-width: 991px) {
  .spo-logo-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    justify-items: center;
    gap: 28px 20px;
    padding: 28px 24px !important;
    flex-wrap: unset;
  }
  .spo-logo-list .spo-logo-item {
    width: 100%;
    max-width: 180px;
    flex: unset !important;
  }
  .spo-logo-list .spo-logo-item img,
  body.page-id-8360 .spo-oe-logos .spo-logo-item img,
  body.home .spo-oe-logos .spo-logo-item img,
  body.page-id-8359 .spo-oe-logos .spo-logo-item img,
  body.home .spo-home-logos .spo-logo-item img,
  body.page-id-8359 .spo-home-logos .spo-logo-item img {
    height: auto !important;
    max-height: 48px !important;
    max-width: 100% !important;
    width: auto !important;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .spo-logo-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
    padding: 24px 16px !important;
  }
  .spo-logo-list .spo-logo-item {
    max-width: 150px;
  }
  .spo-logo-list .spo-logo-item img,
  body.page-id-8360 .spo-oe-logos .spo-logo-item img,
  body.home .spo-oe-logos .spo-logo-item img,
  body.page-id-8359 .spo-oe-logos .spo-logo-item img {
    max-height: 40px !important;
  }
}

/* Split: more air under stacked photo before small title */
@media (max-width: 1024px) {
  .spo-split-50 > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-about-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-collab-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper {
    padding-top: 64px !important;
  }
}
@media (max-width: 767px) {
  .spo-split-50 > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-about-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-collab-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper {
    padding-top: 56px !important;
  }
}

/* Pricing: Paket N = small title; package name stays medium */
.spo-price-card .spo-price-paket,
.spo-price-card .vc_custom_heading.spo-price-paket {
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: var(--spo-page-accent, #437542) !important;
  margin: 0 0 2px !important;
}
.spo-price-card .spo-price-ibox,
.spo-price-card .spo-price-ibox.vc_custom_heading,
.spo-price-card .spo-price-ibox .aio-icon-title,
.spo-price-card h3.vc_custom_heading.spo-price-ibox {
  font-size: 18px !important;
  line-height: 1.35 !important;
}
@media (max-width: 991px) and (min-width: 768px) {
  .spo-pricing-grid:not(.spo-modules) > .wpb_column,
  .spo-pricing-grid:not(.spo-modules) > .vc_column_container {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }
}
@media (max-width: 767px) {
  .spo-pricing-grid > .wpb_column,
  .spo-pricing-grid > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* About: unify left gutter hamburg + FAQ on tablet/phone */
@media (max-width: 991px) {
  body.page-id-8363 .spo-faq > .wpb_column,
  body.page-ueber-mich .spo-faq > .wpb_column,
  body.page-id-8363 .spo-faq > .vc_column_container,
  body.page-ueber-mich .spo-faq > .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  body.page-id-8363 .spo-faq > .wpb_column > .vc_column-inner,
  body.page-ueber-mich .spo-faq > .wpb_column > .vc_column-inner,
  body.page-id-8363 .spo-faq .ult_content_box,
  body.page-ueber-mich .spo-faq .ult_content_box,
  body.page-id-8363 .spo-faq .ult-content-box-container,
  body.page-ueber-mich .spo-faq .ult-content-box-container {
    padding-left: 32px !important;
    padding-right: 32px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.page-id-8363 .spo-about-hamburg .spo-lime-btn,
  body.page-ueber-mich .spo-about-hamburg .spo-lime-btn,
  body.page-id-8363 .spo-faq .spo-lime-btn,
  body.page-ueber-mich .spo-faq .spo-lime-btn {
    margin-left: 0 !important;
  }
}
@media (max-width: 767px) {
  body.page-id-8363 .spo-about-hamburg > .spo-split-txt > .vc_column-inner,
  body.page-ueber-mich .spo-about-hamburg > .spo-split-txt > .vc_column-inner,
  body.page-id-8363 .spo-about-hamburg > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  body.page-ueber-mich .spo-about-hamburg > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  body.page-id-8363 .spo-faq > .wpb_column > .vc_column-inner,
  body.page-ueber-mich .spo-faq > .wpb_column > .vc_column-inner {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/*
 * Tablet: full-bleed heroes + left/right splits break out of .container, so a
 * flat 32px pad sits left of normal page copy. Match Deep .container (750 + 25)
 * so stacked text lines up with bausteine / quote / pricing / FAQ.
 */
@media (max-width: 991px) and (min-width: 768px) {
  .spo-hero-row > .spo-hero-copy > .vc_column-inner > .wpb_wrapper,
  .spo-split-50 > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-about-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper,
  .spo-home-collab-split > .spo-split-txt > .vc_column-inner > .wpb_wrapper {
    padding-left: calc((100vw - 750px) / 2 + 25px) !important;
    padding-right: calc((100vw - 750px) / 2 + 25px) !important;
  }
  .spo-hero-copy > .vc_column-inner,
  .spo-hero-copy .vc_column-inner,
  .vc_custom_spo_hero_txt,
  .spo-split-50 .spo-split-txt > .vc_column-inner,
  .spo-home-about-split .spo-split-txt > .vc_column-inner,
  .spo-home-collab-split .spo-split-txt > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Footer partner logos: wrap + equal gutters (chrome floats; don't bias left) */
#big_footer .spo-footer-logos {
  flex-wrap: wrap !important;
  justify-content: center;
  padding: 0 28px 8px !important;
  box-sizing: border-box;
  max-width: min(1400px, 100%);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1366px) {
  #big_footer .spo-footer-logos {
    padding-left: 28px !important;
    padding-right: 28px !important;
    gap: 16px 20px;
  }
  #big_footer .spo-footer-logos img,
  #big_footer .spo-footer-logo {
    max-height: 36px;
    max-width: 120px;
  }
}

/* Phone: keep centered section titles optically centered (all pages) */
@media (max-width: 767px) {
  .spo-refs > .wpb_column > .vc_column-inner,
  .spo-quotes > .wpb_column > .vc_column-inner,
  .spo-quotes > .vc_column_container > .vc_column-inner,
  .spo-pricing-head > .wpb_column > .vc_column-inner,
  .spo-modules-head > .wpb_column > .vc_column-inner,
  .spo-bausteine > .wpb_column > .vc_column-inner,
  .spo-cta-banner > .wpb_column > .vc_column-inner,
  .spo-logos > .wpb_column > .vc_column-inner {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}

/* OE / GC / PC scroll stacks: smaller icons, larger stack headings */
@media (max-width: 991px) {
  .spo-services-scroll .spo-scroll-icon-img,
  .spo-services-scroll-mobile .spo-scroll-icon-img,
  .spo-services-scroll .spo-scroll-icon-img .wpb_wrapper,
  .spo-services-scroll-mobile .spo-scroll-icon-img .wpb_wrapper,
  .spo-services-scroll .spo-scroll-icon-img .vc_figure,
  .spo-services-scroll-mobile .spo-scroll-icon-img .vc_figure,
  .spo-services-scroll .spo-scroll-icon-img .vc_single_image-wrapper,
  .spo-services-scroll-mobile .spo-scroll-icon-img .vc_single_image-wrapper {
    max-width: 112px !important;
  }
  .spo-services-scroll .spo-scroll-icon-img img,
  .spo-services-scroll-mobile .spo-scroll-icon-img img {
    max-width: 112px !important;
    max-height: 96px !important;
    width: auto !important;
    height: auto !important;
  }
  .spo-services-scroll .spo-scroll-title,
  .spo-services-scroll-mobile .spo-scroll-title,
  .spo-services-scroll h3.spo-scroll-title,
  .spo-services-scroll-mobile h3.spo-scroll-title,
  .spo-services-scroll .vc_custom_heading.spo-scroll-title,
  .spo-services-scroll-mobile .vc_custom_heading.spo-scroll-title {
    font-size: clamp(28px, 6.8vw, 34px) !important;
    line-height: 1.22 !important;
    font-weight: 600 !important;
    margin: 8px 0 12px !important;
  }
  .spo-services-scroll-mobile .spo-scroll-sticky-title,
  .spo-services-scroll-mobile h3.spo-scroll-sticky-title,
  .spo-services-scroll-mobile .vc_custom_heading.spo-scroll-sticky-title {
    font-size: clamp(20px, 5vw, 26px) !important;
    line-height: 1.3 !important;
  }
}
@media (max-width: 767px) {
  .spo-services-scroll .spo-scroll-icon-img img,
  .spo-services-scroll-mobile .spo-scroll-icon-img img {
    max-width: 96px !important;
    max-height: 84px !important;
  }
}

/*
 * Equal mobile gutters pass — sticky chrome must not optically shove
 * BAFA/INQA frames, footer logos, bausteine copy, or logos strip left.
 */
@media (max-width: 767px) {
  .spo-bausteine-tabs.vc_custom_spo_bautabs:not(.spo-about-bausteine-tabs),
  .spo-bausteine-tabs:not(.spo-about-bausteine-tabs) {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
  .spo-about-bausteine-tabs.spo-bausteine-tabs,
  .spo-about-bausteine-tabs {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .spo-oe-inqa-cta > .wpb_column > .vc_column-inner,
  .spo-home-inqa-cta > .wpb_column > .vc_column-inner,
  .spo-about-inqa-cta > .wpb_column > .vc_column-inner,
  .spo-postcovid-cta > .wpb_column > .vc_column-inner,
  .spo-about-insight > .wpb_column > .vc_column-inner {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .spo-oe-inqa-cta .spo-postcovid-frame,
  .spo-home-inqa-cta .spo-postcovid-frame,
  .spo-about-inqa-cta .spo-postcovid-frame,
  .spo-postcovid-cta .spo-postcovid-frame,
  .spo-about-insight .spo-postcovid-frame {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #big_footer .spo-footer-logos {
    padding-left: 28px !important;
    padding-right: 28px !important;
    justify-content: center !important;
  }

  .spo-logo-list {
    padding-left: 28px !important;
    padding-right: 28px !important;
    justify-content: center !important;
  }

  /* Name / insight framed boxes — keep frame optically centered */
  body.page-id-8363 .spo-postcovid-cta > .wpb_column > .vc_column-inner,
  body.page-ueber-mich .spo-postcovid-cta > .wpb_column > .vc_column-inner {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  /* About tab panels: stretch to full content width (kill left-biased 5/7 split) */
  .spo-about-bausteine-tabs .ult_tabs,
  .spo-about-bausteine-tabs .ult_tabcontent,
  .spo-about-bausteine-tabs .ult_tab_min_contain,
  .spo-about-bausteine-tabs .ult_tabitemname,
  .spo-about-bausteine-tabs .wpb_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row.vc_inner,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row,
  .spo-about-bausteine-tabs .ult_tabitemname .wpb_row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 20px !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner > .wpb_column,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner > .vc_column_container,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row.vc_inner > .wpb_column,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row.vc_inner > .vc_column_container,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row > .wpb_column,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row > .vc_column_container,
  .spo-about-bausteine-tabs .ult_tabitemname [class*="vc_col-"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
    align-self: stretch !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname .vc_column-inner,
  .spo-about-bausteine-tabs .ult_tabitemname .wpb_wrapper,
  .spo-about-bausteine-tabs .spo-bau-tab-heading,
  .spo-about-bausteine-tabs .spo-bau-tab-body,
  .spo-about-bausteine-tabs .spo-about-tab-body {
    width: 100% !important;
    max-width: none !important;
  }
  /* Re-assert centered bullet rows after full-width stretch */
  .spo-about-bausteine-tabs .spo-about-tab-body ul,
  .spo-about-bausteine-tabs .wpb_text_column ul {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center !important;
  }
  .spo-about-bausteine-tabs .spo-about-tab-body li,
  .spo-about-bausteine-tabs .wpb_text_column li {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    text-align: center !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 400 !important;
    color: #4a4a4a !important;
  }
  .spo-about-bausteine-tabs .spo-about-tab-body p {
    text-align: center !important;
    font-weight: 400 !important;
    color: #4a4a4a !important;
  }
  .spo-bausteine-tabs .spo-bau-tabs-scroll,
  .spo-about-bausteine-tabs .spo-about-tabs-scroll,
  .spo-about-bausteine-tabs .spo-bau-tabs-scroll {
    width: 100% !important;
    max-width: 100% !important;
  }
  .spo-bausteine-tabs .ult_tabmenu.style3,
  .spo-about-bausteine-tabs .ult_tabmenu.style3 {
    width: max-content !important;
    max-width: none !important;
  }
}

/* Tablet: same full-width stretch for About bausteine panels */
@media (max-width: 991px) {
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row.vc_inner,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname [class*="vc_col-"],
  .spo-about-bausteine-tabs .ult_tabitemname .wpb_column,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_column_container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    align-self: stretch !important;
  }
}


/* About bausteine: Ultimate adds 15px pad on .ult_tabitemname; VC row uses -15px
   margins so the copy column stays ~218px and hugs the left. Kill both on phone/tablet. */
@media (max-width: 991px) {
  .spo-about-bausteine-tabs .ult_tabitemname,
  .spo-about-bausteine-tabs .ult_tabcontent,
  .spo-about-bausteine-tabs .ult_tab_min_contain {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row.vc_inner,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner,
  .spo-about-bausteine-tabs .ult_tabitemname .wpb_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* Bausteine tabs (OE/GC/PC/About): full-width panel copy on phone/tablet.
   Row keeps side gutter; column-inner + Ultimate tabitem pad must not double it. */
@media (max-width: 991px) {
  .spo-bausteine-tabs.spo-bausteine-tabs,
  .spo-bausteine-tabs,
  .spo-about-bausteine-tabs.spo-bausteine-tabs,
  .spo-about-bausteine-tabs {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .spo-bausteine-tabs > .wpb_column > .vc_column-inner,
  .spo-bausteine-tabs > .vc_column_container > .vc_column-inner,
  .spo-about-bausteine-tabs > .wpb_column > .vc_column-inner,
  .spo-about-bausteine-tabs > .vc_column_container > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .spo-bausteine-tabs .ult_tabs,
  .spo-bausteine-tabs .ult_tabcontent,
  .spo-bausteine-tabs .ult_tab_min_contain,
  .spo-bausteine-tabs .ult_tabitemname,
  .spo-bausteine-tabs .wpb_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .spo-bausteine-tabs .ult_tabitemname {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .spo-bausteine-tabs .ult_tabitemname .vc_row,
  .spo-bausteine-tabs .ult_tabitemname .vc_row.vc_inner,
  .spo-bausteine-tabs .ult_tabitemname .vc_row_inner,
  .spo-bausteine-tabs .ult_tabitemname .wpb_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
  }
  .spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row_inner > .wpb_column,
  .spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row_inner > .vc_column_container,
  .spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row.vc_inner > .wpb_column,
  .spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname .vc_row.vc_inner > .vc_column_container,
  .spo-bausteine-tabs:not(.spo-about-bausteine-tabs) .ult_tabitemname [class*="vc_col-"] {
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 100% !important;
    align-self: stretch !important;
  }
  .spo-bausteine-tabs .spo-bau-tab-heading,
  .spo-bausteine-tabs .spo-bau-tab-under,
  .spo-bausteine-tabs .spo-bau-tab-body,
  .spo-bausteine-tabs .spo-bau-tab-body p {
    max-width: none !important;
    width: 100% !important;
  }
}



/* About bausteine: tighten tab→content gap on phone/tablet
   (was ~96px from margin 20 + double padding-top 28+28). */
@media (max-width: 991px) {
  .spo-about-bausteine-tabs .ult_tabcontent,
  .spo-about-bausteine-tabs .ult_tab_min_contain {
    margin-top: 8px !important;
    padding-top: 0 !important;
    min-height: 0 !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname {
    padding-top: 12px !important;
    padding-bottom: 0 !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row_inner,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row.vc_inner,
  .spo-about-bausteine-tabs .ult_tabitemname .vc_row {
    gap: 16px !important;
  }
  .spo-about-bausteine-tabs .spo-bau-tab-heading,
  .spo-about-bausteine-tabs h3.spo-bau-tab-heading {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }
  .spo-about-bausteine-tabs .ult_tabitemname .ult-spacer {
    height: 12px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .spo-bausteine-tabs .spo-bau-tabs-scroll,
  .spo-about-bausteine-tabs .spo-about-tabs-scroll,
  .spo-about-bausteine-tabs .spo-bau-tabs-scroll {
    margin-bottom: 0 !important;
  }
}
