:root {
  --ink: #1f1f1f;
  --paper: #ffffff;
  --accent: #f7cf4c;
  --hero-ink: #ffffff;
  --header-height: 68px;
  font-family: "Sora", sans-serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

html.page-transition-pending,
html.page-transition-pending body {
  background: #F7CF4C;
}

html.page-transition-pending body > :not(.page-transition) {
  visibility: hidden;
}

body {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  font-family: "Sora", sans-serif;
  animation: page-arrive .38s cubic-bezier(.16, 1, .3, 1) both;
}

.page-transition {
  position: fixed;
  z-index: 999;
  inset: 0;
  display: grid;
  overflow: hidden;
  place-items: center;
  pointer-events: none;
  background: var(--accent);
  clip-path: inset(0 100% 0 0);
  will-change: clip-path;
  transition: clip-path .48s cubic-bezier(.76, 0, .24, 1);
}
.page-transition-logo {
  display: block;
  width: clamp(74px, 9vw, 154px);
  max-height: min(24vw, 176px);
  object-fit: contain;
  opacity: 0;
  transform: scale(.78);
  transition: opacity .12s ease .16s, transform .28s cubic-bezier(.16, 1, .3, 1) .1s;
}
body.is-page-leaving .page-transition { clip-path: inset(0 0 0 0); }
body.is-page-leaving .page-transition-logo { opacity: 1; transform: scale(1); }
body.is-page-entering { overflow: hidden; }
body.is-page-entering .page-transition { clip-path: inset(0 0 0 0); }
body.is-page-entering .page-transition-logo { opacity: 1; transform: scale(1); }
.page-transition-preloader {
  position: fixed;
  width: 1px;
  height: 1px;
  inset: -2px auto auto -2px;
  border: 0;
  visibility: hidden;
  pointer-events: none;
}
@keyframes page-arrive {
  from { opacity: .01; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body { animation: none; }
  .page-transition { display: none; }
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: relative;
  z-index: 10;
  height: var(--header-height);
  background: #fff;
  border-bottom: 1px solid rgba(31, 31, 31, 0.06);
}

.header-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 clamp(20px, 3.1vw, 56px);
}

.brand { display: flex; align-items: center; justify-content: center; }
.brand img { display: block; width: 100px; height: auto; }

.menu-toggle {
  display: grid;
  width: 38px;
  height: 38px;
  place-content: center;
  gap: 4px;
  padding: 0;
  border: 0;
  color: var(--ink);
  background: transparent;
  transition: transform .2s ease;
}
.menu-toggle span { display: block; width: 18px; height: 1.5px; background: var(--ink); transition: transform .24s ease, opacity .18s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(5.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-5.5px) rotate(-45deg); }

.menu-scrim {
  position: fixed;
  z-index: 18;
  inset: var(--header-height) 0 0;
  border: 0;
  background: rgba(12, 12, 12, .24);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
}
.menu-scrim.is-open { opacity: 1; pointer-events: auto; }

.primary-nav {
  position: fixed;
  z-index: 19;
  top: var(--header-height);
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(390px, 100vw);
  min-height: calc(100svh - var(--header-height));
  padding: 34px clamp(25px, 3vw, 46px);
  background: #fff;
  box-shadow: -18px 20px 48px rgba(0, 0, 0, .09);
  opacity: 0;
  pointer-events: none;
  transform: translateX(102%);
  transition: opacity .28s ease, transform .36s cubic-bezier(.16, 1, .3, 1);
}
.primary-nav.is-open { opacity: 1; pointer-events: auto; transform: translateX(0); }
.menu-label { margin: 0 0 34px; color: #777; font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.menu-search { display: flex; margin: 0 0 22px; padding-bottom: 10px; border-bottom: 1px solid rgba(31, 31, 31, .18); }
.menu-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.menu-search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 13px; }
.menu-search input::placeholder { color: #777; }
.primary-nav { font-family: "Sora", sans-serif; overflow-y: auto; }
.primary-nav a, .menu-services-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(31, 31, 31, .09); color: var(--ink); background: transparent; font-size: clamp(20px, 2.2vw, 28px); font-weight: 600; letter-spacing: -.055em; text-align: left; transition: color .2s ease, padding-left .2s ease; }
.primary-nav a:hover, .primary-nav a:focus-visible, .menu-services-toggle:hover, .menu-services-toggle:focus-visible { padding-left: 8px; color: #926d00; }
.menu-services-toggle span { color: var(--accent); font-family: inherit; font-size: 23px; font-weight: 400; line-height: .5; transition: transform .22s ease; }
.menu-services-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.menu-services-list { display: grid; margin: 0 0 7px; padding: 4px 0 5px 15px; border-bottom: 1px solid rgba(31, 31, 31, .09); }
.menu-services-list[hidden] { display: none; }
.primary-nav .menu-services-list a { padding: 7px 0; border: 0; color: #626262; font-family: inherit; font-size: 13px; font-weight: 600; letter-spacing: -.04em; }
.primary-nav .menu-services-list a:hover, .primary-nav .menu-services-list a:focus-visible { color: var(--ink); padding-left: 6px; }

.hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: calc(100svh - var(--header-height));
  overflow: hidden;
  align-items: center;
  color: var(--hero-ink);
  background: #202020;
}
.hero-video, .hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-video { z-index: -3; object-fit: cover; object-position: center; }
.hero-overlay {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .67) 0%, rgba(0, 0, 0, .4) 42%, rgba(0, 0, 0, .08) 72%),
    linear-gradient(0deg, rgba(0, 0, 0, .45) 0%, transparent 42%);
}

.hero-content {
  width: min(1100px, 100%);
  margin: 0 clamp(20px, 8.05vw, 155px);
  transform: translateY(3vh);
}

h1 {
  position: relative;
  max-width: none;
  height: 1.07em;
  margin: 0;
  font-size: clamp(35px, 4.8vw, 76px);
  font-weight: 600;
  line-height: 1.07;
  letter-spacing: -0.068em;
  overflow: hidden;
  white-space: nowrap;
}
.rotating-title-line { position: absolute; top: 0; left: 0; display: block; width: max-content; white-space: nowrap; will-change: transform; }
.rotating-title-topic { color: var(--accent); }
.rotating-title-line.title-leaving { animation: title-leave .42s cubic-bezier(.2, .8, .25, 1) both; }
.rotating-title-line.title-entering { transform: translateY(108%); }
.rotating-title-line.title-entering.is-active { animation: title-enter .42s cubic-bezier(.2, .8, .25, 1) both; }
@keyframes title-leave { from { transform: translateY(0); } to { transform: translateY(-108%); } }
@keyframes title-enter { from { transform: translateY(108%); } to { transform: translateY(0); } }
.hero-content > p { max-width: 590px; margin: clamp(22px, 3.4vh, 32px) 0 28px; font-size: clamp(15px, 1.25vw, 18px); font-weight: 400; line-height: 1.55; letter-spacing: -0.035em; }

