/* Unternehmensinformationen: ohne externe Dienste oder zusätzliche Animationen. */
.services .service > div { min-width: 0; }
.services .service h3 { overflow-wrap: anywhere; hyphens: auto; }
.company-about {
  padding: clamp(64px, 8vw, 112px) 0;
  background: linear-gradient(125deg, #ded0bb, #d3bfa2 60%, #c4ac88);
  color: #29261f;
}
.company-about-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: clamp(32px, 6vw, 88px); }
.company-about h2, .company-contact-main h1 { margin: 0; font-size: clamp(36px, 4.5vw, 64px); font-weight: 600; line-height: 1.06; letter-spacing: -.055em; }
.company-about-copy > p:not(.section-tag) { max-width: 600px; color: #4b4235; font-size: 15px; line-height: 1.75; margin: 20px 0 0; }
.company-about-copy > .company-intro { font-size: 18px; color: #29261f; }
.company-about-copy .button { margin-top: 28px; }
.company-id-card { min-width: 0; padding: clamp(24px, 3.5vw, 42px); background: #e6dac8; border: 1px solid #f5ecdf; border-radius: 28px; box-shadow: 0 20px 60px #49321b12; }
.company-card-label { color: #5d503c; font-size: 10px; font-weight: 600; letter-spacing: .08em; }
.company-monogram { position: relative; width: 76px; height: 76px; overflow: hidden; margin: 30px 0 18px; }
.company-monogram img { position: absolute; width: 510%; height: auto; max-width: none; left: -33%; top: -35.5%; }
.company-id-card h3 { margin: 0; font-size: 28px; font-weight: 600; letter-spacing: -.035em; }
.company-id-card > p { color: #594e3e; font-size: 13px; line-height: 1.65; }
.company-facts { margin: 28px 0 0; }
.company-facts > div { padding: 14px 0; border-top: 1px solid #6a543726; }
.company-facts dt { color: #594e3e; font-size: 11px; margin-bottom: 6px; }
.company-facts dd { margin: 0; font-size: 14px; font-weight: 550; }
.company-id-card > .company-card-note { margin: 18px 0 0; font-size: 12px; }
.company-about-copy > .company-personal-note { padding-left: 18px; border-left: 2px solid #80603a; color: #3e3427; }
.company-id-card.company-id-card--portrait { padding: 0; overflow: hidden; width: 100%; max-width: 300px; justify-self: center; background: #eee5d7; }
.company-portrait { display: block; width: 100%; height: auto; background: #e6e7e5; }
.company-profile-body { padding: 22px 24px 24px; }
.company-profile-body h3 { margin: 14px 0 8px; }
.company-profile-body > p { color: #594e3e; font-size: 13px; line-height: 1.65; margin: 0; }
.company-profile-location { display: flex; flex-wrap: wrap; gap: 6px 20px; border-top: 1px solid #6a543726; margin-top: 20px; padding-top: 16px; color: #594e3e; font-size: 11px; line-height: 1.6; }
.care-example-brief { margin: 28px 0; border: 1px solid #b59d7859; border-radius: 18px; background: #efe6d8; color: #29261f; }
.care-example-brief summary { cursor: pointer; padding: 20px 24px; font-size: 15px; font-weight: 550; line-height: 1.6; }
.care-example-brief > div { padding: 0 24px 24px; }
.care-example-brief p { max-width: 870px; font-size: 14px; line-height: 1.8; color: #514735; margin: 0 0 14px; }
.care-example-brief a { display: inline-flex; min-height: 44px; align-items: center; gap: 12px; text-decoration: underline; text-underline-offset: 4px; font-size: 13px; color: #624821; }
.care-example-brief :focus-visible { outline: 3px solid #75572f; outline-offset: 4px; }
.company-contact-note { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 44px; }
.company-contact-note p { margin: 0; color: #d8cdbc; font-size: 12px; line-height: 1.8; }
.company-contact-note strong { color: #f4ebdd; font-weight: 500; }
.company-contact-note a { flex: 0 0 auto; color: #f4ebdd; padding: 12px 0; border-bottom: 1px solid #aa9676; font-size: 13px; }
.company-contact-note a:focus-visible { outline-color: #e5d2ad; }

/* Eigene, statische Kontaktseite. Alle Angaben bleiben ohne JavaScript sichtbar. */
.company-contact-page { min-height: 100vh; background: linear-gradient(125deg, #e5d9c6, #d2ba96); }
.company-header { border-bottom: 1px solid #59483026; }
.company-header-nav { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 16px; }
.company-header-back { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; border-bottom: 1px solid #6a543750; }
.company-contact-main { padding-top: clamp(48px, 7vw, 88px); padding-bottom: 72px; }
.company-contact-main > .section-tag { color: #58472f; }
.company-contact-lead { max-width: 720px; margin: 24px 0 36px; color: #4b4235; font-size: 17px; line-height: 1.7; }
.company-contact-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 24px; }
.company-direct-card, .company-address-card { min-width: 0; padding: clamp(24px, 3.5vw, 40px); border-radius: 26px; }
.company-direct-card { background: #282622; color: #f5eddf; }
.company-direct-card h2, .company-address-card h2 { margin: 0 0 25px; font-size: 23px; letter-spacing: -.025em; font-weight: 550; }
.company-direct-link { display: block; padding: 19px 0; border-bottom: 1px solid #dac6a530; }
.company-direct-link > span { display: block; color: #d8c8b2; font-size: 12px; margin-bottom: 9px; }
.company-direct-link > strong { display: block; font-size: clamp(17px, 2.2vw, 25px); font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.company-direct-link:hover strong { color: #e3c593; }
.company-direct-card a:focus-visible { outline-color: #f0d8b4; }
.company-direct-card > p { color: #d8c8b2; font-size: 13px; line-height: 1.75; margin: 22px 0 0; }
.company-address-card { background: #e8dcca; border: 1px solid #f5ecdf; }
.company-address-card address { color: #42392e; font-style: normal; font-size: 15px; line-height: 1.8; }
.company-address-card address strong { display: block; margin-bottom: 6px; font-weight: 550; }
.company-address-card > p { color: #51432f; margin: 22px 0 0; font-size: 13px; line-height: 1.7; }
.company-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 32px; }
.company-contact-actions > a:not(.button) { padding-block: 14px; font-size: 14px; border-bottom: 1px solid #6a543750; }
.company-contact-footnote { margin: 20px 0 0; color: #51432f; font-size: 12px; line-height: 1.7; }
.company-footer { border-top: 1px solid #59483026; padding: 28px 0; color: #4b4235; font-size: 12px; }
.company-footer .container { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; }
.company-footer p { margin: 0; }
.company-footer nav { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.company-footer a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  .company-about-grid, .company-contact-grid { grid-template-columns: minmax(0, 1fr); }
  .company-id-card { max-width: 620px; width: 100%; }
  .company-id-card.company-id-card--portrait { justify-self: start; max-width: 280px; }
}
@media (max-width: 600px) {
  .company-about-grid { gap: 32px; }
  .company-contact-note { align-items: flex-start; flex-direction: column; gap: 12px; }
  .company-header-nav { flex-wrap: wrap; gap: 10px 20px; }
  .company-about h2, .company-contact-main h1 { font-size: clamp(32px, 8.6vw, 46px); }
  .company-about-copy > .company-intro, .company-contact-lead { font-size: 16px; }
  .company-direct-card, .company-address-card, .company-id-card { padding: 24px; border-radius: 22px; }
}
