/* ============================================================
   Foto-Bühne und Kapitelrhythmus

   Start, Unterseiten, Kontakt: Foto füllt die erste Fläche.
   Typo und Handlung sitzen als Papier-/Navy-Platte darauf.
   Mobil: Foto oben, Platte greift von unten ins Bild.
   Textseiten (FAQ, Glossar, Rechtliches): nur Typo auf Papier.
   ============================================================ */

/* ————————————————————————————————————————————— Ghost-Kopf
   Transparent auf der Bühne, fest nach dem Scrollen. */

body:has(main > .hero:first-child) .site-header,
body:has(main > .ss-hero--glass:first-child) .site-header,
body:has(main > .stage:first-child) .site-header {
  position: sticky;
  top: 0;
}

body:has(main > .hero:first-child) .site-header:not(.is-scrolled),
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled),
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) {
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  color: #fff;
}

body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .brand-hell,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .brand-hell,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .brand-hell {
  display: none;
}
body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .brand-dunkel,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .brand-dunkel,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .brand-dunkel {
  display: block;
}

body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__links > a,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__links > a,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__links > a,
body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__dropdown-toggle,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__dropdown-toggle,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__dropdown-toggle,
body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__phone,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__phone,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__phone {
  color: #fff;
}

body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__phone svg,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__phone svg,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__phone svg {
  color: var(--accent-on-deep);
}

body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .theme-toggle,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .theme-toggle,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .theme-toggle,
body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__burger,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__burger,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__burger {
  border-color: color-mix(in srgb, #fff 42%, transparent);
  color: #fff;
  background: color-mix(in srgb, var(--deep) 28%, transparent);
}

body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__burger span,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__burger span,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__burger span {
  background: #fff;
}

body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
}
body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel a,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel a,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel a,
body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel strong,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel strong,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel strong {
  color: var(--ink);
}
body:has(main > .hero:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel span,
body:has(main > .ss-hero--glass:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel span,
body:has(main > .stage:first-child) .site-header:not(.is-scrolled) .nav__dropdown-panel span {
  color: var(--ink-2);
}

/* Offenes Mobilmenü braucht eine feste Fläche. */
body.nav-open .site-header {
  background: var(--bg) !important;
  color: var(--ink) !important;
  border-bottom-color: var(--line) !important;
}
body.nav-open .site-header .brand-hell { display: block !important; }
body.nav-open .site-header .brand-dunkel { display: none !important; }
:root[data-theme="dark"] body.nav-open .site-header .brand-hell { display: none !important; }
:root[data-theme="dark"] body.nav-open .site-header .brand-dunkel { display: block !important; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body.nav-open .site-header .brand-hell { display: none !important; }
  :root:not([data-theme="light"]) body.nav-open .site-header .brand-dunkel { display: block !important; }
}
body.nav-open .site-header .nav__burger span { background: var(--ink) !important; }

/* ————————————————————————————————————————————— Start-Bühne */

.hero {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 100svh;
  margin-top: calc(-1 * var(--header-h));
  background: var(--deep);
  overflow: visible;
}

.hero::after { display: none; } /* Löwe nur noch als Siegel */

.hero__scene {
  position: absolute;
  inset: 0;
  margin: 0;
  height: auto;
  min-height: 100%;
  overflow: hidden;
  background: var(--brand-mid);
}

.hero__scene img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 28%;
  animation: none;
  filter: none;
  transform: none;
  border-radius: 0;
}

.hero__scene::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 7.5rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--deep) 55%, transparent), transparent);
  pointer-events: none;
}

.hero__scene figcaption {
  display: none;
}

.hero__copy {
  position: relative;
  z-index: 2;
  align-self: end;
  width: min(34rem, calc(100% - var(--gutter) * 2));
  margin: calc(var(--header-h) + 1.25rem) var(--gutter) clamp(1.75rem, 5vh, 3.5rem);
  padding: clamp(1.35rem, 3.2vw, 2.1rem) clamp(1.2rem, 3vw, 1.85rem);
  background: var(--glass);
  backdrop-filter: blur(22px) saturate(1.35);
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
  border: 1px solid var(--glass-line);
  color: var(--ink);
}

.hero__copy-inner { max-width: none; }

.hero h1 {
  max-width: 16ch;
  font-size: clamp(2.05rem, 1.05rem + 3.8vw, 3.85rem);
  line-height: 1.04;
  color: var(--ink);
}

.hero__sub {
  margin-top: var(--s3);
  max-width: 36ch;
  font-size: var(--t-base);
  line-height: 1.5;
  color: var(--ink-2);
}