.project-button { display: inline-flex; align-items: center; justify-content: center; min-height: 45px; padding: 0 20px; border: 1px solid rgba(255, 255, 255, .52); border-radius: 999px; color: #fff; background: rgba(15, 15, 15, .12); backdrop-filter: blur(8px); font-size: 11px; font-weight: 500; letter-spacing: -.01em; text-transform: none; transition: transform .22s ease, background .22s ease, color .22s ease; }
.project-button:hover, .project-button:focus-visible { border-color: var(--accent); color: #fff; background: rgba(15, 15, 15, .4); transform: translateY(-2px); }
.button-arrow { color: var(--accent); font-size: 23px; font-weight: 400; line-height: .45; transition: transform .2s ease; }
.project-button:hover .button-arrow { transform: translate(2px, -2px); }

.culture-page { background: #fff; }
.culture-page main { overflow: clip; }
.culture-lead-stack { position: relative; }
.culture-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: 1fr auto; min-height: calc(100svh - var(--header-height) - 16px); margin: 8px; padding: clamp(28px, 4.8vw, 78px); overflow: hidden; border: 8px solid #fff; border-radius: clamp(22px, 2.5vw, 38px); color: #fff; background: #202020; box-shadow: 0 18px 50px rgba(0,0,0,.08); }
.culture-hero-video, .culture-hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.culture-hero-video { z-index: -2; object-fit: cover; object-position: center; }
.culture-hero-overlay { z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.67) 0%, rgba(0,0,0,.37) 46%, rgba(0,0,0,.08) 78%), linear-gradient(0deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.06) 58%); }
.culture-hero-content { grid-column: 1; grid-row: 2; max-width: min(700px, 100%); }
.culture-hero-eyebrow, .culture-chapter-eyebrow { margin: 0 0 13px; color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.culture-hero h1 { position: static; height: auto; margin: 0; overflow: visible; color: #fff; font-size: clamp(54px, 7vw, 118px); font-weight: 600; line-height: .89; letter-spacing: -.095em; text-wrap: balance; white-space: normal; text-shadow: 0 4px 28px rgba(0,0,0,.25); }
.culture-hero-intro { max-width: 440px; margin: 20px 0 0; color: rgba(255,255,255,.92); font-size: clamp(15px, 1.35vw, 19px); font-weight: 400; line-height: 1.45; letter-spacing: -.04em; }
.culture-hero-actions { display: flex; grid-column: 2; grid-row: 2; align-self: end; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding-left: 24px; }
.culture-hero-cta { min-width: 112px; border-color: rgba(255,255,255,.74); background: rgba(15,15,15,.16); }
.culture-hero-cta--primary { border-color: var(--accent); color: var(--ink); background: var(--accent); }
.culture-hero-cta--primary:hover, .culture-hero-cta--primary:focus-visible { border-color: #ffe078; color: var(--ink); background: #ffe078; }
.culture-hero-cta--secondary { color: #fff; }
.culture-chapters { width: 100%; margin: 0; padding: 8px; background: var(--paper); }
@media (min-width: 761px) {
  .culture-lead-stack--overlay .culture-hero { position: sticky; z-index: 0; top: 0; }
  .culture-lead-stack--overlay .culture-chapters { position: relative; z-index: 1; box-shadow: 0 -16px 46px rgba(31,31,31,.11); }
}
@media (prefers-reduced-motion: reduce) and (min-width: 761px) {
  .culture-lead-stack--overlay .culture-hero { position: relative; }
}
.culture-chapter { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: clamp(500px, 47vw, 700px); gap: 8px; align-items: stretch; padding: 0; border: 0; }
.culture-chapter + .culture-chapter { margin-top: 8px; }
.culture-chapter:nth-child(even) .culture-chapter-media { order: 2; }
.culture-chapter-media { position: relative; min-height: 0; margin: 0; overflow: hidden; border-radius: 0; background: #181818; }
.culture-chapter-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(0,0,0,.05) 36%, rgba(0,0,0,.68) 100%); pointer-events: none; }
.culture-chapter-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.75,.2,1); }
.culture-chapter:hover .culture-chapter-media img { transform: scale(1.045); }
.culture-chapter-label { position: absolute; z-index: 1; right: clamp(20px, 3vw, 42px); bottom: clamp(18px, 2.8vw, 38px); left: clamp(20px, 3vw, 42px); color: #fff; font-size: clamp(38px, 5.6vw, 78px); font-weight: 700; letter-spacing: -.09em; line-height: .88; text-shadow: 0 5px 24px rgba(0,0,0,.28); }
.culture-chapter-copy { display: flex; flex-direction: column; justify-content: center; max-width: none; padding: clamp(44px, 7vw, 132px); background: #fff; }
.culture-chapter-copy h2 { margin: 0; color: var(--ink); font-size: clamp(38px, 4.7vw, 72px); font-weight: 600; line-height: .94; letter-spacing: -.085em; }
.culture-chapter-emphasis { margin: 26px 0 12px; color: var(--ink); font-size: clamp(17px, 1.55vw, 22px); line-height: 1.35; letter-spacing: -.05em; }
.culture-chapter-copy > p:last-child { margin: 0; color: #575757; font-size: clamp(15px, 1.25vw, 18px); line-height: 1.55; letter-spacing: -.035em; }
.culture-dna-feature { padding: clamp(54px, 7vw, 110px) 0 clamp(60px, 7vw, 116px); border-top: 2px solid var(--ink); scroll-margin-top: calc(var(--header-height) + 12px); background: #f8f8f9; }
.culture-dna-heading { width: min(1540px, calc(100% - 48px)); margin: 0 auto clamp(26px, 3vw, 44px); text-align: left; }
.culture-dna-heading h2 { margin: 0; color: var(--ink); font-size: clamp(46px, 5.6vw, 86px); font-weight: 600; letter-spacing: -.095em; line-height: .9; }
.culture-feature-heading { width: min(1040px, calc(100% - 48px)); margin: 0 auto clamp(34px, 5vw, 66px); text-align: center; }
.culture-feature-heading > p { margin: 0 0 15px; color: #a37e05; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.culture-feature-heading h2 { margin: 0; color: var(--ink); font-size: clamp(50px, 7.3vw, 112px); font-weight: 600; letter-spacing: -.095em; line-height: .9; }
.culture-dna-rail { display: flex; gap: clamp(12px, 1.5vw, 24px); overflow-x: auto; padding: 0 max(24px, calc((100vw - 1540px) / 2)) 18px; scroll-behavior: smooth; scroll-padding-left: max(24px, calc((100vw - 1540px) / 2)); scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-y; cursor: grab; }
.culture-dna-rail::-webkit-scrollbar { display: none; }
.culture-dna-rail.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.culture-dna-card { position: relative; isolation: isolate; display: flex; flex: 0 0 clamp(330px, 43vw, 640px); overflow: hidden; flex-direction: column; scroll-snap-align: start; border-radius: 16px; color: var(--ink); background: #fff; box-shadow: 0 12px 32px rgba(31,31,31,.08); transition: transform .35s cubic-bezier(.2,.75,.2,1), box-shadow .35s ease; }
.culture-dna-card:hover { z-index: 1; transform: translateY(-5px); box-shadow: 0 20px 42px rgba(31,31,31,.13); }
.culture-dna-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #e8e8e8; }
.culture-dna-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .32s ease, transform .65s cubic-bezier(.2,.75,.2,1); }
.culture-dna-card:hover .culture-dna-card-media img { transform: scale(1.035); }
.culture-dna-card .originals-preview { z-index: 1; top: 0; right: auto; bottom: auto; left: 0; width: 100%; height: auto; aspect-ratio: 16 / 10; border-radius: 0; }
.culture-dna-card.is-previewing .originals-preview { opacity: 1; transform: scale(1.02); }
.culture-dna-card.is-previewing .culture-dna-card-media img { opacity: 0; }
.culture-dna-card-copy { display: grid; min-height: 168px; padding: clamp(20px, 2vw, 28px); align-content: end; justify-items: start; gap: 10px; }
.culture-dna-card-eyebrow { color: #a37e05; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.culture-dna-card-copy > strong { max-width: 92%; font-size: clamp(28px, 3vw, 47px); font-weight: 600; letter-spacing: -.08em; line-height: .92; }
.culture-dna-card .originals-play, .culture-dna-card-link { display: inline-flex; min-height: 36px; padding: 0 14px; align-items: center; justify-content: center; border: 1px solid var(--ink); border-radius: 999px; color: #fff; background: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: -.02em; transition: color .2s ease, background .2s ease, transform .2s ease; }
.culture-dna-card .originals-play:hover, .culture-dna-card .originals-play:focus-visible, .culture-dna-card--link:hover .culture-dna-card-link, .culture-dna-card--link:focus-visible .culture-dna-card-link { color: var(--ink); background: var(--accent); transform: translateY(-1px); }
.culture-dna-card--link { text-decoration: none; }
.culture-team { overflow: hidden; padding: clamp(84px, 11vw, 156px) 0 clamp(88px, 11vw, 160px); background: var(--paper); }
.culture-team-heading { width: min(1540px, calc(100% - 16px)); margin: 0 auto clamp(34px, 5vw, 66px); }
.culture-team-heading .culture-feature-heading { width: min(1040px, 100%); margin: 0 auto; }
.culture-team-controls { display: flex; width: min(1540px, calc(100% - 16px)); justify-content: center; gap: 10px; margin: clamp(28px, 3vw, 44px) auto 0; }
.culture-team-control { display: inline-grid; width: 40px; height: 40px; padding: 0; place-items: center; border: 1px solid rgba(31,31,31,.05); border-radius: 999px; color: #5f5f5f; background: #ececec; transition: color .2s ease, background .2s ease, transform .2s ease; }
.culture-team-control svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.culture-team-control:hover, .culture-team-control:focus-visible { color: var(--ink); background: var(--accent); transform: translateY(-2px); }
.culture-team-control:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.culture-team-track { position: relative; display: flex; gap: 10px; overflow-x: auto; padding: 0 max(8px, calc((100vw - 1540px) / 2)); scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-y; cursor: grab; }
.culture-team-track::-webkit-scrollbar { display: none; }
.culture-team-track.is-dragging { cursor: grabbing; user-select: none; }
.culture-team-card { position: relative; isolation: isolate; flex: 0 0 clamp(248px, 22vw, 340px); min-height: clamp(395px, 32vw, 520px); overflow: hidden; scroll-snap-align: start; border-radius: 15px; color: #fff; background: #111; }
.culture-team-card::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(180deg, transparent 0%, transparent 56%, rgba(0,0,0,.14) 70%, rgba(0,0,0,.76) 100%); pointer-events: none; }
.culture-team-card img { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--team-image-position, center); transition: transform .7s cubic-bezier(.2,.75,.2,1); }
.culture-team-card:hover img { transform: scale(1.055); }
.culture-team-card-content { position: relative; display: flex; height: 100%; padding: 25px 23px; flex-direction: column; justify-content: flex-end; }
.culture-team-card-content p { margin: 0 0 8px; color: rgba(255,255,255,.72); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.culture-team-card-content h3 { max-width: 230px; margin: 0; color: #fff; font-size: clamp(27px, 2.4vw, 38px); font-weight: 600; letter-spacing: -.08em; line-height: .92; }

.services-section { padding: 8px; background: var(--paper); }
.services-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.service-card {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: clamp(490px, 47vw, 700px);
  overflow: hidden;
  place-items: start center;
  color: #fff;
  background: #181818;
}
.service-card::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(8, 12, 13, .72) 0%, rgba(8, 12, 13, .32) 45%, rgba(8, 12, 13, .67) 100%);
}
.service-image {
  position: absolute;
  z-index: -2;
  inset: -8%;
  width: 116%;
  height: 116%;
  object-fit: cover;
  transform: translate3d(0, var(--image-shift, 0px), 0) scale(1.04);
  transition: transform .72s cubic-bezier(.2, .75, .2, 1), filter .5s ease;
  will-change: transform;
}
.service-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-self: end;
  justify-self: center;
  align-items: center;
  width: min(520px, 100%);
  padding: clamp(42px, 5.5vw, 80px) clamp(22px, 4vw, 62px) 38px;
  text-align: center;
}
.service-content h3 { margin: 0; font-size: clamp(37px, 4vw, 64px); font-weight: 600; line-height: 1.02; letter-spacing: -.075em; }
.service-content p { max-width: 390px; margin: 15px 0 20px; font-size: clamp(13px, 1.25vw, 16px); font-weight: 400; line-height: 1.45; letter-spacing: -.035em; }
.service-ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.service-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 16px; border: 1px solid transparent; border-radius: 999px; font-size: 10px; font-weight: 600; letter-spacing: -.025em; transition: transform .22s ease, color .22s ease, background .22s ease, border-color .22s ease; }
.service-cta span { font-size: 20px; font-weight: 400; line-height: .5; }
.service-cta-primary { color: #1f1f1f; background: var(--accent); border-color: var(--accent); }
.service-cta-secondary { color: #fff; background: rgba(0, 0, 0, .08); border-color: rgba(255, 255, 255, .66); backdrop-filter: blur(8px); }
.service-cta:hover, .service-cta:focus-visible { transform: translateY(-2px); }
.service-cta-primary:hover, .service-cta-primary:focus-visible { color: #1f1f1f; background: #ffe37d; border-color: #ffe37d; }
.service-cta-secondary:hover, .service-cta-secondary:focus-visible { color: #1f1f1f; background: #fff; border-color: #fff; }
.service-social .service-image,
.service-video .service-image,
.service-recruiting .service-image,
.service-website .service-image,
.service-photography .service-image,
.service-podcast .service-image { object-position: center; }
.service-video .service-image { object-position: 42% center; }

.originals-section { overflow: hidden; padding: clamp(72px, 10vw, 150px) 0 clamp(34px, 5vw, 76px); background: #f8f7f4; }
.originals-intro { max-width: 1200px; margin: 0 auto clamp(35px, 5vw, 66px); padding: 0 24px; text-align: center; }
.originals-eyebrow { margin: 0 0 13px; color: #8f6a00; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.originals-intro h2 { margin: 0; color: var(--ink); font-size: clamp(40px, 5.7vw, 84px); font-weight: 600; line-height: .98; letter-spacing: -.075em; white-space: nowrap; }
.originals-intro > p:last-child { margin: 20px auto 0; max-width: 470px; color: #555; font-size: clamp(14px, 1.3vw, 17px); line-height: 1.55; letter-spacing: -.035em; }
.originals-track { display: flex; gap: clamp(12px, 1.8vw, 28px); overflow-x: auto; padding: 22px clamp(20px, 10.5vw, 170px) 30px; scroll-behavior: smooth; scroll-padding-left: clamp(20px, 10.5vw, 170px); scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.originals-track::-webkit-scrollbar { display: none; }
.originals-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.originals-track.has-infinite-loop, .podcasts-track.has-infinite-loop { overscroll-behavior-inline: none; }
.originals-track.is-loop-reset, .podcasts-track.is-loop-reset { scroll-behavior: auto; }
.originals-track.is-auto-scrolling, .podcasts-track.is-auto-scrolling { scroll-behavior: auto; scroll-snap-type: none; }
.originals-card { position: relative; isolation: isolate; flex: 0 0 clamp(320px, 44vw, 690px); aspect-ratio: 16 / 9; overflow: hidden; border-radius: clamp(16px, 1.6vw, 24px); scroll-snap-align: start; color: #fff; background: #171717; box-shadow: 0 16px 36px rgba(0,0,0,.08); transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease; }
.originals-card::after { position: absolute; z-index: 1; inset: 0; content: ""; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.04) 40%, rgba(0,0,0,.76) 100%); }
.originals-card img, .originals-preview { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; transform-origin: center; }
.originals-card img { transition: opacity .32s ease, transform .65s cubic-bezier(.2, .75, .2, 1); }
.originals-preview { border: 0; opacity: 0; pointer-events: none; transform: scale(1); transition: opacity .3s ease, transform .7s cubic-bezier(.16, 1, .3, 1); }
.originals-card.is-previewing .originals-preview { opacity: 1; transform: scale(1.075); }
.originals-card.is-previewing img { opacity: 0; transform: scale(1.04); }
.originals-card-content { position: absolute; z-index: 2; right: clamp(17px, 2vw, 30px); bottom: clamp(17px, 2vw, 30px); left: clamp(17px, 2vw, 30px); display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.originals-card-kicker { margin: 0; color: rgba(255,255,255,.78); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.originals-card-client { position: absolute; z-index: 2; top: clamp(17px, 2vw, 30px); left: clamp(17px, 2vw, 30px); display: inline-flex; align-items: center; gap: 10px; color: var(--accent); font-size: clamp(11px, 1.1vw, 15px); letter-spacing: .08em; }
.originals-card-client::before { width: 5px; height: 1.55em; content: ""; background: currentColor; }
.originals-card-title { max-width: 90%; margin: 0; color: #fff; font-size: clamp(28px, 3.75vw, 58px); font-weight: 700; line-height: .91; letter-spacing: -.085em; text-shadow: 0 2px 18px rgba(0,0,0,.34); text-transform: uppercase; }
.originals-card-teamwork img { object-position: center; }
.originals-card-kekse { background: #e4dfd7; }
.originals-card-kekse img { object-fit: contain; background: #e4dfd7; }
.originals-card-kekse .originals-card-title { max-width: 84%; font-size: clamp(25px, 3.15vw, 48px); }
.originals-card-planworks { background: #1a1b19; }
.originals-card-planworks img { object-fit: contain; background: #1a1b19; }
.originals-card-planworks .originals-card-title { max-width: 78%; font-size: clamp(24px, 3vw, 46px); }
.originals-card-agency .originals-card-title { max-width: 82%; font-size: clamp(25px, 3vw, 46px); }
.originals-card-basketball { background: #07100f; }
.originals-card-basketball img { object-fit: contain; background: #07100f; }
.originals-card-basketball .originals-card-title { max-width: 84%; font-size: clamp(25px, 3.2vw, 49px); }
.originals-card-maja { background: #6d4b3f; }
.originals-card-maja img { object-fit: contain; background: #6d4b3f; }
.originals-card-maja .originals-card-title { max-width: 80%; font-size: clamp(25px, 3.1vw, 47px); }
.originals-play { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 0 17px; border: 1px solid rgba(255,255,255,.56); border-radius: 999px; color: #171717; background: rgba(255,255,255,.92); font-size: 10px; font-weight: 700; letter-spacing: -.02em; transition: transform .22s ease, background .22s ease; }
.originals-play:hover, .originals-play:focus-visible { background: #fff; transform: translateY(-2px); }
.originals-dialog { position: fixed; z-index: 30; top: 50%; left: 50%; width: min(1120px, calc(100% - 32px)); max-width: none; max-height: calc(100svh - 32px); margin: 0; padding: 0; overflow: hidden; border: 0; color: #fff; background: #0a0a0a; box-shadow: 0 24px 80px rgba(0,0,0,.45); transform: translate(-50%, -50%); }
.originals-dialog::backdrop { background: rgba(5,5,5,.82); backdrop-filter: blur(8px); }
.originals-dialog-frame { position: relative; background: #000; }
.originals-video, .originals-vimeo { display: block; width: 100%; max-height: min(78svh, 760px); background: #000; }
.originals-vimeo-stage { width: 100%; }
.originals-video[hidden], .originals-vimeo-stage[hidden] { display: none !important; }
.originals-vimeo { aspect-ratio: 16 / 9; border: 0; }
.originals-dialog-controls { position: absolute; z-index: 2; top: 14px; right: 14px; display: flex; align-items: center; gap: 8px; }
.originals-dialog-fullscreen, .originals-dialog-close { border: 1px solid rgba(255,255,255,.4); color: #fff; background: rgba(0,0,0,.52); backdrop-filter: blur(8px); transition: background .2s ease, transform .2s ease; }
.originals-dialog-fullscreen { display: inline-flex; align-items: center; gap: 5px; min-height: 38px; padding: 0 12px; border-radius: 999px; font-size: 10px; font-weight: 700; }
.originals-dialog-fullscreen span { color: var(--accent); font-size: 18px; line-height: 1; }
.originals-dialog-close { display: grid; width: 38px; height: 38px; place-items: center; padding: 0 0 3px; border-radius: 50%; font-size: 27px; font-weight: 300; line-height: 1; }
.originals-dialog-fullscreen:hover, .originals-dialog-fullscreen:focus-visible, .originals-dialog-close:hover, .originals-dialog-close:focus-visible { background: rgba(0,0,0,.82); transform: translateY(-1px); }
.originals-dialog-frame:fullscreen { display: grid; width: 100vw; height: 100vh; place-items: center; background: #000; }
.originals-dialog-frame:fullscreen .originals-video, .originals-dialog-frame:fullscreen .originals-vimeo { width: min(100vw, 177.78vh); max-height: 100vh; }

.podcasts-section { overflow: hidden; padding: 0 0 clamp(88px, 11vw, 170px); color: var(--ink); background: #f8f7f4; }
.podcasts-section--with-cases { padding-bottom: clamp(18px, 2vw, 32px); }
.service-podcasts-showcase { padding-top: clamp(88px, 11vw, 138px); }
.podcasts-track { display: flex; gap: clamp(12px, 1.8vw, 28px); overflow-x: auto; padding: 0 clamp(20px, 10.5vw, 170px) 30px; scroll-behavior: smooth; scroll-padding-left: clamp(20px, 10.5vw, 170px); scroll-snap-type: x mandatory; scrollbar-width: none; cursor: default; touch-action: auto; }
.podcasts-track::-webkit-scrollbar { display: none; }
.podcasts-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.podcast-card { display: flex; flex: 0 0 clamp(258px, 24vw, 340px); flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid rgba(31,31,31,.13); border-radius: clamp(16px, 1.3vw, 22px); color: var(--ink); background: #fff; box-shadow: 0 16px 36px rgba(0,0,0,.08); scroll-snap-align: start; transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .4s ease; }
.podcast-cover { position: relative; aspect-ratio: 1; overflow: hidden; padding: 5px; background: #ebeae7; }
.podcast-cover img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .55s cubic-bezier(.2,.75,.2,1); }
.podcast-card-copy { display: flex; flex: 1; flex-direction: column; gap: 7px; padding: 16px 16px 18px; }
.podcast-card h3 { margin: 0; color: var(--ink); font-size: clamp(16px, 1.42vw, 19px); font-weight: 600; line-height: 1.12; letter-spacing: -.055em; }
.podcast-card-copy > p { margin: 0; color: #6c6c6c; font-size: 10px; line-height: 1.4; letter-spacing: -.02em; }
.podcast-card-link { margin-top: auto; color: #8d6900; font-size: 10px; font-weight: 700; letter-spacing: -.025em; }
.podcast-featured-label { position: absolute; z-index: 1; top: 12px; left: 12px; padding: 7px 9px; border-radius: 999px; color: var(--ink); background: var(--accent); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.podcast-episode { display: grid; gap: 2px; margin-top: 7px; color: #4f4f4f; font-size: 10px; line-height: 1.42; }
.podcast-episode-label { color: #987300; font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.podcast-card-featured { border-color: rgba(247,207,76,.72); }
.podcast-card:hover, .podcast-card:focus-visible { z-index: 1; border-color: rgba(247,207,76,.95); box-shadow: 0 24px 48px rgba(0,0,0,.18); outline: none; transform: scale(1.045); }
.podcast-card:hover .podcast-cover img, .podcast-card:focus-visible .podcast-cover img { transform: none; }

.case-showcase-section { overflow: hidden; padding: 0 0 clamp(76px, 9vw, 138px); color: var(--ink); background: #f8f7f4; }
.case-showcase-track { padding-top: 0; padding-bottom: 12px; }
.case-showcase-card { position: relative; isolation: isolate; display: block; flex: 0 0 clamp(320px, 44vw, 690px); min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: clamp(16px, 1.6vw, 24px); color: #fff; background: #171717; box-shadow: 0 16px 36px rgba(0,0,0,.08); scroll-snap-align: start; transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease; }
.case-showcase-card::after { position: absolute; z-index: 1; inset: 0; content: ""; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.11) 0%, rgba(0,0,0,.03) 40%, rgba(0,0,0,.78) 100%); }
.case-showcase-media { position: absolute; z-index: 0; inset: 0; display: block; overflow: hidden; border-radius: inherit; background: #e8e7e3; }
.case-showcase-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.75,.2,1); }
.case-showcase-copy { position: absolute; z-index: 2; right: clamp(17px, 2vw, 30px); bottom: clamp(17px, 2vw, 30px); left: clamp(17px, 2vw, 30px); display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.case-showcase-title { max-width: 92%; margin: 0; color: #fff; font-size: clamp(17px, 2.15vw, 29px); font-weight: 600; line-height: 1; letter-spacing: -.065em; text-shadow: 0 2px 18px rgba(0,0,0,.36); }
.case-showcase-client { position: absolute; z-index: 2; top: clamp(17px, 2vw, 30px); left: clamp(17px, 2vw, 30px); display: inline-flex; align-items: center; gap: 10px; color: var(--accent); font-size: clamp(11px, 1.1vw, 15px); font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; text-shadow: 0 1px 12px rgba(0,0,0,.3); }
.case-showcase-client::before { width: 5px; height: 1.55em; content: ""; background: currentColor; }
.case-showcase-link { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid rgba(255,255,255,.62); border-radius: 999px; color: #fff; background: rgba(0,0,0,.12); font-size: 9px; font-weight: 700; letter-spacing: -.02em; transition: color .22s ease, background .22s ease, border-color .22s ease, transform .22s ease; }
.case-showcase-link:hover, .case-showcase-link:focus-visible { border-color: var(--accent); color: var(--ink); background: var(--accent); outline: none; transform: translateY(-2px); }
@media (hover: hover) and (pointer: fine) {
  .case-showcase-card:hover .case-showcase-media img { transform: scale(1.045); }
}

/* Startseiten-Teaser: Erfolgsgeschichten */
.stories-promo { overflow: hidden; padding: clamp(84px, 10vw, 152px) clamp(20px, 6vw, 96px); color: var(--ink); background: #fff; }
.stories-promo-shell { display: grid; width: min(100%, 1260px); grid-template-columns: minmax(0, 1fr) minmax(370px, .82fr); align-items: center; gap: clamp(42px, 9vw, 148px); margin: 0 auto; }
.stories-promo-copy { max-width: 600px; }
.stories-promo-eyebrow { margin: 0 0 15px; color: #8f6a00; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.stories-promo h2 { max-width: 640px; margin: 0; color: var(--ink); font-size: clamp(42px, 5.2vw, 78px); font-weight: 600; line-height: .98; letter-spacing: -.08em; }
.stories-promo-copy > p:last-of-type { max-width: 470px; margin: clamp(19px, 2vw, 28px) 0 0; color: #5a5a5a; font-size: clamp(15px, 1.25vw, 18px); line-height: 1.52; letter-spacing: -.04em; }
.stories-promo-link { display: inline-flex; align-items: center; min-height: 42px; margin-top: clamp(24px, 3vw, 36px); padding: 0 17px; border: 1px solid var(--ink); border-radius: 999px; color: var(--ink); background: transparent; font-size: 10px; font-weight: 700; letter-spacing: -.02em; transition: color .22s ease, background .22s ease, transform .22s ease; }
.stories-promo-link:hover, .stories-promo-link:focus-visible { color: var(--ink); outline: none; background: var(--accent); transform: translateY(-2px); }
.stories-promo-stack { position: relative; display: block; width: min(100%, 440px); min-height: clamp(330px, 32vw, 425px); justify-self: end; outline: none; }
.stories-promo-stack:focus-visible { outline: 2px solid var(--accent); outline-offset: 8px; }
.stories-promo-card { position: absolute; display: block; width: clamp(205px, 20vw, 285px); aspect-ratio: 4 / 5; overflow: hidden; border: clamp(4px, .45vw, 7px) solid #fff; border-radius: clamp(16px, 1.4vw, 23px); background: #e9e7e2; box-shadow: 0 18px 38px rgba(27,27,27,.14); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease; }
.stories-promo-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.stories-promo-card--back { z-index: 1; top: 0; right: 6%; transform: rotate(2deg); opacity: .64; }
.stories-promo-card--middle { z-index: 2; top: clamp(17px, 2.1vw, 30px); right: 17%; transform: rotate(-1.5deg); }
.stories-promo-card--front { z-index: 3; top: clamp(40px, 4.3vw, 64px); left: 5%; transform: rotate(.8deg); }
.stories-promo-stack:hover .stories-promo-card--back, .stories-promo-stack:focus-visible .stories-promo-card--back { transform: translate(10px, -7px) rotate(2.5deg); }
.stories-promo-stack:hover .stories-promo-card--middle, .stories-promo-stack:focus-visible .stories-promo-card--middle { transform: translate(-6px, -5px) rotate(-2.1deg); }
.stories-promo-stack:hover .stories-promo-card--front, .stories-promo-stack:focus-visible .stories-promo-card--front { box-shadow: 0 24px 48px rgba(27,27,27,.2); transform: translate(-8px, -5px) rotate(.2deg); }

.site-footer { padding: clamp(45px, 6vw, 88px) clamp(20px, 6vw, 96px) 22px; color: var(--ink); border-top: 1px solid rgba(31,31,31,.13); background: #fff; }
.footer-shell { width: min(100%, 1440px); margin: 0 auto; }
.footer-topline { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: clamp(44px, 5.5vw, 76px); }
.footer-brand { display: inline-flex; width: max-content; align-items: center; }
.footer-brand img { display: block; width: clamp(100px, 8vw, 130px); height: auto; }
.footer-claim { max-width: 510px; margin: 0; color: #242424; font-size: clamp(22px, 2.2vw, 34px); font-weight: 600; line-height: 1.03; letter-spacing: -.065em; text-align: right; }
.footer-directory { display: grid; grid-template-columns: 1.08fr 1.15fr 1.25fr .9fr 1fr .9fr; gap: clamp(18px, 3vw, 54px); align-items: start; }
.footer-column { min-width: 0; }
.footer-column h2 { margin: 0 0 15px; color: var(--ink); font-size: 13px; font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
.footer-column a { display: block; width: max-content; max-width: 100%; margin: 0 0 11px; color: #656565; font-size: 13px; line-height: 1.35; letter-spacing: -.025em; overflow-wrap: anywhere; transition: color .2s ease, transform .2s ease; }
.footer-column a:hover, .footer-column a:focus-visible { color: var(--ink); outline: none; transform: translateX(3px); }
.footer-column a:focus-visible, .footer-meta a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.footer-meta { display: flex; justify-content: space-between; gap: 18px; margin-top: clamp(48px, 7vw, 88px); padding-top: 17px; border-top: 1px solid rgba(31,31,31,.18); color: #757575; font-size: 10px; font-weight: 500; letter-spacing: -.02em; }
.footer-meta a { color: inherit; font-weight: 600; transition: color .2s ease; }
.footer-meta a:hover { color: var(--ink); }
@media (hover: hover) and (pointer: fine) {
  .originals-card:hover, .originals-card:focus-within { z-index: 3; transform: scale(1.045); box-shadow: 0 24px 48px rgba(0,0,0,.22); }
  .originals-card:hover img { transform: scale(1.045); }
}
@media (hover: hover) and (pointer: fine) {
  .service-card:hover .service-image { transform: translate3d(0, var(--image-shift, 0px), 0) scale(1.09); filter: brightness(1.05); }
}

@media (max-width: 900px) {
  :root { --header-height: 64px; }
  .header-shell { padding: 0 24px; }
  .brand img { width: 92px; }
  .primary-nav { width: min(360px, 100vw); padding: 28px 32px; }
  .hero-content { margin-left: clamp(24px, 7.5vw, 70px); margin-right: 24px; }
  .service-card { min-height: clamp(420px, 57vw, 600px); }
}

@media (max-width: 720px) {
  :root { --header-height: 60px; }
  .header-shell { padding: 0 16px; }
  .brand img { width: 84px; }
  .menu-toggle { width: 34px; height: 34px; }
  .primary-nav { width: min(340px, 92vw); padding: 26px 26px; }
  .menu-label { margin-bottom: 25px; }
  .primary-nav a { padding: 12px 0; font-size: 22px; }
  .hero { min-height: calc(100svh - var(--header-height)); }
  .hero-overlay { background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.25) 100%), linear-gradient(0deg, rgba(0,0,0,.58), transparent 48%); }
  .hero-content { width: calc(100% - 48px); margin: 0 24px; transform: translateY(6vh); }
  .hero h1 { height: 2.16em; min-height: 2.16em; overflow: hidden; font-size: clamp(30px, 8.5vw, 40px); line-height: .96; letter-spacing: -0.075em; white-space: normal; text-shadow: 0 3px 20px rgba(0,0,0,.26); }
  .hero .rotating-title-line { width: 100%; white-space: normal; overflow-wrap: anywhere; text-wrap: balance; }
  .hero-content > p { margin: 19px 0 25px; font-size: 14px; max-width: 370px; }
  .project-button { min-height: 50px; font-size: 11px; }
  .culture-hero { grid-template-columns: 1fr; grid-template-rows: 1fr auto auto; min-height: calc(100svh - var(--header-height) - 12px); margin: 6px; padding: 28px 24px; border-width: 6px; border-radius: 20px; }
  .culture-hero-overlay { background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.79) 74%); }
  .culture-hero-content { grid-column: 1; grid-row: 2; max-width: none; }
  .culture-hero h1 { font-size: clamp(49px, 14vw, 74px); line-height: .89; }
  .culture-hero-intro { max-width: 440px; margin-top: 16px; font-size: 15px; }
  .culture-hero-actions { grid-column: 1; grid-row: 3; justify-content: flex-start; padding: 23px 0 0; gap: 8px; }
  .culture-hero-cta { min-width: 105px; min-height: 46px; }
  .culture-chapters { width: 100%; padding: 4px; }
  .culture-chapter { grid-template-columns: 1fr; min-height: 0; gap: 4px; }
  .culture-chapter + .culture-chapter { margin-top: 4px; }
  .culture-chapter:nth-child(even) .culture-chapter-media { order: 0; }
  .culture-chapter-media { min-height: clamp(290px, 84vw, 460px); border-radius: 0; }
  .culture-chapter-copy { padding: 46px 24px 52px; }
  .culture-chapter-copy h2 { font-size: clamp(38px, 11.5vw, 52px); }
  .culture-chapter-emphasis { margin: 20px 0 11px; font-size: 17px; }
  .culture-chapter-copy > p:last-child { font-size: 15px; }
  .culture-dna-feature { padding: 54px 0 64px; border-top-width: 1px; scroll-margin-top: calc(var(--header-height) + 8px); }
  .culture-dna-heading { width: min(100% - 40px, 560px); margin-bottom: 26px; }
  .culture-dna-heading h2 { font-size: clamp(44px, 12vw, 62px); }
  .culture-feature-heading { width: min(100% - 40px, 560px); margin-bottom: 30px; }
  .culture-feature-heading > p { margin-bottom: 12px; }
  .culture-feature-heading h2 { font-size: clamp(46px, 13.5vw, 64px); }
  .culture-dna-rail { gap: 12px; padding: 0 20px 14px; scroll-padding-left: 20px; }
  .culture-dna-card { flex-basis: min(82vw, 400px); border-radius: 12px; }
  .culture-dna-card-copy { min-height: 150px; padding: 18px; gap: 8px; }
  .culture-dna-card-copy > strong { font-size: clamp(27px, 8vw, 38px); }
  .culture-team { padding: 68px 0 78px; }
  .culture-team-heading { width: min(100% - 32px, 560px); margin-bottom: 30px; }
  .culture-team-heading .culture-feature-heading { width: 100%; }
  .culture-team-controls { width: min(100% - 32px, 560px); margin-top: 24px; }
  .culture-team-control { width: 38px; height: 38px; }
  .culture-team-track { gap: 8px; padding: 0 16px; }
  .culture-team-card { flex-basis: 77vw; min-height: 490px; border-radius: 13px; }
  .culture-team-card-content { padding: 23px 21px; }
  .culture-team-card-content h3 { font-size: 35px; }
  .services-section { padding: 4px; }
  .services-grid { grid-template-columns: 1fr; gap: 4px; }
  .service-card { min-height: 480px; }
  .service-content { padding: 46px 22px 32px; }
  .service-content h3 { font-size: clamp(38px, 11vw, 52px); }
  .service-content p { max-width: 320px; margin: 12px 0 18px; font-size: 13px; }
  .service-cta { min-height: 38px; padding: 0 13px 0 14px; font-size: 9px; }
  .service-content { width: min(92%, 320px); }
  .originals-section { padding-top: 76px; padding-bottom: 34px; }
  .originals-intro { margin-bottom: 34px; padding: 0 20px; }
  .originals-intro h2 { font-size: clamp(21px, 6.6vw, 30px); }
  .originals-intro > p:last-child { margin-top: 16px; }
  .originals-track { gap: 10px; padding: 14px 20px 22px; scroll-padding-left: 20px; }
  .originals-card { flex-basis: min(86vw, 390px); }
  .case-showcase-card { flex-basis: min(86vw, 390px); }
  .originals-card-content { right: 16px; bottom: 16px; left: 16px; }
  .originals-card-client { top: 16px; left: 16px; }
  .case-showcase-client { top: 16px; left: 16px; }
  .originals-card-title { max-width: 95%; font-size: clamp(25px, 8vw, 38px); }
  .originals-card-agency .originals-card-title { max-width: 88%; font-size: clamp(22px, 6.4vw, 31px); }
  .originals-dialog { width: calc(100% - 20px); }
  .originals-dialog-controls { top: 9px; right: 9px; gap: 6px; }
  .originals-dialog-fullscreen { min-height: 34px; padding: 0 10px; font-size: 9px; }
  .originals-dialog-close { width: 34px; height: 34px; font-size: 24px; }
  .podcasts-track { gap: 10px; padding: 0 20px 22px; scroll-padding-left: 20px; }
  .podcast-card { flex-basis: min(78vw, 330px); }
  .podcast-card-copy { padding: 13px 13px 15px; }
  .podcast-card h3 { font-size: 14px; }
  .podcast-card-copy > p, .podcast-episode { font-size: 9px; }
  .stories-promo { padding: 76px 20px 70px; }
  .stories-promo-shell { grid-template-columns: 1fr; gap: 43px; }
  .stories-promo h2 { max-width: 440px; font-size: clamp(38px, 10vw, 56px); }
  .stories-promo-copy > p:last-of-type { max-width: 370px; font-size: 14px; }
  .stories-promo-stack { width: min(100%, 355px); min-height: 315px; justify-self: center; }
  .stories-promo-card { width: min(72vw, 235px); }
  .stories-promo-card--back { right: 2%; }
  .stories-promo-card--middle { right: 13%; }
  .stories-promo-card--front { left: 2%; }
  .site-footer { padding: 42px 20px 19px; }
  .footer-topline { flex-direction: column; align-items: flex-start; gap: 21px; margin-bottom: 40px; }
  .footer-claim { max-width: 290px; font-size: clamp(25px, 8vw, 32px); text-align: left; }
  .footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px; }
  .footer-column h2 { margin-bottom: 12px; font-size: 12px; }
  .footer-column a { margin-bottom: 9px; font-size: 12px; }
  .footer-meta { flex-direction: column; align-items: flex-start; margin-top: 48px; padding-top: 14px; font-size: 9px; }
}

@media (max-width: 720px) {
  .services-section,
  .originals-section,
  .podcasts-section,
  .case-showcase-section,
  .budget-calculator,
  .site-footer {
    content-visibility: auto;
  }

  .services-section { contain-intrinsic-size: auto 2360px; }
  .originals-section { contain-intrinsic-size: auto 630px; }
  .podcasts-section { contain-intrinsic-size: auto 720px; }
  .case-showcase-section { contain-intrinsic-size: auto 470px; }
  .budget-calculator { contain-intrinsic-size: auto 760px; }
  .site-footer { contain-intrinsic-size: auto 790px; }
}

@media (max-width: 390px) {
  .header-shell { padding: 0 12px; }
  .brand img { width: 78px; }
  .hero-content { margin-left: 20px; margin-right: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .hero-video, .culture-hero-video { display: none; }
  .service-image { transform: scale(1.04) !important; }
}

/* Erfolgsgeschichten */
.cases-page { background: #fff; }
.cases-hero { position: relative; isolation: isolate; display: flex; min-height: calc(100svh - var(--header-height) - clamp(16px, 2vw, 28px)); margin: clamp(8px, 1vw, 16px) clamp(8px, 1vw, 16px) 0; overflow: hidden; align-items: end; padding: clamp(32px, 6vw, 96px); border-radius: clamp(18px, 2vw, 30px); color: #fff; background: #1f1f1f; }
.cases-hero-video, .cases-hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.cases-hero-video { z-index: -3; object-fit: cover; object-position: center; }
.cases-hero-overlay { z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.76) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.08) 80%), linear-gradient(0deg, rgba(0,0,0,.5), transparent 48%); }
.cases-hero-content { max-width: min(800px, 100%); transform: translateY(-2vh); }
.cases-overline, .case-kicker { margin: 0 0 14px; color: #8f6a00; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.cases-overline { color: var(--accent); }
.cases-hero h1 { position: static; width: auto; height: auto; max-width: 820px; margin: 0; overflow: visible; color: #fff; font-size: clamp(45px, 6.7vw, 106px); font-weight: 600; line-height: .92; letter-spacing: -.09em; white-space: normal; }
.cases-hero-content > p:last-of-type { max-width: 470px; margin: 25px 0 29px; color: rgba(255,255,255,.88); font-size: clamp(15px, 1.35vw, 19px); line-height: 1.48; letter-spacing: -.04em; }
.cases-hero-cta { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 18px; border-radius: 999px; color: var(--ink); background: var(--accent); font-size: 10px; font-weight: 700; transition: transform .22s ease, background .22s ease; }
.cases-hero-cta span { font-size: 18px; line-height: 1; }
.cases-hero-cta:hover, .cases-hero-cta:focus-visible { background: #ffe37d; transform: translateY(-2px); }
.cases-hero-dots { position: absolute; right: clamp(24px, 3vw, 46px); bottom: clamp(25px, 3vw, 44px); display: flex; gap: 7px; align-items: center; }
.cases-hero-dots span { display: block; width: 6px; height: 6px; border-radius: 999px; background: rgba(255,255,255,.52); }
.cases-hero-dots .is-active { width: 24px; background: var(--accent); }
.case-proof { width: min(1240px, 100%); margin: 0 auto; padding: clamp(88px, 13vw, 190px) 24px clamp(94px, 13vw, 184px); }
.case-proof-visual { overflow: hidden; border-radius: clamp(20px, 2vw, 32px); background: #e9e9e4; box-shadow: 0 24px 65px rgba(0,0,0,.11); }
.case-proof-visual img { display: block; width: 100%; aspect-ratio: 1.714 / 1; object-fit: cover; object-position: center; }
.case-proof-copy { max-width: 900px; margin: clamp(52px, 8vw, 108px) auto 0; text-align: center; }
.case-proof-copy h2, .case-stories-intro h2 { margin: 0; color: var(--ink); font-size: clamp(38px, 5.4vw, 80px); font-weight: 600; line-height: .98; letter-spacing: -.08em; }
.case-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 62px); margin-top: clamp(44px, 6vw, 78px); text-align: left; }
.case-principles p { margin: 0; color: #585858; font-size: clamp(13px, 1.15vw, 16px); line-height: 1.55; letter-spacing: -.035em; }
.case-principles strong { color: var(--ink); font-weight: 700; }
.case-stories { padding: clamp(85px, 11vw, 165px) clamp(20px, 5vw, 86px); background: #f8f7f4; }
.case-stories-intro { max-width: 820px; margin: 0 auto clamp(44px, 7vw, 88px); text-align: center; }
.case-stories-intro > p:last-child { max-width: 640px; margin: 22px auto 0; color: #5b5b5b; font-size: clamp(14px, 1.3vw, 17px); line-height: 1.55; letter-spacing: -.035em; }
.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 2vw, 30px); width: min(1280px, 100%); margin: 0 auto; }
.case-card { position: relative; isolation: isolate; display: flex; min-height: clamp(360px, 38vw, 570px); overflow: hidden; align-items: end; padding: clamp(22px, 3vw, 42px); border-radius: clamp(18px, 1.8vw, 28px); color: #fff; background: #202020; box-shadow: 0 16px 36px rgba(0,0,0,.08); }
.case-card > img, .case-card-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.case-card > img { z-index: -2; object-fit: cover; transition: transform .7s cubic-bezier(.2,.75,.2,1); }
.case-card-overlay { z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.76) 100%); }
.case-card-content { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; max-width: min(460px, 100%); }
.case-card-client { margin: 0; color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.case-card h3 { margin: 0; color: #fff; font-size: clamp(29px, 3.5vw, 54px); font-weight: 600; line-height: .94; letter-spacing: -.075em; }
.case-card-link { display: inline-flex; align-items: center; gap: 8px; min-height: 37px; padding: 0 14px; border: 1px solid rgba(255,255,255,.66); border-radius: 999px; color: #fff; background: rgba(0,0,0,.14); font-size: 9px; font-weight: 700; transition: transform .22s ease, color .22s ease, background .22s ease; }
.case-card-link span { color: var(--accent); font-size: 17px; line-height: 1; }
.case-card:hover > img, .case-card:focus-visible > img { transform: scale(1.06); }
.case-card:hover .case-card-link, .case-card:focus-visible .case-card-link { color: var(--ink); background: #fff; transform: translateY(-2px); }
.case-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }

@media (max-width: 720px) {
  .cases-hero { min-height: calc(100svh - var(--header-height) - 16px); margin: 8px 8px 0; padding: 28px 24px 32px; border-radius: 18px; }
  .cases-hero-overlay { background: linear-gradient(90deg, rgba(0,0,0,.7), rgba(0,0,0,.18)), linear-gradient(0deg, rgba(0,0,0,.6), transparent 55%); }
  .cases-hero-content { transform: none; }
  .cases-hero h1 { font-size: clamp(45px, 13vw, 66px); }
  .cases-hero-dots { right: 24px; bottom: 25px; }
  .case-proof { padding: 82px 20px 90px; }
  .case-proof-copy { margin-top: 48px; }
  .case-proof-copy h2, .case-stories-intro h2 { font-size: clamp(34px, 10vw, 48px); }
  .case-principles { grid-template-columns: 1fr; gap: 20px; margin-top: 37px; text-align: center; }
  .case-stories { padding: 82px 20px; }
  .case-grid { grid-template-columns: 1fr; gap: 12px; }
  .case-card { min-height: min(118vw, 500px); padding: 24px; border-radius: 18px; }
  .case-card h3 { font-size: clamp(31px, 9.8vw, 48px); }
}

@media (prefers-reduced-motion: reduce) {
  .cases-hero-video { display: none; }
}

/* Erfolgsgeschichten-Bibliothek */
.stories-library { overflow: hidden; min-height: min(100svh, 930px); padding: clamp(76px, 11vw, 150px) 0 clamp(82px, 10vw, 140px); background: #fff; }
.stories-library-intro { width: min(940px, calc(100% - 40px)); margin: 0 auto; text-align: center; }
.stories-library-eyebrow { margin: 0 0 15px; color: #9b7507; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.stories-library h1 { position: static; width: auto; height: auto; max-width: none; margin: 0; overflow: visible; color: var(--ink); font-size: clamp(44px, 7vw, 104px); font-weight: 600; line-height: .93; letter-spacing: -.09em; white-space: normal; }
.stories-library-intro > p:last-child { max-width: 680px; margin: 27px auto 0; color: #535353; font-size: clamp(15px, 1.55vw, 20px); line-height: 1.5; letter-spacing: -.04em; }
.stories-library-controls { display: grid; justify-items: center; width: min(100% - 40px, 900px); margin: clamp(46px, 6vw, 76px) auto 0; }
.stories-search { position: relative; display: flex; align-items: center; width: min(100%, 530px); }
.stories-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.stories-search svg { position: absolute; left: 17px; z-index: 1; width: 18px; height: 18px; fill: none; stroke: #777; stroke-width: 1.8; pointer-events: none; }
.stories-search input { width: 100%; height: 50px; padding: 0 19px 0 47px; border: 1px solid #dfdfe2; border-radius: 999px; outline: 0; color: var(--ink); background: #fff; font-size: 13px; letter-spacing: -.02em; transition: border-color .2s ease, box-shadow .2s ease; }
.stories-search input::placeholder { color: #888; }
.stories-search input:focus { border-color: #b9900c; box-shadow: 0 0 0 4px rgba(247,207,76,.25); }
.stories-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: min(100%, 700px); margin-top: 15px; }
.stories-filter { display: grid; gap: 6px; min-width: 0; color: #686868; font-size: 9px; font-weight: 700; letter-spacing: .09em; text-align: left; text-transform: uppercase; }
.stories-filter select { width: 100%; height: 42px; padding: 0 32px 0 13px; border: 1px solid #dfdfe2; border-radius: 12px; outline: 0; color: var(--ink); background: #fff; font: inherit; font-size: 11px; font-weight: 600; letter-spacing: -.025em; text-transform: none; transition: border-color .2s ease, box-shadow .2s ease; }
.stories-filter select:focus { border-color: #b9900c; box-shadow: 0 0 0 4px rgba(247,207,76,.25); }
.stories-results { margin: 13px 0 0; color: #7a7a7a; font-size: 11px; font-weight: 600; letter-spacing: .02em; }
.stories-library-catalog { width: 100%; margin-top: clamp(37px, 5vw, 62px); }
.stories-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 2.3vw, 34px); width: min(calc(100% - 48px), 1280px); margin: 0 auto; padding: 6px 0 34px; }
.story-card { position: relative; display: flex; flex-direction: column; min-width: 0; color: var(--ink); transition: transform .35s cubic-bezier(.2,.75,.2,1); }
.story-card-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: clamp(14px, 1.4vw, 20px); background: #ecece9; box-shadow: 0 8px 23px rgba(0,0,0,.08); transition: box-shadow .35s ease, transform .35s cubic-bezier(.2,.75,.2,1); }
.story-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.75,.2,1); }
.story-card.is-podcast .story-card-media img { object-fit: contain; background: #ecece9; }
.story-card-media-type { position: absolute; right: 10px; bottom: 10px; display: inline-flex; min-height: 24px; align-items: center; padding: 0 9px; border-radius: 7px; color: #fff; background: rgba(0,0,0,.76); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.story-card-copy { display: grid; gap: 7px; padding: 14px 32px 4px 2px; }
.story-card strong { color: var(--ink); font-size: clamp(16px, 1.42vw, 21px); font-weight: 600; line-height: 1.18; letter-spacing: -.055em; }
.story-card-meta { display: flex; flex-wrap: wrap; gap: 6px; color: #777; font-size: 11px; font-weight: 500; line-height: 1.35; letter-spacing: -.025em; }
.story-card-more { position: absolute; right: 4px; bottom: 7px; color: #242424; font-size: 25px; font-weight: 700; line-height: 1; }
.story-card:hover, .story-card:focus-visible { transform: translateY(-5px); }
.story-card:hover .story-card-media, .story-card:focus-visible .story-card-media { box-shadow: 0 16px 34px rgba(0,0,0,.17); }
.story-card:hover .story-card-media img, .story-card:focus-visible .story-card-media img { transform: scale(1.045); }
.story-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.story-card[hidden] { display: none; }
.stories-empty { width: min(500px, calc(100% - 40px)); margin: 10px auto 0; padding: 26px; border: 1px dashed #c8c8cb; border-radius: 16px; color: #5f5f5f; background: #fafafa; font-size: 14px; line-height: 1.5; text-align: center; }

@media (max-width: 960px) {
  .stories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(calc(100% - 40px), 860px); }
}

@media (max-width: 700px) {
  .stories-library { min-height: auto; padding: 68px 0 80px; }
  .stories-library-intro { width: min(100% - 36px, 620px); }
  .stories-library h1 { font-size: clamp(42px, 12.4vw, 60px); }
  .stories-library-intro > p:last-child { margin-top: 21px; font-size: 15px; }
  .stories-library-controls { width: calc(100% - 36px); margin-top: 38px; }
  .stories-filters { grid-template-columns: 1fr; gap: 11px; width: min(100%, 360px); }
  .stories-grid { grid-template-columns: 1fr; gap: 24px; width: calc(100% - 36px); padding-bottom: 34px; }
  .story-card-copy { padding-top: 12px; }
  .story-card strong { font-size: 17px; }
}


/* Erfolgsgeschichten-Detailseiten */
.case-detail-page { background: #f8f7f4; }
.case-detail { overflow: hidden; }
.case-detail-sticky-back { position: fixed; z-index: 35; bottom: max(20px, env(safe-area-inset-bottom)); left: max(20px, env(safe-area-inset-left)); display: grid; width: 52px; min-width: 52px; height: 48px; place-items: center; padding: 0 0 3px; border: 1px solid rgba(31,31,31,.08); border-radius: 999px; color: #303030; background: var(--accent); box-shadow: 0 12px 30px rgba(0,0,0,.2); font-size: 30px; font-weight: 400; letter-spacing: -.08em; line-height: 1; transition: background .2s ease, color .2s ease, transform .2s ease; }
.case-detail-sticky-back:hover, .case-detail-sticky-back:focus-visible { color: #fff; background: var(--ink); transform: translateY(-2px); }
.case-detail-sticky-back:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.case-detail-hero { width: min(1320px, calc(100% - 40px)); margin: 0 auto; padding: clamp(42px, 7vw, 92px) 0 clamp(74px, 10vw, 142px); }
.case-detail-back { display: inline-flex; align-items: center; gap: 9px; min-height: 34px; margin: 0 0 clamp(24px, 4vw, 46px); color: #545454; font-size: 11px; font-weight: 700; letter-spacing: -.03em; transition: color .2s ease, transform .2s ease; }
.case-detail-back span { color: #9b7507; font-size: 18px; line-height: 1; }
.case-detail-back:hover, .case-detail-back:focus-visible { color: var(--ink); transform: translateX(-2px); }
.case-detail-media { margin: 0; padding: clamp(7px, .8vw, 12px); overflow: hidden; border: 1px solid rgba(31,31,31,.08); border-radius: clamp(20px, 2.2vw, 34px); background: #fff; box-shadow: 0 18px 48px rgba(0,0,0,.09); }
.case-detail-media img { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: clamp(14px, 1.55vw, 24px); object-fit: cover; }
.case-detail-media .case-detail-video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: clamp(14px, 1.55vw, 24px); background: #0a0a0a; }
.case-detail--podcast .case-detail-media img { height: min(500px, 62vw); object-fit: contain; background: #e9e9e5; }
.case-detail--showcase .case-detail-hero { padding-top: clamp(20px, 3vw, 36px); }
.case-detail--showcase .case-detail-media { position: relative; }
.case-detail--full-header .case-detail-hero { height: 500px; padding: 0; }
.case-detail--full-header .case-detail-media { height: 100%; padding: 0; border: 0; }
.case-detail--full-header .case-detail-media img,
.case-detail--full-header .case-detail-media .case-detail-video { height: 100%; aspect-ratio: auto; border-radius: clamp(20px, 2.2vw, 34px); object-position: center; }
.case-detail--meier-bunge-landtechnik .case-detail-media img { object-position: center top; }
.case-detail--bertels-bloemer-social-media-podcast .case-detail-media img { object-position: center top; }
.case-detail--baudirekt-social-media-recruiting .case-detail-media img { object-position: center 60%; }
.case-detail--gerwing-steinwerke-social-media-recruiting-video .case-detail-media img { object-position: center 16%; }
.case-detail--wbg-pooling-runden-group .case-detail-media img { object-fit: cover; object-position: center 25%; }
.case-detail--compact-hero .case-detail-hero { width: min(1060px, calc(100% - 64px)); padding-top: clamp(18px, 2.4vw, 30px); padding-bottom: clamp(58px, 8vw, 104px); }
.case-detail--small-hero .case-detail-hero { width: min(820px, calc(100% - 64px)); padding-top: clamp(18px, 2.2vw, 28px); padding-bottom: clamp(54px, 7vw, 92px); }
.case-detail-showcase-overlay { position: absolute; inset: clamp(7px, .8vw, 12px); display: flex; align-items: flex-end; justify-content: center; padding: clamp(30px, 7vw, 106px) clamp(22px, 5vw, 76px); border-radius: clamp(14px, 1.55vw, 24px); background: linear-gradient(180deg, rgba(0,0,0,.06) 20%, rgba(0,0,0,.24) 52%, rgba(0,0,0,.76) 100%); pointer-events: none; text-align: center; }
.case-detail-showcase-overlay h1 { max-width: 100%; margin: 0; color: #fff; font-size: clamp(54px, 9vw, 142px); font-weight: 600; line-height: .88; letter-spacing: -.1em; text-wrap: balance; text-shadow: 0 5px 24px rgba(0,0,0,.28); }
.case-detail-intro { width: min(760px, 100%); margin: clamp(40px, 6vw, 76px) auto 0; text-align: center; }
.case-detail-eyebrow, .case-detail-section-label { margin: 0 0 13px; color: #9b7507; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.case-detail-intro h1, .case-detail-story h2, .case-detail-faq h2, .case-detail-featured h2 { margin: 0; color: var(--ink); font-weight: 600; letter-spacing: -.08em; }
.case-detail-intro h1 { font-size: clamp(46px, 7vw, 100px); line-height: .93; }
.case-detail-intro > p:last-child { max-width: 620px; margin: 23px auto 0; color: #555; font-size: clamp(15px, 1.5vw, 20px); line-height: 1.5; letter-spacing: -.04em; }
.case-detail-story { padding: clamp(70px, 10vw, 142px) 20px; background: #fff; }
.case-detail-story-copy { width: min(740px, 100%); margin: 0 auto; }
.case-detail-story h2, .case-detail-faq h2, .case-detail-featured h2 { font-size: clamp(37px, 5vw, 70px); line-height: .97; }
.case-detail-case-title { margin: 0 0 12px; color: var(--ink); font-size: clamp(25px, 3.1vw, 42px); font-weight: 600; line-height: .98; letter-spacing: -.07em; }
.case-detail-story-copy > p:not(.case-detail-section-label) { margin: 24px 0 0; color: #565656; font-size: clamp(15px, 1.35vw, 18px); line-height: 1.65; letter-spacing: -.035em; }
.case-detail-story-copy > .case-detail-case-title { margin: 0 0 12px; color: var(--ink); }
.case-detail-story-copy > .case-detail-story-paragraph { color: #565656; }
.case-detail-story-subheading { display: block; margin-bottom: 7px; color: var(--ink); font-weight: 700; }
.case-detail-stats { margin: 34px 0 0; overflow-x: auto; border-top: 4px solid var(--accent); background: #f4f3f0; }
.case-detail-stats table { width: 100%; min-width: 560px; border-collapse: collapse; color: var(--ink); font-size: clamp(12px, 1.08vw, 15px); letter-spacing: -.03em; }
.case-detail-stats th, .case-detail-stats td { padding: 16px 18px; border-bottom: 1px solid rgba(31,31,31,.12); text-align: left; }
.case-detail-stats th { color: #696969; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.case-detail-stats td { font-weight: 600; }
.case-detail-stats td:first-child { font-weight: 700; }
.case-detail-stats td:last-child { color: #8f6a00; }
.case-detail-stats tbody tr:last-child td { border-bottom: 0; }
.case-detail-external { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; margin-top: 34px; padding: 0 16px; border: 1px solid rgba(31,31,31,.4); border-radius: 999px; color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: -.02em; transition: color .2s ease, background .2s ease, transform .2s ease; }
.case-detail-external span { color: #9b7507; font-size: 18px; line-height: 1; }
.case-detail-external:hover, .case-detail-external:focus-visible { background: var(--accent); border-color: var(--accent); transform: translateY(-2px); }
.case-detail-faq { display: grid; grid-template-columns: minmax(220px, .82fr) minmax(0, 1.18fr); gap: clamp(36px, 9vw, 150px); padding: clamp(72px, 10vw, 142px) max(20px, calc((100% - 1120px) / 2)); background: #f0efec; }
.case-detail-faq-list { border-top: 1px solid rgba(31,31,31,.2); }
.case-detail-faq-list details { border-bottom: 1px solid rgba(31,31,31,.2); }
.case-detail-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 21px 0; color: var(--ink); cursor: pointer; font-size: clamp(14px, 1.25vw, 17px); font-weight: 600; letter-spacing: -.04em; list-style: none; }
.case-detail-faq-list summary::-webkit-details-marker { display: none; }
.case-detail-faq-list summary::after { flex: 0 0 auto; color: #9b7507; content: "+"; font-size: 25px; font-weight: 400; line-height: 1; }
.case-detail-faq-list details[open] summary::after { content: "−"; }
.case-detail-faq-list details p { max-width: 600px; margin: -4px 36px 22px 0; color: #5c5c5c; font-size: 14px; line-height: 1.58; letter-spacing: -.025em; }
.case-detail-faq-link, .faq-page-source { display: inline-flex; align-items: center; gap: 7px; margin-top: 23px; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: -.03em; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.case-detail-faq-link span, .faq-page-source span { color: #9b7507; font-size: 17px; line-height: 1; text-decoration: none; }
.case-detail-faq-link:hover, .case-detail-faq-link:focus-visible, .faq-page-source:hover, .faq-page-source:focus-visible { color: #9b7507; }
.faq-page { background: #fff; }
.faq-page-main { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: clamp(78px, 11vw, 156px) 0 clamp(94px, 12vw, 166px); }
.faq-page-intro { max-width: 790px; margin-bottom: clamp(64px, 10vw, 132px); }
.faq-page-intro h1, .faq-page-group h2 { margin: 0; color: var(--ink); font-weight: 600; letter-spacing: -.08em; }
.faq-page-intro h1 { max-width: 700px; font-size: clamp(48px, 7vw, 100px); line-height: .92; }
.faq-page-intro > p:last-child { max-width: 620px; margin: 24px 0 0; color: #5b5b5b; font-size: clamp(16px, 1.65vw, 21px); line-height: 1.55; letter-spacing: -.04em; }
.faq-page-groups { display: grid; gap: clamp(76px, 11vw, 154px); }
.faq-page-group { display: grid; grid-template-columns: minmax(220px, .82fr) minmax(0, 1.18fr); gap: clamp(36px, 9vw, 150px); }
.faq-page-group-intro h2 { font-size: clamp(34px, 4.2vw, 60px); line-height: .98; }
.faq-page-group-intro > p:not(.case-detail-section-label) { margin: 18px 0 0; color: #606060; font-size: 14px; line-height: 1.58; letter-spacing: -.025em; }
.faq-page-list { border-top: 1px solid rgba(31,31,31,.2); }
.faq-page-list details { border-bottom: 1px solid rgba(31,31,31,.2); }
.faq-page-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; color: var(--ink); cursor: pointer; font-size: clamp(15px, 1.3vw, 18px); font-weight: 600; letter-spacing: -.045em; list-style: none; }
.faq-page-list summary::-webkit-details-marker { display: none; }
.faq-page-list summary::after { flex: 0 0 auto; color: #9b7507; content: "+"; font-size: 25px; font-weight: 400; line-height: 1; }
.faq-page-list details[open] summary::after { content: "−"; }
.faq-page-list details p { max-width: 680px; margin: -4px 42px 24px 0; color: #5c5c5c; font-size: 15px; line-height: 1.63; letter-spacing: -.025em; }
.case-detail-featured { padding: clamp(72px, 10vw, 142px) max(20px, calc((100% - 1280px) / 2)); background: #fff; }
.case-detail-featured-intro { max-width: 620px; margin-bottom: clamp(34px, 5vw, 62px); }
.case-detail-featured-intro > p:last-child { max-width: 430px; margin: 20px 0 0; color: #686868; font-size: clamp(14px, 1.2vw, 16px); line-height: 1.55; letter-spacing: -.03em; }
.case-detail-featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.featured-placeholder-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.featured-placeholder-card { display: grid; gap: 13px; min-width: 0; }
.featured-placeholder-media { display: grid; aspect-ratio: 16 / 9; overflow: hidden; place-items: center; border: 1px dashed rgba(31,31,31,.2); border-radius: clamp(14px, 1.5vw, 20px); color: #8a8a8a; background: linear-gradient(135deg, #f5f4f1 0%, #ecebe7 100%); font-size: 9px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.featured-placeholder-media span { padding: 7px 10px; border: 1px solid rgba(31,31,31,.16); border-radius: 999px; background: rgba(255,255,255,.58); }
.featured-placeholder-copy { color: #929292; font-size: clamp(14px, 1.25vw, 18px); font-weight: 600; line-height: 1.15; letter-spacing: -.05em; }
.featured-case-card { min-width: 0; color: var(--ink); transition: transform .25s ease; }
.featured-case-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: clamp(14px, 1.5vw, 20px); background: #ecece9; box-shadow: 0 8px 22px rgba(0,0,0,.08); }
.featured-case-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.75,.2,1); }
.featured-case-card.is-podcast .featured-case-media img { object-fit: contain; background: #ecece9; }
.featured-case-media span { position: absolute; right: 9px; bottom: 9px; padding: 6px 8px; border-radius: 7px; color: #fff; background: rgba(0,0,0,.75); font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.featured-case-copy { display: grid; gap: 6px; padding: 13px 2px 0; }
.featured-case-copy strong { color: var(--ink); font-size: clamp(15px, 1.35vw, 20px); font-weight: 600; line-height: 1.15; letter-spacing: -.055em; }
.featured-case-copy span { color: #777; font-size: 10px; line-height: 1.35; letter-spacing: -.02em; }
.featured-case-card:hover, .featured-case-card:focus-visible { transform: translateY(-4px); }
.featured-case-card:hover .featured-case-media img, .featured-case-card:focus-visible .featured-case-media img { transform: scale(1.045); }
.featured-case-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }

@media (max-width: 800px) {
  .case-detail-sticky-back { bottom: max(14px, env(safe-area-inset-bottom)); left: max(14px, env(safe-area-inset-left)); width: 48px; min-width: 48px; height: 44px; font-size: 28px; }
  .case-detail-hero { width: min(100% - 32px, 720px); padding-top: 32px; }
  .case-detail--showcase .case-detail-hero { padding-top: 18px; }
  .case-detail--full-header .case-detail-hero { height: min(500px, 68vw); }
  .case-detail--full-header .case-detail-media { height: 100%; }
  .case-detail--compact-hero .case-detail-hero { width: min(100% - 32px, 600px); padding-top: 16px; padding-bottom: 60px; }
  .case-detail--small-hero .case-detail-hero { width: min(100% - 32px, 500px); padding-top: 16px; padding-bottom: 54px; }
  .case-detail-showcase-overlay { padding: 24px 18px 34px; }
  .case-detail-showcase-overlay h1 { font-size: clamp(44px, 13vw, 74px); }
  .case-detail-intro { margin-top: 36px; }
  .case-detail-intro h1 { font-size: clamp(44px, 12vw, 66px); }
  .case-detail-story { padding-right: 20px; padding-left: 20px; }
  .case-detail-faq { grid-template-columns: 1fr; gap: 34px; padding: 72px 20px; }
  .faq-page-main { width: min(100% - 40px, 720px); padding-top: 76px; }
  .faq-page-group { grid-template-columns: 1fr; gap: 34px; }
  .case-detail-featured { padding: 72px 20px; }
  .case-detail-featured-grid { grid-template-columns: 1fr; gap: 28px; }
  .featured-placeholder-grid { grid-template-columns: 1fr; gap: 20px; }
  .featured-case-card { width: min(100%, 520px); }
}


/* Leistungs-Landingpages */
.service-landing-page { background: #fff; }
.service-landing-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 1fr auto;
  min-height: calc(100svh - var(--header-height) - 16px);
  margin: 8px;
  padding: clamp(28px, 4.8vw, 78px);
  overflow: hidden;
  border: 8px solid #fff;
  border-radius: clamp(22px, 2.5vw, 38px);
  color: #fff;
  background: #1c1c1c;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .08);
}
.service-landing-image,
.service-landing-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.service-landing-image { z-index: -2; object-fit: cover; object-position: center; }
.service-landing-overlay {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .67) 0%, rgba(0, 0, 0, .37) 46%, rgba(0, 0, 0, .08) 78%),
    linear-gradient(0deg, rgba(0, 0, 0, .68) 0%, rgba(0, 0, 0, .06) 58%);
}
.service-landing-copy { grid-column: 1; grid-row: 2; max-width: min(700px, 100%); }
.service-landing-eyebrow { margin: 0 0 14px; color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.service-landing-copy h1 {
  position: static;
  width: auto;
  height: auto;
  max-width: none;
  margin: 0;
  overflow: visible;
  color: #fff;
  font-size: clamp(54px, 7vw, 118px);
  font-weight: 600;
  line-height: .89;
  letter-spacing: -.095em;
  white-space: normal;
  text-wrap: balance;
  text-shadow: 0 4px 28px rgba(0, 0, 0, .25);
}
.service-landing-copy > p:last-child { max-width: 440px; margin: 20px 0 0; color: rgba(255, 255, 255, .92); font-size: clamp(15px, 1.35vw, 19px); line-height: 1.45; letter-spacing: -.04em; }
.service-landing-actions { display: flex; grid-column: 2; grid-row: 2; align-self: end; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding-left: 24px; }
.service-landing-cta { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 18px; border: 1px solid transparent; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: -.025em; transition: transform .22s ease, color .22s ease, background .22s ease, border-color .22s ease; }
.service-landing-cta-primary { color: var(--ink); background: var(--accent); border-color: var(--accent); }
.service-landing-cta-secondary { color: #fff; background: rgba(0, 0, 0, .1); border-color: rgba(255, 255, 255, .7); backdrop-filter: blur(8px); }
.service-landing-cta:hover, .service-landing-cta:focus-visible { transform: translateY(-2px); }
.service-landing-cta-primary:hover, .service-landing-cta-primary:focus-visible { color: var(--ink); background: #ffe37d; border-color: #ffe37d; }
.service-landing-cta-secondary:hover, .service-landing-cta-secondary:focus-visible { color: var(--ink); background: #fff; border-color: #fff; }
.service-landing--video .service-landing-image { object-position: 42% center; }

@media (max-width: 760px) {
  .service-landing-hero {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto auto;
    min-height: calc(100svh - var(--header-height) - 12px);
    margin: 6px;
    padding: 28px 24px;
    border-width: 6px;
    border-radius: 20px;
  }
  .service-landing-overlay { background: linear-gradient(180deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .79) 74%); }
  .service-landing-copy { grid-column: 1; grid-row: 2; }
  .service-landing-copy h1 { font-size: clamp(49px, 14vw, 74px); }
  .service-landing-copy > p:last-child { margin-top: 16px; font-size: 15px; }
  .service-landing-actions { grid-column: 1; grid-row: 3; justify-content: flex-start; padding: 23px 0 0; }
  .service-landing-cta { min-height: 42px; padding: 0 16px; }
}
/* Einheitliche Leistungsseiten: Inhaltsabschnitte */
.service-landing-page { --ink: #1f1f1f; --accent: #f7cf4c; }
.service-landing-page main { overflow: clip; }
.service-section-label {
  margin: 0 0 14px;
  color: #8d6900;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.service-section-intro {
  width: min(100% - 48px, 1260px);
  margin: 0 auto;
}
.service-section-intro h2 {
  max-width: 760px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(36px, 5vw, 76px);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.08em;
  text-wrap: balance;
}
.service-section-intro > p:last-child {
  max-width: 620px;
  margin: 22px auto 0;
  color: #5e5e5e;
  font-size: clamp(15px, 1.4vw, 19px);
  line-height: 1.55;
  letter-spacing: -.035em;
}
.service-section-intro--centered { text-align: center; }
.service-section-intro--centered h2 { margin-right: auto; margin-left: auto; }
.service-section-intro--rail {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 36px;
}
.service-section-intro--rail > p:last-child {
  max-width: 260px;
  margin: 0 0 7px;
  color: #777;
  font-size: 12px;
  text-align: right;
}

.service-about {
  padding: clamp(84px, 11vw, 172px) 0 clamp(92px, 11vw, 166px);
  background: #f8f7f4;
}
@media (min-width: 761px) {
  .service-lead-stack--overlay { position: relative; }
  .service-lead-stack--overlay .service-landing-hero { position: sticky; z-index: 0; top: 0; }
  .service-lead-stack--overlay .service-about {
    position: relative;
    z-index: 1;
    box-shadow: 0 -16px 46px rgba(31, 31, 31, .11);
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 761px) {
  .service-lead-stack--overlay .service-landing-hero { position: relative; }
}
.service-about-video {
  position: relative;
  display: grid;
  width: min(100% - 48px, 1160px);
  min-height: clamp(250px, 31vw, 430px);
  margin: clamp(48px, 7vw, 92px) auto 0;
  padding: 32px;
  overflow: hidden;
  place-content: center;
  border: 1px solid rgba(31, 31, 31, .1);
  border-radius: clamp(24px, 3.1vw, 42px);
  color: var(--ink);
  background:
    radial-gradient(circle at 17% 22%, rgba(247, 207, 76, .72) 0 0, rgba(247, 207, 76, .18) 18%, transparent 37%),
    radial-gradient(circle at 82% 72%, rgba(31, 31, 31, .11) 0 0, transparent 34%),
    #f2f0eb;
  text-align: center;
}
.service-about-video::before,
.service-about-video::after {
  position: absolute;
  display: block;
  width: clamp(118px, 17vw, 240px);
  aspect-ratio: 1.45;
  border: 1px solid rgba(31, 31, 31, .07);
  border-radius: clamp(14px, 2vw, 24px);
  background: rgba(255, 255, 255, .48);
  content: "";
}
.service-about-video::before { top: -6%; left: 7%; transform: rotate(-9deg); }
.service-about-video::after { right: 8%; bottom: -8%; transform: rotate(10deg); }
.service-about-video-mark {
  display: block;
  width: 16px;
  height: 16px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 10px rgba(247, 207, 76, .2);
}
.service-about-video p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(25px, 3.3vw, 46px);
  font-weight: 600;
  letter-spacing: -.075em;
}
.service-about-video > span:last-child {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  color: #666;
  font-size: 13px;
}
.service-about-video--linked {
  color: #fff;
  background: #1f1f1f;
  transition: transform .25s ease, background .25s ease;
}
.service-about-video--linked::before,
.service-about-video--linked::after { background: rgba(255, 255, 255, .1); }
.service-about-video--linked:hover,
.service-about-video--linked:focus-visible { transform: scale(1.01); background: #090909; }
.service-about-video--embed {
  display: block;
  min-height: 0;
  padding: 0;
  aspect-ratio: 16 / 9;
  background: #101010;
}
.service-about-video--embed::before,
.service-about-video--embed::after { display: none; }
.service-about-video--embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.service-about-video--autoplay {
  width: min(100% - 48px, 1360px);
  margin-top: clamp(48px, 7vw, 86px);
  border: 6px solid #fff;
  box-shadow: 0 18px 54px rgba(31, 31, 31, .13);
}
.service-film-sound {
  position: absolute;
  z-index: 2;
  top: 20px;
  right: 20px;
  display: grid;
  width: 48px;
  height: 48px;
  padding: 0;
  place-content: center;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  color: #fff;
  background: rgba(17, 17, 17, .6);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .22);
  backdrop-filter: blur(10px);
  cursor: pointer;
  transition: transform .2s ease, color .2s ease, background .2s ease;
}
.service-film-sound svg { width: 21px; height: 21px; }
.service-film-sound svg[hidden] { display: none !important; }
.service-film-sound:hover,
.service-film-sound:focus-visible { color: var(--ink); background: var(--accent); transform: scale(1.06); }
.service-about-video-play {
  position: relative;
  z-index: 1;
  display: grid;
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  padding-left: 3px;
  place-content: center;
  border-radius: 50%;
  color: var(--ink);
  background: var(--accent);
  font-size: 17px;
}
.service-about-video-label { position: relative; z-index: 1; font-size: 14px; font-weight: 700; }

.service-usps { padding: clamp(88px, 11vw, 168px) 0; background: #fff; }
.service-usps-stage {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  width: min(100% - 48px, 1260px);
  min-height: min(56vw, 690px);
  margin: clamp(46px, 6vw, 82px) auto 0;
  overflow: hidden;
  border-radius: clamp(26px, 3vw, 42px);
  background: #f8f7f4;
}
.service-usps-list { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 4.5vw, 74px); }
.service-usp { border-bottom: 1px solid rgba(31, 31, 31, .13); }
.service-usp:first-child { border-top: 1px solid rgba(31, 31, 31, .13); }
.service-usp summary {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 10px;
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
}
.service-usp summary::-webkit-details-marker { display: none; }
.service-usp summary > span { color: #8a8a8a; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.service-usp summary strong { font-size: clamp(16px, 1.65vw, 22px); font-weight: 600; letter-spacing: -.055em; }
.service-usp summary i { color: var(--ink); font-family: inherit; font-size: 25px; font-style: normal; font-weight: 300; line-height: 1; text-align: right; transition: transform .22s ease; }
.service-usp[open] summary i { transform: rotate(45deg); color: #896800; }
.service-usp > p { max-width: 385px; margin: -4px 32px 22px 46px; color: #575757; font-size: 13px; line-height: 1.55; letter-spacing: -.025em; }
.service-usps-visual { position: relative; min-height: 100%; margin: 0; overflow: hidden; background: #222; }
.service-usps-visual::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(245,245,247,.16), transparent 45%), linear-gradient(0deg, rgba(0,0,0,.18), transparent 45%); content: ""; pointer-events: none; }
.service-usps-visual img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center; }
.service-landing--video .service-usps-visual img { object-position: 56% center; }

.service-subservices { padding: clamp(86px, 10vw, 154px) 0; background: #f8f7f4; }
.service-horizontal-rail {
  display: flex;
  width: 100%;
  gap: 16px;
  margin-top: clamp(42px, 5.2vw, 72px);
  padding: 2px max(24px, calc((100vw - 1260px) / 2)) 18px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: max(24px, calc((100vw - 1260px) / 2));
  scroll-snap-type: x mandatory;
  scrollbar-color: rgba(31,31,31,.35) transparent;
  scrollbar-width: thin;
}
.service-horizontal-rail:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.service-subservice-card {
  display: flex;
  flex: 0 0 clamp(250px, 24vw, 330px);
  min-height: 330px;
  flex-direction: column;
  padding: 28px;
  scroll-snap-align: start;
  border-radius: 24px;
  color: var(--ink);
  background: #fff;
}
.service-subservice-index { color: #8b8b8b; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.service-subservice-card h3 { margin: auto 0 12px; font-size: clamp(24px, 2.3vw, 34px); font-weight: 600; line-height: .98; letter-spacing: -.07em; }
.service-subservice-card p { margin: 0; color: #606060; font-size: 13px; line-height: 1.52; letter-spacing: -.025em; }
.service-subservice-card::after { display: grid; width: 30px; height: 30px; margin: 26px 0 0 auto; place-content: center; border-radius: 50%; color: #fff; background: var(--ink); content: "+"; font-size: 18px; line-height: 1; }

.service-featured { padding: clamp(88px, 11vw, 170px) 0; background: #fff; }
.service-featured .service-section-intro > p:last-child { max-width: 500px; }
.service-horizontal-rail--featured { margin-top: clamp(42px, 5.2vw, 68px); }
.service-featured-placeholder {
  display: flex;
  flex: 0 0 clamp(250px, 24vw, 330px);
  min-height: 360px;
  flex-direction: column;
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid rgba(31, 31, 31, .08);
  border-radius: 24px;
  background: #f8f7f4;
}
.service-featured-placeholder-visual {
  position: relative;
  display: grid;
  min-height: 214px;
  overflow: hidden;
  place-content: center;
  color: rgba(31, 31, 31, .58);
  background:
    radial-gradient(circle at 70% 22%, rgba(247,207,76,.8) 0 0, rgba(247,207,76,.3) 12%, transparent 32%),
    linear-gradient(135deg, #e3e3e6, #f8f8f8 50%, #e5e5e8);
}
.service-featured-placeholder-visual::before { position: absolute; inset: 17% 15%; border: 1px solid rgba(31,31,31,.12); border-radius: 17px; content: ""; }
.service-featured-placeholder-visual span { position: relative; z-index: 1; padding: 8px 12px; border: 1px solid rgba(31,31,31,.13); border-radius: 999px; background: rgba(255,255,255,.52); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.service-featured-placeholder-copy { display: flex; flex: 1; flex-direction: column; justify-content: end; padding: 22px 24px 25px; }
.service-featured-placeholder-copy strong { font-size: 17px; font-weight: 600; letter-spacing: -.055em; }
.service-featured-placeholder-copy span { margin-top: 7px; color: #747474; font-size: 12px; }
.service-featured-case { display: flex; flex: 0 0 clamp(250px, 24vw, 330px); min-height: 360px; flex-direction: column; overflow: hidden; scroll-snap-align: start; border: 1px solid rgba(31,31,31,.08); border-radius: 24px; color: var(--ink); background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.05); transition: transform .25s ease, box-shadow .25s ease; }
.service-featured-case-media { position: relative; display: block; min-height: 214px; overflow: hidden; background: #ecece9; }
.service-featured-case-media img { display: block; width: 100%; height: 100%; min-height: 214px; object-fit: cover; transition: transform .45s cubic-bezier(.2,.75,.2,1); }
.service-featured-case.is-podcast .service-featured-case-media img { object-fit: contain; background: #ecece9; }
.service-featured-case-media > span { position: absolute; right: 10px; bottom: 10px; padding: 6px 8px; border-radius: 7px; color: #fff; background: rgba(0,0,0,.75); font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.service-featured-case-copy { display: flex; flex: 1; flex-direction: column; justify-content: end; padding: 22px 24px 25px; }
.service-featured-case-copy strong { font-size: 17px; font-weight: 600; letter-spacing: -.055em; }
.service-featured-case-copy span { margin-top: 7px; color: #747474; font-size: 12px; }
.service-featured-case:hover, .service-featured-case:focus-visible { box-shadow: 0 14px 30px rgba(0,0,0,.11); transform: translateY(-4px); }
.service-featured-case:hover .service-featured-case-media img, .service-featured-case:focus-visible .service-featured-case-media img { transform: scale(1.045); }
.service-featured-case:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.service-featured-all {
  display: flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: clamp(38px, 5vw, 64px) auto 0;
  padding: 0 20px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -.025em;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.service-featured-all:hover, .service-featured-all:focus-visible { transform: translateY(-2px); background: var(--accent); border-color: var(--accent); }

@media (max-width: 760px) {
  .service-section-intro { width: min(100% - 40px, 620px); }
  .service-section-intro h2 { font-size: clamp(36px, 10.5vw, 58px); }
  .service-section-intro > p:last-child { font-size: 15px; }
  .service-section-intro--rail { align-items: start; flex-direction: column; gap: 16px; }
  .service-section-intro--rail > p:last-child { margin: 0; text-align: left; }
  .service-about { padding: 80px 0 92px; }
  .service-about-video { width: min(100% - 40px, 620px); min-height: 245px; margin-top: 42px; border-radius: 25px; }
  .service-about-video--autoplay { min-height: 0; border-width: 4px; }
  .service-film-sound { top: 14px; right: 14px; width: 44px; height: 44px; }
  .service-usps { padding: 82px 0; }
  .service-usps-stage { grid-template-columns: 1fr; width: min(100% - 40px, 620px); min-height: 0; margin-top: 42px; }
  .service-usps-list { padding: 24px; }
  .service-usp summary { grid-template-columns: 30px minmax(0, 1fr) 20px; padding: 19px 0; }
  .service-usp > p { margin-left: 30px; }
  .service-usps-visual { min-height: 310px; }
  .service-subservices, .service-featured { padding: 82px 0; }
  .service-horizontal-rail { gap: 12px; margin-top: 38px; padding-right: 20px; padding-left: 20px; scroll-padding-inline: 20px; }
  .service-subservice-card { flex-basis: min(78vw, 310px); min-height: 298px; padding: 24px; border-radius: 20px; }
  .service-featured-placeholder { flex-basis: min(78vw, 310px); min-height: 334px; border-radius: 20px; }
  .service-featured-case { flex-basis: min(78vw, 310px); min-height: 334px; border-radius: 20px; }
}


/* Podcast-Archive */
.podcast-archive-page,
.podcasts-directory-page {
  --ink: #1f1f1f;
  --accent: #f7cf4c;
  background: #fff;
}
.podcast-archive-hero {
  display: grid;
  min-height: calc(100svh - var(--header-height));
  align-items: center;
  padding: clamp(40px, 5vw, 72px) 0;
  background: #f8f7f4;
}
.podcast-archive-hero-inner {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(30px, 5vw, 74px);
  width: min(100% - 48px, 1160px);
  margin: 0 auto;
}
.podcast-archive-cover {
  width: min(100%, 420px);
  margin: 0;
  overflow: hidden;
  border: 7px solid #fff;
  border-radius: clamp(26px, 3vw, 42px);
  background: #e9e8e4;
  box-shadow: 0 18px 50px rgba(31, 31, 31, .1);
}
.podcast-archive-cover img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
.podcast-archive-eyebrow {
  margin: 0 0 14px;
  color: #8d6900;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.podcast-archive-intro h1,
.podcast-episodes-intro h2,
.podcasts-directory-hero h1 {
  margin: 0;
  color: var(--ink);
  font-weight: 600;
  letter-spacing: -.08em;
}
.podcast-archive-intro h1 { position: static; width: auto; height: auto; max-width: 780px; overflow: visible; font-size: clamp(42px, 5vw, 72px); line-height: .94; text-wrap: balance; white-space: normal; }
.podcast-archive-author { margin: 18px 0 0; color: var(--ink); font-size: clamp(15px, 1.5vw, 20px); font-weight: 600; letter-spacing: -.045em; }
.podcast-archive-summary { max-width: 690px; margin: 21px 0 0; color: #5d5d5d; font-size: clamp(15px, 1.35vw, 18px); line-height: 1.6; letter-spacing: -.035em; }
.podcast-archive-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 29px; }
.podcast-spotify-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -.025em;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.podcast-spotify-link { padding: 0 18px; }
.podcast-spotify-link:hover,
.podcast-spotify-link:focus-visible { border-color: var(--accent); background: var(--accent); color: var(--ink); transform: translateY(-2px); }
.podcast-episode-count { color: #6a6a6a; font-size: 12px; font-weight: 600; letter-spacing: -.025em; }
.podcast-episodes { padding: clamp(76px, 10vw, 152px) max(24px, calc((100% - 1160px) / 2)); background: #fff; }
.podcast-episodes-intro { max-width: 710px; margin-bottom: clamp(37px, 5vw, 64px); }
.podcast-episodes-intro h2 { max-width: 660px; font-size: clamp(38px, 5vw, 72px); line-height: .96; }
.podcast-episodes-intro > p:last-child { max-width: 520px; margin: 20px 0 0; color: #676767; font-size: clamp(14px, 1.15vw, 16px); line-height: 1.55; letter-spacing: -.025em; }
.podcast-episode-grid { display: grid; grid-template-columns: 1fr; gap: 9px; }
.podcast-episode-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(184px, 246px);
  align-items: center;
  gap: clamp(10px, 1.45vw, 20px);
  min-width: 0;
  min-height: 78px;
  padding: 10px 15px;
  border: 1px solid rgba(31, 31, 31, .11);
  border-radius: 17px;
  color: var(--ink);
  background: #f8f7f4;
}
.podcast-episode-card.is-current {
  border-color: var(--accent);
  background: var(--accent);
}
.podcast-episode-toggle { display: grid; grid-template-columns: 58px minmax(210px, 1fr) auto; align-items: center; gap: clamp(10px, 1.45vw, 20px); min-width: 0; padding: 0; border: 0; border-radius: 12px; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.podcast-episode-toggle:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.podcast-episode-cover { display: block; width: 58px; height: 58px; padding: 3px; border-radius: 11px; background: #fff; object-fit: contain; }
.podcast-episode-title { min-width: 0; }
.podcast-episode-title-text { display: block; overflow: hidden; color: var(--ink); font-size: clamp(14px, 1.35vw, 18px); font-weight: 600; line-height: 1.15; letter-spacing: -.045em; text-overflow: ellipsis; white-space: nowrap; }
.podcast-episode-toggle-hint { display: block; margin-top: 4px; color: #8d6900; font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.podcast-episode-meta { display: flex; align-items: center; gap: 7px; color: #686868; font-size: 10px; font-weight: 700; letter-spacing: .045em; white-space: nowrap; }
.podcast-episode-card.is-current .podcast-episode-meta { color: rgba(31, 31, 31, .72); }
.podcast-episode-status { display: inline-flex; min-height: 22px; align-items: center; padding: 0 7px; border: 1px solid rgba(31,31,31,.28); border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.36); font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.podcast-episode-actions { min-width: 0; }
.podcast-episode-actions audio { display: block; width: 100%; min-width: 0; height: 34px; }
.podcast-episode-description { grid-column: 1 / -1; max-width: 780px; padding: 2px 6px 5px 68px; color: #606060; font-size: 13px; line-height: 1.6; letter-spacing: -.025em; }
.podcast-episode-description p { margin: 0; }
.podcast-episode-card.is-current .podcast-episode-description { color: rgba(31,31,31,.8); }
.podcasts-directory-main { padding-bottom: clamp(78px, 10vw, 150px); background: #fff; }
.podcasts-directory-hero { width: min(100% - 48px, 1160px); padding: clamp(76px, 12vw, 170px) 0 clamp(54px, 8vw, 104px); margin: 0 auto; }
.podcasts-directory-hero h1 { max-width: 710px; font-size: clamp(50px, 7vw, 104px); line-height: .9; text-wrap: balance; }
.podcasts-directory-hero > p:last-child { max-width: 600px; margin: 23px 0 0; color: #626262; font-size: clamp(16px, 1.5vw, 20px); line-height: 1.55; letter-spacing: -.04em; }
.podcasts-directory-list { width: min(100% - 48px, 1160px); margin: 0 auto; }
.podcast-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(15px, 2vw, 26px); }
.podcast-directory-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(31,31,31,.1); border-radius: 24px; color: var(--ink); background: #f8f7f4; transition: transform .22s ease, box-shadow .22s ease; }
.podcast-directory-card:hover,
.podcast-directory-card:focus-visible { color: var(--ink); box-shadow: 0 14px 34px rgba(31,31,31,.11); transform: translateY(-4px); }
.podcast-directory-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.podcast-directory-cover { display: block; overflow: hidden; background: #e8e7e3; }
.podcast-directory-cover img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; transition: transform .42s cubic-bezier(.2,.75,.2,1); }
.podcast-directory-card:hover .podcast-directory-cover img,
.podcast-directory-card:focus-visible .podcast-directory-cover img { transform: none; }
.podcast-directory-copy { display: grid; gap: 7px; padding: 21px; }
.podcast-directory-count { color: #8d6900; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.podcast-directory-copy strong { font-size: clamp(18px, 1.65vw, 24px); font-weight: 600; line-height: 1.06; letter-spacing: -.06em; }
.podcast-directory-copy > span:last-child { color: #717171; font-size: 12px; line-height: 1.4; letter-spacing: -.025em; }

@media (max-width: 760px) {
  .podcast-archive-hero { min-height: calc(100svh - var(--header-height)); padding: 24px 0 28px; }
  .podcast-archive-hero-inner { grid-template-columns: 1fr; gap: 20px; width: min(100% - 40px, 620px); }
  .podcast-archive-cover { width: min(60vw, 220px); border-width: 4px; border-radius: 22px; }
  .podcast-archive-intro h1 { font-size: clamp(36px, 10vw, 48px); }
  .podcast-archive-author { margin-top: 10px; font-size: 15px; }
  .podcast-archive-summary { margin-top: 12px; font-size: 13px; line-height: 1.45; }
  .podcast-archive-actions { margin-top: 18px; }
  .podcast-episodes { padding: 72px 20px; }
  .podcast-episodes-intro h2 { font-size: clamp(37px, 10.5vw, 57px); }
  .podcast-episode-grid { gap: 8px; }
  .podcast-episode-card,
  .podcast-episode-card.is-current { grid-template-columns: minmax(0, 1fr) 128px; gap: 8px; min-height: 64px; padding: 8px 9px; border-radius: 14px; }
  .podcast-episode-toggle { grid-template-columns: 44px minmax(0, 1fr); gap: 8px; }
  .podcast-episode-cover { width: 44px; height: 44px; border-radius: 8px; }
  .podcast-episode-title-text { font-size: 14px; }
  .podcast-episode-meta { display: none; }
  .podcast-episode-actions audio { height: 32px; }
  .podcast-episode-description { padding: 2px 1px 3px 52px; font-size: 12px; line-height: 1.55; }
  .podcasts-directory-main { padding-bottom: 76px; }
  .podcasts-directory-hero,
  .podcasts-directory-list { width: min(100% - 40px, 620px); }
  .podcasts-directory-hero { padding-top: 78px; padding-bottom: 47px; }
  .podcasts-directory-hero h1 { font-size: clamp(47px, 12vw, 69px); }
  .podcasts-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .podcast-directory-card { border-radius: 19px; }
  .podcast-directory-copy { gap: 6px; padding: 15px; }
  .podcast-directory-copy strong { font-size: 17px; }
}


/* Rechtliches und Kontakt */
.legal-page-main,
.contact-page-main { min-height: calc(100svh - var(--header-height)); padding: clamp(72px, 11vw, 158px) clamp(20px, 6vw, 96px) clamp(84px, 11vw, 164px); background: #f8f7f4; }
.legal-page-content,
.contact-page-content { width: min(100%, 1180px); margin: 0 auto; }
.legal-page-intro,
.contact-page-intro { max-width: 860px; }
.legal-page-intro h1,
.contact-page-intro h1 { position: static; width: auto; height: auto; min-height: 0; max-width: 820px; margin: 12px 0 0; overflow: visible; color: var(--ink); font-size: clamp(48px, 6.8vw, 100px); font-weight: 700; line-height: .9; letter-spacing: -.085em; text-wrap: balance; white-space: normal; }
.legal-page-intro > p:last-of-type,
.contact-page-intro > p:last-of-type { max-width: 680px; margin: 24px 0 0; color: #626262; font-size: clamp(16px, 1.55vw, 21px); line-height: 1.52; letter-spacing: -.045em; }
.legal-page-source { margin: 20px 0 0; color: #707070; font-size: 12px; line-height: 1.5; }
.legal-page-source a { color: var(--ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.legal-page-sections { display: grid; gap: 0; margin-top: clamp(58px, 8vw, 108px); border-top: 1px solid rgba(31,31,31,.16); }
.legal-page-section { display: grid; grid-template-columns: minmax(190px, .55fr) minmax(0, 1fr); gap: clamp(26px, 7vw, 120px); padding: clamp(30px, 4vw, 52px) 0; border-bottom: 1px solid rgba(31,31,31,.15); }
.legal-page-section h2 { margin: 0; color: var(--ink); font-size: clamp(18px, 1.65vw, 25px); font-weight: 600; line-height: 1.12; letter-spacing: -.06em; }
.legal-page-section p { max-width: 720px; margin: 0 0 17px; color: #535353; font-size: clamp(14px, 1.2vw, 16px); line-height: 1.65; letter-spacing: -.025em; }
.legal-page-section p:last-child { margin-bottom: 0; }
.contact-page-intro { max-width: 760px; }
.contact-page-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: clamp(18px, 3vw, 42px); align-items: start; margin-top: clamp(54px, 8vw, 102px); }
.contact-form-panel,
.contact-page-aside { border: 1px solid rgba(31,31,31,.13); border-radius: clamp(20px, 2vw, 30px); }
.contact-form-panel { padding: clamp(26px, 4vw, 50px); background: #fff; box-shadow: 0 16px 42px rgba(31,31,31,.045); }
.contact-form-panel h2,
.contact-page-aside h2 { max-width: 440px; margin: 0; font-size: clamp(28px, 3.2vw, 46px); font-weight: 600; line-height: .96; letter-spacing: -.078em; }
.contact-form-panel > p { max-width: 610px; margin: 15px 0 31px; color: #666; font-size: 14px; line-height: 1.55; letter-spacing: -.025em; }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-field { display: grid; gap: 8px; min-width: 0; color: #353535; font-size: 12px; font-weight: 700; letter-spacing: -.025em; }
.contact-field--full { grid-column: 1 / -1; }
.contact-field em { color: #8a8a8a; font-style: normal; font-weight: 500; }
.contact-field input,
.contact-field select,
.contact-field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(31,31,31,.2); border-radius: 12px; color: var(--ink); background: #fafaf9; font: inherit; font-size: 14px; font-weight: 500; letter-spacing: -.025em; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.contact-field textarea { min-height: 140px; resize: vertical; }
.contact-field select { appearance: auto; }
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus { border-color: #8f7008; background: #fff; box-shadow: 0 0 0 3px rgba(247,207,76,.38); }
.contact-consent { display: flex; align-items: flex-start; gap: 10px; margin: 25px 0 20px; color: #646464; font-size: 12px; line-height: 1.5; letter-spacing: -.02em; }
.contact-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin: 1px 0 0; accent-color: #c59e1d; }
.contact-consent a { color: var(--ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.contact-submit,
.contact-booking-link { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid transparent; border-radius: 999px; color: var(--ink); background: var(--accent); font: inherit; font-size: 11px; font-weight: 700; letter-spacing: -.025em; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.contact-submit:hover,
.contact-submit:focus-visible,
.contact-booking-link:hover,
.contact-booking-link:focus-visible { background: #ffd967; outline: none; transform: translateY(-2px); }
.contact-form-status { min-height: 1.35em; margin: 13px 0 0; color: #655100; font-size: 12px; font-weight: 600; line-height: 1.45; }
.contact-form-noscript { margin: 13px 0 0; color: #656565; font-size: 12px; line-height: 1.45; }
.contact-form-noscript a { color: var(--ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }
.contact-page-aside { min-height: 100%; padding: clamp(26px, 3.5vw, 46px); color: #fff; background: #1f1f1f; }
.contact-page-aside .case-detail-section-label { color: var(--accent); }
.contact-page-aside h2 { margin-top: 14px; color: #fff; }
.contact-page-aside > p:not(.case-detail-section-label) { max-width: 360px; margin: 19px 0 0; color: rgba(255,255,255,.73); font-size: 14px; line-height: 1.58; letter-spacing: -.025em; }
.contact-page-aside a:not(.contact-booking-link) { color: #fff; font-weight: 700; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.contact-page-aside--booking { display: flex; flex-direction: column; align-items: flex-start; }
.contact-booking-link { margin-top: auto; color: var(--ink); }
.contact-page-aside-note { color: rgba(255,255,255,.53) !important; font-size: 11px !important; }

@media (max-width: 760px) {
  .legal-page-main,
  .contact-page-main { padding: 76px 20px 82px; }
  .legal-page-intro h1,
  .contact-page-intro h1 { max-width: 100%; font-size: clamp(39px, 10.8vw, 50px); line-height: .94; letter-spacing: -.078em; }
  .legal-page-intro > p:last-of-type,
  .contact-page-intro > p:last-of-type { margin-top: 19px; font-size: 15px; }
  .legal-page-sections { margin-top: 52px; }
  .legal-page-section { grid-template-columns: 1fr; gap: 15px; padding: 28px 0; }
  .legal-page-section h2 { font-size: 20px; }
  .legal-page-section p { font-size: 14px; line-height: 1.6; }
  .contact-page-layout { grid-template-columns: 1fr; gap: 14px; margin-top: 50px; }
  .contact-form-panel,
  .contact-page-aside { border-radius: 20px; }
  .contact-form-panel { padding: 25px 19px; }
  .contact-page-aside { min-height: auto; padding: 29px 24px; }
  .contact-form-grid { grid-template-columns: 1fr; gap: 15px; }
  .contact-field--full { grid-column: auto; }
  .contact-field input,
  .contact-field select,
  .contact-field textarea { font-size: 16px; }
}

.contact-confirmation { width: min(100%, 790px); margin: 0 auto; padding: clamp(34px, 6vw, 82px); border: 1px solid rgba(31,31,31,.13); border-radius: clamp(24px, 3vw, 38px); background: #fff; text-align: center; box-shadow: 0 18px 46px rgba(31,31,31,.05); }
.contact-confirmation .case-detail-section-label { display: block; color: #8d6900; }
.contact-confirmation h1 { max-width: 660px; margin: 16px auto 0; color: var(--ink); font-size: clamp(42px, 6vw, 82px); font-weight: 700; line-height: .92; letter-spacing: -.085em; text-wrap: balance; }
.contact-confirmation > p:last-of-type { max-width: 550px; margin: 24px auto 0; color: #626262; font-size: clamp(15px, 1.45vw, 19px); line-height: 1.55; letter-spacing: -.035em; }
.contact-confirmation-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 33px; }
.contact-confirmation-secondary { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid rgba(31,31,31,.6); border-radius: 999px; color: var(--ink); background: #fff; font-size: 11px; font-weight: 700; letter-spacing: -.025em; transition: transform .2s ease, background .2s ease; }
.contact-confirmation-secondary:hover,
.contact-confirmation-secondary:focus-visible { color: var(--ink); background: #f3f1eb; outline: none; transform: translateY(-2px); }

@media (max-width: 760px) {
  .contact-confirmation { padding: 38px 22px; border-radius: 22px; }
  .contact-confirmation h1 { font-size: clamp(40px, 11vw, 60px); }
  .contact-confirmation-actions { display: grid; grid-template-columns: 1fr; }
}


/* Marketing-Budget-Rechner */
.budget-calculator { overflow: hidden; padding: clamp(14px, 2vw, 30px) clamp(14px, 2vw, 30px) clamp(90px, 11vw, 154px); color: var(--ink); background: #f8f7f4; }
.budget-calculator-shell { display: grid; width: min(100%, 1440px); grid-template-columns: minmax(0, .9fr) minmax(510px, 1.1fr); gap: clamp(22px, 3vw, 46px); align-items: center; margin: 0 auto; }
.budget-calculator-media { position: sticky; top: calc(var(--header-height) + 22px); min-width: 0; margin: 0; overflow: hidden; aspect-ratio: 3 / 2; border-radius: clamp(22px, 2.2vw, 34px); background: #e8e2d9; box-shadow: 0 20px 56px rgba(31,31,31,.11); }
.budget-calculator-media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.budget-calculator-media figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; gap: 8px; padding: clamp(19px, 2.3vw, 32px); color: #fff; background: linear-gradient(0deg, rgba(0,0,0,.67), transparent); }
.budget-calculator-media figcaption span { color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.budget-calculator-media figcaption strong { max-width: 320px; font-size: clamp(25px, 2.8vw, 43px); font-weight: 600; line-height: .97; letter-spacing: -.075em; }
.budget-calculator-workspace { min-width: 0; padding: clamp(28px, 4vw, 58px); border: 1px solid rgba(31,31,31,.12); border-radius: clamp(22px, 2.2vw, 34px); background: #fff; box-shadow: 0 20px 48px rgba(31,31,31,.055); }
.budget-calculator-intro { max-width: 690px; }
.budget-calculator-eyebrow { margin: 0; color: #8d6900; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.budget-calculator-intro h2 { max-width: 700px; margin: 12px 0 0; color: var(--ink); font-size: clamp(35px, 4.2vw, 63px); font-weight: 600; line-height: .98; letter-spacing: -.08em; text-wrap: balance; }
.budget-calculator-intro > p:last-child { max-width: 570px; margin: 18px 0 0; color: #626262; font-size: 14px; line-height: 1.52; letter-spacing: -.03em; }
.budget-calculator-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: clamp(26px, 3.4vw, 42px) 0 0; padding: 0; list-style: none; }
.budget-calculator-progress li { display: flex; min-width: 0; align-items: center; gap: 8px; color: #969696; font-size: 9px; font-weight: 700; letter-spacing: -.02em; }
.budget-calculator-progress li::after { flex: 1 1 auto; height: 1px; margin-left: 2px; background: #dedede; content: ''; }
.budget-calculator-progress li:last-child::after { display: none; }
.budget-calculator-progress span { display: grid; width: 21px; height: 21px; flex: 0 0 21px; place-items: center; border: 1px solid #cfcfcf; border-radius: 50%; font-size: 9px; font-style: normal; }
.budget-calculator-progress b { min-width: 0; overflow: hidden; font: inherit; text-overflow: ellipsis; white-space: nowrap; }
.budget-calculator-progress li.is-active, .budget-calculator-progress li.is-complete { color: var(--ink); }
.budget-calculator-progress li.is-active span { border-color: var(--accent); background: var(--accent); }
.budget-calculator-progress li.is-complete span { border-color: var(--ink); color: #fff; background: var(--ink); }
.budget-calculator-progress li.is-complete::after { background: var(--ink); }
.budget-calculator-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .75fr); gap: clamp(20px, 3vw, 38px); align-items: start; margin-top: clamp(26px, 3.4vw, 42px); }
.budget-calculator-steps { min-width: 0; }
.budget-step-count { margin: 0 0 12px; color: #8d6900; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.budget-step h3 { max-width: 510px; margin: 0; font-size: clamp(24px, 2.25vw, 35px); font-weight: 600; line-height: 1.03; letter-spacing: -.065em; }
.budget-step > p:not(.budget-step-count) { max-width: 510px; margin: 14px 0 0; color: #686868; font-size: 13px; line-height: 1.5; letter-spacing: -.025em; }
.budget-choice-grid { display: grid; gap: 9px; margin-top: 23px; }
.budget-choice-grid--models { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.budget-choice-grid--goals { grid-template-columns: 1fr; }
.budget-choice { min-height: 98px; padding: 16px; border: 1px solid rgba(31,31,31,.16); border-radius: 14px; color: var(--ink); background: #fff; text-align: left; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
.budget-choice strong, .budget-choice span { display: block; }
.budget-choice strong { font-size: 12px; font-weight: 700; line-height: 1.22; letter-spacing: -.035em; }
.budget-choice span { margin-top: 7px; color: #6b6b6b; font-size: 10px; line-height: 1.36; letter-spacing: -.02em; }
.budget-choice:hover, .budget-choice:focus-visible { border-color: #a17c06; outline: none; background: #fffdf5; box-shadow: 0 7px 18px rgba(129,97,0,.08); transform: translateY(-1px); }
.budget-choice.is-selected { border-color: var(--accent); background: #fff9df; box-shadow: inset 0 0 0 1px var(--accent); }
.budget-number-field { display: grid; gap: 8px; margin-top: 24px; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: -.02em; }
.budget-number-field input { width: 100%; min-height: 56px; padding: 0 15px; border: 1px solid rgba(31,31,31,.22); border-radius: 13px; color: var(--ink); background: #fafaf8; font: inherit; font-size: 17px; font-weight: 600; letter-spacing: -.04em; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.budget-number-field input:focus { border-color: #8d6900; background: #fff; box-shadow: 0 0 0 3px rgba(247,207,76,.38); }
.budget-number-field small { min-height: 1.4em; color: #756756; font-size: 10px; font-weight: 500; line-height: 1.4; }
.budget-presets { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.budget-presets button { min-height: 32px; padding: 0 10px; border: 1px solid rgba(31,31,31,.16); border-radius: 999px; color: #545454; background: #fff; font: inherit; font-size: 9px; font-weight: 700; letter-spacing: -.02em; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.budget-presets button:hover, .budget-presets button:focus-visible, .budget-presets button.is-selected { border-color: var(--accent); color: var(--ink); background: #fff9df; outline: none; }
.budget-step-actions { display: flex; align-items: center; gap: 10px; margin-top: 27px; }
.budget-back, .budget-next, .budget-contact, .budget-download-form button { display: inline-flex; min-height: 43px; align-items: center; justify-content: center; padding: 0 16px; border-radius: 999px; font: inherit; font-size: 10px; font-weight: 700; letter-spacing: -.02em; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.budget-back { border: 1px solid rgba(31,31,31,.45); color: var(--ink); background: #fff; }
.budget-next, .budget-contact, .budget-download-form button { border: 1px solid var(--accent); color: var(--ink); background: var(--accent); }
.budget-back:hover, .budget-back:focus-visible { outline: none; background: #f3f1eb; transform: translateY(-1px); }
.budget-next:hover, .budget-next:focus-visible, .budget-contact:hover, .budget-contact:focus-visible, .budget-download-form button:hover, .budget-download-form button:focus-visible { outline: none; background: #ffd967; transform: translateY(-1px); }
.budget-next:disabled { cursor: not-allowed; border-color: #dedede; color: #969696; background: #efefee; transform: none; }
.budget-live-panel { min-width: 0; padding: clamp(20px, 2.35vw, 30px); border-radius: 19px; color: #fff; background: #1f1f1f; }
.budget-live-label { margin: 0; color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.budget-live-budget { display: block; margin: 13px 0 0; color: #fff; font-size: clamp(31px, 3.25vw, 50px); font-weight: 600; line-height: .95; letter-spacing: -.08em; overflow-wrap: anywhere; }
.budget-live-suffix { min-height: 3.1em; margin: 13px 0 0; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.42; letter-spacing: -.025em; }
.budget-scale { position: relative; height: 30px; margin: 22px 0 2px; border-top: 2px solid rgba(255,255,255,.27); }
.budget-scale-band { position: absolute; top: -4px; height: 6px; border-radius: 999px; background: rgba(247,207,76,.72); }
.budget-scale-point, .budget-scale-current { position: absolute; top: -8px; width: 14px; height: 14px; border-radius: 50%; transform: translateX(-50%); }
.budget-scale-point { border: 3px solid #1f1f1f; background: var(--accent); box-shadow: 0 0 0 2px var(--accent); }
.budget-scale-current { width: 3px; height: 22px; border-radius: 2px; background: #fff; }
.budget-scale-zero, .budget-scale-max { position: absolute; top: 8px; color: rgba(255,255,255,.58); font-size: 8px; font-weight: 700; }
.budget-scale-zero { left: 0; }
.budget-scale-max { right: 0; }
.budget-live-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 10px; margin: 25px 0 0; }
.budget-live-metrics div { min-width: 0; }
.budget-live-metrics dt { color: rgba(255,255,255,.55); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.budget-live-metrics dd { margin: 5px 0 0; color: #fff; font-size: 12px; font-weight: 600; line-height: 1.2; letter-spacing: -.04em; overflow-wrap: anywhere; }
.budget-detail { width: min(100%, 1440px); margin: clamp(28px, 3vw, 46px) auto 0; padding: clamp(28px, 4vw, 58px); border: 1px solid rgba(31,31,31,.12); border-radius: clamp(22px, 2.2vw, 34px); background: #fff; box-shadow: 0 20px 48px rgba(31,31,31,.05); }
.budget-detail[hidden] { display: none; }
.budget-detail-intro { max-width: 790px; }
.budget-detail-intro h3 { margin: 12px 0 0; color: var(--ink); font-size: clamp(31px, 4.2vw, 61px); font-weight: 600; line-height: .98; letter-spacing: -.08em; text-wrap: balance; }
.budget-detail-intro > p:last-child { max-width: 690px; margin: 18px 0 0; color: #626262; font-size: 14px; line-height: 1.55; letter-spacing: -.03em; }
.budget-detail-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(290px, .85fr); gap: 17px; margin-top: 35px; }
.budget-detail-card { min-width: 0; padding: clamp(22px, 2.4vw, 33px); border-radius: 20px; background: #f8f7f4; }
.budget-detail-card h4, .budget-download h4 { margin: 0; color: var(--ink); font-size: clamp(19px, 1.75vw, 26px); font-weight: 600; line-height: 1.08; letter-spacing: -.06em; }
.budget-comparison-bars { display: grid; gap: 12px; margin-top: 24px; }
.budget-comparison-row { display: grid; grid-template-columns: minmax(108px, .78fr) minmax(90px, 1.5fr) auto; gap: 9px; align-items: center; color: #5e5e5e; font-size: 10px; line-height: 1.2; letter-spacing: -.02em; }
.budget-comparison-track { display: block; height: 7px; overflow: hidden; border-radius: 99px; background: #e0ded9; }
.budget-comparison-track i { display: block; height: 100%; border-radius: inherit; background: #777; }
.budget-comparison-track i.is-recommendation { background: var(--accent); }
.budget-comparison-track i.is-current { background: #1f1f1f; }
.budget-comparison-row b { color: var(--ink); font-size: 10px; font-weight: 700; white-space: nowrap; }
.budget-detail-card > p { margin: 17px 0 0; color: #5d5d5d; font-size: 13px; line-height: 1.55; letter-spacing: -.025em; }
.budget-detail-metrics { display: grid; gap: 16px; margin: 25px 0 0; }
.budget-detail-metrics div { padding-top: 15px; border-top: 1px solid rgba(31,31,31,.13); }
.budget-detail-metrics dt { color: #777; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.budget-detail-metrics dd { margin: 6px 0 2px; color: var(--ink); font-size: 21px; font-weight: 600; letter-spacing: -.055em; }
.budget-detail-metrics small { color: #747474; font-size: 10px; line-height: 1.4; }
.budget-outsourcing-note { margin-top: 23px !important; color: #776722 !important; font-size: 11px !important; }
.budget-download { display: grid; grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr); gap: clamp(24px, 4vw, 70px); align-items: start; margin-top: 17px; padding: clamp(24px, 3.3vw, 46px); border-radius: 20px; color: #fff; background: #1f1f1f; }
.budget-download .budget-calculator-eyebrow { color: var(--accent); }
.budget-download h4 { margin-top: 13px; color: #fff; }
.budget-download > div > p:last-child { max-width: 460px; margin: 15px 0 0; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.53; }
.budget-download-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.budget-download-form label { display: grid; gap: 6px; color: rgba(255,255,255,.7); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.budget-download-form input { width: 100%; min-height: 45px; padding: 0 12px; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; color: #fff; background: rgba(255,255,255,.08); font: inherit; font-size: 13px; font-weight: 500; letter-spacing: -.025em; outline: none; }
.budget-download-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(247,207,76,.2); }
.budget-download-form button { grid-column: 1 / -1; justify-self: start; margin-top: 5px; }
.budget-download-status { grid-column: 1 / -1; min-height: 1.4em; margin: 0; color: var(--accent); font-size: 10px; line-height: 1.4; }
.budget-detail-actions { display: flex; align-items: center; gap: 16px; margin-top: 22px; }
.budget-detail-actions > p { max-width: 500px; margin: 0; color: #777; font-size: 11px; line-height: 1.45; letter-spacing: -.02em; }
.budget-sources { margin-top: 28px; padding-top: 21px; border-top: 1px solid rgba(31,31,31,.13); }
.budget-sources summary { cursor: pointer; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: -.025em; }
.budget-sources summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.budget-sources div { max-width: 850px; margin-top: 15px; color: #666; font-size: 11px; line-height: 1.55; }
.budget-sources p { margin: 0 0 10px; }
.budget-sources--always-visible { width: min(100%, 1440px); margin: 17px auto 0; padding: clamp(22px, 3vw, 34px); border: 1px solid rgba(31,31,31,.12); border-radius: 20px; background: #fff; }
.budget-sources--always-visible div { max-width: 980px; }

@media (max-width: 1040px) {
  .budget-calculator-shell { grid-template-columns: minmax(0, .78fr) minmax(450px, 1.22fr); gap: 18px; }
  .budget-calculator-workspace { padding: 31px; }
  .budget-calculator-content { grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr); gap: 19px; }
  .budget-choice-grid--models { grid-template-columns: 1fr; }
}

@media (max-width: 840px) {
  .budget-calculator { padding: 10px 10px 78px; }
  .budget-calculator-shell { grid-template-columns: 1fr; width: min(100%, 680px); }
  .budget-calculator-media { position: relative; top: auto; width: 100%; max-width: none; }
  .budget-calculator-workspace { padding: clamp(25px, 6vw, 43px); }
  .budget-detail { width: min(100%, 680px); padding: clamp(25px, 6vw, 43px); }
}

@media (max-width: 620px) {
  .budget-calculator { padding: 7px 7px 68px; }
  .budget-calculator-shell { gap: 12px; }
  .budget-calculator-media, .budget-calculator-workspace, .budget-detail { border-radius: 20px; }
  .budget-calculator-media figcaption { padding: 19px; }
  .budget-calculator-media figcaption strong { font-size: 27px; }
  .budget-calculator-workspace, .budget-detail { padding: 26px 18px; }
  .budget-calculator-intro h2 { font-size: clamp(36px, 10vw, 49px); }
  .budget-calculator-progress { gap: 5px; }
  .budget-calculator-progress li { gap: 0; justify-content: center; }
  .budget-calculator-progress li::after, .budget-calculator-progress b { display: none; }
  .budget-calculator-progress span { width: 25px; height: 25px; flex-basis: 25px; }
  .budget-calculator-content { grid-template-columns: 1fr; gap: 16px; margin-top: 27px; }
  .budget-live-panel { order: -1; padding: 21px; }
  .budget-live-budget { font-size: clamp(32px, 11vw, 47px); }
  .budget-choice-grid--models { grid-template-columns: 1fr; }
  .budget-choice { min-height: 0; padding: 15px; }
  .budget-step h3 { font-size: 27px; }
  .budget-presets { gap: 6px; }
  .budget-presets button { min-height: 31px; }
  .budget-step-actions { justify-content: space-between; }
  .budget-detail { margin-top: 12px; }
  .budget-detail-grid, .budget-download { grid-template-columns: 1fr; gap: 12px; margin-top: 25px; }
  .budget-detail-card, .budget-download { padding: 23px 18px; border-radius: 16px; }
  .budget-comparison-row { grid-template-columns: minmax(98px, .82fr) minmax(70px, 1.15fr) auto; gap: 6px; font-size: 9px; }
  .budget-download-form { grid-template-columns: 1fr; }
  .budget-download-form button { width: 100%; }
  .budget-detail-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .budget-contact { width: 100%; }
}


/* Minimalistische Rechner-Bühne */
.budget-calculator { padding: clamp(12px, 1.6vw, 24px) clamp(12px, 1.6vw, 24px) clamp(74px, 9vw, 128px); }
.budget-calculator-shell { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); align-items: stretch; }
.budget-calculator-media-column { display: flex; min-width: 0; min-height: clamp(560px, 72svh, 650px); flex-direction: column; gap: 10px; }
.budget-calculator-media { position: relative; top: auto; min-height: 0; flex: 1 1 auto; aspect-ratio: auto; border-radius: 24px; box-shadow: none; }
.budget-calculator-media img { object-fit: cover; object-position: 52% 50%; }
.budget-calculator-workspace { display: flex; min-height: clamp(560px, 72svh, 650px); height: 100%; flex-direction: column; padding: clamp(29px, 3.3vw, 48px); border-radius: 24px; box-shadow: none; }
.budget-calculator-intro { max-width: 570px; }
.budget-calculator-intro h2 { max-width: 590px; margin-top: 10px; font-size: clamp(33px, 3.45vw, 52px); line-height: 1; }
.budget-calculator-intro > p:last-child { margin-top: 13px; font-size: 12px; line-height: 1.45; }
.budget-calculator-content { display: flex; flex: 1 1 auto; grid-template-columns: none; align-items: center; margin-top: 24px; }
.budget-calculator-steps { width: 100%; }
.budget-step h3 { max-width: 480px; font-size: clamp(25px, 2vw, 31px); }
.budget-step > p:not(.budget-step-count) { max-width: 460px; margin-top: 10px; font-size: 12px; line-height: 1.44; }
.budget-choice-grid { gap: 8px; margin-top: 19px; }
.budget-choice-grid--models, .budget-choice-grid--goals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.budget-choice { min-height: 76px; padding: 13px; border-color: rgba(31,31,31,.14); border-radius: 10px; background: #fbfaf8; }
.budget-choice strong { font-size: 11px; line-height: 1.17; }
.budget-choice span { margin-top: 5px; font-size: 9px; line-height: 1.3; }
.budget-choice:hover, .budget-choice:focus-visible { border-color: var(--ink); background: #fff; box-shadow: none; transform: none; }
.budget-choice.is-selected { border-color: var(--ink); background: #fff; box-shadow: inset 3px 0 0 var(--accent); }
.budget-number-field { gap: 6px; margin-top: 19px; font-size: 10px; }
.budget-number-field input { min-height: 49px; border-radius: 10px; background: #fbfaf8; font-size: 15px; }
.budget-number-field input:focus { border-color: var(--ink); box-shadow: inset 3px 0 0 var(--accent); }
.budget-presets { gap: 6px; margin-top: 11px; }
.budget-presets button { min-height: 29px; padding: 0 9px; border-color: transparent; color: #5e5e5e; background: #f1efeb; font-size: 8px; }
.budget-presets button:hover, .budget-presets button:focus-visible, .budget-presets button.is-selected { border-color: transparent; color: var(--ink); background: var(--accent); }
.budget-step-actions { gap: 8px; margin-top: 20px; }
.budget-back, .budget-next { min-height: 38px; padding: 0 14px; font-size: 9px; }
.budget-calculator-progress { display: flex; justify-content: center; gap: 7px; margin: 20px 0 0; padding: 0; }
.budget-calculator-progress li { display: block; width: 7px; height: 7px; min-width: 7px; padding: 0; border-radius: 50%; background: #d7d5d0; }
.budget-calculator-progress li::after { display: none; }
.budget-calculator-progress span { display: block; width: 100%; height: 100%; border: 0; border-radius: 50%; font-size: 0; }
.budget-calculator-progress li.is-active { background: var(--accent); box-shadow: 0 0 0 3px rgba(247,207,76,.28); }
.budget-calculator-progress li.is-complete { background: var(--ink); }
.budget-live-panel { display: grid; min-height: 94px; padding: 14px 17px; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; row-gap: 6px; border: 1px solid rgba(31,31,31,.13); border-radius: 14px; color: var(--ink); background: #fff; }
.budget-live-label { align-self: end; color: #777; font-size: 8px; letter-spacing: .11em; }
.budget-live-budget { align-self: end; margin: 0; color: var(--ink); font-size: clamp(26px, 2.7vw, 39px); line-height: .9; letter-spacing: -.075em; text-align: right; }
.budget-live-suffix { grid-column: 1 / -1; min-height: 0; margin: 5px 0 0; padding-top: 8px; border-top: 1px solid rgba(31,31,31,.1); color: #6e6e6e; font-size: 9px; line-height: 1.35; }
.budget-scale, .budget-live-metrics { display: none; }

@media (max-width: 1040px) {
  .budget-calculator-shell { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .budget-calculator-workspace { padding: 28px; }
  .budget-choice { min-height: 80px; }
}

@media (max-width: 840px) {
  .budget-calculator-shell { grid-template-columns: 1fr; width: min(100%, 680px); }
  .budget-calculator-media-column, .budget-calculator-workspace { min-height: 0; height: auto; }
  .budget-calculator-media { flex: none; aspect-ratio: 3 / 2; }
  .budget-calculator-workspace { padding: clamp(25px, 6vw, 43px); }
}

@media (max-width: 620px) {
  .budget-calculator-media { border-radius: 20px; }
  .budget-live-panel { min-height: 86px; padding: 13px 15px; }
  .budget-calculator-workspace { padding: 26px 18px; }
  .budget-calculator-intro h2 { font-size: clamp(32px, 9.2vw, 43px); }
  .budget-calculator-content { margin-top: 22px; }
  .budget-choice-grid--models, .budget-choice-grid--goals { grid-template-columns: 1fr; }
  .budget-choice { min-height: 0; padding: 13px; }
  .budget-step h3 { font-size: 26px; }
  .budget-calculator-progress { margin-top: 23px; }
  .budget-live-budget { font-size: 31px; }
}


/* Ergebnis innerhalb der rechten Rechnerfläche */
[data-budget-question-flow][hidden] { display: none; }
.budget-calculator-workspace > .budget-detail { width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.budget-calculator-workspace > .budget-detail[hidden] { display: none; }
.budget-calculator-workspace .budget-detail-intro { max-width: 610px; }
.budget-calculator-workspace .budget-detail-intro h3 { margin-top: 10px; font-size: clamp(30px, 3vw, 44px); }
.budget-calculator-workspace .budget-detail-intro > p:last-child { margin-top: 13px; font-size: 12px; line-height: 1.48; }
.budget-calculator-workspace .budget-detail-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
.budget-calculator-workspace .budget-detail-card { padding: 20px; border-radius: 14px; }
.budget-calculator-workspace .budget-detail-card h4 { font-size: 20px; }
.budget-calculator-workspace .budget-comparison-bars { gap: 10px; margin-top: 17px; }
.budget-calculator-workspace .budget-detail-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 19px; }
.budget-calculator-workspace .budget-detail-metrics div { padding-top: 11px; }
.budget-calculator-workspace .budget-download { grid-template-columns: 1fr; gap: 18px; margin-top: 10px; padding: 22px; border-radius: 14px; }
.budget-calculator-workspace .budget-download-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.budget-calculator-workspace .budget-detail-actions { flex-wrap: wrap; gap: 9px 10px; margin-top: 16px; }
.budget-calculator-workspace .budget-detail-actions > p { width: 100%; max-width: none; }

@media (max-width: 620px) {
  .budget-calculator-workspace .budget-detail-grid { margin-top: 18px; }
  .budget-calculator-workspace .budget-detail-card { padding: 17px; }
  .budget-calculator-workspace .budget-detail-metrics { grid-template-columns: 1fr; }
  .budget-calculator-workspace .budget-download { padding: 19px 17px; }
  .budget-calculator-workspace .budget-download-form { grid-template-columns: 1fr; }
  .budget-calculator-workspace .budget-detail-actions { flex-direction: column; align-items: stretch; }
  .budget-calculator-workspace .budget-detail-actions button { width: 100%; }
}


/* Ergebnis als kompakte Klickstrecke */
[data-budget-question-flow] { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
[data-budget-question-flow] .budget-calculator-content { flex: 1 1 auto; }
.budget-calculator-workspace > .budget-detail { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.budget-result-pages { min-height: 0; flex: 1 1 auto; }
.budget-result-page { display: flex; height: 100%; min-height: 0; flex-direction: column; }
.budget-result-page[hidden] { display: none; }
.budget-result-highlight { margin-top: 20px; padding: 19px 20px; border-radius: 14px; color: var(--ink); background: #f8f7f4; }
.budget-result-highlight p { margin: 0; color: #777; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.budget-result-highlight output { display: block; margin-top: 10px; color: var(--ink); font-size: clamp(39px, 4vw, 56px); font-weight: 600; line-height: .88; letter-spacing: -.085em; }
.budget-result-highlight span { display: block; margin-top: 10px; color: #666; font-size: 11px; line-height: 1.35; }
.budget-result-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 10px 0 0; }
.budget-result-overview div { padding: 14px 15px; border: 1px solid rgba(31,31,31,.11); border-radius: 12px; }
.budget-result-overview dt { color: #777; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.budget-result-overview dd { margin: 7px 0 3px; color: var(--ink); font-size: 15px; font-weight: 600; letter-spacing: -.05em; line-height: 1.05; }
.budget-result-overview small { color: #777; font-size: 9px; line-height: 1.3; }
.budget-result-page[data-budget-result-page="2"] .budget-detail-card--comparison { margin-top: 18px; }
.budget-result-page[data-budget-result-page="3"] .budget-detail-card--planning { margin-top: 20px; }
.budget-result-page[data-budget-result-page="4"] .budget-download { margin-top: 21px; }
.budget-result-page[data-budget-result-page="4"] .budget-detail-actions { margin-top: auto; padding-top: 14px; }
.budget-result-navigation { display: grid; grid-template-columns: minmax(82px, 1fr) auto minmax(82px, 1fr); align-items: center; gap: 10px; margin-top: 18px; }
.budget-result-navigation > [hidden] { visibility: hidden; display: block; }
.budget-result-navigation .budget-next { justify-self: end; }
.budget-result-progress { display: flex; justify-content: center; gap: 7px; margin: 0; padding: 0; list-style: none; }
.budget-result-progress li { width: 7px; height: 7px; border-radius: 50%; background: #d7d5d0; }
.budget-result-progress li span { display: block; width: 100%; height: 100%; border-radius: inherit; }
.budget-result-progress li.is-active { background: var(--accent); box-shadow: 0 0 0 3px rgba(247,207,76,.28); }
.budget-result-progress li.is-complete { background: var(--ink); }

@media (min-width: 841px) {
  .budget-calculator-media-column,
  .budget-calculator-workspace { height: clamp(560px, 72svh, 650px); min-height: 0; max-height: clamp(560px, 72svh, 650px); }
  .budget-calculator-workspace { overflow: hidden; }
}

@media (max-width: 620px) {
  .budget-result-highlight { padding: 17px; }
  .budget-result-highlight output { font-size: 43px; }
  .budget-result-overview { grid-template-columns: 1fr; }
  .budget-result-navigation { grid-template-columns: minmax(72px, 1fr) auto minmax(72px, 1fr); margin-top: 15px; }
}


/* Rechner als zwei gleich große Leistungskacheln */
.budget-calculator-media-column { min-height: 0; }
.budget-calculator-media { display: block; position: relative; overflow: hidden; background: #e8e2d9; }
.budget-calculator-media img { filter: none; }
.budget-calculator-media > .budget-live-panel { position: absolute; inset: auto 0 0; display: flex; min-height: 0; padding: clamp(22px, 3vw, 36px); flex-direction: column; align-items: flex-start; border: 0; border-radius: 0; color: #fff; background: transparent; text-shadow: 0 2px 13px rgba(0,0,0,.36); }
.budget-calculator-media > .budget-live-panel > .budget-live-label { order: 1; align-self: auto; color: #fff; font-size: clamp(29px, 3.5vw, 48px); font-weight: 600; line-height: .95; letter-spacing: -.08em; text-transform: none; }
.budget-calculator-media > .budget-live-panel > .budget-live-suffix { order: 2; width: min(100%, 310px); min-height: 0; margin: 10px 0 0; padding: 0; border: 0; color: #fff; font-size: 11px; line-height: 1.36; }
.budget-calculator-media > .budget-live-panel > .budget-live-budget { order: 3; align-self: auto; margin: 20px 0 0; color: #fff; font-size: clamp(35px, 4.2vw, 61px); font-weight: 600; line-height: .87; letter-spacing: -.09em; text-align: left; }
.budget-calculator-workspace { position: relative; }
.budget-sources--within-workspace { position: relative; z-index: 3; flex: 0 0 auto; margin: 10px 0 0; padding: 9px 0 0; border-top: 1px solid rgba(31,31,31,.12); }
.budget-sources--within-workspace summary { display: block; color: #737373; font-size: 8px; font-weight: 700; letter-spacing: .075em; text-align: center; text-transform: uppercase; }
.budget-sources--within-workspace summary::marker { content: ''; }
.budget-sources--within-workspace > div { position: absolute; right: 0; bottom: calc(100% + 9px); left: 0; max-width: none; margin: 0; padding: 15px 17px 12px; border: 1px solid rgba(31,31,31,.13); border-radius: 12px; color: #5d5d5d; background: #fff; box-shadow: 0 12px 30px rgba(31,31,31,.1); font-size: 10px; line-height: 1.45; }
.budget-sources--within-workspace > div p { margin: 0 0 8px; }
.budget-sources--within-workspace > div p:last-child { margin-bottom: 0; }
.budget-sources--within-workspace:not([open]) > div { display: none; }
.budget-calculator-workspace > .budget-detail { min-height: 0; }
.budget-result-navigation { margin-top: 12px; }
.budget-calculator-workspace .budget-detail-card { padding: 17px; }
.budget-calculator-workspace .budget-comparison-bars { gap: 8px; margin-top: 13px; }

@media (max-width: 840px) {
  .budget-calculator-media > .budget-live-panel { padding: 22px; }
  .budget-calculator-media > .budget-live-label { font-size: 34px; }
  .budget-calculator-media > .budget-live-budget { font-size: 43px; }
  .budget-sources--within-workspace { margin-top: 14px; }
}


/* Eckige Leistungs-Kacheln mit stabiler Budget-Zeile */
.budget-calculator-media,
.budget-calculator-workspace { border-radius: 0; }
.budget-calculator-media > .budget-live-panel { display: grid; height: 154px; min-height: 154px; padding: 25px clamp(22px, 3vw, 36px); grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: minmax(0, 1fr) 32px; column-gap: clamp(14px, 2vw, 27px); row-gap: 8px; align-items: end; }
.budget-calculator-media > .budget-live-panel > .budget-live-label { grid-column: 1; grid-row: 1; align-self: end; max-width: 320px; }
.budget-calculator-media > .budget-live-panel > .budget-live-suffix { grid-column: 1; grid-row: 2; align-self: end; width: min(100%, 300px); height: 32px; min-height: 32px; margin: 0; overflow: hidden; }
.budget-calculator-media > .budget-live-panel > .budget-live-budget { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin: 0; text-align: right; white-space: nowrap; }

@media (max-width: 840px) {
  .budget-calculator-media > .budget-live-panel { height: 142px; min-height: 142px; padding: 22px; grid-template-rows: minmax(0, 1fr) 30px; }
  .budget-calculator-media > .budget-live-panel > .budget-live-suffix { height: 30px; min-height: 30px; }
}

@media (max-width: 520px) {
  .budget-calculator-media > .budget-live-panel { height: 136px; min-height: 136px; padding: 19px; column-gap: 12px; }
  .budget-calculator-media > .budget-live-panel > .budget-live-label { max-width: 195px; font-size: clamp(25px, 8vw, 34px); }
  .budget-calculator-media > .budget-live-panel > .budget-live-budget { font-size: clamp(29px, 9vw, 43px); }
  .budget-calculator-media > .budget-live-panel > .budget-live-suffix { width: min(100%, 190px); font-size: 9px; }
}


/* Feste Zahlenbreite verhindert ein Springen der linken Bildtexte */
.budget-calculator-media > .budget-live-panel { grid-template-columns: minmax(0, 1fr) clamp(220px, 21vw, 280px); }
.budget-calculator-media > .budget-live-panel > .budget-live-label { height: 86px; min-height: 86px; overflow: hidden; }

@media (max-width: 840px) {
  .budget-calculator-media > .budget-live-panel { grid-template-columns: minmax(0, 1fr) clamp(185px, 42vw, 230px); }
  .budget-calculator-media > .budget-live-panel > .budget-live-label { height: 76px; min-height: 76px; }
}

@media (max-width: 520px) {
  .budget-calculator-media > .budget-live-panel { grid-template-columns: minmax(0, 1fr) clamp(132px, 38vw, 166px); }
  .budget-calculator-media > .budget-live-panel > .budget-live-label { height: 70px; min-height: 70px; }
}


/* Der Kacheltitel bleibt vollständig in zwei stabilen Zeilen lesbar */
.budget-calculator-media > .budget-live-panel > .budget-live-label { font-size: clamp(29px, 2.8vw, 38px); line-height: .93; }
@media (max-width: 520px) {
  .budget-calculator-media > .budget-live-panel > .budget-live-label { font-size: clamp(23px, 7.1vw, 30px); }
}


/* Rechnerrahmen wie die Leistungsübersicht, mit einer bündigen Budget-Zeile */
.budget-calculator { padding: 8px; background: var(--paper); }
.budget-calculator-shell { width: 100%; gap: 8px; }
.budget-calculator-media > .budget-live-panel { height: 122px; min-height: 122px; grid-template-rows: minmax(0, 1fr) 21px; }
.budget-calculator-media > .budget-live-panel > .budget-live-label { grid-column: 1; grid-row: 1; align-self: end; height: auto; min-height: 0; max-width: none; overflow: visible; color: #fff; font-size: clamp(34px, 3vw, 44px); line-height: .9; }
.budget-calculator-media > .budget-live-panel > .budget-live-budget { grid-column: 2; grid-row: 1; align-self: end; }
.budget-calculator-media > .budget-live-panel > .budget-live-suffix { grid-column: 1 / -1; grid-row: 2; align-self: end; width: 100%; height: 21px; min-height: 21px; color: rgba(255,255,255,.86); font-size: 10px; line-height: 1.3; }

@media (max-width: 840px) {
  .budget-calculator { padding: 8px; }
  .budget-calculator-shell { gap: 8px; }
  .budget-calculator-media > .budget-live-panel { height: 116px; min-height: 116px; grid-template-rows: minmax(0, 1fr) 20px; }
  .budget-calculator-media > .budget-live-panel > .budget-live-label { height: auto; min-height: 0; font-size: clamp(30px, 6vw, 39px); }
  .budget-calculator-media > .budget-live-panel > .budget-live-suffix { height: 20px; min-height: 20px; }
}

@media (max-width: 520px) {
  .budget-calculator { padding: 8px; }
  .budget-calculator-shell { gap: 8px; }
  .budget-calculator-media > .budget-live-panel { height: 104px; min-height: 104px; padding: 17px 19px; grid-template-rows: minmax(0, 1fr) 19px; }
  .budget-calculator-media > .budget-live-panel > .budget-live-label { height: auto; min-height: 0; font-size: 29px; }
  .budget-calculator-media > .budget-live-panel > .budget-live-suffix { height: 19px; min-height: 19px; font-size: 8px; }
}


/* Einheitliche Rechner-Navigation unter der Datenbasis */
.budget-calculator-workspace { overflow: hidden; }
[data-budget-question-flow],
.budget-calculator-workspace > .budget-detail { overflow: auto; scrollbar-width: thin; }
.budget-question-navigation,
.budget-result-navigation { display: grid; min-height: 38px; flex: 0 0 auto; grid-template-columns: minmax(82px, 1fr) auto minmax(82px, 1fr); align-items: center; gap: 10px; margin-top: 12px; }
.budget-question-navigation[hidden],
.budget-result-navigation[hidden] { display: none; }
.budget-question-navigation .budget-next,
.budget-result-navigation .budget-next { justify-self: end; }
.budget-question-navigation .budget-calculator-progress,
.budget-result-navigation .budget-result-progress { margin: 0; }
.budget-question-navigation .budget-back:disabled,
.budget-question-navigation .budget-next:disabled,
.budget-result-navigation .budget-back:disabled,
.budget-result-navigation .budget-next:disabled { cursor: default; border-color: #e6e4e0; color: #aaa7a1; background: #f5f3ef; transform: none; }

@media (max-width: 620px) {
  .budget-question-navigation,
  .budget-result-navigation { grid-template-columns: minmax(72px, 1fr) auto minmax(72px, 1fr); gap: 8px; }
}


/* Überschrift über beiden Rechnerkacheln und Fortschritt im Foto */
.budget-calculator > .budget-calculator-intro { width: 100%; max-width: none; margin: 0; padding: clamp(62px, 8vw, 128px) clamp(24px, 5.3vw, 92px) clamp(32px, 4vw, 56px); }
.budget-calculator > .budget-calculator-intro h2 { max-width: 900px; margin-top: 16px; font-size: clamp(48px, 6.7vw, 104px); line-height: .92; letter-spacing: -.09em; text-wrap: balance; }
.budget-calculator > .budget-calculator-intro > p:last-child { max-width: 650px; margin-top: 24px; color: #606060; font-size: clamp(16px, 1.7vw, 23px); line-height: 1.38; }
.budget-calculator-media img { object-position: 50% 50%; }
.budget-calculator-media > .budget-live-panel { height: 152px; min-height: 152px; grid-template-rows: minmax(0, 1fr) 16px 22px; }
.budget-calculator-media > .budget-live-panel > .budget-live-label,
.budget-calculator-media > .budget-live-panel > .budget-live-budget { grid-row: 1; }
.budget-live-progress { display: flex; grid-column: 1 / -1; grid-row: 2; align-self: end; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.budget-live-progress[hidden] { display: none; }
.budget-live-progress li { width: 7px; height: 7px; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: transparent; }
.budget-live-progress li span { display: block; width: 100%; height: 100%; border-radius: inherit; }
.budget-live-progress li.is-complete { border-color: #fff; background: #fff; }
.budget-live-progress li.is-active { border-color: var(--accent); background: var(--accent); box-shadow: 0 0 0 3px rgba(247,207,76,.25); }
.budget-calculator-media > .budget-live-panel > .budget-live-suffix { grid-row: 3; height: 22px; min-height: 22px; color: rgba(255,255,255,.82); text-align: center; }
.budget-question-navigation,
.budget-result-navigation { grid-template-columns: minmax(82px, 1fr) minmax(0, 1fr) minmax(82px, 1fr); }
.budget-navigation-spacer { display: block; min-height: 1px; }
.budget-question-navigation .budget-back,
.budget-result-navigation .budget-back { justify-self: start; border-color: var(--ink); border-radius: 999px; color: var(--ink); background: #fff; }
.budget-question-navigation .budget-next,
.budget-result-navigation .budget-next { min-width: 86px; justify-self: end; border-color: var(--accent); border-radius: 999px; color: var(--ink); background: var(--accent); }
.budget-question-navigation .budget-next:hover,
.budget-question-navigation .budget-next:focus-visible,
.budget-result-navigation .budget-next:hover,
.budget-result-navigation .budget-next:focus-visible { background: #ffd967; }

@media (max-width: 840px) {
  .budget-calculator > .budget-calculator-intro { padding: 58px 26px 34px; }
  .budget-calculator > .budget-calculator-intro h2 { max-width: 680px; font-size: clamp(47px, 10vw, 72px); }
  .budget-calculator-media > .budget-live-panel { height: 142px; min-height: 142px; grid-template-rows: minmax(0, 1fr) 15px 21px; }
}

@media (max-width: 520px) {
  .budget-calculator > .budget-calculator-intro { padding: 49px 20px 29px; }
  .budget-calculator > .budget-calculator-intro h2 { font-size: clamp(39px, 11.4vw, 54px); }
  .budget-calculator > .budget-calculator-intro > p:last-child { margin-top: 18px; font-size: 15px; }
  .budget-calculator-media > .budget-live-panel { height: 123px; min-height: 123px; grid-template-rows: minmax(0, 1fr) 14px 18px; }
  .budget-live-progress { gap: 7px; }
  .budget-live-progress li { width: 6px; height: 6px; }
  .budget-calculator-media > .budget-live-panel > .budget-live-suffix { height: 18px; min-height: 18px; font-size: 8px; }
}


/* Der aktive Weiter-Button bleibt gelb, die Deaktivierung bleibt bewusst neutral. */
.budget-question-navigation .budget-next:not(:disabled),
.budget-result-navigation .budget-next:not(:disabled) { border-color: var(--accent); color: var(--ink); background: var(--accent); }
.budget-question-navigation .budget-next:not(:disabled):hover,
.budget-question-navigation .budget-next:not(:disabled):focus-visible,
.budget-result-navigation .budget-next:not(:disabled):hover,
.budget-result-navigation .budget-next:not(:disabled):focus-visible { background: #ffd967; }


/* Rechner zunächst als eigenständige Einstiegssektion */
.budget-calculator > .budget-calculator-intro[data-budget-intro] { display: flex; min-height: clamp(500px, 68svh, 700px); flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(72px, 9vw, 152px) clamp(42px, 5.3vw, 92px); }
.budget-calculator > .budget-calculator-intro[data-budget-intro] > p:last-of-type { margin-bottom: 0; }
.budget-calculator-launch { min-height: 48px; margin-top: clamp(32px, 4vw, 52px); padding: 0 25px; border: 1px solid var(--accent); border-radius: 999px; color: var(--ink); background: var(--accent); font: inherit; font-size: 13px; font-weight: 600; }
.budget-calculator-launch:hover,
.budget-calculator-launch:focus-visible { border-color: #ffd967; background: #ffd967; outline: none; }
.budget-calculator-shell[hidden] { display: none; }
.budget-calculator.is-calculator-open > .budget-calculator-intro[data-budget-intro] { min-height: 0; padding-top: clamp(62px, 8vw, 128px); padding-bottom: clamp(32px, 4vw, 56px); }
.budget-calculator.is-calculator-open .budget-calculator-launch { display: none; }
.budget-calculator-media > .budget-live-panel > .budget-live-label,
.budget-calculator-media > .budget-live-panel > .budget-live-budget { font-size: clamp(35px, 4.2vw, 61px); font-weight: 600; line-height: .87; letter-spacing: -.09em; }

@media (max-width: 840px) {
  .budget-calculator > .budget-calculator-intro[data-budget-intro] { min-height: clamp(430px, 64svh, 560px); padding: 68px 26px; }
  .budget-calculator.is-calculator-open > .budget-calculator-intro[data-budget-intro] { padding: 58px 26px 34px; }
  .budget-calculator-media > .budget-live-panel > .budget-live-label,
  .budget-calculator-media > .budget-live-panel > .budget-live-budget { font-size: clamp(31px, 6vw, 43px); }
}

@media (max-width: 520px) {
  .budget-calculator > .budget-calculator-intro[data-budget-intro] { min-height: clamp(420px, 68svh, 510px); padding: 56px 20px; }
  .budget-calculator.is-calculator-open > .budget-calculator-intro[data-budget-intro] { padding: 49px 20px 29px; }
  .budget-calculator-launch { min-height: 45px; margin-top: 30px; padding: 0 21px; font-size: 12px; }
  .budget-calculator-media > .budget-live-panel > .budget-live-label,
  .budget-calculator-media > .budget-live-panel > .budget-live-budget { font-size: clamp(29px, 9vw, 43px); }
}


/* Titelbühne wechselt seitlich in den Rechner – ohne Scrollsprung. */
@media (min-width: 841px) {
  .budget-calculator { position: relative; min-height: calc(clamp(560px, 72svh, 650px) + 16px); overflow: hidden; }
  .budget-calculator > .budget-calculator-intro[data-budget-intro],
  .budget-calculator.is-calculator-open > .budget-calculator-intro[data-budget-intro] { min-height: clamp(560px, 72svh, 650px); padding: clamp(72px, 9vw, 152px) clamp(42px, 5.3vw, 92px); transition: opacity 520ms ease, transform 620ms cubic-bezier(.22, .8, .24, 1); }
  .budget-calculator > .budget-calculator-shell { position: absolute; inset: 8px; display: grid; width: auto; height: auto; min-height: 0; max-height: none; opacity: 0; visibility: hidden; transform: translateX(18%); transition: opacity 440ms ease 120ms, transform 620ms cubic-bezier(.22, .8, .24, 1) 40ms, visibility 0s linear 620ms; }
  .budget-calculator.is-calculator-open > .budget-calculator-intro[data-budget-intro] { opacity: 0; pointer-events: none; transform: translateX(-18%); }
  .budget-calculator.is-calculator-open > .budget-calculator-shell { opacity: 1; visibility: visible; transform: translateX(0); transition-delay: 80ms, 0s, 0s; }
}

@media (max-width: 840px) {
  .budget-calculator.is-calculator-open > .budget-calculator-intro[data-budget-intro] { height: 0; min-height: 0; margin: 0; padding-top: 0; padding-bottom: 0; overflow: hidden; opacity: 0; pointer-events: none; transform: translateX(-18%); }
  .budget-calculator.is-calculator-open > .budget-calculator-shell { position: relative; display: grid; width: 100%; opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .budget-calculator > .budget-calculator-intro[data-budget-intro],
  .budget-calculator > .budget-calculator-shell { transition: none; }
}


/* Feste Rechnerbühne und zentriertes Beratungsbild */
@media (min-width: 841px) {
  .budget-calculator {
    --budget-stage-height: clamp(560px, 72svh, 650px);
    height: calc(var(--budget-stage-height) + 16px);
    min-height: calc(var(--budget-stage-height) + 16px);
    max-height: calc(var(--budget-stage-height) + 16px);
  }

  .budget-calculator > .budget-calculator-intro[data-budget-intro],
  .budget-calculator.is-calculator-open > .budget-calculator-intro[data-budget-intro],
  .budget-calculator > .budget-calculator-shell,
  .budget-calculator-media-column,
  .budget-calculator-workspace {
    height: var(--budget-stage-height);
    min-height: var(--budget-stage-height);
    max-height: var(--budget-stage-height);
  }

  .budget-calculator-media img { object-position: 58% 50%; }
}


/* Zurück und Weiter als zentriertes Paar unter der Datenbasis */
.budget-question-navigation,
.budget-result-navigation {
  grid-template-columns: auto auto;
  justify-content: center;
  gap: 12px;
}

.budget-question-navigation .budget-back,
.budget-question-navigation .budget-next,
.budget-result-navigation .budget-back,
.budget-result-navigation .budget-next {
  min-width: 102px;
  justify-self: auto;
}

.budget-navigation-spacer { display: none; }

@media (max-width: 620px) {
  .budget-question-navigation,
  .budget-result-navigation { gap: 10px; }

  .budget-question-navigation .budget-back,
  .budget-question-navigation .budget-next,
  .budget-result-navigation .budget-back,
  .budget-result-navigation .budget-next { min-width: 94px; }
}


/* Budget-Einstieg im gespiegelten Cases-UI: Bildkacheln links, Kopie rechts */
.budget-calculator > .budget-calculator-intro--cases {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(34px, 6vw, 118px);
  align-items: center;
}

.budget-intro-image-stack {
  position: relative;
  width: min(100%, 560px);
  height: clamp(360px, 34vw, 470px);
  justify-self: start;
}

.budget-intro-image-card {
  position: absolute;
  display: block;
  overflow: hidden;
  border: 6px solid #fff;
  border-radius: 25px;
  background: #e8e4dc;
  box-shadow: 0 16px 36px rgba(31, 31, 31, .15);
}

.budget-intro-image-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.budget-intro-image-card--back {
  top: 1%;
  right: 1%;
  width: 56%;
  height: 75%;
  transform: rotate(2.5deg);
}

.budget-intro-image-card--back img { object-position: 50% 50%; }

.budget-intro-image-card--middle {
  right: 18%;
  bottom: 0;
  width: 61%;
  height: 81%;
  transform: rotate(-1.8deg);
}

.budget-intro-image-card--middle img { object-position: 60% 50%; }

.budget-intro-image-card--front {
  bottom: 2%;
  left: 0;
  width: 62%;
  height: 80%;
  transform: rotate(-4deg);
}

.budget-intro-image-card--front img { object-position: 50% 50%; }

.budget-calculator-intro-copy {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}

.budget-calculator > .budget-calculator-intro--cases .budget-calculator-eyebrow,
.budget-calculator > .budget-calculator-intro--cases h2,
.budget-calculator > .budget-calculator-intro--cases > .budget-calculator-intro-copy > p:last-of-type {
  width: min(100%, 690px);
  margin-right: 0;
  margin-left: auto;
  text-align: right;
}

.budget-calculator > .budget-calculator-intro--cases h2 {
  margin-top: 16px;
  font-size: clamp(48px, 5.45vw, 92px);
}

.budget-calculator > .budget-calculator-intro--cases > .budget-calculator-intro-copy > p:last-of-type { margin-top: 24px; }
.budget-calculator > .budget-calculator-intro--cases .budget-calculator-launch { align-self: flex-end; }

@media (min-width: 841px) {
  .budget-calculator > .budget-calculator-intro--cases,
  .budget-calculator.is-calculator-open > .budget-calculator-intro--cases {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding: clamp(42px, 4vw, 78px) clamp(42px, 5.3vw, 92px);
  }
}

@media (max-width: 840px) {
  .budget-calculator > .budget-calculator-intro--cases {
    display: flex;
    gap: 38px;
    padding: 54px 26px 60px;
  }

  .budget-intro-image-stack {
    width: min(100%, 530px);
    height: clamp(292px, 82vw, 440px);
    align-self: flex-start;
  }

  .budget-calculator-intro-copy { align-items: flex-end; }
  .budget-calculator > .budget-calculator-intro--cases h2 { font-size: clamp(47px, 10vw, 72px); }
}

@media (max-width: 520px) {
  .budget-calculator > .budget-calculator-intro--cases { gap: 30px; padding: 42px 20px 48px; }
  .budget-intro-image-stack { height: clamp(245px, 84vw, 360px); }
  .budget-intro-image-card { border-width: 4px; border-radius: 19px; }
  .budget-calculator > .budget-calculator-intro--cases h2 { font-size: clamp(39px, 11.4vw, 54px); }
}


/* Spezifität der bestehenden Rechner-Transition bewahren */
.budget-calculator > .budget-calculator-intro--cases[data-budget-intro] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(34px, 6vw, 118px);
  align-items: center;
}

@media (min-width: 841px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro],
  .budget-calculator.is-calculator-open > .budget-calculator-intro--cases[data-budget-intro] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    padding: clamp(42px, 4vw, 78px) clamp(42px, 5.3vw, 92px);
  }
}

@media (max-width: 840px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] {
    display: flex;
    gap: 38px;
    padding: 54px 26px 60px;
  }
}

@media (max-width: 520px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] { gap: 30px; padding: 42px 20px 48px; }
}


/* Budget-Einstieg exakt in der Sprache von RPLC Cases */
.budget-calculator > .budget-calculator-intro--cases[data-budget-intro] {
  grid-template-columns: minmax(0, 1fr) minmax(370px, .82fr);
  gap: clamp(42px, 9vw, 148px);
  width: min(100%, 1260px);
  margin: 0 auto;
}

.budget-calculator-intro-copy {
  max-width: 600px;
  align-items: flex-start;
  text-align: left;
}

.budget-calculator > .budget-calculator-intro--cases .budget-calculator-eyebrow,
.budget-calculator > .budget-calculator-intro--cases h2,
.budget-calculator > .budget-calculator-intro--cases > .budget-calculator-intro-copy > p:last-of-type {
  width: auto;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  text-align: left;
}

.budget-calculator > .budget-calculator-intro--cases h2 {
  max-width: 640px;
  font-size: clamp(42px, 4vw, 62px);
  line-height: .98;
}

.budget-calculator > .budget-calculator-intro--cases h2 span { display: block; }

.budget-calculator > .budget-calculator-intro--cases > .budget-calculator-intro-copy > p:last-of-type {
  max-width: 470px;
  margin-top: clamp(19px, 2vw, 28px);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.52;
}

.budget-calculator > .budget-calculator-intro--cases .budget-calculator-launch {
  align-self: flex-start;
  min-height: 42px;
  margin-top: clamp(24px, 3vw, 36px);
  padding: 0 17px;
  border-color: var(--ink);
  background: transparent;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: -.02em;
  transition: color .22s ease, background .22s ease, transform .22s ease;
}

.budget-calculator > .budget-calculator-intro--cases .budget-calculator-launch:hover,
.budget-calculator > .budget-calculator-intro--cases .budget-calculator-launch:focus-visible {
  border-color: var(--ink);
  color: var(--ink);
  background: var(--accent);
  outline: none;
  transform: translateY(-2px);
}

.budget-intro-image-stack {
  width: min(100%, 440px);
  min-height: clamp(330px, 32vw, 425px);
  height: auto;
  justify-self: end;
  outline: none;
}

.budget-intro-image-card {
  width: clamp(205px, 20vw, 285px);
  height: auto;
  aspect-ratio: 4 / 5;
  border: clamp(4px, .45vw, 7px) solid #fff;
  border-radius: clamp(16px, 1.4vw, 23px);
  background: #e9e7e2;
  box-shadow: 0 18px 38px rgba(27, 27, 27, .14);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease;
}

.budget-intro-image-card--back {
  z-index: 1;
  top: 0;
  right: 6%;
  width: clamp(205px, 20vw, 285px);
  height: auto;
  transform: rotate(2deg);
  opacity: .64;
}

.budget-intro-image-card--middle {
  z-index: 2;
  top: clamp(17px, 2.1vw, 30px);
  right: 17%;
  bottom: auto;
  width: clamp(205px, 20vw, 285px);
  height: auto;
  transform: rotate(-1.5deg);
}

.budget-intro-image-card--front {
  z-index: 3;
  top: clamp(40px, 4.3vw, 64px);
  bottom: auto;
  left: 5%;
  width: clamp(205px, 20vw, 285px);
  height: auto;
  transform: rotate(.8deg);
}

.budget-intro-image-stack:hover .budget-intro-image-card--back { transform: translate(10px, -7px) rotate(2.5deg); }
.budget-intro-image-stack:hover .budget-intro-image-card--middle { transform: translate(-6px, -5px) rotate(-2.1deg); }
.budget-intro-image-stack:hover .budget-intro-image-card--front { box-shadow: 0 24px 48px rgba(27,27,27,.2); transform: translate(-8px, -5px) rotate(.2deg); }

@media (min-width: 841px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro],
  .budget-calculator.is-calculator-open > .budget-calculator-intro--cases[data-budget-intro] {
    grid-template-columns: minmax(0, 1fr) minmax(370px, .82fr);
    gap: clamp(42px, 9vw, 148px);
    padding: clamp(42px, 4vw, 78px) clamp(42px, 5.3vw, 92px);
  }
}

@media (max-width: 840px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] {
    display: flex;
    width: 100%;
    gap: 43px;
    margin: 0;
    padding: 54px 26px 60px;
  }

  .budget-calculator-intro-copy { align-items: flex-start; text-align: left; }
  .budget-calculator > .budget-calculator-intro--cases h2 { font-size: clamp(38px, 10vw, 56px); }
  .budget-intro-image-stack { width: min(100%, 355px); min-height: 315px; justify-self: center; align-self: center; }
  .budget-intro-image-card { width: min(72vw, 235px); }
  .budget-intro-image-card--back { right: 2%; width: min(72vw, 235px); }
  .budget-intro-image-card--middle { right: 13%; width: min(72vw, 235px); }
  .budget-intro-image-card--front { left: 2%; width: min(72vw, 235px); }
}

@media (max-width: 520px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] { gap: 36px; padding: 42px 20px 48px; }
  .budget-calculator > .budget-calculator-intro--cases h2 { font-size: clamp(38px, 10vw, 52px); }
}


/* Mobile: Jede Rechneransicht bleibt eine vollständige Viewport-Bühne. */
@media (max-width: 620px) {
  .budget-calculator {
    --budget-mobile-stage-height: 100svh;
    box-sizing: border-box;
    height: var(--budget-mobile-stage-height);
    min-height: var(--budget-mobile-stage-height);
    max-height: var(--budget-mobile-stage-height);
    overflow: hidden;
    padding: 8px;
  }

  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] {
    display: grid;
    width: 100%;
    height: calc(var(--budget-mobile-stage-height) - 16px);
    min-height: calc(var(--budget-mobile-stage-height) - 16px);
    max-height: calc(var(--budget-mobile-stage-height) - 16px);
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 16px;
    margin: 0;
    padding: 22px 20px;
    overflow: hidden;
  }

  .budget-calculator-intro-copy { min-height: 0; }
  .budget-calculator > .budget-calculator-intro--cases h2 { max-width: 390px; margin-top: 8px; font-size: clamp(34px, 9.9vw, 42px); }
  .budget-calculator > .budget-calculator-intro--cases > .budget-calculator-intro-copy > p:last-of-type { max-width: 340px; margin-top: 11px; font-size: 13px; line-height: 1.35; }
  .budget-calculator > .budget-calculator-intro--cases .budget-calculator-launch { min-height: 40px; margin-top: 17px; padding: 0 19px; font-size: 11px; }
  .budget-intro-image-stack { width: min(100%, 330px); height: 100%; min-height: 0; max-height: 335px; justify-self: center; align-self: end; }
  .budget-intro-image-card { width: min(62vw, 220px); }
  .budget-intro-image-card--back { right: 2%; width: min(62vw, 220px); }
  .budget-intro-image-card--middle { right: 13%; width: min(62vw, 220px); }
  .budget-intro-image-card--front { left: 2%; width: min(62vw, 220px); }

  .budget-calculator.is-calculator-open > .budget-calculator-shell {
    display: grid;
    width: 100%;
    height: calc(var(--budget-mobile-stage-height) - 16px);
    min-height: calc(var(--budget-mobile-stage-height) - 16px);
    max-height: calc(var(--budget-mobile-stage-height) - 16px);
    grid-template-columns: 1fr;
    grid-template-rows: 106px minmax(0, 1fr);
    gap: 8px;
    overflow: hidden;
  }

  .budget-calculator.is-calculator-open .budget-calculator-media-column { height: 106px; min-height: 0; }
  .budget-calculator.is-calculator-open .budget-calculator-media { height: 100%; min-height: 0; aspect-ratio: auto; }
  .budget-calculator.is-calculator-open .budget-calculator-media > .budget-live-panel {
    height: 100%;
    min-height: 0;
    padding: 13px 15px;
    grid-template-rows: minmax(0, 1fr) 12px 15px;
  }
  .budget-calculator.is-calculator-open .budget-calculator-media > .budget-live-panel > .budget-live-label,
  .budget-calculator.is-calculator-open .budget-calculator-media > .budget-live-panel > .budget-live-budget { font-size: 25px; }
  .budget-calculator.is-calculator-open .budget-calculator-media > .budget-live-panel > .budget-live-suffix { height: 15px; min-height: 15px; font-size: 7px; }
  .budget-calculator.is-calculator-open .budget-live-progress { gap: 5px; }
  .budget-calculator.is-calculator-open .budget-live-progress li { width: 5px; height: 5px; }

  .budget-calculator.is-calculator-open .budget-calculator-workspace {
    height: 100%;
    min-height: 0;
    max-height: none;
    padding: 13px 14px 12px;
    overflow: hidden;
  }
  .budget-calculator.is-calculator-open [data-budget-question-flow],
  .budget-calculator.is-calculator-open .budget-calculator-workspace > .budget-detail,
  .budget-calculator.is-calculator-open .budget-result-pages { min-height: 0; overflow: hidden; }
  .budget-calculator.is-calculator-open .budget-calculator-content { min-height: 0; margin-top: 0; align-items: flex-start; }
  .budget-calculator.is-calculator-open .budget-step:not([hidden]) { display: flex; min-height: 0; height: 100%; flex-direction: column; }
  .budget-calculator.is-calculator-open .budget-step h3 { margin: 0; font-size: 22px; line-height: 1.04; }
  .budget-calculator.is-calculator-open .budget-step > p:not(.budget-step-count) { margin: 6px 0 0; font-size: 10px; line-height: 1.3; }
  .budget-calculator.is-calculator-open .budget-choice-grid { gap: 6px; margin-top: 10px; }
  .budget-calculator.is-calculator-open .budget-choice-grid--models,
  .budget-calculator.is-calculator-open .budget-choice-grid--goals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .budget-calculator.is-calculator-open .budget-choice { min-height: 57px; padding: 9px; }
  .budget-calculator.is-calculator-open .budget-choice strong { font-size: 9px; line-height: 1.14; }
  .budget-calculator.is-calculator-open .budget-choice span { display: none; }
  .budget-calculator.is-calculator-open .budget-number-field { gap: 4px; margin-top: 12px; font-size: 9px; }
  .budget-calculator.is-calculator-open .budget-number-field input { min-height: 38px; padding: 0 10px; font-size: 13px; }
  .budget-calculator.is-calculator-open .budget-presets { gap: 5px; margin-top: 8px; }
  .budget-calculator.is-calculator-open .budget-presets button { min-height: 25px; padding: 0 7px; font-size: 7px; }
  .budget-calculator.is-calculator-open .budget-sources--within-workspace { margin-top: auto; padding-top: 7px; }
  .budget-calculator.is-calculator-open .budget-sources--within-workspace summary { font-size: 7px; }
  .budget-calculator.is-calculator-open .budget-sources--within-workspace > div { max-height: 190px; overflow: auto; font-size: 9px; }
  .budget-calculator.is-calculator-open .budget-question-navigation,
  .budget-calculator.is-calculator-open .budget-result-navigation { min-height: 35px; gap: 9px; margin-top: 7px; }
  .budget-calculator.is-calculator-open .budget-question-navigation .budget-back,
  .budget-calculator.is-calculator-open .budget-question-navigation .budget-next,
  .budget-calculator.is-calculator-open .budget-result-navigation .budget-back,
  .budget-calculator.is-calculator-open .budget-result-navigation .budget-next { min-width: 88px; min-height: 35px; padding: 0 12px; font-size: 9px; }

  .budget-calculator.is-calculator-open .budget-detail-intro h3 { margin-top: 6px; font-size: 22px; line-height: 1.05; }
  .budget-calculator.is-calculator-open .budget-detail-intro > p:last-child { margin-top: 7px; font-size: 10px; line-height: 1.3; }
  .budget-calculator.is-calculator-open .budget-result-highlight { margin-top: 10px; padding: 12px 14px; }
  .budget-calculator.is-calculator-open .budget-result-highlight output { margin-top: 7px; font-size: 35px; }
  .budget-calculator.is-calculator-open .budget-result-highlight span { margin-top: 6px; font-size: 9px; }
  .budget-calculator.is-calculator-open .budget-result-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 7px; }
  .budget-calculator.is-calculator-open .budget-result-overview div { padding: 9px; }
  .budget-calculator.is-calculator-open .budget-result-overview dd { margin-top: 5px; font-size: 12px; }
  .budget-calculator.is-calculator-open .budget-result-overview small { font-size: 8px; }
  .budget-calculator.is-calculator-open .budget-result-page[data-budget-result-page="2"] .budget-detail-card--comparison,
  .budget-calculator.is-calculator-open .budget-result-page[data-budget-result-page="3"] .budget-detail-card--planning,
  .budget-calculator.is-calculator-open .budget-result-page[data-budget-result-page="4"] .budget-download { margin-top: 10px; }
  .budget-calculator.is-calculator-open .budget-calculator-workspace .budget-detail-card { padding: 11px; }
  .budget-calculator.is-calculator-open .budget-comparison-bars { gap: 5px; margin-top: 6px; }
  .budget-calculator.is-calculator-open .budget-comparison-row { min-height: 13px; font-size: 7px; }
  .budget-calculator.is-calculator-open .budget-detail-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 9px; }
  .budget-calculator.is-calculator-open .budget-detail-metrics dd { font-size: 13px; }
  .budget-calculator.is-calculator-open .budget-outsourcing-note { display: none; }
  .budget-calculator.is-calculator-open .budget-calculator-workspace .budget-download { gap: 9px; padding: 11px; }
  .budget-calculator.is-calculator-open .budget-download-form { gap: 6px; }
  .budget-calculator.is-calculator-open .budget-download-form label { gap: 3px; font-size: 7px; }
  .budget-calculator.is-calculator-open .budget-download-form input { min-height: 34px; padding: 0 9px; font-size: 11px; }
  .budget-calculator.is-calculator-open .budget-download-form button { min-height: 35px; margin-top: 1px; font-size: 9px; }
  .budget-calculator.is-calculator-open .budget-detail-actions { display: none; }
}

@media (max-width: 620px) and (max-height: 680px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] { padding-top: 16px; padding-bottom: 16px; }
  .budget-calculator > .budget-calculator-intro--cases h2 { font-size: 33px; }
  .budget-intro-image-stack { max-height: 250px; }
  .budget-calculator.is-calculator-open > .budget-calculator-shell { grid-template-rows: 92px minmax(0, 1fr); }
  .budget-calculator.is-calculator-open .budget-calculator-media-column { height: 92px; }
  .budget-calculator.is-calculator-open .budget-calculator-workspace { padding: 10px 12px; }
  .budget-calculator.is-calculator-open .budget-step h3 { font-size: 20px; }
  .budget-calculator.is-calculator-open .budget-step > p:not(.budget-step-count) { display: none; }
  .budget-calculator.is-calculator-open .budget-choice { min-height: 52px; padding: 8px; }
  .budget-calculator.is-calculator-open .budget-result-highlight { padding: 9px 12px; }
}


@media (max-width: 620px) {
  .budget-calculator.is-calculator-open .budget-sources--within-workspace > div {
    max-height: none;
    overflow: visible;
  }
}


/* Mobile: Der Rechner-Einstieg übernimmt den vertikalen Rhythmus der RPLC-Cases. */
@media (max-width: 620px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] {
    gap: 14px;
    padding: 42px 20px 20px;
  }

  .budget-calculator > .budget-calculator-intro--cases .budget-calculator-eyebrow { margin-bottom: 15px; }
  .budget-calculator > .budget-calculator-intro--cases h2 {
    max-width: 100%;
    margin-top: 0;
    font-size: clamp(30px, 8.3vw, 31px);
    line-height: .98;
    letter-spacing: -.08em;
    text-wrap: nowrap;
  }
  .budget-calculator > .budget-calculator-intro--cases h2 span { white-space: nowrap; }
  .budget-calculator > .budget-calculator-intro--cases > .budget-calculator-intro-copy > p:last-of-type {
    max-width: 340px;
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.45;
  }
  .budget-calculator > .budget-calculator-intro--cases .budget-calculator-launch {
    min-height: 42px;
    margin-top: 26px;
    padding: 0 20px;
    font-size: 10px;
  }
  .budget-intro-image-stack {
    width: min(100%, 355px);
    max-height: 390px;
  }
  .budget-intro-image-card { width: min(72vw, 245px); }
  .budget-intro-image-card--back { width: min(72vw, 245px); }
  .budget-intro-image-card--middle { width: min(72vw, 245px); }
  .budget-intro-image-card--front { width: min(72vw, 245px); }
}

@media (max-width: 620px) and (max-height: 680px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] { padding-top: 30px; }
  .budget-calculator > .budget-calculator-intro--cases h2 { font-size: 30px; }
  .budget-intro-image-stack { max-height: 325px; }
  .budget-intro-image-card,
  .budget-intro-image-card--back,
  .budget-intro-image-card--middle,
  .budget-intro-image-card--front { width: min(68vw, 225px); }
}


@media (max-width: 620px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] .budget-intro-image-stack {
    align-self: start;
    margin-top: 46px;
  }
}

@media (max-width: 620px) and (max-height: 680px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] .budget-intro-image-stack { margin-top: 30px; }
}


/* Mobile: Im geöffneten Rechner erhält das Bild die obere Hälfte der Viewport-Bühne. */
@media (max-width: 620px) {
  .budget-calculator.is-calculator-open > .budget-calculator-shell {
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  }
  .budget-calculator.is-calculator-open .budget-calculator-media-column { height: auto; }
  .budget-calculator.is-calculator-open .budget-calculator-media { min-height: 0; }
  .budget-calculator.is-calculator-open .budget-calculator-media > img {
    object-position: 50% 50%;
  }
  .budget-calculator.is-calculator-open .budget-calculator-media > .budget-live-panel {
    padding: 18px;
    grid-template-rows: minmax(0, 1fr) 14px 18px;
  }
  .budget-calculator.is-calculator-open .budget-calculator-workspace { padding: 12px 14px 11px; }
}

@media (max-width: 620px) and (max-height: 680px) {
  .budget-calculator.is-calculator-open > .budget-calculator-shell {
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  }
  .budget-calculator.is-calculator-open .budget-calculator-media-column { height: auto; }
}

@media (max-width: 620px) {
  .budget-calculator > .budget-calculator-intro--cases[data-budget-intro] .budget-intro-image-stack { margin-top: 26px; }
}


/* Insights-Bibliothek und Artikel */
.insights-page { background: #f8f7f4; }
.insights-library { overflow: hidden; padding: clamp(86px, 12vw, 164px) 0 clamp(90px, 11vw, 154px); background: #f8f7f4; }
.insights-library-intro { width: min(calc(100% - 48px), 1180px); margin: 0 auto; }
.insights-library-eyebrow, .insight-section-label { margin: 0 0 16px; color: #8f6c07; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.insights-library h1 { position: static; max-width: 940px; height: auto; margin: 0; overflow: visible; color: var(--ink); font-size: clamp(52px, 8.2vw, 126px); font-weight: 600; line-height: .9; letter-spacing: -.1em; text-wrap: balance; white-space: normal; }
.insights-library-intro > p:last-child { max-width: 620px; margin: 26px 0 0; color: #606060; font-size: clamp(16px, 1.45vw, 20px); line-height: 1.5; letter-spacing: -.04em; }
.insights-library-controls { display: grid; width: min(calc(100% - 48px), 1180px); grid-template-columns: minmax(280px, 1fr) minmax(190px, .32fr) auto; gap: 12px; align-items: end; margin: clamp(52px, 7vw, 94px) auto 0; }
.insights-search { position: relative; display: flex; align-items: center; width: 100%; }
.insights-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.insights-search svg { position: absolute; left: 17px; z-index: 1; width: 18px; height: 18px; fill: none; stroke: #777; stroke-width: 1.8; pointer-events: none; }
.insights-search input { width: 100%; height: 52px; padding: 0 19px 0 47px; border: 1px solid rgba(31,31,31,.16); border-radius: 999px; outline: 0; color: var(--ink); background: #fff; font: inherit; font-size: 13px; letter-spacing: -.025em; transition: border-color .2s ease, box-shadow .2s ease; }
.insights-search input:focus { border-color: #8f6c07; box-shadow: 0 0 0 4px rgba(247,207,76,.28); }
.insights-filter { display: grid; gap: 6px; color: #777; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.insights-filter select { width: 100%; height: 52px; padding: 0 34px 0 14px; border: 1px solid rgba(31,31,31,.16); border-radius: 12px; outline: 0; color: var(--ink); background: #fff; font: inherit; font-size: 12px; font-weight: 600; letter-spacing: -.03em; text-transform: none; }
.insights-filter select:focus { border-color: #8f6c07; box-shadow: 0 0 0 4px rgba(247,207,76,.28); }
.insights-results { margin: 0 0 18px; color: #777; font-size: 11px; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; }
.insights-library-catalog { width: 100%; margin-top: clamp(44px, 6vw, 82px); }
.insights-grid { display: grid; width: min(calc(100% - 48px), 1280px); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3.4vw, 54px) clamp(18px, 2.1vw, 32px); margin: 0 auto; }
.insight-card { position: relative; display: flex; min-width: 0; flex-direction: column; color: var(--ink); transition: transform .3s cubic-bezier(.2,.75,.2,1); }
.insight-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; border: 1px solid rgba(31,31,31,.09); background: #e7e5df; box-shadow: 0 10px 26px rgba(0,0,0,.075); }
.insight-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.75,.2,1); }
.insight-card-media > span { position: absolute; top: 11px; left: 11px; display: inline-flex; min-height: 25px; align-items: center; padding: 0 10px; color: var(--ink); background: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.insight-card-copy { display: grid; gap: 10px; padding: 16px 3px 7px; }
.insight-card-copy time { color: #7b7b7b; font-size: 10px; font-weight: 700; letter-spacing: .05em; }
.insight-card-copy strong { color: var(--ink); font-size: clamp(20px, 1.8vw, 28px); font-weight: 600; line-height: 1.03; letter-spacing: -.07em; }
.insight-card-copy > span { display: -webkit-box; overflow: hidden; color: #666; font-size: 12px; line-height: 1.48; letter-spacing: -.025em; line-clamp: 3; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.insight-card-more { margin-top: auto; padding: 15px 3px 0; color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: -.02em; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 3px; text-underline-offset: 6px; }
.insight-card:hover, .insight-card:focus-visible { transform: translateY(-5px); }
.insight-card:hover .insight-card-media img, .insight-card:focus-visible .insight-card-media img { transform: scale(1.045); }
.insight-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.insight-card[hidden] { display: none; }
.insights-empty { width: min(500px, calc(100% - 40px)); margin: 12px auto 0; padding: 26px; border: 1px dashed rgba(31,31,31,.22); color: #646464; background: #fff; font-size: 14px; line-height: 1.5; text-align: center; }

.insight-detail-page { background: #f8f7f4; }
.insight-detail-hero { height: 500px; padding: 8px; }
.insight-detail-media { position: relative; width: 100%; height: 100%; margin: 0; overflow: hidden; background: #252525; }
.insight-detail-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 18%, rgba(0,0,0,.72) 100%); content: ''; pointer-events: none; }
.insight-detail-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.insight-detail-hero-overlay { position: absolute; z-index: 1; right: clamp(24px, 5vw, 80px); bottom: clamp(30px, 6vw, 88px); left: clamp(24px, 5vw, 80px); }
.insight-detail-hero-overlay p { margin: 0 0 14px; color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.insight-detail-hero-overlay h1 { position: static; max-width: 1080px; height: auto; margin: 0; overflow: visible; color: #fff; font-size: clamp(46px, 7vw, 104px); font-weight: 600; line-height: .9; letter-spacing: -.095em; text-wrap: balance; white-space: normal; }
.insight-article { padding: clamp(80px, 11vw, 160px) 20px; background: #fff; }
.insight-article-copy { width: min(760px, 100%); margin: 0 auto; }
.insight-article-meta { display: flex; flex-wrap: wrap; gap: 8px; color: #777; font-size: 10px; font-weight: 700; letter-spacing: .055em; }
.insight-article-lede { margin: 22px 0 0; color: var(--ink); font-size: clamp(26px, 3vw, 40px); font-weight: 600; line-height: 1.08; letter-spacing: -.07em; }
.insight-article-copy > p:not(.insight-article-lede), .insight-article-section p { margin: 22px 0 0; color: #555; font-size: clamp(15px, 1.35vw, 18px); line-height: 1.67; letter-spacing: -.03em; }
.insight-article-section { margin-top: clamp(48px, 6vw, 78px); }
.insight-article-section h2 { margin: 0; color: var(--ink); font-size: clamp(31px, 4vw, 55px); font-weight: 600; line-height: .98; letter-spacing: -.08em; }
.insight-sources { margin-top: clamp(52px, 7vw, 88px); padding: 22px 0 0; border-top: 3px solid var(--accent); }
.insight-sources p { margin: 0; color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.insight-sources span { display: block; margin-top: 12px; color: #666; font-size: 12px; line-height: 1.55; letter-spacing: -.025em; }
.insight-related { padding: clamp(76px, 10vw, 144px) max(20px, calc((100% - 1280px) / 2)); background: #f0efec; }
.insight-related-intro { max-width: 580px; margin-bottom: clamp(34px, 5vw, 62px); }
.insight-related h2 { margin: 0; color: var(--ink); font-size: clamp(38px, 5vw, 70px); font-weight: 600; line-height: .96; letter-spacing: -.085em; }
.insight-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.insight-sticky-back { position: fixed; z-index: 35; bottom: max(20px, env(safe-area-inset-bottom)); left: max(20px, env(safe-area-inset-left)); display: grid; width: 52px; height: 48px; place-items: center; padding: 0 0 3px; border: 1px solid rgba(31,31,31,.08); border-radius: 999px; color: #303030; background: var(--accent); box-shadow: 0 12px 30px rgba(0,0,0,.2); font-size: 30px; line-height: 1; transition: background .2s ease, color .2s ease, transform .2s ease; }
.insight-sticky-back:hover, .insight-sticky-back:focus-visible { color: #fff; background: var(--ink); outline: none; transform: translateY(-2px); }

@media (max-width: 900px) {
  .insights-library-controls { grid-template-columns: minmax(0, 1fr) minmax(180px, .4fr); }
  .insights-results { grid-column: 1 / -1; margin: 3px 0 0; }
  .insights-grid, .insight-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 660px) {
  .insights-library { padding: 78px 0 86px; }
  .insights-library-intro, .insights-library-controls, .insights-grid { width: calc(100% - 36px); }
  .insights-library h1 { font-size: clamp(46px, 13vw, 66px); }
  .insights-library-intro > p:last-child { font-size: 15px; }
  .insights-library-controls { grid-template-columns: 1fr; margin-top: 42px; }
  .insights-results { grid-column: auto; margin: 1px 0 0; }
  .insights-grid, .insight-related-grid { grid-template-columns: 1fr; gap: 30px; }
  .insight-card-copy strong { font-size: 24px; }
  .insight-detail-hero { height: min(510px, 112vw); padding: 6px; }
  .insight-detail-hero-overlay { right: 20px; bottom: 28px; left: 20px; }
  .insight-detail-hero-overlay h1 { font-size: clamp(40px, 11vw, 62px); }
  .insight-article { padding: 74px 20px; }
  .insight-article-lede { font-size: 27px; }
  .insight-article-section { margin-top: 52px; }
  .insight-related { padding: 72px 20px; }
  .insight-sticky-back { bottom: max(14px, env(safe-area-inset-bottom)); left: max(14px, env(safe-area-inset-left)); width: 48px; height: 44px; font-size: 28px; }
}


/* Kostenrechner: zweite, gleichartige RPLC-Rechnerbühne */
.cost-calculator {
  --cost-stage-height: clamp(560px, 72svh, 650px);
  position: relative;
  min-height: calc(var(--cost-stage-height) + 16px);
  overflow: hidden;
  padding: 8px;
  color: var(--ink);
  background: var(--paper);
}
.cost-calculator-intro {
  display: grid;
  width: min(100%, 1260px);
  min-height: var(--cost-stage-height);
  grid-template-columns: minmax(0, 1fr) minmax(370px, .82fr);
  gap: clamp(42px, 9vw, 148px);
  align-items: center;
  margin: 0 auto;
  padding: clamp(42px, 4vw, 78px) clamp(42px, 5.3vw, 92px);
  transition: opacity 520ms ease, transform 620ms cubic-bezier(.22,.8,.24,1);
}
.cost-calculator-intro-copy { display: flex; max-width: 600px; flex-direction: column; align-items: flex-start; }
.cost-calculator-eyebrow { margin: 0; color: #8d6900; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.cost-calculator-intro :is(h1, h2) { max-width: 640px; margin: 16px 0 0; color: var(--ink); font-size: clamp(42px, 4vw, 62px); font-weight: 600; line-height: .98; letter-spacing: -.08em; text-wrap: balance; }
.cost-calculator-intro-copy > p:last-of-type { max-width: 470px; margin: clamp(19px, 2vw, 28px) 0 0; color: #606060; font-size: clamp(15px, 1.25vw, 18px); line-height: 1.52; letter-spacing: -.03em; }
.cost-calculator-launch { min-height: 42px; margin-top: clamp(24px, 3vw, 36px); padding: 0 17px; border: 1px solid var(--ink); border-radius: 999px; color: var(--ink); background: transparent; font: inherit; font-size: 10px; font-weight: 700; letter-spacing: -.02em; transition: color .22s ease, background .22s ease, transform .22s ease; }
.cost-calculator-launch:hover, .cost-calculator-launch:focus-visible { color: var(--ink); background: var(--accent); outline: none; transform: translateY(-2px); }
.cost-calculator-intro-image { position: relative; width: min(100%, 440px); min-height: clamp(330px, 32vw, 425px); margin: 0; justify-self: end; overflow: hidden; border: clamp(4px, .45vw, 7px) solid #fff; border-radius: clamp(16px, 1.4vw, 23px); background: #e9e7e2; box-shadow: 0 18px 38px rgba(27,27,27,.14); transform: rotate(1.1deg); }
.cost-calculator-intro-image::before { position: absolute; z-index: 1; inset: 0; border: 1px solid rgba(31,31,31,.09); content: ''; pointer-events: none; }
.cost-calculator-intro-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% 50%; transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.cost-calculator-intro-image:hover img { transform: scale(1.035); }
.cost-calculator-shell { position: absolute; inset: 8px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; height: var(--cost-stage-height); opacity: 0; visibility: hidden; transform: translateX(18%); transition: opacity 440ms ease 120ms, transform 620ms cubic-bezier(.22,.8,.24,1) 40ms, visibility 0s linear 620ms; }
.cost-calculator-shell[hidden] { display: none; }
.cost-calculator.is-cost-calculator-open > .cost-calculator-intro { opacity: 0; pointer-events: none; transform: translateX(-18%); }
.cost-calculator.is-cost-calculator-open > .cost-calculator-shell { opacity: 1; visibility: visible; transform: translateX(0); transition-delay: 80ms,0s,0s; }
.cost-calculator-media { position: relative; min-width: 0; height: 100%; margin: 0; overflow: hidden; background: #e7e3dc; }
.cost-calculator-media > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% 50%; }
.cost-calculator-media::after { position: absolute; inset: 35% 0 0; background: linear-gradient(0deg, rgba(0,0,0,.72), transparent); content: ''; pointer-events: none; }
.cost-live-panel { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: grid; height: 152px; margin: 0; padding: 25px clamp(22px, 3vw, 36px); grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: minmax(0, 1fr) 16px 22px; column-gap: clamp(14px, 2vw, 27px); row-gap: 8px; align-items: end; color: #fff; text-shadow: 0 2px 13px rgba(0,0,0,.36); }
.cost-live-label { grid-column: 1; grid-row: 1; align-self: end; margin: 0; color: #fff; font-size: clamp(34px, 3vw, 44px); font-weight: 600; line-height: .9; letter-spacing: -.09em; }
.cost-live-price { grid-column: 2; grid-row: 1; align-self: end; margin: 0; color: #fff; font-size: clamp(30px, 3.1vw, 50px); font-weight: 600; line-height: .9; letter-spacing: -.085em; text-align: right; white-space: nowrap; }
.cost-live-progress { display: flex; grid-column: 1 / -1; grid-row: 2; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cost-live-progress li { width: 7px; height: 7px; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: transparent; }
.cost-live-progress li span { display: block; width: 100%; height: 100%; border-radius: inherit; }
.cost-live-progress li.is-complete { border-color: #fff; background: #fff; }
.cost-live-progress li.is-active { border-color: var(--accent); background: var(--accent); box-shadow: 0 0 0 3px rgba(247,207,76,.25); }
.cost-live-suffix { grid-column: 1 / -1; grid-row: 3; height: 22px; min-height: 22px; margin: 0; overflow: hidden; color: rgba(255,255,255,.86); font-size: 10px; line-height: 1.3; text-align: center; }
.cost-calculator-workspace { display: flex; min-width: 0; height: 100%; flex-direction: column; padding: clamp(29px, 3.3vw, 48px); overflow: hidden; border: 1px solid rgba(31,31,31,.12); background: #fff; box-shadow: 0 20px 48px rgba(31,31,31,.055); }
.cost-question-flow { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; justify-content: center; }
.cost-question-flow[hidden], .cost-result[hidden] { display: none; }
.cost-step-count { margin: 0 0 12px; color: #8d6900; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cost-question-flow :is(h2, h3), .cost-result-intro :is(h2, h3) { max-width: 510px; margin: 0; color: var(--ink); font-size: clamp(25px, 2vw, 31px); font-weight: 600; line-height: 1.03; letter-spacing: -.065em; text-wrap: balance; }
.cost-question-copy, .cost-result-intro > p:last-child { max-width: 500px; margin: 12px 0 0; color: #686868; font-size: 12px; line-height: 1.48; letter-spacing: -.025em; }
.cost-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 19px; }
.cost-choice-grid--dense { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cost-choice { min-height: 76px; padding: 13px; border: 1px solid rgba(31,31,31,.14); border-radius: 10px; color: var(--ink); background: #fbfaf8; font: inherit; text-align: left; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.cost-choice strong, .cost-choice span { display: block; }
.cost-choice strong { font-size: 11px; font-weight: 700; line-height: 1.17; letter-spacing: -.035em; }
.cost-choice span { margin-top: 5px; color: #6b6b6b; font-size: 9px; line-height: 1.3; letter-spacing: -.02em; }
.cost-choice:hover, .cost-choice:focus-visible { border-color: var(--ink); background: #fff; outline: none; box-shadow: inset 3px 0 0 rgba(247,207,76,.75); }
.cost-choice.is-selected { border-color: var(--ink); background: #fff; box-shadow: inset 3px 0 0 var(--accent); }
.cost-question-navigation { display: grid; min-height: 38px; flex: 0 0 auto; grid-template-columns: auto auto; justify-content: center; gap: 12px; margin-top: 12px; }
.cost-back, .cost-next, .cost-contact, .cost-download-form button { display: inline-flex; min-width: 102px; min-height: 38px; align-items: center; justify-content: center; padding: 0 14px; border-radius: 999px; font: inherit; font-size: 9px; font-weight: 700; letter-spacing: -.02em; transition: color .2s ease, background .2s ease, transform .2s ease; }
.cost-back { border: 1px solid var(--ink); color: var(--ink); background: #fff; }
.cost-next, .cost-contact, .cost-download-form button { border: 1px solid var(--accent); color: var(--ink); background: var(--accent); }
.cost-back:hover, .cost-back:focus-visible { background: #f3f1eb; outline: none; transform: translateY(-1px); }
.cost-next:hover, .cost-next:focus-visible, .cost-contact:hover, .cost-contact:focus-visible, .cost-download-form button:hover, .cost-download-form button:focus-visible { background: #ffd967; outline: none; transform: translateY(-1px); }
.cost-next:disabled, .cost-back:disabled { cursor: default; border-color: #e6e4e0; color: #aaa7a1; background: #f5f3ef; transform: none; }
.cost-result { min-height: 0; flex: 1 1 auto; overflow: auto; scrollbar-width: thin; }
.cost-result-intro { max-width: 610px; }
.cost-result-highlight { margin-top: 18px; padding: 18px 20px; border-radius: 14px; color: var(--ink); background: #f8f7f4; }
.cost-result-highlight p { margin: 0; color: #777; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cost-result-highlight output { display: block; margin-top: 9px; color: var(--ink); font-size: clamp(37px, 3.75vw, 53px); font-weight: 600; line-height: .88; letter-spacing: -.085em; }
.cost-result-highlight span, .cost-result-highlight small { display: block; margin-top: 8px; color: #666; font-size: 10px; line-height: 1.35; }
.cost-result-highlight small { color: #8d6900; font-weight: 700; }
.cost-breakdown { display: grid; gap: 10px; margin-top: 11px; }
.cost-breakdown-group { overflow: hidden; border: 1px solid rgba(31,31,31,.11); border-radius: 12px; background: #fff; }
.cost-breakdown-group header { padding: 12px 14px 9px; border-bottom: 1px solid rgba(31,31,31,.1); }
.cost-breakdown-group header p { margin: 0; color: #777; font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.cost-breakdown-group header h4 { margin: 5px 0 0; color: var(--ink); font-size: 15px; font-weight: 600; line-height: 1.05; letter-spacing: -.045em; }
.cost-breakdown-lines { display: grid; gap: 5px; padding: 10px 14px; }
.cost-breakdown-lines div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; color: #656565; font-size: 9px; line-height: 1.28; letter-spacing: -.02em; }
.cost-breakdown-lines div span:last-child { color: #333; font-weight: 700; white-space: nowrap; }
.cost-breakdown-group footer { display: flex; justify-content: space-between; gap: 12px; padding: 10px 14px; border-top: 1px solid rgba(31,31,31,.1); color: #666; font-size: 9px; line-height: 1.25; }
.cost-breakdown-group footer strong { color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: -.04em; white-space: nowrap; }
.cost-methodology { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(31,31,31,.12); }
.cost-methodology summary { cursor: pointer; color: #666; font-size: 9px; font-weight: 700; letter-spacing: .02em; }
.cost-methodology summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.cost-methodology div { margin-top: 10px; color: #656565; font-size: 9px; line-height: 1.45; letter-spacing: -.015em; }
.cost-methodology p { margin: 0 0 8px; }
.cost-download { display: grid; grid-template-columns: minmax(0,.85fr) minmax(260px,1.15fr); gap: 18px; align-items: center; margin-top: 13px; padding: 18px; border-radius: 14px; color: #fff; background: #1f1f1f; }
.cost-download .cost-calculator-eyebrow { color: var(--accent); }
.cost-download :is(h3, h4) { margin: 9px 0 0; color: #fff; font-size: 18px; font-weight: 600; line-height: 1.08; letter-spacing: -.055em; }
.cost-download > div > p:last-child { margin: 10px 0 0; color: rgba(255,255,255,.7); font-size: 10px; line-height: 1.42; }
.cost-download-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.cost-download-form label { display: grid; gap: 4px; color: rgba(255,255,255,.72); font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.cost-download-form input { width: 100%; min-height: 36px; padding: 0 9px; border: 1px solid rgba(255,255,255,.28); border-radius: 8px; color: #fff; background: rgba(255,255,255,.08); font: inherit; font-size: 10px; outline: none; }
.cost-download-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(247,207,76,.2); }
.cost-download-form button { grid-column: 1 / -1; justify-self: start; min-width: 0; min-height: 34px; margin-top: 2px; }
.cost-download-status { grid-column: 1 / -1; min-height: 1.4em; margin: 0; color: var(--accent); font-size: 9px; line-height: 1.35; }
.cost-result-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 13px; padding-bottom: 2px; }

@media (max-width: 840px) {
  .cost-calculator { min-height: auto; overflow: visible; }
  .cost-calculator-intro { width: 100%; min-height: auto; grid-template-columns: 1fr; gap: 43px; padding: 54px 26px 60px; }
  .cost-calculator-intro-image { width: min(100%, 440px); height: clamp(280px, 74vw, 430px); justify-self: center; }
  .cost-calculator-shell { position: relative; inset: auto; grid-template-columns: 1fr; height: auto; min-height: auto; opacity: 1; visibility: visible; transform: none; }
  .cost-calculator.is-cost-calculator-open > .cost-calculator-intro { display: none; }
  .cost-calculator-media { min-height: 390px; }
  .cost-calculator-workspace { min-height: 570px; }
  .cost-download { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .cost-calculator { --cost-mobile-stage-height: 100svh; box-sizing: border-box; height: var(--cost-mobile-stage-height); min-height: var(--cost-mobile-stage-height); max-height: var(--cost-mobile-stage-height); overflow: hidden; }
  .cost-calculator-intro { display: grid; width: 100%; height: calc(var(--cost-mobile-stage-height) - 16px); min-height: 0; grid-template-rows: auto minmax(0,1fr); gap: 14px; margin: 0; padding: 42px 20px 20px; overflow: hidden; }
  .cost-calculator-intro :is(h1, h2) { margin-top: 0; font-size: clamp(31px, 9vw, 39px); line-height: .98; }
  .cost-calculator-intro-copy > p:last-of-type { max-width: 340px; margin-top: 15px; font-size: 14px; line-height: 1.42; }
  .cost-calculator-launch { min-height: 42px; margin-top: 21px; padding: 0 20px; }
  .cost-calculator-intro-image { width: min(100%, 355px); height: auto; min-height: 0; max-height: 390px; align-self: start; margin-top: 26px; border-radius: 17px; }
  .cost-calculator.is-cost-calculator-open > .cost-calculator-shell { display: grid; width: 100%; height: calc(var(--cost-mobile-stage-height) - 16px); min-height: 0; grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) minmax(0,1fr); gap: 8px; overflow: hidden; }
  .cost-calculator-media { min-height: 0; height: auto; }
  .cost-live-panel { height: 123px; padding: 18px; grid-template-rows: minmax(0,1fr) 14px 18px; }
  .cost-live-label { font-size: 29px; }
  .cost-live-price { font-size: clamp(23px, 7.3vw, 32px); }
  .cost-live-progress { gap: 7px; }
  .cost-live-progress li { width: 6px; height: 6px; }
  .cost-live-suffix { height: 18px; min-height: 18px; font-size: 8px; }
  .cost-calculator-workspace { min-height: 0; height: auto; padding: 12px 14px 11px; }
  .cost-question-flow { justify-content: flex-start; overflow: auto; scrollbar-width: thin; }
  .cost-step-count { margin-bottom: 7px; font-size: 8px; }
  .cost-question-flow :is(h2, h3), .cost-result-intro :is(h2, h3) { font-size: 22px; line-height: 1.04; }
  .cost-question-copy, .cost-result-intro > p:last-child { margin-top: 6px; font-size: 10px; line-height: 1.32; }
  .cost-choice-grid, .cost-choice-grid--dense { gap: 6px; margin-top: 10px; }
  .cost-choice { min-height: 57px; padding: 9px; }
  .cost-choice strong { font-size: 9px; line-height: 1.14; }
  .cost-choice span { display: none; }
  .cost-question-navigation { min-height: 35px; gap: 9px; margin-top: 7px; }
  .cost-back, .cost-next, .cost-contact, .cost-download-form button { min-width: 88px; min-height: 35px; padding: 0 12px; font-size: 9px; }
  .cost-result { padding-right: 1px; }
  .cost-result-highlight { margin-top: 10px; padding: 12px 14px; }
  .cost-result-highlight output { margin-top: 7px; font-size: 33px; }
  .cost-result-highlight span, .cost-result-highlight small { margin-top: 5px; font-size: 8px; }
  .cost-breakdown { gap: 7px; margin-top: 8px; }
  .cost-breakdown-group header { padding: 9px 11px 7px; }
  .cost-breakdown-group header h4 { font-size: 13px; }
  .cost-breakdown-lines { gap: 4px; padding: 8px 11px; }
  .cost-breakdown-lines div, .cost-breakdown-group footer { font-size: 8px; }
  .cost-breakdown-group footer { padding: 8px 11px; }
  .cost-breakdown-group footer strong { font-size: 10px; }
  .cost-methodology { margin-top: 9px; padding-top: 8px; }
  .cost-methodology summary, .cost-methodology div { font-size: 8px; }
  .cost-download { gap: 9px; margin-top: 10px; padding: 11px; }
  .cost-download :is(h3, h4) { font-size: 15px; }
  .cost-download > div > p:last-child { margin-top: 6px; font-size: 8px; }
  .cost-download-form { gap: 6px; }
  .cost-download-form label { font-size: 7px; }
  .cost-download-form input { min-height: 34px; font-size: 10px; }
  .cost-result-actions { gap: 8px; margin-top: 10px; padding-bottom: 1px; }
}
@media (max-width: 420px) {
  .cost-choice-grid, .cost-choice-grid--dense { grid-template-columns: 1fr; }
  .cost-choice { min-height: 47px; }
}
.cost-calculator-page .cost-calculator { margin: 0; }
@media (max-width: 620px) {
  .cost-calculator-page .cost-calculator { --cost-mobile-stage-height: calc(100svh - var(--header-height)); }
}
@media (prefers-reduced-motion: reduce) {
  .cost-calculator-intro, .cost-calculator-shell, .cost-calculator-intro-image img { transition: none; }
}


/* Kostenrechner-Einstieg: dieselbe gestapelte Bildsprache wie die Budget-Orientierung */
.cost-intro-image-stack { position: relative; width: min(100%, 440px); min-height: clamp(330px, 32vw, 425px); height: auto; justify-self: end; }
.cost-intro-image-card { position: absolute; display: block; width: clamp(205px, 20vw, 285px); aspect-ratio: 4 / 5; overflow: hidden; border: clamp(4px, .45vw, 7px) solid #fff; border-radius: clamp(16px, 1.4vw, 23px); background: #e9e7e2; box-shadow: 0 18px 38px rgba(27,27,27,.14); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease; }
.cost-intro-image-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.cost-intro-image-card--back { z-index: 1; top: 0; right: 6%; transform: rotate(2deg); opacity: .64; }
.cost-intro-image-card--back img { object-position: 70% 50%; }
.cost-intro-image-card--middle { z-index: 2; top: clamp(17px, 2.1vw, 30px); right: 17%; transform: rotate(-1.5deg); }
.cost-intro-image-card--middle img { object-position: 60% 50%; }
.cost-intro-image-card--front { z-index: 3; top: clamp(40px, 4.3vw, 64px); left: 5%; transform: rotate(.8deg); }
.cost-intro-image-card--front img { object-position: 49% 50%; }
.cost-intro-image-stack:hover .cost-intro-image-card--back { transform: translate(10px,-7px) rotate(2.5deg); }
.cost-intro-image-stack:hover .cost-intro-image-card--middle { transform: translate(-6px,-5px) rotate(-2.1deg); }
.cost-intro-image-stack:hover .cost-intro-image-card--front { box-shadow: 0 24px 48px rgba(27,27,27,.2); transform: translate(-8px,-5px) rotate(.2deg); }
.cost-intro-image-stack:hover .cost-intro-image-card img { transform: scale(1.035); }
@media (max-width: 840px) {
  .cost-intro-image-stack { width: min(100%, 355px); min-height: 315px; justify-self: center; }
  .cost-intro-image-card,
  .cost-intro-image-card--back,
  .cost-intro-image-card--middle,
  .cost-intro-image-card--front { width: min(72vw, 235px); }
  .cost-intro-image-card--back { right: 2%; }
  .cost-intro-image-card--middle { right: 13%; }
  .cost-intro-image-card--front { left: 2%; }
}
@media (max-width: 620px) {
  .cost-intro-image-stack { width: min(100%, 355px); min-height: 0; height: 100%; max-height: 390px; align-self: start; margin-top: 26px; }
  .cost-intro-image-card,
  .cost-intro-image-card--back,
  .cost-intro-image-card--middle,
  .cost-intro-image-card--front { width: min(72vw, 245px); }
}
@media (max-width: 620px) and (max-height: 680px) {
  .cost-intro-image-stack { max-height: 325px; margin-top: 18px; }
  .cost-intro-image-card,
  .cost-intro-image-card--back,
  .cost-intro-image-card--middle,
  .cost-intro-image-card--front { width: min(68vw, 225px); }
}


.cost-calculator-draft-note { display: block; max-width: 465px; margin-top: 11px; color: #777; font-size: 10px; line-height: 1.35; letter-spacing: -.02em; }
.cost-breakdown-lines div > span:first-child { min-width: 0; }
.cost-breakdown-lines div > span:first-child strong { display: block; color: #444; font-size: inherit; font-weight: 700; }
.cost-breakdown-lines div > span:first-child small { display: block; margin-top: 2px; color: #777; font-size: 8px; line-height: 1.3; }
.cost-rate-table { width: 100%; margin: 9px 0 11px; border-collapse: collapse; color: #555; font-size: 8px; line-height: 1.3; text-align: right; }
.cost-rate-table caption { margin-bottom: 5px; color: #444; font-weight: 700; text-align: left; }
.cost-rate-table th, .cost-rate-table td { padding: 5px; border: 1px solid rgba(31,31,31,.12); }
.cost-rate-table th { color: #333; font-weight: 700; text-align: left; }
.cost-rate-table thead th:not(:first-child), .cost-rate-table td { text-align: right; }
@media (max-width: 620px) {
  .cost-calculator-draft-note { margin-top: 8px; font-size: 8px; line-height: 1.28; }
  .cost-breakdown-lines div > span:first-child small { font-size: 7px; line-height: 1.25; }
  .cost-rate-table { font-size: 7px; }
  .cost-rate-table th, .cost-rate-table td { padding: 4px 3px; }
}


/* Unverlinkte Podcast-Arbeitsseiten */
.podcast-workspace-page .contact-page-intro { max-width: 760px; }
.podcast-workspace-page .contact-page-intro h1 { position: static; width: auto; height: auto; min-height: 0; overflow: visible; white-space: normal; line-height: .99; text-wrap: balance; }
.podcast-workspace-stage { display: grid; min-height: clamp(190px, 22vw, 275px); align-content: end; gap: 14px; margin-top: clamp(42px, 6vw, 84px); padding: clamp(28px, 4vw, 56px); border: 1px solid rgba(31,31,31,.14); border-radius: clamp(22px, 2.5vw, 36px); color: var(--ink); background: #fff; box-shadow: 0 18px 46px rgba(31,31,31,.05); }
.podcast-workspace-marker { margin: 0; color: #8d6900; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.podcast-workspace-stage h2 { max-width: 620px; margin: 0; color: var(--ink); font-size: clamp(30px, 4.1vw, 62px); font-weight: 700; line-height: .94; letter-spacing: -.075em; text-wrap: balance; }
@media (max-width: 760px) {
  .podcast-workspace-stage { min-height: 178px; margin-top: 38px; padding: 26px 22px; border-radius: 20px; }
  .podcast-workspace-stage h2 { font-size: clamp(29px, 9vw, 48px); }
}


/* Podcast-Upload und Abnahme */
.podcast-workspace-stage { display: grid; gap: clamp(24px, 3vw, 42px); align-content: start; min-height: 0; }
.podcast-workspace-stage > h2,
.podcast-review-stage-header h2,
.podcast-review-dialog h2 { max-width: 620px; margin: 0; color: var(--ink); font-size: clamp(30px, 4.1vw, 62px); font-weight: 700; line-height: .94; letter-spacing: -.075em; text-wrap: balance; }
.podcast-upload-form { display: grid; gap: 18px; max-width: 780px; }
.podcast-workspace-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.podcast-workspace-field { display: grid; gap: 7px; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: -.025em; }
.podcast-workspace-field input,
.podcast-workspace-field textarea,
.podcast-workspace-field select { width: 100%; min-height: 52px; padding: 0 16px; border: 1px solid rgba(31,31,31,.26); border-radius: 13px; color: var(--ink); background: #fff; font: inherit; font-weight: 500; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.podcast-workspace-field textarea { min-height: 128px; padding: 14px 16px; resize: vertical; }
.podcast-workspace-field input:focus,
.podcast-workspace-field textarea:focus,
.podcast-workspace-field select:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(247,207,76,.42); }
.podcast-workspace-field--wide { grid-column: 1 / -1; }
.podcast-file-picker { display: grid; gap: 7px; min-height: 164px; align-content: center; padding: 22px; border: 1px dashed rgba(31,31,31,.46); border-radius: 18px; color: var(--ink); background: #f8f7f4; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.podcast-file-picker:hover { border-color: var(--ink); background: #f3f1eb; transform: translateY(-1px); }
.podcast-file-picker:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(247,207,76,.42); }
.podcast-file-picker input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.podcast-file-picker-title { font-size: clamp(19px, 2vw, 26px); font-weight: 700; letter-spacing: -.055em; }
.podcast-file-picker-copy { color: #626262; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.podcast-file-picker-limit { color: #8d6900; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.podcast-upload-progress { display: flex; min-height: 48px; align-items: center; gap: 12px; padding: 10px 13px; border: 1px solid rgba(31,31,31,.12); border-radius: 13px; color: #535353; background: #f8f7f4; font-size: 11px; font-weight: 700; }
.podcast-upload-progress[hidden] { display: none; }
.podcast-upload-progress progress { width: min(100%, 380px); min-width: 0; height: 8px; flex: 1 1 auto; accent-color: var(--accent); }
.podcast-upload-progress > span { min-width: 88px; color: #706e68; text-align: right; }
.podcast-upload-progress[data-state="uploading"] { border-color: rgba(247,207,76,.85); background: #fffaf0; }
.podcast-upload-progress[data-state="verifying"] { border-color: rgba(31,31,31,.24); background: #f4f3ef; }
.podcast-upload-progress[data-state="transcribing"] { border-color: rgba(141,105,0,.3); color: #695200; background: #fffaf0; }
.podcast-upload-progress[data-state="complete"] { border-color: rgba(64,105,41,.28); color: #406929; background: #f4f8ef; }
.podcast-upload-progress[data-state="error"] { border-color: rgba(163,35,35,.28); color: #a32323; background: #fff4f3; }
.podcast-workspace-primary,
.podcast-review-refresh,
.podcast-review-approve,
.podcast-review-reject { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; width: fit-content; padding: 0 20px; border: 0; border-radius: 999px; color: var(--ink); background: var(--accent); font: inherit; font-size: 11px; font-weight: 700; letter-spacing: -.025em; cursor: pointer; transition: transform .2s ease, background .2s ease, opacity .2s ease; }
.podcast-workspace-primary:hover,
.podcast-review-refresh:hover,
.podcast-review-approve:hover,
.podcast-review-reject:hover { background: #f9d75d; transform: translateY(-2px); }
.podcast-workspace-primary:focus-visible,
.podcast-review-refresh:focus-visible,
.podcast-review-approve:focus-visible,
.podcast-review-reject:focus-visible { outline: 3px solid rgba(31,31,31,.55); outline-offset: 3px; }
.podcast-workspace-primary:disabled,
.podcast-review-refresh:disabled { cursor: wait; opacity: .58; transform: none; }
.podcast-workspace-status { min-height: 18px; margin: 0; color: #626262; font-size: 12px; line-height: 1.45; }
.podcast-workspace-status:not(:empty) { padding: 10px 13px; border-left: 3px solid #a9a69f; border-radius: 0 10px 10px 0; background: #f8f7f4; }
.podcast-workspace-status.is-uploading { border-left-color: #d0a208; color: #695200; background: #fffaf0; }
.podcast-workspace-status.is-success { border-left-color: #406929; color: #406929; background: #f4f8ef; }
.podcast-workspace-status.is-error { border-left-color: #a32323; color: #a32323; background: #fff4f3; }
.podcast-review-stage-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.podcast-review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.podcast-review-empty { grid-column: 1 / -1; margin: 0; padding: 28px; border: 1px solid rgba(31,31,31,.13); border-radius: 16px; color: #626262; background: #fff; font-size: 14px; }
.podcast-review-card { display: grid; gap: 18px; padding: clamp(20px, 2.4vw, 30px); border: 1px solid rgba(31,31,31,.13); border-radius: 20px; background: #fff; box-shadow: 0 14px 30px rgba(31,31,31,.04); }
.podcast-review-card.is-approved { border-color: rgba(64,105,41,.3); }
.podcast-review-card.is-rejected { border-color: rgba(163,35,35,.28); }
.podcast-review-card-header { display: grid; gap: 8px; }
.podcast-review-card-meta { margin: 0; color: #8d6900; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.podcast-review-card-title { margin: 0; color: var(--ink); font-size: clamp(22px, 2.1vw, 32px); font-weight: 700; line-height: 1; letter-spacing: -.065em; text-wrap: balance; }
.podcast-review-audio { width: 100%; }
.podcast-transcript-link { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin: -7px 0 0; color: #6b6963; font-size: 11px; line-height: 1.4; }
.podcast-transcript-link a { display: inline-flex; min-height: 30px; align-items: center; padding: 0 11px; border: 1px solid rgba(31,31,31,.22); border-radius: 999px; color: var(--ink); background: #fff; font-weight: 700; text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.podcast-transcript-link a::before { margin-right: 6px; color: #8d6900; content: '↓'; font-size: 14px; line-height: 1; }
.podcast-transcript-link a:hover, .podcast-transcript-link a:focus-visible { border-color: var(--ink); background: var(--accent); outline: none; transform: translateY(-1px); }
.podcast-transcript-link span { color: #777; font-size: 10px; font-weight: 700; }
.podcast-transcript-link.is-pending { color: #7d6100; }
.podcast-transcript-link.is-error { color: #a32323; }
.podcast-review-details { display: grid; gap: 9px; margin: 0; padding-top: 5px; border-top: 1px solid rgba(31,31,31,.1); }
.podcast-review-details div { display: flex; justify-content: space-between; gap: 16px; color: #626262; font-size: 11px; line-height: 1.4; }
.podcast-review-details dt { font-weight: 700; }
.podcast-review-details dd { max-width: 62%; margin: 0; text-align: right; overflow-wrap: anywhere; }
.podcast-review-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.podcast-review-actions button { min-height: 42px; }
.podcast-review-reject { border: 1px solid rgba(31,31,31,.45); color: var(--ink); background: #fff; }
.podcast-review-reject:hover { background: #f3f1eb; }
.podcast-review-decision { display: grid; gap: 5px; padding-top: 15px; border-top: 1px solid rgba(31,31,31,.1); }
.podcast-review-decision strong { color: var(--ink); font-size: 12px; }
.podcast-review-decision span,
.podcast-review-decision p { margin: 0; color: #626262; font-size: 11px; line-height: 1.5; }
.podcast-review-dialog { width: min(calc(100% - 40px), 600px); padding: 0; border: 0; border-radius: 24px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.podcast-review-dialog::backdrop { background: rgba(17,17,17,.6); backdrop-filter: blur(4px); }
.podcast-review-dialog-form { position: relative; display: grid; gap: 17px; padding: clamp(26px, 4vw, 48px); }
.podcast-review-dialog-form > p:not(.podcast-workspace-marker):not(.podcast-workspace-status) { max-width: 470px; margin: 0; color: #626262; font-size: 14px; line-height: 1.55; }
.podcast-review-dialog-close { position: absolute; top: 16px; right: 16px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(31,31,31,.2); border-radius: 50%; color: var(--ink); background: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.podcast-review-dialog-close:hover { background: #f3f1eb; }
.podcast-upload-overview { display: grid; gap: clamp(18px, 2.6vw, 30px); margin-top: clamp(42px, 7vw, 90px); padding-top: clamp(36px, 5vw, 64px); border-top: 1px solid rgba(31,31,31,.16); }
.podcast-upload-overview-header { display: flex; align-items: end; justify-content: space-between; gap: 22px; }
.podcast-upload-overview-header > div { display: grid; gap: 12px; max-width: 720px; }
.podcast-upload-overview-header h2 { max-width: 720px; margin: 0; color: var(--ink); font-size: clamp(30px, 4.1vw, 62px); font-weight: 700; line-height: .94; letter-spacing: -.075em; text-wrap: balance; }
.podcast-upload-overview-header > div > p:last-child { max-width: 660px; margin: 0; color: #626262; font-size: 14px; line-height: 1.55; letter-spacing: -.025em; }
.podcast-upload-status-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.podcast-status-summary-item { display: grid; min-height: 106px; align-content: space-between; gap: 8px; padding: 15px; border: 1px solid rgba(31,31,31,.13); border-radius: 16px; background: #fff; }
.podcast-status-summary-item strong { color: var(--ink); font-size: clamp(24px, 3vw, 38px); font-weight: 700; line-height: .9; letter-spacing: -.07em; }
.podcast-status-summary-item > span { color: #626262; font-size: 10px; font-weight: 700; letter-spacing: .025em; }
.podcast-status-summary-item.is-pending { border-color: rgba(208,162,8,.4); background: #fffaf0; }
.podcast-status-summary-item.is-approved { border-color: rgba(64,105,41,.34); background: #f4f8ef; }
.podcast-status-summary-item.is-rejected { border-color: rgba(163,35,35,.32); background: #fff4f3; }
.podcast-status-pill { display: inline-flex; width: fit-content; align-items: center; gap: 6px; min-height: 24px; padding: 0 9px; border: 1px solid rgba(31,31,31,.16); border-radius: 999px; color: #56524c; background: #f8f7f4; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.podcast-status-pill-dot { width: 7px; height: 7px; border-radius: 50%; background: #888; box-shadow: 0 0 0 3px rgba(136,136,136,.12); }
.podcast-status-pill.is-pending { border-color: rgba(208,162,8,.35); color: #765d00; background: #fffaf0; }
.podcast-status-pill.is-pending .podcast-status-pill-dot { background: #d0a208; box-shadow: 0 0 0 3px rgba(208,162,8,.15); }
.podcast-status-pill.is-approved { border-color: rgba(64,105,41,.3); color: #406929; background: #f4f8ef; }
.podcast-status-pill.is-approved .podcast-status-pill-dot { background: #406929; box-shadow: 0 0 0 3px rgba(64,105,41,.14); }
.podcast-status-pill.is-rejected { border-color: rgba(163,35,35,.3); color: #a32323; background: #fff4f3; }
.podcast-status-pill.is-rejected .podcast-status-pill-dot { background: #a32323; box-shadow: 0 0 0 3px rgba(163,35,35,.13); }
.podcast-upload-overview-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.podcast-upload-overview-card { display: grid; gap: 18px; padding: clamp(20px, 2.4vw, 30px); border: 1px solid rgba(31,31,31,.13); border-radius: 20px; background: #fff; box-shadow: 0 14px 30px rgba(31,31,31,.04); }
.podcast-upload-overview-card.is-pending { border-color: rgba(208,162,8,.34); }
.podcast-upload-overview-card.is-approved { border-color: rgba(64,105,41,.3); }
.podcast-upload-overview-card.is-rejected { border-color: rgba(163,35,35,.28); }
.podcast-upload-overview-card-header { display: grid; gap: 8px; }
.podcast-upload-rejection { display: grid; gap: 7px; padding: 13px 15px; border: 1px solid rgba(163,35,35,.2); border-radius: 13px; color: #812727; background: #fff4f3; }
.podcast-upload-rejection strong { font-size: 11px; }
.podcast-upload-rejection p { margin: 0; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
@media (max-width: 760px) {
  .podcast-workspace-fields,
  .podcast-review-list,
  .podcast-upload-overview-list { grid-template-columns: 1fr; }
  .podcast-review-stage-header,
  .podcast-upload-overview-header { align-items: start; flex-direction: column; }
  .podcast-upload-status-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .podcast-status-summary-item { min-height: 94px; }
  .podcast-review-details div { align-items: start; flex-direction: column; gap: 2px; }
  .podcast-review-details dd { max-width: 100%; text-align: left; }
  .podcast-review-dialog { width: min(calc(100% - 24px), 600px); border-radius: 20px; }
  .podcast-review-dialog-form { padding: 30px 22px; }
}

/* Local SEO, consent and editorial summaries */
.footer-directory { grid-template-columns: 1.02fr 1.18fr .96fr 1fr .95fr .9fr; }
.footer-column address { display:block; margin:0; color:#656565; font-size:13px; font-style:normal; line-height:1.55; letter-spacing:-.025em; }
.footer-cookie-settings { display:block; margin:0; padding:0; border:0; color:#656565; background:transparent; font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.footer-cookie-settings:hover,.footer-cookie-settings:focus-visible { color:var(--ink); outline:2px solid var(--accent); outline-offset:3px; }
.cookie-consent { position:fixed; z-index:80; right:0; bottom:0; left:0; display:grid; width:100%; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:13px clamp(20px,4vw,64px); border:0; border-top:1px solid rgba(31,31,31,.14); border-radius:0; color:var(--ink); background:rgba(248,247,244,.97); box-shadow:0 -8px 24px rgba(31,31,31,.08); backdrop-filter:blur(14px); }
.cookie-consent[hidden] { display:none; }.cookie-consent > div:first-child { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:12px; row-gap:2px; }.cookie-consent-kicker { margin:0; color:#806000; font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.cookie-consent h2 { margin:0; font-size:15px; line-height:1.15; letter-spacing:-.045em; }.cookie-consent p:not(.cookie-consent-kicker) { max-width:none; margin:0; color:#625f59; font-size:11px; line-height:1.45; }.cookie-consent a { display:inline-block; margin:0; color:var(--ink); font-size:10px; font-weight:700; white-space:nowrap; }.cookie-consent-actions { display:flex; gap:7px; }.cookie-consent-actions button { min-height:34px; padding:0 13px; border:1px solid rgba(31,31,31,.33); border-radius:999px; font:inherit; font-size:10px; font-weight:700; white-space:nowrap; cursor:pointer; }.cookie-consent-primary { background:var(--accent); }.cookie-consent-secondary { background:#fff; }
.budget-download-consent { display:flex!important; align-items:flex-start; gap:9px; margin-top:4px; color:#64625e!important; font-size:10px!important; font-weight:500!important; line-height:1.45; }.budget-download-consent input { flex:0 0 auto; width:15px!important; min-height:15px!important; margin:1px 0 0; accent-color:var(--accent); }.budget-download-consent a { color:var(--ink); font-weight:700; }
.article-summary { display:grid; gap:8px; margin:24px 0 30px; padding:18px 20px; border-left:4px solid var(--accent); color:var(--ink); background:#f8f7f4; }.article-summary p { margin:0!important; color:#806000; font-size:10px!important; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.article-summary strong { display:block; max-width:740px; font-size:clamp(15px,1.35vw,19px); font-weight:600; line-height:1.5; letter-spacing:-.035em; }
.about-page-main { padding:clamp(110px,14vw,180px) clamp(20px,6vw,96px) clamp(90px,12vw,160px); background:#f8f7f4; }.about-page-content { width:min(100%,1360px); margin:0 auto; }.about-page-hero { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(28px,6vw,112px); align-items:end; }.about-page-intro { padding:clamp(10px,2vw,34px) 0; }.about-page-intro h1 { max-width:580px; margin:12px 0 20px; color:var(--ink); font-size:clamp(48px,6.2vw,96px); font-weight:700; line-height:.91; letter-spacing:-.09em; text-wrap:balance; }.about-page-intro>p:last-of-type { max-width:520px; margin:0; color:#5c5a55; font-size:clamp(15px,1.35vw,19px); line-height:1.55; }.about-page-cta { display:inline-flex; min-height:48px; align-items:center; margin-top:28px; padding:0 19px; border-radius:999px; color:var(--ink); background:var(--accent); font-size:12px; font-weight:700; text-decoration:none; }.about-page-media { min-height:clamp(330px,40vw,570px); margin:0; overflow:hidden; background:#e7e5df; }.about-page-media img { display:block; width:100%; height:100%; object-fit:cover; }.about-page-sections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:clamp(50px,8vw,112px); border:1px solid rgba(31,31,31,.14); background:rgba(31,31,31,.14); }.about-page-section { min-height:245px; padding:clamp(24px,3vw,44px); background:#fff; }.about-page-section h2 { margin:0; color:var(--ink); font-size:clamp(24px,2.6vw,42px); line-height:.98; letter-spacing:-.07em; }.about-page-section p { margin:22px 0 0; color:#5c5a55; font-size:14px; line-height:1.6; }
@media(max-width:1100px){.footer-directory{grid-template-columns:repeat(4,minmax(0,1fr));}.about-page-sections{grid-template-columns:1fr;}.about-page-section{min-height:0;}}@media(max-width:760px){.cookie-consent{right:0;bottom:0;left:0;width:100%;grid-template-columns:1fr;gap:10px;padding:12px 16px;}.cookie-consent>div:first-child{display:grid;gap:3px;}.cookie-consent h2{font-size:14px;}.cookie-consent p:not(.cookie-consent-kicker){font-size:10px;}.cookie-consent a{font-size:10px;}.cookie-consent-actions{display:grid;grid-template-columns:1fr 1fr;}.cookie-consent-actions button{min-height:36px;}.about-page-main{padding:94px 20px 72px;}.about-page-hero{grid-template-columns:1fr;gap:28px;}.about-page-intro{order:2;}.about-page-media{order:1;min-height:min(72vw,360px);}.about-page-intro h1{font-size:clamp(47px,15vw,68px);}.about-page-sections{margin-top:54px;}.footer-column address,.footer-cookie-settings{font-size:12px;}}

/* Privacy-first consent controls and deferred external media */
@font-face { font-family: "Sora"; src: url("/assets/fonts/sora-latin.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Sora"; src: url("/assets/fonts/sora-latin-ext.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; unicode-range: U+0100-024F, U+1E00-1EFF; }
.external-media-embed { position: relative; display: grid; overflow: hidden; background: #171717; }
.external-media-embed > iframe { display: block; width: 100%; height: 100%; min-height: 0; border: 0; background: #171717; }
.external-media-placeholder { position: absolute; z-index: 2; inset: 0; display: grid; align-content: center; justify-items: center; gap: 15px; padding: 24px; color: #fff; background: linear-gradient(135deg, rgba(31,31,31,.98), rgba(31,31,31,.86)); text-align: center; }
.external-media-placeholder[hidden] { display: none !important; }
.external-media-placeholder p { max-width: 34ch; margin: 0; color: inherit; font-size: 14px; font-weight: 600; line-height: 1.45; letter-spacing: -.025em; }
.external-media-placeholder button { min-height: 42px; padding: 0 18px; border: 0; border-radius: 999px; color: var(--ink); background: var(--accent); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.external-media-placeholder button:hover, .external-media-placeholder button:focus-visible { color: #fff; background: #353535; outline: 2px solid #fff; outline-offset: 3px; }
.case-detail-media > .case-detail-video-consent { width: 100%; aspect-ratio: 16 / 9; border-radius: clamp(14px, 1.55vw, 24px); }
.case-detail--full-header .case-detail-media > .case-detail-video-consent { height: 100%; aspect-ratio: auto; border-radius: clamp(20px, 2.2vw, 34px); }
.service-about-video--embed .external-media-placeholder { border-radius: inherit; }
.service-about-video--embed:not(.is-external-media-ready) .service-film-sound { display: none; }

.cookie-consent { z-index: 100; display: block; padding: 0; border-top: 1px solid rgba(31,31,31,.16); background: rgba(248,247,244,.985); box-shadow: 0 -8px 28px rgba(31,31,31,.11); backdrop-filter: blur(16px); }
.cookie-consent[hidden] { display: none; }
.cookie-consent-panel { width: min(100% - 40px, 1320px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px 36px; align-items: center; margin: 0 auto; padding: 20px 0; }
.cookie-consent-panel[hidden] { display: none !important; }
.cookie-consent-panel[data-cookie-panel="settings"] { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: start; }
.cookie-consent-copy { display: grid; gap: 5px; }
.cookie-consent-copy .cookie-consent-kicker { margin: 0; color: #806000; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cookie-consent-copy h2 { margin: 0; color: var(--ink); font-size: clamp(17px, 1.45vw, 22px); font-weight: 700; letter-spacing: -.06em; line-height: 1; }
.cookie-consent-copy p { max-width: 66ch; margin: 2px 0 0; color: #625f59; font-size: 12px; line-height: 1.48; }
.cookie-consent-copy a { width: fit-content; color: var(--ink); font-size: 11px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent-options { display: grid; gap: 1px; overflow: hidden; border: 1px solid rgba(31,31,31,.16); background: rgba(31,31,31,.16); }
.cookie-consent-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 13px 14px; color: var(--ink); background: #fff; cursor: pointer; }
.cookie-consent-option span:first-child { display: grid; gap: 3px; }
.cookie-consent-option strong { font-size: 12px; letter-spacing: -.025em; }
.cookie-consent-option small { color: #625f59; font-size: 10px; line-height: 1.35; }
.cookie-consent-option--required > span:last-child { color: #595750; font-size: 10px; font-weight: 700; }
.cookie-consent-option input { width: 40px; height: 23px; margin: 0; appearance: none; border: 1px solid rgba(31,31,31,.3); border-radius: 999px; background: #dfddd7; cursor: pointer; transition: background .2s ease; }
.cookie-consent-option input::after { display: block; width: 17px; height: 17px; margin: 2px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(31,31,31,.2); content: ""; transition: transform .2s ease; }
.cookie-consent-option input:checked { border-color: var(--accent); background: var(--accent); }
.cookie-consent-option input:checked::after { transform: translateX(16px); }
.cookie-consent-option input:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.cookie-consent-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.cookie-consent-actions button { min-height: 40px; padding: 0 15px; border: 1px solid rgba(31,31,31,.4); border-radius: 999px; color: var(--ink); background: #fff; font: inherit; font-size: 11px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.cookie-consent-actions .cookie-consent-choice { border-color: rgba(31,31,31,.56); background: #fff; }
.cookie-consent-actions button:hover, .cookie-consent-actions button:focus-visible { border-color: var(--ink); color: #fff; background: #1f1f1f; outline: 2px solid var(--accent); outline-offset: 2px; }
.cost-download-consent { display: flex; align-items: flex-start; gap: 9px; color: #625f59; font-size: 11px; line-height: 1.45; }
.cost-download-consent input { flex: 0 0 auto; width: 15px; height: 15px; margin: 2px 0 0; accent-color: var(--accent); }
.cost-download-consent a { color: var(--ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .cookie-consent-panel, .cookie-consent-panel[data-cookie-panel="settings"] { width: min(100% - 28px, 620px); grid-template-columns: 1fr; gap: 16px; padding: 16px 0 calc(16px + env(safe-area-inset-bottom)); }
  .cookie-consent-copy h2 { font-size: 18px; }
  .cookie-consent-copy p { font-size: 11px; }
  .cookie-consent-actions { display: grid; grid-template-columns: 1fr; }
  .cookie-consent-actions button { width: 100%; min-height: 42px; }
  .cookie-consent-option { padding: 12px; }
  .external-media-placeholder { padding: 18px; }
  .external-media-placeholder p { font-size: 12px; }
}
