/* /assets/css/main.css */

/* Local font files mirror the currently used Google Fonts subsets and weights. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/eb-garamond/eb-garamond-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/eb-garamond/eb-garamond-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/eb-garamond/eb-garamond-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/eb-garamond/eb-garamond-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/eb-garamond/eb-garamond-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/eb-garamond/eb-garamond-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --color-navy:#091F39;
  --color-sand:#F4E7C8;
  --color-gold:#C7A14A;
  --color-text:#2B2B2B;
  --font-serif:'EB Garamond', serif;
  --font-sans:'Inter', sans-serif;
  --container: 1120px;

  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
   --radius: 18px;
  --shadow: 0 16px 40px rgba(0,0,0,.08);
}

/* Trust First: Wer Sie begleitet */
.companions {
  position: relative;
  overflow: clip;
  background: color-mix(in oklab, var(--color-sand) 82%, #fff);
}

.companions-header {
  min-width: 0;
  margin-bottom: clamp(var(--space-6), 3vw, var(--space-12));
}

.companions .companions-kicker {
  margin-bottom: var(--space-3);
}

.companions-title {
  max-width: 22ch;
  margin-bottom: 0;
  font-size: clamp(1.75rem, 1.35rem + 2vw, 3.25rem);
  font-weight: 700;
  line-height: 1.06;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
  hyphens: none;
}

.companions-lead-media,
.companions-profile__media {
  margin: 0;
  overflow: hidden;
  background: rgba(9, 31, 57, .06);
}

.companions-lead-media {
  width: 100%;
  aspect-ratio: 16 / 7;
  border: 1px solid rgba(9, 31, 57, .12);
  border-radius: var(--radius);
  box-shadow: 0 18px 48px rgba(9, 31, 57, .06);
}

.companions-lead-image,
.companions-profile__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.companions-media--focus-left img { object-position: left center; }
.companions-media--focus-center img { object-position: center; }
.companions-media--focus-right img { object-position: right center; }
.companions-media--focus-top img { object-position: center top; }

@media (min-width: 901px) {
  .companions-title {
    max-width: none;
    font-size: clamp(1.75rem, 3.25vw, 2.5rem);
    text-wrap: nowrap;
    white-space: nowrap;
  }

  .companions-lead-media.companions-media--focus-left img { object-position: left 22%; }
  .companions-lead-media.companions-media--focus-center img { object-position: center 22%; }
  .companions-lead-media.companions-media--focus-right img { object-position: right 22%; }
}

.companions-intro {
  min-width: 0;
  width: min(100%, 66ch);
  margin-top: clamp(var(--space-6), 3.5vw, var(--space-12));
  margin-left: 0;
  padding-right: 0;
  color: rgba(9, 31, 57, .78);
  font-size: clamp(1rem, .95rem + .2vw, 1.08rem);
  line-height: 1.65;
}

.companions-intro p {
  margin-bottom: var(--space-4);
}

.companions-intro p:last-child {
  margin-bottom: 0;
}

.companions-profiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(var(--space-6), 2.5vw, var(--space-8));
  align-items: start;
  width: min(100%, 60rem);
  margin: clamp(var(--space-12), 4.5vw, var(--space-16)) auto 0;
  padding: 0;
  list-style: none;
}

.companions-profiles--single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 40rem;
}

.companions-profile {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(9, 31, 57, .16);
  border-radius: 14px;
  background: #fffcf7;
  box-shadow: 0 16px 38px rgba(9, 31, 57, .06);
}

.companions-profile__details {
  width: 100%;
  interpolate-size: allow-keywords;
}

.companions-profile__details::details-content {
  block-size: 0;
  overflow: clip;
  transition:
    block-size .46s cubic-bezier(.22, 1, .36, 1),
    content-visibility .46s allow-discrete;
}

.companions-profile__details[open]::details-content {
  block-size: auto;
}

.companions-profile__summary {
  display: block;
  list-style: none;
  cursor: pointer;
}

.companions-profile__summary::-webkit-details-marker {
  display: none;
}

.companions-profile__summary::marker {
  content: "";
}

.companions-profile__summary:focus-visible {
  outline: 2px solid rgba(199, 161, 74, .82);
  outline-offset: -3px;
  border-radius: 13px;
}

.companions-profile__media {
  width: 100%;
  aspect-ratio: 1;
  border-bottom: 1px solid rgba(9, 31, 57, .14);
  border-radius: 13px 13px 0 0;
}

.companions-profile__summary-content,
.companions-profile__content {
  min-width: 0;
  padding-right: clamp(var(--space-6), 2.5vw, var(--space-8));
  padding-left: clamp(var(--space-6), 2.5vw, var(--space-8));
}

.companions-profile__summary-content {
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
}

.companions-profile__drawer-inner {
  min-height: 0;
  overflow: hidden;
}

.companions-profile__content {
  display: flex;
  flex-direction: column;
  padding-top: var(--space-6);
  padding-bottom: var(--space-8);
  border-top: 1px solid rgba(9, 31, 57, .12);
  opacity: 0;
  transform: translateY(-.45rem);
  transition:
    opacity .28s ease,
    transform .42s cubic-bezier(.22, 1, .36, 1);
}

.companions-profile__details[open] .companions-profile__content {
  opacity: 1;
  transform: translateY(0);
}

.companions-profile__heading {
  margin: 0;
}

.companions-profile__name {
  margin: 0 0 .2rem;
  color: var(--color-navy);
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 1.35rem + .55vw, 1.9rem);
  font-weight: 700;
  line-height: 1.12;
  overflow-wrap: break-word;
}

.companions-profile__role {
  margin: 0;
  color: rgba(9, 31, 57, .62);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.4;
  text-transform: uppercase;
  overflow-wrap: break-word;
  hyphens: auto;
}

.companions-profile__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid rgba(9, 31, 57, .14);
  color: rgba(9, 31, 57, .7);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
  transition: color .2s ease, border-color .2s ease;
}

.companions-profile__toggle::after {
  content: "+";
  color: var(--color-gold);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1;
}

.companions-profile__summary:hover .companions-profile__toggle,
.companions-profile__summary:focus-visible .companions-profile__toggle {
  color: var(--color-navy);
  border-color: rgba(199, 161, 74, .52);
}

.companions-profile__toggle-label--open {
  display: none;
}

.companions-profile__details[open] .companions-profile__toggle-label--closed {
  display: none;
}

.companions-profile__details[open] .companions-profile__toggle-label--open {
  display: inline;
}

.companions-profile__details[open] .companions-profile__toggle::after {
  content: "−";
}

.companions-profile__responsibility,
.companions-profile__statement {
  margin: 0 0 var(--space-4);
  max-width: 56ch;
  color: rgba(9, 31, 57, .78);
  font-size: .94rem;
  line-height: 1.6;
  overflow-wrap: break-word;
  hyphens: auto;
}

.companions-profile__responsibility {
  font-weight: 600;
  color: rgba(9, 31, 57, .84);
}

.companions-profile__statement {
  color: rgba(9, 31, 57, .68);
}

.companions-profile__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: 0;
  padding: var(--space-4) 0 0;
  list-style: none;
}

.companions-profile__tag {
  max-width: 100%;
  border: 1px solid rgba(9, 31, 57, .2);
  border-radius: 999px;
  padding: .3rem .6rem;
  color: rgba(9, 31, 57, .76);
  background: rgba(244, 231, 200, .22);
  font-size: .72rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.companions-profile__tag:first-child {
  border-color: rgba(199, 161, 74, .58);
}

@media (prefers-reduced-motion: reduce) {
  .companions-profile__details::details-content,
  .companions-profile__content {
    transition: none;
  }
}

@media (max-width: 900px) {
  .companions-lead-media {
    aspect-ratio: 16 / 9;
  }

  .companions-intro {
    width: 100%;
  }

  .companions-profiles {
    grid-template-columns: 1fr;
    width: min(100%, 34rem);
  }
}

@media (max-width: 560px) {
  .companions-header {
    padding-top: var(--space-6);
  }

  .companions-lead-media {
    aspect-ratio: 5 / 4;
    border-radius: 14px;
  }

  .companions-profile__summary-content,
  .companions-profile__content {
    padding-right: clamp(var(--space-4), 5vw, var(--space-6));
    padding-left: clamp(var(--space-4), 5vw, var(--space-6));
  }
}

/* Trust Story: Am Anfang steht ein gutes Gespräch */
.trust-story {
  --trust-story-surface: color-mix(in oklab, var(--color-sand) 82%, #fff);
  position: relative;
  overflow: clip;
  padding: clamp(var(--space-16), 8vw, 7.5rem) 0 clamp(var(--space-16), 8vw, 7rem);
  color: var(--color-navy);
  background: var(--trust-story-surface);
}

.trust-story-opening {
  position: relative;
  isolation: isolate;
}

.trust-story-opening::after {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: clamp(4rem, 7vw, 6rem);
  background: linear-gradient(to bottom, transparent, var(--trust-story-surface));
  content: "";
  pointer-events: none;
}

.trust-story-opening > .trust-story-container {
  position: relative;
  z-index: 1;
}

.trust-story-ambient {
  position: absolute;
  z-index: -1;
  inset: calc(-1 * clamp(var(--space-16), 8vw, 7.5rem)) 0 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: .075;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(105deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .28) 62%, transparent 100%);
  mask-image: linear-gradient(105deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .28) 62%, transparent 100%);
}

.trust-story-header {
  max-width: none;
}

.trust-story .trust-story-kicker {
  margin: 0 0 var(--space-4);
}

.trust-story-title,
.trust-story-scene-title,
.trust-story-profile-name {
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
  hyphens: none;
}

.trust-story-title {
  max-width: 18ch;
  margin: 0;
  color: var(--color-navy);
  font-family: var(--font-serif);
  font-size: clamp(2.55rem, 3.35vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1;
}

.trust-story .trust-story-image {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.trust-story-media--focus-left .trust-story-image { object-position: left center; }
.trust-story-media--focus-center .trust-story-image { object-position: center; }
.trust-story-media--focus-right .trust-story-image { object-position: right center; }
.trust-story-media--focus-top .trust-story-image { object-position: center top; }

.trust-story-meeting-media {
  width: 100%;
  margin: clamp(var(--space-8), 4vw, var(--space-12)) 0 0;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  border: 1px solid rgba(9, 31, 57, .12);
  border-radius: 0;
  background: rgba(9, 31, 57, .06);
  box-shadow: 0 18px 48px rgba(9, 31, 57, .06);
}

.trust-story-meeting-media.trust-story-media--focus-left .trust-story-image { object-position: left 28%; }
.trust-story-meeting-media.trust-story-media--focus-center .trust-story-image { object-position: center 28%; }
.trust-story-meeting-media.trust-story-media--focus-right .trust-story-image { object-position: right 28%; }

.trust-story-meeting-copy {
  width: min(100%, 52rem);
  margin-top: clamp(var(--space-8), 3.5vw, var(--space-12));
}

.trust-story-meeting-note > p:not(.trust-story-act),
.trust-story-listening-copy > p:not(.trust-story-act),
.trust-story-onboarding-copy > p:not(.trust-story-act) {
  margin: 0 0 var(--space-4);
}

.trust-story-meeting-note > p:last-child,
.trust-story-listening-copy > p:last-child,
.trust-story-onboarding-copy > p:last-child {
  margin-bottom: 0;
}

.trust-story-meeting-note {
  order: 1;
  max-width: 48rem;
  padding-top: var(--space-3);
  border-top: 1px solid rgba(199, 161, 74, .62);
  color: rgba(9, 31, 57, .7);
  font-size: .98rem;
  line-height: 1.68;
}

.trust-story-meeting-note .trust-story-scene-title {
  max-width: none;
}

.trust-story-act {
  display: flex;
  gap: var(--space-3);
  align-items: center;
  margin: 0 0 var(--space-4);
  color: rgba(9, 31, 57, .62);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.trust-story-act span {
  color: var(--color-gold);
  font-variant-numeric: tabular-nums;
}

.trust-story-scene-title {
  max-width: 18ch;
  margin: 0 0 var(--space-4);
  color: var(--color-navy);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 2.8vw, 3.05rem);
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.04;
}

.trust-story-profiles {
  position: relative;
  padding-top: clamp(var(--space-16), 6.5vw, 6rem);
  background: var(--trust-story-surface);
}

.trust-story-scene-label {
  display: flex;
  gap: var(--space-6);
  align-items: center;
  margin-bottom: 0;
}

.trust-story-scene-label::after {
  flex: 1;
  height: 1px;
  background: rgba(9, 31, 57, .15);
  content: "";
}

.trust-story-scene-label .trust-story-act {
  flex: 0 0 auto;
  margin: 0;
}

.trust-story-profile-header {
  margin-bottom: clamp(var(--space-8), 4vw, 3.5rem);
}

.trust-story-profile-list {
  display: grid;
  gap: clamp(var(--space-16), 7vw, 6rem);
}

.trust-story-profile {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(var(--space-8), 5.5vw, 4.75rem);
  align-items: center;
  position: relative;
  width: 100%;
  min-height: 31.25rem;
  padding-inline: max(var(--space-8), calc((100% - var(--container)) / 2));
}

.trust-story-profile-media-stage {
  position: relative;
  z-index: 1;
  display: flex;
  grid-column: 2;
  grid-row: 1;
  width: 100vw;
  height: 31.25rem;
  margin-right: 0;
  background: var(--color-navy);
}

.trust-story-profile-media {
  position: relative;
  z-index: 1;
  flex: 0 0 25rem;
  width: 25rem;
  height: 100%;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-right: 1px solid color-mix(in oklab, var(--color-gold) 62%, transparent);
  border-radius: 0;
  background: rgba(9, 31, 57, .06);
}

.trust-story-profile-copy {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  width: 100%;
  max-width: 31rem;
  padding-top: var(--space-4);
  border-top: 1px solid rgba(9, 31, 57, .18);
}

.trust-story-profile--reverse .trust-story-profile-media-stage {
  grid-column: 1;
  justify-self: end;
  justify-content: flex-end;
  margin-right: 0;
  margin-left: 0;
}

.trust-story-profile--reverse .trust-story-profile-media {
  border-right: 0;
  border-left: 1px solid color-mix(in oklab, var(--color-gold) 62%, transparent);
}

.trust-story-profile--reverse .trust-story-profile-copy {
  grid-column: 2;
  justify-self: end;
}

.trust-story-profile-name {
  margin: 0 0 .25rem;
  color: var(--color-navy);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 2.35vw, 2.6rem);
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.04;
}

.trust-story-profile-role {
  margin: 0 0 var(--space-6);
  color: rgba(9, 31, 57, .57);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.45;
  text-transform: uppercase;
  overflow-wrap: break-word;
}

.trust-story-profile-statement {
  max-width: 44ch;
  margin: 0;
  color: rgba(9, 31, 57, .76);
  font-size: clamp(1rem, .96rem + .16vw, 1.08rem);
  line-height: 1.68;
  overflow-wrap: break-word;
}

.trust-story-focus {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid rgba(9, 31, 57, .13);
}

.trust-story-focus-label {
  margin: 0;
  color: color-mix(in oklab, var(--color-gold) 72%, var(--color-navy));
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.trust-story-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.trust-story-tags li {
  max-width: 100%;
  color: rgba(9, 31, 57, .62);
  font-size: .69rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.trust-story-listening {
  position: relative;
  margin-top: clamp(5rem, 8vw, 7.5rem);
  padding: 0;
  border-top: 1px solid color-mix(in oklab, var(--color-gold) 68%, transparent);
  background: var(--color-navy);
}

.trust-story-listening .trust-story-container {
  width: min(88rem, calc(100% - 4rem));
}

.trust-story-listening-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(19rem, .75fr);
  gap: clamp(var(--space-8), 4vw, var(--space-16));
  align-items: stretch;
  min-height: clamp(30rem, 36vw, 34rem);
}

.trust-story-listening-media {
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: auto;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, .06);
  box-shadow: none;
}

.trust-story-listening-copy {
  position: relative;
  z-index: 1;
  align-self: center;
  max-width: 27rem;
  padding: var(--space-12) 0;
  color: rgba(255, 255, 255, .78);
  font-size: 1rem;
  line-height: 1.7;
}

.trust-story-act--light {
  color: rgba(255, 255, 255, .56);
}

.trust-story-scene-title--light {
  color: color-mix(in oklab, var(--color-sand) 72%, #fff);
}

.trust-story-onboarding {
  padding-top: clamp(5rem, 7vw, 7rem);
}

.trust-story-onboarding-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(var(--space-8), 4vw, var(--space-12));
  align-items: stretch;
}

.trust-story-onboarding-media {
  grid-column: 6 / -1;
  grid-row: 1;
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid rgba(9, 31, 57, .12);
  border-radius: 0;
  background: rgba(9, 31, 57, .06);
  box-shadow: 0 20px 50px rgba(9, 31, 57, .07);
}

.trust-story-onboarding-copy {
  display: flex;
  flex-direction: column;
  grid-column: 1 / 6;
  grid-row: 1;
  max-width: 31rem;
  color: rgba(9, 31, 57, .74);
  font-size: 1rem;
  line-height: 1.7;
}

.trust-story-onboarding-copy .trust-story-scene-title {
  max-width: 14ch;
}

.trust-story-onboarding-copy > p:not(.trust-story-act) {
  max-width: 48ch;
}

.trust-story-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin: clamp(3rem, 4vw, 4.5rem) 0 0;
  padding: var(--space-4) 0 0;
  border-top: 1px solid rgba(9, 31, 57, .16);
  list-style: none;
  counter-reset: trust-step;
}

