.cb-gtk-ueber-mich{.wrap { max-width: 1100px; margin: 0 auto; padding-inline: 20px; box-sizing: content-box; }
.raster { display: grid; gap: 40px; padding-top: 64px; padding-bottom: 64px; }
.person { display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
.foto { flex-shrink: 0; width: 160px; height: 192px; overflow: hidden; border-radius: 12px; box-shadow: 0 0 0 4px rgb(255 255 255 / 0.8), 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); }
.foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.text { display: flex; flex-direction: column; justify-content: center; }
.ueberzeile { display: block; margin-bottom: 12px; color: var(--secondary); font-family: var(--font-heading); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; }
h2 { margin: 0 0 16px; font-family: var(--font-heading); font-size: 1.875rem; font-weight: 700; line-height: 1.25; color: #0f172a; text-wrap: balance; }
.absaetze { color: #475569; font-size: 0.95rem; line-height: 1.625; text-wrap: pretty; }
.absaetze p { margin: 0; }
.absaetze p + p { margin-top: 12px; }
.karte { background: #fff; border: 1px solid #e2e8f0; border-radius: 4px; padding: 24px; box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); text-align: left; }
h3 { margin: 0 0 20px; font-family: var(--font-heading); font-size: 1rem; font-weight: 600; color: #0f172a; }
ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; font-size: 0.875rem; color: #475569; }
a { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; font-variant-numeric: tabular-nums; transition: color 0.2s; }
a:hover { color: var(--secondary); }
.sym { width: 16px; height: 16px; flex-shrink: 0; color: var(--secondary); }
.adresse { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid #f1f5f9; color: #94a3b8; font-size: 0.75rem; line-height: 1.625; }
@media (width >= 640px) {
  .person { flex-direction: row; align-items: stretch; gap: 32px; text-align: left; }
  .foto { width: 192px; height: auto; aspect-ratio: 3 / 4; align-self: flex-start; }
}
@media (width >= 768px) {
  .raster { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 64px; padding-top: 96px; padding-bottom: 96px; }
  .foto { width: 224px; }
  h2 { font-size: 2.25rem; }
  .karte { padding: 28px; }
}}