/* ─── Kundenbereich ─── */

.kundenbereich-page {
   overflow: visible;
}

.kundenbereich-intro .leadership-intro__inner {
   width: min(100%, 48rem);
}

.kundenbereich-intro__content {
   gap: clamp(1.15rem, 2.5vw, 1.6rem);
}

.kundenbereich-intro__lead {
   font-size: clamp(1.22rem, 2.7vw, 1.58rem);
   font-weight: 500;
   line-height: 1.42;
   letter-spacing: -0.02em;
   color: #3C3C3C;
   margin: 0;
   max-width: 36rem;
}

.kundenbereich-intro__text {
   font-size: clamp(1.02rem, 2.1vw, 1.14rem);
   font-weight: 400;
   line-height: 1.68;
   color: var(--color-text-muted);
   margin: 0;
   max-width: 36rem;
}

.kundenbereich-intro__status {
   margin: 0;
   max-width: 36rem;
   font-size: clamp(1.05rem, 2.2vw, 1.25rem);
   line-height: 1.7;
}

.kundenbereich-intro__status .home-cta__button--inline {
   white-space: normal;
   font-weight: 500;
}

.kundenbereich-intro.leadership-intro--centered .kundenbereich-intro__lead,
.kundenbereich-intro.leadership-intro--centered .kundenbereich-intro__text,
.kundenbereich-intro.leadership-intro--centered .kundenbereich-intro__status {
   text-align: center;
}

.contact-page {
   overflow: visible;
}

.contact-page .leadership-hero__lead {
   max-width: 46rem;
}

.leadership-hero--contact,
.leadership-hero--knowledge {
   min-height: clamp(22rem, 58vh, 32rem);
   overflow: visible;
   background-color: #efe8de;
}

.leadership-hero--contact::before,
.leadership-hero--knowledge::before {
   background:
      radial-gradient(ellipse 90% 70% at 88% 34%, rgba(195, 168, 67, 0.2), transparent 72%),
      radial-gradient(ellipse 50% 40% at 8% 88%, rgba(195, 168, 67, 0.05), transparent 70%),
      #efe8de;
}

.leadership-hero--contact + .section-curve,
.leadership-hero--knowledge + .section-curve {
   --curve-from: #efe8de;
}

.leadership-hero--contact .leadership-hero__inner,
.leadership-hero--knowledge .leadership-hero__inner {
   min-height: clamp(16rem, 42vh, 24rem);
   grid-template-columns: 1fr;
}

.leadership-hero--contact .leadership-hero__content,
.leadership-hero--knowledge .leadership-hero__content {
   position: relative;
   z-index: 2;
   max-width: min(100%, 48rem);
}

.leadership-hero__visual--seal {
   aspect-ratio: auto;
   width: min(72vw, 260px);
   overflow: visible;
   margin-inline: auto;
}

.leadership-hero__image--seal {
   width: 100%;
   height: auto;
   object-fit: contain;
   mix-blend-mode: normal;
   transform: rotate(-8deg);
}

.leadership-hero--contact .leadership-hero__visual--seal,
.leadership-hero--knowledge .leadership-hero__visual--seal {
   position: absolute;
   top: calc(-1 * (var(--header-bar-height) + 1.5rem));
   right: calc(-1 * clamp(1.15rem, 5vw, 4.5rem));
   width: min(72vw, 920px);
   max-width: none;
   aspect-ratio: auto;
   overflow: visible;
   justify-self: auto;
   margin: 0;
   z-index: 0;
   pointer-events: none;
   display: block;
}

.leadership-hero--contact .leadership-hero__image--seal,
.leadership-hero--knowledge .leadership-hero__image--seal {
   width: 100%;
   height: auto;
   max-height: none;
   object-fit: contain;
   object-position: top right;
   transform: none;
   border-radius: 0;
   opacity: 1;
   filter: none;
}

.leadership-hero--text-only {
   min-height: auto;
   padding-bottom: clamp(2rem, 5vh, 3rem);
}

.leadership-hero--text-only .leadership-hero__inner {
   grid-template-columns: 1fr;
   justify-items: center;
   min-height: auto;
}

.leadership-hero--text-only .leadership-hero__content {
   align-items: center;
   text-align: center;
   max-width: 40rem;
}

.leadership-hero--text-only .leadership-hero__title {
   align-items: center;
}

/* Rechtliche Seiten: lange Titel sauber an Wortgrenzen umbrechen */
.leadership-hero--legal .leadership-hero__title--legal {
   display: block;
   font-size: clamp(1.85rem, 5.2vw, 3.1rem);
   line-height: 1.14;
   letter-spacing: -0.03em;
   max-width: 14em;
   margin-inline: auto;
   text-wrap: balance;
   hyphens: manual;
   overflow-wrap: normal;
   word-break: normal;
}