.trust-story-steps li {
  min-width: 0;
  color: rgba(9, 31, 57, .72);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 1.35;
  overflow-wrap: break-word;
  counter-increment: trust-step;
}

.trust-story-steps li::before {
  display: block;
  margin-bottom: .35rem;
  color: var(--color-gold);
  font-size: .68rem;
  letter-spacing: .12em;
  content: "0" counter(trust-step);
}

.trust-story-cta {
  display: inline-flex;
  gap: var(--space-3);
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  width: 100%;
  margin-top: var(--space-6);
  border: 1px solid var(--color-navy);
  border-radius: 999px;
  padding: .8rem 1.15rem;
  color: color-mix(in oklab, var(--color-sand) 78%, #fff);
  background: var(--color-navy);
  font: inherit;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .035em;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.trust-story-cta::after {
  content: "→";
}

.trust-story-cta:hover,
.trust-story-cta:focus-visible {
  border-color: var(--color-gold);
  color: var(--color-navy);
  background: color-mix(in oklab, var(--color-sand) 72%, #fff);
}

.trust-story-cta:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 3px;
}

.trust-story .trust-story-reveal {
  --reveal-duration: .82s;
  clip-path: none;
}

.trust-story .trust-story-reveal.is-reveal-ready {
  transition:
    opacity .76s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
    translate .82s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
    clip-path .92s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
}

.trust-story .trust-story-reveal.is-reveal-ready:not(.is-visible) {
  opacity: 0;
  translate: 0 1rem;
}

.trust-story :is(
  .trust-story-meeting-media,
  .trust-story-profile-media-stage,
  .trust-story-listening-media,
  .trust-story-onboarding-media
).trust-story-reveal.is-reveal-ready:not(.is-visible) {
  translate: 0 0;
  clip-path: inset(0 0 12% 0);
}

.trust-story .trust-story-reveal.is-reveal-ready.is-visible {
  opacity: 1;
  translate: 0 0;
  clip-path: none;
}

.trust-story :is(
  .trust-story-meeting-media,
  .trust-story-profile-media-stage,
  .trust-story-listening-media,
  .trust-story-onboarding-media
).trust-story-reveal.is-reveal-ready.is-visible {
  clip-path: inset(0);
}

@media (min-width: 901px) {
  .trust-story-title {
    max-width: none;
    white-space: nowrap;
  }

  .trust-story-meeting-note .trust-story-scene-title {
    white-space: nowrap;
  }

  .trust-story .trust-story-profile-media-stage.trust-story-reveal.is-reveal-ready {
    --trust-profile-enter-x: clamp(5rem, 10vw, 9rem);
    clip-path: none;
    transition:
      opacity .88s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms),
      translate 1.18s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay, 0ms);
  }

  .trust-story .trust-story-profile-media-stage.trust-story-reveal.is-reveal-ready:not(.is-visible) {
    opacity: .12;
    translate: var(--trust-profile-enter-x) 0;
  }

  .trust-story .trust-story-profile--reverse .trust-story-profile-media-stage.trust-story-reveal.is-reveal-ready:not(.is-visible) {
    translate: calc(-1 * var(--trust-profile-enter-x)) 0;
  }

  .trust-story .trust-story-profile-media-stage.trust-story-reveal.is-reveal-ready.is-visible {
    opacity: 1;
    translate: 0 0;
    clip-path: none;
  }
}

@media (max-width: 900px) {
  .trust-story-title {
    max-width: 16ch;
    font-size: clamp(2.45rem, 6.5vw, 3.4rem);
  }

  .trust-story-meeting-media {
    aspect-ratio: 3 / 2;
  }

  .trust-story-meeting-copy {
    gap: var(--space-6);
  }

  .trust-story-meeting-note {
    max-width: 40rem;
  }

  .trust-story-profile-list {
    gap: clamp(var(--space-16), 11vw, 5rem);
    padding-inline: var(--space-8);
  }

  .trust-story-profile,
  .trust-story-profile--reverse {
    grid-template-columns: 1fr;
    gap: var(--space-8);
    width: min(100%, 30rem);
    min-height: 0;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    border-top: 0;
    background: transparent;
  }

  .trust-story-profile .trust-story-profile-media-stage,
  .trust-story-profile--reverse .trust-story-profile-media-stage {
    grid-column: 1;
    grid-row: 1;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    background: transparent;
  }

  .trust-story-profile .trust-story-profile-media,
  .trust-story-profile--reverse .trust-story-profile-media {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
    border: 1px solid rgba(9, 31, 57, .13);
  }

  .trust-story-profile .trust-story-profile-copy,
  .trust-story-profile--reverse .trust-story-profile-copy {
    grid-column: 1;
    grid-row: 2;
    justify-self: stretch;
    max-width: none;
  }

  .trust-story-listening-stage {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
  }

  .trust-story-listening-media {
    height: auto;
    margin: 0;
    aspect-ratio: 3 / 2;
  }

  .trust-story-listening-copy {
    max-width: 38rem;
    padding: var(--space-12) var(--space-4);
  }

  .trust-story-onboarding-grid {
    grid-template-columns: 1fr;
    gap: var(--space-12);
  }

  .trust-story-onboarding-media,
  .trust-story-onboarding-copy {
    grid-column: 1;
  }

  .trust-story-onboarding-media {
    grid-row: 1;
    width: min(100%, 34rem);
    margin-right: auto;
    aspect-ratio: 1 / 1;
  }

  .trust-story-onboarding-copy {
    grid-row: 2;
    max-width: 40rem;
  }
}

@media (max-width: 560px) {
  .trust-story {
    padding-top: var(--space-16);
  }

  .trust-story-opening::after {
    height: 3.5rem;
  }

  .trust-story .trust-story-container {
    width: min(var(--container), calc(100% - 2rem));
  }

  .trust-story .trust-story-kicker {
    margin-bottom: var(--space-3);
  }

  .trust-story-title {
    max-width: 14ch;
    font-size: clamp(2.3rem, 11vw, 3rem);
    line-height: 1;
  }

  .trust-story-meeting-media {
    margin-top: var(--space-8);
    aspect-ratio: 4 / 3;
    border-radius: 0;
  }

  .trust-story-scene-title {
    font-size: clamp(1.85rem, 9vw, 2.45rem);
  }

  .trust-story-profiles {
    padding-top: var(--space-16);
  }

  .trust-story-scene-label {
    margin-bottom: 0;
  }

  .trust-story-profile-header {
    margin-bottom: var(--space-8);
  }

  .trust-story-profile-list {
    padding-inline: var(--space-4);
    gap: 3.5rem;
  }

  .trust-story-profile-media {
    border-radius: 0;
  }

  .trust-story-profile-copy {
    padding-top: var(--space-4);
  }

  .trust-story-profile-name {
    font-size: 2rem;
  }

  .trust-story-focus {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .trust-story-listening {
    margin-top: 3.75rem;
    padding: 0;
  }

  .trust-story .trust-story-listening .trust-story-container {
    width: 100%;
  }

  .trust-story-listening-stage {
    padding: 0;
  }

  .trust-story-listening-media {
    margin-top: 0;
    border-radius: 0;
  }

  .trust-story-listening-copy {
    padding: var(--space-8) 1rem var(--space-12);
  }

  .trust-story-onboarding {
    padding-top: 4.25rem;
  }

  .trust-story-onboarding-grid {
    gap: var(--space-8);
  }

  .trust-story-onboarding-media {
    border-radius: 0;
  }

  .trust-story-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    margin-top: var(--space-8);
  }

  .trust-story-steps li {
    display: block;
    font-size: .7rem;
    letter-spacing: .025em;
  }

  .trust-story-steps li::before {
    margin-bottom: .3rem;
  }

  .trust-story .trust-story-reveal.is-reveal-ready:not(.is-visible) {
    translate: 0 .55rem;
  }

  .trust-story :is(
    .trust-story-meeting-media,
    .trust-story-profile-media-stage,
    .trust-story-listening-media,
    .trust-story-onboarding-media
  ).trust-story-reveal.is-reveal-ready:not(.is-visible) {
    translate: 0 .35rem;
    clip-path: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .trust-story .trust-story-reveal,
  .trust-story .trust-story-reveal.is-reveal-ready,
  .trust-story .trust-story-reveal.is-reveal-ready.is-visible {
    opacity: 1;
    translate: 0 0;
    transform: none;
    clip-path: none;
    transition: none;
  }

  .trust-story-cta {
    transition: none;
  }
}


*{box-sizing:border-box}
html,body{
  height:100%;
}
body{
  margin:0;
  background:var(--color-sand);
  color:var(--color-text);
  font-family:var(--font-sans);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit; text-decoration:none}
p{margin:0 0 var(--space-6)}
.container{
  width:min(var(--container), calc(100% - 2*var(--space-8)));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(244,231,200,.85);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(9,31,57,.08);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: var(--space-6) 0;
}
.brand{
  display: flex;
  align-items: center;
  text-decoration: none;
}
.brand-logo{
  display: block;
  height: 28px;        /* 🔥 idealer Startwert */
  width: auto;

  /* ruhige Präsenz */
  opacity: .95;

  transition:
    opacity .2s ease,
    transform .2s ease;
}

/* optional: minimale Reaktion beim Hover */
.brand:hover .brand-logo{
  opacity: 1;
  transform: translateY(-0.5px);
}
.nav-links{
  display:flex;
  gap: var(--space-6);
  font-weight:500;
}
.nav-links a{
  color: rgba(9,31,57,.78);
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid transparent;

  transition:
    border-color .2s ease,
    background .2s ease,
    color .2s ease;
}

.nav-links a:hover{
  border-color: rgba(199,161,74,.45);
  background: rgba(244,231,200,.25);
  color: rgba(9,31,57,.95);
}

.section{
  padding: var(--space-24) 0;
}



.kicker{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  color:rgba(9,31,57,.7);
  margin-bottom: var(--space-4);
}
.h1, h1{
  font-family:var(--font-serif);
  font-weight:700;
  color:var(--color-navy);
  line-height:1.05;
  letter-spacing:-.02em;
  font-size: clamp(2.2rem, 4vw, 4rem);
  margin:0 0 var(--space-6);
}
.h2, h2{
  font-family:var(--font-serif);
  font-weight:800;
  color:var(--color-navy);
  line-height:1.15;
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
  margin:0 0 var(--space-6);
  overflow-wrap: anywhere;
  hyphens: auto;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding: .9rem 1.1rem;
  border-radius: 14px;
  border:1px solid rgba(9,31,57,.18);
  background: var(--color-navy);
  color: white;
  font-weight:600;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow: var(--shadow);
}
.btn:hover{
  transform: translateY(-1px);
  border-color: var(--color-gold);
}


/* WICHTIG: Wir fassen video/img NICHT an (damit dein Layout wie vorher bleibt) */


.grid{
  display:grid;
  gap: var(--space-8);
}
.grid-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 900px){
  .grid-2, .grid-3{ grid-template-columns: 1fr; }
}


.card{
  background: rgba(255,255,255,.22);
  border: 1px solid rgba(9,31,57,.10);
  border-radius: var(--radius);
  padding: var(--space-8);
  box-shadow: 0 12px 30px rgba(0,0,0,.04);
  position:relative;
  overflow:hidden;
}
.card::after{
  content:"";
  position:absolute;
  left: var(--space-8);
  right: var(--space-8);
  bottom: var(--space-6);
  height:1px;
  background: rgba(199,161,74,0);
  transition: background .2s ease;
}
.card:hover::after{
  background: rgba(199,161,74,.9);
}
.card--no-hover-accent::after,
.card--no-hover-accent:hover::after{
  background: transparent;
}


