/* Vladimir Balanescu, Physiotherapeut — Roßdorf bei Darmstadt
   ------------------------------------------------------------------
   Thema: EINE PRAXIS, EIN THERAPEUT. Seit 2007 behandelt hier derselbe
   Mann; es gibt kein Team, keine Vertretung, keinen Wechsel. Deshalb
   spricht die Seite in der ersten Person Einzahl, und deshalb steht der
   Behandlungsablauf (aus dem PDF der Altseite) so weit vorn: Wer allein
   arbeitet, muss vorher sagen, wie er arbeitet.

   Abgrenzung zu den beiden anderen Physio-Seiten im Bestand:
     Physiotherapie Singer  — weiß, kühles Grün, Fraunces/Karla
     Praxis Schirmer        — dunkel, Petrol, Faustina/Public Sans
   Hier ist beides anders: warmes Creme als Grund, Terrakotta als Akzent,
   Cormorant Garamond über Jost, und die dunklen Bänder sind Brauntöne
   statt Blaugrau. Die Farbe ist nicht erfunden — sie ist aus der Logodatei
   gemessen (#a84818 zu 82 %, #c04818 zu 14 %).

   Nachgerechnet:
     #a84818 auf #faf6f1 = 5,4:1    Akzenttext auf Creme
     #ffffff auf #a84818 = 5,8:1    gefüllte Knöpfe
     #241a13 auf #faf6f1 = 15,8:1   Fließtext
     #5d5047 auf #faf6f1 =  7,2:1   Nebentext
     #f3ece4 auf #2a1b12 = 14,2:1   Text auf dunklem Band
     #e08a53 auf #2a1b12 =  6,3:1   Akzent auf dunklem Band

   Mobile first (Hausregel 3): Grundregeln beschreiben die schmale Ansicht.
*/

@font-face{font-family:CormorantLokal;src:url("schrift/cormorant-garamond-600.woff2?v=20260806b") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:CormorantLokal;src:url("schrift/cormorant-garamond-400.woff2?v=20260806b") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:JostLokal;src:url("schrift/jost-400.woff2?v=20260806b") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:JostLokal;src:url("schrift/jost-500.woff2?v=20260806b") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:JostLokal;src:url("schrift/jost-600.woff2?v=20260806b") format("woff2");font-weight:600;font-display:swap}

:root{
  --creme:#faf6f1;
  --creme-2:#f2eae0;
  --linie:rgba(36,26,19,.14);
  --tinte:#241a13;
  --gedaempft:#5d5047;
  --terra:#a84818;
  --terra-tief:#8a380f;
  --dunkel:#2a1b12;
  --dunkel-2:#22150e;
  --auf-dunkel:#f3ece4;
  --auf-dunkel-2:#c9bbae;
  --terra-hell:#e08a53;
  --r:3px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--creme);color:var(--tinte);
  font-family:JostLokal,system-ui,Arial,sans-serif;line-height:1.64;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

h1,h2,h3{font-family:CormorantLokal,Georgia,serif;font-weight:600;
  line-height:1.08;margin:0;letter-spacing:-.005em;overflow-wrap:break-word}
h1{font-size:clamp(2.5rem,10vw,3.6rem)}
h2{font-size:clamp(2rem,7.2vw,2.7rem)}
h3{font-size:1.22rem;line-height:1.2}
p{margin:0;color:var(--gedaempft)}
h1+p,h2+p,h3+p{margin-top:1rem}
strong{color:var(--tinte);font-weight:600}

/* Augenbraue: kleine Kapitälchen mit Punkt statt Strich — ruhiger als bei
   den beiden anderen Praxisseiten, passt zur Serife. */
.marke{display:inline-flex;align-items:center;gap:.6rem;font-family:JostLokal;
  font-weight:500;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--terra);margin-bottom:1rem}
.marke::before{content:"";width:.42rem;height:.42rem;border-radius:50%;
  background:currentColor}

.sprung{position:absolute;left:-9999px;top:.5rem;background:var(--terra);
  color:#fff;padding:.7rem 1rem;z-index:40;border-radius:var(--r);font-weight:600}
.sprung:focus{left:.75rem}

/* ── Kopf ─────────────────────────────────────────────────────────── */
.kopf{position:sticky;top:0;z-index:30;background:rgba(250,246,241,.95);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--linie)}
.kopf__innen{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;row-gap:.15rem;column-gap:.5rem;
  max-width:1160px;margin:auto;padding:.3rem .85rem .35rem}
