#kontakt-main { overflow: hidden; }

#kontakt-main .kontakt-room-marker { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; color: var(--color-ink); font-size: var(--font-size-meta); font-weight: var(--font-weight-medium); letter-spacing: var(--tracking-label); line-height: var(--line-height-meta); text-transform: uppercase; }
#kontakt-main .kontakt-room-marker::before { width: 1px; height: 3rem; background: var(--color-border-strong); content: ""; }
#kontakt-main .kontakt-room-marker--light { color: var(--color-paper); }
#kontakt-main .kontakt-room-marker--light::before { background: var(--color-border-on-dark); }

#kontakt-main .kontakt-hero { padding-block: clamp(4.5rem, 10vw, 12rem) var(--space-10); }
#kontakt-main .kontakt-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
#kontakt-main .kontakt-hero__grid > * { min-width: 0; }
#kontakt-main .kontakt-hero__marker { grid-column: 1; }
#kontakt-main .kontakt-hero__title { grid-column: 1; min-width: 0; }
#kontakt-main .kontakt-hero__heading { max-width: 10ch; margin-block-end: 0; font-size: clamp(2.5rem, 11vw, 3.5rem); line-height: 0.96; }
#kontakt-main .kontakt-hero__copy { display: flex; grid-column: 1; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); max-width: 40.625rem; }
#kontakt-main .kontakt-hero__copy > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-hero__copy .lead { max-width: 38rem; }
#kontakt-main .kontakt-hero__button { width: 100%; min-height: 2.75rem; }
#kontakt-main .kontakt-hero__microcopy { max-width: 27.5rem; padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--color-border-strong); color: var(--color-text-muted); font-size: var(--font-size-label); line-height: var(--line-height-label); }

#kontakt-main .kontakt-formats__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
#kontakt-main .kontakt-formats__grid > * { min-width: 0; }
#kontakt-main .kontakt-formats__header { max-width: 40rem; }
#kontakt-main .kontakt-formats__header p:last-child { max-width: 36rem; }
#kontakt-main .kontakt-format { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding-block-end: var(--space-6); border-bottom: var(--border-default); }
#kontakt-main .kontakt-format__number { margin: 0; color: var(--color-vermilion); font-family: var(--font-heading); font-size: clamp(2.5rem, 6vw, 4rem); font-weight: var(--font-weight-extrabold); letter-spacing: var(--tracking-heading); line-height: 0.9; }
#kontakt-main .kontakt-format__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 23.75rem; }
#kontakt-main .kontakt-format__content > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-format__content h3 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
#kontakt-main .kontakt-format--four { padding: var(--space-5); border-bottom: 0; background: var(--color-forest-green); color: var(--color-paper); }
#kontakt-main .kontakt-format--four .kontakt-format__number { color: var(--color-paper); }
#kontakt-main .kontakt-format--four h3 { color: var(--color-paper); }

#kontakt-main .kontakt-briefing__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
#kontakt-main .kontakt-briefing__grid > * { min-width: 0; }
#kontakt-main .kontakt-briefing__header { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 38rem; }
#kontakt-main .kontakt-briefing__header > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-note { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding-block-start: var(--space-5); border-top: var(--border-default); }
#kontakt-main .kontakt-note > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-note__keyword { color: var(--color-ultramarine); font-family: var(--font-heading); font-size: clamp(2rem, 5vw, 3.25rem); font-weight: var(--font-weight-extrabold); letter-spacing: var(--tracking-heading); line-height: 0.92; }
#kontakt-main .kontakt-note--two .kontakt-note__keyword { display: inline-flex; width: fit-content; padding: var(--space-2) var(--space-3); background: var(--color-concrete-light); color: var(--color-ink); font-size: var(--font-size-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }
#kontakt-main .kontakt-note--three { border-inline-start: 3px solid var(--color-ultramarine); padding-inline-start: var(--space-4); }