.contact-main {
   position: relative;
   z-index: 1;
   padding: clamp(3.5rem, 9vh, 6.5rem) clamp(1.15rem, 5vw, 3rem);
}

.contact-main__inner {
   width: min(100%, 1180px);
   margin-inline: auto;
}

.contact-main__header {
   max-width: 36rem;
   margin-bottom: clamp(2rem, 5vw, 3rem);
}

.contact-alert {
   margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
   padding: 1rem 1.15rem;
   border-radius: 1rem;
   font-size: 0.98rem;
   font-weight: 400;
   line-height: 1.55;
}

.contact-alert--success {
   background: rgba(195, 168, 67, 0.14);
   border: 1px solid rgba(195, 168, 67, 0.32);
   color: #3C3C3C;
}

.contact-alert--error {
   background: rgba(60, 60, 60, 0.06);
   border: 1px solid rgba(60, 60, 60, 0.12);
   color: #3C3C3C;
}

.contact-main__grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: clamp(2rem, 5vw, 3rem);
   align-items: start;
}

.contact-info {
   display: flex;
   flex-direction: column;
   gap: clamp(1rem, 2.5vw, 1.25rem);
}

.contact-info__card {
   padding: clamp(1.35rem, 3vw, 1.75rem);
   border-radius: 1.25rem;
   background: rgba(255, 255, 255, 0.5);
   border: 1px solid rgba(195, 168, 67, 0.16);
}

.contact-info__title {
   font-size: 0.72rem;
   font-weight: 500;
   letter-spacing: 0.28em;
   text-transform: uppercase;
   color: var(--color-accent);
   margin-bottom: 1rem;
}

.contact-info__list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 1rem;
}

.contact-info__item {
   display: flex;
   flex-direction: column;
   gap: 0.25rem;
}

.contact-info__label {
   font-size: 0.78rem;
   font-weight: 500;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: var(--color-text-soft);
}

.contact-info__value {
   font-size: clamp(1rem, 2vw, 1.1rem);
   font-weight: 400;
   line-height: 1.45;
   color: #3C3C3C;
   text-decoration: none;
   transition: color 0.2s ease;
}

.contact-info__value:hover {
   color: var(--color-accent);
}

