.kontakt-page {
  overflow: hidden;
}

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

.kontakt-page .eyebrow {
  margin-block-end: var(--space-3);
}

.kontakt-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 62fr) minmax(0, 38fr);
  align-items: stretch;
  min-width: 0;
}

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

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

.kontakt-hero__content h1 {
  max-width: 47.5rem;
}

.kontakt-hero__content .lead {
  max-width: 38.75rem;
}

.kontakt-hero__status {
  padding: var(--space-2) var(--space-3);
  border-inline-start: 2px solid var(--color-bronze-oxidised);
  color: var(--color-stone-grey);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.kontakt-hero__email {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 38.75rem;
  gap: var(--space-2);
  padding-block-start: var(--space-3);
}

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

.kontakt-hero__email-label {
  color: var(--color-stone-grey);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: var(--leading-small);
}

.kontakt-hero__email a,
.kontakt-closing__email {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-parchment-light);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration-color: var(--color-amber-candle);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.kontakt-hero__email p {
  color: var(--color-stone-light);
  font-size: var(--text-sm);
  line-height: var(--leading-small);
}

.maze-line {
  position: relative;
  min-width: 0;
  color: var(--color-bronze-oxidised);
  opacity: 0;
  transition: opacity 180ms ease-out;
}

.maze-line.is-revealed {
  opacity: 1;
}

.maze-line span,
.maze-line::before,
.maze-line::after {
  position: absolute;
  display: block;
  content: "";
  border-color: rgb(139 116 82 / 70%);
  border-style: solid;
}

.maze-line i {
  position: absolute;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-round);
  background: var(--color-amber-candle);
}

.kontakt-hero__maze {
  justify-self: stretch;
  min-height: 19rem;
}

.kontakt-hero__maze::before {
  inset: 3.75rem 2rem auto auto;
  width: 48%;
  height: 6rem;
  border-width: 1px 1px 0 0;
}

.kontakt-hero__maze::after {
  right: 24%;
  bottom: 4.25rem;
  width: 31%;
  height: 8.5rem;
  border-width: 0 0 1px 1px;
}

.kontakt-hero__maze span:first-child {
  right: 2rem;
  bottom: 8.5rem;
  width: 22%;
  height: 1px;
  border-width: 1px 0 0;
}

.kontakt-hero__maze span:nth-child(2) {
  right: 46%;
  top: 9.75rem;
  width: 1px;
  height: 5rem;
  border-width: 0 0 0 1px;
}

.kontakt-hero__maze i {
  right: 22%;
  bottom: 3.875rem;
}

.kontakt-scope__intro,
.kontakt-boundaries__heading,
.kontakt-details__intro,
.kontakt-writing__intro,
.kontakt-reading__intro {
  min-width: 0;
}

.kontakt-scope__intro {
  max-width: 41.25rem;
  margin-block-end: var(--space-7);
}

.kontakt-scope__intro .lead {
  max-width: 41.25rem;
}

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

.kontakt-scope__grid > * {
  min-width: 0;
  width: 100%;
}

.kontakt-catalog-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-none);
  background: rgb(233 225 204 / 52%);
}

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

.kontakt-catalog-card h3 {
  font-size: var(--text-h4);
}

.kontakt-catalog-card p,
.kontakt-catalog-card li {
  font-size: var(--text-base);
  line-height: var(--leading-body);
}

.kontakt-catalog-card ul {
  padding-inline-start: 1.15rem;
}

.kontakt-catalog-card__number {
  color: var(--color-moss-muted);
  font-size: var(--text-xs) !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-label) !important;
  text-transform: uppercase;
}

.kontakt-boundaries__heading {
  max-width: 43.75rem;
  margin-block-end: var(--space-7);
}

.kontakt-boundaries__heading .lead {
  max-width: 43.75rem;
}

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

.kontakt-boundaries__grid > * {
  min-width: 0;
  width: 100%;
}

.kontakt-boundary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border-bronze);
}

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

.kontakt-boundary h3 {
  font-size: var(--text-h4);
}

.kontakt-boundary--editorial {
  background: var(--color-parchment-light);
  color: var(--color-ink-deep);
}

.kontakt-boundary--editorial .eyebrow {
  color: #6c512d;
}

.kontakt-boundary--outside {
  background: var(--color-charcoal-surface);
  color: var(--color-stone-light);
}

.kontakt-boundary--outside .eyebrow {
  color: var(--color-stone-grey);
}

.kontakt-play-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  max-width: 43.75rem;
  gap: var(--space-4);
  margin-block-start: var(--space-5);
  padding: var(--space-4);
  border-inline-start: 2px solid var(--color-amber-candle);
  background: rgb(36 38 36 / 72%);
}

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

.kontakt-play-note p {
  margin: 0;
}

.kontakt-play-note .eyebrow {
  margin-block-end: var(--space-1);
}

.kontakt-play-note .play-badge {
  flex: 0 0 auto;
}