#kontakt-main .kontakt-process__container { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
#kontakt-main .kontakt-process__container > * { min-width: 0; }
#kontakt-main .kontakt-process__header { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 44rem; }
#kontakt-main .kontakt-process__header > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-process__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
#kontakt-main .kontakt-process__grid > * { min-width: 0; }
#kontakt-main .kontakt-step { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding-block: var(--space-5); border-top: var(--border-default); }
#kontakt-main .kontakt-step > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-step__number { color: var(--color-vermilion); font-family: var(--font-heading); font-size: clamp(3rem, 7vw, 5rem); font-weight: var(--font-weight-extrabold); letter-spacing: var(--tracking-heading); line-height: 0.86; }
#kontakt-main .kontakt-step--concrete { padding: var(--space-5); border: var(--border-default); background: var(--color-gallery-white); }
#kontakt-main .kontakt-process__link { width: fit-content; }

#kontakt-main .kontakt-request__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
#kontakt-main .kontakt-request__grid > * { min-width: 0; }
#kontakt-main .kontakt-request__header { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 40rem; }
#kontakt-main .kontakt-request__header > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-form { display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); padding: var(--space-5); border: var(--border-default); background: var(--color-paper); }
#kontakt-main .kontakt-form > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-form__status:empty { display: none; }
#kontakt-main .kontakt-form__status { max-width: 32.5rem; padding: var(--space-3) var(--space-4); border-inline-start: 3px solid var(--color-ultramarine); background: var(--color-warm-greige); font-size: var(--font-size-label); line-height: var(--line-height-label); }
#kontakt-main .kontakt-form__status[data-state="error"] { border-inline-start-color: var(--color-vermilion); }
#kontakt-main .kontakt-form__group { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); margin: 0; padding: var(--space-5) 0 0; border: 0; border-top: var(--border-default); }
#kontakt-main .kontakt-form__group > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-form__group:first-of-type { padding-block-start: 0; border-top: 0; }
#kontakt-main .kontakt-form__group legend { display: flex; align-items: center; gap: var(--space-3); padding: 0; font-size: var(--font-size-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }
#kontakt-main .kontakt-form__group legend span { display: inline-flex; align-items: center; justify-content: center; min-width: 2.25rem; min-height: 2rem; background: var(--color-concrete-light); font-family: var(--font-body); font-size: var(--font-size-meta); }
#kontakt-main .kontakt-form__group-help { max-width: 40rem; color: var(--color-text-muted); font-size: var(--font-size-label); line-height: var(--line-height-label); }
#kontakt-main .kontakt-form__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
#kontakt-main .kontakt-form__fields > * { min-width: 0; }
#kontakt-main .kontakt-form__field { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
#kontakt-main .kontakt-form__field > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-form label { margin: 0; }
#kontakt-main .kontakt-form input, #kontakt-main .kontakt-form select, #kontakt-main .kontakt-form textarea { min-width: 0; border-radius: var(--radius-sm); background: var(--color-gallery-white); font-size: 1rem; }
#kontakt-main .kontakt-form input, #kontakt-main .kontakt-form select { min-height: 2.75rem; }
#kontakt-main .kontakt-form textarea { min-height: 10.5rem; }
#kontakt-main .kontakt-form input[aria-invalid="true"], #kontakt-main .kontakt-form select[aria-invalid="true"], #kontakt-main .kontakt-form textarea[aria-invalid="true"] { border-color: var(--color-vermilion); }
#kontakt-main .kontakt-form__optional { color: var(--color-text-muted); font-size: var(--font-size-meta); font-weight: var(--font-weight-regular); }
#kontakt-main .kontakt-form__hint { color: var(--color-text-muted); font-size: var(--font-size-meta); line-height: var(--line-height-meta); }
#kontakt-main .kontakt-form__error { display: none; color: #a9321d; font-size: var(--font-size-meta); font-weight: var(--font-weight-medium); line-height: var(--line-height-meta); }
#kontakt-main .kontakt-form__error:not(:empty) { display: block; }
#kontakt-main .kontakt-form__consent { display: grid; grid-template-columns: 1.125rem minmax(0, 1fr); column-gap: var(--space-3); row-gap: var(--space-2); align-items: start; max-width: 45rem; }
#kontakt-main .kontakt-form__consent > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-form__consent input { grid-column: 1; margin-block-start: 0.2rem; }
#kontakt-main .kontakt-form__consent label { grid-column: 2; }
#kontakt-main .kontakt-form__consent .kontakt-form__error { grid-column: 2; }
#kontakt-main .kontakt-form__actions { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
#kontakt-main .kontakt-form__actions > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-form__actions .button { width: 100%; min-height: 2.75rem; }
#kontakt-main .kontakt-form__actions p { max-width: 35rem; color: var(--color-text-muted); font-size: var(--font-size-meta); line-height: var(--line-height-meta); }

