/*
 * Snapshot CTA mark is painted on `.section-cta:has(.machbar-snapshot-cta)::after`
 * (see machbar-snapshots.css) so it stays full-bleed with the tinted band.
 * Other CTAs keep Webflow’s per-tone PNG background-images.
 */
.container.cta-hellgr-n.machbar-snapshot-cta,
.container.cta-rot.machbar-snapshot-cta,
.container.cta-violett.machbar-snapshot-cta,
.container.cta-hellblau.machbar-snapshot-cta,
.container.cta-gr-n.machbar-snapshot-cta,
.container.cta-blau.machbar-snapshot-cta {
  position: relative;
  background-image: none !important;
}

/*
 * Webflow parity: hide ~1px black encoder edge on MP4 sides/bottom.
 * Top is left unclipped so viewport-flush heroes do not show a 1px gap.
 */
.machbar-bg-video,
.machbar-grid-video,
.video_with_posterimage,
.video_with_posterimage .case-video {
  clip-path: inset(0 1px 1px 1px);
}

/* Homepage video crop override lives in machbar-home.css (home-only sheet). */

/* Profil / page scroll-scrub Lottie — box model from Webflow .fixed (70vh cap desktop, full width ≤991px).
   Do not set max-width here; it would override machbar2023.webflow.css breakpoint rules. */
.machbar-lottie-scrub {
  width: 100%;
}

.machbar-lottie-scrub svg {
  width: 100% !important;
  height: auto !important;
}

/* Leistungen / Services taxonomy tags → landing pages (cases, snapshots, SL sidebar)
   Unified brand link: dunkelgrün + underline on hover (not case-theme ink, not opacity fade). */