.hero .btns { margin-top: var(--s4); flex-wrap: wrap; align-items: stretch; }
.hero .btn-lg { padding: 0.85rem 1.25rem; font-size: 0.95rem; }

.hero .btn-outline,
.hero .btn--outline {
  border-color: var(--line-strong);
  color: var(--ink);
}
.hero .btn-outline:hover,
.hero .btn--outline:hover {
  background: var(--surface);
  border-color: var(--ink);
}

.hero__assur {
  color: var(--ink-2);
}
.hero__assur svg { color: var(--accent); }

@media (min-width: 900px) {
  .hero__copy {
    margin-bottom: clamp(2.75rem, 6vh, 4.75rem);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .hero__copy {
    animation: slab-in 0.7s var(--ease) both;
  }
}

@keyframes slab-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

/* ————————————————————————————————————————————— Unterseiten-Bühne */

.ss-hero--glass {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  margin-top: calc(-1 * var(--header-h));
  min-height: 0;
  padding: 0;
  gap: 0;
  background: var(--deep);
  overflow: visible;
}

.ss-hero--glass .ss-hero__bg {
  position: relative;
  order: 0;
  height: min(58vh, 30rem);
  min-height: 14rem;
  width: 100%;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.ss-hero--glass .ss-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 7.5rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--deep) 55%, transparent), transparent);
  pointer-events: none;
  z-index: 1;
}

.ss-hero--glass .ss-hero__inner {
  order: 1;
  display: block;
  width: min(var(--wrap), 100%);
  margin: -4.75rem auto 0;
  padding: 0 var(--gutter) var(--s8);
  align-content: start;
}

.ss-hero--glass,
.ss-hero--glass .ss-hero__inner {
  grid-template-columns: 1fr;
}

.ss-hero__glass {
  max-width: 38rem;
  padding: clamp(1.35rem, 3.2vw, 2.1rem) clamp(1.2rem, 3vw, 1.85rem);
  background: var(--glass);
  backdrop-filter: blur(22px) saturate(1.35);
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
  border: 1px solid var(--glass-line);
  color: var(--ink);
}

.ss-hero__glass h1 {
  color: var(--ink);
  max-width: 14ch;
  font-size: clamp(2rem, 1.1rem + 3.6vw, 3.6rem);
}

.ss-hero__glass .lead,
.ss-hero__glass .ss-hero__meta { color: var(--ink-2); }

.ss-hero__glass .btn-on-deep,
.ss-hero__glass .btn--ghost-light,
.ss-hero__glass .btn-outline,
.ss-hero__glass .btn--outline {
  background: transparent;
  border-color: var(--line-strong);
  color: var(--ink);
}

.ss-hero--deep.ss-hero--glass { background: var(--deep); }
.ss-hero--deep .ss-hero__glass {
  background: var(--glass);
  color: var(--ink);
}
.ss-hero--deep .ss-hero__glass h1 { color: var(--ink); }
.ss-hero--deep .ss-hero__glass h1 .emph { color: var(--accent); }
.ss-hero--deep .ss-hero__glass .lead,
.ss-hero--deep .ss-hero__glass .ss-hero__meta { color: var(--ink-2); }
.ss-hero--deep .ss-hero__glass .btn-on-deep,
.ss-hero--deep .ss-hero__glass .btn--ghost-light,
.ss-hero--deep .ss-hero__glass .btn-outline,
.ss-hero--deep .ss-hero__glass .btn--outline {
  border-color: var(--line-strong);
  color: var(--ink);
}

.ss-hero__mosaic {
  height: min(58vh, 30rem);
  gap: 2px;
}

@media (min-width: 900px) {
  .ss-hero--glass {
    grid-template-columns: 1fr;
    min-height: 0;
    overflow: visible;
    align-items: end;
  }
  .ss-hero--glass .ss-hero__bg {
    position: absolute;
    inset: 0;
    height: auto;
    min-height: 100%;
    order: 0;
  }
  .ss-hero--glass .ss-hero__inner {
    display: block;
    grid-template-columns: none;
    position: relative;
    z-index: 2;
    order: 1;
    margin: 0 auto clamp(3.5rem, 9vh, 6.5rem);
    padding: 0 var(--gutter);
    width: min(var(--wrap), 100%);
  }
  .ss-hero__mosaic {
    height: auto;
    min-height: 100%;
  }
}

/* Über uns / Stromsteuer: Foto füllt die erste Ansicht, Glas-Karte sitzt unten. */
@media (min-width: 900px) {
  .ss-hero--about,
  .ss-hero--tax,
  .ss-hero--ref,
  .ss-hero--industry,
  .ss-hero--career,
  .ss-hero--services {
    min-height: 100svh;
  }
}