#kontakt-main .kontakt-open__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
#kontakt-main .kontakt-open__grid > * { min-width: 0; }
#kontakt-main .kontakt-open__statement { max-width: 48rem; }
#kontakt-main .kontakt-open__statement h2 { margin-block-end: 0; font-size: clamp(2.25rem, 6vw, 4.25rem); line-height: 1; }
#kontakt-main .kontakt-open__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 31.25rem; }
#kontakt-main .kontakt-open__copy > * { min-width: 0; margin-block: 0; }

#kontakt-main .kontakt-themes__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
#kontakt-main .kontakt-themes__grid > * { min-width: 0; }
#kontakt-main .kontakt-themes__main { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 36.25rem; }
#kontakt-main .kontakt-themes__main > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-themes__main h3, #kontakt-main .kontakt-themes__aside h3 { font-size: clamp(1.5rem, 3vw, 2rem); }
#kontakt-main .kontakt-themes__aside { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding-block-start: var(--space-5); border-top: var(--border-dark); max-width: 22.5rem; }
#kontakt-main .kontakt-themes__aside > * { min-width: 0; margin-block: 0; }

#kontakt-main .kontakt-after__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
#kontakt-main .kontakt-after__grid > * { min-width: 0; }
#kontakt-main .kontakt-after__header { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
#kontakt-main .kontakt-after__header > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-after__main { position: relative; display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); max-width: 33.75rem; overflow: hidden; }
#kontakt-main .kontakt-after__main > * { min-width: 0; margin-block: 0; }
#kontakt-main .kontakt-after__ghost { position: absolute; z-index: 0; top: -0.35em; right: 0; color: rgba(32, 35, 33, 0.12); font-family: var(--font-heading); font-size: clamp(6rem, 18vw, 11rem); font-weight: var(--font-weight-extrabold); letter-spacing: var(--tracking-heading); line-height: 0.86; }
#kontakt-main .kontakt-after__main h3, #kontakt-main .kontakt-after__main p:not(.kontakt-after__ghost) { position: relative; z-index: 1; }
#kontakt-main .kontakt-after__privacy { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); max-width: 23.75rem; padding-block-start: var(--space-5); border-top: var(--border-default); }
#kontakt-main .kontakt-after__privacy > * { min-width: 0; margin-block: 0; }

