/* A quieter edition of the existing K&M design: one accent, open layouts. */
:root{--ink:#202123;--ink-2:#292a2c;--paper:#f5f5f3;--paper-light:#fff;--text:#27282a;--muted:#66686b;--line:#d9dad8;--line-light:#ffffff29;--accent:#f47748;--accent-soft:#f6a181;--accent-dark:#a84624;--lilac:#d4d5d3;--aqua:#d4d5d3;--radius:10px;--radius-sm:8px;--radius-lg:12px;--shadow-soft:none;--shadow-float:0 16px 38px #00000020}
body.km-calm{background:var(--paper);color:var(--text)}
body.km-calm .km-scroll-progress{height:2px;background:#f47748}
body.km-calm .topbar{background:#202123!important;border-color:#ffffff22;border-radius:10px;box-shadow:0 5px 18px #00000015;backdrop-filter:none}
body.km-calm .brand small{color:#bfc1c2}
body.km-calm .nav>a:not(.nav-cta),body.km-calm .solutions-toggle{color:#e1e2e2}
body.km-calm .btn,body.km-calm .nav-cta{border-radius:6px;box-shadow:none;transition:background .2s ease,transform .2s ease}
body.km-calm .btn::before,body.km-calm .nav-cta::before{display:none}
body.km-calm .btn:hover,body.km-calm .nav-cta:hover{transform:translateY(-1px)}
body.km-calm .hero,body.km-calm .article-hero,body.km-calm .ratgeber-hero{background:#202123;border-radius:0}
body.km-calm .hero::before,body.km-calm .hero::after{display:none}
body.km-calm .hero-copy,body.km-calm .lead,body.km-calm .article-lead{color:#c6c8c9}
body.km-calm .hero .eyebrow,body.km-calm .hero-secondary-link,body.km-calm .hero-panel-label,body.km-calm .hero-panel-note,body.km-calm .hero-note .label,body.km-calm .article-meta{color:#bfc1c2}
body.km-calm .hero-panel,body.km-calm .hero-note,body.km-calm .formula-card{background:#2b2c2e;border-color:#ffffff24;border-radius:10px;backdrop-filter:none;box-shadow:0 18px 40px #00000024}
body.km-calm .hero-note li,body.km-calm .hero-panel li,body.km-calm .formula-card p{color:#dedfe0}
body.km-calm .km-hero-depth::after,body.km-calm .hero-panel.km-tilt::after{display:none}
body.km-calm.home .hero-panel::before{background:url('/assets/physio-links-der-isar-praxis-800.webp') center 56%/cover no-repeat;border-color:#ffffff29}
body.km-calm .km-hero-depth,body.km-calm .hero-panel.km-tilt{--rest-y:-2deg}
body.km-calm .km-hero-depth.km-tilt:hover,body.km-calm .hero-panel.km-tilt:hover{--card-lift:-2px;box-shadow:0 22px 44px #0000002b}
body.km-calm.home .hero-proof{gap:0;border-top:1px solid #ffffff29;margin-top:20px;padding-top:26px;perspective:none}
body.km-calm.home .hero-proof>div,body.km-calm.home .hero-proof>div:nth-child(even){background:none;border:0;border-right:1px solid #ffffff29;border-radius:0;box-shadow:none;padding:0 26px;min-height:0;transform:none}
body.km-calm.home .hero-proof>div:first-child{padding-left:0}
body.km-calm.home .hero-proof>div:last-child{border-right:0}
body.km-calm.home .hero-proof span{color:#bfc1c2}

/* Broad section bands and fine rules replace nested floating surfaces. */
body.km-calm .section.dark,body.km-calm .cta,body.km-calm footer{width:100%;margin:0;background:#202123;border-radius:0;box-shadow:none}
body.km-calm .section.dark{border:0}
body.km-calm .section.white,body.km-calm .section.alt{background:#fff}
body.km-calm .section.dark .intro,body.km-calm .section.dark .bodycopy,body.km-calm .cta-row p,body.km-calm .cta .eyebrow,body.km-calm .footer-copy,body.km-calm .footer-links a{color:#c6c8c9}
body.km-calm .footer-label,body.km-calm .copyright,body.km-calm .cta-facts,body.km-calm .trust,body.km-calm .booking-note,body.km-calm .low-friction{color:#b4b7b9}
body.km-calm.home .care-note,body.km-calm.home .economy-note,body.km-calm.home .lever{background:none;border:0;border-top:1px solid #ffffff29;border-radius:0;padding:24px 0 0;box-shadow:none;color:#c6c8c9}
body.km-calm.home .problem-list{display:block;border-top:1px solid var(--line);perspective:none}
body.km-calm.home .problem,body.km-calm.home .problem:nth-child(2),body.km-calm.home .problem:nth-child(3){display:grid;grid-template-columns:45px minmax(0,.95fr) minmax(0,1.05fr);gap:32px;align-items:start;min-height:0;padding:32px 0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;transform:none}
body.km-calm.home .problem h3{margin:0;font-size:clamp(24px,2.4vw,30px)}
body.km-calm.home .problem p{margin:0;max-width:55ch}
body.km-calm.home .problem-no,body.km-calm.home .step-no{width:auto;height:auto;display:block;padding-top:4px;border:0;border-radius:0;background:none;color:var(--accent-dark);font-size:15px}
body.km-calm.home .modules{display:block;border-top:1px solid var(--line);perspective:none}
body.km-calm.home .module,body.km-calm.home .module:nth-child(2),body.km-calm.home .module:nth-child(3){display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:16px 38px;align-items:start;min-height:0;padding:38px 0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;transform:none;overflow:visible}
body.km-calm.home .module .km-icon{display:none}
body.km-calm.home .module small{grid-column:1;grid-row:1/3;max-width:none;padding:4px 0;background:none;border-radius:0;font-size:14px;letter-spacing:.02em}
body.km-calm.home .module h3{grid-column:2;grid-row:1/3;margin:0;font-size:clamp(26px,2.5vw,34px)}
body.km-calm.home .module p{grid-column:3;margin:0}
body.km-calm.home .module a{grid-column:3;margin:0;padding:0;text-underline-offset:5px}
body.km-calm.home .module a:hover{text-decoration:underline}
body.km-calm.home .module::after{display:none}
body.km-calm.home .portrait{border:0;border-radius:8px;box-shadow:none;transform:none}
body.km-calm.home .quote{background:none;border:0;border-left:2px solid var(--accent);border-radius:0;box-shadow:none;padding:2px 0 2px 24px}
body.km-calm.home .metric{background:none;border:0!important;border-top:1px solid var(--line)!important;border-radius:0;padding:24px 0;margin:0}
body.km-calm.home .team-grid{gap:64px}
body.km-calm.home .person,body.km-calm .profile{padding:0;background:none;border:0;border-radius:0;box-shadow:none;transform:none}
body.km-calm.home .person-photo,body.km-calm .profile-photo{background:#ececea;border-radius:6px;box-shadow:none;filter:none}
body.km-calm.home .process{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:76px;align-items:start}
body.km-calm.home .steps{display:block;border-top:1px solid var(--line)}
body.km-calm.home .step,body.km-calm.home .step:nth-child(2){display:grid;grid-template-columns:36px minmax(0,1fr);gap:22px;margin:0;padding:30px 0;min-height:0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;transform:none;color:var(--text)}
body.km-calm.home .step:nth-child(2) .step-no{background:none;border:0;color:var(--accent-dark)}
body.km-calm.home .step:nth-child(2) p{color:var(--muted)}
body.km-calm.home .step h3{font-size:25px}
body.km-calm .faq details,body.km-calm .faq details[open]{background:none;padding:24px 0;margin:0;border:0!important;border-top:1px solid var(--line)!important;border-radius:0;box-shadow:none;transform:none}
body.km-calm .faq details:last-child{border-bottom:1px solid var(--line)!important}

/* Subpages use the same open treatment, with useful pricing choices retained. */
body.km-calm :is(.topic,.outcome,.fact,.principle,.ratgeber-card,.flow-step,.km-founder-card,.term),body.km-calm .rhythm article,body.km-calm .pricing-weeks>div,body.km-calm .diagnosis article,body.km-calm .capacity-map section,body.km-calm .booking-model>div,body.km-calm .booking-rules>div{background:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;transform:none;min-height:0;padding:28px 0}
body.km-calm :is(.topic-grid,.outcomes,.facts,.principles,.rhythm,.pricing-weeks,.ratgeber-grid,.km-founder-grid,.about-grid){gap:32px 46px;border:0}
body.km-calm .topic h3{margin-top:20px}
body.km-calm .dark .outcome{background:none;border:0;border-top:1px solid #ffffff29;box-shadow:none}
body.km-calm .dark .outcome p{color:#c6c8c9}
body.km-calm .pricing-section .outcome{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0}
body.km-calm .pricing-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:none}
body.km-calm .pricing-card-featured{background:#292a2c;border-color:#292a2c;box-shadow:none}
body.km-calm .pricing-card-featured :is(.pricing-sub,.pricing-note,li){color:#d3d5d6}
body.km-calm .pricing-weeks strong{color:var(--text)}
body.km-calm .pricing-weeks span{color:var(--muted)}
body.km-calm .pricing-scope-note{background:none;border:0;border-left:2px solid var(--accent);border-radius:0;padding:10px 22px;color:var(--muted)}
body.km-calm .km-disclosure,body.km-calm .profile .km-disclosure{background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
body.km-calm .km-disclosure>summary{padding-left:0}
body.km-calm .km-disclosure .km-disclosure-body{padding:24px 0}
body.km-calm .km-disclosure .term{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0}
body.km-calm .km-responsibilities>p,body.km-calm .km-responsibilities>p:last-child{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0}
body.km-calm .km-responsibilities>p>strong{color:var(--text)}
body.km-calm .practice-proof,body.km-calm .legal-card,body.km-calm .contact-strip{background:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
body.km-calm .km-founder-teaser{background:#ececea}
body.km-calm .km-founder-teaser .km-founder-banner{background:none;border:0;border-radius:0;padding:0}
body.km-calm .km-founder-teaser .km-founder-banner h2{color:var(--text)}
body.km-calm .km-founder-teaser .km-founder-banner h2 em{color:var(--accent-dark)}
body.km-calm .km-founder-teaser .km-founder-banner .intro,body.km-calm .km-founder-card p,body.km-calm .km-founder-card .km-founder-label,body.km-calm .km-founder-experience figcaption{color:var(--muted)}
body.km-calm .km-founder-no,body.km-calm .km-founder-byline{color:var(--accent-dark)}
body.km-calm .km-founder-experience img{border-radius:8px}
body.km-calm .km-founder-steps{gap:40px;border-top:1px solid var(--line)}
body.km-calm .km-founder-steps .step{padding:28px 0;background:none;border:0;border-radius:0;box-shadow:none}
body.km-calm .km-founder-steps .step::before{display:none}
body.km-calm .booking-rules>div{padding-left:50px}
body.km-calm .booking-rules>div::before{left:0;top:28px}
body.km-calm .good-example,body.km-calm .bad-example{background:#eeefed;border-color:var(--accent-dark)}
body.km-calm .km-chat-launcher,body.km-calm .km-chat-head{background:#242527;border-color:#616365;border-radius:8px}
body.km-calm .km-chat-panel{border-radius:12px;border-color:var(--line)}
body.km-calm .km-chat-head{border-radius:0}
body.km-calm .km-wa-start,body.km-calm .km-mail-start{border-radius:6px}
body.km-calm .km-mail-start{background:#f1f2f0;border-color:#d8dad7;color:#27282a!important}
body.km-calm .km-mail-start:hover{background:#e6e8e5}
@media(max-width:1280px){body.km-calm .nav{background:#202123!important}body.km-calm .nav-dropdown{background:none!important}}
@media(max-width:980px){
 body.km-calm.home .module:nth-child(n){grid-template-columns:140px minmax(0,1fr);gap:14px 28px}
 body.km-calm.home .module small{grid-column:1;grid-row:1/4}
 body.km-calm.home .module h3{grid-column:2;grid-row:1}
 body.km-calm.home .module p,body.km-calm.home .module a{grid-column:2}
 body.km-calm.home .process{grid-template-columns:1fr;gap:32px}
 body.km-calm.home .problem:nth-child(n){grid-template-columns:32px minmax(0,1fr);gap:12px 24px}
 body.km-calm.home .problem-no{grid-row:1/3}
 body.km-calm.home .problem p{grid-column:2;max-width:65ch}
 body.km-calm.home .hero-proof>div,body.km-calm.home .hero-proof>div:nth-child(even){padding:0 16px}
 body.km-calm.home .hero-proof>div:first-child{padding-left:0}
}
@media(max-width:720px){
 body.km-calm.home .hero-proof{gap:28px 20px}
 body.km-calm.home .hero-proof>div,body.km-calm.home .hero-proof>div:nth-child(even){padding:0;border:0}
 body.km-calm.home .module:nth-child(n){display:block;padding:30px 0}
 body.km-calm.home .module small{display:block;margin-bottom:14px}
 body.km-calm.home .module h3{margin-bottom:16px}
 body.km-calm.home .module a{display:inline-block;margin-top:18px}
 body.km-calm.home .team-grid{gap:40px}
 body.km-calm.home .person{padding:0}
 body.km-calm .km-founder-steps{gap:0}
 body.km-calm .km-founder-steps .step+.step{border-top:1px solid var(--line)}
 body.km-calm :is(.topic-grid,.km-founder-grid){gap:10px}
}
@media(prefers-reduced-motion:reduce){body.km-calm .hero-panel,body.km-calm .km-hero-depth{transform:none!important}}


/* Ratgeber: restore the highlighted rectangle with real room around all text.
   Padding and border width stay identical in every interaction state. */
body.km-calm .ratgeber-card {
  box-sizing: border-box;
  min-width: 0;
  padding: 32px;
  border: 1px solid transparent;
  border-top-color: var(--line);
  border-radius: 8px;
  transform: none;
  box-shadow: none;
  background: transparent;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
body.km-calm .ratgeber-card h2,
body.km-calm .ratgeber-card p {
  overflow-wrap: anywhere;
  hyphens: auto;
}
body.km-calm .ratgeber-card:hover {
  transform: none;
  box-shadow: none;
  border-color: transparent;
  border-top-color: var(--line);
}
body.km-calm a.ratgeber-card:not(.is-coming):focus-visible {
  background: var(--paper-light);
  border-color: var(--line);
  box-shadow: 0 16px 40px rgba(28, 24, 18, .09);
  outline: 2px solid var(--accent-dark);
  outline-offset: 4px;
}
@media (hover: hover) and (pointer: fine) {
  body.km-calm a.ratgeber-card:not(.is-coming):hover {
    background: var(--paper-light);
    border-color: var(--line);
    box-shadow: 0 16px 40px rgba(28, 24, 18, .09);
    transform: translateY(-3px);
  }
}
@media (max-width: 600px) {
  body.km-calm .ratgeber-card { padding: 24px; }
}
@media (max-width: 380px) {
  body.km-calm .ratgeber-card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  body.km-calm .ratgeber-card,
  body.km-calm a.ratgeber-card:not(.is-coming):hover {
    transform: none;
    transition: none;
  }
}

/* Karten mit Hover (Themen, Ergebnisse, Kennzahlen, Prinzipien):
   Der Kasten bekommt rundum Luft, der Text bleibt trotzdem bündig
   mit der Überschrift der Sektion. Die Trennlinie oben bleibt so breit wie der Text. */
body.km-calm:not(.home){--km-card-pad:24px}
body.km-calm:not(.home) :is(.topic,.outcome,.fact,.principle){
  position:relative;margin-inline:calc(var(--km-card-pad) * -1);padding:30px var(--km-card-pad);
  border:0;border-radius:10px;background:transparent;box-shadow:none;transform:none;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
body.km-calm:not(.home) :is(.topic,.outcome,.fact,.principle)::before{
  content:"";position:absolute;top:0;left:var(--km-card-pad);right:var(--km-card-pad);height:1px;
  background:var(--line);transition:opacity .2s ease}
body.km-calm:not(.home) .dark :is(.outcome,.fact)::before{background:#ffffff29}
@media (hover:hover) and (pointer:fine){
  body.km-calm:not(.home) :is(.topic,.outcome,.fact,.principle):hover{
    transform:translateY(-3px);background:var(--paper-light);box-shadow:0 16px 40px rgba(28,24,18,.09)}
  body.km-calm:not(.home) :is(.topic,.outcome,.fact,.principle):hover::before{opacity:0}
  body.km-calm:not(.home) .dark :is(.outcome,.fact):hover{background:#ffffff0d;box-shadow:none}
}
@media (hover:none),(pointer:coarse){
  body.km-calm:not(.home) :is(.topic,.outcome,.fact,.principle):hover{transform:none;box-shadow:none}
}
@media(max-width:640px){body.km-calm:not(.home){--km-card-pad:14px}}
@media(prefers-reduced-motion:reduce){body.km-calm:not(.home) :is(.topic,.outcome,.fact,.principle){transition:none}}

/* Kontakt-Button "Erstmal schreiben": im ersten Bildschirm nicht über dem Hero.
   Er erscheint nach dem ersten Scrollen (wo der Browser das kann; sonst sofort sichtbar).
   Auf Laptops mit geringer Höhe nur als Icon, die Beschriftung bleibt für Screenreader. */
@supports (animation-timeline: scroll()) {
  body.km-calm .km-chat-launcher{animation:km-launcher-in linear both;animation-duration:auto;animation-timeline:scroll(root);animation-range:0 360px}
  @keyframes km-launcher-in{0%,45%{opacity:0;visibility:hidden;translate:0 12px}100%{opacity:1;visibility:visible;translate:0 0}}
}
@media (min-width:981px) and (max-height:820px){
  body.km-calm .km-chat-launcher{width:52px;min-height:52px;padding:0;justify-content:center}
  body.km-calm .km-chat-launcher span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