/* Shared reveal constitution: visible by default, armed by JavaScript. */
:is(.reveal, [data-reveal-item]) {
  --reveal-x: 0px;
  --reveal-y: .75rem;
  --reveal-duration: .76s;
  --reveal-delay: 0ms;
  --reveal-opacity: 1;
  opacity: var(--reveal-opacity);
  translate: 0 0;
}

:is(.reveal, [data-reveal-item]).is-reveal-ready:not(.is-visible) {
  opacity: 0;
  translate: var(--reveal-x) var(--reveal-y);
}

:is(.reveal, [data-reveal-item]).is-reveal-ready.is-visible {
  opacity: var(--reveal-opacity);
  translate: 0 0;
}

:is(.reveal, [data-reveal-item]):not(.trust-story-reveal).is-reveal-ready.is-visible {
  animation: baldeney-reveal-in var(--reveal-duration) cubic-bezier(.22, 1, .36, 1) var(--reveal-delay) both;
}

:is(.reveal, [data-reveal-item]).is-reveal-immediate {
  opacity: var(--reveal-opacity) !important;
  translate: 0 0 !important;
  clip-path: none !important;
  animation: none !important;
  transition: none !important;
}

@keyframes baldeney-reveal-in {
  from {
    opacity: 0;
    translate: var(--reveal-x) var(--reveal-y);
  }
  to {
    opacity: var(--reveal-opacity);
    translate: 0 0;
  }
}

.reveal-up { --reveal-y: 1rem; }
.reveal-down { --reveal-y: -.75rem; }
.reveal-left { --reveal-x: .9rem; --reveal-y: 0px; }
.reveal-right { --reveal-x: -.9rem; --reveal-y: 0px; }

@media (max-width: 900px) {
  .section :is(.reveal, [data-reveal-item]) {
    --reveal-y: .55rem;
    --reveal-duration: .7s;
  }

  .section :is(.reveal-left, .reveal-right) {
    --reveal-x: 0px;
  }
}

/* Section rhythm */
.section{
  position: relative;
}
.section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background: rgba(9,31,57,.10);
}
.section:first-of-type::before{
  display:none;
}

/* Alternate subtle backgrounds */
.section.alt{
  background: rgba(255,255,255,.18);
}

