.kontakt-page {
  overflow: clip;
}

.kontakt-page .eyebrow {
  color: var(--color-copper);
}

.kontakt-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-8);
}

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

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

.kontakt-hero__copy .eyebrow,
.kontakt-hero__copy h1,
.kontakt-hero__copy p {
  margin: 0;
}

.kontakt-hero__copy h1 {
  max-width: 11ch;
  font-size: clamp(3rem, 6vw, 5.5rem);
  line-height: 0.94;
}

.kontakt-hero__lead {
  max-width: 49ch;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.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-hero__actions p {
  max-width: 27ch;
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.kontakt-hero__note {
  max-width: 48ch;
  color: color-mix(in srgb, var(--color-ink) 72%, transparent);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.kontakt-hero__media {
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-md);
  background: var(--color-limestone);
}

.kontakt-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}

.kontakt-direct__inner {
  display: grid;
  grid-template-columns: minmax(0, 8fr);
  width: 66.666%;
  min-width: 0;
  margin-left: 16.666%;
  gap: var(--space-7);
}

.kontakt-direct__intro {
  min-width: 0;
}

.kontakt-direct__intro h2,
.kontakt-direct__intro p {
  max-width: 52ch;
}

.kontakt-direct__list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin: 0;
  border-top: var(--border-subtle);
}

.kontakt-direct__row {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 8fr);
  min-width: 0;
  gap: var(--space-5);
  padding-block: var(--space-5);
  border-bottom: var(--border-subtle);
}

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

.kontakt-direct__row dt {
  color: var(--color-copper);
  font-size: var(--text-label);
  letter-spacing: 0.14em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

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

.kontakt-direct__row a,
.kontakt-direct__row address {
  max-width: 100%;
  color: var(--color-forest);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.kontakt-direct__row p {
  max-width: 54ch;
  margin: 0;
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.kontakt-form-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  min-width: 0;
  gap: 8.333%;
  align-items: start;
}

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

.kontakt-form-section__context {
  min-width: 0;
}

.kontakt-form-section__context h2,
.kontakt-form-section__context p {
  max-width: 50ch;
}

.kontakt-form-section__privacy {
  padding-top: var(--space-4);
  border-top: var(--border-copper);
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.kontakt-form-panel {
  min-width: 0;
  padding: var(--space-7);
  border: var(--border-subtle);
  border-top: var(--border-copper);
  border-radius: var(--radius-md);
  background: var(--color-limestone);
  box-shadow: var(--shadow-soft);
}

.kontakt-form {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

.kontakt-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-5) var(--space-4);
}

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

.kontakt-form__field--phone,
.kontakt-form__field--message {
  grid-column: 1 / -1;
}

.kontakt-form__field--type,
.kontakt-form__field--date {
  grid-column: auto;
}

.kontakt-page .form-field {
  margin: 0;
}

.kontakt-page input,
.kontakt-page select,
.kontakt-page textarea {
  min-width: 0;
  min-height: 3rem;
  border-radius: var(--radius-button);
  background: var(--color-porcelain);
}

.kontakt-page textarea {
  min-height: 9.375rem;
}

.kontakt-page .form-error:not(:empty) {
  font-weight: 600;
}

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

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

.kontakt-form__submit p {
  max-width: 39ch;
  margin: 0;
  font-size: var(--text-utility);
  line-height: var(--leading-utility);
}

.kontakt-form__status {
  min-height: 1.5em;
  font-size: var(--text-utility);
  font-weight: 600;
  line-height: var(--leading-utility);
}

.kontakt-form__status.is-success {
  color: var(--color-forest);
}

.kontakt-form__status.is-error {
  color: #9c3e2d;
}

.kontakt-routing__intro {
  min-width: 0;
  margin-bottom: var(--space-7);
}

.kontakt-routing__intro h2,
.kontakt-routing__intro p {
  max-width: 56ch;
}

.kontakt-routing__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-5);
  align-items: stretch;
}

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

.kontakt-routing__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-subtle);
  border-radius: var(--radius-md);
}

.kontakt-routing__card h3,
.kontakt-routing__card p {
  margin: 0;
}

.kontakt-routing__card p {
  max-width: 47ch;
}

.kontakt-routing__card--dining {
  background: var(--color-porcelain);
}

.kontakt-routing__card--poker {
  border-color: var(--color-forest);
  background: var(--color-forest);
  color: var(--color-porcelain);
}

.kontakt-routing__card--poker h3 {
  color: var(--color-porcelain);
}

.kontakt-routing__card--poker a {
  color: var(--color-porcelain);
  text-decoration-color: var(--color-copper);
}

