/* Typografische und editoriale Verfeinerung nach den gelieferten Entwürfen. */
body.pd-site {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(16px, .96vw, 18px);
  line-height: 1.58;
  letter-spacing: -.008em;
}

.pd-site h1,
.pd-site h2,
.pd-site h3 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.pd-site h1 { font-size: clamp(3.75rem, 6.25vw, 7.25rem); line-height: .96; }
.pd-site h2 { font-size: clamp(2.75rem, 4.6vw, 5.6rem); line-height: 1.02; }
.pd-site h3 { letter-spacing: -.025em; line-height: 1.12; }
.pd-eyebrow { margin-bottom: 1.8rem; letter-spacing: .19em; }
.pd-lead { line-height: 1.48; margin: 2.3rem 0; }
.pd-section { padding-block: clamp(5.5rem, 8vw, 9rem); }
.pd-hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr); gap: clamp(2rem, 4vw, 6rem); padding-block: clamp(5rem, 7vw, 8rem); }
.pd-hero-grid > div:first-child { max-width: 980px; }
.pd-mark { font-family: Arial Black, "Helvetica Neue", Arial, sans-serif; font-weight: 900; transform: translateX(0); }
.pd-services { margin-top: clamp(3.5rem, 5vw, 6rem); }
.pd-services article { padding-top: 2.8rem; }
.pd-project-grid { margin-top: clamp(3.5rem, 5vw, 6rem); row-gap: clamp(3.5rem, 5vw, 6rem); }

/* Referenzübersicht jetzt bewusst in Originalfarbe. */
.pd-project-image img,
.pd-project-card a:hover img { filter: none; }

/* Projektdetails: kompakter Portfolioaufbau statt übergroßer Einzelbilder. */
.pd-project-hero { padding: clamp(4rem, 7vw, 8rem) 0; }
.pd-project-intro-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.pd-project-intro .pd-eyebrow { margin-top: clamp(3rem, 5vw, 5rem); }
.pd-project-intro h1 { font-size: clamp(3.6rem, 5.5vw, 6.4rem); }
.pd-project-cover { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #f1f1f1; }
.pd-project-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-project-content { padding-top: clamp(4rem, 6vw, 7rem); }
.pd-project-copy { max-width: 1180px; margin-bottom: clamp(4rem, 7vw, 8rem); }
.pd-gallery { max-width: 1480px; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1rem, 1.8vw, 2rem); align-items: start; }
.pd-gallery figure { grid-column: span 6; aspect-ratio: 4 / 3; overflow: hidden; background: #f1f1f1; }
.pd-gallery figure:nth-child(5n + 1) { grid-column: span 7; }
.pd-gallery figure:nth-child(5n + 2) { grid-column: span 5; aspect-ratio: 1 / 1; }
.pd-gallery figure:nth-child(5n + 3) { grid-column: 2 / span 5; }
.pd-gallery figure:nth-child(5n + 4) { grid-column: span 6; }
.pd-gallery figure:nth-child(5n + 5) { grid-column: 4 / span 6; }
.pd-gallery img { width: 100%; height: 100%; max-height: none; object-fit: cover; }

@media (max-width: 1024px) {
  .pd-site h1 { font-size: clamp(3.25rem, 7.4vw, 5.2rem); }
  .pd-project-intro-grid { grid-template-columns: 1fr 1fr; gap: 3rem; }
}

@media (max-width: 760px) {
  .pd-site h1, .pd-site h2 { font-size: clamp(2.45rem, 10.5vw, 3.35rem); line-height: .98; overflow-wrap: normal; }
  .pd-section { padding-block: 5rem; }
  .pd-hero-grid { padding-block: 4.5rem 2.5rem; gap: 2.5rem; }
  .pd-mark { font-size: 54vw; }
  .pd-project-intro-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .pd-project-intro h1 { font-size: clamp(2.7rem, 12vw, 3.8rem); }
  .pd-project-cover { aspect-ratio: 4 / 3; }
  .pd-gallery { grid-template-columns: 1fr; gap: 1.25rem; }
  .pd-gallery figure,
  .pd-gallery figure:nth-child(n) { grid-column: auto; aspect-ratio: 4 / 3; }
}
