/* Seitenspezifische Ergänzungen für ueber-uns —
   aus dem Prototyp übernommen. Die Grundlagen stehen in site.css. */

:root{
  --gold-main:#EBC35F;--gold-light:#FBF4D8;--gold-mid:#F9E9B4;--gold-dark:#C49A28;--gold-deeptext:#7A5800;
  --green-main:#5C8A3C;--green-light:#EAF3DE;--green-mid:#C8E0B0;--green-dark:#3A5A22;--green-deepest:#2A3A1A;--green-text:#1E3A10;
  --peach-main:#F8DCC4;--peach-light:#FDF5EF;--peach-dark:#C47A3A;
  --cream-bg:#F9F6F0;--cream-border:#EDE7DC;
  --text-primary:#2C2C2C;--text-mid:#555;--text-muted:#888;--white:#FFF;
  --radius-btn:24px;--max:1320px;--header-h:66px;
  /* Hub-Seite: Kids-Basispalette Gruen/Gold (neutral) */
  --cat-main:#5C8A3C;--cat-dark:#3A5A22;--cat-light:#EAF3DE;--cat-mid:#C8E0B0;--cat-deeptext:#1E3A10;
  /* Therapie-Farben (Wayfinding-Legende dieser Seite) */
  --t-physio:#91ABDA;--t-physio-d:#4A6FA5;--t-physio-l:#E6EBF2;
  --t-ergo:#597C57;--t-ergo-d:#3E5A3C;--t-ergo-l:#E2EDE8;
  --t-logo:#F3A69C;--t-logo-d:#B05A4E;--t-logo-l:#FCE2E3;
  --t-neuro:#958FB7;--t-neuro-d:#665E8A;--t-neuro-l:#EAE5F0;
  --t-intensiv:#C47A3A;--t-intensiv-d:#9A5623;--t-intensiv-l:#FDF5EF;
  --t-apart:#6587B7;--t-apart-d:#3F5E8C;--t-apart-l:#E7EDF6;
  --t-preise:#C49A28;--t-preise-d:#7A5800;--t-preise-l:#FBF4D8;
  --t-ablauf:#5C8A3C;--t-ablauf-d:#3A5A22;--t-ablauf-l:#EAF3DE;
}
.nav-item::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
.nav-item:focus-within>.dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
/* LOCATIONS */
.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:960px){
  .nav-main,.nav-right{display:none!important}
  .hamburger{display:flex!important}
  .hero{padding:56px 0 44px}
  .ansatz-grid,.warum-intro-grid{grid-template-columns:1fr}
  .card-grid,.subtherapy-grid{grid-template-columns:repeat(2,1fr)}
  .warum-grid{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .intensiv-band{grid-template-columns:1fr}
  .diag-grid{grid-template-columns:repeat(3,1fr)}
  .price-grid{grid-template-columns:1fr}
  .testimonial-grid,.location-grid{grid-template-columns:1fr}
  /* Fußzeile: die Regeln für kleine Schirme stehen in site.css.
     Hier standen sie doppelt und haben die dortigen überschrieben, weil
     diese Datei später geladen wird — dadurch sah die Fußzeile auf jeder
     Unterseite anders aus als auf der Startseite, die keine eigene
     Datei hat. */
}
/* ===== ÜBER UNS ===== */
.wer-grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:40px;align-items:start}
.wer-photo{position:relative;max-width:230px}
.wer-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:48% 52% 45% 55%/50% 42% 58% 50%;border:4px solid var(--cat-mid)}
.wer-photo::before{content:'';position:absolute;width:70px;height:70px;border-radius:50%;background:var(--gold-mid);bottom:-12px;right:-8px;z-index:-1;opacity:.75}
/* mission / vision panels */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mv-card{background:var(--white);border:1px solid var(--cream-border);border-top:5px solid var(--tc,var(--cat-main));border-radius:18px;padding:30px 28px;position:relative;transition:all .3s}
.mv-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(42,58,26,.1)}
.mv-ic{width:52px;height:52px;border-radius:14px;background:var(--tcl,var(--cat-light));display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px}
.mv-card h3{font-size:20px;margin-bottom:10px}
.mv-card p{color:var(--text-mid);font-size:14px;line-height:1.65;margin-bottom:9px}
/* founders quote */
.quote-band{background:linear-gradient(135deg,var(--gold-light) 0%,var(--white) 60%);border:2px solid var(--gold-main);border-radius:22px;padding:34px 36px;margin-top:26px;display:flex;gap:24px;align-items:center;flex-wrap:wrap;box-shadow:0 14px 36px rgba(196,154,40,.14);position:relative;overflow:visible}
.qb-faces{display:flex;flex-shrink:0}
.qb-faces img{width:66px;height:66px;border-radius:50%;object-fit:cover;border:3px solid var(--white);box-shadow:0 3px 10px rgba(42,58,26,.14)}
.qb-faces img + img{margin-left:-20px}
.qb-text{flex:1;min-width:240px}
.qb-text blockquote{font-family:'Playfair Display',serif;font-style:italic;font-size:19px;color:var(--green-deepest);line-height:1.5;margin-bottom:8px}
.qb-text cite{font-size:13px;color:var(--text-muted);font-style:normal;font-weight:700}
/* stats */
.st-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.st-cell{background:var(--white);border:1px solid var(--cream-border);border-radius:16px;padding:24px 20px;text-align:center;transition:all .3s}
.st-cell:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(42,58,26,.09);border-color:var(--cat-main)}
.st-cell b{display:block;font-family:'Playfair Display',serif;font-size:34px;color:var(--cat-dark);line-height:1.05}
.st-cell span{font-size:13px;color:var(--text-mid);display:block;margin-top:6px;line-height:1.45}
/* values */
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.val-cell{background:var(--white);border:1px solid var(--cream-border);border-radius:16px;padding:24px 22px;transition:all .3s}
.val-cell:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(42,58,26,.09);border-color:var(--cat-main)}
.val-ic{width:48px;height:48px;border-radius:13px;background:var(--cat-light);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:13px}
.val-cell h3{font-size:16.5px;margin-bottom:6px;line-height:1.3}
.val-cell p{color:var(--text-mid);font-size:13.5px;line-height:1.6}
/* founders + team */
.fnd-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.fnd-card{background:var(--white);border:1px solid var(--cream-border);border-radius:18px;padding:26px;display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:start;transition:all .3s;position:relative}
.fnd-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(42,58,26,.11);border-color:var(--cat-main)}
.fnd-photo{width:110px;aspect-ratio:3/4;object-fit:cover;border-radius:46% 54% 48% 52%/52% 44% 56% 48%;border:3px solid var(--cat-mid)}
.fnd-role{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cat-dark);margin-bottom:4px}
.fnd-card h3{font-size:19px;margin-bottom:8px}
.fnd-card p{color:var(--text-mid);font-size:13.5px;line-height:1.6}
/* Der Streifen zeigt sieben Personen als Hinweis auf die Teamseite — nicht
   als Hauptinhalt. Deshalb kleinere Karten und ein Raster, das sich nach der
   Breite richtet, statt fester fünf Spalten. */