/* Logo vorhanden: kein Wortlaut daneben (Ansage 05.08.2026). */
.logo{order:1;flex:0 0 auto;display:flex;align-items:center;min-height:36px}
.logo img{height:38px;width:auto}
.wege{order:3;flex:1 0 100%;display:flex;gap:.1rem;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:none}
.wege::-webkit-scrollbar{display:none}
.wege a{flex:0 0 auto;font-size:.84rem;color:var(--gedaempft);
  padding:.3rem .5rem;border-radius:var(--r);white-space:nowrap}
.wege a:hover{color:#fff;background:var(--terra)}
.ruf{order:2;flex:0 0 auto}

.knopf{display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:.6rem 1.2rem;border-radius:var(--r);
  border:1px solid var(--terra);background:var(--terra);color:#fff;
  font-family:JostLokal;font-weight:500;font-size:.94rem;cursor:pointer}
.knopf:hover{background:var(--terra-tief);border-color:var(--terra-tief)}
.kopf .knopf{min-height:36px;padding:.3rem .85rem;font-size:.86rem}
.knopf--leer{background:transparent;color:var(--tinte);border-color:var(--linie)}
.knopf--leer:hover{background:rgba(36,26,19,.06);border-color:var(--tinte)}
.dunkel .knopf--leer{color:var(--auf-dunkel);border-color:rgba(243,236,228,.3)}
.dunkel .knopf--leer:hover{background:rgba(243,236,228,.1);border-color:var(--auf-dunkel)}

/* ── Hero ─────────────────────────────────────────────────────────── */
.hero{position:relative;display:grid;align-items:end;min-height:72vh;
  overflow:hidden;background:var(--dunkel)}
.hero__bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 30%}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(42,27,18,.96) 8%,rgba(42,27,18,.55) 56%,rgba(42,27,18,.5)),
             linear-gradient(90deg,rgba(42,27,18,.9) 4%,rgba(42,27,18,.4) 52%,transparent 84%)}
.hero__innen{position:relative;z-index:1;width:100%;max-width:1160px;
  margin-inline:auto;padding:5rem 1rem 2.8rem;color:var(--auf-dunkel)}
.hero .marke{color:var(--terra-hell)}
.hero p{font-size:1.08rem;max-width:38rem;color:var(--auf-dunkel-2)}
.hero__knoepfe{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.8rem}
.hero__knoepfe .knopf{flex:1 1 14rem}
.hero__knoepfe .knopf--leer{color:var(--auf-dunkel);border-color:rgba(243,236,228,.32)}

/* ── Bänder ───────────────────────────────────────────────────────── */
.band{padding:3.6rem 1rem}
.band.creme-2{background:var(--creme-2)}
.band.dunkel{background:var(--dunkel);color:var(--auf-dunkel)}
.band.dunkel p{color:var(--auf-dunkel-2)}
.band.dunkel .marke{color:var(--terra-hell)}
.band.dunkel strong{color:var(--auf-dunkel)}
.innen{max-width:1160px;margin:auto}
.zwei{display:grid;gap:1.6rem}
.zwei p{font-size:1.05rem}

/* ── Liste der Anwendungen ────────────────────────────────────────── */
.liste{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:0;
  border-top:1px solid var(--linie)}
.dunkel .liste{border-color:rgba(243,236,228,.2)}
.liste li{padding:.85rem 0 .85rem 1.6rem;position:relative;
  border-bottom:1px solid var(--linie);font-size:.98rem}
.dunkel .liste li{border-color:rgba(243,236,228,.2)}
.liste li::before{content:"";position:absolute;left:.2rem;top:1.32em;
  width:.36rem;height:.36rem;border-radius:50%;background:var(--terra)}
.dunkel .liste li::before{background:var(--terra-hell)}
.liste b{font-weight:500}
.liste span{display:block;font-size:.88rem;color:var(--gedaempft);margin-top:.15rem}
.dunkel .liste span{color:var(--auf-dunkel-2)}

