
.impressum-main {
  display: block !important;
  padding: 72px 0 96px;
}

.impressum-content h1 {
  max-width: 10ch;
  margin: 0 0 34px;
  font-family: var(--en-font);
  font-size: clamp(3rem, 7vw, 5.8rem);
  font-weight: 600;
  line-height: 0.96;
  letter-spacing: -0.04em;
  color: var(--paper);
}

.impressum-content h1 span {
  color: var(--vermillion);
}

.impressum-card {
  margin-top: 28px;
  padding: 34px;
  background: var(--ink-soft);
  border: 1px solid rgba(127, 127, 127, 0.22);
  border-left: 2px solid var(--vermillion);
}

.impressum-section+.impressum-section {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(127, 127, 127, 0.16);
}

.impressum-section h2 {
  margin: 0 0 16px;
  font-family: var(--en-font);
  font-size: clamp(1.35rem, 2.4vw, 2.15rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--paper);
}

.impressum-address,
.impressum-section p {
  max-width: 760px;
  margin: 0;
  font-family: var(--en-font);
  font-size: 1.12rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--paper-dim);
}

.impressum-address {
  font-style: normal;
}

.impressum-section p+p {
  margin-top: 8px;
}

.impressum-section a {
  color: var(--paper);
  text-decoration: none;
  border-bottom: 1px solid var(--vermillion);
}

.impressum-section a:hover,
.impressum-section a:focus-visible {
  color: var(--vermillion);
  border-color: currentColor;
}

.placeholder {
  font-weight: 400;
}

@media (max-width: 720px) {
  .impressum-main {
    padding: 56px 0 72px;
  }

  .impressum-card {
    padding: 22px;
  }

  .impressum-address,
  .impressum-section p {
    font-size: 1.02rem;
  }
}