.elementor-65 .elementor-element.elementor-element-51d9aa2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-8c3a6c8 *//* =================================================================
   TOP-PHYSIO NRW · UNSER TEAM CSS
   =================================================================
   ELEMENTOR: Site Settings → Custom CSS (an Header/Footer anhängen)
   Nutzt .tpn-container-wide und .tpn-btn / .tpn-btn-primary weiter.
   Markengrün #008c45 · Prefix .tpn-team- · icon-frei
   ================================================================= */

.tpn-team { font-family: 'Manrope', -apple-system, system-ui, sans-serif; color: #3b3b3b; background-color: #ffffff; }
.tpn-team *, .tpn-team *::before { box-sizing: border-box; }
.tpn-team .tpn-team-eyebrow {
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: #008c45; line-height: 1.3; margin: 0 0 12px;
}
.tpn-btn-ghost { background: transparent; color: #00733a; border-color: #cde9d7; }
.tpn-btn-ghost:hover { background: #ecf7f0; border-color: #008c45; color: #005c2f; }

/* ── HERO (zentriert) ── */
.tpn-team-hero { background: linear-gradient(180deg, #f3f8f5 0%, #ffffff 100%); padding: 60px 0 40px; text-align: center; }
.tpn-team-hero h1 {
  font-family: 'Fraunces', 'Georgia', serif; font-weight: 700;
  font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.15; margin: 0 0 16px; color: #1f2a24; max-width: 900px; margin-inline: auto;
}
.tpn-team-hero p { max-width: 760px; margin: 0 auto; font-size: 1.06rem; line-height: 1.7; color: #5b6168; }

/* ── SECTION ── */
.tpn-team-section { padding: 60px 0; }
.tpn-team-section.alt { background: #f5f7f5; }
.tpn-team-head { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.tpn-team-head h2 {
  font-family: 'Fraunces', 'Georgia', serif; font-weight: 700;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem); line-height: 1.2; margin: 0 0 14px; color: #1f2a24;
}
.tpn-team-head p { font-size: 1.02rem; line-height: 1.7; color: #5b6168; margin: 0; }

/* ── TEAM-GRID ── */
.tpn-team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tpn-team-card {
  background: #fff; border: 1px solid #e8ece9; border-radius: 18px; overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
}
.tpn-team-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(0, 92, 47, 0.12); }
.tpn-team-photo {
  aspect-ratio: 4 / 5; background: linear-gradient(135deg, #008c45 0%, #00733a 100%);
  overflow: hidden; display: grid; place-items: center;
}
.tpn-team-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tpn-team-mono { color: #fff; font-family: 'Fraunces', 'Georgia', serif; font-weight: 700; font-size: 2.8rem; letter-spacing: 0.04em; }
.tpn-team-card-body { padding: 18px 20px 22px; text-align: center; }
.tpn-team-card h3 { font-size: 1.12rem; font-weight: 700; color: #1f2a24; margin: 0 0 4px; }
.tpn-team-role { font-size: 0.85rem; font-weight: 600; color: #008c45; }

/* ── WERTE-CHIPS ── */
.tpn-team-values { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 0 0 28px; }
.tpn-team-values span {
  background: #dcefe3; color: #00733a; border-radius: 999px; padding: 9px 18px; font-weight: 700; font-size: 0.92rem;
}
.tpn-team-culture { max-width: 760px; margin: 0 auto; text-align: center; font-size: 1.02rem; line-height: 1.75; color: #2f3733; }

/* ── ANSPRECHPARTNER ── */
.tpn-team-contacts { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0 0 22px; }
.tpn-team-contacts span {
  background: #fff; border: 1px solid #e0e4e1; border-radius: 999px; padding: 9px 18px; font-weight: 600; font-size: 0.92rem; color: #1f2a24;
}
.tpn-team-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* ── CTA-BAND ── */
.tpn-team-cta { background: linear-gradient(135deg, #008c45 0%, #00733a 100%); color: #fff; text-align: center; padding: 56px 0; }
.tpn-team-cta h2 { font-family: 'Fraunces', 'Georgia', serif; font-weight: 700; font-size: clamp(1.6rem, 3.2vw, 2.1rem); margin: 0 0 12px; }
.tpn-team-cta p { font-size: 1.05rem; opacity: 0.92; margin: 0 0 26px; }
.tpn-team-cta .tpn-btn { background: #fff; color: #00733a; border-color: #fff; }
.tpn-team-cta .tpn-btn:hover { background: #eef7f1; color: #005c2f; border-color: #eef7f1; transform: translateY(-2px); }
.tpn-team-cta .tpn-btn-line { background: transparent; color: #fff; border-color: rgba(255,255,255,0.6); }
.tpn-team-cta .tpn-btn-line:hover { background: rgba(255,255,255,0.12); border-color: #fff; color: #fff; }

/* ── RESPONSIVE ── */
@media (max-width: 980px) { .tpn-team-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) {
  .tpn-team-grid { grid-template-columns: 1fr; }
  .tpn-team-section { padding: 44px 0; }
  .tpn-team-hero { padding: 40px 0 32px; }
}/* End custom CSS */