.kontakt-page {
  overflow: hidden;
}

.kontakt-page .section {
  position: relative;
}

.kontakt-hero__panel {
  display: grid;
  grid-template-columns: minmax(0, 52fr) minmax(380px, 48fr);
  min-height: 28.75rem;
  align-items: stretch;
  gap: var(--space-6);
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(216,230,239,.78));
}

.kontakt-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-4);
  padding: clamp(2rem, 5vw, 4.5rem) 0 clamp(2rem, 5vw, 4.5rem) clamp(1.5rem, 4vw, 4.5rem);
}

.kontakt-hero__copy > * { margin: 0; }
.kontakt-hero__copy h1 { max-width: 14ch; }
.kontakt-hero__lead { max-width: 48ch; font-size: var(--text-lg); line-height: var(--leading-lg); }
.kontakt-hero__support { max-width: 49ch; }
.kontakt-hero__eyebrow { background: rgba(244, 201, 93, .48); }

.kontakt-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

.kontakt-hero__actions > * { min-width: 0; }
.kontakt-text-link { min-height: 3rem; display: inline-flex; align-items: center; font-weight: 700; }

.kontakt-hero__media {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
}

.kontakt-hero__media img { width: 100%; height: 100%; min-width: 0; }

.kontakt-channels__intro,
.kontakt-place__heading,
.kontakt-scenarios__intro,
.kontakt-tips__intro,
.kontakt-address__heading {
  max-width: 60ch;
}

.kontakt-channels__grid,
.kontakt-scenarios__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--grid-gap);
  margin-top: var(--space-6);
}

.kontakt-channels__grid > *,
.kontakt-scenarios__grid > * { min-width: 0; width: 100%; }

.kontakt-channel-card,
.kontakt-scenario-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-white-100);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.kontakt-channel-card > *,
.kontakt-scenario-card > * { margin: 0; }
.kontakt-channel-card:hover,
.kontakt-scenario-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-raised); }

.kontakt-channel-card__icon,
.kontakt-scenario-card__mark {
  display: inline-grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(112, 107, 224, .16);
  color: var(--color-indigo-700);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 800;
}

.kontakt-channel-card--email .kontakt-channel-card__icon,
.kontakt-scenario-card__mark--cards { background: rgba(240, 120, 99, .2); color: var(--color-coral-500); }
.kontakt-channel-card--address .kontakt-channel-card__icon,
.kontakt-scenario-card__mark--plan { background: rgba(244, 201, 93, .42); color: var(--color-indigo-900); }
.kontakt-channel-card__value { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 800; overflow-wrap: anywhere; }
.kontakt-channel-card__address { font-family: var(--font-heading); font-size: var(--text-lg); font-style: normal; font-weight: 800; line-height: var(--leading-lg); }

.kontakt-place { background: var(--color-cloud-200); }
.kontakt-place__card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-7);
  margin-top: var(--space-6);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: var(--border-subtle);
  border-radius: var(--radius-xl);
  background: var(--color-white-100);
  box-shadow: var(--shadow-card);
}

.kontakt-place__block {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.kontakt-place__block > * { margin: 0; }
.kontakt-place__block p { max-width: 56ch; }
.kontakt-place__block--cards { padding-left: var(--space-7); border-left: 1px solid rgba(32,32,79,.12); }

.kontakt-form-card {
  padding: clamp(1.5rem, 4vw, 3rem);
  border: var(--border-subtle);
  border-radius: var(--radius-xl);
  background: linear-gradient(145deg, var(--color-white-100), rgba(232,241,247,.9));
  box-shadow: var(--shadow-card);
}

.kontakt-form-card__heading { max-width: 58ch; }
.kontakt-form {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
  margin-top: var(--space-6);
}
.kontakt-form > * { min-width: 0; width: 100%; }
.kontakt-form__fields { min-width: 0; }
.kontakt-form__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.kontakt-form__pair > * { min-width: 0; width: 100%; }
.kontakt-form__people { max-width: calc(50% - var(--space-2)); }
.kontakt-form input,
.kontakt-form select,
.kontakt-form textarea { min-height: 3rem; }
.kontakt-form textarea { min-height: 9.5rem; }
.kontakt-form__optional { color: rgba(32,32,79,.7); font-weight: 500; }

.kontakt-form__privacy { max-width: 60ch; }
.kontakt-form__privacy p { margin-bottom: 0; font-size: var(--text-sm); }
.kontakt-form__summary {
  margin-bottom: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  background: rgba(240,120,99,.16);
  color: var(--color-indigo-900);
  font-weight: 700;
}

.kontakt-form__submit { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.kontakt-form__submit > * { min-width: 0; margin: 0; }
.kontakt-form__status { max-width: 60ch; color: var(--color-green-600); font-weight: 700; }

.kontakt-form__aside {
  min-width: 0;
  align-self: start;
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-cloud-200);
}
.kontakt-form__aside p { max-width: 40ch; }
.kontakt-form__aside-note { font-size: var(--text-sm); font-weight: 600; }

.kontakt-tips__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--grid-gap);
  margin-top: var(--space-6);
}
.kontakt-tips__grid > * { min-width: 0; width: 100%; }
.kontakt-tip { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-4); align-items: start; padding: var(--space-5); border-radius: var(--radius-lg); background: rgba(255,255,255,.58); }
.kontakt-tip__number { display: inline-grid; width: 2.25rem; min-width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; color: var(--color-indigo-900); font-family: var(--font-heading); font-weight: 800; }
.kontakt-tip__number--mustard { background: var(--color-mustard-400); }
.kontakt-tip__number--coral { background: var(--color-coral-500); color: var(--color-white-100); }
.kontakt-tip__number--indigo { background: var(--color-indigo-500); color: var(--color-white-100); }
.kontakt-tip__number--green { background: var(--color-green-600); color: var(--color-white-100); }
.kontakt-tip__content { min-width: 0; }
.kontakt-tip__content h3 { margin-bottom: var(--space-2); }
.kontakt-tip__content p { max-width: 48ch; margin-bottom: 0; }
.kontakt-tip--highlight { border: var(--border-subtle); background: var(--color-white-100); box-shadow: var(--shadow-card); }
.kontakt-tip--highlight .status { margin-bottom: var(--space-2); }

