.kontakt-page {
  background: var(--color-graphite);
}

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

.kontakt-hero {
  padding-block: var(--space-10) var(--space-9);
  border-bottom: 1px solid var(--color-map-line);
}

.kontakt-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: end;
  gap: var(--space-7);
  min-height: 29.375rem;
}

.kontakt-hero__grid > * { min-width: 0; }

.kontakt-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 38.75rem;
  gap: var(--space-5);
}

.kontakt-hero__copy > * { margin: 0; }
.kontakt-hero__copy h1 { font-size: var(--text-display); max-width: 38.75rem; }
.kontakt-hero__copy .lead { max-width: 38.75rem; }
.kontakt-hero__copy > p:not(.eyebrow):not(.lead):not(.kontakt-hero__route) { max-width: 36rem; }
.kontakt-hero__route { margin-top: var(--space-2); }

.kontakt-board {
  display: flex;
  flex-direction: column;
  min-width: 0;
  align-self: end;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  background: rgba(17, 22, 26, 0.42);
  gap: var(--space-5);
}

.kontakt-board > * { margin: 0; }
.kontakt-board__rows { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.kontakt-board__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 0.75rem;
  align-items: center;
  min-width: 0;
  padding: var(--space-3) 0;
  border-top: 1px solid var(--color-map-line);
  color: var(--color-limestone-muted);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-sm);
}
.kontakt-board__row span:first-child { min-width: 0; overflow-wrap: anywhere; }
.kontakt-board__row span:nth-child(2) { color: var(--color-limestone-muted); font-size: var(--text-xs); font-weight: 600; }
.kontakt-board__row i { width: 0.5rem; height: 0.5rem; border: 1px solid var(--color-map-line); border-radius: 50%; }
.kontakt-board__row--active { color: var(--color-copper); }
.kontakt-board__row--active i { border-color: var(--color-copper); background: var(--color-copper); }
.kontakt-board__note { color: var(--color-limestone-muted); font-size: var(--text-xs); line-height: var(--leading-xs); }

.kontakt-section-heading,
.kontakt-intents__heading,
.kontakt-context__heading,
.kontakt-checklist__heading,
.kontakt-next__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  margin-bottom: var(--space-7);
}
.kontakt-section-heading > *, .kontakt-intents__heading > *, .kontakt-context__heading > *, .kontakt-checklist__heading > *, .kontakt-next__heading > * { margin: 0; }
.kontakt-intents__heading h2 { max-width: 36.25rem; }
.kontakt-context__heading h2 { max-width: 38rem; }
.kontakt-next__heading h2 { max-width: 38.75rem; }

.kontakt-channels__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-5);
}
.kontakt-channels__grid > * { min-width: 0; }
.kontakt-channel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-6);
  border-top: 1px solid var(--color-copper);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  gap: var(--space-4);
}
.kontakt-channel > * { margin: 0; }
.kontakt-channel__number { color: var(--color-copper); }
.kontakt-channel__value {
  min-height: 2.75rem;
  color: var(--color-limestone);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 700;
  line-height: var(--leading-lead);
  overflow-wrap: anywhere;
}
.kontakt-channel address.kontakt-channel__value { font-style: normal; }
.kontakt-channel > p:not(.coordinates) { max-width: 34ch; }

.kontakt-intents { padding-top: var(--space-8); }
.kontakt-intents__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr);
  align-items: stretch;
  gap: var(--space-5);
}
.kontakt-intents__grid > * { min-width: 0; }
.kontakt-intent {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  gap: var(--space-4);
}
.kontakt-intent > * { margin: 0; }
.kontakt-intent > p:not(.coordinates):not(.kontakt-intent__links) { max-width: 42ch; }
.kontakt-intent--proposal { border-top-color: var(--color-urban-green); background: rgba(82, 114, 101, 0.12); }
.kontakt-intent__links { font-size: var(--text-sm); line-height: var(--leading-sm); }

.kontakt-form-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: calc(var(--space-6) + var(--space-5));
  align-items: start;
}
.kontakt-form-section__grid > * { min-width: 0; }
.kontakt-form-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-6);
  background: var(--color-navy);
  gap: var(--space-5);
}
.kontakt-form-intro > * { margin: 0; }
.kontakt-form-intro .lead { max-width: 35rem; }
.kontakt-form-intro > p:not(.eyebrow):not(.lead) { max-width: 35rem; }
.kontakt-form {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 45rem;
  padding: var(--space-7);
  background: var(--color-surface);
  color: var(--color-ink);
  gap: var(--space-5);
}
.kontakt-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}
.kontakt-form__fields > * { min-width: 0; }
.kontakt-form__field--full { grid-column: 1 / -1; }
.kontakt-form .form-field__error { margin-bottom: 0; }
.kontakt-form__status { margin: 0; min-height: 1.625rem; font-weight: 600; }
.kontakt-form__status--success { color: var(--color-urban-green); }
.kontakt-form .button { align-self: flex-start; }

.kontakt-context__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-5);
}
.kontakt-context__grid > * { min-width: 0; }
.kontakt-context__city,
.kontakt-context__casino {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-7);
  gap: var(--space-4);
}
.kontakt-context__city > *, .kontakt-context__casino > * { margin: 0; }
.kontakt-context__city { border-left: 1px solid var(--color-map-line); background: var(--color-limestone); color: var(--color-ink); }
.kontakt-context__casino { border: 1px solid var(--color-border); background: var(--color-navy); }
.kontakt-context__city p, .kontakt-context__casino p:not(.eyebrow) { max-width: 58ch; }