.team-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:14px;margin-top:24px}
.team-chip{background:var(--white);border:1px solid var(--cream-border);border-radius:14px;padding:14px 12px 16px;
           text-align:center;transition:all .3s;position:relative}
.team-chip:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(42,58,26,.11);border-color:var(--cat-main)}
/* Foto auf die halbe Grösse: feste 96px statt volle Kartenbreite. Mittig,
   damit die Karte ruhig bleibt. */
.team-chip img{width:96px;max-width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;
  display:block;margin:0 auto;transition:transform .45s}
.team-chip:hover img{transform:scale(1.04)}
.team-chip b{display:block;font-family:'Playfair Display',serif;font-size:14px;color:var(--green-deepest);margin-top:11px;line-height:1.3}
.team-chip span{font-size:11.5px;color:var(--text-muted);display:block;margin-top:2px;line-height:1.4}
/* „Profil ansehen" war nur beim Überfahren sichtbar — auf dem Telefon also
   nie. Jetzt immer da, beim Überfahren nur etwas kräftiger. */
.team-chip .tc-more{display:block;font-size:11.5px;font-weight:700;color:var(--cat-mid);margin-top:8px;transition:color .2s}
.team-chip:hover .tc-more{color:var(--cat-dark)}
/* ===== ZEITSTRAHL: Jahresachse + vertikale Einträge (kein Scrollen) ===== */
.yr-axis{position:relative;display:grid;grid-template-columns:repeat(6,1fr);margin:8px 0 34px;padding-top:6px}
.yr-axis::before{content:'';position:absolute;left:8.33%;right:8.33%;top:32px;height:5px;border-radius:3px;
                 background:linear-gradient(90deg,var(--cat-mid),var(--cat-main) 55%,var(--gold-main));z-index:0}
.yr{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;padding-bottom:4px}
.yr-dot{width:54px;height:54px;border-radius:50%;background:var(--white);border:4px solid var(--cat-main);
        display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700;
        font-size:14.5px;color:var(--cat-dark);box-shadow:0 4px 14px rgba(42,58,26,.14);transition:all .28s}
.yr:hover .yr-dot{transform:scale(1.09);border-color:var(--gold-main)}
.yr.now .yr-dot{width:64px;height:64px;border-color:var(--gold-main);background:var(--gold-light);
                color:var(--gold-deeptext);box-shadow:0 0 0 9px rgba(235,195,95,.2)}
.yr-tick{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:center}
.yr:hover .yr-tick{color:var(--cat-dark)}
.tl-list{display:flex;flex-direction:column;gap:14px}
.tl-row{display:grid;grid-template-columns:86px 1fr;gap:20px;align-items:start;position:relative;
        scroll-margin-top:calc(var(--header-h) + 26px)}