.ss-hero--services .ss-hero__bg img {
  object-position: center 42%;
}

.ss-hero--ref .ss-hero__bg img {
  object-position: center 28%;
}

.ss-hero--industry .ss-hero__bg img {
  object-position: center 45%;
}

.ss-hero--career .ss-hero__bg img {
  object-position: center 38%;
}

.ss-hero--blocks {
  margin-top: 0;
  min-height: 0;
}

/* Rechnungsschein bleibt Tafel auf dem Foto, nicht die Platte. */
.ss-hero__bill {
  left: var(--gutter);
  right: auto;
  bottom: auto;
  top: calc(var(--header-h) + 0.75rem);
  max-width: 18rem;
  background: var(--glass);
  backdrop-filter: blur(22px) saturate(1.35);
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
  border: 1px solid var(--glass-line);
}
@media (max-width: 899px) {
  .ss-hero__bill { display: none; }
}

/* ————————————————————————————————————————————— Kontakt-Bühne */

.stage {
  position: relative;
  margin-top: calc(-1 * var(--header-h));
  background: var(--deep);
}

.stage__photo {
  position: relative;
  margin: 0;
  height: min(52vh, 26rem);
  overflow: hidden;
}

.stage__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}

.stage__photo::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 7.5rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--deep) 55%, transparent), transparent);
  pointer-events: none;
}

.stage__layout {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--s6);
  margin-top: -4.75rem;
  padding-bottom: var(--band);
}

.stage__slab--glass {
  padding: clamp(1.35rem, 3.2vw, 2.25rem);
  background: var(--glass);
  backdrop-filter: blur(22px) saturate(1.35);
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
  border: 1px solid var(--glass-line);
}

.stage__slab--glass .form input,
.stage__slab--glass .form textarea,
.stage__slab--glass .form select {
  background: var(--surface);
}

.stage .contact-card {
  border-radius: var(--r);
}

.stage__layout .contact-main { order: -1; }

.chapter-photo__slab p {
  color: var(--ink-2);
  max-width: 62ch;
}
.chapter-photo__slab p + p { margin-top: var(--s4); }
.chapter-photo__slab .ticks { margin-top: var(--s5); }

.facts-band.on-deep .price-meter {
  max-width: none;
  margin: 0 0 var(--s6);
}
.facts-band.on-deep .price-meter__seg--steuer {
  background: color-mix(in srgb, #fff 22%, var(--brand-deep));
}
.facts-band.on-deep .tools-strip {
  margin-top: var(--s5);
  color: var(--on-deep-2);
}
.facts-band.on-deep .tools-strip a { color: var(--accent-on-deep); }

@media (min-width: 900px) {
  .stage--form .stage__photo {
    position: absolute;
    inset: 0;
    height: auto;
    min-height: 100%;
  }
  .stage--form {
    min-height: min(88svh, 46rem);
    overflow: visible;
  }
  .stage__layout {
    margin-top: 0;
    padding-top: calc(var(--header-h) + clamp(2rem, 6vh, 4rem));
    padding-bottom: var(--s9);
    grid-template-columns: minmax(0, 1.2fr) minmax(16rem, 0.72fr);
    align-items: start;
  }
}

/* ————————————————————————————————————————————— Foto-Kapitel */

.chapter-photo {
  position: relative;
  display: grid;
  background: var(--bg);
}

.chapter-photo__media {
  margin: 0;
  height: min(48vh, 26rem);
  overflow: hidden;
}

.chapter-photo__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  border-radius: 0;
}

.chapter-photo__slab {
  position: relative;
  z-index: 1;
  margin-top: -3.5rem;
  margin-bottom: var(--s9);
  padding: clamp(1.5rem, 3.5vw, 2.4rem);
  background: var(--glass);
  backdrop-filter: blur(22px) saturate(1.35);
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
  border: 1px solid var(--glass-line);
}

@media (min-width: 900px) {
  .chapter-photo {
    min-height: min(42rem, 88svh);
    align-items: end;
  }
  .chapter-photo__media {
    position: absolute;
    inset: 0;
    height: auto;
  }
  .chapter-photo__slab {
    margin: 0 0 clamp(3rem, 8vh, 5.5rem);
    max-width: 40rem;
  }
}

/* ————————————————————————————————————————————— Navy + Lastgang */

.facts-band {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.25rem, 7vw, 5.25rem);
}

.facts-band.on-deep::after { display: none; }