.contact-info__whatsapp {
   display: inline-flex;
   align-items: center;
   gap: 0.55rem;
   margin-top: 0.65rem;
   padding: 0.55rem 0.95rem;
   border-radius: 999px;
   font-size: 0.92rem;
   font-weight: 500;
   line-height: 1.2;
   color: #1f7a45;
   background: rgba(37, 211, 102, 0.12);
   border: 1px solid rgba(37, 211, 102, 0.35);
   text-decoration: none;
   transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.contact-info__whatsapp:hover {
   color: #145c33;
   background: rgba(37, 211, 102, 0.2);
   transform: translateY(-1px);
}

.contact-info__whatsapp-icon {
   width: 1.15rem;
   height: 1.15rem;
   flex-shrink: 0;
}

.contact-hours {
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: 0.75rem;
}

.contact-hours__row {
   display: flex;
   justify-content: space-between;
   gap: 1rem;
   font-size: clamp(0.98rem, 1.9vw, 1.05rem);
   font-weight: 300;
   line-height: 1.5;
   color: var(--color-text-muted);
}

.contact-hours__row dt {
   font-weight: 400;
   color: #3C3C3C;
}

.contact-hours__row dd {
   margin: 0;
   text-align: right;
}

.contact-hours__note {
   margin-top: 1.15rem;
   padding-top: 1.15rem;
   border-top: 1px solid rgba(60, 60, 60, 0.1);
}

.contact-hours__note-title {
   font-size: clamp(0.98rem, 1.9vw, 1.05rem);
   font-weight: 500;
   line-height: 1.4;
   color: #3C3C3C;
   margin: 0 0 0.4rem;
}

.contact-hours__note-text {
   font-size: clamp(0.95rem, 1.8vw, 1.02rem);
   font-weight: 300;
   line-height: 1.55;
   color: var(--color-text-muted);
   margin: 0;
}

.contact-info__social-lead {
   font-size: 0.98rem;
   font-weight: 300;
   line-height: 1.55;
   color: var(--color-text-muted);
   margin: 0 0 1rem;
}

.contact-social {
   display: flex;
   gap: 0.75rem;
}

.contact-social__link {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2.5rem;
   height: 2.5rem;
   border-radius: 50%;
   color: #3C3C3C;
   background: rgba(195, 168, 67, 0.1);
   border: 1px solid rgba(195, 168, 67, 0.22);
   transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.contact-social__link:hover {
   color: var(--color-accent);
   background: rgba(195, 168, 67, 0.18);
   transform: translateY(-1px);
}

.contact-social__icon {
   width: 1.15rem;
   height: 1.15rem;
}

.social-links__link {
   text-decoration: none;
}

.social-links__icon {
   display: block;
}

.contact-form-wrap {
   padding: clamp(1.5rem, 3.5vw, 2rem);
   border-radius: 1.5rem;
   background: rgba(255, 255, 255, 0.62);
   border: 1px solid rgba(195, 168, 67, 0.18);
   box-shadow: 0 18px 42px rgba(60, 60, 60, 0.05);
}

.contact-form {
   display: flex;
   flex-direction: column;
   gap: 1.1rem;
}

.contact-form__honeypot {
   position: absolute;
   left: -9999px;
   width: 1px;
   height: 1px;
   overflow: hidden;
   opacity: 0;
   pointer-events: none;
}

.contact-form__row {
   display: grid;
   grid-template-columns: 1fr;
   gap: 1.1rem;
}

.contact-form__field {
   display: flex;
   flex-direction: column;
   gap: 0.45rem;
}

.contact-form__field label {
   font-size: 0.82rem;
   font-weight: 500;
   letter-spacing: 0.04em;
   color: #3C3C3C;
}

.contact-form__field label a {
   color: var(--color-accent);
   text-decoration-thickness: 1px;
   text-underline-offset: 0.15em;
}

.contact-form__field input,
.contact-form__field textarea {
   width: 100%;
   padding: 0.85rem 1rem;
   border: 1px solid rgba(60, 60, 60, 0.14);
   border-radius: 0.85rem;
   background: #fff;
   font: inherit;
   font-size: 1rem;
   font-weight: 300;
   line-height: 1.45;
   color: #3C3C3C;
   transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form__field input:focus,
.contact-form__field textarea:focus {
   outline: none;
   border-color: rgba(195, 168, 67, 0.55);
   box-shadow: 0 0 0 3px rgba(195, 168, 67, 0.14);
}

.contact-form__field input:invalid:not(:placeholder-shown):not(:focus),
.contact-form__field textarea:invalid:not(:placeholder-shown):not(:focus) {
   border-color: rgba(160, 60, 60, 0.45);
}

.contact-form__field textarea {
   resize: vertical;
   min-height: 9rem;
}

.contact-form__consent {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 0.75rem;
   align-items: start;
   padding-top: 0.25rem;
}

.contact-form__consent input {
   width: 1.05rem;
   height: 1.05rem;
   margin-top: 0.2rem;
   accent-color: var(--color-accent);
}

.contact-form__consent label {
   font-size: 0.92rem;
   font-weight: 300;
   line-height: 1.55;
   color: var(--color-text-muted);
}

.contact-form__consent label a {
   color: var(--color-accent);
   font-weight: 400;
}

.contact-form__note {
   font-size: 0.82rem;
   font-weight: 300;
   line-height: 1.5;
   color: var(--color-text-soft);
   margin: 0;
}

.contact-form__submit {
   align-self: flex-start;
   margin-top: 0.35rem;
   padding: 0.95rem 1.6rem;
   border: 1px solid var(--color-accent);
   border-radius: 999px;
   background: transparent;
   font: inherit;
   font-size: 0.78rem;
   font-weight: 500;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: #3C3C3C;
   cursor: pointer;
   transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
}

.contact-form__submit:hover {
   background: var(--color-accent);
   color: #fff;
}

.contact-form__submit:disabled {
   opacity: 0.55;
   cursor: not-allowed;
}

.contact-calendly {
   padding: clamp(3.5rem, 9vh, 6.5rem) clamp(1.15rem, 5vw, 3rem) clamp(4rem, 10vh, 7rem);
}

.contact-calendly__inner {
   width: min(100%, 980px);
   margin-inline: auto;
   text-align: center;
}

.contact-calendly__header {
   max-width: 38rem;
   margin-inline: auto;
   margin-bottom: clamp(2rem, 4.5vw, 3rem);
}

.contact-calendly__lead {
   max-width: 34rem;
   margin: 0.85rem auto 0;
   font-size: clamp(1rem, 2vw, 1.1rem);
   font-weight: 300;
   line-height: 1.65;
   color: var(--color-text-muted);
}

.contact-calendly__embed {
   position: relative;
   overflow: visible;
   padding-top: clamp(1.5rem, 3vw, 2rem);
}

.contact-calendly__embed::before {
   content: "";
   position: absolute;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
   width: min(100%, 14rem);
   height: 1px;
   background: linear-gradient(
      90deg,
      transparent,
      rgba(60, 60, 60, 0.14) 18%,
      rgba(60, 60, 60, 0.14) 82%,
      transparent
   );
}

.contact-calendly__widget {
   min-width: 320px;
   width: 100%;
   border-radius: 1.25rem;
   overflow: hidden;
   background: #ffffff;
   box-shadow:
      0 28px 70px rgba(60, 60, 60, 0.08),
      0 0 0 1px rgba(195, 168, 67, 0.12);
}

.contact-calendly__widget iframe {
   display: block;
   width: 100% !important;
}

.contact-calendly__placeholder {
   padding: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 4vw, 2.5rem);
}

.contact-calendly__placeholder-title {
   font-size: 0.72rem;
   font-weight: 500;
   letter-spacing: 0.28em;
   text-transform: uppercase;
   color: var(--color-accent);
   margin-bottom: 0.85rem;
}

.contact-calendly__placeholder-text {
   max-width: 32rem;
   margin-inline: auto;
   font-size: 0.98rem;
   font-weight: 300;
   line-height: 1.65;
   color: var(--color-text-muted);
}

.contact-calendly__placeholder code {
   font-size: 0.88em;
   color: #3C3C3C;
}

@media (min-width: 900px) {
   .contact-main__grid {
      grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
      gap: clamp(2rem, 4vw, 3.5rem);
   }

   .contact-form__row {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .leadership-hero--contact .leadership-hero__content,
   .leadership-hero--knowledge .leadership-hero__content {
      max-width: min(62vw, 46rem);
   }

   .leadership-hero--contact .leadership-hero__visual--seal,
   .leadership-hero--knowledge .leadership-hero__visual--seal {
      width: min(76vw, 1000px);
   }
}

@media (max-width: 899px) {
   .leadership-hero--contact,
   .leadership-hero--knowledge {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-height: clamp(24rem, 64vh, 34rem);
      padding-bottom: clamp(2.5rem, 6vh, 3.5rem);
   }

   .leadership-hero--contact .leadership-hero__inner,
   .leadership-hero--knowledge .leadership-hero__inner {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: clamp(18rem, 52vh, 26rem);
      position: relative;
      z-index: 2;
   }

   .leadership-hero--contact .leadership-hero__content,
   .leadership-hero--knowledge .leadership-hero__content {
      align-items: center;
      text-align: center;
      margin-inline: auto;
      max-width: min(100%, 36rem);
   }

   .leadership-hero--contact .leadership-hero__title,
   .leadership-hero--knowledge .leadership-hero__title {
      align-items: center;
   }

   .leadership-hero--contact .leadership-hero__visual--seal,
   .leadership-hero--knowledge .leadership-hero__visual--seal {
      position: absolute;
      top: calc(-1 * (var(--header-bar-height) + 1.5rem));
      right: calc(-1 * clamp(1.15rem, 5vw, 4.5rem));
      left: auto;
      width: min(88vw, 600px);
      height: auto;
      margin: 0;
      display: block;
   }

   .leadership-hero--contact .leadership-hero__image--seal,
   .leadership-hero--knowledge .leadership-hero__image--seal {
      width: 100%;
      max-height: none;
      opacity: 0.42;
      object-fit: contain;
      object-position: top right;
   }

   .contact-main__header {
      text-align: center;
      margin-inline: auto;
   }

   .contact-hours__row {
      flex-direction: column;
      gap: 0.2rem;
   }

   .contact-hours__row dd {
      text-align: left;
   }

   .contact-form__submit {
      align-self: stretch;
      text-align: center;
   }
}

/* Kundenbereich-Hero: kleines Bild, oben/rechts an der Kante (überschreibt --knowledge-Defaults) */
.kundenbereich-page .kundenbereich-hero.leadership-hero--knowledge .leadership-hero__visual--seal {
   top: 0;
   right: calc(-1 * clamp(1.15rem, 5vw, 4.5rem));
   width: min(60vw, 640px);
   max-width: none;
   aspect-ratio: auto;
   overflow: visible;
   border-radius: 0;
   height: auto;
}

.kundenbereich-page .kundenbereich-hero.leadership-hero--knowledge .leadership-hero__image--seal {
   width: 100%;
   height: auto;
   max-height: none;
   object-fit: contain;
   object-position: top right;
   border-radius: 0;
   transform: none;
   opacity: 1;
}

@media (min-width: 900px) {
   .kundenbereich-page .kundenbereich-hero.leadership-hero--knowledge .leadership-hero__visual--seal {
      width: min(68vw, 840px);
   }
}

@media (max-width: 899px) {
   .kundenbereich-page .kundenbereich-hero.leadership-hero--knowledge .leadership-hero__visual--seal {
      width: min(80vw, 560px);
      top: 0;
   }

   .kundenbereich-page .kundenbereich-hero.leadership-hero--knowledge .leadership-hero__image--seal {
      opacity: 0.48;
   }
}