.tl-mark{display:flex;flex-direction:column;align-items:center;position:relative}
.tl-num{width:62px;height:62px;border-radius:50%;background:var(--white);border:4px solid var(--cat-main);
        display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700;
        font-size:15px;color:var(--cat-dark);flex-shrink:0;z-index:2;transition:all .28s;box-shadow:0 4px 14px rgba(42,58,26,.12)}
.tl-row.now .tl-num{border-color:var(--gold-main);background:var(--gold-light);color:var(--gold-deeptext);
                    box-shadow:0 0 0 9px rgba(235,195,95,.18)}
/* connecting spine between the year markers */
.tl-mark::after{content:'';position:absolute;top:62px;bottom:-14px;left:50%;width:4px;transform:translateX(-50%);
                background:var(--cat-mid);opacity:.7;z-index:1}
.tl-row:last-child .tl-mark::after{display:none}
.tl-card{background:var(--white);border:1px solid var(--cream-border);border-left:5px solid var(--ac,var(--cat-main));
         border-radius:16px;padding:20px 24px;transition:all .3s}
.tl-row:hover .tl-card{transform:translateX(4px);box-shadow:0 12px 30px rgba(42,58,26,.1);border-color:var(--ac,var(--cat-main))}
.tl-row.now .tl-card{border-color:var(--gold-main);background:linear-gradient(120deg,var(--gold-light),var(--white) 62%)}
.tl-card h3{font-size:18px;margin-bottom:7px;line-height:1.32}
.tl-card p{color:var(--text-mid);font-size:14px;line-height:1.6}
@media(max-width:900px){
  .yr-axis{grid-template-columns:repeat(3,1fr);row-gap:20px}
  .yr-axis::before{display:none}
  .tl-row{grid-template-columns:62px 1fr;gap:14px}
  .tl-num{width:52px;height:52px;font-size:13.5px;border-width:3px}
  .tl-mark::after{top:52px}
  .tl-card{padding:16px 18px}
}
@media(max-width:520px){
  .yr-axis{grid-template-columns:repeat(2,1fr)}
}
/* locations */
.loc2-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.loc2-card{background:var(--white);border:1px solid var(--cream-border);border-top:5px solid var(--cat-main);border-radius:18px;padding:26px 24px;transition:all .3s;position:relative}
.loc2-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(42,58,26,.11)}
.loc2-card h3{font-size:20px;margin-bottom:14px}
.loc2-row{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--cream-border);font-size:13.5px}
.loc2-row:last-of-type{border-bottom:none}
.loc2-row b{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}
.loc2-row span{color:var(--text-mid)}
@media(max-width:900px){
  .wer-grid{grid-template-columns:1fr}
  .mv-grid,.fnd-grid,.loc2-grid{grid-template-columns:1fr}
  .st-grid,.val-grid{grid-template-columns:repeat(2,1fr)}
  /* Zeitstrahl wird zur vertikalen Zeitleiste */
  .tl{display:block;overflow:visible;margin-right:0;scroll-snap-type:none}
  .tl-item{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto;flex:none;padding:0;position:relative}
  .tl-item + .tl-item{margin-top:16px}
  .tl-axis{grid-row:1;grid-column:1;justify-content:center;align-items:flex-start;padding-top:4px}
  .tl-axis::before{left:50%;right:auto;top:0;bottom:0;width:4px;height:auto;transform:translateX(-50%)}
  .tl-item:first-child .tl-axis::before{top:26px}
  .tl-item:last-child  .tl-axis::before{bottom:auto;height:30px}
  .tl-dot{width:52px!important;height:52px!important;font-size:14px!important;box-shadow:0 4px 12px rgba(42,58,26,.14)!important}
  .tl-item:nth-child(odd) .tl-card,.tl-item:nth-child(even) .tl-card{grid-row:1;grid-column:2;align-self:start;margin:0}
  .tl-card::after{display:none}
  .tl-foot{display:none}
}
@media(min-width:1280px){
  .hero{min-height:420px;display:flex;align-items:center;padding-top:40px;padding-bottom:36px}
  .hero > .wrap{width:100%}
}
@media(min-width:1600px){
  .hero{min-height:450px}
}

/* Sehr schmale Geräte (320px): Wertekarten schrumpfen lassen. Regel hier, weil
   diese Datei nach site.css geladen wird. */
@media(max-width:360px){
  .val-cell, .val-cell > *, .val-cell h3, .val-cell p{min-width:0}
  .val-grid{grid-template-columns:minmax(0,1fr)}
  /* Gründerkarten: dieselbe Ursache, min-width:auto machte sie inhaltsbreit */
  .fnd-card, .fnd-card > *, .fnd-grid > *{min-width:0}
  .fnd-grid{grid-template-columns:minmax(0,1fr)}
}