.lastgang--facts {
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: 10%;
  width: 108%;
  height: clamp(4.5rem, 12vw, 7.5rem);
  color: var(--accent-on-deep);
  opacity: 0.55;
  pointer-events: none;
}

.facts-band .facts {
  position: relative;
  z-index: 1;
  border: 0;
  padding: 0;
  gap: var(--s6) var(--s7);
}

.facts-band .facts dt {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2.2rem, 4.6vw, 4rem);
  letter-spacing: -0.03em;
  line-height: 0.95;
  color: var(--on-deep);
  position: relative;
  z-index: 1;
}

.facts-band .facts-rest {
  display: block;
  margin-top: 0.28em;
  font-size: 0.38em;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.facts-band .facts dd {
  margin-top: var(--s3);
  font-size: var(--t-sm);
  color: var(--on-deep-2);
}

@media (prefers-reduced-motion: no-preference) {
  .lastgang-line {
    stroke-dasharray: 1800;
    stroke-dashoffset: 1800;
  }
  .facts-band.is-drawn .lastgang-line {
    animation: lastgang-draw 1.55s var(--ease) forwards;
  }
}

@keyframes lastgang-draw {
  to { stroke-dashoffset: 0; }
}

/* ————————————————————————————————————————————— Gesichter, Ablauf */

.faces-band { background: var(--surface); }
.faces-band__head,
.voices-chapter__head {
  margin-inline: auto;
  text-align: center;
}
.faces-band__head h2,
.voices-chapter__head h2,
.faces-band__head p,
.voices-chapter__head p {
  margin-inline: auto;
}
.faces-band__more,
.voices-chapter__more {
  text-align: center;
}

.process--ledger .process__num {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.85rem, 3vw, 2.6rem);
  letter-spacing: -0.03em;
  color: var(--accent);
}

/* ————————————————————————————————————————————— Textseiten */

.page-hero,
.ref-open {
  padding-block: clamp(4.5rem, 10vw, 7.5rem) clamp(2.5rem, 5vw, 4rem);
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}

.page-hero h1,
.ref-open h1 {
  max-width: 14ch;
  font-size: clamp(2.4rem, 1.2rem + 4vw, 4.2rem);
  line-height: 1.02;
}

.page-hero .lead,
.ref-open .lead {
  margin-top: var(--s5);
  max-width: 46ch;
}

/* ————————————————————————————————————————————— Abschluss + Siegel */

.closing::after {
  width: 4.5rem;
  height: 4.5rem;
  right: var(--gutter);
  bottom: var(--s6);
  opacity: 0.28;
}

.footer-colophon {
  display: flex;
  align-items: center;
  gap: var(--s3);
}
.footer-colophon img {
  width: 2.15rem;
  height: auto;
  opacity: 0.7;
}

.site-footer {
  background: var(--surface);
}

/* ————————————————————————————————————————————— Zielgruppen-Platten */

.chooser {
  gap: var(--s4);
}
.route {
  border-radius: 0;
}
.route__media { aspect-ratio: 16 / 9; }

@media (min-width: 900px) {
  .route--lead .route__media { aspect-ratio: auto; }
}

/* Ken Burns aus — die Bühne steht still. */
.hero__scene img,
.ss-hero__bg img,
.stage__photo img {
  animation: none !important;
  transform: none !important;
  filter: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .hero__copy,
  .ss-hero__glass,
  .stage__slab--glass,
  .chapter-photo__slab {
    animation: none;
  }
  .lastgang-line {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
  }
}

/* ————————————————————————————————————————————— Stimmen */

.voices-chapter { background: var(--bg); }
.voice-feature {
  display: grid;
  gap: var(--s5);
  margin-bottom: var(--s6);
}
@media (min-width: 900px) {
  .voice-feature {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 0;
    align-items: stretch;
  }
}
.voice-feature__quote {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  padding: clamp(1.6rem, 3.5vw, 2.6rem);
  background: var(--deep);
  color: var(--on-deep);
}
.voice-feature__quote .stars { color: var(--accent-on-deep); }
.voice-feature__quote blockquote {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
  line-height: 1.28;
  letter-spacing: -0.02em;
  color: var(--on-deep);
  max-width: 16ch;
}
.voice-feature__quote figcaption {
  margin-top: var(--s5);
  font-size: var(--t-sm);
}
.voice-feature__quote figcaption strong {
  display: block;
  font-weight: var(--w-bold);
  color: var(--on-deep);
}
.voice-feature__quote figcaption span {
  display: block;
  margin-top: 0.2rem;
  color: var(--on-deep-2);
}
.voice-feature__media .video {
  height: 100%;
  box-shadow: none;
  border-radius: 0;
}
.voice-rail {
  display: grid;
  gap: var(--s4);
  grid-template-columns: 1fr;
}
@media (min-width: 800px) {
  .voice-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); }
}
.voice--card,
.case-file--card {
  margin: 0;
  padding: clamp(1.25rem, 2.4vw, 1.75rem);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}
