.de-home .hero-studio h1 {
  font-size: 45px;
  max-width: 760px;
  text-wrap: balance;
}
.de-home .hero-studio .hero-offer {
  max-width: 375px;
}
.de-home .market-facts h3 {
  font-variant-numeric: tabular-nums;
  min-height: 66px;
}
.de-home .journal-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.de-home .journal-item {
  grid-column: span 2;
}
.de-home .journal-item:nth-child(n+4) {
  grid-column: span 3;
}
.sources {
  border-top: 1px solid var(--line);
}
.sources h2 {
  margin-top: 17px;
  max-width: 680px;
}
.source-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin-top: 46px;
}
.source-grid a {
  display: grid;
  align-content: start;
  gap: 13px;
  min-width: 0;
  padding: 22px 0 4px;
  border-top: 1px solid var(--line);
}
.source-grid a:hover {
  border-color: #668774;
}
.source-grid strong {
  font-size: 14px;
  font-weight: 600;
}
.source-grid span,
.source-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}
.source-note {
  max-width: 760px;
  margin-top: 36px;
}
.de-page .article-hero > h1 {
  max-width: 980px;
  text-wrap: balance;
}
.de-page .article-body section h2 {
  text-wrap: balance;
}
.de-page .related a {
  line-height: 1.55;
}
.de-page .article-aside .eyebrow {
  letter-spacing: 0;
}

/* Keep a deliberate photographic signature in the German enquiry flow. */
@media (max-width: 800px) {
  .de-home .lead-dialog,
  .de-page .lead-dialog {
    width: min(720px, calc(100vw - 32px));
  }
  .de-home .lead-dialog .dialog-layout,
  .de-page .lead-dialog .dialog-layout {
    display: flex;
    flex-direction: column;
    max-height: calc(100svh - 32px);
  }
  .de-home .dialog-photo,
  .de-page .dialog-photo {
    display: block;
    flex: 0 0 118px;
    min-height: 118px;
  }
  .de-home .dialog-photo::after,
  .de-page .dialog-photo::after {
    background: linear-gradient(90deg, rgba(8, 17, 12, .76), rgba(8, 17, 12, .08) 72%);
  }
  .de-home .dialog-photo > img,
  .de-page .dialog-photo > img {
    object-position: center 58%;
  }
  .de-home .dialog-photo > div,
  .de-page .dialog-photo > div {
    min-height: 0;
    padding: 18px 24px;
  }
  .de-home .dialog-photo p,
  .de-page .dialog-photo p {
    display: none;
  }
  .de-home .dialog-content,
  .de-page .dialog-content {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    padding: 34px 42px 28px;
  }
}

@media (min-width: 901px) and (max-width: 1200px) {
  .de-home .hero-studio h1 {
    font-size: 38px;
  }
  .de-home .hero-studio .hero-content {
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .9fr);
  }
}
@media (max-width: 900px) {
  .de-home .hero-studio h1 {
    font-size: 34px;
  }
  .de-home .journal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .de-home .journal-item,
  .de-home .journal-item:nth-child(n+4) {
    grid-column: span 1;
  }
  .de-home .journal-item:last-child {
    grid-column: 1 / -1;
  }
  .source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .source-grid a:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 650px) {
  .de-home .hero-studio .hero-content {
    grid-template-columns: minmax(0, 1fr);
  }
  .de-home .hero-studio h1 {
    font-size: 33px;
  }
  .de-home .journal-grid,
  .source-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .de-home .journal-item,
  .de-home .journal-item:nth-child(n+4),
  .de-home .journal-item:last-child,
  .source-grid a:last-child {
    grid-column: auto;
  }
  .de-home .journal-item h3 {
    min-height: 0;
  }
}
@media (max-width: 540px) {
  .de-home .lead-dialog,
  .de-page .lead-dialog {
    width: calc(100vw - 24px);
    max-height: calc(100svh - 24px);
  }
  .de-home .lead-dialog .dialog-layout,
  .de-page .lead-dialog .dialog-layout {
    max-height: calc(100svh - 24px);
  }
  .de-home .dialog-photo,
  .de-page .dialog-photo {
    flex-basis: 82px;
    min-height: 82px;
  }
  .de-home .dialog-photo > div,
  .de-page .dialog-photo > div {
    padding: 13px 18px;
  }
  .de-home .dialog-photo > div > span,
  .de-page .dialog-photo > div > span {
    font-size: 7px;
  }
  .de-home .dialog-content,
  .de-page .dialog-content {
    padding: 30px 25px 22px;
  }
  .de-home .form-progress,
  .de-page .form-progress {
    margin-bottom: 20px;
  }
  .de-home .form-header h2,
  .de-page .form-header h2 {
    font-size: 28px;
  }
  .de-home .form-header p,
  .de-page .form-header p {
    margin-bottom: 20px;
  }
  .de-home #lead-form label:not(.consent),
  .de-page #lead-form label:not(.consent) {
    margin-top: 14px;
  }
  .de-home .hero-studio h1 {
    font-size: 30px;
    overflow-wrap: anywhere;
  }
  .de-home .hero-studio .hero-kicker {
    font-size: 8px;
  }
  .de-home .market-facts h3 {
    min-height: 0;
  }
  .sources h2 {
    font-size: 30px;
  }
  .source-grid {
    gap: 26px;
    margin-top: 32px;
  }
  .source-note {
    margin-top: 28px;
  }
}