a.machbar-service-link {
  display: block;
  width: fit-content;
  max-width: 100%;
  color: var(--machbar-dunkelgrün, #407f72);
  text-decoration: none;
  text-underline-offset: 0.18em;
  transition:
    color 0.2s ease,
    text-decoration-color 0.2s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

a.machbar-service-link:hover,
a.machbar-service-link:focus-visible {
  color: var(--machbar-dunkelgrün, #407f72);
  text-decoration: underline;
  opacity: 1;
}

a.machbar-service-link:focus-visible {
  outline: 2px solid var(--machbar-dunkelgrün, #407f72);
  outline-offset: 2px;
}

/* Win over more-specific sidebar inherit rules */
.machbar-sl-page a.machbar-service-link,
.machbar-sl-page a.machbar-sl-sidebar-link.machbar-service-link {
  color: var(--machbar-dunkelgrün, #407f72);
}

.machbar-sl-page a.machbar-service-link:hover,
.machbar-sl-page a.machbar-service-link:focus-visible,
.machbar-sl-page a.machbar-sl-sidebar-link.machbar-service-link:hover,
.machbar-sl-page a.machbar-sl-sidebar-link.machbar-service-link:focus-visible {
  color: var(--machbar-dunkelgrün, #407f72);
  text-decoration: underline;
  opacity: 1;
}

/* Profil Lottie scroll-scrub — structure matches Webflow: .gl section wraps sticky + runway */
.section-pageparagraph.machbar-lottie-scroll-section .sticky-container {
  top: var(--machbar-sticky-top, 0px);
}

.section-pageparagraph.machbar-lottie-scroll-section .scrolled-container {
  display: block;
  pointer-events: none;
}

/* Prozess page: narrow process video (not grid half / full bleed) */
.video_w_pi_div-prozess {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin-top: 60px;
  min-height: 0;
}

.video_w_pi_div-prozess:not([style*='aspect-ratio']) {
  aspect-ratio: 16 / 9;
}

.video_w_pi_div-prozess .video_with_posterimage {
  position: absolute;
  inset: 0;
  z-index: 2;
  margin: 0;
  padding: 0 40px;
  display: block;
  overflow: hidden;
}

.video_w_pi_div-prozess .video_with_posterimage .posterimage_of_video {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.video_w_pi_div-prozess .video_with_posterimage .case-video,
.video_w_pi_div-prozess .video_with_posterimage .machbar-bg-video,
.video_w_pi_div-prozess .video_with_posterimage video {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  pointer-events: none;
}

.video_w_pi_div-prozess
  .video_with_posterimage:has(.machbar-bg-video.is-playing.is-ready)
  .posterimage_of_video,
.video_w_pi_div-prozess
  .video_with_posterimage:has(.case-video.is-playing.is-ready)
  .posterimage_of_video {
  opacity: 0;
  visibility: hidden;
}

.video_w_pi_div-prozess .video_with_posterimage .case-video.is-playing.is-ready,
.video_w_pi_div-prozess .video_with_posterimage .machbar-bg-video.is-playing.is-ready,
.video_w_pi_div-prozess .video_with_posterimage video.is-playing.is-ready {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 991px) {
  .video_w_pi_div-prozess {
    margin-top: 40px;
  }

  .video_w_pi_div-prozess .video_with_posterimage {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Kontakt — Webflow sets .video_orbit1 { display: none } globally */
.section-contact .video_orbit1 {
  display: block;
  position: relative;
  width: 100%;
}

.section-contact .video_orbit1 iframe {
  border: none;
}

/*
 * Contact location video: Webflow puts .posterimage_of_video at z-index:2 over the
 * <video>. Process/case stripes hide the poster via .video_w_pi_div-prozess; contact
 * uses .video_orbit1 instead, so without this the Google-Earth poster stays forever.
 */
.section-contact .video_orbit1 .video_with_posterimage {
  position: absolute;
  inset: 0;
  margin: 0;
  overflow: hidden;
}

.section-contact .video_orbit1 .video_with_posterimage .posterimage_of_video,
.section-contact .video_orbit1 .video_with_posterimage .hero-poster-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.section-contact .video_orbit1 .video_with_posterimage .case-video,
.section-contact .video_orbit1 .video_with_posterimage .machbar-bg-video,
.section-contact .video_orbit1 .video_with_posterimage video {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  pointer-events: none;
}

.section-contact
  .video_orbit1
  .video_with_posterimage:has(.machbar-bg-video.is-playing.is-ready)
  .posterimage_of_video,
.section-contact
  .video_orbit1
  .video_with_posterimage:has(.case-video.is-playing.is-ready)
  .posterimage_of_video,
.section-contact
  .video_orbit1
  .video_with_posterimage:has(.machbar-bg-video.is-playing.is-ready)
  .hero-poster-image,
.section-contact
  .video_orbit1
  .video_with_posterimage:has(.case-video.is-playing.is-ready)
  .hero-poster-image {
  opacity: 0;
  visibility: hidden;
}

.section-contact .video_orbit1 .video_with_posterimage .case-video.is-playing.is-ready,
.section-contact .video_orbit1 .video_with_posterimage .machbar-bg-video.is-playing.is-ready,
.section-contact .video_orbit1 .video_with_posterimage video.is-playing.is-ready {
  opacity: 1;
}

.section-pageparagraph .container > img {
  width: 100%;
  height: auto;
  display: block;
}

.section-contact a.contact-link {
  color: inherit;
  text-decoration: underline;
}

/* Site pages — related projects band (Profil, etc.; mirrors case footer teasers) */
.section-next-projects .container.centered.machbar-content-column {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

/* Keep short default headlines on one line (Prozess, Profil, cases, …) */
.section-next-projects .headline.white.teaser {
  white-space: nowrap;
  text-align: left;
  max-width: none;
  width: auto;
}

/* Full-bleed horizontal carousel — slides align to content grid (pair footer columns), peek at viewport */
.section-next-projects.is-carousel {
  --machbar-viewport-w: 100vw;
  --machbar-viewport-w: 100svw;
  --machbar-carousel-section-pad-x: 100px;
  --machbar-carousel-container-max: 1440px;
  --machbar-carousel-gap: 40px;
  --machbar-carousel-avail-w: max(
    0px,
    var(--machbar-viewport-w) - (2 * var(--machbar-carousel-section-pad-x))
  );
  --machbar-carousel-container-w: min(
    var(--machbar-carousel-container-max),
    var(--machbar-carousel-avail-w)
  );
  /* Left edge of .container.centered inside section padding */
  --machbar-carousel-inset: calc(
    var(--machbar-carousel-section-pad-x) +
      (var(--machbar-carousel-avail-w) - var(--machbar-carousel-container-w)) / 2
  );
  /* Same width as case-footer w-col-6 pair (40px gutter) */
  --machbar-carousel-slide-width: calc(
    (var(--machbar-carousel-container-w) - var(--machbar-carousel-gap)) / 2
  );
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: clip;
}

/* Carousel band (Profil etc.): headline + CTA centered above off-grid scroll */
.section-next-projects.is-carousel .container.centered.machbar-content-column {
  text-align: center;
  padding-left: var(--machbar-carousel-inset);
  padding-right: var(--machbar-carousel-inset);
}

.section-next-projects.is-carousel .headline.white.teaser {
  text-align: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.machbar-related-carousel {
  margin: 0;
}

.machbar-related-carousel-shell {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.machbar-related-carousel-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  cursor: grab;
  scrollbar-width: none;
  padding-left: var(--machbar-carousel-inset);
  padding-right: 0;
  scroll-padding-inline: var(--machbar-carousel-inset) 0;
  outline: none;
}

.machbar-related-carousel-viewport:active {
  cursor: grabbing;
}

.machbar-related-carousel-viewport:focus-visible {
  outline: none;
  box-shadow: none;
}

.machbar-related-carousel-viewport::-webkit-scrollbar {
  display: none;
}

.machbar-related-carousel-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: var(--machbar-carousel-gap);
  width: max-content;
  margin: 0;
  padding: 0 var(--machbar-carousel-inset) 0 0;
  list-style: none;
}

.machbar-related-carousel-slide {
  flex: 0 0 var(--machbar-carousel-slide-width);
  width: var(--machbar-carousel-slide-width);
  max-width: var(--machbar-carousel-slide-width);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  min-width: 0;
}

.machbar-related-carousel-slide .caseteaser {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.machbar-related-carousel-slide .case_link_block,
.machbar-related-carousel-slide .caseteaser {
  width: 100%;
}

.machbar-related-carousel-slide .machbar-caseteaser-media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.machbar-related-carousel-slide .overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.machbar-related-carousel-slide .caseteaser_textbox {
  z-index: 2;
  max-width: calc(100% - 48px);
}

.machbar-related-carousel-slide .caseteaser_text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.machbar-related-carousel-btn {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.32);
  color: #fff;
  transform: translateY(-50%);
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.2s ease, background-color 0.2s ease;
}

.machbar-related-carousel-btn:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.48);
}

.machbar-related-carousel-btn:disabled {
  opacity: 0.25;
  cursor: default;
}

.machbar-related-carousel-btn--prev {
  left: max(12px, calc(var(--machbar-carousel-inset) - 56px));
}

.machbar-related-carousel-btn--next {
  right: 16px;
}

.machbar-related-carousel-btn-icon {
  display: block;
  width: 26px;
  height: auto;
  pointer-events: none;
}

.machbar-related-carousel-btn-icon--prev {
  transform: scaleX(-1);
}

.machbar-related-carousel-shell.is-scrollable::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: min(64px, 10vw);
  height: 100%;
  pointer-events: none;
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.12));
  opacity: 1;
  transition: opacity 0.2s ease;
}

.machbar-related-carousel-shell.is-scrollable.is-at-end::after {
  opacity: 0;
}

.section-next-projects.is-carousel .link-block .linkbox {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  max-width: 100%;
}

.section-next-projects.is-carousel .link-block .linkbox .headline-2.link {
  white-space: nowrap;
}

.section-next-projects .link-block .linkbox .headline-2.link {
  color: #fff;
}

.section-next-projects.profil .link-block .linkbox .headline-2.link {
  color: #fff;
}

.section-next-projects .machbar-case-next-row.w-row {
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.section-next-projects .machbar-case-next-row .w-col {
  float: left;
  width: 50%;
  box-sizing: border-box;
}

.section-next-projects .machbar-case-next-row .column-1 {
  padding-right: 20px;
}

.section-next-projects .machbar-case-next-row .column-2 {
  padding-left: 20px;
}

.section-next-projects .caseteaser {
  aspect-ratio: 16 / 9;
}

.section-next-projects .caseteaser .machbar-caseteaser-media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.section-next-projects .caseteaser .overlay {
  z-index: 1;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent 50%);
  mix-blend-mode: multiply;
  pointer-events: none;
}

@media screen and (max-width: 1440px) {
  .machbar-related-carousel-slide .caseteaser_text {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .section-next-projects.is-carousel {
    --machbar-carousel-section-pad-x: 40px;
    --machbar-carousel-gap: 20px;
    --machbar-carousel-slide-width: calc(
      var(--machbar-carousel-container-w) - 18vw
    );
  }

  .section-next-projects .machbar-case-next-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .section-next-projects .machbar-case-next-row.w-row::before,
  .section-next-projects .machbar-case-next-row.w-row::after {
    content: none;
    display: none;
  }

  .section-next-projects .machbar-case-next-row .w-col,
  .section-next-projects .machbar-case-next-row .w-col-6 {
    width: 100%;
    max-width: 100%;
    float: none;
  }

  .section-next-projects .machbar-case-next-row .column-1 {
    padding-right: 0;
    padding-bottom: 0;
  }

  .section-next-projects .machbar-case-next-row .column-2 {
    padding-left: 0;
  }

  .section-next-projects .case_link_block,
  .section-next-projects .caseteaser {
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .section-next-projects.is-carousel {
    --machbar-carousel-section-pad-x: 20px;
    --machbar-carousel-slide-width: calc(
      var(--machbar-carousel-container-w) - 16vw
    );
  }

  .section-next-projects .headline.white.teaser {
    white-space: normal;
  }

  .machbar-related-carousel-btn {
    width: 40px;
    height: 40px;
  }

  .machbar-related-carousel-btn-icon {
    width: 22px;
  }

  .machbar-related-carousel-slide .caseteaser_headline {
    font-size: 30px;
    line-height: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .machbar-related-carousel-viewport {
    scroll-behavior: auto;
  }
}

/* —— Service landing — simplified type & rhythm —— */

/* Consecutive body paragraphs: one blank line between */
.section-pageparagraph .paragraph.page + .paragraph.page,
.section-jobliste.machbar-sl-faq-band .paragraph.jobliste .paragraph.page + .paragraph.page {
  margin-top: 30px;
}

/* Merged page text+quote flow (ContentStripes textStripeGroup) */
.machbar-page-flow__chapter + .machbar-page-flow__chapter,
.machbar-page-flow__quote + .machbar-page-flow__chapter,
.machbar-page-flow__chapter + .machbar-page-flow__quote {
  margin-top: 3rem;
}

.machbar-page-flow__chapter .headline {
  margin: 0 0 1.15rem;
}

.machbar-page-flow__quote .quote-author {
  max-width: 42rem;
  margin: 0;
  font-weight: 600;
}

/* HTML bodies (Insights AI / renderHtml): real paragraphs + lists */
.section-pageparagraph .paragraph.page > p {
  margin: 0;
  max-width: 1000px;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
}

.section-pageparagraph .paragraph.page > p + p {
  margin-top: 1.15em;
}

.section-pageparagraph .paragraph.page > ul {
  margin: 1.2em 0 0;
  padding-left: 1.35em;
  max-width: 1000px;
  list-style: disc;
}

.section-pageparagraph .paragraph.page > ul > li {
  margin: 0.55em 0;
  padding-left: 0.15em;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
}

.section-pageparagraph .paragraph.page > p + ul,
.section-pageparagraph .paragraph.page > ul + p {
  margin-top: 1.2em;
}

.section-pageparagraph .paragraph.page > *:first-child {
  margin-top: 0;
}

.machbar-pageheader-breadcrumb {
  margin: 0 0 0.85rem;
  font-family: Inter-Lokal, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #407f72;
}

.machbar-pageheader-breadcrumb__sep {
  color: #407f72;
  opacity: 0.55;
}

.machbar-pageheader-breadcrumb__link {
  color: #407f72;
  text-decoration: none;
  border-bottom: 1px solid rgba(64, 127, 114, 0.35);
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

.machbar-pageheader-breadcrumb__link:hover,
.machbar-pageheader-breadcrumb__link:focus-visible {
  opacity: 0.65;
  border-bottom-color: #407f72;
}

.machbar-pageheader-breadcrumb__link:active {
  opacity: 0.4;
}

.machbar-pageheader-breadcrumb__current {
  color: #407f72;
}

/*
 * Page heroes share one top rhythm (Services, Insights, Profil, …).
 * Override Webflow’s full `padding:` shorthand (not only padding-top) so it
 * cannot win the cascade. Absolute nav sits over this band.
 */
.section-pageheader,
.section-pageheader.profil,
.section-pageheader.prozess,
.section-pageheader.team,
.section-pageheader.projekte,
.section-pageheader.jobs,
.section-pageheader.kontakt,
.section-pageheader.impressum,
.section-pageheader.ausbildung {
  padding: 160px 100px 88px;
}

/*
 * Services / Insights: breadcrumb or topic sits under the absolute nav.
 * Extra pad-top so the first line isn’t cramped under the chrome (~70px).
 */
.section-pageheader:has(.machbar-pageheader-breadcrumb),
.section-pageheader:has(.machbar-pageheader-topic) {
  padding-top: 220px;
}

/* No breadcrumb: small optical offset under nav */
.section-pageheader .w-container > .headline.big:first-child {
  margin-top: 0.35rem;
}

/* With breadcrumb: clear air between crumb and H1 (padding avoids margin collapse) */
.section-pageheader .machbar-pageheader-breadcrumb + .headline.big {
  margin-top: 0;
  padding-top: 1.75rem;
}

.section-pageheader.has-hero-body {
  padding-bottom: 56px;
}

.machbar-pageheader-thesis {
  margin: 1rem 0 0;
  max-width: min(70%, 52rem);
  font-family: Informative, sans-serif;
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  font-weight: 600;
  line-height: 1.3;
  color: #333;
}

/* Insights topic above H1 — same scale/face as service breadcrumb, not a fake H1 */
.section-pageheader .machbar-pageheader-topic {
  margin: 0 0 0.85rem;
  max-width: min(70%, 40rem);
  font-family: Inter-Lokal, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: #407f72;
}

.section-pageheader.has-topic-eyebrow .machbar-pageheader-topic + .headline.big {
  margin-top: 0;
  padding-top: 1.75rem;
}

.machbar-pageheader-jump {
  display: inline-block;
  margin-top: 1.5rem;
  text-decoration: none;
  color: #407f72;
}

.machbar-pageheader-jump .linkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
}

.machbar-pageheader-jump .headline-2.link.dunkelgr-n,
.machbar-pageheader-jump .headline-2.link {
  color: #407f72 !important;
}

.machbar-sl-chapter.section-pageparagraph {
  padding: 120px var(--machbar-sl-pad-x, 100px);
}

/* Case-style two-column intro — CSS grid so wide Mermaid can’t blow the column */
.machbar-sl-page .section-intro.machbar-sl-intro-band {
  background-color: #fff;
  padding: 80px var(--machbar-sl-pad-x, 100px) 120px;
  color: #333;
}

.machbar-sl-page .section-intro .container.intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 80px;
  row-gap: 2.5rem;
  align-items: start;
  justify-content: stretch;
  width: 100%;
  max-width: var(--machbar-sl-max, var(--machbar-content-max, 1600px));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/*
 * Webflow `.w-container::before/::after` clearfix uses display:table +
 * grid-column 1 / grid-row 1 — that steals the left track, so text auto-places
 * right and the sidebar drops under the article. Kill it on SL intro grids.
 */
.machbar-sl-page .section-intro .container.intro::before,
.machbar-sl-page .section-intro .container.intro::after {
  content: none !important;
  display: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

/* Left: copy · Right: Insight / Related (DOM order) */
.machbar-sl-page .section-intro .text-block.machbar-sl-main {
  grid-column: 1;
  grid-row: 1;
}

.machbar-sl-page .section-intro .project-block.machbar-sl-sidebar {
  grid-column: 2;
  grid-row: 1;
}

.machbar-sl-page .section-intro.machbar-sl-intro-band--solo .container.intro {
  grid-template-columns: minmax(0, 1fr);
}

.machbar-sl-page .section-intro .project-block,
.machbar-sl-page .section-intro .text-block {
  width: auto;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
  padding-left: 0;
  padding-right: 0;
}

.machbar-sl-page .machbar-sl-related__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.machbar-sl-page .machbar-sl-related__list a {
  font-size: 1.05rem;
  line-height: 1.4;
}

.machbar-sl-page .projectbox---text-bold.darkgreen {
  color: #407f72;
}

.machbar-sl-page .projectbox---text-bold.darkgreen.machbar-sl-sidebar-link {
  display: block;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.machbar-sl-page .projectbox---text-bold.darkgreen.machbar-sl-sidebar-link:hover,
.machbar-sl-page .projectbox---text-bold.darkgreen.machbar-sl-sidebar-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.18em;
  opacity: 1;
}

.machbar-sl-page .machbar-sl-sidebar-link {
  display: block;
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.18em;
  transition:
    color 0.2s ease,
    text-decoration-color 0.2s ease;
}

.machbar-sl-page .machbar-sl-sidebar-link:hover,
.machbar-sl-page .machbar-sl-sidebar-link:focus-visible {
  color: var(--machbar-dunkelgrün, #407f72);
  text-decoration: underline;
}

.machbar-sl-page .machbar-sl-sidebar__block {
  margin-top: 0;
}

.machbar-sl-page .machbar-sl-sidebar__group + .machbar-sl-sidebar__group {
  margin-top: 1.25rem;
}

.machbar-sl-page .machbar-sl-sidebar__group .projectbox---text-bold {
  margin-top: 0.75rem;
}

.machbar-sl-page .machbar-sl-sidebar__group .projectbox---text-bold:first-child {
  margin-top: 0;
}

.machbar-sl-page .machbar-sl-main .paragraph {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #333;
}

.machbar-sl-page .machbar-sl-main__lead {
  font-weight: 600;
}

.machbar-sl-page .machbar-sl-main__body + .machbar-sl-main__body,
.machbar-sl-page .machbar-sl-main__lead + .machbar-sl-main__body,
.machbar-sl-page .machbar-sl-questions-label + .machbar-sl-themes--inline {
  margin-top: 1rem;
}

.machbar-sl-questions-label,
.machbar-sl-projects__title,
.machbar-sl-projects__all-label,
.machbar-sl-sidebar__related-title {
  margin: 0;
  font-size: 26px;
  line-height: 32px;
  font-weight: 600;
  color: #407f72 !important;
}

.machbar-sl-sidebar__block--related .machbar-sl-sidebar__related-title {
  margin-bottom: 1rem;
}

.machbar-sl-projects__all--foot {
  display: none;
}

.machbar-sl-projects__all .linkbox {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35em;
}

.machbar-sl-projects__all .cta-arrow {
  flex: 0 0 auto;
  align-self: center;
  width: 1em;
  height: auto;
}

.machbar-sl-projects__all .machbar-sl-projects__all-label {
  display: inline;
}

/* Must beat `.section-intro .text-block .headline-2.link { margin-top: 0 }` (5 classes). */
.machbar-sl-page .section-intro .text-block .machbar-sl-main__body + .machbar-sl-questions-label,
.machbar-sl-page .section-intro .text-block .machbar-sl-main__lead + .machbar-sl-questions-label,
.machbar-sl-page .section-intro .text-block .machbar-mermaid-figure + .machbar-sl-questions-label,
.machbar-sl-page .section-intro .text-block .headline-2.link.machbar-sl-questions-label {
  /* Match Insights chapter H2 rhythm */
  margin-top: 4.5rem;
}

.machbar-sl-page .machbar-mermaid-figure {
  margin: 2rem 0 0;
  padding: 0;
  max-width: min(100%, 52rem);
  background: none;
  border: 0;
  box-shadow: none;
}

/*
 * Font on the pre is the source of truth: machbar-mermaid-client reads computed
 * style before layout so node boxes match painted Inter semibold.
 */
.machbar-sl-page .machbar-mermaid {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  overflow-x: auto;
  font-family: Inter-Lokal, system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--machbar-sl-ink, #407f72);
}

.machbar-sl-page .machbar-mermaid svg {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}

/* Boxes: fill only, no outlines */
.machbar-sl-page .machbar-mermaid .node rect,
.machbar-sl-page .machbar-mermaid .node polygon,
.machbar-sl-page .machbar-mermaid .node circle,
.machbar-sl-page .machbar-mermaid .node path,
.machbar-sl-page .machbar-mermaid .basic.label-container,
.machbar-sl-page .machbar-mermaid .label-container {
  stroke: none !important;
  stroke-width: 0 !important;
}

/* Thicker arrows / connectors */
.machbar-sl-page .machbar-mermaid .edgePath .path,
.machbar-sl-page .machbar-mermaid .flowchart-link,
.machbar-sl-page .machbar-mermaid path.flowchart-link {
  stroke-width: 2.75px !important;
}

.machbar-sl-page .machbar-mermaid .arrowheadPath,
.machbar-sl-page .machbar-mermaid marker path {
  stroke-width: 0 !important;
  fill: var(--machbar-sl-ink, #407f72) !important;
}

.machbar-sl-page .machbar-mermaid .nodeLabel,
.machbar-sl-page .machbar-mermaid .edgeLabel,
.machbar-sl-page .machbar-mermaid .label,
.machbar-sl-page .machbar-mermaid .cluster-label,
.machbar-sl-page .machbar-mermaid foreignObject div,
.machbar-sl-page .machbar-mermaid foreignObject span {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* Edge labels: white plate + dark type (readable over ink-colored arrows) */
.machbar-sl-page .machbar-mermaid .edgeLabel rect,
.machbar-sl-page .machbar-mermaid .edgeLabels .edgeLabel rect,
.machbar-sl-page .machbar-mermaid .edgeLabel > g > rect {
  fill: #fff !important;
  stroke: none !important;
}

.machbar-sl-page .machbar-mermaid .edgeLabel,
.machbar-sl-page .machbar-mermaid .edgeLabel span,
.machbar-sl-page .machbar-mermaid .edgeLabel p,
.machbar-sl-page .machbar-mermaid .edgeLabel foreignObject div,
.machbar-sl-page .machbar-mermaid .edgeLabel foreignObject span {
  color: #1a1a1a !important;
  background-color: #fff !important;
}

/* Space under diagram before caption / conclusion */
.machbar-sl-page .machbar-mermaid-caption {
  margin: 1.1rem 0 0;
  padding-top: 0;
  font-family: Inter-Lokal, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  color: #666;
}

.machbar-sl-page .machbar-mermaid-figure + .machbar-sl-conclusio,
.machbar-sl-page .machbar-mermaid-figure + .machbar-sl-punchline,
.machbar-sl-page .machbar-mermaid-figure + .machbar-sl-main__body,
.machbar-sl-page .paragraph.page > .machbar-mermaid-figure + p {
  margin-top: 1.75rem;
}

.machbar-sl-page .machbar-mermaid-figure + .machbar-sl-conclusio,
.machbar-sl-page .machbar-mermaid-figure + .machbar-sl-punchline {
  font-weight: 700;
  color: #1a1a1a;
}

.machbar-sl-page .machbar-mermaid-figure + .machbar-sl-main__body {
  font-weight: 600;
  color: #333;
}

.machbar-sl-page .paragraph.page > .machbar-mermaid-figure {
  margin: 1.75rem 0 0;
}

.machbar-sl-page .paragraph.page > .machbar-mermaid-figure + p {
  font-weight: 700;
  color: #1a1a1a;
}

.machbar-sl-page .machbar-sl-section-heading {
  margin-top: 4.5rem;
  margin-bottom: 1rem;
}

.machbar-sl-page .machbar-sl-section-heading:first-child {
  margin-top: 0;
}

.machbar-sl-page .machbar-sl-conclusio + .machbar-sl-section-heading,
.machbar-sl-page .machbar-sl-punchline + .machbar-sl-section-heading,
.machbar-sl-page .machbar-mermaid-figure + .machbar-sl-section-heading,
.machbar-sl-page .machbar-sl-main__body + .machbar-sl-section-heading {
  margin-top: 4.5rem;
}

.machbar-sl-page .machbar-sl-section-sub {
  margin: 1.35rem 0 0.45rem;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0;
  color: #333;
}

/* Mid-flow “Umsetzung…” after body — lead-in, not a chapter */
.machbar-sl-page .machbar-sl-main__body + .machbar-sl-section-sub,
.machbar-sl-page .machbar-sl-conclusio + .machbar-sl-section-sub,
.machbar-sl-page .paragraph.page > p + .machbar-sl-section-sub,
.machbar-sl-page .paragraph.page > ul + .machbar-sl-section-sub {
  margin-top: 1.35rem;
}

/* Directly under a chapter H2 (or its first body), keep sub tighter to the chapter */
.machbar-sl-page .machbar-sl-section-heading + .machbar-sl-section-sub,
.machbar-sl-page .machbar-sl-section-heading + .machbar-sl-main__body + .machbar-sl-section-sub,
.machbar-sl-page .machbar-sl-section-heading + p + .machbar-sl-section-sub {
  margin-top: 1.1rem;
}

.machbar-sl-page .machbar-sl-conclusio,
.machbar-sl-page .machbar-sl-punchline,
.machbar-sl-page .paragraph.page > .machbar-sl-conclusio,
.machbar-sl-page .paragraph.page > p:has(> strong:only-child) {
  margin-top: 1.5rem;
  margin-bottom: 0.25rem;
  max-width: 40rem;
  font-family: Inter-Lokal, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  color: #1a1a1a;
}

.machbar-sl-page .machbar-sl-quote,
.machbar-sl-page .paragraph.page > .machbar-sl-quote,
.machbar-sl-page .machbar-page-flow__quote .quote-author {
  margin: 1.25rem 0 0.25rem;
  max-width: 36rem;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--machbar-sl-ink, #407f72);
}

/* Clear chapter break after a section conclusion before the next H2 / theses. */
.machbar-sl-page .machbar-sl-conclusio + .machbar-sl-section-heading,
.machbar-sl-page .machbar-sl-punchline + .machbar-sl-section-heading,
.machbar-sl-page .machbar-sl-conclusio + .machbar-sl-theses-heading,
.machbar-sl-page .machbar-sl-punchline + .machbar-sl-theses-heading {
  margin-top: 5rem;
}

.machbar-sl-page .machbar-mermaid-figure {
  opacity: 1;
  transform: none;
  transition: opacity 0.28s ease;
  min-height: 0;
}

/*
 * Hide Mermaid source until SVG is ready — no flash of flowchart text.
 * Do NOT collapse height (height:0 broke layout/measure and left figures stuck blank).
 * visibility:hidden keeps the node measurable for mermaid.run.
 */
.machbar-sl-page .machbar-mermaid-figure.is-pending .machbar-mermaid,
.machbar-sl-page .machbar-mermaid-figure:not(.is-ready) .machbar-mermaid {
  visibility: hidden;
  user-select: none;
}

.machbar-sl-page .machbar-mermaid-figure.is-ready .machbar-mermaid {
  visibility: visible;
}

/* Bottom breathing room of the figure stack (caption or following copy sits outside) */
.machbar-sl-page .machbar-mermaid-figure:not(:has(+ .machbar-sl-conclusio)):not(:has(+ .machbar-sl-punchline)):not(:has(+ .machbar-sl-main__body)) {
  margin-bottom: 2rem;
}

@media (prefers-reduced-motion: reduce) {
  .machbar-sl-page .machbar-mermaid-figure {
    transition: none;
  }
}

.machbar-sl-page .machbar-sl-theses .machbar-sl-themes__text {
  font-weight: 400;
}

.machbar-sl-page .headline.machbar-sl-headline {
  -webkit-text-stroke-color: transparent;
  margin-top: 0;
  margin-bottom: 40px;
  font-family: Informative, sans-serif;
  font-size: 50px;
  line-height: 60px;
  font-weight: 600;
  max-width: 1000px;
}

.machbar-sl-page .headline.machbar-sl-headline.darkgreen {
  color: #407f72;
}

.machbar-sl-intro .machbar-sl-lead:first-child {
  margin-top: 0;
}

.machbar-sl-page .machbar-sl-projects__titles .headline.machbar-sl-headline {
  margin-bottom: 0;
}

/* One body scale: Inter 20/30 — Fließtext, lists, results, step copy */
.machbar-sl-chapter .paragraph.page,
.machbar-sl-themes__text,
.machbar-sl-results li,
.machbar-sl-steps .paragraph.page {
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #333;
  max-width: none;
}

.machbar-sl-lead {
  margin: 0 0 1.25rem;
  max-width: min(78%, 56rem);
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  color: #333;
}

.machbar-sl-body {
  margin: 0 0 1.25rem;
  max-width: min(78%, 56rem);
}

.machbar-sl-body:last-child {
  margin-bottom: 0;
}

.machbar-sl-deliverables .machbar-sl-results {
  max-width: min(78%, 56rem);
}

.machbar-sl-process-chain {
  margin: 0;
  max-width: min(78%, 56rem);
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  color: var(--machbar-sl-ink, #407f72);
}

.machbar-sl-related {
  padding-bottom: 40px;
}

.machbar-sl-related-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: min(78%, 56rem);
}

.machbar-sl-related-link {
  display: block;
  font-family: Informative, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--machbar-dunkelgrün, #407f72);
  text-decoration: none;
  text-underline-offset: 0.18em;
  padding: 0.15rem 0;
  transition:
    color 0.2s ease,
    text-decoration-color 0.2s ease;
}

.machbar-sl-related-link[href]:hover,
.machbar-sl-related-link[href]:focus-visible {
  color: var(--machbar-dunkelgrün, #407f72);
  text-decoration: underline;
}

.machbar-sl-related-link--static {
  cursor: default;
}

.machbar-sl-hierarchy {
  padding-bottom: 40px;
}

.machbar-sl-hierarchy__roots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}

.machbar-sl-hierarchy__group-title {
  margin: 0 0 1rem;
  font-family: Informative, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--machbar-sl-ink, #407f72);
}

.machbar-sl-hierarchy__link {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.18em;
}

.machbar-sl-hierarchy__link:hover,
.machbar-sl-hierarchy__link:focus-visible {
  text-decoration: underline;
  opacity: 1;
}

.machbar-sl-hierarchy__services {
  margin: 0;
  padding: 0;
  list-style: none;
}

.machbar-sl-hierarchy__services--flat {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.machbar-sl-hierarchy__service {
  margin: 0;
  padding: 0.35rem 0;
}

.machbar-sl-hierarchy__services .machbar-sl-hierarchy__link,
.machbar-sl-hierarchy__label {
  font-family: Informative, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.machbar-sl-hierarchy__label {
  color: #333;
}

.machbar-sl-hierarchy__services .machbar-sl-hierarchy__link {
  color: var(--machbar-dunkelgrün, #407f72);
  text-decoration: none;
  text-underline-offset: 0.18em;
  transition:
    color 0.2s ease,
    text-decoration-color 0.2s ease;
}

.machbar-sl-hierarchy__services .machbar-sl-hierarchy__link:hover,
.machbar-sl-hierarchy__services .machbar-sl-hierarchy__link:focus-visible {
  color: var(--machbar-dunkelgrün, #407f72);
  text-decoration: underline;
}

.machbar-sl-hierarchy__teaser {
  margin: 0.35rem 0 0;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #333;
  max-width: 36rem;
}

.machbar-sl-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}

.machbar-sl-num {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-family: Inter-Lokal, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.04em;
  opacity: 0.55;
  color: var(--machbar-sl-ink, #407f72);
}

.machbar-sl-themes {
  margin: 0;
  padding: 0;
  list-style: none;
}

.machbar-sl-themes li {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.65rem 0;
}

.machbar-sl-process-band,
.machbar-sl-outcomes-band {
  background: #fff;
}

/* Field layout: outcomes left, services heading right, links full-width 4-col */
.machbar-sl-outcomes-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}

.machbar-sl-outcomes-pair__services {
  grid-column: 1 / -1;
}

.machbar-sl-steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.machbar-sl-steps > li {
  padding: 0 0 1.5rem;
}

.machbar-sl-steps > li:last-child {
  padding-bottom: 0;
}

.machbar-sl-steps__title {
  margin: 0 0 0.25rem;
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  color: #407f72;
}

.machbar-sl-steps .paragraph.page {
  margin: 0;
}

.machbar-sl-results {
  margin: 0;
  padding: 0;
  list-style: none;
}

.machbar-sl-results li {
  padding: 0.35rem 0;
}

.machbar-sl-page {
  /*
   * One horizontal shell for Insights + Leistungen:
   * section pad-x + centered max (follows --machbar-content-max: 1600 / 1440 @1920+).
   * Left/right content edge = max(pad, (100vw − max) / 2).
   */
  --machbar-sl-pad-x: 100px;
  --machbar-sl-max: var(--machbar-content-max, 1600px);
  --machbar-sl-inset: max(
    var(--machbar-sl-pad-x),
    calc((100vw - var(--machbar-sl-max)) / 2)
  );
  /* Soft wash (not full brand lime) — same pale band as before, + white m. on CTA */
  --machbar-sl-band: color-mix(in srgb, var(--machbar-sl-light, var(--machbar-green, #c7d530)) 36%, #fff);
  --machbar-snap-bg: var(--machbar-sl-band);
  --machbar-snap-ink: var(--machbar-sl-ink, #407f72);
}

/* Insights Abschnitte: tighter rhythm than stacked Webflow 120px sections */
.machbar-sl-page > .section-pageparagraph {
  padding: 56px var(--machbar-sl-pad-x, 100px);
}

.machbar-sl-page > .section-pageparagraph:first-child {
  padding-top: 64px;
}

.machbar-sl-page > .section-pageparagraph + .section-pageparagraph {
  padding-top: 20px;
}

.machbar-sl-page > .section-paragraph {
  padding: 28px var(--machbar-sl-pad-x, 100px) 36px;
}

.machbar-sl-page > .section-pageparagraph + .section-paragraph,
.machbar-sl-page > .section-paragraph + .section-pageparagraph {
  padding-top: 12px;
}

.machbar-sl-page .machbar-page-flow {
  padding-top: 64px;
  padding-bottom: 72px;
}

.machbar-sl-page .machbar-page-flow__chapter + .machbar-page-flow__chapter,
.machbar-sl-page .machbar-page-flow__quote + .machbar-page-flow__chapter,
.machbar-sl-page .machbar-page-flow__chapter + .machbar-page-flow__quote {
  margin-top: 3rem;
}

.machbar-sl-page .paragraph.page > ul > li::marker {
  color: var(--machbar-sl-ink, #407f72);
}

.machbar-sl-page .machbar-sl-related {
  padding-top: 48px;
  padding-bottom: 72px;
}

/* Insights body: same Webflow intro grid as Leistungen (container.intro → 50/50) */
.machbar-sl-page .section-intro.machbar-sl-intro-band--solo .text-block {
  width: auto;
  max-width: none;
}

.machbar-sl-page .section-intro .machbar-sl-sidebar {
  position: sticky;
  top: 6rem;
}

.machbar-sl-page .section-intro .machbar-sl-sidebar__block + .machbar-sl-sidebar__block,
.machbar-sl-page .section-intro .machbar-sl-sidebar__current + .machbar-sl-sidebar__block {
  margin-top: 2rem;
}

/* Same label size for Insight / Verwandte Insights / Schlagworte */
.machbar-sl-page .section-intro .machbar-sl-sidebar .projectbox---text-bold,
.machbar-sl-page .section-intro .machbar-sl-sidebar h3.projectbox---text-bold {
  margin: 0 0 0.65rem;
  font-family: Informative, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

.machbar-sl-page .section-intro .machbar-sl-sidebar .projectbox---text {
  margin: 0 0 0.35rem;
  font-size: 16px;
  line-height: 1.4;
}

/* Insights sidebar contact — half-width, left; contact lines on photo */
.machbar-sl-sidebar-contact__card {
  position: relative;
  overflow: hidden;
  width: 50%;
  max-width: 50%;
  aspect-ratio: 3 / 4;
  background: #2a2a28;
  border-radius: 0;
  margin: 0 0 0.75rem;
  margin-right: auto;
}

.machbar-sl-sidebar-contact__card .mitarbeiter-foto {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.machbar-sl-sidebar-contact__card .mitarbeiter-text {
  margin: 0;
  padding: 0.65rem 0.75rem 0.75rem;
  inset: auto 0 0 0;
  width: 100%;
  box-sizing: border-box;
}

.machbar-sl-sidebar-contact__card .mitarbeiter-text-name,
.machbar-sl-sidebar-contact__card .mitarbeiter-text-titel {
  font-size: 19.5px; /* 13px + 50% */
  line-height: 1.3;
}

.machbar-sl-sidebar-contact__card .mitarbeiter-text-name {
  font-weight: 700;
  color: #fff;
}

.machbar-sl-sidebar-contact__card .mitarbeiter-text-titel,
.machbar-sl-sidebar-contact__card a.machbar-sl-sidebar-contact__onphoto {
  display: block;
  color: #afd9d5;
  font-family: Inter-Lokal, sans-serif;
  font-size: 19.5px; /* 13px + 50% */
  font-weight: 300;
  line-height: 1.3;
  text-decoration: none;
  word-break: break-word;
}

.machbar-sl-sidebar-contact__card a.machbar-sl-sidebar-contact__onphoto:hover,
.machbar-sl-sidebar-contact__card a.machbar-sl-sidebar-contact__onphoto:focus-visible {
  color: #fff;
  text-decoration: underline;
}

.machbar-sl-sidebar-contact__name {
  margin-bottom: 0.5rem !important;
}

.machbar-sl-sidebar-contact__link {
  word-break: break-word;
}

/* Nested Abschnitte: flatten wrappers so copy sits like Leistungen text-block */
.machbar-sl-page .section-intro .text-block > .section-pageparagraph,
.machbar-sl-page .section-intro .text-block > .section-pageparagraph.machbar-page-flow,
.machbar-sl-page .section-intro .text-block .machbar-page-flow {
  display: contents;
}

.machbar-sl-page .section-intro .text-block .machbar-page-flow__chapter,
.machbar-sl-page .section-intro .text-block .machbar-page-flow__quote,
.machbar-sl-page .section-intro .text-block .container,
.machbar-sl-page .section-intro .text-block .w-container {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* Body copy fills the left intro column (same as theses / numbered blocks) */
.machbar-sl-page .section-intro .text-block .paragraph.page,
.machbar-sl-page .section-intro .text-block .paragraph.page > p,
.machbar-sl-page .section-intro .text-block .paragraph.page > ul > li {
  max-width: none;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
  color: #333;
}

.machbar-sl-page .section-intro .text-block .paragraph.page > ul {
  max-width: none;
  margin: 1.2em 0 0;
  padding-left: 1.35em;
  list-style: disc;
}

.machbar-sl-page .section-intro .text-block .paragraph.page > ul > li {
  margin: 0.55em 0;
  padding-left: 0.15em;
}

.machbar-sl-page .section-intro .text-block .paragraph.page > ul > li::marker {
  color: var(--machbar-sl-ink, #407f72);
}

.machbar-sl-page .section-intro .text-block .machbar-sl-main__lead,
.machbar-sl-page .section-intro .text-block .machbar-sl-main__body {
  max-width: none;
}

/* Headline (Abschnitte chapter): same as Leistungen “Die wichtigsten Fragen”.
 * Do not set margin-top here — .machbar-sl-section-heading owns chapter rhythm. */
.machbar-sl-page .section-intro .machbar-page-flow__chapter .headline,
.machbar-sl-page .section-intro .text-block .headline:not(.big),
.machbar-sl-page .section-intro .text-block .headline-2.link {
  margin-top: 0;
  margin-bottom: 1rem;
  max-width: none;
  font-family: Informative, sans-serif;
  font-size: 26px;
  line-height: 32px;
  font-weight: 600;
  color: #407f72 !important;
  -webkit-text-stroke-color: transparent;
}

.machbar-sl-page .section-intro .text-block .machbar-sl-conclusio,
.machbar-sl-page .section-intro .text-block .machbar-sl-punchline,
.machbar-sl-page .section-intro .text-block .paragraph.page > .machbar-sl-conclusio,
.machbar-sl-page .section-intro .text-block .paragraph.page > p:has(> strong:only-child) {
  max-width: none;
}

.machbar-sl-page .section-intro .text-block .headline-2.link.machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .headline-2.link.machbar-sl-questions-label {
  margin-top: 4.5rem;
}

.machbar-sl-page .section-intro .text-block .headline-2.link.machbar-sl-section-heading:first-child,
.machbar-sl-page .section-intro .text-block .machbar-sl-section-heading:first-child,
.machbar-sl-page .section-intro .text-block > .machbar-sl-section-heading:first-of-type,
.machbar-sl-page .section-intro .text-block .paragraph.page > .machbar-sl-section-heading:first-child {
  margin-top: 0;
}

.machbar-sl-page .section-intro .text-block .machbar-sl-conclusio + .machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .machbar-sl-punchline + .machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .machbar-sl-main__body + .machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .machbar-mermaid-figure + .machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .paragraph.page > p + .machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .paragraph.page > ul + .machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .paragraph.page > .machbar-sl-conclusio + .machbar-sl-section-heading,
.machbar-sl-page .section-intro .text-block .paragraph.page > .machbar-mermaid-figure + .machbar-sl-section-heading {
  margin-top: 4.5rem;
}

.machbar-sl-page .section-intro .text-block .machbar-sl-section-sub,
.machbar-sl-page .section-intro .text-block .paragraph.page > .machbar-sl-section-sub {
  margin-top: 1.35rem;
  margin-bottom: 0.45rem;
  font-family: Inter-Lokal, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  color: #333;
}

.machbar-sl-page .section-intro .text-block .machbar-sl-section-heading + .machbar-sl-section-sub,
.machbar-sl-page .section-intro .text-block .paragraph.page > .machbar-sl-section-heading + .machbar-sl-section-sub {
  margin-top: 1.1rem;
}

.machbar-sl-page .section-intro .machbar-page-flow__quote .quote-author {
  margin: 0;
  max-width: none;
}

.machbar-sl-page .section-intro .text-block .machbar-page-flow__chapter + .machbar-page-flow__chapter,
.machbar-sl-page .section-intro .text-block .machbar-page-flow__quote + .machbar-page-flow__chapter,
.machbar-sl-page .section-intro .text-block .machbar-page-flow__chapter + .machbar-page-flow__quote {
  margin-top: 4.5rem;
}

.machbar-sl-page .section-intro .machbar-mermaid-figure {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.machbar-sl-page .section-intro .machbar-mermaid {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.machbar-sl-page .section-intro .machbar-mermaid svg {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

.machbar-sl-projects {
  background: var(--machbar-sl-band);
  /* Continuous band into simplified CTA below */
  padding-bottom: 0;
}

.machbar-sl-projects.machbar-sl-chapter.section-pageparagraph {
  padding-bottom: 2.5rem;
}

.machbar-sl-projects__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin-bottom: 1.5rem;
}

.machbar-sl-projects__title {
  margin: 0;
}

.machbar-sl-projects__titles .machbar-sl-section-title {
  margin: 0;
}

.machbar-sl-projects__all {
  flex: 0 0 auto;
  text-decoration: none;
  color: inherit;
}

.machbar-sl-projects__grid {
  display: grid;
  gap: 1.25rem;
  align-items: stretch;
}

.machbar-sl-projects__grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.machbar-sl-projects__grid.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.machbar-sl-projects__grid.cols-1 {
  grid-template-columns: 1fr;
  max-width: 32rem;
}

.machbar-sl-projects__grid .case_link_block,
.machbar-sl-projects__grid .caseteaser {
  width: 100%;
  height: 100%;
}

.machbar-sl-projects__grid .caseteaser {
  aspect-ratio: 16 / 9;
  min-height: 0;
  margin-bottom: 0;
}

.machbar-sl-projects__grid .machbar-caseteaser-media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.machbar-sl-projects__grid .overlay {
  z-index: 1;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent 50%);
  mix-blend-mode: multiply;
  pointer-events: none;
}

.machbar-sl-projects__grid .caseteaser_textbox {
  z-index: 2;
  max-width: calc(100% - 40px);
}

.machbar-sl-projects__grid .caseteaser_headline {
  font-size: 26px;
  line-height: 32px;
  margin-bottom: 6px;
}

.machbar-sl-projects__grid .caseteaser_text {
  font-size: 20px;
  line-height: 28px;
  font-weight: 300;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.machbar-sl-projects__services--after {
  margin-top: clamp(2.5rem, 4vw, 3.5rem);
}

.machbar-sl-projects__services .machbar-sl-section-title {
  margin-bottom: 0.75rem;
}

.machbar-sl-service-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 1.25rem;
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
}

.machbar-sl-service-links li {
  margin: 0;
  padding: 0;
  border: none;
}

.machbar-sl-service-links a {
  text-decoration: none;
  color: inherit;
}

.machbar-sl-service-links .linkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
}

.machbar-sl-service-links .headline-2.link,
.machbar-sl-service-links .headline-2.link.dunkelgr-n {
  color: #407f72 !important;
  font-size: 22px;
  line-height: 30px;
  font-weight: 600;
  margin: 0;
}

.machbar-sl-service-links a:hover,
.machbar-sl-service-links a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.18em;
  opacity: 1;
}

.machbar-sl-service-links a:active {
  opacity: 0.4;
}

.machbar-sl-chapter a:not([class]),
.machbar-sl-chapter a.text-link {
  color: #407f72;
}

.machbar-sl-draft-wrap {
  padding: 0 100px 8px;
}

.machbar-sl-draft-note {
  margin: 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}

.section-jobliste.machbar-sl-faq-band {
  background-color: #fff;
  padding: 64px 100px 48px;
}

.section-jobliste.machbar-sl-faq-band .headline-2.jobliste {
  color: #407f72;
  font-size: 22px;
  line-height: 30px;
  font-weight: 600;
}

.section-jobliste.machbar-sl-faq-band .divider-jobs {
  background-color: rgba(64, 127, 114, 0.22);
  margin-top: 20px;
  margin-bottom: 20px;
  height: 1px;
}

.section-jobliste.machbar-sl-faq-band .page-divider.jobliste {
  background: none;
  height: 20px;
}

.section-jobliste.machbar-sl-faq-band .lottie-dropdown path {
  stroke: #407f72 !important;
}

.section-jobliste.machbar-sl-faq-band .paragraph.jobliste {
  display: none;
  color: inherit;
}

.section-jobliste.machbar-sl-faq-band .paragraph.jobliste.is-open {
  display: block;
}

.section-jobliste.machbar-sl-faq-band .paragraph.jobliste .paragraph.page {
  margin: 0 0 0.75rem;
  max-width: 40rem;
}

.section-cta:has(.machbar-sl-cta) {
  padding: 120px 100px 0;
}

.section-cta:has(.machbar-sl-cta) .cta-textbox {
  margin-top: -120px;
}

.container.cta-hellgr-n.machbar-sl-cta {
  height: 360px;
  min-height: 360px;
}

/* Service-landing CTA: always Machbar dunkelgrün (not brand “ink”, often #333) */
.container.cta-hellgr-n.machbar-sl-cta .cta-headline.thin,
.container.cta-hellgr-n.machbar-sl-cta .cta-headline,
.container.cta-hellgr-n.machbar-sl-cta .cta-headline.dunkelgr-n,
.container.cta-hellgr-n.machbar-sl-cta .cta-headline.gr-n {
  color: var(--machbar-dunkelgrün, #407f72) !important;
}

/* Snapshot CTA: keep the same pad-x as intro/projects (never wipe L/R to 0) */
.machbar-sl-page .section-cta:has(.machbar-sl-cta.machbar-snapshot-cta) {
  padding: 0 var(--machbar-sl-pad-x, 100px);
  background-color: var(--machbar-sl-band);
  overflow: hidden;
}

/* m. on content edge — flush to footer, inset to content */
.machbar-sl-page .section-cta:has(.machbar-sl-cta.machbar-snapshot-cta)::after {
  top: auto;
  right: var(--machbar-sl-inset, 100px);
  left: auto;
  bottom: 0;
  width: min(46vw, 620px);
  max-height: 85%;
  aspect-ratio: 1000 / 470;
  height: auto;
  transform: none;
  z-index: 1;
  -webkit-mask: url('/images/m_bildmarke_mask.png') center / contain no-repeat;
  mask: url('/images/m_bildmarke_mask.png') center / contain no-repeat;
}

.machbar-sl-page .section-cta:has(.machbar-sl-cta.machbar-snapshot-cta) .cta-textbox {
  margin-top: 0;
  padding-top: 0;
  z-index: 2;
}

.machbar-sl-page .container.cta-hellgr-n.machbar-sl-cta.machbar-snapshot-cta {
  height: auto;
  min-height: 380px;
  display: flex;
  align-items: flex-start;
  padding-top: 72px;
  padding-bottom: 112px;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--machbar-sl-max, var(--machbar-content-max, 1600px));
  margin-left: auto;
  margin-right: auto;
}

.machbar-sl-page
  .container.cta-hellgr-n.machbar-sl-cta.machbar-snapshot-cta
  .cta-headline.thin,
.machbar-sl-page
  .container.cta-hellgr-n.machbar-sl-cta.machbar-snapshot-cta
  .cta-headline,
.machbar-sl-page
  .container.cta-hellgr-n.machbar-sl-cta.machbar-snapshot-cta
  .cta-headline.dunkelgr-n,
.machbar-sl-page
  .container.cta-hellgr-n.machbar-sl-cta.machbar-snapshot-cta
  .cta-headline.gr-n,
.machbar-sl-page
  .container.cta-hellgr-n.machbar-sl-cta.machbar-snapshot-cta
  .headline-2.link {
  color: var(--machbar-sl-ink, #407f72) !important;
}

@media screen and (max-width: 991px) {
  .machbar-pageheader-thesis,
  .machbar-sl-lead {
    max-width: 100%;
  }

  .machbar-sl-two-col,
  .machbar-sl-outcomes-pair {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }

  .machbar-sl-projects__grid.cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .machbar-sl-chapter.section-pageparagraph {
    padding: 60px 40px;
  }

  .machbar-sl-page > .section-pageparagraph,
  .machbar-sl-page .machbar-page-flow {
    padding: 40px 40px 48px;
  }

  .machbar-sl-page > .section-pageparagraph:first-child,
  .machbar-sl-page .machbar-page-flow:first-child {
    padding-top: 40px;
  }

  .machbar-sl-page > .section-pageparagraph + .section-pageparagraph {
    padding-top: 12px;
  }

  .machbar-sl-page > .section-paragraph {
    padding: 20px 40px 28px;
  }

  .machbar-sl-page .machbar-page-flow__chapter + .machbar-page-flow__chapter,
  .machbar-sl-page .machbar-page-flow__quote + .machbar-page-flow__chapter,
  .machbar-sl-page .machbar-page-flow__chapter + .machbar-page-flow__quote,
  .machbar-page-flow__chapter + .machbar-page-flow__chapter,
  .machbar-page-flow__quote + .machbar-page-flow__chapter,
  .machbar-page-flow__chapter + .machbar-page-flow__quote {
    margin-top: 2.25rem;
  }

  .section-pageparagraph .paragraph.page > p,
  .section-pageparagraph .paragraph.page > ul > li {
    font-size: 18px;
    line-height: 28px;
  }

  .machbar-sl-page .machbar-sl-related {
    padding-top: 36px;
    padding-bottom: 56px;
  }

  .machbar-sl-page .section-intro .machbar-sl-sidebar {
    position: static;
    margin-top: 2.5rem;
  }

  .machbar-sl-page .section-intro .machbar-page-flow__chapter .headline,
  .machbar-sl-page .section-intro .text-block .headline:not(.big),
  .machbar-sl-page .section-intro .text-block .headline-2.link {
    font-size: 22px;
    line-height: 28px;
  }

  .machbar-sl-page .machbar-mermaid-figure {
    padding: 0;
  }

  .machbar-sl-page .machbar-mermaid-figure + .machbar-sl-conclusio,
  .machbar-sl-page .machbar-mermaid-figure + .machbar-sl-punchline,
  .machbar-sl-page .machbar-mermaid-figure + .machbar-sl-main__body,
  .machbar-sl-page .paragraph.page > .machbar-mermaid-figure + p {
    margin-top: 1.35rem;
  }

  .machbar-sl-page .machbar-mermaid-caption {
    margin-top: 1.1rem;
    font-size: 15px;
  }

  .machbar-sl-page {
    --machbar-sl-pad-x: 40px;
  }

  .machbar-sl-page .section-intro.machbar-sl-intro-band {
    padding: 60px var(--machbar-sl-pad-x) 80px;
  }

  .machbar-sl-page .section-intro .container.intro {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
  }

  .machbar-sl-page .section-intro .text-block.machbar-sl-main,
  .machbar-sl-page .section-intro .project-block.machbar-sl-sidebar {
    grid-column: 1;
    grid-row: auto;
  }

  .machbar-sl-page .section-intro .project-block,
  .machbar-sl-page .section-intro .text-block {
    width: auto;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .machbar-sl-page .section-intro .project-block {
    margin-bottom: 40px;
  }

  .machbar-sl-page .headline.machbar-sl-headline {
    margin-bottom: 32px;
    font-size: 40px;
    line-height: 48px;
  }

  .section-jobliste.machbar-sl-faq-band {
    padding: 48px 40px 32px;
  }

  .machbar-sl-service-links {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.25rem;
  }

  .machbar-sl-hierarchy__roots {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }

  .machbar-sl-hierarchy__services--flat {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .machbar-sl-draft-wrap {
    padding-left: 40px;
    padding-right: 40px;
  }

  .section-pageheader,
  .section-pageheader.profil,
  .section-pageheader.prozess,
  .section-pageheader.team,
  .section-pageheader.projekte,
  .section-pageheader.jobs,
  .section-pageheader.kontakt,
  .section-pageheader.impressum,
  .section-pageheader.ausbildung {
    padding: 120px 40px 48px;
  }

  .section-pageheader:has(.machbar-pageheader-breadcrumb),
  .section-pageheader:has(.machbar-pageheader-topic) {
    padding-top: 160px;
  }

  .section-pageheader.has-hero-body {
    padding-bottom: 40px;
  }

  .section-cta:has(.machbar-sl-cta) {
    padding: 60px 40px 0;
  }

  .section-cta:has(.machbar-sl-cta) .cta-textbox {
    margin-top: 0;
  }

  .container.cta-hellgr-n.machbar-sl-cta {
    height: auto;
    min-height: 0;
    padding-bottom: 60px;
  }

  .machbar-sl-page .section-cta:has(.machbar-sl-cta.machbar-snapshot-cta) {
    padding: 0 var(--machbar-sl-pad-x, 40px);
  }

  .machbar-sl-page .section-cta:has(.machbar-sl-cta.machbar-snapshot-cta)::after {
    right: var(--machbar-sl-inset, 40px);
    width: min(52vw, 480px);
    max-height: 80%;
  }

  .machbar-sl-page .container.cta-hellgr-n.machbar-sl-cta.machbar-snapshot-cta {
    padding-top: 56px;
    padding-bottom: 88px;
    min-height: 260px;
  }

  /* Webflow left thin.gr-n without text-align:left → Kontakt sits left of centered text */
  .cta-headline.thin.gr-n {
    text-align: left;
    align-self: flex-start;
  }

  .section-cta:has(.machbar-sl-cta) .cta-textbox {
    align-items: flex-start;
  }

  .section-cta:has(.machbar-sl-cta) .cta-headline {
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .machbar-sl-projects__grid.cols-3,
  .machbar-sl-projects__grid.cols-2,
  .machbar-sl-projects__grid.cols-1 {
    grid-template-columns: 1fr;
    max-width: none;
  }

  .machbar-sl-projects__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .machbar-sl-sidebar > .machbar-sl-sidebar__current {
    display: none;
  }

  .machbar-sl-page .section-intro .project-block.machbar-sl-sidebar {
    margin-top: 30px;
    margin-bottom: 0;
  }

  .machbar-sl-sidebar-contact__card {
    width: 75vw;
    max-width: 75vw;
    margin-left: auto;
    margin-right: auto;
  }

  .machbar-sl-projects__all--head {
    display: none;
  }

  .machbar-sl-projects__all--foot {
    display: inline-block;
    margin-top: 1.25rem;
  }

  .machbar-sl-questions-label,
  .machbar-sl-projects__title,
  .machbar-sl-projects__all-label,
  .machbar-sl-sidebar__related-title {
    font-size: 20px;
    line-height: 28px;
  }

  .machbar-pageheader-thesis {
    font-size: 1.35rem;
  }

  .machbar-sl-service-links {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .machbar-sl-hierarchy__services--flat {
    grid-template-columns: 1fr;
  }

  .machbar-sl-service-links .headline-2.link,
  .section-jobliste.machbar-sl-faq-band .headline-2.jobliste {
    font-size: 20px;
    line-height: 28px;
  }

  .machbar-sl-chapter.section-pageparagraph {
    padding: 40px 20px;
  }

  .machbar-sl-page > .section-pageparagraph,
  .machbar-sl-page .machbar-page-flow {
    padding: 28px 20px 36px;
  }

  .machbar-sl-page > .section-pageparagraph:first-child,
  .machbar-sl-page .machbar-page-flow:first-child {
    padding-top: 28px;
  }

  .machbar-sl-page > .section-paragraph {
    padding: 16px 20px 24px;
  }

  .machbar-sl-page .machbar-page-flow__chapter + .machbar-page-flow__chapter,
  .machbar-sl-page .machbar-page-flow__quote + .machbar-page-flow__chapter,
  .machbar-sl-page .machbar-page-flow__chapter + .machbar-page-flow__quote,
  .machbar-page-flow__chapter + .machbar-page-flow__chapter,
  .machbar-page-flow__quote + .machbar-page-flow__chapter,
  .machbar-page-flow__chapter + .machbar-page-flow__quote {
    margin-top: 1.85rem;
  }

  .section-pageparagraph .paragraph.page > p,
  .section-pageparagraph .paragraph.page > ul > li {
    font-size: 17px;
    line-height: 26px;
  }

  .machbar-sl-page .machbar-sl-related {
    padding-top: 28px;
    padding-bottom: 48px;
  }

  .machbar-sl-page .section-intro .machbar-sl-sidebar {
    margin-top: 2rem;
  }

  .machbar-sl-page .section-intro .machbar-page-flow__chapter .headline,
  .machbar-sl-page .section-intro .text-block .headline:not(.big),
  .machbar-sl-page .section-intro .text-block .headline-2.link {
    font-size: 20px;
    line-height: 26px;
  }

  .machbar-pageheader-thesis {
    max-width: 100%;
    font-size: 1.25rem;
    line-height: 1.35;
  }

  .section-pageheader,
  .section-pageheader.profil,
  .section-pageheader.prozess,
  .section-pageheader.team,
  .section-pageheader.projekte,
  .section-pageheader.jobs,
  .section-pageheader.kontakt,
  .section-pageheader.impressum,
  .section-pageheader.ausbildung {
    padding: 120px 20px 40px;
  }

  .section-pageheader:has(.machbar-pageheader-breadcrumb),
  .section-pageheader:has(.machbar-pageheader-topic) {
    padding-top: 148px;
  }

  .machbar-sl-page {
    --machbar-sl-pad-x: 20px;
  }

  .machbar-sl-page .section-intro.machbar-sl-intro-band {
    padding: 40px var(--machbar-sl-pad-x);
  }

  .machbar-sl-projects.machbar-sl-chapter.section-pageparagraph {
    padding-bottom: 24px;
  }

  .section-cta:has(.machbar-sl-cta) {
    padding: 0 20px;
  }

  .section-cta:has(.machbar-sl-cta) .cta-textbox {
    margin-top: 0;
  }

  .container.cta-hellgr-n.machbar-sl-cta {
    height: auto;
    min-height: 0;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .machbar-sl-page .section-cta:has(.machbar-sl-cta.machbar-snapshot-cta) {
    padding: 0 var(--machbar-sl-pad-x, 20px);
  }

  .machbar-sl-page .section-cta:has(.machbar-sl-cta.machbar-snapshot-cta)::after {
    right: var(--machbar-sl-inset, 20px);
    width: min(58vw, 360px);
    max-height: 78%;
  }

  .machbar-sl-page .container.cta-hellgr-n.machbar-sl-cta.machbar-snapshot-cta {
    padding-top: 40px;
    padding-bottom: 72px;
    min-height: 0;
  }

  .machbar-sl-page .headline.machbar-sl-headline {
    margin-bottom: 20px;
    font-size: 30px;
    line-height: 36px;
  }

  .section-jobliste.machbar-sl-faq-band {
    padding: 40px 20px 28px;
  }
}

/* —— Agency / Über-machbar facts —— */
.machbar-agency-facts {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.35rem 1.25rem;
  margin-top: 1.5rem;
  max-width: 28rem;
}

.machbar-agency-facts dt {
  font-weight: 600;
}

.machbar-agency-list {
  padding-left: 1.1rem;
}

.machbar-agency-list li {
  margin-bottom: 0.35rem;
}