.kontakt-routing__card--poker a:hover {
  color: var(--color-muted-sage);
}

.kontakt-routing__card--evening {
  border-top: var(--border-copper);
  background: var(--color-limestone);
}

.kontakt-routing__links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-top: auto;
}

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

.kontakt-routing__links a {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  font-size: var(--text-utility);
  font-weight: 700;
}

.kontakt-journey__intro {
  min-width: 0;
  margin-bottom: var(--space-7);
}

.kontakt-journey__intro h2,
.kontakt-journey__intro p {
  max-width: 56ch;
}

.kontakt-journey__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: var(--border-subtle);
}

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

.kontakt-journey__step {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-5);
  padding: var(--space-6);
  border-right: var(--border-subtle);
}

.kontakt-journey__step:last-child {
  border-right: 0;
}

.kontakt-journey__step--sage {
  background: var(--color-forest);
  color: var(--color-porcelain);
}

.kontakt-journey__number {
  color: var(--color-copper);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: var(--leading-utility);
}

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

.kontakt-journey__body h3,
.kontakt-journey__body p {
  margin: 0;
}

.kontakt-journey__body p {
  max-width: 44ch;
}

.kontakt-journey__step--sage h3,
.kontakt-journey__step--sage a {
  color: var(--color-porcelain);
}

.kontakt-journey__body a {
  font-size: var(--text-utility);
  font-weight: 700;
}

.kontakt-confirm__panel {
  width: 83.333%;
  min-width: 0;
  margin-left: 8.333%;
  padding: var(--space-7);
  border-top: var(--border-copper);
  border-radius: var(--radius-md);
  background: var(--color-forest);
  color: var(--color-porcelain);
}

.kontakt-confirm__copy {
  display: flex;
  width: 60%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

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

.kontakt-confirm__copy h2 {
  color: var(--color-porcelain);
}

.kontakt-confirm__copy p {
  max-width: 52ch;
}

.kontakt-confirm__copy p a {
  color: var(--color-porcelain);
  text-decoration-color: var(--color-copper);
}

.kontakt-confirm__copy p a:hover {
  color: var(--color-muted-sage);
}

@media (max-width: 61.25rem) {
  .kontakt-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-7);
  }

  .kontakt-hero__copy {
    max-width: 47rem;
  }

  .kontakt-hero__media {
    aspect-ratio: 16 / 9;
  }

  .kontakt-hero__media img {
    object-position: center 58%;
  }

  .kontakt-form-section__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-7);
  }

  .kontakt-form-section__context {
    max-width: 47rem;
  }
}

@media (max-width: 56.25rem) {
  .kontakt-routing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kontakt-routing__card--evening {
    grid-column: 1 / -1;
  }

  .kontakt-journey__steps {
    grid-template-columns: minmax(0, 1fr);
    border-top: 0;
  }

  .kontakt-journey__step {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-4);
    padding: var(--space-5) 0;
    border-right: 0;
    border-bottom: var(--border-subtle);
  }

  .kontakt-journey__step--sage {
    margin-inline: calc(var(--container-padding) * -1);
    padding-inline: var(--container-padding);
  }
}

@media (max-width: 47.5rem) {
  .kontakt-direct__inner {
    width: 100%;
    margin-left: 0;
  }

  .kontakt-direct__row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .kontakt-confirm__panel {
    width: 100%;
    margin-left: 0;
  }

  .kontakt-confirm__copy {
    width: 100%;
  }
}

@media (max-width: 38.75rem) {
  .kontakt-hero__copy h1 {
    max-width: 10ch;
    font-size: clamp(3rem, 14vw, 3.625rem);
  }

  .kontakt-hero__lead {
    max-width: 34ch;
  }

  .kontakt-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .kontakt-hero__actions .button {
    width: 100%;
  }

  .kontakt-hero__actions p {
    max-width: 100%;
  }

  .kontakt-hero__media {
    aspect-ratio: 4 / 5;
  }

  .kontakt-form-panel,
  .kontakt-confirm__panel {
    padding: var(--space-5);
  }

  .kontakt-form__fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .kontakt-form__field--type,
  .kontakt-form__field--date {
    grid-column: 1;
  }

  .kontakt-form__submit {
    align-items: stretch;
  }

  .kontakt-form__submit .button {
    width: 100%;
  }

  .kontakt-routing__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .kontakt-routing__card--evening {
    grid-column: 1;
  }

  .kontakt-routing__card {
    padding: var(--space-5);
  }

  .kontakt-journey__step {
    grid-template-columns: 2rem minmax(0, 1fr);
  }
}

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