:root {
      --mb-orange: #f47a20;
      --mb-orange-hover: #ff8b35;
      --mb-black: #090909;
      --mb-graphite: #171717;
      --mb-white: #ffffff;
      --mb-muted: rgba(255,255,255,.72);
      --mb-line: rgba(255,255,255,.15);
      --mb-max: 1320px;
      --mb-header-h: 88px;
      --mb-radius: 10px;
      --mb-shadow: 0 18px 50px rgba(0,0,0,.28);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--mb-black);
      color: var(--mb-white);
      font-family: Inter, Arial, Helvetica, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    a { color: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }

    .mb-page {
      min-height: 100vh;
      background: var(--mb-black);
      overflow: hidden;
    }

    .mb-header {
      position: absolute;
      inset: 0 0 auto 0;
      z-index: 20;
      height: var(--mb-header-h);
      border-bottom: 1px solid transparent;
      transition: background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
    }

    .mb-header.is-scrolled {
      position: fixed;
      background: rgba(9,9,9,.82);
      border-color: var(--mb-line);
      backdrop-filter: blur(16px);
    }

    .mb-header-inner {
      width: min(calc(100% - 64px), var(--mb-max));
      height: 100%;
      margin: 0 auto;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 34px;
    }

    .mb-logo {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      text-decoration: none;
    }
    .mb-logo img {
      width: 154px;
      height: auto;
      display: block;
    }

    .mb-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 26px;
      min-width: 0;
      font-size: 14px;
      font-weight: 650;
      letter-spacing: .01em;
    }
    .mb-nav a {
      text-decoration: none;
      opacity: .82;
      transition: opacity .2s ease, color .2s ease;
    }
    .mb-nav a:hover { opacity: 1; color: var(--mb-orange); }

    .mb-header-cta {
      margin-left: 0;
      white-space: nowrap;
      flex: 0 0 auto;
    }

    .mb-menu-button {
      display: none;
      width: 44px;
      height: 44px;
      border: 1px solid var(--mb-line);
      background: rgba(0,0,0,.22);
      color: #fff;
      border-radius: 8px;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      justify-self: end;
    }

    .mb-hero {
      position: relative;
      min-height: max(860px, 100svh);
      height: auto;
      isolation: isolate;
      display: flex;
      align-items: center;
      overflow: hidden;
    }

    .mb-media,
    .mb-video,
    .mb-poster {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
    }
    .mb-video {
      object-fit: cover;
      z-index: -4;
      background: #111;
    }

    .mb-poster {
      z-index: -5;
      background:
        radial-gradient(circle at 73% 44%, rgba(244,122,32,.20), transparent 20%),
        radial-gradient(circle at 83% 27%, rgba(255,255,255,.10), transparent 18%),
        linear-gradient(125deg, #171717 0%, #0b0b0b 40%, #202020 100%);
    }

    .mb-poster::before,
    .mb-poster::after {
      content: "";
      position: absolute;
      border-radius: 50%;
      filter: blur(1px);
      opacity: .6;
    }
    .mb-poster::before {
      width: 540px;
      height: 540px;
      right: 8%;
      top: 17%;
      border: 42px solid rgba(255,255,255,.055);
      box-shadow:
        0 0 0 40px rgba(255,255,255,.025),
        0 0 100px rgba(244,122,32,.08);
    }
    .mb-poster::after {
      width: 180px;
      height: 180px;
      right: 23%;
      top: 33%;
      background: rgba(0,0,0,.55);
      box-shadow: 0 0 0 30px rgba(255,255,255,.035);
    }

    .mb-overlay {
      position: absolute;
      inset: 0;
      z-index: -2;
      background:
        linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.82) 35%, rgba(0,0,0,.32) 68%, rgba(0,0,0,.48) 100%),
        linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.72) 100%);
    }

    .mb-noise {
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .055;
      pointer-events: none;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
    }

    .mb-hero-inner {
      width: min(calc(100% - 64px), var(--mb-max));
      margin: 0 auto;
      padding-top: calc(var(--mb-header-h) + 58px);
      padding-bottom: 72px;
      display: grid;
      grid-template-columns: minmax(0, 760px) 1fr;
      align-items: center;
      min-height: max(860px, 100svh);
    }

    .mb-copy {
      max-width: 760px;
      animation: mbFadeUp .8s cubic-bezier(.2,.7,.2,1) both;
    }

    .mb-kicker {
      margin: 0;
      color: var(--mb-orange);
      font-size: 14px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }


    .mb-kicker-after {
      margin-top: 18px;
      margin-bottom: 0;
    }

    .mb-title {
      margin: 0;
      max-width: 720px;
      font-size: clamp(48px, 5.3vw, 88px);
      line-height: .96;
      letter-spacing: -.048em;
      font-weight: 800;
      text-wrap: balance;
      overflow-wrap: normal;
      word-break: normal;
    }

    .mb-title span {
      display: block;
      color: var(--mb-orange);
      margin-top: .09em;
    }

    .mb-subtitle {
      max-width: 690px;
      margin: 30px 0 0;
      color: var(--mb-muted);
      font-size: clamp(18px, 1.6vw, 24px);
      line-height: 1.55;
      font-weight: 440;
    }

    .mb-actions {
      margin-top: 38px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 14px;
    }

    .mb-btn {
      min-height: 54px;
      padding: 0 24px;
      border-radius: var(--mb-radius);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      text-decoration: none;
      font-size: 16px;
      font-weight: 750;
      border: 1px solid transparent;
      transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .mb-btn:hover { transform: translateY(-2px); }
    .mb-btn-primary {
      background: var(--mb-orange);
      color: #111;
      box-shadow: 0 14px 30px rgba(244,122,32,.18);
    }
    .mb-btn-primary:hover {
      background: var(--mb-orange-hover);
      box-shadow: 0 18px 38px rgba(244,122,32,.28);
    }
    .mb-btn-secondary {
      color: #fff;
      border-color: rgba(255,255,255,.42);
      background: rgba(255,255,255,.05);
      backdrop-filter: blur(8px);
    }
    .mb-btn-secondary:hover {
      border-color: rgba(255,255,255,.72);
      background: rgba(255,255,255,.10);
    }

    .mb-proof {
      margin-top: 28px;
      display: flex;
      align-items: center;
      gap: 18px;
      color: rgba(255,255,255,.64);
      font-size: 14px;
      line-height: 1.5;
    }
    .mb-proof::before {
      content: "";
      width: 54px;
      height: 1px;
      background: var(--mb-orange);
      flex: 0 0 auto;
    }

    .mb-video-note {
      position: absolute;
      right: 32px;
      bottom: 30px;
      z-index: 4;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 13px;
      color: rgba(255,255,255,.62);
      background: rgba(0,0,0,.34);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 999px;
      backdrop-filter: blur(8px);
      font-size: 12px;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .mb-dot {
      width: 8px;
      height: 8px;
      background: var(--mb-orange);
      border-radius: 50%;
      box-shadow: 0 0 0 5px rgba(244,122,32,.14);
    }

    .mb-mobile-panel {
      display: none;
      position: fixed;
      inset: var(--mb-header-h) 0 auto 0;
      z-index: 18;
      background: rgba(9,9,9,.96);
      border-bottom: 1px solid var(--mb-line);
      padding: 18px 24px 24px;
      backdrop-filter: blur(16px);
    }
    .mb-mobile-panel.is-open { display: grid; gap: 4px; }
    .mb-mobile-panel a {
      min-height: 48px;
      display: flex;
      align-items: center;
      text-decoration: none;
      font-weight: 700;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    /* Sprint 2: Vertrauen */
    .mb-trust {
      position: relative;
      background: #ffffff;
      color: #171717;
      padding: 92px 0 104px;
      overflow: hidden;
    }

    .mb-trust-inner {
      width: min(calc(100% - 64px), var(--mb-max));
      margin: 0 auto;
    }

    .mb-section-label {
      margin: 0 0 16px;
      color: var(--mb-orange);
      font-size: 13px;
      font-weight: 850;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .mb-trust-heading {
      max-width: 850px;
      margin: 0;
      font-size: clamp(38px, 4.2vw, 66px);
      line-height: 1.02;
      letter-spacing: -.045em;
      font-weight: 800;
      text-wrap: balance;
    }

    .mb-trust-intro {
      max-width: 760px;
      margin: 22px 0 0;
      color: #666;
      font-size: clamp(17px, 1.45vw, 21px);
      line-height: 1.6;
    }

    .mb-logo-rail {
      position: relative;
      margin-top: 54px;
      padding: 23px 0;
      border-top: 1px solid #e8e8e8;
      border-bottom: 1px solid #e8e8e8;
      overflow: hidden;
      mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    }

    .mb-logo-track {
      display: flex;
      width: max-content;
      align-items: center;
      gap: 18px;
      animation: mbLogoMove 46.2s linear infinite;
    }

    .mb-logo-rail:hover .mb-logo-track { animation-play-state: paused; }

    .mb-client {
      min-width: 170px;
      height: 68px;
      display: grid;
      place-items: center;
      padding: 0 22px;
      border: 1px solid #e4e4e4;
      border-radius: 8px;
      background: #fafafa;
      color: #252525;
      font-size: 16px;
      font-weight: 800;
      white-space: nowrap;
      filter: grayscale(1);
      transition: transform .22s ease, border-color .22s ease, background .22s ease;
    }

    .mb-client:hover {
      transform: translateY(-2px);
      border-color: rgba(244,122,32,.55);
      background: #fff;
    }

    .mb-stats {
      margin-top: 58px;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      border-top: 1px solid #dedede;
      border-bottom: 1px solid #dedede;
    }

    .mb-stat {
      min-height: 190px;
      min-width: 0;
      padding: 34px 24px 30px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border-right: 1px solid #dedede;
      overflow: hidden;
    }

    .mb-stat:last-child { border-right: 0; }

    .mb-stat-value {
      color: #111;
      font-size: clamp(38px, 3.7vw, 62px);
      line-height: 1;
      letter-spacing: -.05em;
      font-weight: 850;
    }

    .mb-stat-value.is-word {
      max-width: 100%;
      font-size: clamp(25px, 2.05vw, 36px);
      line-height: 1.08;
      letter-spacing: -.035em;
      overflow-wrap: anywhere;
      hyphens: auto;
    }

    .mb-stat-value.is-word.is-long {
      font-size: clamp(23px, 1.8vw, 32px);
    }

    .mb-stat-label {
      max-width: 220px;
      margin-top: 24px;
      color: #656565;
      font-size: 16px;
      line-height: 1.45;
    }

    .mb-trust-note {
      margin: 28px 0 0;
      color: #8a8a8a;
      font-size: 13px;
      line-height: 1.5;
    }

    @keyframes mbLogoMove {
      to { transform: translateX(calc(-50% - 9px)); }
    }


    /* Sprint 3: Ziele / Problemlösungen */
    .mb-goals {
      background: #0f0f0f;
      color: #ffffff;
      padding: 110px 0 118px;
    }

    .mb-goals-inner {
      width: min(calc(100% - 64px), var(--mb-max));
      margin: 0 auto;
    }

    .mb-goals-head {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
      gap: 48px;
      align-items: end;
      margin-bottom: 58px;
    }

    .mb-goals-heading {
      margin: 0;
      max-width: 880px;
      font-size: clamp(42px, 5vw, 76px);
      line-height: 1;
      letter-spacing: -.05em;
      font-weight: 820;
      text-wrap: balance;
    }

    .mb-goals-intro {
      margin: 0 0 6px;
      color: #bdbdbd;
      font-size: clamp(17px, 1.45vw, 21px);
      line-height: 1.6;
    }

    .mb-goals-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }

    .mb-goal-card {
      position: relative;
      min-height: 360px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 14px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
        #171717;
      text-decoration: none;
      color: inherit;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 34px;
      isolation: isolate;
      transition: transform .3s ease, border-color .3s ease, background .3s ease;
    }

    .mb-goal-card::before {
      content: "";
      position: absolute;
      inset: auto -10% -45% auto;
      width: 280px;
      height: 280px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(244,122,32,.28), transparent 68%);
      filter: blur(8px);
      z-index: -1;
      transition: transform .4s ease, opacity .4s ease;
      opacity: .7;
    }

    .mb-goal-card:hover {
      transform: translateY(-6px);
      border-color: rgba(244,122,32,.55);
      background:
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
        #171717;
    }

    .mb-goal-card:hover::before {
      transform: translate(-10px, -10px) scale(1.06);
      opacity: 1;
    }

    .mb-goal-index {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: #8f8f8f;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .mb-goal-index::before {
      content: "";
      width: 26px;
      height: 2px;
      border-radius: 10px;
      background: var(--mb-orange);
    }

    .mb-goal-copy {
      margin-top: 64px;
    }

    .mb-goal-title {
      margin: 0;
      max-width: 440px;
      font-size: clamp(31px, 3.1vw, 50px);
      line-height: 1.03;
      letter-spacing: -.045em;
      font-weight: 800;
    }

    .mb-goal-text {
      margin: 18px 0 0;
      max-width: 500px;
      color: #c8c8c8;
      font-size: 17px;
      line-height: 1.55;
    }

    .mb-goal-meta {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin-top: 38px;
    }

    .mb-goal-services {
      max-width: 430px;
      color: #9f9f9f;
      font-size: 14px;
      line-height: 1.55;
    }

    .mb-goal-arrow {
      flex: 0 0 auto;
      width: 48px;
      height: 48px;
      border: 1px solid rgba(255,255,255,.25);
      border-radius: 50%;
      display: grid;
      place-items: center;
      font-size: 22px;
      transition: border-color .25s ease, color .25s ease, transform .25s ease;
    }

    .mb-goal-card:hover .mb-goal-arrow {
      border-color: var(--mb-orange);
      color: var(--mb-orange);
      transform: translateX(3px);
    }

    .mb-goals-note {
      margin: 30px 0 0;
      color: #777;
      font-size: 13px;
      line-height: 1.5;
    }


    .mb-stat-icon {
      width: 54px;
      height: 54px;
      margin-bottom: 20px;
      color: var(--mb-orange);
    }

    .mb-stat-icon svg {
      width: 100%;
      height: 100%;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* Sprint 4: So arbeiten wir */
    .mb-process {
      background: #f5f5f2;
      color: #111;
      padding: 112px 0 122px;
    }

    .mb-process-inner {
      width: min(calc(100% - 64px), var(--mb-max));
      margin: 0 auto;
    }

    .mb-process-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
      gap: 64px;
      align-items: end;
      margin-bottom: 66px;
    }

    .mb-process-heading {
      margin: 0;
      max-width: 830px;
      font-size: clamp(44px, 5.3vw, 78px);
      line-height: .99;
      letter-spacing: -.052em;
      font-weight: 820;
      text-wrap: balance;
    }

    .mb-process-heading span {
      color: var(--mb-orange);
    }

    .mb-process-intro {
      margin: 0 0 4px;
      color: #5e5e5e;
      font-size: clamp(17px, 1.4vw, 21px);
      line-height: 1.62;
    }

    .mb-process-list {
      position: relative;
      display: grid;
      gap: 18px;
    }

    .mb-process-list::before {
      content: "";
      position: absolute;
      left: 52px;
      top: 44px;
      bottom: 44px;
      width: 1px;
      background: linear-gradient(var(--mb-orange), rgba(244,122,32,.18));
      z-index: 0;
    }

    .mb-process-row {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 104px minmax(310px, .72fr) minmax(420px, 1.28fr);
      min-height: 260px;
      background: #fff;
      border: 1px solid #deded9;
      border-radius: 14px;
      overflow: hidden;
    }

    .mb-process-step {
      display: flex;
      align-items: flex-start;
      justify-content: center;
      padding-top: 34px;
      background: #fafaf8;
      border-right: 1px solid #e3e3df;
    }

    .mb-process-number {
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: #111;
      color: #fff;
      font-size: 17px;
      font-weight: 850;
      box-shadow: 0 0 0 8px #fafaf8;
    }

    .mb-process-copy {
      padding: 38px 38px 36px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .mb-process-title {
      margin: 0;
      font-size: clamp(27px, 2.4vw, 38px);
      line-height: 1.08;
      letter-spacing: -.035em;
      font-weight: 800;
    }

    .mb-process-text {
      margin: 18px 0 0;
      color: #5f5f5f;
      font-size: 17px;
      line-height: 1.58;
    }

    .mb-process-tags {
      margin-top: 24px;
      color: #8a8a8a;
      font-size: 13px;
      line-height: 1.5;
    }

    .mb-process-media {
      min-width: 0;
      min-height: 260px;
      overflow: hidden;
      background: #171717;
    }

    .mb-process-media img {
      width: 100%;
      height: 100%;
      min-height: 260px;
      display: block;
      object-fit: cover;
      transition: transform .7s ease;
    }

    .mb-process-row:hover .mb-process-media img {
      transform: scale(1.025);
    }

    .mb-process-promise {
      margin-top: 28px;
      padding: 30px 34px;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 30px;
      align-items: center;
      border-top: 2px solid var(--mb-orange);
      background: #fff;
    }

    .mb-process-promise strong {
      display: block;
      font-size: clamp(24px, 2.35vw, 38px);
      line-height: 1.1;
      letter-spacing: -.035em;
    }

    .mb-process-promise p {
      max-width: 660px;
      margin: 10px 0 0;
      color: #666;
      line-height: 1.55;
    }

    .mb-process-cta {
      min-height: 52px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 24px;
      border-radius: 8px;
      background: var(--mb-orange);
      color: #111;
      text-decoration: none;
      font-weight: 850;
      white-space: nowrap;
      transition: transform .24s ease, filter .24s ease;
    }

    .mb-process-cta:hover {
      transform: translateY(-2px);
      filter: brightness(1.05);
    }


    /* Sprint 5: Ausgewählte Projekte */
    .mb-projects{background:#fff;color:#111;padding:116px 0 124px}
    .mb-projects-inner{width:min(calc(100% - 64px),var(--mb-max));margin:0 auto}
    .mb-projects-head{max-width:920px;margin-bottom:58px}
    .mb-projects-heading{margin:0;font-size:clamp(46px,5.5vw,82px);line-height:.98;letter-spacing:-.055em;font-weight:830}
    .mb-projects-intro{max-width:760px;margin:22px 0 0;color:#676767;font-size:clamp(17px,1.4vw,21px);line-height:1.6}
    .mb-project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
    .mb-project-card{position:relative;min-height:330px;overflow:hidden;border-radius:14px;background:#111;color:#fff;text-decoration:none;isolation:isolate;cursor:pointer}
    .mb-project-card.is-large{grid-column:span 6;min-height:430px}
    .mb-project-card.is-small{grid-column:span 3}
    .mb-project-media{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#151515}
    .mb-project-media img,.mb-project-media video{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s ease,filter .4s ease,opacity .3s ease}
    .mb-project-media video{position:absolute;inset:0;opacity:0}
    .mb-project-card.is-video.is-playing .mb-project-media video{opacity:1}
    .mb-project-card.is-video.is-playing .mb-project-media img{opacity:0}
    .mb-project-card::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.28) 42%,rgba(0,0,0,.92)),linear-gradient(90deg,rgba(0,0,0,.56),transparent 62%)}
    .mb-project-card:hover .mb-project-media img,.mb-project-card:hover .mb-project-media video{transform:scale(1.025);filter:brightness(1.06)}
    .mb-project-content{min-height:inherit;padding:30px;display:flex;flex-direction:column;justify-content:flex-end}
    .mb-project-topline{position:absolute;top:24px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;gap:16px}
    .mb-project-client{font-size:14px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
    .mb-project-type{padding:8px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,0,0,.22);backdrop-filter:blur(10px);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
    .mb-project-title{max-width:560px;margin:0;font-size:clamp(27px,2.8vw,44px);line-height:1.04;letter-spacing:-.04em;font-weight:820}
    .mb-project-card.is-small .mb-project-title{font-size:clamp(24px,2vw,32px)}
    .mb-project-description{max-width:560px;margin:15px 0 0;color:#d4d4d4;font-size:15px;line-height:1.55}
    .mb-project-services{margin-top:18px;color:#b8b8b8;font-size:12px;line-height:1.45;text-transform:uppercase;letter-spacing:.06em}
    .mb-project-action{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:#fff;font-size:14px;font-weight:800}
    .mb-project-action::before{content:"";width:28px;height:2px;background:var(--mb-orange);transition:width .3s ease}
    .mb-project-card:hover .mb-project-action::before{width:48px}
    .mb-video-badge{display:inline-flex;align-items:center;gap:7px}
    .mb-video-badge::before{content:"▶";font-size:9px;color:var(--mb-orange)}
    .mb-projects-footer{margin-top:34px;display:flex;justify-content:center}
    .mb-projects-button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:0 28px;border-radius:8px;background:var(--mb-orange);color:#111;text-decoration:none;font-weight:850}
    .mb-project-note{margin:22px 0 0;text-align:center;color:#8b8b8b;font-size:13px;line-height:1.5}

    /* Sprint 6: Vertrauensabschluss */
    .mb-contact {
      background: #f3f3ef;
      color: #111;
      padding: 116px 0 122px;
    }

    .mb-contact-inner {
      width: min(calc(100% - 64px), var(--mb-max));
      margin: 0 auto;
    }

    .mb-contact-head {
      max-width: 980px;
      margin-bottom: 58px;
    }

    .mb-contact-heading {
      margin: 0;
      font-size: clamp(46px, 5.5vw, 82px);
      line-height: .98;
      letter-spacing: -.055em;
      font-weight: 830;
      text-wrap: balance;
    }

    .mb-contact-intro {
      max-width: 780px;
      margin: 22px 0 0;
      color: #666;
      font-size: clamp(17px, 1.4vw, 21px);
      line-height: 1.62;
    }

    .mb-contact-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px;
      align-items: stretch;
    }

    /* Desktop: Kontakt + Projektanfrage nebeneinander, Bild symmetrisch darunter. */
    .mb-contact-panel {
      display: contents;
    }

    .mb-contact-direct {
      grid-column: 1;
      grid-row: 1;
      display: flex;
      flex-direction: column;
    }

    .mb-contact-form-wrap {
      grid-column: 2;
      grid-row: 1;
    }

    /* Kontaktbild ist Bestandteil der linken Kachel. Beide Kacheln bleiben symmetrisch. */
    .mb-contact-visual {
      width: 100%;
      aspect-ratio: 16 / 9;
      min-height: 0;
      margin-top: auto;
      overflow: hidden;
      border-radius: 10px;
      background: #111;
    }

    .mb-contact-visual img {
      width: 100%;
      height: 100%;
      min-height: 0;
      display: block;
      object-fit: cover;
      object-position: center;
    }

    .mb-contact-direct,
    .mb-contact-form-wrap {
      background: #fff;
      border: 1px solid #deded8;
      border-radius: 14px;
      padding: 32px;
    }

    .mb-contact-kicker {
      margin: 0 0 18px;
      color: var(--mb-orange);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .15em;
      text-transform: uppercase;
    }

    .mb-contact-direct h3,
    .mb-contact-form-wrap h3 {
      margin: 0;
      font-size: clamp(26px, 2.2vw, 36px);
      line-height: 1.08;
      letter-spacing: -.035em;
      font-weight: 800;
    }

    .mb-contact-list {
      display: grid;
      gap: 14px;
      margin-top: 24px;
    }

    .mb-contact-item {
      display: grid;
      grid-template-columns: 28px 1fr;
      gap: 12px;
      align-items: start;
      color: #3f3f3f;
      font-size: 16px;
      line-height: 1.5;
    }

    .mb-contact-item svg {
      width: 22px;
      height: 22px;
      fill: none;
      stroke: var(--mb-orange);
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      margin-top: 1px;
    }

    .mb-contact-item a {
      color: inherit;
      text-decoration: none;
      border-bottom: 1px solid rgba(0,0,0,.18);
    }

    .mb-contact-response {
      margin-top: 22px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: #444;
      font-size: 14px;
      font-weight: 750;
    }

    .mb-contact-response::before {
      content: "";
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--mb-orange);
      box-shadow: 0 0 0 6px rgba(244,122,32,.13);
    }

    .mb-contact-form {
      display: grid;
      gap: 16px;
      margin-top: 24px;
    }

    .mb-field {
      display: grid;
      gap: 8px;
    }

    .mb-field label {
      color: #444;
      font-size: 13px;
      font-weight: 800;
    }

    .mb-field input,
    .mb-field textarea {
      width: 100%;
      border: 1px solid #d8d8d2;
      border-radius: 8px;
      background: #fafaf8;
      color: #111;
      font: inherit;
      font-size: 16px;
      padding: 14px 15px;
      outline: none;
      transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
    }

    .mb-field textarea {
      min-height: 140px;
      resize: vertical;
    }

    .mb-field input:focus,
    .mb-field textarea:focus {
      border-color: var(--mb-orange);
      background: #fff;
      box-shadow: 0 0 0 3px rgba(244,122,32,.12);
    }

    .mb-form-submit {
      min-height: 54px;
      border: 0;
      border-radius: 8px;
      background: var(--mb-orange);
      color: #111;
      font: inherit;
      font-weight: 850;
      cursor: pointer;
      transition: transform .22s ease, filter .22s ease;
    }

    .mb-form-submit:hover {
      transform: translateY(-2px);
      filter: brightness(1.05);
    }

    .mb-form-privacy {
      margin: 0;
      color: #888;
      font-size: 12px;
      line-height: 1.5;
    }

    .mb-form-status {
      min-height: 22px;
      margin: 0;
      color: #333;
      font-size: 14px;
      font-weight: 700;
    }

    /* FAQ */
    .mb-faq {
      background: #fff;
      color: #111;
      padding: 104px 0 112px;
    }

    .mb-faq-inner {
      width: min(calc(100% - 64px), 1080px);
      margin: 0 auto;
    }

    .mb-faq-heading {
      margin: 0;
      font-size: clamp(40px, 4.6vw, 68px);
      line-height: 1;
      letter-spacing: -.05em;
      font-weight: 820;
    }

    .mb-faq-list {
      margin-top: 46px;
      border-top: 1px solid #dcdcdc;
    }

    .mb-faq-item {
      border-bottom: 1px solid #dcdcdc;
    }

    .mb-faq-button {
      width: 100%;
      min-height: 76px;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 24px;
      align-items: center;
      padding: 0;
      border: 0;
      background: transparent;
      color: #111;
      text-align: left;
      font: inherit;
      font-size: clamp(18px, 1.7vw, 23px);
      font-weight: 780;
      cursor: pointer;
    }

    .mb-faq-icon {
      font-size: 28px;
      color: var(--mb-orange);
      transition: transform .25s ease;
    }

    .mb-faq-item.is-open .mb-faq-icon {
      transform: rotate(45deg);
    }

    .mb-faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height .32s ease;
    }

    .mb-faq-answer p {
      max-width: 840px;
      margin: 0;
      padding: 0 0 24px;
      color: #666;
      font-size: 16px;
      line-height: 1.65;
    }

    /* Footer */
    .mb-footer {
      background: #0d0d0d;
      color: #fff;
      padding: 84px 0 28px;
    }

    .mb-footer-inner {
      width: min(calc(100% - 64px), var(--mb-max));
      margin: 0 auto;
    }

    .mb-footer-grid {
      display: grid;
      grid-template-columns: 1.25fr .75fr .6fr .75fr;
      gap: 56px;
      align-items: start;
    }

    .mb-footer-claim {
      margin: 0;
      max-width: 560px;
      font-size: clamp(42px, 5vw, 76px);
      line-height: .98;
      letter-spacing: -.055em;
      font-weight: 830;
    }

    .mb-footer-claim span {
      color: var(--mb-orange);
    }

    .mb-footer-col h3 {
      margin: 0 0 18px;
      color: #8e8e8e;
      font-size: 12px;
      font-weight: 850;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .mb-footer-col a,
    .mb-footer-col p {
      display: block;
      margin: 0 0 10px;
      color: #e7e7e7;
      text-decoration: none;
      font-size: 15px;
      line-height: 1.5;
    }

    .mb-footer-col a:hover {
      color: var(--mb-orange);
    }

    .mb-footer-bottom {
      margin-top: 62px;
      padding-top: 22px;
      border-top: 1px solid rgba(255,255,255,.15);
      display: flex;
      justify-content: space-between;
      gap: 18px;
      color: #8d8d8d;
      font-size: 12px;
    }

    .mb-final-thanks {
      background: #111;
      color: #fff;
      padding: 82px 24px 92px;
      text-align: center;
      border-top: 1px solid rgba(255,255,255,.08);
    }

    .mb-final-thanks h2 {
      margin: 0;
      font-size: clamp(42px, 5vw, 74px);
      line-height: 1;
      letter-spacing: -.05em;
    }

    .mb-final-thanks p {
      max-width: 720px;
      margin: 20px auto 0;
      color: #bdbdbd;
      font-size: 18px;
      line-height: 1.6;
    }

    .mb-final-thanks a {
      min-height: 54px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 28px;
      padding: 0 26px;
      border-radius: 8px;
      background: var(--mb-orange);
      color: #111;
      text-decoration: none;
      font-weight: 850;
    }


    .mb-socials {
      display: flex;
      gap: 12px;
      align-items: center;
    }

    .mb-socials a {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      margin: 0;
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 50%;
      color: rgba(255,255,255,.72);
      transition: color .22s ease, border-color .22s ease, transform .22s ease, background .22s ease;
    }

    .mb-socials a:hover {
      color: var(--mb-orange);
      border-color: var(--mb-orange);
      transform: translateY(-2px) scale(1.04);
      background: rgba(244,122,32,.06);
    }

    .mb-socials svg {
      width: 21px;
      height: 21px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .mb-socials a[aria-label="Facebook"] svg {
      fill: currentColor;
      stroke: none;
    }

    .mb-socials a[aria-label="YouTube"] svg {
      fill: none;
      stroke: currentColor;
    }

    .mb-social-placeholder {
      opacity: .78;
    }

    .mb-to-top {
      position: fixed;
      right: 28px;
      bottom: 28px;
      z-index: 60;
      width: 52px;
      height: 52px;
      border: 1px solid rgba(255,255,255,.35);
      border-radius: 50%;
      background: rgba(13,13,13,.88);
      color: var(--mb-orange);
      display: grid;
      place-items: center;
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: opacity .22s ease, visibility .22s ease, transform .22s ease, background .22s ease, color .22s ease;
      backdrop-filter: blur(10px);
      box-shadow: 0 10px 28px rgba(0,0,0,.22);
    }

    .mb-to-top.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .mb-to-top:hover {
      background: var(--mb-orange);
      color: #111;
    }

    .mb-to-top svg {
      width: 21px;
      height: 21px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }


    /* Sprint 7: Premium Finish */
    :root {
      --mb-ease: cubic-bezier(.22, 1, .36, 1);
      --mb-radius-ui: 8px;
      --mb-reveal-distance: 18px;
    }

    .mb-header {
      transition:
        height .32s var(--mb-ease),
        background .32s ease,
        box-shadow .32s ease,
        backdrop-filter .32s ease;
    }

    .mb-header.is-scrolled {
      height: 70px;
      background: rgba(12,12,12,.88);
      backdrop-filter: blur(16px);
      box-shadow: 0 8px 28px rgba(0,0,0,.18);
    }

    .mb-header .mb-logo img {
      transition: height .3s var(--mb-ease), transform .3s var(--mb-ease);
    }

    .mb-header.is-scrolled .mb-logo img {
      transform: scale(.9);
      transform-origin: left center;
    }

    .mb-nav a {
      position: relative;
    }

    .mb-nav a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -8px;
      height: 2px;
      background: var(--mb-orange);
      transition: right .28s var(--mb-ease);
    }

    .mb-nav a:hover::after,
    .mb-nav a:focus-visible::after {
      right: 0;
    }

    .mb-nav-login {
      padding-left: 19px;
    }

    .mb-nav-login::before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      width: 9px;
      height: 9px;
      border: 1.5px solid var(--mb-orange);
      border-radius: 50%;
      transform: translateY(-50%);
    }

    .mb-mobile-login {
      color: var(--mb-orange) !important;
    }

    .mb-btn,
    .mb-header-cta,
    .mb-process-cta,
    .mb-projects-button,
    .mb-form-submit,
    .mb-final-thanks a {
      border-radius: var(--mb-radius-ui);
      transition:
        transform .24s var(--mb-ease),
        filter .24s ease,
        box-shadow .24s ease,
        background .24s ease,
        color .24s ease,
        border-color .24s ease;
    }

    .mb-btn:hover,
    .mb-header-cta:hover,
    .mb-process-cta:hover,
    .mb-projects-button:hover,
    .mb-form-submit:hover,
    .mb-final-thanks a:hover {
      transform: translateY(-2px);
      filter: brightness(1.045);
      box-shadow: 0 12px 28px rgba(244,122,32,.18);
    }

    .mb-goal-card,
    .mb-process-row,
    .mb-project-card,
    .mb-contact-direct,
    .mb-contact-form-wrap {
      transition:
        transform .34s var(--mb-ease),
        border-color .34s ease,
        box-shadow .34s ease;
    }

    .mb-process-row:hover,
    .mb-contact-direct:hover,
    .mb-contact-form-wrap:hover {
      transform: translateY(-3px);
      border-color: rgba(244,122,32,.3);
      box-shadow: 0 18px 45px rgba(20,20,20,.07);
    }

    /* Einheitliche Scroll-Reveal-Sprache */
    .mb-reveal {
      opacity: 0;
      transform: translateY(var(--mb-reveal-distance));
      transition:
        opacity .7s var(--mb-ease),
        transform .7s var(--mb-ease);
      transition-delay: var(--mb-delay, 0ms);
    }

    .mb-reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Scroll-Fortschrittsring mit Back-to-Top */
    .mb-to-top {
      --mb-progress: 0deg;
      border: 0;
      background:
        radial-gradient(circle at center, rgba(13,13,13,.96) 0 64%, transparent 65%),
        conic-gradient(var(--mb-orange) var(--mb-progress), rgba(255,255,255,.22) 0);
      color: #fff;
      padding: 4px;
    }

    .mb-to-top::before {
      content: "";
      position: absolute;
      inset: 4px;
      border-radius: 50%;
      background: rgba(13,13,13,.96);
      z-index: -1;
    }

    .mb-to-top:hover {
      background:
        radial-gradient(circle at center, var(--mb-orange) 0 64%, transparent 65%),
        conic-gradient(var(--mb-orange) var(--mb-progress), rgba(255,255,255,.3) 0);
      color: #111;
    }

    .mb-to-top:focus-visible,
    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    textarea:focus-visible {
      outline: 3px solid rgba(244,122,32,.42);
      outline-offset: 3px;
    }


    /* Version 7: finaler Footer mit Standortkarte */
    .mb-footer-grid {
      grid-template-columns: 1.15fr .72fr .52fr .68fr 1fr;
      gap: 42px;
    }

    .mb-footer-map {
      min-width: 0;
    }

    .mb-map-frame {
      position: relative;
      width: 100%;
      aspect-ratio: 1.5 / 1;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 10px;
      background: #151515;
    }

    .mb-map-frame svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .mb-map-marker {
      position: absolute;
      left: 54%;
      top: 49%;
      width: 0;
      height: 0;
      border-left: 11px solid transparent;
      border-right: 11px solid transparent;
      border-top: 20px solid var(--mb-orange);
      transform: translate(-50%, -50%);
      filter: drop-shadow(0 5px 7px rgba(0,0,0,.48));
    }

    .mb-map-marker::after {
      content: "";
      position: absolute;
      left: -3px;
      top: -17px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #fff;
    }

    .mb-map-address {
      margin-top: 15px !important;
      color: #d0d0d0 !important;
      font-size: 14px !important;
    }

    .mb-route-link {
      display: inline-flex !important;
      align-items: center;
      gap: 8px;
      margin-top: 5px !important;
      color: var(--mb-orange) !important;
      font-weight: 800;
    }

    .mb-footer-legal {
      display: flex;
      flex-wrap: wrap;
      gap: 22px;
      align-items: center;
    }

    .mb-footer-legal a {
      color: #aaa;
      text-decoration: none;
    }

    .mb-footer-legal a:hover {
      color: var(--mb-orange);
    }

    /* Permanenter Back-to-Top-Button */
    .mb-to-top {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    @keyframes mbFadeUp {
      from { opacity: 0; transform: translateY(22px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @media (max-width: 1024px) {
      :root { --mb-header-h: 80px; }
      .mb-header-inner,
      .mb-hero-inner { width: min(calc(100% - 48px), var(--mb-max)); }
      .mb-header-inner {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 16px;
      }
      .mb-nav {
        display: flex;
        gap: 16px;
        font-size: 13px;
      }
      .mb-header-cta { justify-self: end; padding-inline: 18px; }
      .mb-menu-button { display: none; }
      .mb-hero {
        min-height: 820px;
        height: auto;
      }
      .mb-hero-inner {
        grid-template-columns: 1fr;
        padding-top: 150px;
        padding-bottom: 92px;
      }
      .mb-copy { max-width: 720px; }
      .mb-title { font-size: clamp(50px, 7vw, 74px); max-width: 660px; }
      .mb-overlay {
        background:
          linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.72) 62%, rgba(0,0,0,.38) 100%),
          linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.14) 50%, rgba(0,0,0,.80) 100%);
      }
    }

    @media (max-width: 680px) {
      :root { --mb-header-h: 72px; }
      .mb-header-inner,
      .mb-hero-inner { width: calc(100% - 32px); }
      .mb-header-inner {
        grid-template-columns: auto 1fr auto;
        gap: 12px;
      }
      .mb-logo img { width: 126px; }
      .mb-nav { display: none; }
      .mb-header-cta { display: none; }
      .mb-menu-button {
        display: inline-flex;
        grid-column: 3;
        justify-self: end;
      }
      .mb-hero {
        min-height: 790px;
        height: auto;
        align-items: flex-end;
      }
      .mb-hero-inner {
        padding-top: 116px;
        padding-bottom: 62px;
        align-items: end;
      }
      .mb-kicker {
        font-size: 12px;
      }
      .mb-kicker-after {
        margin-top: 14px;
      }
  
    .mb-kicker-after {
      margin-top: 18px;
      margin-bottom: 0;
    }

    .mb-title {
        font-size: clamp(36px, 10.2vw, 50px);
        line-height: 1;
        letter-spacing: -.032em;
        max-width: 100%;
      }
      .mb-subtitle {
        margin-top: 22px;
        font-size: 16px;
        line-height: 1.5;
      }
      .mb-actions {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 28px;
      }
      .mb-btn { width: 100%; }
      .mb-proof {
        margin-top: 28px;
        gap: 12px;
        font-size: 12.5px;
      }
      .mb-proof::before { width: 34px; }
      .mb-video-note { display: none; }
      .mb-overlay {
        background:
          linear-gradient(180deg, rgba(0,0,0,.38) 0%, rgba(0,0,0,.38) 30%, rgba(0,0,0,.88) 72%, rgba(0,0,0,.96) 100%);
      }
      .mb-poster::before {
        width: 360px;
        height: 360px;
        right: -32%;
        top: 14%;
      }
      .mb-poster::after {
        right: 8%;
        top: 28%;
      }
    }


    @media (max-width: 390px) {
  
    .mb-kicker-after {
      margin-top: 18px;
      margin-bottom: 0;
    }

    .mb-title {
        font-size: 34px;
        line-height: 1.02;
      }
      .mb-subtitle {
        font-size: 15.5px;
      }
      .mb-proof {
        align-items: flex-start;
      }
    }


    @media (max-width: 1024px) {
      .mb-trust-inner { width: min(calc(100% - 48px), var(--mb-max)); }
      .mb-trust { padding: 78px 0 88px; }
      .mb-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .mb-stat:nth-child(2) { border-right: 0; }
      .mb-stat:nth-child(-n+2) { border-bottom: 1px solid #dedede; }
    }

    @media (max-width: 680px) {
      .mb-trust-inner { width: calc(100% - 32px); }
      .mb-trust { padding: 62px 0 70px; }
      .mb-logo-rail { margin-top: 38px; }
      .mb-client { min-width: 145px; height: 60px; font-size: 14px; }
      .mb-stats { grid-template-columns: 1fr; margin-top: 42px; }
      .mb-stat,
      .mb-stat:nth-child(2) {
        min-height: auto;
        padding: 28px 2px;
        border-right: 0;
        border-bottom: 1px solid #dedede;
      }
      .mb-stat:last-child { border-bottom: 0; }
      .mb-stat-value.is-word { max-width: none; }
      .mb-trust-note { margin-top: 22px; }
    }


    @media (max-width: 1024px) {
      .mb-goals { padding: 92px 0 98px; }
      .mb-goals-inner { width: min(calc(100% - 48px), var(--mb-max)); }
      .mb-goals-head {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-bottom: 46px;
      }
      .mb-goal-card { min-height: 330px; }
    }

    @media (max-width: 680px) {
      .mb-goals { padding: 72px 0 78px; }
      .mb-goals-inner { width: calc(100% - 32px); }
      .mb-goals-grid { grid-template-columns: 1fr; gap: 14px; }
      .mb-goal-card {
        min-height: 300px;
        padding: 26px 22px;
        border-radius: 12px;
      }
      .mb-goal-copy { margin-top: 46px; }
      .mb-goal-title { font-size: 35px; }
      .mb-goal-text { font-size: 16px; }
      .mb-goal-meta { margin-top: 30px; align-items: center; }
    }


    @media (max-width: 1080px) {
      .mb-process { padding: 92px 0 102px; }
      .mb-process-inner { width: min(calc(100% - 48px), var(--mb-max)); }
      .mb-process-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
      .mb-process-row {
        grid-template-columns: 84px minmax(260px, .85fr) minmax(330px, 1.15fr);
      }
      .mb-process-list::before { left: 42px; }
      .mb-process-copy { padding: 32px 28px; }
    }

    @media (max-width: 780px) {
      .mb-process-row {
        grid-template-columns: 68px 1fr;
        min-height: auto;
      }
      .mb-process-step {
        grid-row: 1 / span 2;
        padding-top: 28px;
      }
      .mb-process-list::before { left: 34px; }
      .mb-process-number {
        width: 44px;
        height: 44px;
        box-shadow: 0 0 0 6px #fafaf8;
      }
      .mb-process-media {
        grid-column: 2;
        min-height: 230px;
      }
      .mb-process-media img { min-height: 230px; }
      .mb-process-promise { grid-template-columns: 1fr; }
      .mb-process-cta { justify-self: start; }
    }

    @media (max-width: 680px) {
      .mb-stat-icon { width: 46px; height: 46px; margin-bottom: 14px; }
      .mb-process { padding: 72px 0 80px; }
      .mb-process-inner { width: calc(100% - 32px); }
      .mb-process-heading { font-size: 43px; }
      .mb-process-row {
        grid-template-columns: 1fr;
        border-radius: 12px;
      }
      .mb-process-list::before { display: none; }
      .mb-process-step {
        grid-row: auto;
        justify-content: flex-start;
        padding: 22px 22px 0;
        border-right: 0;
        background: #fff;
      }
      .mb-process-number { box-shadow: none; }
      .mb-process-copy { padding: 22px; }
      .mb-process-media { grid-column: 1; min-height: 215px; }
      .mb-process-media img { min-height: 215px; }
      .mb-process-promise { padding: 26px 22px; }
      .mb-process-cta { width: 100%; }
    }


    @media (max-width:1080px){.mb-projects{padding:96px 0 104px}.mb-projects-inner{width:min(calc(100% - 48px),var(--mb-max))}.mb-project-card.is-large{grid-column:span 12}.mb-project-card.is-small{grid-column:span 6}}
    @media (max-width:680px){.mb-projects{padding:74px 0 82px}.mb-projects-inner{width:calc(100% - 32px)}.mb-projects-head{margin-bottom:40px}.mb-project-grid{gap:14px}.mb-project-card.is-large,.mb-project-card.is-small{grid-column:span 12;min-height:360px}.mb-project-content{padding:24px}.mb-project-topline{top:20px;left:22px;right:22px}}
    @media (hover:none),(pointer:coarse){.mb-project-media video{display:none}.mb-project-card:hover .mb-project-media img{transform:none}}

    @media (max-width: 1024px) {
      .mb-contact { padding: 96px 0 104px; }
      .mb-contact-inner,
      .mb-footer-inner { width: min(calc(100% - 48px), var(--mb-max)); }
      .mb-contact-grid { grid-template-columns: 1fr; }
      .mb-contact-direct { grid-column: 1; grid-row: 1; }
      .mb-contact-form-wrap { grid-column: 1; grid-row: 2; }
      .mb-contact-visual {
        aspect-ratio: 16 / 9;
        margin-top: 24px;
        min-height: 0;
      }
      .mb-contact-visual img { min-height: 0; }
      .mb-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .mb-footer-map { grid-column: 1 / -1; }
      .mb-footer-brand { grid-column: 1 / -1; }
    }

    @media (max-width: 680px) {
      .mb-contact { padding: 74px 0 82px; }
      .mb-contact-inner,
      .mb-footer-inner,
      .mb-faq-inner { width: calc(100% - 32px); }
      .mb-contact-head { margin-bottom: 40px; }
      .mb-contact-visual { aspect-ratio: 16 / 9; min-height: 0; }
      .mb-contact-visual img { min-height: 0; }
      .mb-contact-direct,
      .mb-contact-form-wrap { padding: 24px 22px; }
      .mb-faq { padding: 76px 0 82px; }
      .mb-faq-button { min-height: 70px; }
      .mb-footer { padding-top: 68px; }
      .mb-footer-grid { grid-template-columns: 1fr; gap: 38px; }
      .mb-footer-map { grid-column: auto; }
      .mb-footer-brand { grid-column: auto; }
      .mb-footer-bottom { flex-direction: column; }
      .mb-final-thanks { padding: 68px 20px 78px; }
      .mb-to-top { right: 16px; bottom: 16px; width: 48px; height: 48px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition: none !important;
        transition-duration: .01ms !important;
      }
      .mb-logo-track { animation: none !important; }
      .mb-reveal { opacity: 1 !important; transform: none !important; }
    }
  
    /* =========================================================
       SPRINT 8 – PREMIUM HERO
       Nur Hero und Scroll-Indikator wurden veredelt.
       ========================================================= */

    .mb-hero {
      min-height: 92svh;
      display: flex;
      align-items: flex-start;
      padding-top: clamp(126px, 14vh, 178px);
      padding-bottom: 84px;
      overflow: hidden;
    }

    .mb-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.68) 38%, rgba(0,0,0,.24) 72%, rgba(0,0,0,.42) 100%),
        linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.16) 58%, rgba(0,0,0,.54) 100%);
      z-index: -1;
    }

    .mb-hero .mb-copy {
      max-width: 980px;
    }

    .mb-hero h1 {
      margin-bottom: 24px;
      max-width: 960px;
      font-size: clamp(48px, 5.8vw, 86px);
      line-height: .99;
      letter-spacing: -.052em;
      text-wrap: balance;
    }

    .mb-hero h1 strong,
    .mb-hero h1 span {
      display: inline;
    }

    .mb-subline {
      max-width: 820px;
      margin-bottom: 30px;
      font-size: clamp(17px, 1.35vw, 21px);
      line-height: 1.62;
      color: rgba(255,255,255,.9);
    }

    .mb-actions {
      gap: 14px;
    }

    .mb-hero .mb-btn {
      min-height: 56px;
      padding-inline: 26px;
      border-radius: 9px;
      font-weight: 850;
      letter-spacing: -.01em;
      box-shadow: none;
      transition:
        transform .24s var(--mb-ease, ease),
        box-shadow .24s ease,
        background .24s ease,
        color .24s ease,
        border-color .24s ease;
    }

    .mb-hero .mb-btn-primary {
      box-shadow: 0 10px 30px rgba(244,122,32,.16);
    }

    .mb-hero .mb-btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 34px rgba(244,122,32,.24);
    }

    .mb-hero .mb-btn-secondary {
      background: rgba(0,0,0,.18);
      backdrop-filter: blur(8px);
      border-color: rgba(255,255,255,.45);
    }

    .mb-hero .mb-btn-secondary:hover {
      transform: translateY(-2px);
      border-color: var(--mb-orange);
      color: var(--mb-orange);
      box-shadow: none;
    }

    .mb-proof {
      margin-top: 36px;
      gap: 18px;
      color: rgba(255,255,255,.78);
    }

    .mb-scroll-cue {
      position: absolute;
      left: 50%;
      bottom: 24px;
      z-index: 5;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 7px;
      transform: translateX(-50%);
      color: rgba(255,255,255,.7);
      text-decoration: none;
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .16em;
      text-transform: uppercase;
      transition: color .22s ease, transform .22s ease;
    }

    .mb-scroll-cue:hover {
      color: var(--mb-orange);
      transform: translateX(-50%) translateY(-2px);
    }

    .mb-scroll-cue-icon {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.26);
      border-radius: 50%;
      background: rgba(0,0,0,.22);
      backdrop-filter: blur(8px);
    }

    .mb-scroll-cue svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      animation: mbScrollCue 1.8s ease-in-out infinite;
    }

    @keyframes mbScrollCue {
      0%, 100% { transform: translateY(-1px); }
      50% { transform: translateY(4px); }
    }

    @media (max-width: 1024px) {
      .mb-hero {
        min-height: 88svh;
        padding-top: 128px;
      }

      .mb-hero h1 {
        font-size: clamp(48px, 7.6vw, 76px);
      }
    }

    @media (max-width: 680px) {
      .mb-hero {
        min-height: 90svh;
        padding-top: 110px;
        padding-bottom: 92px;
      }

      .mb-hero h1 {
        font-size: clamp(39px, 11vw, 56px);
        line-height: 1.01;
      }

      .mb-subline {
        font-size: 16px;
        line-height: 1.55;
      }

      .mb-actions {
        display: grid;
        grid-template-columns: 1fr;
      }

      .mb-hero .mb-btn {
        width: 100%;
      }

      .mb-scroll-cue {
        bottom: 16px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .mb-scroll-cue svg {
        animation: none;
      }
    }


    /* Sprint 9 – Premium Motion */
    :root{--mb-motion-ease:cubic-bezier(.22,1,.36,1);--mb-motion-distance:18px}
    html{scroll-behavior:smooth}
    .mb-motion-reveal{opacity:0;transform:translateY(var(--mb-motion-distance));transition:opacity .72s var(--mb-motion-ease),transform .72s var(--mb-motion-ease);transition-delay:var(--mb-motion-delay,0ms);will-change:opacity,transform}
    .mb-motion-reveal.is-visible{opacity:1;transform:translateY(0)}
    .mb-hero .mb-copy>*{opacity:0;transform:translateY(14px);animation:mbHeroReveal .72s var(--mb-motion-ease) forwards}
    .mb-hero .mb-copy>*:nth-child(1){animation-delay:.08s}.mb-hero .mb-copy>*:nth-child(2){animation-delay:.16s}.mb-hero .mb-copy>*:nth-child(3){animation-delay:.24s}.mb-hero .mb-copy>*:nth-child(4){animation-delay:.32s}.mb-hero .mb-copy>*:nth-child(5){animation-delay:.40s}
    @keyframes mbHeroReveal{to{opacity:1;transform:translateY(0)}}
    .mb-goal-card{transition:transform .34s var(--mb-motion-ease),box-shadow .34s ease,border-color .34s ease,background .34s ease}
    .mb-goal-card:hover{transform:translateY(-4px) scale(1.012);border-color:rgba(244,122,32,.42);box-shadow:0 18px 44px rgba(20,20,20,.10)}
    .mb-process-row{transition:transform .34s var(--mb-motion-ease),box-shadow .34s ease,border-color .34s ease}
    .mb-process-row:hover{transform:translateY(-3px);border-color:rgba(244,122,32,.3);box-shadow:0 18px 44px rgba(20,20,20,.08)}
    .mb-project-card .mb-project-title,.mb-project-card .mb-project-action{transition:transform .32s var(--mb-motion-ease)}
    .mb-project-card:hover .mb-project-title{transform:translateY(-4px)}
    .mb-project-card:hover .mb-project-action{transform:translateY(-3px)}
    .mb-project-media img,.mb-project-media video{transition:transform .72s var(--mb-motion-ease),filter .4s ease,opacity .3s ease}
    .mb-project-card:hover .mb-project-media img,.mb-project-card:hover .mb-project-media video{transform:scale(1.018);filter:brightness(1.06)}
    .mb-socials a:hover{transform:translateY(-2px)}
    .mb-to-top:hover{transform:translateY(-2px) scale(1.04)}
    @media(max-width:680px){.mb-motion-reveal{--mb-motion-distance:10px;transition-duration:.55s}}
    @media(hover:none),(pointer:coarse){.mb-goal-card:hover,.mb-process-row:hover,.mb-project-card:hover .mb-project-title,.mb-project-card:hover .mb-project-action,.mb-to-top:hover{transform:none}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mb-motion-reveal,.mb-motion-reveal.is-visible,.mb-hero .mb-copy>*{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}


    /* Sprint 9.4 – sichere Ankernavigation ohne Veränderung des Kartenrasters */
    #videoproduktion,
    #event-service,
    #marketing,
    #referenzen,
    #kontakt {
      scroll-margin-top: 96px;
    }

    .mb-goal-card.mb-anchor-focus {
      border-color: var(--mb-orange) !important;
      box-shadow:
        0 0 0 3px rgba(244,122,32,.16),
        0 18px 44px rgba(20,20,20,.11) !important;
    }

    .mb-goal-card.mb-anchor-focus::after {
      content: "";
      position: absolute;
      inset: -1px;
      border: 2px solid rgba(244,122,32,.62);
      border-radius: inherit;
      pointer-events: none;
      animation: mbAnchorFocus 1.55s ease-out both;
    }

    @keyframes mbAnchorFocus {
      0% { opacity: 0; }
      18% { opacity: 1; }
      100% { opacity: 0; }
    }

    @media (max-width: 680px) {
      #videoproduktion,
      #event-service,
      #marketing,
      #referenzen,
      #kontakt {
        scroll-margin-top: 78px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .mb-goal-card.mb-anchor-focus::after {
        animation: none;
        opacity: 1;
      }
    }


    /* Sprint 9.6 – Kennzahlen und Back-to-Top-Fix */
    .mb-stats .mb-stat:nth-child(1) { --mb-motion-delay: 0ms; }
    .mb-stats .mb-stat:nth-child(2) { --mb-motion-delay: 120ms; }
    .mb-stats .mb-stat:nth-child(3) { --mb-motion-delay: 240ms; }
    .mb-stats .mb-stat:nth-child(4) { --mb-motion-delay: 360ms; }

    .mb-to-top {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(10px);
    }

    .mb-to-top.is-visible {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0);
    }

    @media (prefers-reduced-motion: reduce) {
      .mb-to-top,
      .mb-to-top.is-visible {
        transition: none !important;
        transform: none !important;
      }
    }


    /* =========================================================
       SPRINT 11 – INTELLIGENTE MEDIENPRODUKTION
       ========================================================= */
    .mb-ai-premium {
      position: relative;
      overflow: hidden;
      padding: 118px 0 124px;
      background:
        radial-gradient(circle at 18% 12%, rgba(244,122,32,.09), transparent 32%),
        radial-gradient(circle at 82% 74%, rgba(244,122,32,.055), transparent 30%),
        #070707;
      color: #fff;
      isolation: isolate;
    }

    .mb-ai-premium::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(244,122,32,.75), transparent);
    }

    .mb-ai-premium-inner {
      width: min(calc(100% - 64px), var(--mb-max));
      margin: 0 auto;
    }

    .mb-ai-intro {
      max-width: 1080px;
    }

    .mb-ai-intro .mb-section-label {
      color: var(--mb-orange);
    }

    .mb-ai-intro h2 {
      margin: 0;
      max-width: 1080px;
      font-size: clamp(50px, 6.3vw, 94px);
      line-height: .95;
      letter-spacing: -.06em;
      font-weight: 850;
      text-wrap: balance;
    }

    .mb-ai-intro h2 span {
      display: block;
      color: var(--mb-orange);
    }

    .mb-ai-lead {
      max-width: 790px;
      margin: 28px 0 0;
      color: #bcbcbc;
      font-size: 18px;
      line-height: 1.68;
    }

    .mb-ai-editorial {
      position: relative;
      margin-top: 64px;
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      grid-auto-flow: dense;
      gap: 18px;
    }

    .mb-ai-editorial::before {
      content: "";
      position: absolute;
      left: 50%;
      top: 8%;
      bottom: 8%;
      width: 1px;
      background: linear-gradient(180deg, transparent, rgba(244,122,32,.55), transparent);
      opacity: .65;
      pointer-events: none;
    }

    .mb-ai-card {
      position: relative;
      min-height: 286px;
      grid-column: span 4;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 16px;
      background: rgba(255,255,255,.035);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
      transition:
        transform .34s var(--mb-motion-ease, ease),
        border-color .34s ease,
        background .34s ease,
        box-shadow .34s ease;
    }

    .mb-ai-card.is-featured {
      min-height: 590px;
      grid-column: span 8;
      grid-row: span 2;
    }

    .mb-ai-card:hover {
      transform: translateY(-4px);
      border-color: rgba(244,122,32,.48);
      background: rgba(255,255,255,.052);
      box-shadow: 0 18px 54px rgba(0,0,0,.32);
    }

    .mb-ai-visual {
      position: relative;
      min-height: 158px;
      overflow: hidden;
      border-bottom: 1px solid rgba(255,255,255,.09);
      background:
        linear-gradient(135deg, rgba(255,255,255,.045), transparent 48%),
        #0d0d0d;
    }

    .mb-ai-card.is-featured .mb-ai-visual {
      min-height: 360px;
    }

    .mb-ai-card-copy {
      position: relative;
      z-index: 2;
      display: flex;
      flex: 1;
      flex-direction: column;
      padding: 24px;
    }

    .mb-ai-card.is-featured .mb-ai-card-copy {
      padding: 30px 32px 34px;
    }

    .mb-ai-card-index {
      color: var(--mb-orange);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .15em;
    }

    .mb-ai-card h3 {
      margin: 16px 0 0;
      font-size: clamp(26px, 2.7vw, 42px);
      line-height: 1.04;
      letter-spacing: -.04em;
      font-weight: 820;
    }

    .mb-ai-card.is-featured h3 {
      font-size: clamp(36px, 4vw, 60px);
    }

    .mb-ai-card p {
      margin: 14px 0 0;
      color: #a9a9a9;
      font-size: 14px;
      line-height: 1.58;
    }

    .mb-ai-card.is-featured p {
      max-width: 620px;
      font-size: 16px;
    }

    .mb-ai-frame {
      position: absolute;
      display: block;
      border: 1px solid rgba(255,255,255,.2);
      background:
        linear-gradient(145deg, rgba(244,122,32,.22), transparent 48%),
        rgba(255,255,255,.04);
      box-shadow: 0 14px 38px rgba(0,0,0,.3);
      transform: rotate(-5deg);
    }

    .mb-ai-frame-a { width: 44%; height: 46%; left: 9%; top: 15%; }
    .mb-ai-frame-b { width: 38%; height: 42%; right: 10%; top: 21%; transform: rotate(6deg); }
    .mb-ai-frame-c { width: 42%; height: 34%; left: 30%; bottom: 10%; transform: rotate(1deg); }

    .mb-ai-orbit {
      position: absolute;
      width: 260px;
      height: 260px;
      right: 9%;
      bottom: -48px;
      border: 1px solid rgba(244,122,32,.42);
      border-radius: 50%;
      box-shadow: 0 0 80px rgba(244,122,32,.08);
    }

    .is-voice {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
    }

    .is-voice span {
      width: 5px;
      height: 28px;
      border-radius: 99px;
      background: linear-gradient(180deg, var(--mb-orange), rgba(244,122,32,.2));
    }

    .is-voice span:nth-child(2),
    .is-voice span:nth-child(6) { height: 54px; }

    .is-voice span:nth-child(3),
    .is-voice span:nth-child(5) { height: 82px; }

    .is-voice span:nth-child(4) { height: 110px; }

    .is-avatar {
      display: grid;
      place-items: center;
    }

    .mb-ai-avatar-head,
    .mb-ai-avatar-body,
    .mb-ai-avatar-ring {
      position: absolute;
      display: block;
    }

    .mb-ai-avatar-head {
      width: 56px;
      height: 56px;
      top: 28px;
      border-radius: 50%;
      background: linear-gradient(145deg, #f1b08b, #6e3f2e);
      box-shadow: 0 0 32px rgba(244,122,32,.15);
    }

    .mb-ai-avatar-body {
      width: 104px;
      height: 74px;
      bottom: 13px;
      border-radius: 52px 52px 10px 10px;
      background: linear-gradient(145deg, rgba(244,122,32,.7), rgba(255,255,255,.08));
    }

    .mb-ai-avatar-ring {
      width: 138px;
      height: 138px;
      border: 1px solid rgba(244,122,32,.36);
      border-radius: 50%;
    }

    .is-social {
      display: grid;
      place-items: center;
    }

    .mb-ai-social-card {
      position: absolute;
      width: 72px;
      height: 104px;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 12px;
      background:
        linear-gradient(160deg, rgba(244,122,32,.28), transparent 42%),
        #181818;
      box-shadow: 0 14px 32px rgba(0,0,0,.28);
    }

    .mb-ai-social-card.is-one { transform: translateX(-52px) rotate(-10deg); }
    .mb-ai-social-card.is-two { z-index: 2; transform: translateY(-4px); }
    .mb-ai-social-card.is-three { transform: translateX(52px) rotate(10deg); }

    .is-visuals {
      display: grid;
      place-items: center;
    }

    .mb-ai-shape {
      position: absolute;
      display: block;
      border-radius: 28% 72% 62% 38% / 42% 38% 62% 58%;
      filter: blur(.1px);
    }

    .mb-ai-shape.is-a {
      width: 116px;
      height: 92px;
      background: linear-gradient(135deg, var(--mb-orange), #ffb071);
      transform: translate(-38px, -10px) rotate(18deg);
    }

    .mb-ai-shape.is-b {
      width: 92px;
      height: 118px;
      background: linear-gradient(135deg, rgba(255,255,255,.4), rgba(255,255,255,.04));
      transform: translate(40px, 4px) rotate(-16deg);
    }

    .mb-ai-shape.is-c {
      width: 70px;
      height: 70px;
      border: 1px solid rgba(244,122,32,.55);
      transform: translate(8px, -8px);
    }

    .is-workflow {
      display: grid;
      place-items: center;
    }

    .mb-ai-node {
      position: absolute;
      width: 36px;
      height: 36px;
      border: 1px solid rgba(244,122,32,.68);
      border-radius: 50%;
      background: #161616;
      box-shadow: 0 0 28px rgba(244,122,32,.12);
    }

    .mb-ai-node.is-left { left: 18%; }
    .mb-ai-node.is-center { left: 50%; transform: translateX(-50%); }
    .mb-ai-node.is-right { right: 18%; }

    .mb-ai-path {
      position: absolute;
      width: 28%;
      height: 1px;
      background: linear-gradient(90deg, rgba(244,122,32,.2), var(--mb-orange));
    }

    .mb-ai-path.is-one { left: 27%; }
    .mb-ai-path.is-two { right: 27%; transform: scaleX(-1); }

    .mb-ai-closing {
      margin-top: 42px;
      padding-top: 34px;
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 32px;
      border-top: 1px solid rgba(255,255,255,.12);
    }

    .mb-ai-closing p {
      margin: 0;
      color: #8d8d8d;
      font-size: 14px;
    }

    .mb-ai-closing h3 {
      margin: 8px 0 0;
      max-width: 720px;
      font-size: clamp(32px, 4vw, 60px);
      line-height: 1;
      letter-spacing: -.045em;
    }

    .mb-ai-cta {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      flex: 0 0 auto;
      min-height: 54px;
      padding: 0 22px;
      border: 1px solid rgba(244,122,32,.68);
      border-radius: 10px;
      color: #fff;
      text-decoration: none;
      font-size: 14px;
      font-weight: 850;
      transition:
        transform .24s var(--mb-motion-ease, ease),
        background .24s ease,
        border-color .24s ease;
    }

    .mb-ai-cta span {
      color: var(--mb-orange);
      font-size: 20px;
    }

    .mb-ai-cta:hover {
      transform: translateY(-2px);
      border-color: var(--mb-orange);
      background: rgba(244,122,32,.08);
    }

    @media (max-width: 1024px) {
      .mb-ai-premium {
        padding: 96px 0 104px;
      }

      .mb-ai-premium-inner {
        width: min(calc(100% - 48px), var(--mb-max));
      }

      .mb-ai-card,
      .mb-ai-card.is-featured {
        grid-column: span 6;
        grid-row: auto;
        min-height: 340px;
      }

      .mb-ai-card.is-featured .mb-ai-visual {
        min-height: 220px;
      }

      .mb-ai-card.is-featured .mb-ai-card-copy {
        padding: 26px;
      }

      .mb-ai-editorial::before {
        display: none;
      }
    }

    @media (max-width: 680px) {
      .mb-ai-premium {
        padding: 76px 0 82px;
      }

      .mb-ai-premium-inner {
        width: calc(100% - 32px);
      }

      .mb-ai-intro h2 {
        font-size: 44px;
      }

      .mb-ai-lead {
        font-size: 16px;
      }

      .mb-ai-editorial {
        margin-top: 42px;
        gap: 14px;
      }

      .mb-ai-card,
      .mb-ai-card.is-featured {
        grid-column: span 12;
        min-height: 0;
      }

      .mb-ai-visual,
      .mb-ai-card.is-featured .mb-ai-visual {
        min-height: 220px;
      }

      .mb-ai-closing {
        align-items: flex-start;
        flex-direction: column;
      }

      .mb-ai-cta {
        width: 100%;
        justify-content: center;
      }
    }

    @media (hover: none), (pointer: coarse) {
      .mb-ai-card:hover,
      .mb-ai-cta:hover {
        transform: none;
      }
    }


    /* =========================================================
       SPRINT 11.1 – INTERAKTIVE KI-KARTEN UND OVERLAYS
       ========================================================= */
    .mb-ai-card-button {
      cursor: pointer;
      outline: none;
    }

    .mb-ai-card-button:focus-visible {
      border-color: var(--mb-orange);
      box-shadow: 0 0 0 3px rgba(244,122,32,.2);
    }

    .mb-ai-card-open {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: auto;
      padding-top: 18px;
      color: #d6d6d6;
      font-size: 12px;
      font-weight: 850;
    }

    .mb-ai-card-open b {
      color: var(--mb-orange);
      font-size: 17px;
      transition: transform .24s var(--mb-motion-ease, ease);
    }

    .mb-ai-card:hover .mb-ai-card-open b {
      transform: translateX(4px);
    }

    .mb-ai-modal-layer {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 28px;
    }

    .mb-ai-modal-layer.is-open {
      display: flex;
    }

    .mb-ai-modal-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(0,0,0,.78);
      backdrop-filter: blur(12px);
    }

    .mb-ai-modal {
      position: relative;
      z-index: 2;
      width: min(1080px, 100%);
      max-height: min(760px, calc(100vh - 56px));
      overflow: auto;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 18px;
      background: #0c0c0c;
      color: #fff;
      box-shadow: 0 32px 90px rgba(0,0,0,.5);
      animation: mbAiModalIn .34s var(--mb-motion-ease, ease) both;
    }

    .mb-ai-modal[hidden] {
      display: none;
    }

    @keyframes mbAiModalIn {
      from { opacity: 0; transform: translateY(16px) scale(.985); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .mb-ai-modal-close {
      position: absolute;
      top: 16px;
      right: 16px;
      z-index: 3;
      width: 44px;
      height: 44px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 50%;
      background: rgba(0,0,0,.45);
      color: #fff;
      font-size: 28px;
      line-height: 1;
      cursor: pointer;
    }

    .mb-ai-modal-close:hover {
      border-color: var(--mb-orange);
      color: var(--mb-orange);
    }

    .mb-ai-modal-visual {
      position: relative;
      min-height: 540px;
      overflow: hidden;
      background:
        radial-gradient(circle at 30% 25%, rgba(244,122,32,.15), transparent 36%),
        #111;
    }

    .mb-ai-modal-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(34px, 5vw, 64px);
    }

    .mb-ai-modal-content h3 {
      margin: 0;
      font-size: clamp(42px, 5vw, 72px);
      line-height: .98;
      letter-spacing: -.055em;
    }

    .mb-ai-modal-content > p:not(.mb-section-label) {
      margin: 24px 0 0;
      color: #b8b8b8;
      font-size: 17px;
      line-height: 1.65;
    }

    .mb-ai-modal-points {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 28px;
    }

    .mb-ai-modal-points span {
      padding: 8px 11px;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 999px;
      color: #d7d7d7;
      font-size: 11px;
      font-weight: 800;
    }

    .mb-ai-modal-cta {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      margin-top: 32px;
      padding: 14px 18px;
      border: 1px solid var(--mb-orange);
      border-radius: 10px;
      color: #fff;
      text-decoration: none;
      font-weight: 850;
    }

    .mb-ai-modal-cta:hover {
      background: rgba(244,122,32,.1);
    }

    body.mb-ai-modal-open {
      overflow: hidden;
    }

    .is-film-detail .mb-ai-detail-frame {
      position: absolute;
      display: block;
      border: 1px solid rgba(255,255,255,.2);
      background:
        linear-gradient(145deg, rgba(244,122,32,.28), transparent 46%),
        rgba(255,255,255,.05);
      box-shadow: 0 22px 52px rgba(0,0,0,.36);
    }

    .is-film-detail .is-one { width: 52%; height: 42%; left: 7%; top: 12%; transform: rotate(-7deg); }
    .is-film-detail .is-two { width: 44%; height: 38%; right: 7%; top: 26%; transform: rotate(6deg); }
    .is-film-detail .is-three { width: 48%; height: 32%; left: 26%; bottom: 10%; transform: rotate(1deg); }

    .is-voice-detail {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
    }

    .is-voice-detail span {
      width: 8px;
      border-radius: 99px;
      background: linear-gradient(180deg, var(--mb-orange), rgba(244,122,32,.15));
      animation: mbVoiceBars 1.3s ease-in-out infinite alternate;
    }

    .is-voice-detail span:nth-child(1),
    .is-voice-detail span:nth-child(9) { height: 70px; }
    .is-voice-detail span:nth-child(2),
    .is-voice-detail span:nth-child(8) { height: 120px; }
    .is-voice-detail span:nth-child(3),
    .is-voice-detail span:nth-child(7) { height: 180px; }
    .is-voice-detail span:nth-child(4),
    .is-voice-detail span:nth-child(6) { height: 240px; }
    .is-voice-detail span:nth-child(5) { height: 310px; }

    @keyframes mbVoiceBars {
      to { transform: scaleY(.72); opacity: .65; }
    }

    .is-avatar-detail {
      display: grid;
      place-items: center;
    }

    .mb-ai-detail-avatar-head,
    .mb-ai-detail-avatar-body,
    .mb-ai-detail-avatar-ring {
      position: absolute;
      display: block;
    }

    .mb-ai-detail-avatar-head {
      width: 118px;
      height: 118px;
      top: 110px;
      border-radius: 50%;
      background: linear-gradient(145deg, #efad88, #714030);
    }

    .mb-ai-detail-avatar-body {
      width: 220px;
      height: 180px;
      bottom: 76px;
      border-radius: 110px 110px 24px 24px;
      background: linear-gradient(145deg, rgba(244,122,32,.72), rgba(255,255,255,.08));
    }

    .mb-ai-detail-avatar-ring {
      width: 340px;
      height: 340px;
      border: 1px solid rgba(244,122,32,.36);
      border-radius: 50%;
      box-shadow: 0 0 90px rgba(244,122,32,.08);
    }

    .is-social-detail {
      display: grid;
      place-items: center;
    }

    .mb-ai-detail-phone {
      position: absolute;
      width: 142px;
      height: 260px;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 24px;
      background:
        linear-gradient(160deg, rgba(244,122,32,.32), transparent 42%),
        #1a1a1a;
      box-shadow: 0 24px 56px rgba(0,0,0,.34);
    }

    .mb-ai-detail-phone.is-one { transform: translateX(-110px) rotate(-10deg); }
    .mb-ai-detail-phone.is-two { z-index: 2; transform: translateY(-8px); }
    .mb-ai-detail-phone.is-three { transform: translateX(110px) rotate(10deg); }

    .is-visuals-detail {
      display: grid;
      place-items: center;
    }

    .mb-ai-detail-shape {
      position: absolute;
      border-radius: 32% 68% 64% 36% / 44% 38% 62% 56%;
    }

    .mb-ai-detail-shape.is-a {
      width: 240px;
      height: 190px;
      background: linear-gradient(135deg, var(--mb-orange), #ffb071);
      transform: translate(-90px, -40px) rotate(18deg);
    }

    .mb-ai-detail-shape.is-b {
      width: 210px;
      height: 250px;
      background: linear-gradient(135deg, rgba(255,255,255,.45), rgba(255,255,255,.04));
      transform: translate(90px, 30px) rotate(-16deg);
    }

    .mb-ai-detail-shape.is-c {
      width: 150px;
      height: 150px;
      border: 1px solid rgba(244,122,32,.55);
      transform: translate(16px, -10px);
    }

    .is-workflow-detail {
      display: grid;
      place-items: center;
    }

    .mb-ai-detail-node {
      position: absolute;
      width: 76px;
      height: 76px;
      border: 1px solid rgba(244,122,32,.68);
      border-radius: 50%;
      background: #161616;
      box-shadow: 0 0 38px rgba(244,122,32,.15);
    }

    .mb-ai-detail-node.is-a { left: 14%; }
    .mb-ai-detail-node.is-b { left: 50%; transform: translateX(-50%); }
    .mb-ai-detail-node.is-c { right: 14%; }

    .mb-ai-detail-line {
      position: absolute;
      width: 28%;
      height: 2px;
      background: linear-gradient(90deg, rgba(244,122,32,.18), var(--mb-orange));
    }

    .mb-ai-detail-line.is-a { left: 24%; }
    .mb-ai-detail-line.is-b { right: 24%; transform: scaleX(-1); }

    @media (max-width: 900px) {
      .mb-ai-modal {
        grid-template-columns: 1fr;
      }

      .mb-ai-modal-visual {
        min-height: 320px;
      }
    }

    @media (max-width: 680px) {
      .mb-ai-modal-layer {
        padding: 12px;
      }

      .mb-ai-modal {
        max-height: calc(100vh - 24px);
      }

      .mb-ai-modal-content {
        padding: 28px 22px 30px;
      }

      .mb-ai-modal-content h3 {
        font-size: 40px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .mb-ai-modal,
      .is-voice-detail span {
        animation: none !important;
      }
    }


    /* Sprint 11.2 – austauschbare Visual-Platzhalter */
    .mb-ai-visual img,
    .mb-ai-modal-visual img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

    .mb-ai-card:hover .mb-ai-visual img {
      transform: scale(1.018);
      filter: brightness(1.05);
    }

    .mb-ai-visual img {
      transition:
        transform .65s var(--mb-motion-ease, ease),
        filter .35s ease;
    }

    .mb-hero-poster-placeholder {
      position: absolute;
      inset: 0;
      z-index: -3;
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: brightness(.68) saturate(.85);
    }

    .mb-video-placeholder {
      background: transparent !important;
    }

    .mb-visual-replacement-note {
      font-size: 12px;
      color: #777;
    }


    /* =========================================================
       SPRINT 11.3 – PREMIUM VISUAL LIBRARY
       ========================================================= */
    .mb-goal-card {
      padding: 0 !important;
      overflow: hidden;
    }

    .mb-goal-media {
      position: relative;
      min-height: 210px;
      overflow: hidden;
      border-bottom: 1px solid rgba(20,20,20,.10);
      background: #111;
    }

    .mb-goal-media::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 48%, rgba(0,0,0,.34));
      pointer-events: none;
    }

    .mb-goal-media img {
      width: 100%;
      height: 100%;
      min-height: 210px;
      display: block;
      object-fit: cover;
      transition:
        transform .68s var(--mb-motion-ease, ease),
        filter .34s ease;
    }

    .mb-goal-card:hover .mb-goal-media img {
      transform: scale(1.025);
      filter: brightness(1.06);
    }

    .mb-goal-card > .mb-goal-index,
    .mb-goal-card > .mb-goal-copy,
    .mb-goal-card > .mb-goal-meta {
      margin-left: 26px;
      margin-right: 26px;
    }

    .mb-goal-card > .mb-goal-index {
      margin-top: 22px;
    }

    .mb-goal-card > .mb-goal-meta {
      margin-bottom: 24px;
    }

    .mb-ai-visual img,
    .mb-ai-modal-visual img,
    .mb-hero-poster-placeholder {
      image-rendering: auto;
    }

    .mb-ai-visual img {
      object-position: center;
    }

    .mb-ai-modal-visual img {
      object-position: center;
      filter: brightness(.94) saturate(.96);
    }

    .mb-contact-visual img {
      filter: brightness(.92) saturate(.9);
    }

    @media (max-width: 680px) {
      .mb-goal-media,
      .mb-goal-media img {
        min-height: 190px;
      }
    }


    /* =========================================================
       SPRINT 11.4 – FULL-BLEED KI-KACHELN & CINEMATIC OVERLAYS
       ========================================================= */

    .mb-ai-editorial {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-auto-flow: row;
      gap: 16px;
    }

    .mb-ai-editorial::before {
      display: none;
    }

    .mb-ai-card,
    .mb-ai-card.is-featured {
      grid-column: auto;
      grid-row: auto;
      min-height: 390px;
      display: block;
      border-radius: 14px;
      background: #111;
    }

    .mb-ai-card .mb-ai-visual,
    .mb-ai-card.is-featured .mb-ai-visual {
      position: absolute;
      inset: 0;
      min-height: 100%;
      border: 0;
    }

    .mb-ai-card .mb-ai-visual::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(0,0,0,.06) 12%, rgba(0,0,0,.20) 42%, rgba(0,0,0,.90) 100%),
        linear-gradient(90deg, rgba(0,0,0,.20), transparent 64%);
      pointer-events: none;
    }

    .mb-ai-card .mb-ai-visual img {
      width: 100%;
      height: 100%;
      min-height: 100%;
      object-fit: cover;
      object-position: center;
      filter: brightness(.92) saturate(.92);
    }

    .mb-ai-card:hover .mb-ai-visual img {
      transform: scale(1.035);
      filter: brightness(1) saturate(.98);
    }

    .mb-ai-card-copy,
    .mb-ai-card.is-featured .mb-ai-card-copy {
      position: absolute;
      z-index: 3;
      inset: auto 0 0;
      min-height: 60%;
      justify-content: flex-end;
      padding: 28px;
      background: linear-gradient(180deg, transparent, rgba(0,0,0,.22));
      pointer-events: none;
    }

    .mb-ai-card-index {
      font-size: 13px;
      color: var(--mb-orange);
    }

    .mb-ai-card h3,
    .mb-ai-card.is-featured h3 {
      margin-top: 12px;
      max-width: 92%;
      color: #fff;
      font-size: clamp(29px, 2.5vw, 43px);
      text-shadow: 0 2px 18px rgba(0,0,0,.56);
    }

    .mb-ai-card p,
    .mb-ai-card.is-featured p {
      max-width: 92%;
      color: rgba(255,255,255,.82);
      font-size: 14px;
      line-height: 1.55;
      text-shadow: 0 2px 14px rgba(0,0,0,.72);
    }

    .mb-ai-card-open {
      margin-top: 14px;
      color: #fff;
    }

    .mb-ai-card-button {
      isolation: isolate;
    }

    .mb-ai-card-button::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      border-radius: inherit;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
      pointer-events: none;
    }

    /* Cinematic Fullscreen Overlay */
    .mb-ai-modal-layer {
      padding: 20px;
    }

    .mb-ai-modal {
      width: min(1320px, 100%);
      max-height: calc(100vh - 40px);
      grid-template-columns: minmax(0, 1.22fr) minmax(390px, .78fr);
      border-radius: 16px;
    }

    .mb-ai-modal-visual {
      min-height: 690px;
      background: #080808;
    }

    .mb-ai-modal-visual::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 58%, rgba(0,0,0,.24)),
        linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.35));
      pointer-events: none;
    }

    .mb-ai-modal-visual img {
      width: 100%;
      height: 100%;
      min-height: 690px;
      object-fit: cover;
      object-position: center;
      filter: brightness(.94) saturate(.96);
    }

    .mb-ai-modal-media-label {
      position: absolute;
      z-index: 3;
      left: 22px;
      top: 22px;
      padding: 8px 11px;
      border: 1px solid rgba(255,255,255,.28);
      border-radius: 999px;
      background: rgba(0,0,0,.38);
      color: rgba(255,255,255,.84);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .10em;
      text-transform: uppercase;
      backdrop-filter: blur(8px);
    }

    .mb-ai-modal-play {
      position: absolute;
      z-index: 3;
      left: 50%;
      top: 50%;
      width: 76px;
      height: 76px;
      display: grid;
      place-items: center;
      transform: translate(-50%, -50%);
      border: 1px solid rgba(255,255,255,.38);
      border-radius: 50%;
      background: rgba(0,0,0,.42);
      color: var(--mb-orange);
      font-size: 25px;
      backdrop-filter: blur(10px);
      box-shadow: 0 16px 38px rgba(0,0,0,.28);
    }

    .mb-ai-modal-content {
      padding: clamp(34px, 4vw, 58px);
    }

    .mb-ai-modal-topline {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 28px;
    }

    .mb-ai-modal-topline > span {
      color: var(--mb-orange);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .14em;
    }

    .mb-ai-live-demo {
      min-height: 38px;
      padding: 0 13px;
      border: 1px solid rgba(244,122,32,.58);
      border-radius: 999px;
      background: transparent;
      color: #fff;
      font: inherit;
      font-size: 11px;
      font-weight: 850;
      cursor: pointer;
    }

    .mb-ai-live-demo:hover {
      background: rgba(244,122,32,.10);
      border-color: var(--mb-orange);
    }

    .mb-ai-modal-content h3 {
      font-size: clamp(44px, 4.5vw, 70px);
    }

    .mb-ai-modal-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 32px;
    }

    .mb-ai-modal-actions .mb-ai-modal-cta {
      margin-top: 0;
    }

    .mb-ai-modal-detail {
      display: inline-flex;
      align-items: center;
      min-height: 48px;
      padding: 0 17px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 10px;
      color: #fff;
      text-decoration: none;
      font-size: 14px;
      font-weight: 820;
    }

    .mb-ai-modal-detail:hover {
      border-color: rgba(255,255,255,.42);
      background: rgba(255,255,255,.04);
    }

    .mb-ai-live-demo.is-active {
      background: var(--mb-orange);
      border-color: var(--mb-orange);
      color: #111;
    }

    .mb-ai-modal.is-demo-active .mb-ai-modal-play {
      animation: mbAiDemoPulse 1.25s ease-in-out infinite;
    }

    .mb-ai-modal.is-demo-active .mb-ai-modal-visual img {
      transform: scale(1.025);
      filter: brightness(1.02) saturate(1);
    }

    @keyframes mbAiDemoPulse {
      0%, 100% { transform: translate(-50%, -50%) scale(1); }
      50% { transform: translate(-50%, -50%) scale(1.08); }
    }

    @media (max-width: 1100px) {
      .mb-ai-editorial {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .mb-ai-modal {
        grid-template-columns: 1fr;
      }

      .mb-ai-modal-visual,
      .mb-ai-modal-visual img {
        min-height: 430px;
      }
    }

    @media (max-width: 680px) {
      .mb-ai-editorial {
        grid-template-columns: 1fr;
      }

      .mb-ai-card,
      .mb-ai-card.is-featured {
        min-height: 390px;
      }

      .mb-ai-card-copy,
      .mb-ai-card.is-featured .mb-ai-card-copy {
        padding: 24px;
      }

      .mb-ai-modal-layer {
        padding: 8px;
      }

      .mb-ai-modal {
        max-height: calc(100vh - 16px);
      }

      .mb-ai-modal-visual,
      .mb-ai-modal-visual img {
        min-height: 300px;
      }

      .mb-ai-modal-play {
        width: 62px;
        height: 62px;
      }

      .mb-ai-modal-actions {
        flex-direction: column;
      }

      .mb-ai-modal-actions a {
        width: 100%;
        justify-content: center;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .mb-ai-modal.is-demo-active .mb-ai-modal-play {
        animation: none;
      }
    }


    /* =========================================================
       SPRINT 12 – GLOBAL PREMIUM MOTION SYSTEM
       ========================================================= */

    :root {
      --mb-motion-fast: 220ms;
      --mb-motion-medium: 420ms;
      --mb-motion-slow: 760ms;
      --mb-motion-ease-premium: cubic-bezier(.22, 1, .36, 1);
      --mb-scroll-progress: 0%;
    }

    .mb-scroll-progress {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 10050;
      height: 3px;
      pointer-events: none;
      background: transparent;
    }

    .mb-scroll-progress span {
      display: block;
      width: var(--mb-scroll-progress);
      height: 100%;
      background: linear-gradient(90deg, #d75b00, var(--mb-orange), #ffb071);
      box-shadow: 0 0 14px rgba(244,122,32,.36);
      transition: width 80ms linear;
    }

    .mb-section-motion {
      position: relative;
    }

    .mb-section-motion::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 0;
      width: min(86%, 1180px);
      height: 1px;
      transform: translateX(-50%) scaleX(.72);
      transform-origin: center;
      opacity: 0;
      background: linear-gradient(90deg, transparent, rgba(244,122,32,.28), transparent);
      transition:
        opacity var(--mb-motion-slow) ease,
        transform var(--mb-motion-slow) var(--mb-motion-ease-premium);
      pointer-events: none;
    }

    .mb-section-motion.mb-section-visible::after {
      opacity: 1;
      transform: translateX(-50%) scaleX(1);
    }

    .mb-motion-frame {
      overflow: hidden;
      isolation: isolate;
    }

    .mb-motion-frame img,
    .mb-motion-frame video {
      transform:
        translate3d(0, var(--mb-media-shift, 0px), 0)
        scale(var(--mb-media-scale, 1.001));
      will-change: transform;
      transition:
        transform var(--mb-motion-slow) var(--mb-motion-ease-premium),
        filter var(--mb-motion-medium) ease,
        opacity var(--mb-motion-medium) ease;
    }

    .mb-motion-frame:hover img,
    .mb-motion-frame:hover video {
      --mb-media-scale: 1.035;
    }

    .mb-motion-media {
      transform: scale(1.025);
      transition: transform 1.4s var(--mb-motion-ease-premium), filter .5s ease;
      will-change: transform;
    }

    body.mb-page-ready .mb-motion-media {
      transform: scale(1);
    }

    .mb-btn,
    .mb-ai-cta,
    .mb-projects-button,
    .mb-form-submit,
    .mb-ai-modal-cta,
    .mb-ai-modal-detail {
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }

    .mb-btn::after,
    .mb-ai-cta::after,
    .mb-projects-button::after,
    .mb-form-submit::after,
    .mb-ai-modal-cta::after,
    .mb-ai-modal-detail::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      transform: translateX(-105%);
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
      transition: transform .62s var(--mb-motion-ease-premium);
    }

    .mb-btn:hover::after,
    .mb-ai-cta:hover::after,
    .mb-projects-button:hover::after,
    .mb-form-submit:hover::after,
    .mb-ai-modal-cta:hover::after,
    .mb-ai-modal-detail:hover::after {
      transform: translateX(105%);
    }

    .mb-ai-card,
    .mb-goal-card,
    .mb-process-row,
    .mb-project-card {
      transition:
        transform var(--mb-motion-medium) var(--mb-motion-ease-premium),
        box-shadow var(--mb-motion-medium) ease,
        border-color var(--mb-motion-medium) ease,
        background var(--mb-motion-medium) ease;
    }

    .mb-ai-card:hover,
    .mb-goal-card:hover,
    .mb-process-row:hover,
    .mb-project-card:hover {
      transform: translateY(-5px);
    }

    .mb-ai-card:active,
    .mb-goal-card:active,
    .mb-project-card:active {
      transform: translateY(-1px) scale(.995);
    }

    .mb-ai-card-open b,
    .mb-goal-arrow,
    .mb-project-action::after {
      transition: transform var(--mb-motion-fast) var(--mb-motion-ease-premium);
    }

    .mb-ai-card:hover .mb-ai-card-open b,
    .mb-goal-card:hover .mb-goal-arrow {
      transform: translateX(5px);
    }

    .mb-ai-modal {
      transform-origin: center;
    }

    .mb-ai-modal-layer.is-open .mb-ai-modal:not([hidden]) {
      animation: mbPremiumModalIn .46s var(--mb-motion-ease-premium) both;
    }

    @keyframes mbPremiumModalIn {
      from {
        opacity: 0;
        transform: translateY(22px) scale(.975);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    @media (max-width: 680px), (hover: none), (pointer: coarse) {
      .mb-motion-frame img,
      .mb-motion-frame video {
        transform: none !important;
      }

      .mb-ai-card:hover,
      .mb-goal-card:hover,
      .mb-process-row:hover,
      .mb-project-card:hover {
        transform: none;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .mb-scroll-progress span,
      .mb-section-motion::after,
      .mb-motion-frame img,
      .mb-motion-frame video,
      .mb-motion-media,
      .mb-btn::after,
      .mb-ai-cta::after,
      .mb-projects-button::after,
      .mb-form-submit::after,
      .mb-ai-modal-cta::after,
      .mb-ai-modal-detail::after {
        transition: none !important;
        animation: none !important;
        transform: none !important;
      }
    }

/* WordPress Preview Integration */
.admin-bar .mb-header.is-scrolled{top:32px}
.mb-wp-content{width:min(calc(100% - 48px),1100px);min-height:70vh;margin:0 auto;padding:140px 0 90px;background:#fff;color:#171717}
.mb-demo-project{background:#f5f4f0;color:#171717;min-height:100vh}
.mb-demo-project-hero{position:relative;min-height:76vh;display:flex;align-items:flex-end;overflow:hidden;background:#111;color:#fff}
.mb-demo-project-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mb-demo-project-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.82)),linear-gradient(90deg,rgba(0,0,0,.45),transparent 70%)}
.mb-demo-project-hero-inner{position:relative;z-index:2;width:min(calc(100% - 64px),1240px);margin:0 auto;padding:130px 0 70px}
.mb-demo-project-hero-inner p{margin:0;color:var(--mb-orange);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.mb-demo-project-hero-inner h1{margin:14px 0 0;font-size:clamp(54px,8vw,112px);line-height:.92;letter-spacing:-.06em}
.mb-demo-project-hero-inner span{display:block;max-width:760px;margin-top:24px;color:rgba(255,255,255,.82);font-size:20px;line-height:1.55}
.mb-demo-project-content{width:min(calc(100% - 64px),1240px);margin:0 auto;padding:90px 0 110px}
.mb-demo-project-back{display:inline-flex;margin-bottom:70px;color:#555;text-decoration:none;font-weight:800}
.mb-demo-project-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.mb-demo-project-story h2{margin:0;font-size:clamp(44px,6vw,80px);letter-spacing:-.05em}
.mb-demo-project-story>p:last-child{margin:0;color:#666;font-size:19px;line-height:1.7}
.mb-demo-project-cards{margin-top:76px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mb-demo-project-cards article{padding:30px;border:1px solid #dddcd7;border-radius:14px;background:#fff}
.mb-demo-project-cards span{color:var(--mb-orange);font-weight:900}
.mb-demo-project-cards h3{margin:20px 0 0;font-size:30px}
.mb-demo-project-cards p{color:#666;line-height:1.6}
.mb-demo-project-cta{margin-top:80px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:16px;background:var(--mb-orange)}
.mb-demo-project-cta h2{margin:0;font-size:clamp(34px,4vw,58px);line-height:1}
.mb-demo-project-cta a{display:inline-flex;min-height:52px;align-items:center;padding:0 20px;border:1px solid #111;border-radius:10px;color:#111;text-decoration:none;font-weight:900}
@media(max-width:782px){.admin-bar .mb-header.is-scrolled{top:46px}}
@media(max-width:760px){.mb-demo-project-story,.mb-demo-project-cards{grid-template-columns:1fr}.mb-demo-project-content,.mb-demo-project-hero-inner{width:calc(100% - 32px)}.mb-demo-project-cta{align-items:flex-start;flex-direction:column}}


/* =========================================================
   SPRINT 16.0 – DYNAMIC PROJECTS & SOLUTION PAGES
   ========================================================= */
.mb-project-page,.mb-solution-page{background:#f4f3ef;color:#171717;min-height:100vh}
.mb-project-hero,.mb-solution-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;background:#0a0a0a;color:#fff}
.mb-project-hero-media,.mb-project-hero-media img,.mb-project-hero-media video,.mb-solution-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mb-project-hero-shade,.mb-solution-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.25) 45%,rgba(0,0,0,.86)),linear-gradient(90deg,rgba(0,0,0,.48),transparent 66%)}
.mb-project-hero-copy,.mb-solution-hero-inner{position:relative;z-index:2;width:min(calc(100% - 64px),1240px);margin:0 auto;padding:140px 0 72px}
.mb-project-hero-copy p,.mb-solution-hero-inner p,.mb-project-kicker{margin:0;color:var(--mb-orange);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.mb-project-hero-copy h1,.mb-solution-hero-inner h1{margin:14px 0 0;font-size:clamp(54px,8vw,112px);line-height:.92;letter-spacing:-.06em}
.mb-project-hero-copy span,.mb-solution-hero-inner span{display:block;max-width:800px;margin-top:22px;color:rgba(255,255,255,.84);font-size:20px;line-height:1.55}
.mb-project-container,.mb-solution-container{width:min(calc(100% - 64px),1240px);margin:0 auto;padding:100px 0 112px}
.mb-project-story,.mb-solution-intro{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:clamp(42px,5vw,80px);align-items:start}
.mb-project-story h2{margin:14px 0 0;font-size:clamp(38px,4.4vw,72px);line-height:.96;letter-spacing:-.055em;font-weight:900;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
.mb-solution-intro h2,.mb-project-section-head h2,.mb-project-services h2,.mb-project-feature-copy h2,.mb-project-cta h2{margin:14px 0 0;font-size:clamp(42px,5vw,74px);line-height:.98;letter-spacing:-.05em}
.mb-project-story-text p,.mb-solution-intro>div:last-child{margin:0;color:#666;font-size:18px;line-height:1.72}
.mb-project-feature{position:relative;min-height:590px;margin-top:92px;overflow:hidden;border-radius:18px;background:#111;color:#fff}
.mb-project-feature-media,.mb-project-feature-media img,.mb-project-feature-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mb-project-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.82))}
.mb-project-feature-copy{position:absolute;z-index:2;left:clamp(28px,5vw,64px);right:clamp(28px,5vw,64px);bottom:clamp(28px,5vw,58px)}
.mb-project-feature-copy h2{max-width:900px;color:#fff}
.mb-project-editorial{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mb-project-editorial figure,.mb-project-gallery-grid figure{position:relative;margin:0;min-height:340px;overflow:hidden;border-radius:14px;background:#111}
.mb-project-editorial figure.is-large{grid-row:span 2;min-height:696px}
.mb-project-editorial img,.mb-project-editorial video,.mb-project-gallery-grid img,.mb-project-gallery-grid video{width:100%;height:100%;min-height:inherit;display:block;object-fit:cover}
.mb-project-editorial figcaption{position:absolute;left:18px;bottom:16px;padding:8px 11px;border-radius:999px;background:rgba(0,0,0,.56);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}
.mb-project-services,.mb-project-gallery{margin-top:104px}
.mb-project-services>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.mb-project-services span{padding:10px 14px;border:1px solid #d7d6d0;border-radius:999px;background:#fff;font-size:13px;font-weight:800}
.mb-project-gallery-grid{margin-top:38px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mb-project-gallery-grid figure:nth-child(3){grid-row:span 2;min-height:696px}
.mb-project-cta{margin-top:104px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:16px;background:var(--mb-orange)}
.mb-project-cta a{display:inline-flex;min-height:52px;align-items:center;padding:0 20px;border:1px solid #111;border-radius:10px;color:#111;text-decoration:none;font-weight:900}
.mb-solution-hero{min-height:68vh}
.mb-solution-intro{padding-top:10px}
@media(max-width:900px){.mb-project-story,.mb-solution-intro{grid-template-columns:1fr;gap:28px}.mb-project-editorial{grid-template-columns:1fr}.mb-project-editorial figure.is-large{grid-row:auto;min-height:430px}.mb-project-gallery-grid{grid-template-columns:1fr}.mb-project-gallery-grid figure:nth-child(3){grid-row:auto;min-height:430px}.mb-project-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.mb-project-container,.mb-solution-container,.mb-project-hero-copy,.mb-solution-hero-inner{width:calc(100% - 32px)}.mb-project-hero,.mb-solution-hero{min-height:66vh}.mb-project-feature{min-height:430px}.mb-project-editorial figure,.mb-project-gallery-grid figure{min-height:300px}}

/* Sprint 16.1 – Navigation on subpages */
.mb-sub-header{position:sticky;top:0;z-index:1000;background:rgba(8,8,8,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}
.admin-bar .mb-sub-header{top:32px}
.mb-sub-header-inner{width:min(calc(100% - 48px),1240px);min-height:76px;margin:auto;display:flex;align-items:center;gap:28px}
.mb-sub-logo{display:flex;align-items:center;color:#fff;text-decoration:none;font-size:18px;font-weight:900;letter-spacing:.06em}
.mb-sub-logo b{color:var(--mb-orange)} .mb-sub-logo img{max-height:38px;width:auto}
.mb-sub-nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.mb-sub-nav a,.mb-sub-back{color:#ddd;text-decoration:none;font-size:13px;font-weight:800}
.mb-sub-nav a:hover,.mb-sub-back:hover{color:var(--mb-orange)}
.mb-sub-back{padding-left:20px;border-left:1px solid rgba(255,255,255,.14)}
.mb-ai-page{background:#f4f3ef;color:#171717}
.mb-ai-page-hero{position:relative;min-height:68vh;display:flex;align-items:flex-end;overflow:hidden;background:#090909;color:#fff}
.mb-ai-page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mb-ai-page-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.84))}
.mb-ai-page-copy{position:relative;z-index:2;width:min(calc(100% - 64px),1240px);margin:auto;padding:130px 0 70px}
.mb-ai-page-copy p{color:var(--mb-orange);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.mb-ai-page-copy h1{margin:14px 0 0;font-size:clamp(54px,8vw,106px);line-height:.92;letter-spacing:-.06em}
.mb-ai-page-copy span{display:block;max-width:780px;margin-top:22px;color:#ddd;font-size:20px;line-height:1.55}
.mb-ai-page-container{width:min(calc(100% - 64px),1240px);margin:auto;padding:96px 0 112px}
.mb-ai-page-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px}
.mb-ai-page-intro h2{margin:14px 0 0;font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.05em}
.mb-ai-page-intro>div:last-child{color:#666;font-size:18px;line-height:1.72}
@media(max-width:980px){.mb-sub-nav{display:none}.mb-sub-back{margin-left:auto}.mb-ai-page-intro{grid-template-columns:1fr;gap:28px}}
@media(max-width:782px){.admin-bar .mb-sub-header{top:46px}}


/* =========================================================
   SPRINT 17.1 – GOALS CMS / CARD BACKGROUNDS
   ========================================================= */
.mb-goal-card.mb-goal-card-bg{
  position:relative;
  isolation:isolate;
  min-height:360px;
  overflow:hidden;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:#171717;
  color:#fff;
}
.mb-goal-card-bg .mb-goal-bg{
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:var(--mb-goal-bg);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transition:transform .65s var(--mb-motion-ease-premium, ease);
}
.mb-goal-card-bg .mb-goal-bg-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12) 10%,rgba(0,0,0,.40) 53%,rgba(0,0,0,.92) 100%),
    linear-gradient(90deg,rgba(0,0,0,.22),transparent 70%);
}
.mb-goal-card-bg:hover .mb-goal-bg{transform:scale(1.025)}
.mb-goal-card-bg .mb-goal-index,
.mb-goal-card-bg .mb-goal-title,
.mb-goal-card-bg .mb-goal-text,
.mb-goal-card-bg .mb-goal-services,
.mb-goal-card-bg .mb-goal-card-action{color:#fff}
.mb-goal-card-bg .mb-goal-index{color:var(--mb-orange)}
.mb-goal-card-bg .mb-goal-copy,
.mb-goal-card-bg .mb-goal-meta{position:relative;z-index:2;margin-left:0;margin-right:0}
.mb-goal-card-bg .mb-goal-title{text-shadow:0 2px 18px rgba(0,0,0,.5)}
.mb-goal-card-bg .mb-goal-text{color:rgba(255,255,255,.82);text-shadow:0 2px 14px rgba(0,0,0,.55)}
.mb-goal-card-bg .mb-goal-meta{margin-top:22px;margin-bottom:0;align-items:flex-end}
.mb-goal-card-action{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:850;white-space:nowrap}
.mb-goal-card-action b{color:var(--mb-orange);font-size:18px}
.mb-solution-hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mb-goal-page-services{font-weight:850;color:#171717!important}
.mb-goal-page-content{margin-top:22px}

/* Sprint 17.1 – AI editable hero video */
.mb-ai-page-hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}


/* =========================================================
   SPRINT 17.2 – TRUST, GOALS, LOCATION & LEGAL
   ========================================================= */

/* Trust: all four values use exactly the same visual scale. */
.mb-stat-value,
.mb-stat-value.is-word,
.mb-stat-value.is-word.is-long {
  width: 100%;
  max-width: none;
  min-height: 58px;
  display: flex;
  align-items: flex-end;
  color: #111;
  font-size: clamp(36px, 3.05vw, 50px);
  line-height: 1;
  letter-spacing: -.045em;
  font-weight: 850;
  overflow-wrap: normal;
  hyphens: none;
  white-space: nowrap;
}

.mb-stat-value.mb-stat-type {
  letter-spacing: -.035em;
}

.mb-stat-value.mb-stat-partner {
  opacity: 1;
  transform: translateY(0);
}

.mb-stat-value.mb-stat-partner.mb-word-waiting {
  opacity: 0;
  transform: translateY(14px);
}

.mb-stat-value.mb-stat-partner.mb-word-animated {
  animation: mbPartnerReveal 720ms cubic-bezier(.22,1,.36,1) both;
}

@keyframes mbPartnerReveal {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1160px) {
  .mb-stat-value,
  .mb-stat-value.is-word,
  .mb-stat-value.is-word.is-long {
    font-size: clamp(32px, 3.3vw, 44px);
  }
}

@media (max-width: 680px) {
  .mb-stat-value,
  .mb-stat-value.is-word,
  .mb-stat-value.is-word.is-long {
    min-height: 50px;
    font-size: clamp(34px, 11vw, 46px);
  }
}

/* Goals: same visual language as the KI cards. */
.mb-goal-card.mb-goal-card-bg {
  min-height: 390px;
  padding: 0;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: #111;
  box-shadow: none;
}

.mb-goal-card-bg .mb-goal-bg {
  transform: scale(1.001);
  transition: transform .68s var(--mb-motion-ease-premium, cubic-bezier(.22,1,.36,1)), filter .35s ease;
}

.mb-goal-card-bg .mb-goal-bg-overlay {
  background:
    linear-gradient(180deg, rgba(0,0,0,.05) 8%, rgba(0,0,0,.22) 42%, rgba(0,0,0,.92) 100%),
    linear-gradient(90deg, rgba(0,0,0,.20), transparent 68%);
}

.mb-goal-card-bg .mb-goal-index {
  position: absolute;
  z-index: 3;
  left: 28px;
  top: 26px;
  margin: 0;
  color: var(--mb-orange);
  font-size: 13px;
  font-weight: 900;
}

.mb-goal-card-bg .mb-goal-copy {
  position: absolute;
  z-index: 3;
  inset: auto 0 0;
  min-height: 60%;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.24));
}

.mb-goal-card-bg .mb-goal-title {
  max-width: 94%;
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 2.45vw, 42px);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.mb-goal-card-bg .mb-goal-text {
  max-width: 94%;
  margin: 13px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  line-height: 1.55;
}

.mb-goal-card-bg .mb-goal-meta {
  position: absolute;
  z-index: 4;
  left: 28px;
  right: 28px;
  bottom: 24px;
  margin: 0;
  transform: translateY(0);
}

.mb-goal-card-bg .mb-goal-services {
  display: none;
}

.mb-goal-card-bg .mb-goal-card-action {
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

.mb-goal-card-bg:hover .mb-goal-bg {
  transform: scale(1.035);
  filter: brightness(1.03);
}

.mb-goal-card-bg:hover .mb-goal-card-action b {
  transform: translateX(5px);
}

.mb-goal-card-action b {
  display: inline-block;
  transition: transform .22s cubic-bezier(.22,1,.36,1);
}

@media (max-width: 680px) {
  .mb-goal-card.mb-goal-card-bg { min-height: 370px; }
  .mb-goal-card-bg .mb-goal-copy { padding: 24px; }
  .mb-goal-card-bg .mb-goal-index { left: 24px; top: 22px; }
  .mb-goal-card-bg .mb-goal-meta { left: 24px; right: 24px; bottom: 21px; }
}

/* Location: map, heading and address are all obvious links. */
.mb-location-heading-link,
.mb-map-address a {
  color: inherit;
  text-decoration: none;
}

.mb-location-heading-link:hover,
.mb-map-address a:hover {
  color: var(--mb-orange);
}

.mb-map-frame-link {
  display: block;
  cursor: pointer;
  text-decoration: none;
}

.mb-map-frame-link:hover .mb-map-marker {
  transform: translate(-50%,-50%) scale(1.12);
}

/* Legal pages. */
.mb-legal-page {
  min-height: 100vh;
  background: #f4f3ef;
  color: #171717;
}

.mb-legal-hero {
  padding: 120px 0 58px;
  background: #0a0a0a;
  color: #fff;
}

.mb-legal-hero-inner {
  width: min(calc(100% - 64px), 1240px);
  margin: 0 auto;
}

.mb-legal-hero p {
  margin: 0;
  color: var(--mb-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mb-legal-hero h1 {
  margin: 14px 0 0;
  font-size: clamp(50px, 7vw, 96px);
  line-height: .94;
  letter-spacing: -.055em;
}

.mb-legal-hero span {
  display: block;
  margin-top: 18px;
  color: #999;
  font-size: 13px;
}

.mb-legal-container {
  width: min(calc(100% - 64px), 1240px);
  margin: 0 auto;
  padding: 76px 0 110px;
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 72px;
  align-items: start;
}

.mb-legal-toc {
  position: sticky;
  top: 110px;
  padding: 20px;
  border: 1px solid #d9d8d3;
  border-radius: 12px;
  background: #fff;
}

.mb-legal-toc strong {
  display: block;
  margin-bottom: 12px;
  font-size: 13px;
}

.mb-legal-toc nav {
  display: grid;
  gap: 8px;
}

.mb-legal-toc a {
  color: #666;
  font-size: 12px;
  line-height: 1.4;
  text-decoration: none;
}

.mb-legal-toc a:hover {
  color: var(--mb-orange);
}

.mb-legal-content {
  max-width: 850px;
  padding: 44px;
  border-radius: 16px;
  background: #fff;
}

.mb-legal-content h2 {
  margin: 58px 0 16px;
  scroll-margin-top: 118px;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.mb-legal-content h2:first-child {
  margin-top: 0;
}

.mb-legal-content p,
.mb-legal-content li {
  color: #555;
  font-size: 16px;
  line-height: 1.75;
}

.mb-legal-content a {
  color: #171717;
  text-decoration-color: var(--mb-orange);
  text-underline-offset: 3px;
}

.mb-legal-content li + li {
  margin-top: 6px;
}

@media (max-width: 900px) {
  .mb-legal-container {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .mb-legal-toc {
    position: static;
  }
}

@media (max-width: 680px) {
  .mb-legal-hero-inner,
  .mb-legal-container {
    width: calc(100% - 32px);
  }
  .mb-legal-content {
    padding: 26px 22px;
  }
}


/* =========================================================
   SPRINT 17.3
   ========================================================= */
.mb-header-back{
  display:inline-flex;align-items:center;min-height:42px;padding:0 14px;
  border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;
  text-decoration:none;font-size:12px;font-weight:850;white-space:nowrap
}
.mb-header-back:hover{border-color:var(--mb-orange);color:var(--mb-orange)}
.mb-mobile-back{margin-bottom:8px;padding-bottom:12px!important;border-bottom:1px solid rgba(255,255,255,.12);color:var(--mb-orange)!important}
#ziele,#ki,#referenzen,#kontakt,#footer{scroll-margin-top:96px}

.mb-stat-partner[data-final-text]{opacity:0;transform:translateY(14px)}
.mb-stat-partner.mb-partner-v173{animation:mbPartnerV173 760ms cubic-bezier(.22,1,.36,1) forwards}
@keyframes mbPartnerV173{to{opacity:1;transform:translateY(0)}}

.mb-references-page{min-height:100vh;background:#0b0b0b;color:#fff}
.mb-references-hero{padding:150px 0 78px;border-bottom:1px solid rgba(255,255,255,.08)}
.mb-references-hero-inner,.mb-references-overview{width:min(calc(100% - 64px),1240px);margin:0 auto}
.mb-references-hero p{margin:0;color:var(--mb-orange);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.mb-references-hero h1{max-width:1000px;margin:14px 0 0;font-size:clamp(54px,7vw,94px);line-height:.94;letter-spacing:-.055em}
.mb-references-hero span{display:block;max-width:760px;margin-top:22px;color:#aaa;font-size:18px;line-height:1.6}
.mb-references-overview{padding:72px 0 110px}
.mb-references-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mb-reference-overview-card{position:relative;min-height:460px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#111;color:#fff;text-decoration:none}
.mb-reference-overview-media,.mb-reference-overview-media img,.mb-reference-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mb-reference-placeholder{background:linear-gradient(135deg,#191919,#0b0b0b)}
.mb-reference-overview-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.88) 100%)}
.mb-reference-overview-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}
.mb-reference-overview-copy p{margin:0;color:var(--mb-orange);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.mb-reference-overview-copy h2{margin:10px 0 0;font-size:clamp(30px,3vw,46px);line-height:1;letter-spacing:-.045em}
.mb-reference-overview-copy span{display:block;max-width:620px;margin-top:12px;color:#bbb;font-size:14px;line-height:1.5}
.mb-reference-overview-copy b{display:inline-block;margin-top:18px;font-size:12px}
.mb-reference-overview-card img{transition:transform .65s cubic-bezier(.22,1,.36,1)}
.mb-reference-overview-card:hover img{transform:scale(1.035)}

.mb-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mb-form-submit:disabled{opacity:.6;cursor:wait}
.mb-form-privacy a{color:inherit;text-decoration-color:var(--mb-orange);text-underline-offset:3px}

@media(max-width:1050px){.mb-header-back{display:none}}
@media(max-width:820px){.mb-references-grid{grid-template-columns:1fr}}
@media(max-width:680px){
  .mb-references-hero-inner,.mb-references-overview{width:calc(100% - 32px)}
  .mb-reference-overview-card{min-height:390px}
}


/* =========================================================
   SPRINT 17.4 – RETURN NAVIGATION + DE/EN + GOAL CARD FIX
   ========================================================= */
/* Goal action is part of the content flow, matching the KI cards. */
.mb-goal-card-bg .mb-goal-copy{
  padding-bottom:28px;
}
.mb-goal-card-bg .mb-goal-meta{
  position:relative;
  z-index:4;
  left:auto;
  right:auto;
  bottom:auto;
  margin:0;
  padding:0 28px 28px;
  align-self:auto;
}
.mb-goal-card-bg .mb-goal-copy + .mb-goal-meta{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  width:100%;
}
.mb-goal-card-bg .mb-goal-copy{
  padding-bottom:72px;
}
.mb-goal-card-bg .mb-goal-card-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  line-height:1.25;
}

.mb-nav-back{
  display:inline-flex!important;
  align-items:center;
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.18);
  border-radius:7px;
  color:#fff!important;
  opacity:1!important;
}
.mb-nav-back:hover{border-color:var(--mb-orange);color:var(--mb-orange)!important}

.mb-language-switcher{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.mb-language-link{color:rgba(255,255,255,.62);text-decoration:none;transition:color .2s ease,opacity .2s ease}
.mb-language-link:hover,.mb-language-link.is-active{color:#fff}
.mb-language-link.is-active{color:var(--mb-orange)}
.mb-language-link.is-disabled{opacity:.36;cursor:default}
.mb-language-separator{color:rgba(255,255,255,.22)}
.mb-mobile-language{padding:8px 0 12px}
.mb-mobile-language .mb-language-switcher{font-size:12px}

.mb-bottom-back-wrap{
  width:min(calc(100% - 64px),1240px);
  margin:0 auto;
  padding:0 0 72px;
}
.mb-bottom-back{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  color:#fff;
  background:#101010;
  text-decoration:none;
  font-size:12px;
  font-weight:850;
  transition:border-color .2s ease,color .2s ease,transform .2s ease;
}
.mb-bottom-back:hover{border-color:var(--mb-orange);color:var(--mb-orange);transform:translateX(-2px)}

@media(max-width:1180px){
  .mb-nav{gap:13px}
  .mb-nav a{font-size:10px}
  .mb-language-switcher{gap:4px;font-size:10px}
}
@media(max-width:1050px){
  .mb-header-inner>.mb-language-switcher{margin-left:auto}
}
@media(max-width:680px){
  .mb-goal-card-bg .mb-goal-copy{padding:24px 24px 70px}
  .mb-goal-card-bg .mb-goal-meta{padding:0 24px 24px}
  .mb-bottom-back-wrap{width:calc(100% - 32px);padding-bottom:50px}
}


/* Sprint 17.5: Header-/Navigationskorrekturen */
.mb-header.is-subpage{
  position:fixed;
  top:0;
  background:rgba(9,9,9,.97);
  border-bottom-color:rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
  box-shadow:0 8px 28px rgba(0,0,0,.18);
}
.mb-header-inner{
  grid-template-columns:auto minmax(0,1fr) auto;
}
.mb-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  min-width:max-content;
}
.mb-header-actions .mb-header-cta{
  margin:0;
}
.mb-header-actions .mb-nav-back{
  white-space:nowrap;
}

@media (max-width:1180px){
  .mb-header-inner{gap:18px}
  .mb-header-actions{gap:9px}
  .mb-header-actions .mb-header-cta{padding-inline:14px;font-size:11px}
  .mb-header-actions .mb-nav-back{padding:7px 8px!important;font-size:10px}
}

@media (max-width:1050px){
  .mb-header-actions{margin-left:auto}
}

@media (max-width:680px){
  .mb-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    margin:0;
    background:rgba(9,9,9,.97);
    border-bottom:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(16px);
  }
  .mb-header-inner{
    width:100%;
    padding:0 16px;
    margin:0;
    grid-template-columns:auto 1fr auto;
  }
  .mb-header-actions{display:none}
  .mb-menu-button{margin:0}
  .mb-mobile-panel{
    inset:var(--mb-header-h) 0 auto 0;
    margin:0;
  }
}

@media (max-width:782px){
  .admin-bar .mb-header,
  .admin-bar .mb-header.is-subpage,
  .admin-bar .mb-header.is-scrolled{top:46px}
  .admin-bar .mb-mobile-panel{top:calc(var(--mb-header-h) + 46px)}
}
@media (min-width:783px){
  .admin-bar .mb-header,
  .admin-bar .mb-header.is-subpage,
  .admin-bar .mb-header.is-scrolled{top:32px}
}

/* Sprint 17.7: KI-Zurück vereinheitlicht + kompakter Projekt-CTA */
/* Der Zurück-Link aller Unterseiten sitzt im gemeinsamen Header-Aktionsbereich.
   Keine KI-Sonderregel mehr, dadurch kann er bei kleineren Desktopbreiten nicht verschwinden. */
.mb-header-actions .mb-nav-back{
  display:inline-flex!important;
  visibility:visible!important;
  flex:0 0 auto;
}

/* Projekt anfragen ca. 30 % kompakter als zuvor. */
.mb-header-actions .mb-header-cta{
  min-height:38px;
  padding:0 13px!important;
  font-size:10px!important;
  letter-spacing:.015em;
  white-space:nowrap;
}

@media (max-width:1180px){
  .mb-header-actions .mb-header-cta{
    min-height:36px;
    padding:0 10px!important;
    font-size:9.5px!important;
  }
}


/* Sprint 17.8: Zurück ist erster Eintrag der echten Desktop-Hauptnavigation */
.mb-nav .mb-nav-back-inline{
  display:inline-flex!important;
  visibility:visible!important;
  align-items:center;
  flex:0 0 auto;
  padding:7px 10px!important;
  margin-right:2px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:7px;
  color:#fff!important;
  opacity:1!important;
  white-space:nowrap;
  font-size:10px;
  font-weight:800;
}
.mb-nav .mb-nav-back-inline:hover{border-color:var(--mb-orange);color:var(--mb-orange)!important}
@media(max-width:1180px){
  .mb-nav .mb-nav-back-inline{padding:6px 8px!important;font-size:9px}
}


/* Sprint 17.9: KI-Overlay nutzt denselben Zurück-Platz wie Projekt-Unterseiten */
.mb-ai-header-back[hidden]{display:none!important;visibility:hidden!important}
.mb-ai-header-back:not([hidden]){display:inline-flex!important;visibility:visible!important}


/* =========================================================
   SPRINT 17.9.2 – KI NAVIGATION = UNTERSEITEN-NAVIGATION
   ========================================================= */

/* KI overlay uses exactly the same header state as Ziele/Projekte. */
body.mb-ai-modal-open .mb-header{
  position:fixed;
  left:0;
  right:0;
  top:0;
  z-index:1300;
}

body.mb-ai-modal-open .mb-header.is-subpage{
  background:rgba(8,8,8,.96);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

/* The KI return link uses the very same class and proportions as
   the normal subpage return link. */
body.mb-ai-modal-open .mb-nav .mb-ai-header-back{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}

body.mb-ai-modal-open .mb-mobile-panel .mb-ai-header-back{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Do not let the overlay itself cover the navigation. */
.mb-ai-modal-layer{
  z-index:1200!important;
}

/* Reserve header height so the modal visual starts below the header,
   matching the feel of a normal subpage. */
body.mb-ai-modal-open .mb-ai-modal{
  padding-top:var(--mb-header-h,76px);
}

@media(max-width:760px){
  body.mb-ai-modal-open .mb-ai-modal{
    padding-top:68px;
  }
}


/* =========================================================
   SPRINT 17.9.3 – KI CARD RETURN ANCHORS
   ========================================================= */
#ki-filmproduktion,
#ki-voice-audio,
#ki-avatare,
#ki-social-content,
#ki-visuals-animation,
#ki-workflows{
  scroll-margin-top:calc(var(--mb-header-h,76px) + 24px);
}

.mb-ai-card.mb-ai-return-focus{
  animation:mbAiReturnFocus 1.35s cubic-bezier(.22,1,.36,1);
}

@keyframes mbAiReturnFocus{
  0%{box-shadow:0 0 0 0 rgba(244,122,32,0)}
  30%{box-shadow:0 0 0 2px rgba(244,122,32,.72),0 18px 46px rgba(0,0,0,.18)}
  100%{box-shadow:0 0 0 0 rgba(244,122,32,0)}
}

@media(prefers-reduced-motion:reduce){
  .mb-ai-card.mb-ai-return-focus{animation:none}
}


/* Sprint 17.9.4 – exact overlay return positioning */
.mb-ai-card[id^="ki-"]{
  scroll-margin-top:calc(var(--mb-header-h,76px) + 22px);
}


/* =========================================================
   SPRINT 18.1.1 – TRUST DESCRIPTION COLUMN ALIGNMENT
   ========================================================= */
.mb-stats .mb-stat-label{
  width:100%;
  max-width:none;
  min-height:70px;
  margin-top:24px;
  padding-right:8px;
  box-sizing:border-box;
  line-height:1.45;
  text-wrap:pretty;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

@media(max-width:980px){
  .mb-stats .mb-stat-label{
    min-height:64px;
  }
}

@media(max-width:680px){
  .mb-stats .mb-stat-label{
    min-height:0;
    padding-right:0;
  }
}

/* Sprint 18.1.2 – editable hero video/image overlay */
.mb-hero::after{background:var(--mb-hero-overlay-color,#000)!important;opacity:var(--mb-hero-overlay-opacity,.62)!important}
.mb-hero .mb-overlay{background:var(--mb-hero-overlay-color,#000)!important;opacity:var(--mb-hero-overlay-opacity,.62)!important}


/* =========================================================
   SPRINT 18.1.3 – HERO OVERLAY HOTFIX
   0 % means truly no darkening.
   The legacy gradient/brightness layers are neutralized.
   ========================================================= */

/* Old fixed hero gradient must no longer darken the media. */
.mb-hero::before{
  background:none!important;
  background-image:none!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* The backend-controlled overlay is now the single source of truth. */
.mb-hero::after{
  background:var(--mb-hero-overlay-color,#000)!important;
  background-image:none!important;
  opacity:var(--mb-hero-overlay-opacity,.62)!important;
  pointer-events:none!important;
}

/* Remove legacy media darkening so 0 % really shows the original media. */
.mb-hero .mb-media,
.mb-hero .mb-video,
.mb-hero .mb-poster{
  filter:none!important;
  -webkit-filter:none!important;
}

/* Prevent an older dedicated overlay element from adding a second layer. */
.mb-hero .mb-overlay{
  background:var(--mb-hero-overlay-color,#000)!important;
  background-image:none!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* =========================================================
   SPRINT 18.1.4 – HERO VIDEO OVERLAY FINAL FIX
   The real DOM .mb-overlay is the only active darkening layer.
   ========================================================= */

/* Disable both pseudo overlays entirely. */
.mb-hero::before,
.mb-hero::after{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}

/* This is the actual overlay element present in front-page.php. */
.mb-hero > .mb-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  display:block!important;
  background:var(--mb-hero-overlay-color,#000)!important;
  background-image:none!important;
  opacity:var(--mb-hero-overlay-opacity,.62)!important;
  pointer-events:none!important;
}

/* Hero media must stay completely unfiltered. */
.mb-hero > .mb-media,
.mb-hero > .mb-media .mb-video,
.mb-hero > .mb-media .mb-poster{
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  mix-blend-mode:normal!important;
}

/* Noise is decorative only and must not darken the image/video. */
.mb-hero > .mb-noise{
  mix-blend-mode:normal!important;
}

/* At exactly 0% overlay, also remove the noise so the user sees
   the untouched source video/image for a true visual reference. */
.mb-hero[style*="--mb-hero-overlay-opacity:0"] > .mb-noise{
  opacity:0!important;
}


/* =========================================================
   SPRINT 18.2 – ECHTE KUNDENLOGOS
   ========================================================= */
.mb-client.mb-client-logo{
  width:170px;
  min-width:170px;
  height:86px;
  padding:10px 18px;
  background:#fff;
  overflow:hidden;
}
.mb-client.mb-client-logo img{
  width:auto;
  height:auto;
  max-width:82%;
  max-height:72%;
  display:block;
  object-fit:contain;
  object-position:center;
  filter:grayscale(1);
  opacity:.78;
  transition:filter .24s ease,opacity .24s ease,transform .24s ease;
}
.mb-client.mb-client-logo:hover img{
  filter:grayscale(0);
  opacity:1;
  transform:scale(1.025);
}
@media(max-width:680px){
  .mb-client.mb-client-logo{
    width:140px;
    min-width:140px;
    height:74px;
    padding:9px 14px;
  }
  .mb-client.mb-client-logo img{
    max-width:84%;
    max-height:72%;
  }
}


/* =========================================================
   SPRINT 18.3.1 – KUNDENLOGOS: TEMPO + SAFE FIT
   ========================================================= */

/* 50 % langsamer als Sprint 18.3 (46.2s -> 92.4s). */
.mb-logo-track{
  animation-duration:92.4s!important;
}

/* Einheitlicher Frame: kein Logo darf angeschnitten werden. */
.mb-client.mb-client-logo{
  box-sizing:border-box!important;
  width:170px!important;
  min-width:170px!important;
  height:86px!important;
  padding:12px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.mb-client.mb-client-logo img{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:680px){
  .mb-client.mb-client-logo{
    width:140px!important;
    min-width:140px!important;
    height:74px!important;
    padding:10px 14px!important;
  }
}


/* =========================================================
   SPRINT 18.4 – VIDEO IN "IHRE ZIELE"-KACHELN
   Beitragsbild = Bild + Poster/Fallback, optionales Video darüber.
   ========================================================= */
.mb-goal-card-bg .mb-goal-video{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:inherit;
  pointer-events:none;
  transform:scale(1.001);
  transition:transform .68s var(--mb-motion-ease-premium,cubic-bezier(.22,1,.36,1)),filter .35s ease;
}
.mb-goal-card-bg .mb-goal-bg{
  z-index:0;
}
.mb-goal-card-bg .mb-goal-bg-overlay{
  z-index:2;
}
.mb-goal-card-bg:hover .mb-goal-video{
  transform:scale(1.035);
  filter:brightness(1.03);
}
@media (prefers-reduced-motion: reduce){
  .mb-goal-card-bg .mb-goal-video{
    display:none;
  }
}


/* SPRINT 18.4.1 – formatierbare Einleitung auf Ziel-Unterseiten */
.mb-goal-intro-richtext p{
  margin:0 0 1em;
}
.mb-goal-intro-richtext p:last-child{
  margin-bottom:0;
}
.mb-goal-intro-richtext strong,
.mb-goal-intro-richtext b{
  font-weight:700;
}
.mb-goal-intro-richtext em,
.mb-goal-intro-richtext i{
  font-style:italic;
}
.mb-goal-intro-richtext a{
  text-decoration:underline;
  text-underline-offset:.16em;
}


/* =========================================================
   SPRINT 18.5 – VIDEO-KACHELN: KI + PROJEKTE
   ========================================================= */
.mb-ai-visual{position:relative;overflow:hidden}
.mb-ai-visual .mb-ai-card-poster,
.mb-ai-visual .mb-ai-card-video{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;object-position:center
}
.mb-ai-visual .mb-ai-card-poster{z-index:0}
.mb-ai-visual .mb-ai-card-video{z-index:1;pointer-events:none}
@media(prefers-reduced-motion:reduce){.mb-ai-visual .mb-ai-card-video{display:none!important}}

.mb-project-media{position:relative;overflow:hidden}
.mb-project-media>img,.mb-project-media>video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center
}
.mb-project-media>img{z-index:0}
.mb-project-media>video{z-index:1;opacity:0;pointer-events:none;transition:opacity .25s ease}
.mb-project-card.is-video:hover .mb-project-media>video{opacity:1}

.mb-reference-overview-media>video{
  position:absolute;inset:0;z-index:1;width:100%;height:100%;
  object-fit:cover;object-position:center;opacity:0;pointer-events:none;transition:opacity .25s ease
}
.mb-reference-overview-card:hover .mb-reference-overview-media.is-video>video{opacity:1}
.mb-reference-overview-shade{z-index:2!important}

@media(max-width:760px),(hover:none){
  .mb-project-media>video,.mb-reference-overview-media>video{display:none!important}
}


/* =========================================================
   SPRINT 18.7 – FLEXIBLE REFERENZEN AUF ZIEL-UNTERSEITEN
   ========================================================= */
.mb-goal-references{
  padding:clamp(58px,7vw,96px) 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.mb-goal-references-head{margin-bottom:clamp(26px,4vw,42px)}
.mb-goal-references-head h2{
  margin:0;
  font-size:clamp(30px,4vw,54px);
  line-height:1.05;
}
.mb-goal-references-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,2.2vw,28px);
}
.mb-goal-references-grid.mb-goal-references-count-1{
  grid-template-columns:minmax(0,1fr);
}
.mb-goal-reference-card{
  position:relative;
  min-height:clamp(330px,38vw,520px);
  overflow:hidden;
  border-radius:20px;
  background:#111;
  color:#fff;
  text-decoration:none;
}
.mb-goal-references-count-1 .mb-goal-reference-card{
  min-height:clamp(390px,48vw,620px);
}
.mb-goal-reference-media,
.mb-goal-reference-media img,
.mb-goal-reference-media video,
.mb-goal-reference-shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.mb-goal-reference-media img,
.mb-goal-reference-media video{
  object-fit:cover;
  object-position:center;
  transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
.mb-goal-reference-media video{opacity:0;z-index:1}
.mb-goal-reference-shade{
  z-index:2;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.78) 100%);
}
.mb-goal-reference-copy{
  position:absolute;
  z-index:3;
  left:clamp(22px,3vw,38px);
  right:clamp(22px,3vw,38px);
  bottom:clamp(22px,3vw,38px);
}
.mb-goal-reference-copy p{
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}
.mb-goal-reference-copy h3{
  margin:0 0 8px;
  font-size:clamp(25px,3vw,40px);
  line-height:1.05;
}
.mb-goal-reference-copy span{display:block;margin-bottom:16px;opacity:.82}
.mb-goal-reference-copy strong{font-size:14px}
.mb-goal-reference-card:hover .mb-goal-reference-media img{transform:scale(1.035)}
.mb-goal-reference-card.is-video:hover .mb-goal-reference-media video{opacity:1;transform:scale(1.035)}

@media(max-width:760px){
  .mb-goal-references-grid{grid-template-columns:1fr}
  .mb-goal-reference-card,
  .mb-goal-references-count-1 .mb-goal-reference-card{min-height:360px}
  .mb-goal-reference-media video{display:none}
}

/* Sprint 18.7.1 – Referenzkacheln -> CTA: gleicher Abstand wie Heading -> Kacheln */
.single-mb_goal .mb-goal-references{padding-bottom:clamp(26px,4vw,42px);}
.single-mb_goal .mb-goal-references + .mb-project-cta{margin-top:0!important;padding-top:0!important;}


/* Sprint 18.7.2 – optionales Rich-Media-Element auf Ziel-Unterseiten */
.mb-goal-content-media-section{
  padding:clamp(28px,4vw,48px) 0;
}
.mb-goal-content-media-frame{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:20px;
  background:#111;
}
.mb-goal-content-media-frame img,
.mb-goal-content-media-frame video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}


/* Sprint 18.7.4 – optionaler vertiefender Abschluss-Content auf Zielseiten */
.mb-goal-closing-content{
  max-width:920px;
  padding:clamp(42px,5vw,68px) 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.mb-goal-closing-content h2{
  max-width:820px;
  margin:0 0 22px;
  font-size:clamp(28px,3vw,44px);
  line-height:1.1;
}
.mb-goal-closing-richtext{
  max-width:820px;
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.7;
}
.mb-goal-closing-richtext p:last-child{margin-bottom:0}
.mb-goal-closing-richtext strong,
.mb-goal-closing-richtext b{font-weight:700}


/* =========================================================
   SPRINT 18.7.5 – CTA VOR ABSCHLUSSTEXT + ABSTANDSRHYTHMUS
   ========================================================= */

/* Referenzkacheln -> CTA: derselbe Rhythmus wie Referenz-H2 -> Kacheln. */
.single-mb_goal .mb-goal-references + .mb-project-cta{
  margin-top:0!important;
  padding:44px!important;
}

/* CTA -> Abschlussüberschrift: bewusst kompakt, damit kein visuelles Loch entsteht. */
.single-mb_goal .mb-project-cta + .mb-goal-closing-content{
  margin-top:clamp(26px,4vw,42px);
  padding-top:clamp(26px,4vw,42px);
}

/* Abschlussbereich bleibt vor dem Zurück-Bereich klar getrennt. */
.single-mb_goal .mb-goal-closing-content{
  margin-bottom:clamp(26px,4vw,42px);
}

@media(max-width:900px){
  .single-mb_goal .mb-goal-references + .mb-project-cta{
    padding:32px!important;
  }
}

/* Back-to-top auf Ziel-Unterseiten identisch zur Startseite. */
.single-mb_goal .mb-to-top{
  z-index:1200;
}


/* Sprint 18.7.6 – Abschlussbereich bündig/breit wie CTA darüber */
.single-mb_goal .mb-goal-closing-content{
  width:100%;
  max-width:none;
}
.single-mb_goal .mb-goal-closing-content h2,
.single-mb_goal .mb-goal-closing-richtext{
  width:100%;
  max-width:none;
}

/* Sprint 18.8.0 – SEO-Abschlussbereiche KI & Projekte */
.mb-ai-closing-content,.mb-project-closing-content{width:100%;max-width:none;margin-top:clamp(42px,5vw,68px)}
.mb-ai-closing-content h2,.mb-ai-closing-content .mb-goal-closing-richtext,.mb-project-closing-content h2,.mb-project-closing-content .mb-goal-closing-richtext{width:100%;max-width:none}

/* Sprint 18.8.2 – stabile Hauptnavigation / Return-Anker */
.mb-home-anchor-aliases{position:relative;height:0;overflow:visible}
.mb-home-anchor-aliases>span{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none;scroll-margin-top:96px}
.mb-goal-card[id^="ziel-"]{scroll-margin-top:96px}

/* =========================================================
   SPRINT 18.8.5 – Ziele: Intro 30/70 Desktop
   ========================================================= */
.single-mb_goal .mb-solution-intro{
  grid-template-columns:minmax(280px,30%) minmax(0,70%);
  gap:clamp(36px,4vw,60px);
}
.single-mb_goal .mb-solution-intro>div{
  min-width:0;
}
.single-mb_goal .mb-solution-intro h2{
  max-width:100%;
  font-size:clamp(36px,3.25vw,54px);
  line-height:1.02;
}
.single-mb_goal .mb-solution-intro>div:last-child{
  width:100%;
  max-width:none;
  justify-self:stretch;
  font-size:17px;
  line-height:1.68;
}
@media(max-width:900px){
  .single-mb_goal .mb-solution-intro{
    grid-template-columns:1fr;
    gap:28px;
  }
  .single-mb_goal .mb-solution-intro>div:last-child{
    max-width:none;
    justify-self:stretch;
  }
}


/* =========================================================
   SPRINT 18.8.6 – Ziele: lange Einleitungs-H2 sicher umbrechen
   ========================================================= */
.single-mb_goal .mb-solution-intro{
  grid-template-columns:minmax(0,30%) minmax(0,70%);
}

.single-mb_goal .mb-solution-intro>div:first-child,
.single-mb_goal .mb-solution-intro>div:last-child{
  min-width:0;
}

.single-mb_goal .mb-solution-intro h2{
  width:100%;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  font-size:clamp(34px,3vw,50px);
  line-height:1.02;
}

/* Der rechte Textblock darf nie von der linken Spalte überlagert werden. */
.single-mb_goal .mb-solution-intro>div:last-child{
  position:relative;
  z-index:1;
}

@media(max-width:900px){
  .single-mb_goal .mb-solution-intro{
    grid-template-columns:1fr;
  }
  .single-mb_goal .mb-solution-intro h2{
    overflow-wrap:normal;
    hyphens:auto;
    font-size:clamp(34px,8vw,48px);
  }
}


/* =========================================================
   SPRINT 18.8.7 – Ziele: 40/60 Intro + stärkere responsive H2
   ========================================================= */
@media(min-width:901px){
  .single-mb_goal .mb-solution-intro{
    grid-template-columns:minmax(0,40%) minmax(0,60%);
  }

  .single-mb_goal .mb-solution-intro>div:first-child,
  .single-mb_goal .mb-solution-intro>div:last-child{
    min-width:0;
  }

  .single-mb_goal .mb-solution-intro h2{
    width:100%;
    max-width:100%;
    font-size:clamp(42px,4.1vw,64px);
    font-weight:800;
    line-height:.98;
    letter-spacing:-.025em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .single-mb_goal .mb-solution-intro>div:last-child{
    max-width:none;
    width:100%;
  }
}

@media(max-width:900px){
  .single-mb_goal .mb-solution-intro{
    grid-template-columns:1fr;
  }

  .single-mb_goal .mb-solution-intro h2{
    font-size:clamp(36px,8vw,50px);
    font-weight:800;
    line-height:1;
    letter-spacing:-.02em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}

/* =========================================================
   SPRINT 18.8.8 – KI KOMPETENZEN: MERGED DARK LANDING PAGES
   One click from KI card to one SEO-capable competence page.
   ========================================================= */
.mb-ai-editorial > a.mb-ai-card{color:inherit;text-decoration:none}
.mb-ai-page{background:#080808;color:#fff}
.mb-ai-page-hero{min-height:72vh;background:#080808}
.mb-ai-page-shade{background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.90))}
.mb-ai-page-copy{padding-top:150px}
.mb-ai-page-copy h1{color:#fff}
.mb-ai-page-copy span{color:rgba(255,255,255,.76)}
.mb-ai-page-container{padding-top:92px}
.mb-ai-page-intro{padding:0 0 92px;border-bottom:1px solid rgba(255,255,255,.10)}
.mb-ai-page-intro h2{color:#fff}
.mb-ai-page-intro>div:last-child{color:rgba(255,255,255,.68)}
.mb-ai-page .mb-goal-intro-richtext p,
.mb-ai-page .mb-goal-closing-richtext p{color:rgba(255,255,255,.68)}
.mb-ai-page .mb-project-kicker{color:var(--mb-orange)}
.mb-ai-page .mb-goal-references{padding-top:92px}
.mb-ai-page .mb-goal-references h2,
.mb-ai-page .mb-goal-closing-content h2,
.mb-ai-page .mb-project-cta h2{color:#fff}
.mb-ai-page .mb-goal-closing-content{border-top:1px solid rgba(255,255,255,.10);margin-top:92px;padding-top:92px}
.mb-ai-page .mb-project-cta{border-top:1px solid rgba(255,255,255,.10);margin-top:92px;padding-top:64px}
.mb-ai-page .mb-project-cta>a{color:#fff}
@media(max-width:760px){
  .mb-ai-page-hero{min-height:64vh}
  .mb-ai-page-copy{width:min(calc(100% - 36px),1240px);padding:120px 0 48px}
  .mb-ai-page-container{width:min(calc(100% - 36px),1240px);padding-top:64px}
  .mb-ai-page-intro{padding-bottom:64px}
}

/* Sprint 18.8.11 – So arbeiten wir: Bild oder Video */
.mb-process-media video {
  width: 100%;
  height: 100%;
  min-height: 260px;
  display: block;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.mb-process-row:hover .mb-process-media video { transform: scale(1.025); }
@media (max-width: 900px) { .mb-process-media video { min-height: 230px; } }
@media (max-width: 640px) { .mb-process-media video { min-height: 215px; } }


/* Sprint 18.8.13 – So arbeiten wir: dynamischer Panorama-Look auf Desktop
   Desktop: Die Texthöhe bestimmt die Kartenhöhe. Das Medium folgt Fullframe.
   Tablet/Mobil behalten die bestehende, höhere responsive Medien-Darstellung. */
@media (min-width: 901px) {
  .mb-process-row {
    grid-template-columns: 84px minmax(300px, .88fr) minmax(500px, 1.62fr);
    min-height: 0;
    align-items: stretch;
  }

  .mb-process-list::before {
    left: 42px;
    top: 34px;
    bottom: 34px;
  }

  .mb-process-step {
    padding-top: 24px;
  }

  .mb-process-number {
    width: 44px;
    height: 44px;
    font-size: 15px;
    box-shadow: 0 0 0 6px #fafaf8;
  }

  .mb-process-copy {
    padding: 22px 30px;
  }

  .mb-process-title {
    font-size: clamp(24px, 1.85vw, 31px);
  }

  .mb-process-text {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.45;
  }

  .mb-process-tags {
    margin-top: 12px;
    font-size: 12px;
  }

  .mb-process-media {
    position: relative;
    min-height: 0;
    height: auto;
    align-self: stretch;
  }

  .mb-process-media img,
  .mb-process-media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
  }
}

/* =========================================================
   SPRINT 18.8.18 – MOBILE HERO 9:16 FIT
   1080x1920 mobile source is shown completely without crop.
   Hero copy is scaled to fit common phone viewports.
   ========================================================= */
@media (max-width: 767px) {
  .mb-hero {
    min-height: 100svh !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: stretch !important;
    background: #000;
  }

  .mb-hero > .mb-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    background: #000;
  }

  .mb-hero > .mb-media .mb-video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    background: #000;
  }

  .mb-hero-inner {
    position: relative;
    z-index: 2;
    width: calc(100% - 28px) !important;
    min-height: 100svh !important;
    margin: 0 auto !important;
    padding-top: calc(var(--mb-header-h) + 24px) !important;
    padding-bottom: 34px !important;
    display: flex !important;
    align-items: flex-end !important;
  }

  .mb-hero .mb-copy {
    width: 100%;
    max-width: 100% !important;
    padding-bottom: 14px;
  }

  .mb-hero h1,
  .mb-hero .mb-title {
    margin-bottom: 14px !important;
    font-size: clamp(31px, 8.8vw, 42px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
  }

  .mb-hero .mb-subtitle,
  .mb-hero .mb-subline {
    margin-top: 14px !important;
    margin-bottom: 18px !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
  }

  .mb-hero .mb-actions {
    margin-top: 18px !important;
    gap: 10px !important;
  }

  .mb-hero .mb-btn {
    min-height: 46px !important;
    padding: 11px 16px !important;
    font-size: 13px !important;
  }

  .mb-hero .mb-proof {
    margin-top: 16px !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  .mb-scroll-cue {
    display: none !important;
  }
}

/* Extra safety for short phone screens / landscape browser chrome. */
@media (max-width: 767px) and (max-height: 740px) {
  .mb-hero-inner {
    padding-top: calc(var(--mb-header-h) + 14px) !important;
    padding-bottom: 20px !important;
  }

  .mb-hero h1,
  .mb-hero .mb-title {
    font-size: clamp(28px, 8vw, 36px) !important;
  }

  .mb-hero .mb-subtitle,
  .mb-hero .mb-subline {
    font-size: 13px !important;
    line-height: 1.36 !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
  }

  .mb-hero .mb-actions {
    margin-top: 12px !important;
  }

  .mb-hero .mb-btn {
    min-height: 42px !important;
    padding: 9px 14px !important;
  }

  .mb-hero .mb-proof {
    margin-top: 11px !important;
    font-size: 10.5px !important;
  }
}


/* =========================================================
   SPRINT 18.8.19 – ROBUST MOBILE HERO VIDEO
   Separate video elements avoid unreliable <source media>
   switching on Safari/iOS and other mobile browsers.
   ========================================================= */
.mb-video-mobile {
  display: none !important;
}

.mb-video-desktop {
  display: block !important;
}

@media (max-width: 767px) {
  .mb-hero > .mb-media .mb-video-desktop {
    display: none !important;
  }

  .mb-hero > .mb-media .mb-video-mobile {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* =========================================================
   SPRINT 18.8.21 – MOBILE HERO HARD RESET
   Desktop and mobile media are separate layers. Mobile video
   uses a direct src attribute and lives in the visible stacking
   context to avoid black-screen issues caused by legacy z-index.
   ========================================================= */
.mb-hero {
  background: #000;
}

.mb-hero > .mb-media {
  z-index: 0 !important;
  pointer-events: none !important;
}

.mb-hero > .mb-media .mb-video,
.mb-hero > .mb-media .mb-poster {
  z-index: 0 !important;
}

.mb-hero > .mb-overlay {
  z-index: 1 !important;
}

.mb-hero > .mb-noise {
  z-index: 2 !important;
}

.mb-hero > .mb-hero-inner,
.mb-hero > .mb-scroll-cue {
  z-index: 3 !important;
}

.mb-media-desktop {
  display: block !important;
}

.mb-media-mobile {
  display: none !important;
}

@media (max-width: 767px) {
  .mb-media-desktop {
    display: none !important;
  }

  .mb-media-mobile {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  .mb-media-mobile .mb-video-mobile {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: #000 !important;
  }

  .mb-hero-inner {
    z-index: 3 !important;
  }
}


/* =========================================================
   SPRINT 18.8.22 – REFERENZEN / PROJEKTMEDIEN
   ========================================================= */
.mb-project-card{isolation:isolate}
.mb-project-card .mb-project-media{z-index:0!important}
.mb-project-card::before{z-index:1!important;pointer-events:none}
.mb-project-card .mb-project-topline,
.mb-project-card .mb-project-content{position:relative;z-index:2}
.mb-project-card .mb-project-topline{position:absolute}
.mb-project-type{display:none!important}
.mb-project-editorial figcaption{display:none!important}
.mb-project-editorial figure{position:relative;overflow:hidden}
.mb-project-editorial figure>img,
.mb-project-editorial figure>video,
.mb-project-gallery-grid figure>img,
.mb-project-gallery-grid figure>video{width:100%;height:100%;object-fit:cover;display:block}
.mb-project-hero-video{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px),(hover:none){
  .mb-project-media>video{display:block!important;opacity:0}
}

/* =========================================================
   SPRINT 18.8.25 – REFERENZKACHELN / NUR MEDIA-FIX
   Basis: 18.8.22. Absichtlich eng auf #referenzen begrenzt.
   ========================================================= */
#referenzen .mb-project-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

#referenzen .mb-project-card .mb-project-media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  overflow: hidden;
}

#referenzen .mb-project-card .mb-project-media > img,
#referenzen .mb-project-card .mb-project-media > video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center;
}

#referenzen .mb-project-card .mb-project-media > img {
  opacity: 1 !important;
}

#referenzen .mb-project-card.is-video .mb-project-media > video {
  opacity: 1 !important;
  visibility: visible !important;
}

#referenzen .mb-project-card.is-video .mb-project-media > img {
  opacity: 0 !important;
}

#referenzen .mb-project-card::before {
  z-index: 1 !important;
}

#referenzen .mb-project-card .mb-project-topline,
#referenzen .mb-project-card .mb-project-content {
  z-index: 2 !important;
}

@media (hover:none), (pointer:coarse) {
  #referenzen .mb-project-card.is-video .mb-project-media > video {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}



/* =========================================================
   SPRINT 18.8.26 – REFERENZKACHELN / DESKTOP-TYPOGRAFIE
   Basis: 18.8.25. Nur Layout der Textebene in #referenzen.
   ========================================================= */
@media (min-width: 1081px) {
  #referenzen .mb-project-card .mb-project-topline {
    top: 28px;
    left: 30px;
    right: 30px;
    min-height: 18px;
  }

  #referenzen .mb-project-card .mb-project-client {
    display: block;
    font-size: 13px;
    line-height: 1.15;
  }

  #referenzen .mb-project-card .mb-project-content {
    box-sizing: border-box;
    min-height: inherit;
    padding: 92px 30px 30px;
    justify-content: flex-end;
  }

  #referenzen .mb-project-card.is-small .mb-project-title {
    font-size: clamp(25px, 1.85vw, 31px);
    line-height: 1.02;
    letter-spacing: -.035em;
  }

  #referenzen .mb-project-card.is-small .mb-project-description {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.48;
  }

  #referenzen .mb-project-card.is-small .mb-project-services {
    margin-top: auto;
    padding-top: 28px;
    font-size: 11px;
    line-height: 1.45;
  }

  #referenzen .mb-project-card.is-small .mb-project-action {
    margin-top: 18px;
  }
}

/* Zwischenbreiten: 2-spaltiges Layout erhält ebenfalls Luft nach oben. */
@media (min-width: 681px) and (max-width: 1080px) {
  #referenzen .mb-project-card .mb-project-content {
    box-sizing: border-box;
    padding-top: 88px;
  }
  #referenzen .mb-project-card .mb-project-title {
    line-height: 1.04;
  }
}

/* Sprint 18.8.29 – kompaktere Referenz-Unterseiten */
@media (min-width:901px){
.mb-project-services{padding-top:42px!important;padding-bottom:42px!important}
.mb-project-services h2{margin-bottom:18px!important}
.mb-project-tags{margin-top:16px!important}
.mb-project-gallery{padding-top:30px!important;padding-bottom:42px!important}
.mb-project-gallery .mb-project-section-head{margin-bottom:22px!important}
.mb-project-gallery-grid{margin-top:0!important;gap:14px!important}
.mb-project-closing{padding-top:38px!important;padding-bottom:38px!important}
.mb-project-closing h2{margin-top:0!important;margin-bottom:12px!important}
.mb-project-closing p{margin-bottom:0!important}
.mb-project-cta{margin-top:30px!important}
}
@media (max-width:900px){
.mb-project-services,.mb-project-gallery,.mb-project-closing{padding-top:28px!important;padding-bottom:28px!important}
.mb-project-gallery .mb-project-section-head{margin-bottom:18px!important}
.mb-project-gallery-grid{margin-top:0!important;gap:10px!important}
.mb-project-cta{margin-top:24px!important}
}


/* =========================================================
   SPRINT 18.8.30 – REFERENZ-/PROJEKTSEITEN: ECHTE MARGINS
   Vorher wurden überwiegend paddings geändert. Die großen
   Abstände kamen aber aus margin-top:104px und dem Closing-Margin.
   ========================================================= */

.single-mb_project .mb-project-container{
  padding-top:70px !important;
  padding-bottom:72px !important;
}

.single-mb_project .mb-project-services{
  margin-top:46px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.single-mb_project .mb-project-services > div{
  margin-top:18px !important;
}

.single-mb_project .mb-project-gallery{
  margin-top:54px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.single-mb_project .mb-project-gallery-grid{
  margin-top:22px !important;
}

.single-mb_project .mb-project-closing-content{
  margin-top:44px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.single-mb_project .mb-project-closing-content h2{
  margin-top:0 !important;
  margin-bottom:10px !important;
}

.single-mb_project .mb-project-closing-content .mb-goal-closing-richtext p{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.single-mb_project .mb-project-cta{
  margin-top:42px !important;
}

@media (max-width:900px){
  .single-mb_project .mb-project-container{
    padding-top:48px !important;
    padding-bottom:52px !important;
  }

  .single-mb_project .mb-project-services{
    margin-top:34px !important;
  }

  .single-mb_project .mb-project-gallery{
    margin-top:38px !important;
  }

  .single-mb_project .mb-project-gallery-grid{
    margin-top:18px !important;
  }

  .single-mb_project .mb-project-closing-content{
    margin-top:32px !important;
  }

  .single-mb_project .mb-project-cta{
    margin-top:30px !important;
  }
}