.kontakt-address__layout { display: grid; grid-template-columns: minmax(0, 45fr) minmax(440px, 55fr); gap: var(--space-6); margin-top: var(--space-6); align-items: center; }
.kontakt-address__layout > * { min-width: 0; width: 100%; }
.kontakt-address__card { padding: clamp(1.5rem, 4vw, 2.5rem); border: var(--border-subtle); border-radius: var(--radius-xl); background: var(--color-white-100); box-shadow: var(--shadow-card); }
.kontakt-address__card address { margin-bottom: var(--space-5); color: var(--color-indigo-700); font-family: var(--font-heading); font-size: var(--text-xl); font-style: normal; font-weight: 800; line-height: var(--leading-xl); }
.kontakt-address__card p { max-width: 50ch; }
.kontakt-address__media-wrap { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.kontakt-address__media { min-width: 0; margin: 0; overflow: hidden; border-radius: var(--radius-xl); aspect-ratio: 4 / 3; box-shadow: var(--shadow-card); }
.kontakt-address__media img { width: 100%; height: 100%; }
.kontakt-address__caption { max-width: 50ch; margin-bottom: 0; font-size: var(--text-sm); }

.kontakt-closing__panel { padding: clamp(2rem, 5vw, 4.5rem); border-radius: var(--radius-xl); background: var(--color-indigo-900); box-shadow: var(--shadow-raised); }
.kontakt-closing__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 650px; }
.kontakt-closing__copy > * { margin: 0; }
.kontakt-closing__copy h2,
.kontakt-closing__copy p { color: var(--color-white-100); }
.kontakt-closing__copy p { max-width: 55ch; }
.kontakt-closing__button { width: auto; }
.kontakt-closing__links { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-4); }
.kontakt-closing__links > * { min-width: 0; min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--color-white-100); font-weight: 700; }
.kontakt-closing__links a:hover { color: var(--color-mustard-400); }

@media (max-width: 899px) {
  .kontakt-hero__panel,
  .kontakt-address__layout,
  .kontakt-form { grid-template-columns: minmax(0, 1fr); }
  .kontakt-hero__panel { min-height: 0; gap: var(--space-5); }
  .kontakt-hero__copy { padding: var(--space-7) var(--space-6) 0; }
  .kontakt-hero__media { aspect-ratio: 4 / 3; }
  .kontakt-channels__grid,
  .kontakt-scenarios__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kontakt-channel-card--address,
  .kontakt-scenario-card:last-child { grid-column: 1 / -1; }
  .kontakt-place__card { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .kontakt-place__block--cards { padding-left: 0; padding-top: var(--space-6); border-top: 1px solid rgba(32,32,79,.12); border-left: 0; }
  .kontakt-form__aside { grid-row: 2; }
  .kontakt-address__media-wrap { grid-row: 2; }
}

@media (max-width: 759px) {
  .kontakt-tips__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 639px) {
  .kontakt-hero__copy { padding: var(--space-6) var(--space-4) 0; }
  .kontakt-hero__copy h1 { max-width: 12ch; }
  .kontakt-hero__lead,
  .kontakt-hero__support { max-width: 42ch; }
  .kontakt-hero__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .kontakt-hero__actions > * { width: 100%; }
  .kontakt-text-link { justify-content: center; }
  .kontakt-channels__grid,
  .kontakt-scenarios__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .kontakt-channel-card--address,
  .kontakt-scenario-card:last-child { grid-column: auto; }
  .kontakt-channel-card,
  .kontakt-scenario-card { padding: var(--space-5); }
  .kontakt-place__card { padding: var(--space-5); }
  .kontakt-form-card { padding: var(--space-5); }
  .kontakt-form__pair { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .kontakt-form__people { max-width: none; }
  .kontakt-form__aside { padding: var(--space-4); }
  .kontakt-address__card { padding: var(--space-5); }
  .kontakt-address__card address { font-size: 1.25rem; }
  .kontakt-closing__panel { padding: var(--space-6) var(--space-5); }
  .kontakt-closing__button { width: 100%; }
  .kontakt-closing__links { width: 100%; flex-direction: column; gap: var(--space-2); }
  .kontakt-closing__links > * { width: 100%; }
}

@media (max-width: 359px) {
  .kontakt-tip { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
}

@media (prefers-reduced-motion: reduce) {
  .kontakt-channel-card:hover,
  .kontakt-scenario-card:hover { transform: none; }
}