.accordion{
  display:grid;
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.acc-item{
  border: 1px solid rgba(9,31,57,.10);
  border-radius: var(--radius);
  background: rgba(255,255,255,.20);
  padding: .2rem 0;
  overflow:hidden;
}

.acc-q{
  list-style:none;
  cursor:pointer;
  padding: 1rem 1.1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
  color: var(--color-navy);
  font-weight:600;
}
.acc-q::-webkit-details-marker{ display:none; }

.acc-plus{
  width: 18px;
  height: 18px;
  position:relative;
}
.acc-plus::before,
.acc-plus::after{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width: 18px;
  height: 1px;
  background: rgba(9,31,57,.65);
  transition: transform .2s ease, background .2s ease;
}
.acc-plus::after{
  transform: rotate(90deg);
}

details[open] .acc-plus::after{
  transform: rotate(0deg);
}
details[open] .acc-plus::before,
details[open] .acc-plus::after{
  background: rgba(199,161,74,.95);
}

.acc-a{
  padding: 0 1.1rem 1.1rem;
  color: rgba(43,43,43,.92);
}

/* Services Showcase (ss-*) */

.services-showcase{
  --ss-ink: var(--color-navy, #091F39);
  --ss-ink-soft: rgba(9,31,57,.74);
  --ss-surface: rgba(255,251,244,.90);
  --ss-surface-strong: rgba(255,252,247,.96);
  --ss-card-bg: #f3e9d3;
  --ss-card-bg-hover: #f7efdf;
  --ss-card-bg-active: #fffaf2;
  --ss-border: rgba(9,31,57,.14);
  --ss-border-strong: rgba(9,31,57,.24);
  --ss-shadow-soft: 0 16px 40px rgba(9,31,57,.08);
  --ss-shadow-active: 0 20px 48px rgba(9,31,57,.14);

  position: relative;
  z-index: 3;
  overflow: visible;
}

.services-showcase .ss-bg{
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .5s cubic-bezier(.22, 1, .36, 1);
  background: var(--color-navy);
}

.services-showcase .ss-bg.is-on{
  opacity: 1;
}

.services-showcase .ss-bg picture,
.services-showcase .ss-bg img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


.services-showcase .ss-bg.is-empty{
    background: linear-gradient(180deg, #f8f2e8 0%, #efe3d3 100%);
}

.services-showcase .ss-bg.is-empty picture,
.services-showcase .ss-bg.is-empty img{
  display: none;
}

@media (prefers-reduced-motion: reduce){
  .services-showcase .ss-bg{
    transition: none;

  }
}

.services-showcase .ss-stage{
  position: relative;
  z-index: 2;
  border: 1px solid var(--ss-border);
  border-radius: var(--radius);
  background: var(--ss-surface);
  box-shadow: var(--ss-shadow-soft);
  overflow: hidden;
  isolation: isolate;
  backdrop-filter: blur(11px);
  -webkit-backdrop-filter: blur(11px);
}

.services-showcase .ss-inner{
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1.08fr);
  align-items: stretch;
  gap: 0;
  min-height: 560px;
  padding: clamp(3rem, 4.6vw, 4rem) clamp(3.15rem, 5vw, 4.45rem);
}

.services-showcase .ss-rail{
  display: flex;
  align-items: center;
  min-width: 0;
  padding-right: clamp(1.5rem, 2.6vw, 2.5rem);
  border-right: .5px solid rgba(9,31,57,.1);
}

.services-showcase .ss-cards{
  display: grid;
  width: 100%;
  min-width: 0;
  gap: .95rem;
}

.services-showcase .ss-card{
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  border: 1px solid var(--ss-border);
  background: var(--ss-card-bg);
  border-radius: 15px;
  min-height: 5.5rem;
  padding: 1rem 1.1rem;
  cursor: pointer;
  width: 100%;
  min-width: 0;

  /* keep reveal compatible */
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  transition:
    border-color .2s ease,
    background-color .2s ease,
    box-shadow .2s ease,
    opacity .9s ease;
}

.services-showcase .ss-card:hover{
  border-color: rgba(9,31,57,.22);
  background: var(--ss-card-bg-hover);
  box-shadow: 0 10px 24px rgba(9,31,57,.1);
}

.services-showcase .ss-card.is-active{
  border-color: var(--ss-border-strong);
  background: var(--ss-card-bg-active);
  box-shadow: var(--ss-shadow-active);
}

.services-showcase .ss-card:focus-visible{
  outline: 2px solid rgba(199,161,74,.9);
  outline-offset: 3px;
}


.services-showcase .ss-card-title{
  margin: 0;
  font-size: clamp(1rem, .96rem + .28vw, 1.1rem);
  line-height: 1.42;
  font-weight: 600;
  color: var(--ss-ink);
  overflow-wrap: anywhere;
}

.services-showcase .ss-card-sub{
  margin: 0;
  color: var(--ss-ink-soft);
  font-size: clamp(.82rem, .8rem + .2vw, .89rem);
  line-height: 1.45;
  font-weight: 400;
}


.services-showcase .ss-detail{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  max-width: 66ch;
  min-width: 0;
  padding-left: clamp(1.8rem, 3vw, 2.75rem);
}

.services-showcase .ss-detail.is-hidden{
  pointer-events: none;
}

.services-showcase .ss-detail-kicker{
  margin: 0 0 1.45rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: clamp(.7rem, .68rem + .12vw, .75rem);
  color: rgba(9,31,57,.58);
}

.services-showcase .ss-title{
  margin: 0 0 1.15rem;
  font-family: "EB Garamond", Georgia, serif;
  font-weight: 700;
  color: var(--ss-ink);
  letter-spacing: -.01em;
  line-height: 1.14;
  font-size: clamp(1.7rem, 1.5rem + .9vw, 2.2rem);
  overflow-wrap: anywhere;
}

.services-showcase .ss-text{
  margin: .2rem 0 1.55rem;
  max-width: 62ch;
  font-size: clamp(.92rem, .88rem + .2vw, 1rem);
  line-height: 1.52;
  color: rgba(9,31,57,.86);
  overflow-wrap: anywhere;
}

.services-showcase .ss-bullets{
  margin: 0;
  padding: 0;
  max-width: 60ch;
  display: grid;
  gap: .72rem;
  color: rgba(9,31,57,.74);
  font-size: clamp(.9rem, .88rem + .14vw, .96rem);
  line-height: 1.62;
  list-style: none;
}

.services-showcase .ss-bullets.is-hidden{
  display: none;
}

.services-showcase .ss-bullets li{
  margin: 0;
  padding: 0;
  overflow-wrap: anywhere;
}

.services-showcase .ss-bullets li + li{
  padding-top: 0;
  border-top: 0;
}

.services-showcase .ss-bullets{
  margin: 1rem 0 0;
  padding-left: 1.1rem;
  max-width: 54ch;
  display: grid;
  gap: .45rem;
  color: rgba(9,31,57,.78);
  font-size: clamp(.92rem, .88rem + .18vw, .98rem);
  line-height: 1.58;
}

.services-showcase .ss-bullets li::marker{
  color: rgba(199,161,74,.92);
}

.services-showcase .ss-graphic{
  display: none;
  position: relative;
  width: 100%;
  height: calc(clamp(11rem, 10rem + 3vw, 13.5rem) + clamp(1.55rem, 2.5vw, 2.1rem));
  margin-top: auto;
  padding-top: clamp(1.55rem, 2.5vw, 2.1rem);
  overflow: hidden;
  border: 0;
  background: transparent;
}

.services-showcase .ss-stage.has-service-graphics .ss-graphic{
  display: block;
}

.services-showcase .ss-stage.has-service-graphics .ss-detail{
  justify-content: flex-start;
}

.services-showcase .ss-graphic.is-empty{
  visibility: hidden;
}

.services-showcase .ss-graphic__image{
  display: block;
  width: 100%;
  height: calc(100% - clamp(1.55rem, 2.5vw, 2.1rem));
  object-fit: cover;
  object-position: center center;
  box-shadow: 0 14px 34px rgba(9,31,57,.09);
}

.services-showcase .ss-graphic[data-image-position="top"] .ss-graphic__image{
  object-position: center top;
}

.services-showcase .ss-graphic[data-image-position="bottom"] .ss-graphic__image{
  object-position: center bottom;
}


.services-showcase .ss-progress{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: rgba(9,31,57,.1);
}

.services-showcase .ss-progress-bar{
  height: 100%;
  width: 0%;
  background: rgba(199,161,74,.92);
  transform-origin: left center;
}

.services-showcase .ss-stage.has-shadow{
  filter: drop-shadow(0 24px 64px rgba(9,31,57,.13));
}


.services-showcase .ss-all-services{
  margin-top: var(--space-10);
}

.services-showcase .ss-all-services-grid{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

@media (min-width: 901px){
  .services-showcase .ss-all-services-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.services-showcase .ss-all-services-item{
  border: 1px solid rgba(9,31,57,.10);
  border-radius: 14px;
  padding: var(--space-5);
  background: rgba(255,255,255,.24);
}

.services-showcase .ss-all-services-item h3{
  margin: 0 0 .4rem;
  font-size: 1.1rem;
  color: var(--color-navy);
}

.services-showcase .ss-all-services-item p{
  margin: 0;
  color: rgba(43,43,43,.9);
}

.services-showcase .ss-line{
  margin-top: var(--space-8);
  height: 1px;
  width: 100%;
  background: rgba(199,161,74,.55);
}

.services-showcase .ss-mobile-list{
  display: none;
}

@media (max-width: 900px){
  .services-showcase .ss-bg{
    display: none;
  }

  .services-showcase .ss-stage{
    display: none;
  }

  .services-showcase .ss-graphic{
    display: none;
  }

  .services-showcase .ss-mobile-list{
    display: grid;
    gap: 0;
    margin: clamp(2rem, 6vw, 3rem) 0 0;
    padding: 0;
    border-top: 1px solid rgba(9,31,57,.18);
    list-style: none;
    counter-reset: none;
  }

  .services-showcase .ss-mobile-item{
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    gap: .7rem;
    padding: clamp(1.65rem, 6vw, 2.25rem) 0;
    border-bottom: 1px solid rgba(9,31,57,.14);
  }

  .services-showcase .ss-mobile-number{
    padding-top: .28rem;
    color: color-mix(in oklab, var(--color-gold) 78%, var(--color-navy));
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
  }

  .services-showcase .ss-mobile-copy{
    min-width: 0;
  }

  .services-showcase .ss-mobile-title{
    margin: 0;
    color: var(--ss-ink);
    font-family: var(--font-serif);
    font-size: clamp(1.45rem, 7vw, 2rem);
    font-weight: 700;
    letter-spacing: -.012em;
    line-height: 1.08;
  }

  .services-showcase .ss-mobile-lead{
    margin: .65rem 0 0;
    color: rgba(9,31,57,.7);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.45;
    text-transform: uppercase;
  }

  .services-showcase .ss-mobile-text{
    margin: .85rem 0 0;
    color: rgba(9,31,57,.8);
    font-size: .96rem;
    line-height: 1.62;
  }

  .services-showcase .ss-mobile-bullets{
    display: grid;
    gap: .45rem;
    margin: .9rem 0 0;
    padding-left: 1.05rem;
    color: rgba(9,31,57,.7);
    font-size: .9rem;
    line-height: 1.55;
  }

  .services-showcase .ss-mobile-bullets li::marker{
    color: var(--color-gold);
  }

  .services-showcase :is(.ss-mobile-title, .ss-mobile-lead, .ss-mobile-text, .ss-mobile-bullets li){
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
  }
}

/* ===== Floating Header Rail (robust, calm) ===== */

.site-header{
  position: fixed;
  top: 14px;
  left: 0;
  right: 0;
  z-index: 50;
  pointer-events: none; /* Rail bekommt pointer-events zurück */
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  filter: none;
}

.header-rail{
  pointer-events: auto;

  position: relative;
  overflow: hidden;
  isolation: isolate;
   
  width: min(1080px, calc(100% - 28px));
  margin: 0 auto;

  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;

  padding: 10px 14px;
  border-radius: 18px; /* statt 999px */


  background: rgba(244,231,200,.42);
  border: 1px solid rgba(9,31,57,.10);
  box-shadow: 0 12px 30px rgba(0,0,0,.06);

  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
    }
    
    .header-rail::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:0;
      border-radius: inherit;
      background: rgba(244,231,200,.42);
      -webkit-backdrop-filter: blur(14px);
      backdrop-filter: blur(14px);
      opacity: 1;
      transition: opacity .25s ease;
    }
    
    .header-rail > *{
      position: relative;
      z-index: 1;
      }
  .header-rail::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    border-radius: inherit;
    background: rgba(244,231,200,.45);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    opacity: 1;
    transition: opacity .25s ease;
  }

.header-rail > *{
  position: relative;
  z-index: 1;
}

/* Brand */
.header-rail .brand,
.header-rail .brand-logo{
  font-family: var(--font-serif);
  font-weight: 700;
  color: #0C2849;
  text-decoration: none;
  letter-spacing: .01em;
}

.header-rail .brand-logo{
  display: block;
  height: 34px;
  width: auto;
  filter: none; 
  transition: filter .25s ease;
}

.header-rail .brand-logo :is(path, rect, circle, ellipse, polygon, polyline, line){
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Nav links */
.nav-links{
  justify-self: center;
  display: flex;
  gap: 18px;
  align-items: center;
}
.nav-links :is(a, button){
  color: rgba(9,31,57,.88);
  text-decoration: none;
  font-size: .95rem;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  font-weight: 500;
  font-family: inherit;
  line-height: inherit;
  cursor: pointer;
  transition: color .2s ease, font-weight .2s ease;
}
.nav-links :is(a, button):hover{
  color: rgba(9,31,57,.98);
  background: transparent;
  border-color: transparent;
}

.nav-links :is(a, button).is-active{
  color: #0C2849;
  font-weight: 650;
}

/* ===== Header CTA: Gespräch vereinbaren ===== */
.nav-cta{
  appearance: none;
  text-decoration: none;
  font-size: 1.075rem;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.25;
  cursor: pointer;
  padding: 15px 28px;
  border-radius: 14px;

  background-color: #0d2235;
  border: 1px solid #0d2235;
  color: #d4bc7a;  
  transform: none;
  box-shadow: none;

  transition: background-color .15s ease-out, color .15s ease-out, border-color .15s ease-out, outline-color .15s ease-out;
}

.nav-cta:hover{
  background-color: #0B2748;
  color: #d4bc7a;
  border-color: rgba(199,161,74,.65);
  transform: none;
  box-shadow: none;
}

.nav-cta:focus,
.nav-cta:focus-visible{
  outline: 2px solid rgba(199,161,74,.9);
  outline-offset: 3px;
  border-color: #173149;
  transform: none;
  box-shadow: none;
}


/* ===== States ===== */

/* Scrolled: Glass-Substanz */
.site-header.is-scrolled .header-rail{
  background: rgba(244,231,200,.42);
  border-color: rgba(9,31,57,.10);
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  }

.site-header.is-scrolled .header-rail::before{
  opacity: 1;
}

.site-header.is-scrolled .header-rail .brand,
.site-header.is-scrolled .header-rail .brand-logo{
  color: #0C2849;
}

.site-header.is-scrolled .header-rail .brand-logo{
  filter: none;
}

.site-header.is-scrolled .nav-links :is(a, button){
  color: rgba(9,31,57,.88);
}

.site-header.is-scrolled .nav-links :is(a, button):hover{
  color: rgba(9,31,57,.98);
  background: transparent;
  border-color: transparent;
}
.site-header.is-scrolled .nav-links :is(a, button).is-active{
  color: #0C2849;
  font-weight: 650;
}


.site-header.is-scrolled .header-rail::before{
  opacity: 1;
}
/* Mobile */
@media (max-width: 900px){
  .nav-links{ display: none; }
  .header-rail{
    grid-template-columns: auto 1fr;
    gap: var(--space-2);
    padding: 8px 10px;
  }
  .nav-cta{
    justify-self: end;
    max-width: min(10.5rem, 54vw);
    min-height: 44px;
    padding: 10px 12px;
    font-size: .78rem;
    line-height: 1.12;
    text-align: center;
    white-space: normal;
  }
}

.services-showcase__intro{
  max-width: 70ch;
  margin: var(--space-4) 0 0;
  color: rgba(9,31,57,.76);
  font-size: clamp(.98rem, .94rem + .2vw, 1.06rem);
  line-height: 1.6;
}

@media (max-width: 420px){
  .header-rail .brand-logo{
    height: 28px;
  }
}
/* ===== Header: niemals Vollbreiten-Balken ===== */

.site-header .container{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ===== Nav Drawer (technical skeleton only) ===== */
.bk-burger{
  position: fixed;
  top: var(--bk-burger-top, 20px);
  left: clamp(14px, 2.3vw, 24px);
  width: 56px;
  height: 56px;
  z-index: 75;
  display: grid;
  place-content: center;
  gap: 7px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.bk-burger__line{
  width: 28px;
  height: 3.5px;
  border-radius: 999px;
  background: #fff;
  mix-blend-mode: normal;
  opacity: .92;
  filter: drop-shadow(0 0 1px rgba(0,0,0,.25));
}

@supports not (mix-blend-mode: difference){
  .bk-burger__line{
    background: #0C2849;
  }
}

.bk-burger:focus-visible{
  outline: 3px solid rgba(201,178,124,.35);
  outline-offset: 4px;
  border-radius: 999px;
}

@media (prefers-reduced-motion: reduce){
  .bk-burger{
    transition: none;
  }

  .nav-drawer__panel,
  .nav-drawer__panel nav{
    transition: none;
  }
}

.nav-drawer{
  position: fixed;
  inset: 0;
  z-index: 80;
  display: block;
  visibility: hidden;
}

.nav-drawer__scrim{
  position: absolute;
  inset: 0;
  background: rgba(9,31,57,.18);
}

.nav-drawer__panel{
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  height: 100%;
  width: min(24rem, 92vw);
  transform: translateX(-100%);
  background: #FFFCF6;
  color: rgba(9,31,57,.88);
  padding: clamp(1.6rem, 3vw, 2.5rem) clamp(1.25rem, 3.2vw, 2.25rem) clamp(2rem, 4vw, 2.9rem);
  overflow-y: auto;
  border-left: 1px solid rgba(9,31,57,.08);
  transition: transform .2s cubic-bezier(.22,1,.36,1);
}

.nav-drawer.is-open{
  visibility: visible;
}

.nav-drawer.is-open .nav-drawer__panel{
  transform: translateX(0);
}


.nav-drawer.is-open .nav-drawer__panel nav{
  opacity: 1;
  filter: none;
  transform: none;
}

body.has-drawer{
  overflow: hidden;
}
body.has-drawer #page-root,
body.has-drawer .site-header{
  padding-right: var(--drawer-scrollbar-width, 0px);
}

.nav-drawer__close{
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0 0 clamp(1.25rem, 2.5vw, 1.85rem);
  font: inherit;
  font-size: .9rem;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(9,31,57,.62);
  cursor: pointer;
}

.nav-drawer__panel nav{
  display: grid;
  gap: clamp(1.15rem, 2.4vw, 1.7rem);
  opacity: 0;
  filter: blur(6px);
  transform: translateY(6px);
  transition:
    opacity .16s ease .08s,
    filter .16s ease .08s,
    transform .16s ease .08s;
}

.nav-drawer__panel section{
  margin: 0;
  padding-top: clamp(.2rem, .6vw, .35rem);
}

.nav-drawer__panel section + section{
  border-top: 1px solid rgba(9,31,57,.06);
  padding-top: clamp(.8rem, 1.9vw, 1.2rem);
}

.nav-drawer__panel h2{
  margin: 0 0 .7rem;
  font-family: var(--font-serif);
  font-size: clamp(1.18rem, 2.1vw, 1.42rem);
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.2;
  color: rgba(9,31,57,.92);
}

.nav-drawer__panel ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .42rem;
}

.nav-drawer__panel a{
  display: inline-block;
  padding: .08rem 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(9,31,57,.8);
  text-decoration: none;
}

.nav-drawer__panel a:hover{
  color: rgba(199,161,74,.96);
}

.nav-drawer__panel a:focus-visible,
.nav-drawer__close:focus-visible{
  outline: 2px solid rgba(199,161,74,.5);
  outline-offset: 3px;
  border-radius: 2px;
}

.nav-drawer__panel a[aria-disabled="true"]{
  color: rgba(9,31,57,.42);
}

@media (max-width: 520px){
  .nav-drawer__panel{
    padding: 1.2rem 1rem 1.75rem;
  }
}

/* ===== Process Roadmap (pinned) ===== */

.process-roadmap{
  position: relative;
  z-index: 2;
}

.process-roadmap .rm-stage{
  position: relative;
  border: 1px solid rgba(9,31,57,.10);
  border-radius: var(--radius);
  background: rgba(255,255,255,.18);
  box-shadow: 0 14px 34px rgba(0,0,0,.05);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  overflow: hidden;
  isolation: isolate;
  position: relative;
}

.process-roadmap .rm-inner{
  position: relative;
  padding: var(--space-10) var(--space-10) var(--space-12);
  min-height: 560px;
}

@media (max-width: 900px){
  .process-roadmap .rm-inner{ min-height: 760px; }
}

/* Road */
.process-roadmap .rm-road{
  position:absolute;
  left: 0;
  right: 0;
  inset: 0;
  top: 96px;
  height: 240px;
  pointer-events: none;
  opacity: .95;
  z-index: 1;
}

.process-roadmap .rm-svg{
  width: 100%;
  height: 100%;
}

.process-roadmap .rm-path{
  fill: none;
  stroke-linecap: round;
  stroke-width: 3.5;
}

.process-roadmap .rm-path-base{
  stroke: rgba(9,31,57,.10);
}

.process-roadmap .rm-path-progress{
  stroke: rgba(199,161,74,.75);
  stroke-width: 3.75;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

/* Cards row */
.process-roadmap .rm-cards{
  position: absolute;
  inset: 0;
  padding: clamp(12px, 2vw, 24px);
  pointer-events: none;
  overflow: visible;
  z-index: 2;
}

@media (max-width: 900px){
  .process-roadmap .rm-cards{ inset: auto; position: relative; padding: 0; }
}

.process-roadmap .rm-step{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  transform: translate(-50%,-50%);
  pointer-events: none;
  --rm-offset-y: -70px;
  --rm-line-length: 70px;
  --rm-base-scale: 1;
}

.process-roadmap .rm-node{
  position: absolute;
  top: 0%;
  left: 0%;
  width: 14px;
  height: 14px;
  transform: translate(-50%,-50%);
  border-radius: 999px;
  background: var(--rm-card-bg);
  border: 2px solid rgba(9,31,57,.22);
  box-shadow: none;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
  pointer-events: none;
}

.process-roadmap .rm-node::after{
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  background: radial-gradient(circle at center, rgba(199,161,74,.24) 0%, rgba(199,161,74,.12) 45%, rgba(199,161,74,0) 70%);
  transition: opacity .25s ease, transform .25s ease;
  transform: scale(.85);
  opacity: 0;
}

.process-roadmap .rm-step.is-active .rm-node{
  border-color: rgba(199,161,74,.9) !important;
  background: rgba(199,161,74,1) !important;
  box-shadow: 0 0 0 6px rgba(199,161,74,.18), 0 0 18px rgba(199,161,74,.5) ;
}

.process-roadmap .rm-step.is-active .rm-node::after{
  
  opacity: 1;
  transform: scale(1);
}
.process-roadmap .rm-card{
  z-index: 2;
  position: absolute;
  position: absolute;
  top: var(--rm-offset-y);
  left: 0;
  min-width: 230px;
  width: 250px;
  max-width: 250px;
  text-align: left;
  border: 1px solid rgba(9,31,57,.10);
  background: var(--rm-card-bg);
  border-radius: 16px;
  padding: 0;
  cursor: pointer;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  transition:
  border-color .2s ease,
  background .2s ease,
  transform .25s ease;
}

.process-roadmap .rm-card:hover{
  border-color: rgba(199,161,74,.55);
}

.process-roadmap .rm-card-inner{
  padding: 20px 18px; 
}

.process-roadmap .rm-num{
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(9,31,57,.65);
  margin-bottom: .4rem;
}

.process-roadmap .rm-title{
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: .6rem;
}

.process-roadmap .rm-body{
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(6px);
  filter: blur(4px);
  transition:
    max-height .35s ease,
    margin-top: 10px;
    opacity .25s ease,
    transform .25s ease,
    filter .35s ease;
}

.process-roadmap .rm-text{
  margin: 0;
  color: rgba(43,43,43,.88);
  line-height: 1.45;
}

/* Last step special finish */
.process-roadmap .rm-step.is-last{
  --rm-base-scale: 1; /* base bleibt normal */
}

.process-roadmap .rm-step.is-last .rm-card{
  background: var(--rm-card-bg);
  border-color: rgba(9,31,57,.10);
  box-shadow: none;
}

.process-roadmap .rm-step.is-last .rm-card.is-active{
  background: linear-gradient(145deg, rgba(11,39,71,.98) 0%, rgba(9,31,57,.98) 70%);
  border: none;
  box-shadow:
    inset 0 0 0 1px rgba(199,161,74,.55),
    0 16px 36px rgba(9,31,57,.25);
}

.process-roadmap .rm-step.is-last .rm-card.is-active::after{
  content:"";
  position:absolute;
  inset: 5px;
  border-radius: 14px;
  border: 1px solid rgba(199,161,74,.45);
  pointer-events:none;
}

/* Textfarben nur im active Finale */
.process-roadmap .rm-step.is-last .rm-card.is-active .rm-num,
.process-roadmap .rm-step.is-last .rm-card.is-active .rm-title,
.process-roadmap .rm-step.is-last .rm-card.is-active .rm-text{
  color: rgba(244,231,200,.95);
}

.process-roadmap .rm-step.is-last.is-active .rm-node{
  width: 16px;
  height: 16px;
  background: rgba(199,161,74,1);
  border-color: rgba(199,161,74,.9);
  box-shadow: 0 0 0 6px rgba(199,161,74,.16), 0 0 18px rgba(199,161,74,.35);
}

/* Node: inactive wie normal, active darf "golden" wirken */
.process-roadmap .rm-step.is-last .rm-node{
  width: 14px;
  height: 14px;
  background: var(--rm-card-bg);
  border: 2px solid rgba(9,31,57,.22);
  box-shadow: none;
}

/* Active step (grows + tells story) */
.process-roadmap .rm-card.is-active{
  background: var(--rm-card-bg);
  border-color: rgba(199,161,74,.75);
  box-shadow: 0 12px 28px rgba(9,31,57,.12);
}

.process-roadmap .rm-card.is-active .rm-body{
  max-height: 160px;
  opacity: 1;
  transform: translateY(0);
  filter: blur(0px);
}

/* scale via JS (more precise), but keep fallback */
.process-roadmap .rm-card.is-active{
  transform: translateY(0);
}

/* connector (simple) */
.process-roadmap .rm-step::after{
  z-index: 2; 
  content:"";
  position:absolute;
  left: 0;
  width: 2px;
  background: linear-gradient(180deg, rgba(199,161,74,.65), rgba(199,161,74,.25));
  transform: translateX(-50%);
  opacity: .9;
}

.process-roadmap .rm-step.is-top::after{
  top: calc(var(--rm-line-length) * -1);
  height: var(--rm-line-length);
}

.process-roadmap .rm-step.is-bottom::after{
  top: 0;
  height: var(--rm-line-length);
}

.process-roadmap.is-stacked .rm-cards{
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  margin-top: 20px;
  pointer-events: auto;
}

.process-roadmap.is-stacked .rm-step{
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  --rm-offset-y: 0px;
  --rm-line-length: 0px;
  pointer-events: auto;
}

.process-roadmap.is-stacked .rm-card{
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  width: 100%;
  max-width: none;
}

.process-roadmap.is-stacked .rm-node,
.process-roadmap.is-stacked .rm-card::after{
  display: none;
}

/* subtle bottom progress */
.process-roadmap .rm-progress{
  display: none !important;
}


/* /assets/css/main.css */
/* === Roadmap final card colors (force override) === */

:root{
  --rm-card-bg: #F4E7C8;      /* Beige-Basis für Karten & Nodes */
}

.process-roadmap .rm-card{
  background: var(--rm-card-bg);
  border-color: rgba(9,31,57,.10);
  box-shadow: 0 12px 28px rgba(9,31,57,.12);
  z-index: 3;
}

/* Active step should be highest */
.process-roadmap .rm-step.is-active{ z-index: 10; }
.process-roadmap .rm-step.is-active .rm-card{ z-index: 11; }

.process-roadmap .rm-card:hover{
  border-color: rgba(199,161,74,.55);
}

.process-roadmap .rm-card.is-active{
  background: #F4E7C8;
  border-color: rgba(199,161,74,.75);
}

/* SVG write-on baseline */
#logo-baldeney .write-path {
  stroke-linejoin: round;
}

#logo-baldeney .write-path--letters {
  stroke-linecap: round;
}

#logo-baldeney .write-path--wave {
  /* no initial mini-cap visible at draw start */
  stroke-linecap: butt;
}

/* === Hero (consolidated single source) === */
.hero {
  --hero-trust-bottom-gap: clamp(24px, 5vh, 56px);
  padding: 0;
  position: relative;
  overflow: hidden;
}

.hero .hero-wrap {
  position: relative;
  height: 100svh;
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding: clamp(5.25rem, 10vh, 8.75rem) 0 clamp(8.75rem, 15vh, 12rem);
}

.hero .container {
  position: relative;
  height: 100%;
  display: grid;
  align-items: center;
}

.hero .hero-content {
  position: relative;
  z-index: 3;
  max-width: clamp(720px, 62vw, 860px);
  margin-inline: auto;
  padding: clamp(20px, 5.5vh, 72px) clamp(12px, 2.4vw, 36px) clamp(210px, 30vh, 320px);
  text-align: center;
  display: grid;
  justify-items: center;
  gap: clamp(12px, 1.8vh, 20px);
}


.hero-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(9,31,57,.08);
  z-index: 0;
}




.hero-media video,
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.03) brightness(1.02);
  transform: scale(1.02);
}