/* ── Kacheln ──────────────────────────────────────────────────────── */
.kacheln{display:grid;gap:1.2rem;margin-top:2.2rem}
.kachel{border:1px solid var(--linie);border-radius:var(--r);padding:1.5rem;
  background:#fff}
.creme-2 .kachel{background:var(--creme)}
.dunkel .kachel{background:rgba(243,236,228,.05);border-color:rgba(243,236,228,.2)}
.kachel h3{margin-bottom:.6rem}
.kachel p{font-size:.96rem}

/* ── Bilder ───────────────────────────────────────────────────────── */
.bildband{margin:2.2rem 0 0}
.bildband img{width:100%;height:52vw;max-height:400px;min-height:210px;
  object-fit:cover;border-radius:var(--r)}
.bildband figcaption{margin-top:.65rem;font-size:.86rem;color:var(--gedaempft)}
.dunkel .bildband figcaption{color:var(--auf-dunkel-2)}
.paar{display:grid;gap:1.2rem;margin-top:2.2rem}
.paar figure{margin:0}
.paar img{width:100%;height:46vw;max-height:330px;min-height:200px;
  object-fit:cover;border-radius:var(--r)}
.paar figcaption{margin-top:.6rem;font-size:.86rem;color:var(--gedaempft)}
.dunkel .paar figcaption{color:var(--auf-dunkel-2)}

.streifen{display:block;height:42vw;max-height:380px;min-height:180px;overflow:hidden}
.streifen img{width:100%;height:100%;object-fit:cover;object-position:center 38%}

/* ── Mitmach-Stationen ────────────────────────────────────────────── */
.station{margin-top:2.2rem;border:1px solid var(--linie);border-radius:var(--r);
  padding:1.4rem;background:#fff}
.creme-2 .station{background:var(--creme)}
.dunkel .station{background:rgba(243,236,228,.05);border-color:rgba(243,236,228,.2)}

/* Ablauf: die fünf Schritte als anklickbare Reihe */
.schritte{display:grid;gap:.5rem}
.schritte button{display:flex;align-items:center;gap:.85rem;width:100%;
  text-align:left;min-height:52px;padding:.75rem 1rem;border-radius:var(--r);
  border:1px solid var(--linie);background:transparent;color:var(--tinte);
  font-family:JostLokal;font-weight:500;font-size:.97rem;cursor:pointer}
.schritte button em{font-style:normal;font-family:CormorantLokal,Georgia,serif;
  font-size:1.3rem;font-weight:600;color:var(--terra);min-width:1.5rem}
.schritte button[aria-pressed="true"]{background:var(--terra);color:#fff;
  border-color:var(--terra)}
.schritte button[aria-pressed="true"] em{color:#fff}

.wahl{display:grid;gap:.55rem}
.wahl button{display:block;width:100%;text-align:left;min-height:50px;
  padding:.8rem 1rem;border:1px solid var(--linie);border-radius:var(--r);
  background:transparent;color:var(--tinte);font-family:JostLokal;
  font-weight:500;font-size:.97rem;cursor:pointer;line-height:1.35}
.wahl button[aria-pressed="true"]{background:var(--terra);color:#fff;
  border-color:var(--terra)}
.dunkel .wahl button,.dunkel .schritte button{color:var(--auf-dunkel);
  border-color:rgba(243,236,228,.25)}

.antwort{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid var(--linie)}
.dunkel .antwort{border-color:rgba(243,236,228,.2)}
.antwort h3{margin-bottom:.55rem}
.antwort .knopf{margin-top:1.2rem}
.fein{font-size:.85rem;color:var(--gedaempft);margin-top:1.1rem}
.dunkel .fein{color:var(--auf-dunkel-2)}

/* ── Unterlagen zum Herunterladen ─────────────────────────────────── */
.unterlagen{display:grid;gap:.8rem;margin-top:2rem}
.unterlagen a{display:flex;align-items:center;gap:.9rem;min-height:56px;
  padding:.9rem 1.1rem;border:1px solid var(--linie);border-radius:var(--r);
  background:#fff;font-weight:500}
.creme-2 .unterlagen a{background:var(--creme)}
.unterlagen a:hover{border-color:var(--terra);color:var(--terra)}
.unterlagen em{font-style:normal;font-size:.8rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--terra)}

/* ── Kontakt ──────────────────────────────────────────────────────── */
.daten{display:grid;gap:0;margin-top:1.5rem;border-top:1px solid var(--linie)}
.daten p{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:.2rem 1.2rem;padding:.15rem 0;border-bottom:1px solid var(--linie)}
.daten b{font-family:JostLokal;font-weight:600;font-size:.98rem;color:var(--tinte)}
.daten span{color:var(--gedaempft);font-size:.9rem}
.daten b,.daten span,.daten a{display:flex;align-items:center;min-height:44px;margin:0}
.daten a{color:var(--terra);text-decoration:underline;text-underline-offset:3px}

.zeiten{display:grid;gap:0;margin-top:1.6rem;border-top:1px solid var(--linie)}
.zeiten div{display:flex;flex-wrap:wrap;justify-content:space-between;
  gap:.2rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--linie)}
.zeiten b{font-family:JostLokal;font-weight:600;font-size:.98rem}
.zeiten span{color:var(--gedaempft);font-size:.9rem}

.formular{display:grid;gap:.95rem}
label.feld{display:grid;gap:.35rem;font-size:.9rem;font-weight:500}
input,select,textarea{width:100%;min-height:48px;padding:.7rem .85rem;font:inherit;
  font-size:1rem;border-radius:var(--r);border:1px solid var(--linie);
  background:#fff;color:var(--tinte)}
textarea{min-height:7.5rem;resize:vertical}

/* Karte: erst nach Zustimmung, deshalb kein Einwilligungsbanner. */
.karte-block{position:relative;min-height:320px;display:grid;
  background:var(--dunkel-2);color:var(--auf-dunkel)}
.karte-block iframe{border:0;width:100%;height:100%;min-height:320px;display:block}
.karte__sperre{align-self:center;justify-self:center;max-width:34rem;
  padding:2.4rem 1.2rem;text-align:center}
.karte__sperre p{font-size:.95rem;color:var(--auf-dunkel-2)}
.karte__aktionen{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;
  margin-top:1.2rem}
.karte__aktionen .knopf--leer{color:var(--auf-dunkel);border-color:rgba(243,236,228,.32)}

/* ── Fuß ──────────────────────────────────────────────────────────── */
.fuss{background:var(--dunkel);color:var(--auf-dunkel);padding:2.8rem 1rem;
  font-size:.92rem}
.fuss__innen{max-width:1160px;margin:auto;display:grid;gap:1.5rem}
.fuss p{color:var(--auf-dunkel-2)}
.fuss a{color:var(--auf-dunkel-2);text-decoration:underline;text-underline-offset:3px}
.fuss a:hover{color:var(--terra-hell)}
.fuss img{height:40px;width:auto;margin-bottom:1rem;filter:brightness(1.5)}

/* ── Rechtstexte ──────────────────────────────────────────────────── */
.rechtstext{max-width:44rem}
.rechtstext h1{font-size:clamp(2.2rem,8vw,2.9rem);margin-bottom:.5rem}
.rechtstext h2{font-size:1.3rem;margin:2.2rem 0 .5rem}
.rechtstext p{margin-bottom:.9rem}
.hinweis{margin-top:2.6rem;border:1px solid var(--terra);border-left-width:4px;
  background:rgba(168,72,24,.07);padding:1.2rem;border-radius:var(--r)}
.hinweis strong{display:block;font-family:CormorantLokal,Georgia,serif;
  font-size:1.2rem;font-weight:600;color:var(--terra-tief);margin-bottom:.5rem}
.hinweis p:last-child{margin-bottom:0}

/* ══ ab 620 px ════════════════════════════════════════════════════ */
@media (min-width:620px){
  .kacheln{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .paar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .liste{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2.4rem}
  .formular{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .formular .weit{grid-column:1/-1}
  .fuss__innen{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero__knoepfe .knopf{flex:0 0 auto}
  .unterlagen{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}

/* ══ ab 760 px: Kopf einreihig ════════════════════════════════════ */
@media (min-width:760px){
  .kopf__innen{flex-wrap:nowrap;padding:.5rem 1.4rem;column-gap:1.2rem}
  .logo{order:0}
  .logo img{height:52px}
  .wege{order:0;flex:1 1 auto;justify-content:center;overflow:visible}
  .wege a{font-size:.87rem;padding:.45rem .7rem}
  .ruf{order:0}
  .kopf .knopf{min-height:42px;padding:.5rem 1rem;font-size:.88rem}
  .band{padding:5.2rem 1.4rem}
  .hero__innen{padding:7rem 1.4rem 4rem}
  .fuss{padding:3.6rem 1.4rem}
  .kacheln{grid-template-columns:repeat(3,1fr)}
}

/* ══ ab 1000 px ═══════════════════════════════════════════════════ */
@media (min-width:1000px){
  h1{font-size:clamp(3.2rem,5.6vw,4.6rem)}
  h2{font-size:clamp(2.3rem,3.6vw,3.1rem)}
  .hero{min-height:80vh}
  /* Ueberschrift und Text stehen UNTEREINANDER (Hausregel 15). Nur echte
     Blockpaare — Kontaktdaten und Formular — stehen nebeneinander. */
  .zwei{grid-template-columns:minmax(0,1fr);gap:1.2rem}
  .zwei > div > p{max-width:70ch}
  .zwei.gespann{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.6rem;align-items:start}
  .band{padding:6.2rem 2rem}
  .hero__innen{padding:8rem 2rem 5rem}
  .liste{grid-template-columns:repeat(3,1fr);column-gap:2.4rem}
  /* Hausregel 9: zwischen Kontakt, Karte und Fuss bleibt keine Flaeche stehen. */
}
.band--anschluss{padding-bottom:0}
.band--anschluss > .innen{padding-bottom:3.6rem}

/* Lange deutsche Woerter (Craniomandibulaere, Fussreflexzonenmassage)
   liefen auf 320 px aus der Seite. */
@media (max-width:719.98px){
  h1,h2,h3,p,.liste li,.wahl button{hyphens:auto}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