@media (min-width: 43.75rem) {
  #kontakt-main .kontakt-hero__button { width: auto; min-height: 3rem; }
  #kontakt-main .kontakt-form { padding: var(--space-6); }
  #kontakt-main .kontakt-form__actions .button { width: auto; min-height: 3rem; }
  #kontakt-main .kontakt-form__fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #kontakt-main .kontakt-form__fields--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 48rem) {
  #kontakt-main .kontakt-briefing__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #kontakt-main .kontakt-briefing__header { grid-column: 1 / -1; }
  #kontakt-main .kontakt-note--one { grid-column: 1 / 4; }
  #kontakt-main .kontakt-note--two { grid-column: 4 / 7; }
  #kontakt-main .kontakt-note--three { grid-column: 2 / 5; }
  #kontakt-main .kontakt-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  #kontakt-main .kontakt-open__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  #kontakt-main .kontakt-open__statement { grid-column: 1 / 7; }
  #kontakt-main .kontakt-open__copy { grid-column: 3 / 7; }
  #kontakt-main .kontakt-themes__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  #kontakt-main .kontakt-themes__main { grid-column: 1 / 6; }
  #kontakt-main .kontakt-themes__aside { grid-column: 2 / 6; }
  #kontakt-main .kontakt-after__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  #kontakt-main .kontakt-after__header { grid-column: 1 / -1; }
  #kontakt-main .kontakt-after__main { grid-column: 1 / 6; }
  #kontakt-main .kontakt-after__privacy { grid-column: 6 / 9; align-self: end; }
}

@media (min-width: 61.25rem) {
  #kontakt-main .kontakt-formats__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); row-gap: var(--space-8); }
  #kontakt-main .kontakt-formats__header { grid-column: 1 / 7; }
  #kontakt-main .kontakt-format--one { grid-column: 1 / 6; }
  #kontakt-main .kontakt-format--two { grid-column: 7 / 12; }
  #kontakt-main .kontakt-format--three { grid-column: 3 / 8; }
  #kontakt-main .kontakt-format--four { grid-column: 8 / 13; }
  #kontakt-main .kontakt-themes__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); }
  #kontakt-main .kontakt-themes__main { grid-column: 2 / 8; }
  #kontakt-main .kontakt-themes__aside { grid-column: 9 / 12; align-self: end; padding-block-start: 0; padding-inline-start: var(--space-5); border-top: 0; border-inline-start: var(--border-dark); }
  #kontakt-main .kontakt-after__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); }
  #kontakt-main .kontakt-after__header { grid-column: 1 / -1; }
  #kontakt-main .kontakt-after__main { grid-column: 1 / 7; }
  #kontakt-main .kontakt-after__privacy { grid-column: 9 / 13; }
}

@media (min-width: 64rem) {
  #kontakt-main .kontakt-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); row-gap: var(--space-5); }
  #kontakt-main .kontakt-hero__marker { grid-column: 1 / 3; grid-row: 1 / 3; }
  #kontakt-main .kontakt-hero__title { grid-column: 2 / 11; grid-row: 1; }
  #kontakt-main .kontakt-hero__heading { max-width: 11ch; font-size: clamp(4rem, 7vw, 6.5rem); }
  #kontakt-main .kontakt-hero__copy { grid-column: 4 / 9; grid-row: 2; }
  #kontakt-main .kontakt-briefing__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); }
  #kontakt-main .kontakt-briefing__header { grid-column: 1 / 7; }
  #kontakt-main .kontakt-note--one { grid-column: 2 / 5; }
  #kontakt-main .kontakt-note--two { grid-column: 5 / 8; }
  #kontakt-main .kontakt-note--three { grid-column: 8 / 11; }
  #kontakt-main .kontakt-request__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); }
  #kontakt-main .kontakt-request__header { grid-column: 1 / 7; }
  #kontakt-main .kontakt-form { grid-column: 2 / 12; }
}

@media (min-width: 72.5rem) {
  #kontakt-main .kontakt-process__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
  #kontakt-main .kontakt-process__grid > .kontakt-step { min-height: 100%; }
  #kontakt-main .kontakt-process__link { justify-self: end; }
  #kontakt-main .kontakt-open__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-5); }
  #kontakt-main .kontakt-open__statement { grid-column: 1 / 9; }
  #kontakt-main .kontakt-open__copy { grid-column: 9 / 13; }
}

@media (max-width: 43.6875rem) {
  #kontakt-main .kontakt-form__fields--three { grid-template-columns: minmax(0, 1fr); }
  #kontakt-main .kontakt-form__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  #kontakt-main * { scroll-behavior: auto; }
}