.hero .hero-logo {
  width: min(420px, 72vw);
  margin-bottom: 0;
}

.hero .hero-logo svg {
  width: 100%;
  height: auto;
  display: block;
}

.hero h1 {
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0;
  font-weight: 600;
  color: #F7F6F2;
  text-shadow: 0 2px 14px rgba(0,0,0,.28), 0 1px 2px rgba(0,0,0,.18);
}

.hero .hero-content > .kicker {
  margin: 0;
  color: #F7F6F2;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .7);
}

.hero .hero-sub,
.hero h2.hero-sub {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  line-height: 1.45;
  margin: 0;
  max-width: 56ch;
  color: rgba(247,246,242,0.92);
  opacity: .92;
  text-shadow: 0 2px 14px rgba(0,0,0,.28), 0 1px 2px rgba(0,0,0,.18);
}

.hero .btn.btn--primary {
  padding: 15px 28px;
  font-size: 1.075rem;
  line-height: 1.25;
  border-radius: 14px;
  border-color: #0d2235;
  background-color: #0d2235;
  color: #d4bc7a;
  font-weight: 600;
  transform: none;
  box-shadow: 0 0 0 1px rgba(201,178,124,.46), 0 10px 28px rgba(8,23,38,.34), 0 0 0 6px rgba(201,178,124,.06);
  transition: background-color .15s ease-out, color .15s ease-out, border-color .15s ease-out, outline-color .15s ease-out;
}


.hero .btn.btn--primary:hover {
  background-color: #0B2748;
  color: #d4bc7a;
  border-color: rgba(199,161,74,.72);           /* überschreibt globale .btn:hover */
  transform: none;
  box-shadow: 0 0 0 1px rgba(201,178,124,.62), 0 14px 34px rgba(8,23,38,.38), 0 0 0 7px rgba(201,178,124,.09);
}


.hero .btn.btn--primary:focus,
.hero .btn.btn--primary:focus-visible {
  outline: none;
  border-color: #173149;
  transform: none;
  box-shadow: 0 0 0 1px rgba(201,178,124,.72), 0 0 0 4px rgba(247,246,242,.22), 0 10px 30px rgba(8,23,38,.36);
}

/* ===== Footer: quiet navy closing surface ===== */
.site-footer{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.25rem) 0 var(--space-3);
  color: rgba(247, 246, 242, .74);
  background: var(--color-navy);
}

.site-footer::before{
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  height: 1px;
  background: var(--color-gold);
  content: '';
}

.site-footer__inner,
.site-footer__bottom{
  position: relative;
  z-index: 2;
}

.site-footer__inner{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.site-footer__brand{
  display: flex;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: center;
  max-width: 34rem;
}

.site-footer__logo{
  display: inline-block;
  flex: 0 0 auto;
  width: min(10.75rem, 44vw);
  margin: 0;
}

.site-footer__logo img{
  display: block;
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: .96;
}

.site-footer__claim,
.site-footer__text{
  margin: 0;
  color: rgba(247, 246, 242, .72);
  font-size: .88rem;
  line-height: 1.5;
}

.site-footer__claim{
  max-width: 28ch;
}

.site-footer__meta{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
}

.site-footer__label{
  margin: 0 0 var(--space-3);
  color: var(--color-gold);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.site-footer__links{
  display: grid;
  justify-items: start;
  gap: .45rem;
}

.site-footer__links a{
  color: rgba(247, 246, 242, .78);
  font-size: .94rem;
  line-height: 1.5;
  text-decoration: none;
  text-underline-offset: .22em;
  transition: color .18s ease, text-decoration-color .18s ease;
}

.site-footer__links a:hover{
  color: var(--color-gold);
  text-decoration: underline;
}

.site-footer__links a:focus-visible,
.site-footer__logo:focus-visible{
  outline: 2px solid var(--color-gold);
  outline-offset: 5px;
}

.site-footer__bottom{
  display: flex;
  justify-content: space-between;
  margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
  padding-top: var(--space-3);
  border-top: 1px solid rgba(247, 246, 242, .16);
  color: rgba(247, 246, 242, .48);
  font-size: .72rem;
  letter-spacing: .06em;
  line-height: 1.4;
  text-transform: uppercase;
}

@media (max-width: 900px){
  .site-footer{
    padding-top: var(--space-12);
  }

  .site-footer__inner{
    grid-template-columns: 1fr;
    gap: var(--space-6);
    align-items: start;
  }

  .site-footer__links a{
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

@media (max-width: 560px){
  .site-footer__brand{
    display: grid;
    gap: var(--space-3);
  }

  .site-footer__logo{
    width: min(11rem, 58vw);
  }

  .site-footer__meta{
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .site-footer__bottom{
    margin-top: var(--space-12);
  }
}

.hero .hero-trust-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--hero-trust-bottom-gap);
  z-index: 3;
  width: min(100%, 1160px);
  margin-inline: auto;
}

.hero .hero-trust-wrapper > .container {
  display: block;
  height: auto;
}


.hero .hero-trust--signets {
  --reveal-y: .5rem;
  --reveal-duration: .9s;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(18px, 2.5vw, 32px);
  width: 100%;
  max-width: 1160px;
  margin-inline: auto;
  margin-top: 0;
  opacity: 1;
  translate: 0 0;
}

.hero .trust-signet {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  opacity: .88;
}

.hero .hero-trust--signets .signet-icon {
  width: 64px;
  height: 64px;
  aspect-ratio: 1 / 1;
  flex: 0 0 64px;
  background: #0C2849 !important;
  display: grid;
  place-items: center;
  transform: rotate(45deg);
  transform-origin: center;
  border-radius: 10px;
  position: relative;
  z-index: 0;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.18));
}

.hero .hero-trust--signets .signet-icon::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(201,178,124,.65);
  border-color: rgba(201,178,124,.65) !important;
  border-radius: 6px;
  z-index: 1;
  pointer-events: none;
}

.hero .hero-trust--signets .signet-icon-inner {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  transform: rotate(-45deg);
  position: relative;
  z-index: 2;
  color: #C9B27C !important;
}

.hero .hero-trust--signets .signet-icon-inner > svg {
  width: 25px;
  height: 25px;
  display: block;
  transform: none;
  overflow: visible;
  shape-rendering: geometricPrecision;
}

.hero .hero-trust--signets .signet-icon-inner > svg,
.hero .hero-trust--signets .signet-icon-inner > svg :is(path, rect, circle, line, polyline, polygon, ellipse) {
  fill: none !important;
  stroke: #C9B27C !important;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  opacity: 1;
}

.hero .hero-trust--signets .signet-text {
  min-width: 0;
  font-size: 0.9rem;
  line-height: 1.35;
  color: rgba(255,255,255,.88) !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.35);
  hyphens: none;
  overflow-wrap: normal;
  text-wrap: balance;
}

.hero .trust-signet--digital .signet-icon-inner,
.hero .trust-signet--digital .signet-icon-inner > svg {
  width: 32px;
  height: 32px;
}

.hero .trust-signet--proactive .signet-icon-inner,
.hero .trust-signet--proactive .signet-icon-inner > svg {
  width: 28px;
  height: 28px;
}

@media (min-width: 1024px) {

  .hero .trust-signet {
    width: 100%;
  }
}

/* Keep the signet row attached to the lower hero edge when browser zoom
   reduces the available CSS viewport height. The hero may grow instead of
   clipping the signets or pushing them underneath the main message. */
@media (min-width: 901px) and (max-height: 760px) {
  .hero .hero-wrap {
    display: block;
    height: auto;
    min-height: 100svh;
    padding: clamp(4.75rem, 10vh, 6.5rem) 0 clamp(1.5rem, 4vh, 2.5rem);
  }

  .hero .hero-wrap > .container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: auto;
    min-height: calc(100svh - clamp(6.25rem, 14vh, 9rem));
  }

  .hero .hero-content {
    margin-block: auto;
    padding: clamp(.75rem, 3vh, 1.5rem) clamp(12px, 2.4vw, 36px);
  }

  .hero .hero-trust-wrapper {
    position: static;
    width: min(100%, 1160px);
    margin-top: auto;
    padding-top: clamp(1.25rem, 3vh, 2rem);
  }

  .hero .hero-trust--signets {
    gap: clamp(.75rem, 1.75vw, 1.5rem);
  }

  .hero .trust-signet {
    gap: clamp(.65rem, 1.25vw, 1rem);
  }

  .hero .hero-trust--signets .signet-icon {
    width: clamp(48px, 5vw, 60px);
    height: clamp(48px, 5vw, 60px);
    flex-basis: clamp(48px, 5vw, 60px);
  }

  .hero .hero-trust--signets .signet-text {
    font-size: clamp(.76rem, 1.25vw, .88rem);
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .hero .hero-trust--signets {
    gap: .75rem;
  }

  .hero .trust-signet {
    gap: .75rem;
  }

  .hero .hero-trust--signets .signet-icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }

  .hero .hero-trust--signets .signet-text {
    font-size: .78rem;
  }
}

@media (max-width: 900px) {
  .hero .hero-wrap {
    display: block;
    height: auto;
    min-height: 100svh;
    padding: clamp(5.5rem, 12vw, 7rem) 0 clamp(1.75rem, 6vw, 3rem);
  }

  .hero .hero-wrap > .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
    min-height: calc(100svh - clamp(7.25rem, 18vw, 10rem));
  }

  .hero .hero-content {
    padding: clamp(1rem, 4vh, 2rem) clamp(8px, 2.4vw, 24px) 0;
  }

  .hero .hero-trust-wrapper {
    position: static;
    width: min(100%, 920px);
    margin-top: clamp(1.5rem, 5vh, 2.75rem);
  }

  .hero .hero-trust-wrapper > .container {
    display: block;
    height: auto;
  }

  .hero .hero-trust--signets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  .hero .trust-signet {
    width: 100%;
  }
}

@media (max-width: 600px) {
  .hero .hero-content {
    padding: clamp(12px, 3vh, 24px) clamp(4px, 2vw, 12px) 0;
    max-width: min(92vw, 620px);
  }

  .hero .hero-trust--signets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem .75rem;
    max-width: 520px;
  }

  .hero .trust-signet {
    flex-direction: column;
    align-items: center;
    gap: .55rem;
    width: 100%;
    text-align: center;
  }

  .hero .hero-trust--signets .signet-icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }

  .hero .hero-trust--signets .signet-icon-inner,
  .hero .hero-trust--signets .signet-icon-inner > svg {
    width: 22px;
    height: 22px;
  }

  .hero .hero-trust--signets .signet-text {
    font-size: .72rem;
    line-height: 1.3;
  }

  .hero .btn.btn--primary {
    max-width: 100%;
    padding-inline: 20px;
    font-size: .96rem;
    white-space: nowrap;
  }
}

