/* Ruhige Typografie und Abstände nach dem Entfernen dekorativer Labels. */
.photo-frame {
  position: relative;
  overflow: hidden;
  margin: 0;
  border-radius: var(--radius);
  background: #171d22;
}
.site-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-media { border: 0; }
.hero-media .site-photo { object-position: 50% 48%; }
.about-media .site-photo { object-position: 58% 50%; }
.work-card:first-child .site-photo { object-position: 50% 52%; }
.home-service { grid-template-columns: 1fr 28px; }
.hero-footnote { font-size: 12px; letter-spacing: 0; color: #9aa6b0; }
.image-note { font-size: 12px; line-height: 1.8; color: var(--muted); margin-top: 25px; }
.all-tags { font-size: 13px; }
.footer-service-links a, .footer-links > a { font-size: 12px; }
.service-heading .service-title { line-height: 1.25; }
.hero {
  padding-top: 28px;
  padding-bottom: 50px;
  min-height: 650px;
}
.hero-copy { padding-block: 12px; }
.hero .hero-context {
  color: var(--muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 26px;
}
.hero-footnote { margin-top: 36px; }
.page-intro {
  padding-top: 46px;
  padding-bottom: 48px;
}
.page-about, .page-contact, .legal-page { padding-top: 46px; }
.section-heading { margin-bottom: 40px; }
.home-overview {
  padding-top: 68px;
  padding-bottom: 68px;
}
.home-about {
  padding-block: 52px;
  margin-top: 68px;
}
.service-heading {
  grid-template-columns: 1fr;
  gap: 0;
  padding-block: 26px 18px;
}
.service-index-page .service-body {
  padding: 0 0 30px;
  gap: 22px 60px;
}
.service-index-page .service-detail-link { margin-top: 0; }
/* Auch beim Sprachwechsel bleibt die Leistungsübersicht ohne Schmucklabels. */
.service-index-page .service-index,
.service-index-page .service-note { display: none; }
.contact-detail { gap: 0; }
.production-line {
  margin-top: 40px;
  padding-block: 30px;
}
.production-line h3 { margin-top: 0; }
.footer-directory { padding-block: 30px; }
.page-cta { margin-block: 68px; }

@media (max-width: 1000px) {
  .hero { min-height: 580px; }
}
@media (max-width: 720px) {
  .hero {
    padding-top: 18px;
    padding-bottom: 30px;
    min-height: 0;
  }
  .hero-copy { padding-block: 8px 0; }
  .hero .hero-context {
    font-size: 13px;
    margin-bottom: 22px;
  }
  .hero-footnote { margin-top: 26px; }
  .page-intro {
    padding-top: 32px;
    padding-bottom: 32px;
  }
  .page-about, .page-contact, .legal-page { padding-top: 32px; }
  .section-heading { margin-bottom: 30px; }
  .home-overview {
    padding-top: 48px;
    padding-bottom: 45px;
  }
  .home-about {
    padding-block: 36px;
    margin-top: 45px;
  }
  .service-heading { padding-block: 22px 14px; }
  .service-index-page .service-body {
    padding: 0 0 26px;
    gap: 16px;
  }
  .production-line {
    margin-top: 30px;
    padding-block: 26px;
  }
  .footer-directory { padding-block: 26px; }
  .page-cta { margin-block: 50px; }
}