.voice--card blockquote {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.15rem, 1.6vw, 1.4rem);
  line-height: 1.35;
  max-width: none;
}
.voice--card figcaption { margin-top: var(--s5); }
.case-file--card {
  display: flex;
  flex-direction: column;
}
.case-file--card h3 {
  margin: 0;
  font-size: var(--t-xl);
  max-width: 14ch;
}
.case-file--card p { margin-top: var(--s3); max-width: none; }
.case-file--card .go { margin-top: auto; padding-top: var(--s5); }

.jobs-board {
  display: grid;
  gap: var(--s6);
}
@media (min-width: 960px) {
  .jobs-board {
    grid-template-columns: 1fr 1fr;
    gap: var(--s7);
    align-items: start;
  }
}
.job-file h2 {
  max-width: none;
}
.job-file p {
  max-width: none;
}
.job-file dl {
  grid-template-columns: 1fr;
  gap: var(--s5);
}
.job-file .ticks {
  margin-top: 0;
}
.job-file .ticks li {
  color: var(--ink-2);
}

.career-apply {
  display: grid;
  gap: var(--s7);
}
@media (min-width: 900px) {
  .career-apply {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: start;
  }
}
.career-apply__intro h2 {
  margin: 0;
  max-width: 14ch;
}
.career-apply__intro .lead {
  margin-top: var(--s5);
}
.career-kicker {
  margin: 0 0 var(--s4);
  font-size: var(--t-sm);
  font-weight: var(--w-bold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent);
}
.career-apply .form {
  margin: 0;
}

/* ————————————————————————————————————————————— Über uns */

.pledge-chapter {
  padding-block: clamp(3.75rem, 8vw, 6.75rem);
}
.pledge-chapter__layout {
  display: grid;
  gap: var(--s8);
}
@media (min-width: 900px) {
  .pledge-chapter__layout {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(2.5rem, 6vw, 5rem);
    align-items: start;
  }
}
.pledge-chapter__kicker {
  margin: 0 0 var(--s4);
  font-size: var(--t-sm);
  font-weight: var(--w-bold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent-on-deep);
}
.pledge-chapter__intro h2 {
  margin: 0;
  font-size: clamp(2.1rem, 1.2rem + 3vw, 3.5rem);
  line-height: 1.05;
  max-width: 12ch;
}
.pledge-chapter__intro p:not(.pledge-chapter__kicker) {
  margin-top: var(--s5);
  max-width: 34ch;
  color: var(--on-deep-2);
}
.pledge-chapter__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--deep-line);
}
.pledge-chapter__list li {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--s4);
  padding: var(--s5) 0;
  border-bottom: 1px solid var(--deep-line);
}
.pledge-chapter__list span {
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  line-height: 1;
  color: var(--accent-on-deep);
}
.pledge-chapter__list h3 {
  margin: 0 0 var(--s2);
  font-size: var(--t-xl);
}
.pledge-chapter__list p {
  margin: 0;
  color: var(--on-deep-2);
}

.team-page-grid {
  gap: var(--s5);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr));
}
.team-page-card {
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.team-page-card img {
  margin: 0;
  border-radius: 0;
  aspect-ratio: 3 / 4;
  object-position: center 12%;
}
.team-page-card figcaption {
  padding: 0.9rem 0 0;
}
.team-page-card figcaption strong {
  font-family: var(--font-display);
  font-size: var(--t-lg);
  font-weight: 400;
  letter-spacing: -0.02em;
}
.team-page-card--lead {
  background: var(--deep);
  color: var(--on-deep);
}
.team-page-card--lead figcaption {
  padding: 1rem 1.1rem 1.15rem;
}
.team-page-card--lead figcaption span { color: var(--on-deep-2); }

.region-card {
  padding: 1.35rem 1.35rem 1.5rem;
  border-radius: 0;
  border-top: 2px solid var(--accent);
  box-shadow: none;
}

.about-locations__media {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 0;
}

.tax-who__media {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}
#berechtigt .feature-list {
  margin-top: var(--s8);
}

#team .section-head--center {
  margin-inline: auto;
  text-align: center;
}
#team .section-head--center h2,
#team .section-head--center p {
  margin-inline: auto;
}