@media (max-width: 1024px) and (max-height: 560px) and (orientation: landscape) {
  .hero .hero-wrap {
    display: block;
    height: auto;
    min-height: 100svh;
    padding: 4.75rem 0 1.5rem;
  }

  .hero .hero-wrap > .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
    min-height: 0;
  }

  .hero .hero-content {
    gap: .55rem;
    padding-top: 0;
  }

  .hero .hero-logo {
    width: min(260px, 35vw);
  }

  .hero h1 {
    font-size: clamp(1.65rem, 4.5vw, 2.25rem);
  }

  .hero .hero-sub,
  .hero h2.hero-sub {
    max-width: 72ch;
    font-size: .9rem;
    line-height: 1.35;
  }

  .hero .hero-trust-wrapper {
    position: static;
    width: min(100%, 920px);
    margin-top: 1rem;
  }

  .hero .hero-trust-wrapper > .container {
    display: block;
    height: auto;
  }

  .hero .hero-trust--signets {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
  }

  .hero .trust-signet {
    flex-direction: column;
    align-items: center;
    gap: .45rem;
    text-align: center;
  }

  .hero .hero-trust--signets .signet-icon {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  .hero .hero-trust--signets .signet-icon-inner,
  .hero .hero-trust--signets .signet-icon-inner > svg {
    width: 20px;
    height: 20px;
  }

  .hero .hero-trust--signets .signet-text {
    font-size: .65rem;
    line-height: 1.25;
  }
}

/* Hero logo color override: force Baldeney SVG to off-white in hero only */
.hero .hero-content {
  position: relative;
  z-index: 3;
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
}

/* Hero logo color override: force Baldeney SVG to off-white in hero only */
.hero #logo-baldeney,
.hero #logo-baldeney svg {
  color: #F7F6F2;
}

.hero #logo-baldeney svg [mask],
.hero #logo-baldeney svg [mask] :is(path, rect, circle, ellipse, polygon, polyline, line, g) {
  fill: #F7F6F2 !important;
  stroke: #F7F6F2 !important;
}

/* Hero reveal SSoT: logo, H1, H2/subline, CTA */
.hero :is(.hero-logo, h1, h2, .hero-sub, .btn.btn--primary).reveal {
  --reveal-y: 1rem;
  --reveal-duration: .92s;
}

.hero .btn.btn--primary.reveal {
  transition:
    background-color .15s ease-out,
    color .15s ease-out,
    border-color .15s ease-out,
    outline-color .15s ease-out;
}

.hero .hero-logo.reveal {
  --reveal-duration: 1.08s;
}

/* Audience section */

:root {
  --aud-sand: var(--color-sand, #F7F3EE);
  --aud-sand-deep: color-mix(in oklab, var(--aud-sand) 85%, #EDE3D1);
  --aud-ink: var(--color-brand-ink, #0B2A3C);
  --aud-gold: var(--color-gold, #D4AF37);
  --aud-text: #37444F;
}

.audience {
  --audience-sand: var(--aud-sand);
  --audience-ink: var(--aud-ink);
  --audience-text: var(--aud-text);
  --audience-border: rgba(25, 25, 25, 0.06);
}

.section--sand.audience {
  position: relative;
  isolation: isolate;
  background: var(--audience-sand);
}

.section--sand.audience::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0) 38%,
    color-mix(in oklab, var(--aud-sand-deep) 100%, transparent) 100%
  );
  opacity: 1;
  z-index: 0;
}

.audience__ambient {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: .1;
  pointer-events: none;
  z-index: 0;
  -webkit-mask-image: linear-gradient(100deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.25) 60%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(100deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.25) 60%, rgba(0,0,0,0) 100%);
}


.audience__header {
  text-align: center;
  max-width: 920px;
  margin-inline: auto;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.audience__title {
  margin: 0;
}

.audience__grid {
  display: grid;
  gap: clamp(20px, 2.5vw, 28px);
  grid-template-columns: 1fr;
  max-width: 1200px;
  margin: clamp(24px, 3vw, 40px) auto clamp(72px, 8vw, 120px);
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .audience__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1200px) {
  .audience__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.audience__card {
  position: relative;
  overflow: hidden;
  background: #FFF9F2;
  border-radius: 6px;
  border: 1px solid var(--audience-border);
  padding: clamp(22px, 3.2vw, 32px);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  color: var(--audience-text);
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.08),
    0 6px 18px rgba(0, 0, 0, 0.04);
  transition:
    box-shadow 220ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.audience__card::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 6px;
  pointer-events: none;
  border: 1px solid rgba(212, 175, 55, 0.18);
}

.audience__card::after {
  content: "";
  position: absolute;
  inset: 10px 10px auto 10px;
  height: 1px;
  border-radius: 6px;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.45);
  mix-blend-mode: normal;
}


.audience__card-title {
  font-family: var(--font-serif);
  color: #0B2A3C;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 10px;
  font-size: clamp(20px, 2.4vw, 24px);
  text-align: center;
}

.audience__divider {
  display: block;
  width: 100%;
  height: 1px;
  border: 0;
  background: color-mix(in oklab, var(--aud-gold) 20%, transparent);
  margin: 8px 0 14px;
}

.audience__card-text {
  margin: 0;
  font-size: clamp(15px, 1.9vw, 16px);
  line-height: 1.55;
  color: color-mix(in oklab, var(--aud-text) 85%, white);
  text-align: center;
}


.audience__card--image {
  padding: 0;
}

@media (max-width: 767px) {
  .audience .container {
    padding-top: clamp(2.75rem, 12vw, 3.75rem);
    padding-bottom: clamp(3.25rem, 14vw, 4.5rem);
  }

  .audience__header {
    max-width: none;
    margin-bottom: var(--space-8);
    text-align: left;
  }

  .audience__grid {
    gap: 0;
    margin: 0 auto;
    border-top: 1px solid rgba(9, 31, 57, .16);
  }

  .audience__card:not(.audience__card--image) {
    overflow: visible;
    padding: clamp(1.4rem, 6.5vw, 1.8rem) 0;
    border: 0;
    border-bottom: 1px solid rgba(9, 31, 57, .14);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .audience__card:not(.audience__card--image)::before,
  .audience__card:not(.audience__card--image)::after {
    display: none;
  }

  .audience__card-title,
  .audience__card-text {
    text-align: left;
  }

  .audience__card-title {
    margin-bottom: .45rem;
    font-size: clamp(1.45rem, 7vw, 1.75rem);
    line-height: 1.12;
  }

  .audience__divider {
    width: 3.25rem;
    margin: .65rem 0 .85rem;
    background: color-mix(in oklab, var(--aud-gold) 58%, transparent);
  }

  .audience__card-text {
    max-width: 42ch;
    font-size: .96rem;
    line-height: 1.62;
  }

  .audience__card--image {
    min-height: 0;
    margin-top: var(--space-8);
    aspect-ratio: 16 / 7;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .audience__card--image::before {
    display: none;
  }
}

.audience__card--image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(11, 42, 60, 0.14) 0%,
    rgba(11, 42, 60, 0.24) 100%
  );
  pointer-events: none;
}

.audience__image-wrap {
  margin: 0;
  position: absolute;
  inset: 0;
}

.audience__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.audience__image-fallback {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 48%),
    linear-gradient(140deg, rgba(11, 42, 60, 0.24), rgba(11, 42, 60, 0.48));
}


.audience__card:hover::before {
  border-color: color-mix(in oklab, var(--aud-gold) 28%, transparent);
}

.audience__card:hover {
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.08),
    0 10px 24px rgba(0, 0, 0, 0.05);
}

.audience__card:focus-within,
.audience__card:focus {
  outline: 2px solid color-mix(in oklab, var(--aud-ink) 55%, transparent);
  outline-offset: 4px;
}

.audience__card.reveal {
  --reveal-y: 1rem;
  --reveal-duration: .82s;
}

@media (prefers-reduced-motion: reduce) {
  .audience__card {
    transition: none;
  }

  .audience__card:hover {
    box-shadow:
      0 1px 2px rgba(0, 0, 0, 0.08),
      0 6px 18px rgba(0, 0, 0, 0.04);
  }


  .audience__card.reveal {
    opacity: 1;
    translate: 0 0;
    transform: none;
    filter: none;
  }

  .audience__card.reveal.is-visible {
    transition: none;
  }
}

.audience > .container {
  position: relative;
  z-index: 1;
}

.audience .container {
  padding-top: clamp(42px, 6vw, 72px);
  padding-bottom: clamp(54px, 8vw, 96px);
}

.audience__testimonials-head {
  display: grid;
  place-items: center;
  margin-top: clamp(24px, 3.2vw, 40px);
  margin-bottom: clamp(8px, 2vw, 16px);
}

.audience__testimonials-title {
  margin: 0;
  font-family: "EB Garamond", var(--font-serif, serif);
  font-weight: 600;
  font-size: clamp(24px, 2.8vw, 28px);
  line-height: 1.22;
  letter-spacing: 0.01em;
  color: color-mix(in oklab, var(--aud-ink) 85%, transparent);
  text-align: center;
}


.audience__testimonials {
  display: grid;
  place-items: center;
  margin-bottom: clamp(8px, 2vw, 12px);
}

