/* Holistic Trainings — Website-Stile
   Erzeugt aus dem Claude-Design-Export. Aufbau:
   0. Schriften  1. Grundlagen  2. Seitenspezifische Grundlagen  3. Hover
   4. Breitenabhängig  5. Dreier-Raster  6. Korrekturen  7. Menü/Banner */

/* ---------- 0. Schriften ----------
   Die Schriften liegen in assets/fonts und werden von dort geladen. Es geht
   kein Aufruf an Google — beim Seitenaufruf verlässt keine Besucher-IP den
   Server. 'font-display: swap' zeigt den Text sofort in einer Ersatzschrift
   und tauscht sie aus, sobald die richtige da ist. */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500;
  font-display: swap; src: url('../fonts/inter-v20-latin-500.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600;
  font-display: swap; src: url('../fonts/inter-v20-latin-600.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700;
  font-display: swap; src: url('../fonts/inter-v20-latin-700.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('../fonts/playfair-display-v40-latin-regular.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400;
  font-display: swap; src: url('../fonts/playfair-display-v40-latin-italic.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 600;
  font-display: swap; src: url('../fonts/playfair-display-v40-latin-600.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700;
  font-display: swap; src: url('../fonts/playfair-display-v40-latin-700.woff2') format('woff2'); }

/* ---------- 1. Grundlagen (auf allen Seiten gleich) ---------- */
*,*::before,*::after { box-sizing:border-box; }
a { color:#B5905A; }
a:hover { color:#C9A870; }

/* ---------- 2. Seitenspezifische Grundlagen ----------
   Im Design-Export hatten nicht alle Seiten dieselben Grundregeln (etwa
   overflow-wrap oder die Formularfelder). Das ist hier 1:1 erhalten. */
/* base1: index.html, en/index.html */
  body.base1 { margin:0;font-family:'Inter',sans-serif;color:#2C2C2C;background:#fff;line-height:1.6; }

/* base2: keynotes-workshops/index.html, coaching-mentoring/index.html, team/index.html */
  body.base2 { margin:0;font-family:'Inter',sans-serif;color:#2C2C2C;background:#fff;line-height:1.6;overflow-x:hidden; }
  body.base2 img, body.base2 video, body.base2 svg { max-width:100%; }

/* base3: workshop-1-tag/index.html, workshop-2-tage/index.html, leadership-programm/index.html, en/workshop-1-day/index.html, en/workshop-2-days/index.html, en/leadership-programme/index.html */
  body.base3 { margin:0;font-family:'Inter',sans-serif;color:#2C2C2C;background:#fff;line-height:1.6;overflow-x:hidden;overflow-wrap:break-word; }
  body.base3 img, body.base3 svg, body.base3 video, body.base3 iframe { max-width:100%; }

/* base4: kontakt/index.html */
  body.base4 { margin:0;font-family:'Inter',sans-serif;color:#2C2C2C;background:#fff;line-height:1.6;overflow-x:hidden; }
  body.base4 img, body.base4 video, body.base4 svg { max-width:100%; }
  body.base4 input[type="text"], body.base4 input[type="email"], body.base4 select, body.base4 textarea { width:100%;padding:12px 16px;border:1.5px solid #E0DDD8;border-radius:4px;font-family:'Inter',sans-serif;font-size:.9rem;color:#2C2C2C;background:#fff;box-sizing:border-box; }
  body.base4 input:focus, body.base4 select:focus, body.base4 textarea:focus { outline:none;border-color:#B5905A; }
@media (max-width:640px) {
  body.base4 input[type="text"], body.base4 input[type="email"], body.base4 select, body.base4 textarea { font-size:16px;padding:13px 14px; }
}

/* base5: impressum/index.html, datenschutz/index.html, en/keynotes-workshops/index.html, en/coaching-mentoring/index.html, en/team/index.html, en/imprint/index.html, en/privacy/index.html */
  body.base5 { margin:0;font-family:'Inter',sans-serif;color:#2C2C2C;background:#fff;line-height:1.6; }

/* base6: en/contact/index.html */
  body.base6 { margin:0;font-family:'Inter',sans-serif;color:#2C2C2C;background:#fff;line-height:1.6; }
  body.base6 input[type="text"], body.base6 input[type="email"], body.base6 select, body.base6 textarea { width:100%;padding:12px 16px;border:1.5px solid #E0DDD8;border-radius:4px;font-family:'Inter',sans-serif;font-size:.9rem;color:#2C2C2C;background:#fff;box-sizing:border-box; }
  body.base6 input:focus, body.base6 select:focus, body.base6 textarea:focus { outline:none;border-color:#B5905A; }

/* ---------- 3. Hover-Effekte ---------- */
.hv1:hover { color: #C9A870 !important; }
.hv2:hover { background: #C9A870 !important; }
.hv3:hover { opacity: 1 !important; }
.hv4:hover { border-color: rgba(255,255,255,.7) !important; }
.hv5:hover { border-color: #B5905A !important; }
.hv6:hover { background: #B5905A !important; }
.hv7:hover { background: rgba(255,255,255,.1) !important; border-color: rgba(181,144,90,.4) !important; }
.hv8:hover { box-shadow: 0 6px 28px rgba(28,43,58,.1) !important; }
.hv9:hover { color: #1C2B3A !important; }
.hv10:hover { background: rgba(255,255,255,.1) !important; }
.hv11:hover { background: #1C2B3A !important; color: #fff !important; }
.hv12:hover { color: #B5905A !important; }

/* ---------- 4. Breitenabhängige Stile ----------
   Die Bänder überschneiden sich nicht: bei jeder Fensterbreite greift genau eines. */
@media (min-width: 1120px) {
  .r1 { padding: 12px 48px; }
  .r2 { display: none; }
  .r3 { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
  .r4 { gap: 28px; align-items: center; flex-wrap: wrap; }
  .r5 { gap: 4px; }
  .r6 { padding: 96px 48px 80px; gap: 64px; }
  .r8 { margin: 0 0 36px; }
  .r9 { justify-content: flex-start; }
  .r10 { flex: 0 0 auto; }
  .r11 { padding: 64px 48px; }
  .r12 { padding: 80px 48px; }
  .r13 { max-width: 700px; }
  .r14 { padding: 80px 48px; }
  .r15 { padding: 80px 48px; }
  .r16 { padding: 40px 36px; }
  .r17 { padding: 80px 48px; }
  .r18 { padding: 80px 48px; }
  .r19 { padding: 48px; }
  .r20 { gap: 48px; }
  .r21 { display: flex; gap: 48px; flex-wrap: wrap; }
  .r22 { padding: 14px 32px; }
  .r23 { padding: 80px 48px 72px; }
  .r24 { padding: 80px 48px; }
  .r25 { margin-bottom: 56px; }
  .r26 { grid-template-columns: 1fr 1fr; gap: 24px; }
  .r27 { padding: 36px 32px; }
  .r28 { min-height: 90px; }
  .r29 { padding: 80px 48px; }
  .r30 { margin: 0 0 48px; }
  .r31 { grid-template-columns: repeat(4,1fr); gap: 24px; }
  .r32 { padding: 72px 48px; }
  .r33 { padding: 48px; }
  .r34 { gap: 48px; }
  .r35 { display: flex; gap: 48px; flex-wrap: wrap; }
  .r36 { padding: 14px 32px; }
  .r37 { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .r38 { display: flex; gap: clamp(28px,4vw,48px); flex-wrap: wrap; }
  .r39 { padding: 14px 20px; font-size: .875rem; }
  .r40 { text-align: left; }
  .r41 { text-align: center; }
  .r42 { gap: 24px; margin-top: 48px; }
  .r43 { grid-template-columns: repeat(3,1fr); }
  .r44 { padding: 36px 32px; border-right: 1px solid #E0DDD8; }
  .r45 { padding: 36px 32px; border-right: 1px solid #E0DDD8; white-space: nowrap; }
  .r46 { padding: 80px 48px; }
  .r47 { margin-bottom: 64px; }
  .r48 { grid-template-columns: minmax(240px,280px) 1fr; }
  .r49 { padding: 44px 32px; }
  .r50 { width: 200px; height: 200px; }
  .r51 { padding: 40px 44px; }
  .r52 { grid-template-columns: 1fr 1fr; }
  .r53 { padding: 32px 56px; margin-bottom: 48px; }
  .r54 { grid-template-columns: repeat(3,1fr); gap: 24px; }
  .r55 { gap: 24px; }
  .r56 { display: block; }
  .r57 { justify-content: center; flex-wrap: wrap; }
  .r58 { padding: 48px; }
  .r59 { gap: 24px; }
  .r60 { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
  .r61 { grid-template-columns: 218px 1fr; }
  .r62 { grid-template-columns: 1fr 1fr; }
  .r63 { gap: 0; flex-wrap: nowrap; }
  .r64 { flex: 1 1 0; }
  .r65 { display: inline; }
  .r66 { padding: 16px 48px; }
  .r67 { padding: 56px 48px; }
  .r68 { gap: 40px; }
  .r69 { padding: 88px 48px; }
  .r70 { margin-bottom: 72px; }
  .r71 { grid-template-columns: minmax(260px,340px) 1fr; margin-bottom: 48px; }
  .r72 { min-height: 380px; }
  .r73 { object-position: 50% 8%; }
  .r74 { padding: 44px 48px; }
  .r75 { padding: 20px 24px; }
  .r76 { grid-template-columns: 1fr minmax(260px,340px); margin-bottom: 48px; }
  .r77 { padding: 44px 48px; order: 1; }
  .r78 { order: 2; min-height: 380px; }
  .r79 { object-position: 30% 10%; }
  .r80 { grid-template-columns: minmax(260px,340px) 1fr; }
  .r81 { padding: 40px 48px; }
  .r82 { gap: 24px; }
  .r83 { padding: 72px 48px; grid-template-columns: minmax(0,1fr) minmax(320px,400px); }
  .r84 { padding: 0 64px 0 0; }
  .r85 { position: sticky; top: 88px; }
  .r86 { padding: 28px 24px; }
  .r87 { min-height: auto; }
  .r88 { padding: 72px 48px 64px; }
  .r89 { padding: 72px 48px 96px; }
  .r90 { padding: 80px 48px; }
  .r91 { grid-template-columns: 1fr 1fr; }
  .r92 { padding: 80px 48px; }
  .r93 { grid-template-columns: repeat(4,1fr); gap: 24px; }
  .r94 { padding: 72px 48px; }
  .r95 { padding: 72px 48px; }
  .r96 { border-right: 1px solid #E0DDD8; }
  .r97 { border-right: 1px solid #E0DDD8; white-space: nowrap; }
  .r98 { grid-template-columns: 280px 1fr; }
  .r99 { padding: 48px; }
  .r100 { padding: 72px 48px; grid-template-columns: 1fr 400px; }
}

@media (min-width: 1080px) and (max-width: 1119.98px) {
  .r1 { padding: 12px 48px; }
  .r2 { display: none; }
  .r3 { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
  .r4 { gap: 28px; align-items: center; flex-wrap: wrap; }
  .r5 { gap: 4px; }
  .r6 { padding: 96px 48px 80px; gap: 64px; }
  .r8 { margin: 0 0 36px; }
  .r9 { justify-content: flex-start; }
  .r10 { flex: 0 0 auto; }
  .r11 { padding: 64px 48px; }
  .r12 { padding: 80px 48px; }
  .r13 { max-width: 700px; }
  .r14 { padding: 80px 48px; }
  .r15 { padding: 80px 48px; }
  .r16 { padding: 40px 36px; }
  .r17 { padding: 80px 48px; }
  .r18 { padding: 80px 48px; }
  .r19 { padding: 48px; }
  .r20 { gap: 48px; }
  .r21 { display: flex; gap: 48px; flex-wrap: wrap; }
  .r22 { padding: 14px 32px; }
  .r23 { padding: 80px 48px 72px; }
  .r24 { padding: 80px 48px; }
  .r25 { margin-bottom: 56px; }
  .r26 { grid-template-columns: 1fr 1fr; gap: 24px; }
  .r27 { padding: 36px 32px; }
  .r28 { min-height: 90px; }
  .r29 { padding: 80px 48px; }
  .r30 { margin: 0 0 48px; }
  .r31 { grid-template-columns: repeat(4,1fr); gap: 24px; }
  .r32 { padding: 72px 48px; }
  .r33 { padding: 48px; }
  .r34 { gap: 48px; }
  .r35 { display: flex; gap: 48px; flex-wrap: wrap; }
  .r36 { padding: 14px 32px; }
  .r37 { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .r38 { display: flex; gap: clamp(28px,4vw,48px); flex-wrap: wrap; }
  .r39 { padding: 14px 20px; font-size: .875rem; }
  .r40 { text-align: left; }
  .r41 { text-align: center; }
  .r42 { gap: 24px; margin-top: 48px; }
  .r43 { grid-template-columns: repeat(3,1fr); }
  .r44 { padding: 36px 32px; border-right: 1px solid #E0DDD8; }
  .r45 { padding: 36px 32px; border-right: 1px solid #E0DDD8; white-space: normal; }
  .r46 { padding: 80px 48px; }
  .r47 { margin-bottom: 64px; }
  .r48 { grid-template-columns: minmax(240px,280px) 1fr; }
  .r49 { padding: 44px 32px; }
  .r50 { width: 200px; height: 200px; }
  .r51 { padding: 40px 44px; }
  .r52 { grid-template-columns: 1fr; }
  .r53 { padding: 32px 56px; margin-bottom: 48px; }
  .r54 { grid-template-columns: repeat(3,1fr); gap: 24px; }
  .r55 { gap: 24px; }
  .r56 { display: block; }
  .r57 { justify-content: center; flex-wrap: wrap; }
  .r58 { padding: 48px; }
  .r59 { gap: 24px; }
  .r60 { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
  .r61 { grid-template-columns: 218px 1fr; }
  .r62 { grid-template-columns: 1fr 1fr; }
  .r63 { gap: 0; flex-wrap: nowrap; }
  .r64 { flex: 1 1 0; }
  .r65 { display: inline; }
  .r66 { padding: 16px 48px; }
  .r67 { padding: 56px 48px; }
  .r68 { gap: 40px; }
  .r69 { padding: 88px 48px; }
  .r70 { margin-bottom: 72px; }
  .r71 { grid-template-columns: minmax(260px,340px) 1fr; margin-bottom: 48px; }
  .r72 { min-height: 380px; }
  .r73 { object-position: 50% 8%; }
  .r74 { padding: 44px 48px; }
  .r75 { padding: 20px 24px; }
  .r76 { grid-template-columns: 1fr minmax(260px,340px); margin-bottom: 48px; }
  .r77 { padding: 44px 48px; order: 1; }
  .r78 { order: 2; min-height: 380px; }
  .r79 { object-position: 30% 10%; }
  .r80 { grid-template-columns: minmax(260px,340px) 1fr; }
  .r81 { padding: 40px 48px; }
  .r82 { gap: 24px; }
  .r83 { padding: 72px 48px; grid-template-columns: minmax(0,1fr) minmax(320px,400px); }
  .r84 { padding: 0 64px 0 0; }
  .r85 { position: sticky; top: 88px; }
  .r86 { padding: 28px 24px; }
  .r87 { min-height: auto; }
  .r88 { padding: 72px 48px 64px; }
  .r89 { padding: 72px 48px 96px; }
  .r90 { padding: 80px 48px; }
  .r91 { grid-template-columns: 1fr 1fr; }
  .r92 { padding: 80px 48px; }
  .r93 { grid-template-columns: repeat(4,1fr); gap: 24px; }
  .r94 { padding: 72px 48px; }
  .r95 { padding: 72px 48px; }
  .r96 { border-right: 1px solid #E0DDD8; }
  .r97 { border-right: 1px solid #E0DDD8; white-space: nowrap; }
  .r98 { grid-template-columns: 280px 1fr; }
  .r99 { padding: 48px; }
  .r100 { padding: 72px 48px; grid-template-columns: 1fr 400px; }
}

@media (min-width: 901px) and (max-width: 1079.98px) {
  .r1 { padding: 12px 48px; }
  .r2 { display: none; }
  .r3 { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
  .r4 { gap: 28px; align-items: center; flex-wrap: wrap; }
  .r5 { gap: 4px; }
  .r6 { padding: 96px 48px 80px; gap: 64px; }
  .r8 { margin: 0 0 36px; }
  .r9 { justify-content: flex-start; }
  .r10 { flex: 0 0 auto; }
  .r11 { padding: 64px 48px; }
  .r12 { padding: 80px 48px; }
  .r13 { max-width: 700px; }
  .r14 { padding: 80px 48px; }
  .r15 { padding: 80px 48px; }
  .r16 { padding: 40px 36px; }
  .r17 { padding: 80px 48px; }
  .r18 { padding: 80px 48px; }
  .r19 { padding: 48px; }
  .r20 { gap: 48px; }
  .r21 { display: flex; gap: 48px; flex-wrap: wrap; }
  .r22 { padding: 14px 32px; }
  .r23 { padding: 80px 48px 72px; }
  .r24 { padding: 80px 48px; }
  .r25 { margin-bottom: 56px; }
  .r26 { grid-template-columns: 1fr 1fr; gap: 24px; }
  .r27 { padding: 36px 32px; }
  .r28 { min-height: 90px; }
  .r29 { padding: 80px 48px; }
  .r30 { margin: 0 0 48px; }
  .r31 { grid-template-columns: 1fr 1fr; gap: 20px; }
  .r32 { padding: 72px 48px; }
  .r33 { padding: 48px; }
  .r34 { gap: 48px; }
  .r35 { display: flex; gap: 48px; flex-wrap: wrap; }
  .r36 { padding: 14px 32px; }
  .r37 { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .r38 { display: flex; gap: clamp(28px,4vw,48px); flex-wrap: wrap; }
  .r39 { padding: 14px 20px; font-size: .875rem; }
  .r40 { text-align: left; }
  .r41 { text-align: center; }
  .r42 { gap: 24px; margin-top: 48px; }
  .r43 { grid-template-columns: repeat(3,1fr); }
  .r44 { padding: 36px 32px; border-right: 1px solid #E0DDD8; }
  .r45 { padding: 36px 32px; border-right: 1px solid #E0DDD8; white-space: normal; }
  .r46 { padding: 80px 48px; }
  .r47 { margin-bottom: 64px; }
  .r48 { grid-template-columns: minmax(240px,280px) 1fr; }
  .r49 { padding: 44px 32px; }
  .r50 { width: 200px; height: 200px; }
  .r51 { padding: 40px 44px; }
  .r52 { grid-template-columns: 1fr; }
  .r53 { padding: 32px 56px; margin-bottom: 48px; }
  .r54 { grid-template-columns: repeat(3,1fr); gap: 24px; }
  .r55 { gap: 24px; }
  .r56 { display: block; }
  .r57 { justify-content: center; flex-wrap: wrap; }
  .r58 { padding: 48px; }
  .r59 { gap: 24px; }
  .r60 { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
  .r61 { grid-template-columns: 218px 1fr; }
  .r62 { grid-template-columns: 1fr 1fr; }
  .r63 { gap: 0; flex-wrap: nowrap; }
  .r64 { flex: 1 1 0; }
  .r65 { display: inline; }
  .r66 { padding: 16px 48px; }
  .r67 { padding: 56px 48px; }
  .r68 { gap: 40px; }
  .r69 { padding: 88px 48px; }
  .r70 { margin-bottom: 72px; }
  .r71 { grid-template-columns: minmax(260px,340px) 1fr; margin-bottom: 48px; }
  .r72 { min-height: 380px; }
  .r73 { object-position: 50% 8%; }
  .r74 { padding: 44px 48px; }
  .r75 { padding: 20px 24px; }
  .r76 { grid-template-columns: 1fr minmax(260px,340px); margin-bottom: 48px; }
  .r77 { padding: 44px 48px; order: 1; }
  .r78 { order: 2; min-height: 380px; }
  .r79 { object-position: 30% 10%; }
  .r80 { grid-template-columns: minmax(260px,340px) 1fr; }
  .r81 { padding: 40px 48px; }
  .r82 { gap: 24px; }
  .r83 { padding: 72px 48px; grid-template-columns: minmax(0,1fr) minmax(320px,400px); }
  .r84 { padding: 0 64px 0 0; }
  .r85 { position: sticky; top: 88px; }
  .r86 { padding: 28px 24px; }
  .r87 { min-height: auto; }
  .r88 { padding: 72px 48px 64px; }
  .r89 { padding: 72px 48px 96px; }
  .r90 { padding: 80px 48px; }
  .r91 { grid-template-columns: 1fr 1fr; }
  .r92 { padding: 80px 48px; }
  .r93 { grid-template-columns: repeat(4,1fr); gap: 24px; }
  .r94 { padding: 72px 48px; }
  .r95 { padding: 72px 48px; }
  .r96 { border-right: 1px solid #E0DDD8; }
  .r97 { border-right: 1px solid #E0DDD8; white-space: nowrap; }
  .r98 { grid-template-columns: 280px 1fr; }
  .r99 { padding: 48px; }
  .r100 { padding: 72px 48px; grid-template-columns: 1fr 400px; }
}

@media (min-width: 880px) and (max-width: 900.98px) {
  .r1 { padding: 12px 48px; }
  .r2 { display: none; }
  .r3 { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
  .r4 { gap: 28px; align-items: center; flex-wrap: wrap; }
  .r5 { gap: 4px; }
  .r6 { padding: 48px 20px; gap: 32px; }
  .r8 { margin: 0 0 36px; }
  .r9 { justify-content: flex-start; }
  .r10 { flex: 0 0 auto; }
  .r11 { padding: 64px 28px; }
  .r12 { padding: 80px 20px; }
  .r13 { max-width: 100%; }
  .r14 { padding: 80px 28px; }
  .r15 { padding: 64px 16px; }
  .r16 { padding: 32px 22px; }
  .r17 { padding: 80px 24px; }
  .r18 { padding: 56px 20px; }
  .r19 { padding: 40px 20px; }
  .r20 { gap: 44px; }
  .r21 { display: grid; gap: 26px; grid-template-columns: 1fr; width: 100%; }
  .r22 { padding: 14px 18px; }
  .r23 { padding: 80px 48px 72px; }
  .r24 { padding: 80px 48px; }
  .r25 { margin-bottom: 56px; }
  .r26 { grid-template-columns: 1fr 1fr; gap: 24px; }
  .r27 { padding: 36px 32px; }
  .r28 { min-height: 90px; }
  .r29 { padding: 80px 48px; }
  .r30 { margin: 0 0 48px; }
  .r31 { grid-template-columns: 1fr 1fr; gap: 20px; }
  .r32 { padding: 72px 48px; }
  .r33 { padding: 48px; }
  .r34 { gap: 48px; }
  .r35 { display: flex; gap: 48px; flex-wrap: wrap; }
  .r36 { padding: 14px 32px; }
  .r37 { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .r38 { display: flex; gap: clamp(28px,4vw,48px); flex-wrap: wrap; }
  .r39 { padding: 14px 20px; font-size: .875rem; }
  .r40 { text-align: left; }
  .r41 { text-align: center; }
  .r42 { gap: 24px; margin-top: 48px; }
  .r43 { grid-template-columns: repeat(3,1fr); }
  .r44 { padding: 36px 32px; border-right: 1px solid #E0DDD8; }
  .r45 { padding: 36px 32px; border-right: 1px solid #E0DDD8; white-space: normal; }
  .r46 { padding: 80px 48px; }
  .r47 { margin-bottom: 64px; }
  .r48 { grid-template-columns: minmax(240px,280px) 1fr; }
  .r49 { padding: 44px 32px; }
  .r50 { width: 200px; height: 200px; }
  .r51 { padding: 40px 44px; }
  .r52 { grid-template-columns: 1fr; }
  .r53 { padding: 32px 56px; margin-bottom: 48px; }
  .r54 { grid-template-columns: repeat(3,1fr); gap: 24px; }
  .r55 { gap: 24px; }
  .r56 { display: block; }
  .r57 { justify-content: center; flex-wrap: wrap; }
  .r58 { padding: 48px; }
  .r59 { gap: 24px; }
  .r60 { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
  .r61 { grid-template-columns: 1fr; }
  .r62 { grid-template-columns: 1fr; }
  .r63 { gap: 12px; flex-wrap: wrap; }
  .r64 { flex: 1 1 220px; }
  .r65 { display: none; }
  .r66 { padding: 16px 48px; }
  .r67 { padding: 56px 48px; }
  .r68 { gap: 40px; }
  .r69 { padding: 48px 24px; }
  .r70 { margin-bottom: 72px; }
  .r71 { grid-template-columns: 1fr; margin-bottom: 48px; }
  .r72 { height: auto; aspect-ratio: 1/1; }
  .r73 { object-position: 50% 10%; }
  .r74 { padding: 44px 48px; }
  .r75 { padding: 20px 24px; }
  .r76 { grid-template-columns: 1fr; margin-bottom: 48px; }
  .r77 { padding: 44px 48px; order: 2; }
  .r78 { order: 1; height: auto; aspect-ratio: 1/1; }
  .r79 { object-position: 50% 12%; }
  .r80 { grid-template-columns: 1fr; }
  .r81 { padding: 40px 48px; }
  .r82 { gap: 24px; }
  .r83 { padding: 48px 24px; grid-template-columns: 1fr; }
  .r84 { padding: 0; }
  .r85 { position: static; margin-top: 40px; }
  .r86 { padding: 28px 24px; }
  .r87 { min-height: auto; }
  .r88 { padding: 72px 48px 64px; }
  .r89 { padding: 72px 48px 96px; }
  .r90 { padding: 80px 48px; }
  .r91 { grid-template-columns: 1fr 1fr; }
  .r92 { padding: 80px 48px; }
  .r93 { grid-template-columns: repeat(4,1fr); gap: 24px; }
  .r94 { padding: 72px 48px; }
  .r95 { padding: 72px 48px; }
  .r96 { border-right: 1px solid #E0DDD8; }
  .r97 { border-right: 1px solid #E0DDD8; white-space: nowrap; }
  .r98 { grid-template-columns: 280px 1fr; }
  .r99 { padding: 48px; }
  .r100 { padding: 48px 24px; grid-template-columns: 1fr; }
}

@media (min-width: 640px) and (max-width: 879.98px) {
  .r1 { padding: 12px 20px; }
  .r2 { display: flex; }
  .r3 { display: none; gap: 18px; align-items: stretch; position: absolute; top: 100%; left: 0px; right: 0px; background: #1C2B3A; flex-direction: column; padding: 18px 24px 26px; border-top: 1px solid rgba(255,255,255,.1); box-shadow: 0 12px 24px rgba(0,0,0,.3); }
  .r4 { gap: 16px; align-items: flex-start; flex-direction: column; width: 100%; }
  .r5 { gap: 12px; padding-top: 14px; margin-top: 2px; border-top: 1px solid rgba(255,255,255,.12); width: 100%; }
  .r6 { padding: 48px 20px; gap: 32px; }
  .r7 { text-align: center; }
  .r8 { margin: 0 auto 36px; }
  .r9 { justify-content: center; }
  .r10 { flex: 0 0 240px; }
  .r11 { padding: 64px 28px; }
  .r12 { padding: 80px 20px; }
  .r13 { max-width: 100%; }
  .r14 { padding: 80px 28px; }
  .r15 { padding: 64px 16px; }
  .r16 { padding: 32px 22px; }
  .r17 { padding: 80px 24px; }
  .r18 { padding: 56px 20px; }
  .r19 { padding: 40px 20px; }
  .r20 { gap: 44px; }
  .r21 { display: grid; gap: 26px; grid-template-columns: 1fr; width: 100%; }
  .r22 { padding: 14px 18px; }
  .r23 { padding: 68px 28px 60px; }
  .r24 { padding: 64px 20px; }
  .r25 { margin-bottom: 56px; }
  .r26 { grid-template-columns: 1fr; gap: 20px; }
  .r27 { padding: 36px 32px; }
  .r28 { min-height: auto; }
  .r29 { padding: 68px 28px; }
  .r30 { margin: 0 0 48px; }
  .r31 { grid-template-columns: 1fr 1fr; gap: 20px; }
  .r32 { padding: 62px 28px; }
  .r33 { padding: 44px 28px; }
  .r34 { gap: 48px; }
  .r35 { display: flex; gap: 48px; flex-wrap: wrap; }
  .r36 { padding: 14px 32px; }
  .r37 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .r38 { display: flex; gap: clamp(28px,4vw,48px); flex-wrap: wrap; }
  .r39 { padding: 12px 12px; font-size: .8rem; }
  .r40 { text-align: center; }
  .r41 { text-align: left; }
  .r42 { gap: 24px; margin-top: 48px; }
  .r43 { grid-template-columns: 1fr; }
  .r44 { padding: 36px 32px; border-bottom: 1px solid #E0DDD8; }
  .r45 { padding: 36px 32px; border-bottom: 1px solid #E0DDD8; }
  .r46 { padding: 64px 16px; }
  .r47 { margin-bottom: 64px; }
  .r48 { grid-template-columns: 1fr; }
  .r49 { padding: 36px 20px; }
  .r50 { width: 200px; height: 200px; }
  .r51 { padding: 34px 28px; }
  .r52 { grid-template-columns: 1fr; }
  .r53 { padding: 30px 32px; margin-bottom: 48px; }
  .r54 { grid-template-columns: 1fr; gap: 20px; }
  .r55 { gap: 24px; }
  .r56 { display: none; }
  .r57 { flex-direction: column; align-items: stretch; }
  .r58 { padding: 42px 28px; }
  .r59 { gap: 24px; }
  .r60 { grid-template-columns: 1fr; gap: 28px; }
  .r61 { grid-template-columns: 1fr; }
  .r62 { grid-template-columns: 1fr; }
  .r63 { gap: 12px; flex-wrap: wrap; }
  .r64 { flex: 1 1 220px; }
  .r65 { display: none; }
  .r66 { padding: 16px 48px; }
  .r67 { padding: 48px 28px; }
  .r68 { gap: 40px; }
  .r69 { padding: 48px 24px; }
  .r70 { margin-bottom: 52px; }
  .r71 { grid-template-columns: 1fr; margin-bottom: 48px; }
  .r72 { height: auto; aspect-ratio: 1/1; }
  .r73 { object-position: 50% 10%; }
  .r74 { padding: 34px 30px; }
  .r75 { padding: 20px 24px; }
  .r76 { grid-template-columns: 1fr; margin-bottom: 48px; }
  .r77 { padding: 34px 30px; order: 2; }
  .r78 { order: 1; height: auto; aspect-ratio: 1/1; }
  .r79 { object-position: 50% 12%; }
  .r80 { grid-template-columns: 1fr; }
  .r81 { padding: 36px 28px; }
  .r82 { gap: 24px; }
  .r83 { padding: 48px 24px; grid-template-columns: 1fr; }
  .r84 { padding: 0; }
  .r85 { position: static; margin-top: 40px; }
  .r86 { padding: 28px 24px; }
  .r87 { min-height: auto; }
  .r88 { padding: 62px 28px 54px; }
  .r89 { padding: 56px 28px 76px; }
  .r90 { padding: 64px 28px; }
  .r91 { grid-template-columns: 1fr; }
  .r92 { padding: 64px 28px; }
  .r93 { grid-template-columns: 1fr; gap: 16px; }
  .r94 { padding: 64px 28px; }
  .r95 { padding: 60px 28px; }
  .r96 { border-bottom: 1px solid #E0DDD8; }
  .r97 { border-bottom: 1px solid #E0DDD8; }
  .r98 { grid-template-columns: 1fr; }
  .r99 { padding: 40px 28px; }
  .r100 { padding: 48px 24px; grid-template-columns: 1fr; }
}

@media (max-width: 639.98px) {
  .r1 { padding: 12px 20px; }
  .r2 { display: flex; }
  .r3 { display: none; gap: 18px; align-items: stretch; position: absolute; top: 100%; left: 0px; right: 0px; background: #1C2B3A; flex-direction: column; padding: 18px 24px 26px; border-top: 1px solid rgba(255,255,255,.1); box-shadow: 0 12px 24px rgba(0,0,0,.3); }
  .r4 { gap: 16px; align-items: flex-start; flex-direction: column; width: 100%; }
  .r5 { gap: 12px; padding-top: 14px; margin-top: 2px; border-top: 1px solid rgba(255,255,255,.12); width: 100%; }
  .r6 { padding: 48px 20px; gap: 32px; }
  .r7 { text-align: center; }
  .r8 { margin: 0 auto 36px; }
  .r9 { justify-content: center; }
  .r10 { flex: 0 0 240px; }
  .r11 { padding: 64px 28px; }
  .r12 { padding: 80px 20px; }
  .r13 { max-width: 100%; }
  .r14 { padding: 80px 28px; }
  .r15 { padding: 64px 16px; }
  .r16 { padding: 32px 22px; }
  .r17 { padding: 80px 24px; }
  .r18 { padding: 56px 20px; }
  .r19 { padding: 40px 20px; }
  .r20 { gap: 44px; }
  .r21 { display: grid; gap: 26px; grid-template-columns: 1fr; width: 100%; }
  .r22 { padding: 14px 18px; }
  .r23 { padding: 56px 20px 48px; }
  .r24 { padding: 64px 20px; }
  .r25 { margin-bottom: 36px; }
  .r26 { grid-template-columns: 1fr; gap: 20px; }
  .r27 { padding: 28px 22px; }
  .r28 { min-height: auto; }
  .r29 { padding: 56px 20px; }
  .r30 { margin: 0 0 32px; }
  .r31 { grid-template-columns: 1fr; gap: 16px; }
  .r32 { padding: 52px 20px; }
  .r33 { padding: 40px 20px; }
  .r34 { gap: 36px; }
  .r35 { display: grid; gap: 28px; grid-template-columns: 1fr; width: 100%; }
  .r36 { padding: 14px 18px; }
  .r37 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .r38 { display: grid; gap: 28px; grid-template-columns: 1fr; width: 100%; }
  .r39 { padding: 12px 12px; font-size: .8rem; }
  .r40 { text-align: center; }
  .r41 { text-align: left; }
  .r42 { gap: 16px; margin-top: 32px; }
  .r43 { grid-template-columns: 1fr; }
  .r44 { padding: 28px 22px; border-bottom: 1px solid #E0DDD8; }
  .r45 { padding: 28px 22px; border-bottom: 1px solid #E0DDD8; }
  .r46 { padding: 64px 16px; }
  .r47 { margin-bottom: 40px; }
  .r48 { grid-template-columns: 1fr; }
  .r49 { padding: 36px 20px; }
  .r50 { width: 150px; height: 150px; }
  .r51 { padding: 28px 22px; }
  .r52 { grid-template-columns: 1fr; }
  .r53 { padding: 26px 22px; margin-bottom: 32px; }
  .r54 { grid-template-columns: 1fr; gap: 20px; }
  .r55 { gap: 16px; }
  .r56 { display: none; }
  .r57 { flex-direction: column; align-items: stretch; }
  .r58 { padding: 36px 20px; }
  .r59 { gap: 14px; }
  .r60 { grid-template-columns: 1fr; gap: 28px; }
  .r61 { grid-template-columns: 1fr; }
  .r62 { grid-template-columns: 1fr; }
  .r63 { gap: 12px; flex-wrap: wrap; }
  .r64 { flex: 1 1 220px; }
  .r65 { display: none; }
  .r66 { padding: 14px 20px; }
  .r67 { padding: 40px 20px; }
  .r68 { gap: 28px; }
  .r69 { padding: 44px 20px; }
  .r70 { margin-bottom: 40px; }
  .r71 { grid-template-columns: 1fr; margin-bottom: 32px; }
  .r72 { height: auto; aspect-ratio: 1/1; }
  .r73 { object-position: 50% 10%; }
  .r74 { padding: 28px 22px; }
  .r75 { padding: 18px 18px; }
  .r76 { grid-template-columns: 1fr; margin-bottom: 32px; }
  .r77 { padding: 28px 22px; order: 2; }
  .r78 { order: 1; height: auto; aspect-ratio: 1/1; }
  .r79 { object-position: 50% 12%; }
  .r80 { grid-template-columns: 1fr; }
  .r81 { padding: 32px 20px; }
  .r82 { gap: 20px; }
  .r83 { padding: 40px 20px; grid-template-columns: 1fr; }
  .r84 { padding: 0; }
  .r85 { position: static; margin-top: 40px; }
  .r86 { padding: 24px 20px; }
  .r87 { min-height: 44px; }
  .r88 { padding: 52px 20px 44px; }
  .r89 { padding: 44px 20px 64px; }
  .r90 { padding: 52px 20px; }
  .r91 { grid-template-columns: 1fr; }
  .r92 { padding: 56px 20px; }
  .r93 { grid-template-columns: 1fr; gap: 16px; }
  .r94 { padding: 56px 20px; }
  .r95 { padding: 48px 20px; }
  .r96 { border-bottom: 1px solid #E0DDD8; }
  .r97 { border-bottom: 1px solid #E0DDD8; }
  .r98 { grid-template-columns: 1fr; }
  .r99 { padding: 36px 20px; }
  .r100 { padding: 40px 20px; grid-template-columns: 1fr; }
}

/* ---------- 5. Dreier-Raster ----------
   Drei gleichrangige Kacheln stehen entweder nebeneinander oder untereinander.
   Der Zwischenschritt (zwei nebeneinander, dritte allein darunter) entfällt.
   Die Schwellen sind gemessen; sie stehen in dreier-raster.js. */
.g1 { grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); }
@media (max-width: 1006.98px) { .g1 { grid-template-columns: 1fr; } }
.g2 { grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); }
@media (max-width: 998.98px) { .g2 { grid-template-columns: 1fr; } }
.g3 { grid-template-columns: repeat(auto-fit,minmax(min(260px,100%),1fr)); }
@media (max-width: 946.98px) { .g3 { grid-template-columns: 1fr; } }
.g4 { grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr)); }
@media (max-width: 785.98px) { .g4 { grid-template-columns: 1fr; } }
.g5 { grid-template-columns: repeat(auto-fit,minmax(min(260px,100%),1fr)); }
@media (max-width: 927.98px) { .g5 { grid-template-columns: 1fr; } }
.g6 { grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr)); }
@media (max-width: 838.98px) { .g6 { grid-template-columns: 1fr; } }
.g7 { grid-template-columns: repeat(auto-fit,minmax(min(180px,100%),1fr)); }
@media (max-width: 902.98px) { .g7 { grid-template-columns: 1fr; } }
.g8 { grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr)); }
@media (max-width: 810.98px) { .g8 { grid-template-columns: 1fr; } }
.g9 { grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr)); }
@media (max-width: 778.98px) { .g9 { grid-template-columns: 1fr; } }

/* ---------- 6. Korrekturen am Entwurf ----------
   Zwei Stellen im Kopfbereich der Startseite, die im Design-Export nicht
   sauber mitwandern. Beide waren im Original genauso und wurden am
   31.08.2026 auf Wunsch behoben. */
.hero-bild { margin-left: auto; margin-right: auto; }   /* Bild mittig, wenn es umbricht */
.hero-knopf { display: flex; align-items: center; justify-content: center; }  /* Beschriftung mittig */

/* Kennzahlen-Streifen unter dem Gruppenfoto (Startseite). Im Entwurf stehen
   die Beschriftungen auf „nicht umbrechen" mit Auslassungspunkten. Da der
   Bildkasten höchstens 480px breit ist, passt „Kommunikationspsychologie" in
   keiner Fensterbreite in sein Drittel und wurde immer abgeschnitten — am
   Handy nur besonders auffällig. Der Text darf jetzt umbrechen. Wo er in eine
   Zeile passt, bleibt er einzeilig.

   Mit Vorrang, weil die Vorgaben im Entwurf direkt am Element stehen und eine
   Stilvorlage sonst nicht dagegen ankommt. Die Trennstelle setzt inhalte.js
   als unsichtbares Trennzeichen an der Wortfuge; deshalb nur manuell. */
.kennzahl-text {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  hyphens: manual;
  -webkit-hyphens: manual;
  overflow-wrap: break-word;
  line-height: 1.3;
}

/* Programmablauf: unterhalb der Zeitleisten-Schwelle ein Kasten pro Zeile,
   damit die Schritte in Lesereihenfolge untereinander stehen. */
@media (max-width: 900.98px) { .ablauf1 > * { flex: 1 1 100%; } }

/* Ansatz-Abschnitt der Startseite: auf schmalen Bildschirmen näher an den
   Abschnitt darüber, der dieselbe Hintergrundfarbe hat. */
@media (max-width: 900.98px) { .ansatz-abschnitt { padding-top: 24px; } }

/* Team-Abschnitt der Startseite etwas höher gezogen. */
.team-abschnitt { padding-top: 48px; }
@media (max-width: 900.98px) { .team-abschnitt { padding-top: 40px; } }

/* Bildkästen auf den Team-Seiten. Unterhalb von 901 px kam die Höhe allein aus
   aspect-ratio; zusammen mit align-self: stretch und dem absolut positionierten
   Bild ergab das in Safari auf dem iPhone die Höhe 0 — die Fotos waren dort
   unsichtbar. Der untere Innenabstand von 100 % der Breite erzeugt dasselbe
   Quadrat, aber in jedem Browser eindeutig. */
@media (max-width: 900.98px) {
  .bildkasten { aspect-ratio: auto; height: 0; padding-bottom: 100%; }
}

/* Teamfotos auf den 2-Tages-Seiten: hochkant, solange die Karten nebeneinander
   stehen — quadratisch, sobald sie untereinander rutschen. */
.team-bild { aspect-ratio: 4 / 5; }
@media (max-width: 927.98px) { .team-bild { aspect-ratio: 1 / 1; } }

/* Kontakt-Knopf in der Navigation (Innenabstand hier statt am Element, damit
   er sich für das Handy überschreiben lässt). */
.menue-knopf { padding: 9px 22px; }

/* Aufgeklapptes Menü auf dem Handy: Die Menüpunkte waren nur so breit und hoch
   wie ihr Text — „Home" etwa 41 × 17 Pixel. Hier sind sie über die volle Breite
   tippbar und rund 45 Pixel hoch; das entspricht der üblichen Empfehlung von
   44 Pixeln. Am Rechner ändert sich nichts, die Regeln greifen nur unterhalb
   von 880 Pixeln, wo das Klappmenü erscheint. */
@media (max-width: 879.98px) {
  [data-ht="menu-panel"] ul { gap: 6px; }
  [data-ht="menu-panel"] li { width: 100%; }
  .menue-link { display: block; padding: 14px 0; }
  .sprach-link { display: inline-block; padding: 6px 10px; }
  /* Ohne inline-block reserviert der Knopf im Klappmenü keine Höhe: sein
     Listeneintrag blieb 25 statt 45 Pixel hoch, wodurch er zu dicht unter
     „Team" saß. Der kleine Abstand darüber setzt ihn zusätzlich als eigene
     Handlung vom Menü ab. */
  .menue-knopf { display: inline-block; padding: 14px 22px; }
  .menue-knopf-eintrag { margin-top: 10px; }
}

/* Kacheln mit zentriertem Inhalt (Coaching- und 1-Tages-Workshop-Seiten). */
.karten-mitte { text-align: center; }
.karten-symbol { margin-left: auto; margin-right: auto; }

/* ---------- 7. Mobiles Menü und Cookie-Hinweis ---------- */
[data-ht="menu-panel"].ht-menu-open { display: flex !important; }
html.ht-cookie-ok [data-ht="cookie-banner"] { display: none !important; }
