/* leistung-intensivpflege — seiteneigene Stile (nach site.css) */

/* „Atemzug für Atemzug" — Bühnen-Szene (.bs, Muster in site.css): Wohnzimmer über die volle Breite,
   Pflegebett mit beatmetem Patienten groß links, Tafel rechts. Dauerschleifen über --tempo,
   Wege unter reduced motion über --amp gedämpft (nie abgeschaltet). Nichts ist per CSS versteckt. */
.scrolly-atemzug { --bs-ar: 3 / 2; --amp: 1; background: #D6BC96; }
@media (prefers-reduced-motion: reduce) { .scrolly-atemzug { --amp: .3; } }
.sp-atemzug text { font-family: var(--font-body); }
.sp-atemzug .az-mini { font-size: 7px; font-weight: 600; fill: #BFE7EC; letter-spacing: .02em; }
.sp-atemzug .az-mini-koralle { fill: #F08A75; }
.sp-atemzug .az-wert { font-family: var(--font-head); font-size: 22px; font-weight: 700; fill: #FFFFFF; }
.sp-atemzug .az-lupe-klein { font-size: 10px; font-weight: 700; fill: #0A2E36; letter-spacing: .03em; }

/* Atem: 4 s je Atemzug (AF 15), Einatmen kurz, Ausatmen lang — Decke, Brust, Schlauch, Kurve im selben Takt */
.sp-atemzug .az-atem-brust { transform-box: fill-box; transform-origin: 0% 100%; animation: az-brust calc(4s * var(--tempo)) var(--ease-in-out) infinite; }
.sp-atemzug .az-atem-decke { transform-box: fill-box; transform-origin: 50% 100%; animation: az-decke calc(4s * var(--tempo)) var(--ease-in-out) infinite; }
.sp-atemzug .az-schlauch-atem { animation: az-schlauch calc(4s * var(--tempo)) var(--ease-in-out) infinite; animation-delay: calc(.12s * var(--tempo)); }
.sp-atemzug .az-pilot { transform-box: fill-box; transform-origin: 50% 0%; animation: az-pilot calc(4s * var(--tempo)) var(--ease-in-out) infinite; animation-delay: calc(.3s * var(--tempo)); }
.sp-atemzug .az-lunge { transform-box: fill-box; transform-origin: 50% 0%; animation: az-lunge calc(4s * var(--tempo)) var(--ease-in-out) infinite; }
.sp-atemzug .az-kurve-lauf { animation: az-lauf-46 calc(4s * var(--tempo)) linear infinite; }
.sp-atemzug .az-pleth-lauf { animation: az-lauf-40 calc(.83s * var(--tempo)) linear infinite; }
.sp-atemzug .az-herz { transform-box: fill-box; transform-origin: 50% 50%; animation: az-herz calc(.83s * var(--tempo)) var(--ease-in-out) infinite; }
.sp-atemzug .az-led-hof { animation: az-glimm calc(2.4s * var(--tempo)) var(--ease-in-out) infinite alternate; }
.sp-atemzug .az-clip-led { animation: az-glimm calc(.83s * var(--tempo)) var(--ease-in-out) infinite alternate; }
@keyframes az-brust { 0%, 100% { transform: scale(1); } 35% { transform: scale(calc(1 + .02 * var(--amp)), calc(1 + .035 * var(--amp))); } }
@keyframes az-decke { 0%, 100% { transform: scaleY(1); } 35% { transform: scaleY(calc(1 + .03 * var(--amp))); } }
@keyframes az-schlauch { 0%, 100% { transform: translateY(0); } 35% { transform: translateY(calc(-3px * var(--amp))); } }
@keyframes az-pilot { 0%, 100% { transform: rotate(0deg); } 25% { transform: rotate(calc(8deg * var(--amp))); } 55% { transform: rotate(calc(-3deg * var(--amp))); } }
@keyframes az-lunge { 0%, 100% { transform: scale(1); } 35% { transform: scale(calc(1 + .03 * var(--amp)), calc(1 + .06 * var(--amp))); } }
@keyframes az-lauf-46 { from { transform: translateX(0); } to { transform: translateX(-46px); } }
@keyframes az-lauf-40 { from { transform: translateX(0); } to { transform: translateX(-40px); } }
@keyframes az-herz { 0%, 60%, 100% { transform: scale(1); } 15% { transform: scale(1.22); } 32% { transform: scale(1.06); } 44% { transform: scale(1.15); } }
@keyframes az-glimm { from { opacity: .25; } to { opacity: .9; } }

/* Zimmer: Wolken ziehen (Kachel 600), Vorhänge und Pflanzen wiegen, Staub schwebt im Licht */
.az-raum .az-wolken { animation: az-wolken calc(90s * var(--tempo)) linear infinite; }
@keyframes az-wolken { from { transform: translateX(0); } to { transform: translateX(-600px); } }
.az-raum .az-vorhang { transform-box: fill-box; transform-origin: 50% 0%; animation: az-vorhang calc(7s * var(--tempo)) var(--ease-in-out) infinite alternate; }
.az-raum .az-vorhang-r { animation-duration: calc(8.5s * var(--tempo)); animation-delay: calc(-2s * var(--tempo)); }
@keyframes az-vorhang { from { transform: skewX(calc(-1.2deg * var(--amp))); } to { transform: skewX(calc(1.4deg * var(--amp))); } }
.az-raum .az-efeu, .az-raum .az-monstera { transform-box: fill-box; transform-origin: 50% 100%; animation: az-wiegen calc(6s * var(--tempo)) var(--ease-in-out) infinite alternate; }
.az-raum .az-monstera { animation-duration: calc(8s * var(--tempo)); }
@keyframes az-wiegen { from { transform: rotate(calc(-1.2deg * var(--amp))); } to { transform: rotate(calc(1.2deg * var(--amp))); } }
.az-raum .az-staub { animation: az-staub calc(12s * var(--tempo)) var(--ease-in-out) infinite alternate; }
@keyframes az-staub { from { transform: translate(0, 0); } to { transform: translate(calc(24px * var(--amp)), calc(-30px * var(--amp))); } }

/* Handy/Tablet: das Zimmer endet so, dass das Bett auf dem Boden steht; darunter läuft der Boden weiter */
@media (max-width: 1023px) {
  .scrolly-atemzug .bs-szene { background: linear-gradient(#D6BC96, #C09E74); }
  .scrolly-atemzug .bs-szene > svg { bottom: auto; height: calc((5.5rem + var(--bs-bw) * .622 - 30px) / .7); }
}

/* Dunkelmodus: Abend im Zimmer — Wand gedämpft, Nacht vor dem Fenster, Lampe an */
html.dark .scrolly-atemzug { background: #5C4A36; }
html.dark .az-raum .az-w1 { stop-color: #33454B; }
html.dark .az-raum .az-w2 { stop-color: #3E5156; }
html.dark .az-raum .az-b1 { stop-color: #7A6247; }
html.dark .az-raum .az-b2 { stop-color: #5C4A36; }
html.dark .az-raum .az-h1 { stop-color: #0B2530; }
html.dark .az-raum .az-h2 { stop-color: #164252; }
html.dark .az-raum .az-h3 { stop-color: #2A6474; }
html.dark .az-raum .az-sonne, html.dark .az-raum .az-strahl { opacity: .12; }
html.dark .az-raum .az-mond { opacity: 1; }
html.dark .az-raum .az-lampe-hof { opacity: .85; }
@media (max-width: 1023px) { html.dark .scrolly-atemzug .bs-szene { background: linear-gradient(#7A6247, #5C4A36); } }

/* Leistungsbausteine: Foto klebt links, Bausteine laufen rechts durch (keine Raster-Waisen) */
.ip-bausteine { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 1024px) {
  .ip-bausteine { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 3rem; }
  .ip-bausteine-bild { position: sticky; top: 6.5rem; }
}
.ip-bausteine-bild .bild-bogen { aspect-ratio: 4 / 5; }
.ip-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.ip-liste .karte { gap: .75rem; }
.ip-liste h3 { font-size: 1.2rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .6rem; }
.ip-liste h3 small { font-family: var(--font-body); font-size: .85rem; font-weight: 600; color: var(--tuerkis-tief); }
.ip-chips { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.ip-chips li { letter-spacing: .01em; }
.ip-liste .karte-link { min-height: 44px; }

/* „Mehr als Pflege": Schlusssatz als ruhiges Zitat */
.ip-schluss { margin: 1.4rem 0 0; padding: 1rem 0 1rem 1.2rem; border-left: 3px solid var(--tuerkis); font-family: var(--font-head); font-size: 1.15rem; line-height: 1.45; color: var(--fg); max-width: var(--mass); }