.audience__quotes {
  position: relative;
  width: min(760px, 90%);
  min-height: 32px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.audience__quote {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 520ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
  display: grid;
  place-items: center;
  text-align: center;
}

.audience__quote.is-active {
  opacity: 1;
  transform: translateY(0);
}

.audience__quote-text {
  margin: 0;
  font-style: normal;
  color: color-mix(in oklab, #0B2A3C 82%, white);
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.5;
  letter-spacing: 0.01em;
}

@media (prefers-reduced-motion: reduce) {
  .audience__quote {
    opacity: 0;
    transform: none;
    transition: none;
  }

  .audience__quote.is-active {
    opacity: 1;
  }
}

.outcome90 {
  --outcome90-sticky-top: 120px;
  --outcome90-stage-height: calc(100vh - var(--outcome90-sticky-top));
  --outcome90-media-height: 44%;
  --outcome90-progress: 25%;
  background: var(--color-sand);
  scroll-margin-top: var(--outcome90-sticky-top);
  overflow-x: clip;
  padding-bottom: 0;
}

.outcome90__header {
  max-width: 760px;
  margin: 0 auto clamp(34px, 4.5vw, 54px);
  text-align: center;
}

.outcome90__header h2 {
  margin-bottom: 12px;
}

.outcome90__subline {
  margin: 0;
  color: rgba(9, 31, 57, .74);
  font-size: clamp(16px, 1.75vw, 18px);
}

.outcome90__stage {
  position: sticky;
  top: var(--outcome90-sticky-top);
  margin: 0 auto;
  min-height: var(--outcome90-stage-height);
  overflow: visible;
  isolation: isolate;
}

.outcome90__media {
  position: absolute;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  bottom: 0;
  height: var(--outcome90-media-height);
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity .52s ease;
}

.outcome90__media-image,
.outcome90__media-fade {
  position: absolute;
  inset: 0;
}

.outcome90__media-image {
  background-color: color-mix(in oklab, #6f8a9b 70%, var(--color-sand));
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  display: block;
  filter: saturate(.82) contrast(.9) brightness(.92) hue-rotate(4deg);
}

.outcome90__media-fade {
  inset: -24% 0 0;
  background: linear-gradient(
    to bottom,
    color-mix(in oklab, var(--color-sand) 86%, #d5e0e8 14%) 0%,
    color-mix(in oklab, var(--color-sand) 54%, transparent) 28%,
    color-mix(in oklab, #cbd9e3 20%, transparent) 52%,
    rgba(203, 217, 227, 0) 82%
  ),
  linear-gradient(
    to bottom,
    rgba(9, 31, 57, .09) 0%,
    rgba(9, 31, 57, .05) 32%,
    rgba(9, 31, 57, .015) 58%,
    rgba(9, 31, 57, 0) 86%
  );
}

html.js .outcome90.is-started .outcome90__media,
html.js .outcome90 .outcome90__media,
html:not(.js) .outcome90__media {
  opacity: 1;
}

.outcome90__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(120px, 140px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(26px, 4vw, 58px);
  min-height: var(--outcome90-stage-height);
  padding: clamp(14px, 2vw, 22px) 0;
  padding-bottom: calc((var(--outcome90-stage-height) * (var(--outcome90-media-height) / 100)) + clamp(8px, 1.6vh, 16px));
}

.outcome90__timeline-wrap {
  padding-top: 10px;
}

.outcome90__timeline {
  position: relative;
  display: grid;
  gap: clamp(42px, 5.8vh, 68px);
  padding-left: 0;
}

.outcome90__line {
  position: absolute;
  top: -22px;
  bottom: -170px;
  left: 8px;
  width: 1px;
  background: rgba(9, 31, 57, .16);
  z-index: 1;
}

.outcome90__line-fill {
  display: block;
  width: 100%;
  height: var(--outcome90-progress-px, 0px);
  background: color-mix(in oklab, var(--color-gold) 72%, var(--color-navy));
  transition: height .16s linear;
}

.outcome90__step {
  appearance: none;
  border: 0;
  background: none;
  text-align: left;
  color: rgba(9, 31, 57, .34);
  cursor: pointer;
  display: grid;
  grid-template-columns: 18px auto;
  column-gap: 12px;
  row-gap: 2px;
  align-items: center;
  padding: 0;
  transition: color .22s ease;
}

.outcome90__step-dot {
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(9, 31, 57, .38);
  background: var(--color-sand);
  transition: border-color .22s ease, background .22s ease, transform .22s ease;
  z-index: 2;
}

.outcome90__step:hover,
.outcome90__step:focus-visible,
.outcome90__step.is-active {
  color: var(--color-navy);
}

.outcome90__step:focus-visible {
  outline: 2px solid rgba(9, 31, 57, .28);
  outline-offset: 6px;
  border-radius: 6px;
}

.outcome90__step.is-active .outcome90__step-dot {
  border-color: var(--color-navy);
  background: var(--color-navy);
  transform: scale(1.04);
}

.outcome90__step-number {
  font-size: 1.08rem;
  font-family: "EB Garamond", var(--font-serif, serif);
  font-weight: 700;
  letter-spacing: .015em;
  line-height: 1.1;
  grid-column: 2;
}

.outcome90__step-label {
  font-size: .74rem;
  color: rgba(9, 31, 57, .5);
  grid-column: 2;
}

.outcome90__scenes {
  max-width: 670px;
  padding-right: clamp(10px, 2.3vw, 30px);
  min-height: 340px;
}

.outcome90__scene {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .22s ease, transform .22s ease;
}

.outcome90__scene[hidden] {
  display: none;
}

.outcome90__scene.is-active {
  opacity: 1;
  transform: translateY(0);
}

html:not(.js) .outcome90__scene:first-child {
  opacity: 1;
  transform: none;
}

html.js .outcome90 .outcome90__scene:first-child {
  opacity: 1;
  transform: none;
}



.outcome90__scene h3 {
  position: relative;
  margin: 0 0 24px;
  font-family: var(--font-serif);
  color: var(--color-navy);
  font-weight: 600;
  font-size: clamp(1.34rem, 2.2vw, 1.95rem);
  max-width: 22ch;
  line-height: 1.2;
}

.outcome90__scene h3::after {
  content: "";
  display: block;
  width: min(330px, 96%);
  height: 1px;
  margin-top: 14px;
  background: linear-gradient(
    90deg,
    rgba(9, 31, 57, 0) 0%,
    rgba(9, 31, 57, .36) 22%,
    rgba(9, 31, 57, .36) 78%,
    rgba(9, 31, 57, 0) 100%
  );
}

.outcome90__outcome {
  margin: 0 0 12px;
  color: rgba(9, 31, 57, .9);
  font-size: clamp(1rem, 1.25vw, 1.08rem);
  max-width: 54ch;
}

.outcome90__how {
  margin: 0 0 8px;
  color: rgba(9, 31, 57, .72);
  max-width: 62ch;
}

.outcome90__tokens {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.outcome90__token {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(9, 31, 57, .14);
  border-radius: 999px;
  padding: 5px 10px;
  color: rgba(9, 31, 57, .8);
  background: rgba(255, 255, 255, .52);
  font-size: .8rem;
}

.outcome90__driver {
  margin-top: calc(-1 * var(--outcome90-stage-height));
  padding-bottom: var(--outcome90-driver-runout, 0px);
}

.outcome90__trigger {
  height: var(--outcome90-trigger-height, 82vh);
}

.outcome90__trigger:last-child {
  height: var(--outcome90-trigger-tail-height, 132vh);
}

.outcome90__reveal {
  opacity: 0;
  transform: translateY(7px);
}

html:not(.js) .outcome90__reveal {
  opacity: 1;
  transform: none;
}

html.js .outcome90:not(.is-started) .outcome90__scene.is-active .outcome90__reveal {
  opacity: 1;
  transform: translateY(0);
}

html.js .outcome90.is-started .outcome90__scene.is-entered .outcome90__reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .42s ease, transform .42s ease;
}


.outcome90__scene.is-entered .outcome90__reveal--1 { transition-delay: 20ms; }
.outcome90__scene.is-entered .outcome90__reveal--2 { transition-delay: 70ms; }
.outcome90__scene.is-entered .outcome90__reveal--3 { transition-delay: 130ms; }
.outcome90__scene.is-entered .outcome90__reveal--4 { transition-delay: 190ms; }
.outcome90__scene.is-entered .outcome90__reveal--5 { transition-delay: 250ms; }

@media (max-width: 900px) {
  .outcome90 {
    --outcome90-sticky-top: 0px;
  }

  .outcome90__stage {
    position: static;
    min-height: 0;
    overflow: visible;
  }

  .outcome90__media {
    position: relative;
    left: auto;
    width: 100%;
    transform: none;
    height: clamp(160px, 32vh, 230px);
    opacity: 1;
    border-radius: 16px;
    margin-top: 14px;
    overflow: hidden;
  }

  .outcome90__inner {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    padding: 0;
    padding-bottom: 0;
  }

  .outcome90__timeline {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 0 12px;
    gap: 8px;
  }

  .outcome90__line {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    height: 1px;
    width: auto;
  }

  .outcome90__line-fill {
    height: 100%;
    width: var(--outcome90-progress);
    transition: width .24s ease;
  }

  .outcome90__step {
    text-align: center;
    align-items: center;
    justify-items: center;
    grid-template-columns: 1fr;
    row-gap: 6px;
  }

  .outcome90__step-dot,
  .outcome90__step-number,
  .outcome90__step-label {
    grid-column: 1;
  }

  .outcome90__step-label {
    display: none;
  }

  .outcome90__scenes {
    min-height: 0;
    padding-right: 0;
  }

  .outcome90__driver {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .outcome90__line-fill,
  .outcome90__scene,
  .outcome90__scene.is-entered .outcome90__reveal,
  .outcome90__media {
    transition: none;
    transform: none;
  }

  .outcome90__reveal {
    opacity: 1;
  }
}

/* --- Boutique templates (scoped) --- */
.page-lead{
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  color: rgba(9,31,57,.82);
  max-width: 72ch;
}

.article-page .page-lead{
  max-width: 78ch;
}

.article-page .page-lead,
.article-page .page-lead p{
  font-size: clamp(1.08rem, 1.35vw, 1.26rem);
  line-height: 1.75;
}

.article-page h1{
  font-size: clamp(2rem, 4.4vw, 3.25rem);
}

.content-flow{
  max-width: 76ch;
}

.article-page .content-flow{
  max-width: none;
}

.article-page .content-flow > *{
  margin-inline: 0;
  max-width: 78ch;
}

/* 2. Explizite Ausnahmen: Struktur darf breit */
.article-page .content-flow > .article-image-text,
.article-page .content-flow > .article-editorial-quote,
.article-page .content-flow > .article-line{
  max-width: none;
  width: 100%;
}

.article-page .content-flow > .k-block-type-line{
  max-width: none;
}

.article-page .content-flow > .k-block-type-editorial-quote{
  max-width: none;
}

.article-page .content-flow > .k-block-type-image-text{
  max-width: none;
}

.article-page .content-flow > * + *{
  margin-top: clamp(1.25rem, 2.2vw, 1.9rem);
}

.template-article main,
.template-article .article-page{
  background: var(--color-sand);
}

.article-page .content-flow p{
  line-height: 1.75;
  font-size: clamp(1.08rem, 1.35vw, 1.26rem);
}

.article-page .content-flow li{
  font-size: clamp(1.06rem, 1.3vw, 1.2rem);
}

.article-page .content-flow h2,
.article-page .content-flow h3{
  margin-top: clamp(2rem, 3.8vw, 3.2rem);
  margin-bottom: clamp(.8rem, 1.6vw, 1.15rem);
}

.article-page .content-flow > :last-child{
  margin-bottom: clamp(2.2rem, 4vw, 3.4rem);
}


.article-page .content-flow .article-editorial-quote p{
  margin: 0 auto;
  max-width: 68ch;
  font-size: clamp(1.35rem, 3.9vw, 1.85rem);
  line-height: 1.35;
}

.article-page .content-flow .article-editorial-quote p em{
  font-style: inherit;
}


.article-line{
  border: 0;
  border-top: 1px solid rgba(9,31,57,.14);
  margin: 0;
  max-width: none !important;
  width: 100%;
}

.article-line--fine{
  border-top-color: rgba(9,31,57,.14);
  margin-top: clamp(1.2rem, 2vw, 1.7rem);
  margin-bottom: clamp(1.2rem, 2vw, 1.7rem);
}

.article-line--spacious{
  border-top-color: rgba(9,31,57,.18);
  margin-top: clamp(2.2rem, 4vw, 3.5rem);
  margin-bottom: clamp(2.2rem, 4vw, 3.5rem);
}


.article-image-text{
  display: grid;
  grid-template-columns: minmax(0, 33%) minmax(0, 1fr);
  gap: clamp(1.6rem, 2.2vw, 2.6rem);
  align-items: center;

  padding: clamp(0.7rem, 1.2vw, 1.05rem) 0;
  border-top: 1px solid rgba(9,31,57,.14);
  border-bottom: 1px solid rgba(9,31,57,.14);

}

.article-image-text__media{
  margin: 0;
}


.article-image-text__media img{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}


.article-image-text__media figcaption{
  margin-top: .7rem;
  color: rgba(9,31,57,.7);
  font-size: .92rem;
}

.article-image-text__content > *:first-child{
  margin-top: 0;
}

.article-image-text__content > *:last-child{
  margin-bottom: 0;
}


.article-image-text__content{
  max-width: none;
  width: 100%;
  font-size: clamp(1.14rem, 1.35vw, 1.32rem);
  line-height: 1.72;
}



.article-editorial-quote{
  margin: clamp(2.4rem, 4.2vw, 3.7rem) auto;
  padding: clamp(1.2rem, 2.1vw, 1.7rem) 0;
  border-top: 1px solid rgba(9,31,57,.24);
  border-bottom: 1px solid rgba(9,31,57,.24);
  text-align: center;
  font-style: italic;
  font-family: "EB Garamond", var(--font-serif, serif);
  font-weight: 500;
  max-width: none;
  width: 100%;
}

.article-editorial-quote p{
  margin: 0 auto;
  max-width: 88ch;
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  line-height: 1.4;
}


@media (max-width: 900px){
  .article-image-text{
    grid-template-columns: 1fr;
  }
}

.service-tiles{
  background: var(--color-sand);
  position: relative;
  overflow: clip;
}

.service-tiles__ambient{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: .1;
  pointer-events: none;
  z-index: 1;
  -webkit-mask-image: linear-gradient(100deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.25) 60%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(100deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.25) 60%, rgba(0,0,0,0) 100%);
}

.service-tiles .container{
  width: min(1560px, calc(100% - 2*var(--space-8)));
  position: relative;
  z-index: 2;
}

.service-tiles__header{
  text-align: center;
  margin: 0 auto clamp(2.2rem, 4vw, 3.4rem);
  max-width: 72ch;
}

.service-tiles__header h2{
  margin: 0;
  font-weight: 600;
}

.service-tiles__grid{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(1.6rem, 2.6vw, 3.1rem);
  align-items: stretch;
  max-width: 1560px;
  margin: 0 auto;
}

.service-tile{
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  color: inherit;
  flex: 1 1 clamp(260px, 18vw, 320px);
  max-width: 320px;
}

.service-tile__media{
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: rgba(255,255,255,.2);
}

.service-tile__image,
.service-tile__video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity .35s ease, transform .35s ease, filter .35s ease;
}

.service-tile__video{
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.service-tile:hover .service-tile__video,
.service-tile:focus-within .service-tile__video{
  opacity: 1;
}

.service-tile:hover .service-tile__image,
.service-tile:focus-within .service-tile__image{
  opacity: .94;
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.service-tile__title{
  margin: 0;
  margin-top: 0.85rem;
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 1.7vw, 1.65rem);
  font-weight: 600;
  line-height: 1.22;
  text-transform: none;
  letter-spacing: -.01em;
  color: rgba(9,31,57,.9);
  text-align: center;
}

.service-tile__text{
  margin: 0;
  margin-top: 0.35rem;
  font-size: .98rem;
  line-height: 1.55;
  color: rgba(9,31,57,.72);
  max-width: 34ch;
  text-align: center;
  margin-inline: auto;
}

@media (max-width: 900px){
  .service-tiles__grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
  }

  .service-tile{
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce){
  .service-tile__image,
  .service-tile__video{
    transition: none;
  }

  .service-tile__video{
    display: none;
  }
}


.quote-band{
  background-color: #f1e5cf;
  padding-top: clamp(3.2rem, 6.8vw, 5.6rem);
  padding-bottom: clamp(3.2rem, 6.8vw, 5.6rem);
  overflow: hidden;
  position: relative;
  isolation: isolate;
  display: flex;
}


.quote-band::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: clamp(2.5rem, 7vw, 5rem);
  background: linear-gradient(
    180deg,
    rgba(241,229,207,1) 0%,
    rgba(241,229,207,0) 100%
  );
  opacity: .85;
  z-index: 1;
  pointer-events: none;
}


.quote-band::after{
  content: "";
  position: absolute;
  top: -12%;
  right: -2%;
  width: min(62vw, 920px);
  height: 132%;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(255,245,214,.34) 0%, rgba(255,245,214,0) 62%),
    repeating-linear-gradient(
      225deg,
      rgba(255,245,214,.26) 0px,
      rgba(255,245,214,.26) 1.2px,
      rgba(255,245,214,0) 1.2px,
      rgba(255,245,214,0) 22px
    );
  opacity: .34;
  z-index: 1;
  pointer-events: none;
  filter: blur(.75px);
  -webkit-mask-image: linear-gradient(250deg, rgba(0,0,0,.95) 6%, rgba(0,0,0,.3) 56%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(250deg, rgba(0,0,0,.95) 6%, rgba(0,0,0,.3) 56%, rgba(0,0,0,0) 100%);
}

.quote-band .container{
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: clamp(1.4rem, 7vw, 7.5rem);
  padding-right: clamp(1.4rem, 5vw, 5.5rem);
}

.quote-band__text{
  position: relative;
  z-index: 3;

  margin: 0 auto;               /* zentriert im Flow */
  padding-left: clamp(2rem, 6vw, 6rem); 
  max-width: 52ch;

  font-family: var(--font-serif);
  font-style: normal;
  font-weight: 560;
  font-size: clamp(1.4rem, 2.15vw, 1.9rem);
  line-height: 1.5;
  letter-spacing: -.01em;
  color: rgba(34,39,46,.9);
  text-align: left;
  text-wrap: balance;
}

.quote-band__veil{
  --reveal-opacity: 1;
  position: absolute;
  inset: 0 auto 0 0;
  width: min(66vw, 980px);

  background-image:
    /* warme Farbschicht – DOMINANT */
    linear-gradient(
      180deg,
      rgba(241,229,207,.92) 0%,
      rgba(241,229,207,.92) 100%
    ),
    /* weicher seitlicher Auslauf */
    linear-gradient(
      90deg,
      rgba(241,229,207,.85) 0%,
      rgba(241,229,207,0) 85%
    ),
    /* Bild nur noch als Textur */
    var(--quote-band-veil);

  background-size: cover;
  background-position: center left;
  background-repeat: no-repeat;

  opacity: 1; /* Wichtig: NICHT mehr über opacity steuern */
  z-index: 2;
  pointer-events: none;

  /* Bild beruhigen */
  filter: saturate(.9) contrast(1.02);

  -webkit-mask-image: linear-gradient(
    90deg,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,.4) 60%,
    rgba(0,0,0,0) 92%
  );
  mask-image: linear-gradient(
    90deg,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,.4) 60%,
    rgba(0,0,0,0) 92%
  );
}
``

.quote-band--strong .container{
  max-width: 980px;
}

.quote-band--strong .quote-band__text{
  max-width: 32ch;
  font-size: clamp(1.65rem, 2.8vw, 2.25rem);
}

@media (max-width: 900px){
  .quote-band::after{
    right: -24%;
    width: min(88vw, 640px);
    opacity: .2;
  }

  .quote-band__veil{
    --reveal-opacity: .15;
    width: 82vw;
    opacity: var(--reveal-opacity);
  }

  .quote-band__text{
    max-width: 100%;
  }
}

.practice-contact-person{
  background: var(--color-bg);
}

.practice-contact-person__layout{
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: clamp(1.25rem, 3.4vw, 3rem);
  align-items: start;
  max-width: 960px;
}

.practice-contact-person__media{
  margin: 0;
}

.practice-contact-person__media img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.practice-contact-person__body{
  display: grid;
  gap: .6rem;
  align-content: start;
}

.practice-contact-person__name{
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 2.25vw, 1.8rem);
  line-height: 1.2;
  font-weight: 560;
  color: rgba(9,31,57,.92);
}

.practice-contact-person__role{
  margin: 0;
  font-size: .96rem;
  color: rgba(9,31,57,.68);
}

.practice-contact-person__text{
  margin: .35rem 0 0;
  max-width: 56ch;
  color: rgba(9,31,57,.78);
}

.practice-contact-person__link{
  justify-self: start;
  margin-top: .35rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  color: rgba(9,31,57,.86);
  font-weight: 500;
}

.practice-contact-person__link:hover,
.practice-contact-person__link:focus-visible{
  color: rgba(9,31,57,1);
}

@media (max-width: 760px){
  .practice-contact-person__layout{
    grid-template-columns: 1fr;
  }

  .practice-contact-person__media{
    max-width: 260px;
  }
}

.section-block{
  margin-top: var(--space-12);
}

.boutique-grid .card,
.articles-list .card{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.card-title{
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.9rem);
}

.practice-cta,
.career-cta{
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  align-items: flex-start;
}

.hero-showcase.hero-showcase--full{
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
  overflow-x: clip;
}

.hero-showcase__media{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  overflow: hidden;
  background: rgba(9,31,57,.08);
  height: clamp(340px, 60vh, 640px);
}

.hero-showcase__slide{
  margin: 0;
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .9s ease;
  z-index: 1;
}

.hero-showcase__slide.is-active{
  opacity: 1;
}

.hero-showcase__slide img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
}