.kontakt-details__intro {
  max-width: 38.75rem;
  margin-block-end: var(--space-7);
}

.kontakt-details__register {
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(11.25rem, 24fr) minmax(16.25rem, 32fr);
  align-items: stretch;
  min-width: 0;
  border-block: 1px solid var(--color-border-light);
}

.kontakt-details__register > * {
  min-width: 0;
  width: 100%;
}

.kontakt-detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border-inline-start: 1px solid var(--color-border-light);
}

.kontakt-detail:first-child {
  border-inline-start: 0;
}

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

.kontakt-detail h3 {
  font-size: var(--text-h4);
}

.kontakt-detail__label {
  color: var(--color-moss-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.kontakt-detail__value,
.kontakt-detail__address {
  min-height: 2.75rem;
  color: var(--color-ink-deep);
  font-size: clamp(1.0625rem, 1.8vw, 1.25rem);
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.kontakt-detail__value {
  display: inline-flex;
  align-items: center;
}

.kontakt-writing__intro {
  max-width: 38.75rem;
  margin-block-end: var(--space-7);
}

.kontakt-writing__intro .lead {
  max-width: 38.75rem;
}

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

.kontakt-writing__grid > * {
  min-width: 0;
  width: 100%;
}

.kontakt-tip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border-light);
  background: var(--color-parchment-light);
}

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

.kontakt-tip h3 {
  font-size: var(--text-h4);
}

.kontakt-tip__number {
  color: var(--color-bronze-oxidised);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-small);
}

.kontakt-inline-label {
  display: inline;
  color: #6c512d;
  font-size: 0.84em;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.kontakt-inline-label--fact {
  color: #3e4b39;
}

.kontakt-standard__layout {
  display: grid;
  grid-template-columns: minmax(0, 11.25rem) minmax(0, 43.75rem);
  align-items: start;
  min-width: 0;
  gap: var(--space-5);
}

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

.kontakt-standard__margin {
  width: 100%;
  padding-block-start: var(--space-2);
}

.kontakt-standard__margin .map-label {
  color: var(--color-stone-grey);
}

.maze-line--short {
  width: 100%;
  height: 6rem;
}

.maze-line--short::before {
  top: var(--space-3);
  left: 0;
  width: 70%;
  height: 4.5rem;
  border-width: 1px 0 0 1px;
}

.maze-line--short::after {
  right: 0;
  bottom: 0;
  width: 55%;
  height: 2.75rem;
  border-width: 0 1px 1px 0;
}

.maze-line--short span {
  right: 45%;
  top: 2.7rem;
  width: 1px;
  height: 2.2rem;
  border-width: 0 0 0 1px;
}

.maze-line--short i {
  right: calc(45% - 0.22rem);
  bottom: 0.08rem;
}

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

.kontakt-standard__content > * {
  min-width: 0;
  width: 100%;
  margin: 0;
}

.kontakt-standard__content > h2 {
  margin-block-end: var(--space-2);
}

.kontakt-standard-entry {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-bronze-oxidised);
}

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

.kontakt-standard-entry h3 {
  font-size: var(--text-h4);
}

.kontakt-standard-entry__label {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.kontakt-standard-entry--fact {
  border-inline-start-color: var(--color-moss-muted);
  background: color-mix(in srgb, var(--color-moss-muted) 34%, var(--color-charcoal-surface));
  color: var(--color-parchment-light);
}

.kontakt-standard-entry--fact .kontakt-standard-entry__label {
  color: var(--color-parchment-light);
}

.kontakt-standard-entry--editorial {
  background: var(--color-parchment);
  color: var(--color-ink-deep);
}

.kontakt-standard-entry--editorial .kontakt-standard-entry__label {
  color: #6c512d;
}

.kontakt-standard-entry--caution {
  max-width: 31.25rem;
  background: var(--color-charcoal-surface);
  color: var(--color-stone-light);
}

.kontakt-standard-entry--caution .kontakt-standard-entry__label {
  color: var(--color-bronze-oxidised);
}

.kontakt-reading__intro {
  max-width: 38.75rem;
  margin-block-end: var(--space-6);
}

.kontakt-reading__intro .lead {
  max-width: 38.75rem;
}

.kontakt-reading__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  max-width: 47.5rem;
  border-block-start: 1px solid var(--color-border-light);
}

.kontakt-reading__list > * {
  min-width: 0;
  width: 100%;
}

.kontakt-reading-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5) 0;
  border-block-end: 1px solid var(--color-border-light);
}

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

.kontakt-reading-item h3 {
  font-size: var(--text-h4);
}

.kontakt-reading-item > a,
.kontakt-reading-item__links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-weight: 700;
}

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

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

.kontakt-closing__layout {
  display: grid;
  grid-template-columns: minmax(0, 43.75rem) minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
}

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