.kontakt-checklist__route {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--color-map-line);
}
.kontakt-checklist__route > li {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: var(--space-5) var(--space-5) 0 0;
}
.kontakt-checklist__route > li + li { padding-left: var(--space-5); border-left: 1px solid var(--color-map-line); }
.kontakt-checklist__route > li > div { min-width: 0; }
.kontakt-checklist__number { position: relative; display: block; margin-bottom: var(--space-5); color: var(--color-copper); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.08em; }
.kontakt-checklist__number::before { position: absolute; top: -1.75rem; left: 0; width: 0.5rem; height: 0.5rem; border: 1px solid var(--color-map-line); border-radius: 50%; background: var(--color-graphite); content: ""; }
.kontakt-checklist__route > li:last-child .kontakt-checklist__number::before { border-color: var(--color-copper); background: var(--color-copper); }
.kontakt-checklist__route h3 { margin-bottom: var(--space-3); }
.kontakt-checklist__route p { max-width: 36ch; margin-bottom: 0; }

.kontakt-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-5);
}
.kontakt-next__grid > * { min-width: 0; }
.kontakt-next__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: var(--space-6) 0;
  border-top: 1px solid var(--color-map-line);
  gap: var(--space-4);
}
.kontakt-next__item > * { margin: 0; }
.kontakt-next__item h3 { max-width: 21ch; }
.kontakt-next__item p:not(.coordinates) { max-width: 44ch; }
.kontakt-next__item a { text-decoration-color: var(--color-copper); }

.kontakt-closing { border-top: 1px solid var(--color-map-line); }
.kontakt-closing__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr) minmax(0, 2fr);
  align-items: start;
  gap: var(--space-5);
}
.kontakt-closing__grid > * { min-width: 0; }
.kontakt-closing__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 32.5rem;
  gap: var(--space-4);
}
.kontakt-closing__copy > * { margin: 0; }
.kontakt-closing__link { min-height: 2.75rem; display: inline-flex; align-items: center; font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.08em; }
.kontakt-closing__mark { grid-column: 3; margin: 0; padding-top: var(--space-4); color: var(--color-copper); text-align: right; }

@media (max-width: 1020px) {
  .kontakt-hero { padding-block: var(--space-9); }
  .kontakt-hero__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: var(--space-7); }
  .kontakt-hero__copy { max-width: 38.75rem; }
  .kontakt-board { width: 100%; align-self: auto; }
  .kontakt-form-section__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .kontakt-form-intro { max-width: 43rem; }
  .kontakt-form { max-width: 45rem; }
}

@media (max-width: 980px) {
  .kontakt-intents__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kontakt-intent--proposal { grid-column: 1 / -1; }
  .kontakt-intent--proposal > p:not(.coordinates) { max-width: 60ch; }
}

@media (max-width: 900px) {
  .kontakt-next__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kontakt-next__item:last-child { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .kontakt-context__grid { grid-template-columns: minmax(0, 1fr); }
  .kontakt-context__city, .kontakt-context__casino { padding: var(--space-6); }
}

@media (max-width: 820px) {
  .kontakt-channels__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kontakt-channel:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .kontakt-checklist__route { grid-template-columns: minmax(0, 1fr); border-top: 0; border-left: 1px solid var(--color-map-line); gap: var(--space-5); }
  .kontakt-checklist__route > li, .kontakt-checklist__route > li + li { grid-template-columns: 2.5rem minmax(0, 1fr); padding: 0 0 0 var(--space-5); border: 0; }
  .kontakt-checklist__number { margin: 0; }
  .kontakt-checklist__number::before { top: 0.45rem; left: calc(-1 * var(--space-5) - 0.3125rem); }
  .kontakt-checklist__route h3 { margin-top: 0; }
  .kontakt-checklist__route p { max-width: none; }
}

@media (max-width: 720px) {
  .kontakt-hero { padding-block: var(--space-8); }
  .kontakt-hero__copy { gap: var(--space-4); }
  .kontakt-hero__copy h1 { font-size: var(--text-page); line-height: var(--leading-heading); }
  .kontakt-hero__copy .lead { font-size: 1.125rem; line-height: 1.55; }
  .kontakt-board { padding: var(--space-5); }
  .kontakt-closing__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .kontakt-closing__mark { grid-column: auto; grid-row: 1; padding: 0; text-align: left; }
}

@media (max-width: 680px) {
  .kontakt-intents__grid, .kontakt-next__grid { grid-template-columns: minmax(0, 1fr); }
  .kontakt-intent--proposal, .kontakt-next__item:last-child { grid-column: auto; }
  .kontakt-next__item h3, .kontakt-next__item p:not(.coordinates) { max-width: none; }
}

@media (max-width: 640px) {
  .kontakt-form { padding: var(--space-5); }
  .kontakt-form__fields { grid-template-columns: minmax(0, 1fr); }
  .kontakt-form__field--full { grid-column: auto; }
  .kontakt-form .button { width: 100%; }
}

@media (max-width: 620px) {
  .kontakt-channels__grid { grid-template-columns: minmax(0, 1fr); }
  .kontakt-channel:last-child { grid-column: auto; }
  .kontakt-channel { padding: var(--space-5); }
}

@media (max-width: 560px) {
  .kontakt-board__row { grid-template-columns: minmax(0, 1fr) auto 0.75rem; }
  .kontakt-board__row span:nth-child(2) { display: none; }
  .kontakt-context__city, .kontakt-context__casino { padding: var(--space-5); }
}

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