.hero-showcase__controls{
  position: absolute;
  inset: 0;
  display: block;
  z-index: 35;
  pointer-events: none;
}

.hero-showcase__arrow,
.hero-showcase__dot{
  border: 1px solid rgba(244,231,200,.68);
  background: rgba(9,31,57,.48);
  color: rgba(255,255,255,.92);
  pointer-events: auto;
  touch-action: manipulation;
}

.hero-showcase__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 999px;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.hero-showcase__dots{
  position: absolute;
  left: 50%;
  bottom: var(--space-6);
  transform: translateX(-50%);
  z-index: 36;
  display: flex;
  gap: .38rem;
  pointer-events: auto;
}

.hero-showcase__arrow[data-dir="prev"]{
  left: clamp(.75rem, 2vw, 1.5rem);
}

.hero-showcase__arrow[data-dir="next"]{
  right: clamp(.75rem, 2vw, 1.5rem);
}

.hero-showcase__dot{
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 999px;
  cursor: pointer;
  opacity: .72;
}

.hero-showcase__dot.is-active{
  opacity: 1;
  background: rgba(255,255,255,.96);
}

.hero-showcase__content{
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 25;
  width: 100%;
  pointer-events: none;
}

.hero-showcase__content .container{
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
}

.hero-showcase__panel{
  display: grid;
  row-gap: .62rem;
  width: min(100%, 420px);
  margin-right: 0;
  padding: clamp(1.1rem, 2.2vw, 2rem);
  background: #f8f5ee;
  border: 1px solid rgba(9,31,57,.06);
  box-shadow: none;
  pointer-events: auto;
}

.hero-showcase__panel > *{
  margin: 0;
}



.hero-showcase__panel h1{
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  margin-bottom: .2rem;
}




.hero-showcase__panel .page-lead{
  font-size: 0.95rem;
  line-height: 1.45;
}



.hero-showcase__panel > :last-child{
  margin-bottom: 0;
}

@media (max-width: 960px){
  .hero-showcase.hero-showcase--full{
    padding-bottom: var(--space-12);
  }

.hero-showcase__media{
  height: clamp(280px, 56vh, 420px);
}

  .hero-showcase__arrow{
    width: 44px;
    height: 44px;
    font-size: 1.4rem;
  }

  .hero-showcase__arrow[data-dir="prev"]{
    left: var(--space-4);
  }

  .hero-showcase__arrow[data-dir="next"]{
    right: var(--space-4);
    }

  .hero-showcase__dots{
    bottom: var(--space-4);
  }

  .hero-showcase__content{
    position: static;
    margin-top: var(--space-4);
    pointer-events: auto;
  }
  
  .hero-showcase__content .container{
    pointer-events: auto;
  }
  
  .hero-showcase__panel{
    width: 100%;
    margin-right: 0;
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-showcase__slide{
    transition: none;
  }
}

.articles-page .articles-filter{
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: var(--space-8) 0;
}

.articles-page .articles-chip{
  border: 1px solid rgba(9,31,57,.18);
  border-radius: 999px;
  padding: .42rem .9rem;
  font-size: .92rem;
  color: rgba(9,31,57,.8);
}

.articles-page .articles-chip.is-active{
  background: var(--color-navy);
  color: #fff;
  border-color: var(--color-navy);
}

.articles-list{
  display: grid;
  gap: var(--space-8);
}

.article-meta{
  color: rgba(9,31,57,.7);
  margin: 0;
}

.article-page .article-meta{
  margin: .35rem 0 2.1rem;
  font-size: 1.02rem;
}

.article-tags,
.job-benefits{
  margin-top: var(--space-8);
}

.legal-page .legal-content{
  max-width: 82ch;
}

.imprint-page{
  background: var(--color-sand);
}

.imprint-page__inner{
  max-width: min(52rem, calc(100% - 4rem));
}

.imprint-page__header{
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.imprint-page__header h1{
  margin-bottom: var(--space-4);
}

.imprint-page__lead{
  margin: 0;
  color: rgba(9,31,57,.72);
  font-size: clamp(1.05rem, 1vw + .75rem, 1.25rem);
  line-height: 1.6;
}

.imprint-page__overview{
  display: block;
}

.imprint-page__identity,
.imprint-page__contact,
.imprint-page__section,
.imprint-page__closing section{
  padding: clamp(1.75rem, 4vw, 2.75rem) 0;
  border-top: 1px solid rgba(9,31,57,.16);
}

.imprint-page__eyebrow,
.imprint-page__index{
  margin: 0 0 var(--space-3);
  color: var(--color-gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.imprint-page__identity h2,
.imprint-page__contact h2,
.imprint-page__section h2,
.imprint-page__closing h2{
  margin: 0;
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  line-height: 1.08;
}

.imprint-page address{
  margin-top: var(--space-6);
  color: rgba(9,31,57,.76);
  font-style: normal;
  line-height: 1.65;
}

.imprint-page__details{
  display: grid;
  gap: 0;
  margin: var(--space-8) 0 0;
}

.imprint-page__details div{
  display: grid;
  grid-template-columns: minmax(11rem, .75fr) minmax(0, 1.25fr);
  gap: var(--space-6);
  min-width: 0;
  padding: .85rem 0;
  border-top: 1px solid rgba(9,31,57,.09);
}

.imprint-page__details dt{
  color: rgba(9,31,57,.58);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.imprint-page__details dd{
  margin: 0;
  color: rgba(9,31,57,.88);
  overflow-wrap: anywhere;
}

.imprint-page a{
  color: inherit;
  text-decoration-color: rgba(199,161,74,.75);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.imprint-page a:hover{
  color: var(--color-navy);
  text-decoration-color: var(--color-gold);
}

.imprint-page__sections{
  display: block;
  margin-top: 0;
}

.imprint-page__section{
  display: block;
}

.imprint-page__section--wide{
  max-width: none;
}

.imprint-page__index{
  display: none;
}

.imprint-page__section h2,
.imprint-page__closing h2{
  margin-bottom: var(--space-4);
}

.imprint-page__section p,
.imprint-page__closing p{
  margin: 0;
  color: rgba(9,31,57,.76);
  line-height: 1.65;
}

.imprint-page__section p + p{
  margin-top: var(--space-4);
}

.imprint-page__closing{
  display: block;
  margin-top: 0;
}

.imprint-page__footer{
  display: flex;
  justify-content: space-between;
  gap: var(--space-6);
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: var(--space-4);
  border-top: 1px solid rgba(9,31,57,.13);
  color: rgba(9,31,57,.62);
  font-size: .82rem;
}

.imprint-page__footer p{
  margin: 0;
}

@media (max-width: 760px){
  .imprint-page__inner{
    max-width: min(var(--container), calc(100% - 2rem));
  }

  .imprint-page__details div{
    grid-template-columns: 1fr;
    gap: .3rem;
  }

  .imprint-page__footer{
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-2);
  }
}

.privacy-page{
  background: var(--color-sand);
}

.privacy-page__inner{
  max-width: min(52rem, calc(100% - 4rem));
  min-width: 0;
}

.privacy-page__header{
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.privacy-page__header h1{
  margin-bottom: var(--space-4);
}

.privacy-page__lead{
  margin: 0;
  color: rgba(9,31,57,.72);
  font-size: clamp(1.05rem, 1vw + .75rem, 1.25rem);
  line-height: 1.6;
}

.privacy-page__status{
  margin: var(--space-4) 0 0;
  color: rgba(9,31,57,.52);
  font-size: .8rem;
}

.privacy-page__section{
  padding: clamp(1.75rem, 4vw, 2.75rem) 0;
  border-top: 1px solid rgba(9,31,57,.16);
}

.privacy-page__eyebrow{
  margin: 0 0 var(--space-3);
  color: var(--color-gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.privacy-page__section h2{
  margin: 0 0 var(--space-4);
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.privacy-page__section p,
.privacy-page__section address{
  margin: 0;
  color: rgba(9,31,57,.76);
  font-style: normal;
  line-height: 1.7;
}

.privacy-page__section p + p,
.privacy-page__section address + p,
.privacy-page__section p + address{
  margin-top: var(--space-4);
}

.privacy-page code{
  padding: .08em .32em;
  background: rgba(9,31,57,.06);
  color: var(--color-navy);
  font-size: .92em;
}

.privacy-page a{
  color: inherit;
  overflow-wrap: anywhere;
  text-decoration-color: rgba(199,161,74,.75);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.privacy-page a:hover{
  color: var(--color-navy);
  text-decoration-color: var(--color-gold);
}

.privacy-page__footer{
  margin-top: var(--space-8);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-gold);
  color: rgba(9,31,57,.62);
  font-size: .82rem;
  line-height: 1.6;
}

.privacy-page__footer p{
  margin: 0;
}

@media (max-width: 760px){
  .privacy-page__inner{
    max-width: min(var(--container), calc(100% - 2rem));
  }
}
.about-page .about-layout{
  margin-top: var(--space-8);
}

.about-page .k-layout{
  margin-top: var(--space-8);
}

.about-page .k-column{
  padding: 0;
}

.media-hero,
.media-figure,
.media-mosaic {
  padding-top: 0;
}

.media-hero__figure,
.media-figure__wrap,
.media-mosaic__figure {
  margin: 0;
}

.media-hero img,
.media-figure img,
.media-mosaic img {
  width: 100%;
  display: block;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  object-fit: cover;
}

.media-hero--full .container,
.media-figure--full .container {
  max-width: min(1400px, 96vw);
}

.media-hero--inset .container,
.media-figure--inset .container {
  max-width: min(880px, 100% - 2rem);
}

.media-hero figcaption,
.media-figure figcaption,
.media-mosaic figcaption {
  margin-top: var(--space-3);
  color: rgba(9,31,57,.7);
  font-size: .95rem;
}

.media-hero--mini{
  padding-bottom: 0;
}

.media-hero__mini{
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: clamp(160px, 22vh, 220px);
  display: grid;
  align-items: center;
  overflow: clip;
  background: #ece8df;
}

.media-hero__mini-media{
  position: absolute;
  inset: 0;
  margin: 0;
}

.media-hero__mini-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
  filter: saturate(.58) contrast(.94) brightness(1.03);
}

.media-hero__mini-media--fallback{
  background:
    linear-gradient(0deg, rgba(255,255,255,.28), rgba(255,255,255,.28)),
    linear-gradient(120deg, rgba(9,31,57,.03), rgba(9,31,57,.08));
}

.media-hero__mini .container{
  position: relative;
  z-index: 1;
  max-width: min(1240px, calc(100% - 3.5rem));
}

.media-hero__mini-content{
  max-width: 74ch;
  margin: 0;
  padding-block: clamp(.8rem, 1.8vw, 1.2rem);
}

.media-hero__mini-content > *{
  margin-top: 0;
}

.media-hero__mini-content .kicker{
  margin-bottom: .5rem;
}

.media-hero__mini-content h1{
  margin-bottom: .45rem;
  font-size: clamp(1.7rem, 3.2vw, 2.55rem);
}

.media-hero__mini-content .page-lead{
  margin: 0;
  max-width: 62ch;
  font-size: clamp(.95rem, 1.3vw, 1.08rem);
  color: rgba(9,31,57,.8);
}

.media-hero--mini + .career-page{
  padding-top: clamp(2rem, 4.5vw, 3.5rem);
}

.career-page .content-flow{
  max-width: 100ch; 
}

@media (max-width: 700px){
  .media-hero__mini{
    min-height: clamp(150px, 26vh, 200px);
  }

  .media-hero__mini .container{
    max-width: min(1240px, calc(100% - 2rem));
  }

  .media-hero__mini-content .kicker{
    margin-bottom: .4rem;
  }

  .media-hero__mini-content h1{
    font-size: clamp(1.55rem, 7vw, 2rem);
    margin-bottom: .35rem;
  }
}

.media-mosaic__grid {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.media-mosaic__grid--count-3,
.media-mosaic__grid--count-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 700px) {
  .media-mosaic__grid {
    grid-template-columns: 1fr;
  }
}

.jobs-page .jobs-list{
  list-style: none;
  margin: var(--space-10) 0 0;
  padding: 0;
  border-top: 1px solid rgba(9,31,57,.14);
}

.jobs-page .jobs-list__item{
  padding: var(--space-7) 0;
  border-bottom: 1px solid rgba(9,31,57,.14);
}

.jobs-page .jobs-list__item h2{
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.jobs-page .jobs-list__item h2 a{
  text-decoration: none;
}

.jobs-page .jobs-list__item p{
  margin: .75rem 0 0;
  max-width: 70ch;
}

.job-page .job-cta-link{
  margin-top: var(--space-10);
}

.job-page .job-cta-link a{
  font-weight: 600;
}

/* Motion safety net: every entrance remains readable without animation. */
@media (prefers-reduced-motion: reduce) {
  :is(.reveal, [data-reveal-item]),
  :is(.reveal, [data-reveal-item]).is-reveal-ready,
  :is(.reveal, [data-reveal-item]).is-visible {
    opacity: var(--reveal-opacity, 1) !important;
    translate: 0 0 !important;
    clip-path: none !important;
    animation: none !important;
    transition: none !important;
  }
}