.kontakt-closing__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 43.75rem;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border-bronze);
  background: var(--color-charcoal-surface);
}

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

.kontakt-closing__panel h2 {
  font-size: var(--text-h3);
}

.kontakt-closing__maze {
  min-height: 16rem;
}

.maze-line--closing::before {
  top: 3rem;
  left: 20%;
  width: 55%;
  height: 8.5rem;
  border-width: 1px 1px 0 0;
}

.maze-line--closing::after {
  right: 8%;
  bottom: 2.5rem;
  width: 35%;
  height: 5rem;
  border-width: 0 0 1px 1px;
}

.maze-line--closing span:first-child {
  top: 7.2rem;
  left: 5%;
  width: 18%;
  height: 1px;
  border-width: 1px 0 0;
}

.maze-line--closing span:nth-child(2) {
  top: 10.5rem;
  left: 48%;
  width: 1px;
  height: 3.8rem;
  border-width: 0 0 0 1px;
}

.maze-line--closing i {
  right: 7.7%;
  bottom: 2.25rem;
}

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

  .kontakt-catalog-card--service {
    grid-column: 1 / -1;
  }
}

@media (max-width: 65.5625rem) {
  .kontakt-details__register {
    grid-template-columns: minmax(0, 1fr);
  }

  .kontakt-detail {
    border-inline-start: 0;
    border-block-start: 1px solid var(--color-border-light);
  }

  .kontakt-detail:first-child {
    border-block-start: 0;
  }
}

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

  .kontakt-standard__margin {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: 0;
  }

  .kontakt-standard__margin .map-label {
    flex: 0 0 auto;
    margin: 0;
  }

  .maze-line--short {
    flex: 1 1 auto;
    height: 2.5rem;
  }

  .maze-line--short::before {
    top: 0.75rem;
    width: 55%;
    height: 1.5rem;
  }

  .maze-line--short::after {
    bottom: 0;
    width: 32%;
    height: 1rem;
  }

  .maze-line--short span {
    top: 1.2rem;
    height: 1.2rem;
  }

  .maze-line--short i {
    bottom: -0.15rem;
  }
}

@media (max-width: 56.1875rem) {
  .kontakt-hero__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .kontakt-hero__maze {
    width: 100%;
    min-height: 4rem;
    margin-block-start: var(--space-4);
  }

  .kontakt-hero__maze::before {
    top: 0;
    right: 8%;
    width: 28%;
    height: 2.5rem;
  }

  .kontakt-hero__maze::after {
    right: 36%;
    bottom: 0;
    width: 16%;
    height: 1.7rem;
  }

  .kontakt-hero__maze span:first-child {
    right: 36%;
    bottom: 1.65rem;
    width: 24%;
  }

  .kontakt-hero__maze span:nth-child(2) {
    display: none;
  }

  .kontakt-hero__maze i {
    right: calc(36% - 0.22rem);
    bottom: -0.22rem;
  }

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

  .kontakt-closing__maze {
    min-height: 4rem;
  }

  .maze-line--closing::before {
    top: 0.5rem;
    left: 40%;
    width: 36%;
    height: 2.6rem;
  }

  .maze-line--closing::after {
    right: 9%;
    bottom: 0;
    width: 22%;
    height: 1.4rem;
  }

  .maze-line--closing span:first-child,
  .maze-line--closing span:nth-child(2) {
    display: none;
  }

  .maze-line--closing i {
    right: 8.7%;
    bottom: -0.2rem;
  }
}

@media (max-width: 51.1875rem) {
  .kontakt-boundaries__grid,
  .kontakt-writing__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 47.5rem) {
  .kontakt-hero__content {
    gap: var(--space-3);
  }

  .kontakt-hero__content h1 {
    font-size: clamp(2.375rem, 10vw, 3.5rem);
  }

  .kontakt-scope__intro,
  .kontakt-boundaries__heading,
  .kontakt-details__intro,
  .kontakt-writing__intro {
    margin-block-end: var(--space-6);
  }

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

  .kontakt-catalog-card--service {
    grid-column: auto;
  }

  .kontakt-catalog-card,
  .kontakt-boundary,
  .kontakt-tip,
  .kontakt-standard-entry,
  .kontakt-closing__panel {
    padding: var(--space-4);
  }

  .kontakt-play-note {
    flex-direction: column;
    align-items: flex-start;
  }

  .kontakt-play-note .play-badge {
    min-height: 2.75rem;
  }

  .kontakt-detail {
    padding: var(--space-4) 0;
  }

  .kontakt-standard__content {
    gap: var(--space-4);
  }

  .kontakt-standard-entry--caution {
    max-width: none;
  }

  .kontakt-reading-item {
    padding-block: var(--space-4);
  }
}

@media (max-width: 22.5rem) {
  .kontakt-play-note .play-badge {
    width: 100%;
  }

  .kontakt-reading-item__links {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .maze-line {
    opacity: 1;
    transition: none;
  }
}
