/* ================================================================
   Therapie Rückenwind – Sektions-Design-System
   Gemeinsame Bausteine für Startseite, Leistungs- und Standortseiten.
   Werte 1:1 aus dem Claude-Design; JS-Breakpoints → Media Queries (900px).
   ================================================================ */

.rw-section { padding-block: clamp(48px,6vw,84px); position: relative; }
.rw-section--white { background:#fff; }
.rw-section--soft  { background: var(--rw-bg-soft); }
.rw-section--sand  { background:#f7f5f1; }
.rw-section--mint  { background:#e8f3f0; }
.rw-section--navy  { background:#0f2f3c; color:#fff; }
.rw-section--navy .rw-h2 { color:#fff; }

.rw-eyebrow { font-weight:700; letter-spacing:.12em; font-size:13px; color:var(--rw-teal); text-transform:uppercase; margin-bottom:14px; }
.rw-h2 { font-family:var(--rw-font-serif); font-weight:600; font-size:clamp(26px,3.2vw,38px); line-height:1.15; color:var(--rw-navy); margin:0; }
.rw-lead { font-size:16.5px; line-height:1.6; color:var(--rw-muted); margin:14px 0 0; }
.rw-section--navy .rw-lead { color:#c7d6d6; }
.rw-sec-head { max-width:720px; margin:0 auto 40px; text-align:center; }
.rw-sec-head--left { margin-left:0; text-align:left; }

/* Checkliste */
.rw-check { display:flex; gap:11px; align-items:flex-start; }
.rw-check span { color:var(--rw-ink-soft); font-size:15.5px; line-height:1.45; font-weight:500; }
.rw-check__ic { flex:none; margin-top:2px; }

/* HERO (Startseite / Standort) */
.rw-hero { position:relative; overflow:visible; background:#fff; }
.rw-hero__media { position:absolute; top:0; left:0; width:100%; height:clamp(600px,60vw,680px); z-index:0; object-fit:cover; }
.rw-hero__overlay { position:absolute; top:0; left:0; right:0; height:clamp(600px,60vw,680px); z-index:1; pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 30%,rgba(255,255,255,.55) 56%,rgba(255,255,255,.1) 84%,rgba(255,255,255,0) 100%); }
.rw-hero__inner { position:relative; z-index:2; padding-top: clamp(18px,2.4vw,30px); }
.rw-hero__grid { display:grid; grid-template-columns:1.3fr .8fr; gap:40px; align-items:start; min-height:560px; }
.rw-hero__left { max-width:560px; min-height:clamp(600px,60vw,680px); display:flex; flex-direction:column; justify-content:center; padding-top:36px; }
.rw-hero__eyebrow { display:inline-flex; align-items:center; gap:8px; font-weight:700; letter-spacing:.14em; font-size:13px; color:var(--rw-teal); text-transform:uppercase; margin-bottom:18px; }
.rw-hero h1 { font-family:var(--rw-font-serif); font-weight:600; font-size:clamp(23px,3.4vw,42px); line-height:1.1; color:var(--rw-navy); letter-spacing:-.5px; margin:0 0 10px; }
.rw-hero__sub { font-family:var(--rw-font-serif); font-weight:500; font-size:clamp(18px,2vw,24px); color:var(--rw-teal); margin:0 0 18px; }
.rw-hero__text { font-size:clamp(16px,1.6vw,18px); line-height:1.6; color:#516067; margin:0 0 26px; max-width:500px; }
.rw-hero__bullets { display:flex; flex-direction:column; gap:16px; }
.rw-hero__bullet { display:flex; gap:13px; align-items:flex-start; }
.rw-hero__bullet .t { font-weight:700; color:var(--rw-navy); font-size:16.5px; }
.rw-hero__bullet .d { color:var(--rw-muted); font-size:15px; line-height:1.5; }
.rw-hero__right { display:flex; justify-content:flex-end; align-items:flex-start; width:100%; }
.rw-hero__form { width:452px; max-width:100%; margin-top:265px; }

/* Trust-Bar */
.rw-trustbar { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; }
.rw-trust { padding:20px 22px; border-right:1px solid #eef2f2; }
.rw-trust:last-child { border-right:0; }
.rw-trust .t { font-weight:700; color:var(--rw-navy); font-size:16px; margin:12px 0 6px; }
.rw-trust .d { color:var(--rw-muted); font-size:14.5px; line-height:1.5; }

/* Vertrauens-Stat-Karten */
.rw-cards-3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; }
.rw-stat-card { background:#fff; border-radius:16px; padding:28px 26px; box-shadow:0 12px 34px -22px rgba(7,60,78,.3); }
.rw-stat-card .stat { font-family:var(--rw-font-serif); font-size:34px; font-weight:700; color:var(--rw-teal); line-height:1; }
.rw-stat-card .t { font-weight:700; color:var(--rw-navy); font-size:18px; margin:12px 0 8px; }
.rw-stat-card .d { color:var(--rw-muted); font-size:15px; line-height:1.55; }

/* Split (Text + Bild) */
.rw-split { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(32px,4vw,60px); align-items:center; }
.rw-split__media { border-radius:20px; overflow:hidden; min-height:380px; background:#e6eef0; }
.rw-split__media img { width:100%; height:100%; object-fit:cover; display:block; }
.rw-checkgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }

/* Leistungs-Kacheln */
.rw-tiles { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.rw-tile { background:rgba(255,255,255,.05); border-radius:16px; padding:22px 20px; display:block; text-decoration:none; transition:background .16s, transform .16s; }
.rw-tile:hover { background:rgba(255,255,255,.1); transform:translateY(-3px); }
.rw-tile__ic { width:44px; height:44px; border-radius:11px; background:rgba(13,142,135,.16); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.rw-tile .t { font-weight:700; color:#fff; font-size:16.5px; margin-bottom:6px; }
.rw-tile .d { color:#a9c4cc; font-size:14px; line-height:1.5; }
/* Leistungen-Layout: Körper-Silhouette links + 2-Spalten-Raster rechts */
.rw-leist-layout { display:grid; grid-template-columns:1fr 2fr; gap:44px; align-items:center; }
.rw-leist-figure { display:flex; justify-content:center; align-items:center; }
.rw-leist-figure img { max-width:100%; height:auto; max-height:500px; opacity:.9; }
.rw-leist-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:899px) {
  .rw-leist-layout { grid-template-columns:1fr; gap:24px; }
  .rw-leist-figure { max-height:260px; overflow:hidden; }
  .rw-leist-figure img { max-height:260px; }
}
@media (max-width:520px) { .rw-leist-grid { grid-template-columns:1fr; } }

/* Ablauf-Schritte */
.rw-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; }
.rw-step { background:#fff; border-radius:16px; padding:24px 22px; }
.rw-step__n { width:40px; height:40px; border-radius:11px; background:var(--rw-navy); color:#fff; font-family:var(--rw-font-serif); font-weight:700; font-size:19px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.rw-step .t { font-weight:700; color:var(--rw-navy); font-size:16.5px; margin-bottom:7px; }
.rw-step .d { color:var(--rw-muted); font-size:14.5px; line-height:1.55; }

/* Ablauf-Timeline (vertikal, animiert) */
.rw-timeline { max-width:720px; margin:0 auto; list-style:none; padding:0; position:relative; }
.rw-tl-step { display:flex; gap:22px; position:relative; padding-bottom:32px; }
.rw-tl-step:last-child { padding-bottom:0; }
.rw-tl-step::before { content:''; position:absolute; left:25px; top:54px; bottom:-2px; width:2px; background:rgba(13,142,135,.28); }
.rw-tl-step:last-child::before { display:none; }
.rw-tl-num { flex:none; width:52px; height:52px; border-radius:50%; background:var(--rw-navy); color:#fff; font-family:var(--rw-font-serif); font-weight:700; font-size:21px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px -8px rgba(7,60,78,.55); position:relative; z-index:1; }
.rw-tl-body { background:#fff; border-radius:14px; padding:18px 24px; flex:1; box-shadow:0 12px 34px -24px rgba(7,60,78,.4); }
.rw-tl-title { font-weight:700; color:var(--rw-navy); font-size:17px; margin-bottom:5px; }
.rw-tl-desc { color:var(--rw-muted); font-size:14.5px; line-height:1.55; }

/* Reveal-on-Scroll */
.rw-reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
.rw-reveal.is-in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .rw-reveal { opacity:1; transform:none; transition:none; } }

/* Kosten-Karten */
.rw-kosten { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:20px; }
.rw-kosten-card { background:var(--rw-bg-soft); border-radius:18px; padding:28px 26px; display:flex; flex-direction:column; }
.rw-kosten-card--featured { background:var(--rw-navy); box-shadow:0 20px 50px -22px rgba(7,60,78,.6); }
.rw-kosten-card__ic { width:58px; height:58px; border-radius:15px; background:rgba(13,142,135,.14); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.rw-kosten-card--featured .rw-kosten-card__ic { background:rgba(13,142,135,.18); }
.rw-kosten-card .t { font-weight:700; font-size:19px; color:var(--rw-navy); margin-bottom:8px; }
.rw-kosten-card .d { font-size:14.5px; line-height:1.55; color:var(--rw-muted); min-height:70px; margin-bottom:18px; }
.rw-kosten-card--featured .t { color:#fff; }
.rw-kosten-card--featured .d { color:#b4cdd4; }
.rw-kosten-card__points { display:flex; flex-direction:column; gap:10px; }
.rw-kosten-card__point { display:flex; gap:9px; align-items:flex-start; font-size:14.5px; line-height:1.45; color:var(--rw-ink-soft); }
.rw-kosten-card--featured .rw-kosten-card__point { color:#e4eef0; }
.rw-kosten-card__check { flex:none; margin-top:2px; }

/* Therapeuten-Karten */
.rw-therapists { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:22px; }
.rw-therapist { display:block; text-decoration:none; background:#fbfcfc; border-radius:18px; overflow:hidden; transition:.16s; }
.rw-therapist:hover { box-shadow:0 18px 40px -24px rgba(7,60,78,.4); transform:translateY(-3px); }
.rw-therapist__img { width:100%; height:250px; object-fit:cover; display:block; background:#e6eef0; }
.rw-therapist__body { padding:20px 20px 22px; }
.rw-therapist .name { font-weight:700; color:var(--rw-navy); font-size:18px; }
.rw-therapist .spec { color:var(--rw-teal); font-weight:600; font-size:14px; margin:3px 0 10px; }
.rw-therapist .line { color:var(--rw-muted); font-size:14px; line-height:1.5; }
.rw-sec-flexhead { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-bottom:36px; }
.rw-outline-btn { background:none; border:1.5px solid var(--rw-navy); color:var(--rw-navy); font-family:inherit; font-weight:600; font-size:15px; border-radius:10px; padding:12px 20px; cursor:pointer; white-space:nowrap; text-decoration:none; transition:.15s; display:inline-block; }
.rw-outline-btn:hover { background:var(--rw-navy); color:#fff; }

/* Testimonials */
.rw-quotes { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px; position:relative; z-index:1; }
.rw-quote { background:#fff; border-radius:18px; padding:26px 26px 24px; box-shadow:0 14px 40px -26px rgba(7,60,78,.35); display:flex; flex-direction:column; }
.rw-quote__stars { color:#f2b100; font-size:16px; letter-spacing:2px; margin-bottom:12px; }
.rw-quote__text { color:#3d4d54; font-size:15.5px; line-height:1.6; margin:0 0 18px; }
.rw-quote__person { display:flex; align-items:center; gap:12px; margin-top:auto; }
.rw-quote__avatar { width:44px; height:44px; border-radius:50%; background:var(--rw-teal); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:15px; }
.rw-quote__name { font-weight:700; color:var(--rw-navy); font-size:15px; }
.rw-quote__area { color:var(--rw-muted); font-size:13.5px; }

/* FAQ */
.rw-faqs { display:flex; flex-direction:column; gap:12px; max-width:820px; margin:0 auto; }
.rw-faq { border-radius:14px; overflow:hidden; background:#fbfcfc; }
.rw-faq__q { width:100%; background:none; border:none; cursor:pointer; padding:20px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; font-family:inherit; font-weight:700; color:var(--rw-navy); font-size:16.5px; }
.rw-faq__chev { display:flex; transition:transform .2s; flex:none; }
.rw-faq.is-open .rw-faq__chev { transform:rotate(180deg); }
.rw-faq__a { max-height:0; overflow:hidden; transition:max-height .25s ease; }
.rw-faq__a > div { padding:0 22px 22px; color:#516067; font-size:15.5px; line-height:1.6; }

/* Kontakt-CTA */
.rw-contact { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(32px,4vw,56px); align-items:center; }
.rw-contact h2 { color:#fff; margin:0 0 16px; }
.rw-contact__text { font-size:17px; line-height:1.6; color:#b4cdd4; margin:0 0 28px; }
.rw-contact__phone { display:inline-flex; align-items:center; gap:12px; text-decoration:none; margin-bottom:22px; }
.rw-contact__phone .ic { width:52px; height:52px; border-radius:50%; background:rgba(13,142,135,.16); display:flex; align-items:center; justify-content:center; flex:none; }
.rw-contact__phone .lbl { display:block; color:#8fb3bc; font-size:13px; }
.rw-contact__phone .num { display:block; color:#fff; font-weight:700; font-size:22px; font-family:var(--rw-font-serif); }
.rw-contact__meta { display:flex; flex-direction:column; gap:12px; color:#b4cdd4; font-size:15px; }
.rw-contact__meta div { display:flex; align-items:center; gap:10px; }

/* Responsive < 900px */
@media (max-width: 899px) {
  .rw-hero__grid { grid-template-columns:1fr; gap:28px; }
  .rw-hero__left { min-height:auto; padding-top:24px; }
  .rw-hero__media, .rw-hero__overlay { height:clamp(560px,150vw,760px); }
  .rw-hero__overlay { background:linear-gradient(180deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.72) 55%,rgba(255,255,255,.94) 100%); }
  .rw-hero__right { justify-content:center; }
  .rw-hero__form { width:100%; max-width:460px; margin:0 auto; }
  .rw-trust { border-right:0; border-bottom:1px solid #eef2f2; }
}

/* ================================================================
   Kontaktformular
   ================================================================ */
.rw-formcard { background:#fff; border-radius:20px; box-shadow:0 30px 70px -30px rgba(7,60,78,.5); padding:28px 26px; border:1px solid #eef3f3; }
.rw-formcard__title { font-family:var(--rw-font-serif); font-weight:600; font-size:22px; color:var(--rw-navy); margin:0 0 6px; }
.rw-formcard__sub { font-size:14.5px; color:var(--rw-muted); margin:0 0 20px; line-height:1.5; }
.rw-formcard__notice { border-radius:12px; padding:16px 18px; font-size:15px; line-height:1.5; margin-bottom:4px; }
.rw-formcard__notice--ok { background:#e6f4f3; color:#0b6a63; border:1px solid #b7e2de; }
.rw-formcard__notice--err { background:#fdeceb; color:#b23b32; border:1px solid #f4c9c5; margin-bottom:18px; }

.rw-form { display:flex; flex-direction:column; gap:14px; }
.rw-form__row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rw-form__field { display:flex; flex-direction:column; gap:6px; border:none; margin:0; padding:0; }
.rw-form__label { font-weight:600; font-size:13.5px; color:var(--rw-ink-soft); }
.rw-form__label em { color:var(--rw-teal); font-style:normal; }
.rw-form input[type=text], .rw-form input[type=tel], .rw-form textarea, .rw-form select {
  width:100%; font-family:inherit; font-size:15px; color:var(--rw-ink);
  border:1px solid #dce6e6; border-radius:10px; padding:13px 16px; background:#fbfdfd; transition:border-color .15s, box-shadow .15s;
}
.rw-form input::placeholder, .rw-form textarea::placeholder { color:#8a99a0; }
.rw-form input:focus, .rw-form textarea:focus, .rw-form select:focus { outline:none; border-color:var(--rw-teal); box-shadow:0 0 0 3px rgba(13,142,135,.12); }
.rw-form textarea { resize:vertical; min-height:96px; }
/* Dropdown Versicherungsart */
.rw-select { position:relative; }
.rw-form select { appearance:none; -webkit-appearance:none; -moz-appearance:none; padding-right:42px; cursor:pointer; color:var(--rw-ink); }
.rw-form select:has(option[value=""]:checked) { color:#8a99a0; }
.rw-form select option { color:var(--rw-ink); }
.rw-select__chev { position:absolute; right:15px; top:50%; transform:translateY(-50%); pointer-events:none; }
.rw-form__radios { display:flex; flex-direction:column; gap:8px; }
.rw-radio { display:flex; align-items:center; gap:9px; font-size:14.5px; color:var(--rw-ink-soft); cursor:pointer; }
.rw-radio input { accent-color:var(--rw-teal); width:17px; height:17px; }
.rw-consent { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.45; color:var(--rw-muted); }
.rw-consent input { accent-color:var(--rw-teal); margin-top:2px; }
.rw-consent em { color:var(--rw-teal); font-style:normal; }
.rw-consent a { color:var(--rw-teal); }
.rw-form__submit { width:100%; margin-top:4px; font-size:16px; }
.rw-form__hint { font-size:12.5px; color:#8a99a0; text-align:center; margin:4px 0 0; display:flex; align-items:center; justify-content:center; gap:6px; }
.rw-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

@media (max-width:520px){ .rw-form__row { grid-template-columns:1fr; } }

/* ================================================================
   Einsatzgebiete (Bezirks-Links)
   ================================================================ */
.rw-gebiete { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:32px; }
.rw-gebiete__city { font-family:var(--rw-font-serif); font-weight:600; font-size:20px; color:#fff; margin-bottom:16px; }
.rw-gebiete__chips { display:flex; flex-wrap:wrap; gap:9px; }
.rw-chip { display:inline-block; text-decoration:none; font-size:14px; font-weight:600; color:#cfe4e4; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:999px; padding:8px 15px; transition:background .15s, color .15s, border-color .15s; }
.rw-chip:hover { background:var(--rw-teal); color:#fff; border-color:var(--rw-teal); }
.rw-chip--static { cursor:default; }
.rw-chip--static:hover { background:rgba(255,255,255,.06); color:#cfe4e4; border-color:rgba(255,255,255,.1); }

/* ================================================================
   Leistungs-/Innen-Hero (Bild + Overlay + Breadcrumb + Badges)
   ================================================================ */
.rw-lhero { position:relative; overflow:hidden; background:#e7f0f0; }
.rw-lhero__media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.rw-lhero__overlay { position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,rgba(240,246,246,.98) 0%,rgba(240,246,246,.95) 32%,rgba(240,246,246,.6) 58%,rgba(240,246,246,.12) 84%,rgba(240,246,246,0) 100%); }
.rw-lhero__inner { position:relative; z-index:2; padding-block:clamp(40px,5vw,64px) clamp(52px,6vw,72px); min-height:clamp(520px,54vw,600px); display:flex; flex-direction:column; justify-content:center; }
.rw-lhero__box { max-width:600px; }
.rw-breadcrumb { font-size:13px; color:var(--rw-muted); margin-bottom:16px; }
.rw-breadcrumb a { color:var(--rw-teal); text-decoration:none; }
.rw-breadcrumb .sep { margin:0 6px; }
.rw-lhero h1 { font-family:var(--rw-font-serif); font-weight:600; font-size:clamp(30px,4.4vw,46px); line-height:1.1; color:var(--rw-navy); letter-spacing:-.5px; margin:0 0 18px; }
.rw-lhero__intro { font-size:18px; line-height:1.6; color:#516067; margin:0 0 26px; }
.rw-lhero__actions { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px; }
.rw-lhero__phone { display:inline-flex; align-items:center; gap:9px; border:1.5px solid #cfdcdc; background:rgba(255,255,255,.6); border-radius:11px; padding:15px 22px; color:var(--rw-navy); font-weight:600; font-size:16px; text-decoration:none; }
.rw-btn--lg { font-size:16px; border-radius:11px; padding:15px 26px; }
.rw-lhero__badges { display:flex; gap:22px; flex-wrap:wrap; padding-top:20px; border-top:1px solid rgba(7,60,78,.14); }
.rw-badge { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--rw-ink-soft); font-weight:600; }

/* Prose (WYSIWYG-Inhalte) */
.rw-prose { font-size:17px; line-height:1.7; color:#46555c; }
.rw-prose p { margin:0 0 16px; }
.rw-prose h2, .rw-prose h3 { color:var(--rw-navy); }
.rw-prose ul { padding-left:1.2em; margin:0 0 16px; }
.rw-prose a { color:var(--rw-teal); }

/* Wann-Karten (Leistung) */
.rw-wanncards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rw-wanncard { background:#fff; border-radius:14px; padding:20px; display:flex; gap:11px; align-items:center; }
.rw-wanncard span { color:var(--rw-ink-soft); font-size:15px; line-height:1.45; font-weight:500; }
@media (max-width:560px){ .rw-wanncards { grid-template-columns:1fr; } }

/* Innen-Hero-Variante (Standort): niedrigere Höhe, Formular höher gesetzt */
.rw-hero--inner .rw-hero__media, .rw-hero--inner .rw-hero__overlay { height:clamp(520px,54vw,600px); }
.rw-hero--inner .rw-hero__left { min-height:clamp(440px,48vw,520px); }
.rw-hero--inner .rw-hero__form { margin-top:128px; }
@media (max-width:899px){ .rw-hero--inner .rw-hero__media, .rw-hero--inner .rw-hero__overlay { height:clamp(500px,140vw,720px); } }

/* Beschwerden-Karten (navy) */
.rw-issues { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.rw-issue { background:rgba(255,255,255,.05); border-radius:16px; padding:22px 20px; }
.rw-issue__ic { width:44px; height:44px; border-radius:11px; background:rgba(13,142,135,.16); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.rw-issue .t { font-weight:700; color:#fff; font-size:16.5px; margin-bottom:6px; }
.rw-issue .d { color:#a9c4cc; font-size:14px; line-height:1.55; }

/* Callout-Box (Erreichbarkeit) */
.rw-callout { background:#fff; border-left:4px solid var(--rw-teal); border-radius:12px; padding:20px 22px; margin-top:8px; display:flex; gap:12px; align-items:flex-start; }
.rw-callout p { font-size:15.5px; line-height:1.6; color:#46555c; margin:0; }
.rw-callout strong { color:var(--rw-navy); }

/* ================================================================
   Team-Übersicht + Profil
   ================================================================ */
.rw-teamgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:24px; }
.rw-teamcard { background:#fbfcfc; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; }
.rw-teamcard__img { width:100%; height:270px; object-fit:cover; display:block; background:#e6eef0; }
.rw-teamcard__body { padding:22px; display:flex; flex-direction:column; flex:1; }
.rw-teamcard .name { font-weight:700; color:var(--rw-navy); font-size:19px; }
.rw-teamcard .spec { color:var(--rw-teal); font-weight:600; font-size:14px; margin:3px 0 10px; }
.rw-teamcard .line { color:var(--rw-muted); font-size:14.5px; line-height:1.55; margin-bottom:16px; }
.rw-teamcard .rw-outline-btn { margin-top:auto; text-align:center; padding:11px; }

.rw-verbaende { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.rw-verband { background:#fff; border-radius:12px; padding:16px 18px; display:flex; gap:11px; align-items:center; }
.rw-verband span { font-weight:600; color:var(--rw-ink-soft); font-size:14.5px; }
.rw-verband svg { flex:none; }

/* Profil */
.rw-profile-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px,4vw,56px); align-items:center; }
.rw-profile-hero__media { border-radius:18px; overflow:hidden; min-height:clamp(320px,34vw,440px); background:#f5f5f5; }
.rw-profile-hero__media img { width:100%; height:100%; object-fit:cover; display:block; }
.rw-qa-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.rw-qa-card { background:var(--rw-bg-soft); border-radius:16px; padding:26px 24px; }
.rw-qa-card h3 { font-family:var(--rw-font-serif); font-weight:600; font-size:19px; color:var(--rw-navy); margin:0 0 10px; }
.rw-qa-card p { font-size:15.5px; line-height:1.6; color:#516067; margin:0; }
.rw-qa-list { display:flex; flex-direction:column; gap:9px; }
.rw-qa-list div { display:flex; gap:9px; align-items:flex-start; font-size:15px; color:var(--rw-ink-soft); }
.rw-philo { background:var(--rw-footer); border-radius:20px; padding:clamp(28px,4vw,44px); position:relative; overflow:hidden; }
.rw-philo h3 { font-family:var(--rw-font-serif); font-weight:600; font-size:clamp(20px,2.4vw,26px); color:#fff; margin:0 0 14px; }
.rw-philo p { font-size:16.5px; line-height:1.7; color:#c6dbe0; margin:0; }
@media (max-width:760px){ .rw-profile-hero { grid-template-columns:1fr; } .rw-qa-grid { grid-template-columns:1fr; } }

/* ================================================================
   Über uns
   ================================================================ */
.rw-mission { max-width:900px; margin:0 auto; text-align:center; }
.rw-mission h2 { font-family:var(--rw-font-serif); font-weight:600; font-size:clamp(24px,3.4vw,38px); line-height:1.25; color:#fff; margin:0 0 18px; }
.rw-mission p { font-size:17px; line-height:1.65; color:#b4cdd4; margin:0; }
.rw-quali-box { background:var(--rw-bg-soft); border-radius:16px; padding:26px 24px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rw-quali-box > div { display:flex; gap:10px; align-items:flex-start; }
.rw-quali-box span { font-size:14px; font-weight:600; color:var(--rw-ink-soft); line-height:1.4; }
.rw-infobox { background:#fff; border-radius:16px; padding:26px 24px; display:flex; flex-direction:column; gap:12px; }
.rw-infobox > div { display:flex; gap:10px; align-items:flex-start; }
.rw-infobox span { font-size:15.5px; color:var(--rw-ink-soft); line-height:1.45; }
.rw-statbox { background:var(--rw-footer); border-radius:16px; padding:26px; color:#fff; }
.rw-statbox .big { font-family:var(--rw-font-serif); font-size:clamp(22px,2.6vw,28px); font-weight:600; margin-bottom:8px; }
.rw-statbox .sub { font-size:15px; line-height:1.6; color:#b4cdd4; }
.rw-awards { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:18px; }
.rw-award { text-align:center; padding:24px; background:var(--rw-bg-soft); border-radius:14px; }
.rw-award .num { font-family:var(--rw-font-serif); font-size:30px; font-weight:700; color:var(--rw-teal); }
.rw-award .lbl { color:var(--rw-muted); font-size:14px; margin-top:6px; }
.rw-marquee { overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.rw-marquee__track { display:flex; gap:22px; width:max-content; animation:rwMarquee 34s linear infinite; }
.rw-marquee__item { flex:none; width:190px; height:100px; background:#fff; border-radius:16px; display:flex; align-items:center; justify-content:center; gap:12px; }
@media (max-width:640px){ .rw-quali-box { grid-template-columns:1fr; } }

/* ================================================================
   Rechtstexte (Impressum/Datenschutz) + generische Seite
   ================================================================ */
.rw-legal { max-width:820px; margin:0 auto; }
.rw-legal h1 { font-family:var(--rw-font-serif); font-weight:600; font-size:clamp(30px,4vw,44px); line-height:1.1; color:var(--rw-navy); margin:0 0 24px; }
.rw-legal h2 { font-family:var(--rw-font-serif); font-weight:600; font-size:clamp(20px,2.2vw,25px); color:var(--rw-navy); margin:32px 0 12px; }
.rw-legal p, .rw-legal li { font-size:15.5px; line-height:1.7; color:#46555c; }
.rw-legal a { color:var(--rw-teal); }
.rw-legal-note { background:#fdf3e7; border:1px solid #f2d9b8; border-radius:12px; padding:16px 18px; margin-bottom:32px; font-size:14px; line-height:1.6; color:#8a5a1f; }
