/* ============================================================
   mondschoen · Startseite (msh)
   Neubau 07.09.2026 nach der Grammatik von fivemoves.org
   (templates/_partials/home-styles.twig) und den Skills
   fivemoves-design, impeccable/craft-floor, design-taste-frontend.

   Was hier gilt:
   - EINE Linkskante: .msh-wrap auf jeder Sektion, width:100%.
   - Zeilen mit Haarlinie statt Karten. Bezel nur fuer Schaustuecke.
   - Grund wechselt bei jeder Sektion: Navy, Papier, Bild, Navy,
     Stein, Papier, Navy, Papier.
   - Zwei Vorzeilen auf acht Sektionen (Hero, Online). Keine Nummern.
   - Gold kroent (Vorzeile, Preis, Zahl), Magenta ist Handlung,
     Aubergine ist die Welt von Lebendige Weiblichkeit.
   - Rund, weil Sevi: Bezel 24/18, Kacheln 14, Knoepfe Pille.
   - Bricolage Grotesque fuer h1/h2/Zitat/Zahlen, Jakarta darunter.
   - Eine inszenierte Bewegung (Hero), sonst nur Antwort auf Handlung.
   Gilt NUR mit body.msh. Die Unterseiten bleiben unberuehrt.
   ============================================================ */

.msh{
  --navy:#151A31; --navy-2:#1B2147; --navy-deep:#101426;
  --paper:#FFFDF8; --stone:#F2EDE4;
  --ink:#161A2E; --body:#4B5168; --muted:#6B7086;
  --on-navy:#EDEEF4; --on-navy-soft:#A9AEC4;
  --gold:#E4B56A; --gold-paper:#845A0B;
  --magenta:#B31F66; --magenta-h:#9E1759;
  --aub:#4B2A44; --aub-hell:#B98FAE;
  --line-paper:#DED8D0; --line-navy:#2A3052;
  --dsp:'Bricolage Grotesque','Plus Jakarta Sans',system-ui,sans-serif;
  --txt:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --r-bezel:24px; --r-core:18px; --r-tile:14px;
  margin:0;background:var(--navy);color:var(--body);
  font-family:var(--txt);font-size:17px;line-height:1.65;text-align:left;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
.msh *{box-sizing:border-box}
.msh section,.msh figure,.msh h1,.msh h2,.msh h3,.msh p,.msh ul{margin:0;padding:0}
.msh img{max-width:100%;height:auto;display:block}
/* Nur die eigenen Links erben. Die eingesetzte Navigation (msn-*) und der Footer (msf-*)
   tragen ihre eigenen Farben, sonst erbt die Wortmarke den Fliesstext-Ton (gemessen 2,19). */
.msh a:where(:not([class*="msn-"]):not([class*="msf-"])){color:inherit;text-decoration:none}
/* :where() zaehlt null. Mit :not() allein stand die Regel bei (0,3,1) und schlug .msh .msh-btn (0,2,0): Knoepfe erbten graue Schrift, gemessen 1,23. */
.msh b,.msh strong{font-weight:600}
.msh ul{list-style:none}

/* Die Browser-Oberflaechen tragen die Marke mit (craft-floor) */
.msh ::selection{background:var(--gold);color:var(--navy)}
.msh :focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.msh{scrollbar-color:var(--line-navy) var(--navy)}

/* Die eingesetzte Navigation bekommt auf der Startseite dieselbe Klickflaeche wie auf den Unterseiten */
.msh .msn-burger{min-height:44px}
.msh .msn-drawer-close{min-width:44px;min-height:44px}

/* ---------- Linkskante ---------- */
.msh .msh-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}

/* ---------- Schrift ---------- */
.msh h1,.msh h2,.msh .msh-quote{font-family:var(--dsp);color:inherit;text-wrap:balance}
.msh h1{font-size:clamp(40px,5.2vw,76px);line-height:1;letter-spacing:-.025em;font-weight:500}
.msh h2{font-size:clamp(34px,4.6vw,60px);line-height:1.04;letter-spacing:-.02em;font-weight:600}
.msh h3{font-family:var(--txt);font-weight:600;font-size:19px;line-height:1.3}
.msh .msh-num{font-family:var(--dsp);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.msh .msh-au{color:var(--gold)}
.msh .msh-gp{color:var(--gold-paper)}
.msh .msh-o{color:var(--magenta)}

.msh .msh-eyebrow{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.msh .msh-eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.7}
.msh .msh-on-navy{color:var(--gold)}
.msh .msh-on-paper{color:var(--gold-paper)}
.msh .msh-lede{font-size:19px;line-height:1.6;max-width:50ch}

/* ---------- Knopf: Pille, Pfeil im eigenen Kreis ---------- */
.msh .msh-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  font-family:var(--txt);font-weight:600;font-size:16px;line-height:1;
  padding:13px 13px 13px 28px;border-radius:999px;border:none;cursor:pointer;
  color:#fff;background:var(--magenta);min-height:56px;
  transition:background .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease);
  box-shadow:0 18px 40px -18px rgba(179,31,102,.55);
}
.msh .msh-arr{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);transition:transform .5s var(--ease),background .5s var(--ease)}
.msh .msh-arr svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.msh .msh-btn:hover{background:var(--magenta-h);transform:translateY(-1px)}
.msh .msh-btn:hover .msh-arr{transform:translate(2px,-1px) scale(1.06);background:rgba(255,255,255,.26)}
.msh .msh-btn:active{transform:scale(.98)}
.msh .msh-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.msh .msh-btn-ghost{background:transparent;color:var(--on-navy);border:1px solid rgba(237,238,244,.32);box-shadow:none}
.msh .msh-btn-ghost .msh-arr{background:transparent;border:1px solid rgba(237,238,244,.32)}
.msh .msh-btn-ghost:hover{background:rgba(237,238,244,.06);border-color:rgba(237,238,244,.6);box-shadow:none}
.msh .msh-btn-ghost-ink{background:transparent;color:var(--ink);border:1px solid var(--line-paper);box-shadow:none}
.msh .msh-btn-ghost-ink .msh-arr{background:transparent;border:1px solid var(--line-paper)}
.msh .msh-btn-ghost-ink:hover{background:rgba(21,26,49,.04);border-color:var(--ink);box-shadow:none}
.msh .msh-note{margin-top:14px;font-size:14px;color:var(--muted)}

/* Textlink mit Pfeil im Kreis */
.msh .msh-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;min-height:44px;color:inherit}
.msh .msh-link .msh-arr{width:30px;height:30px;background:transparent;border:1px solid var(--line-paper)}
.msh .msh-link:hover .msh-arr{transform:translate(2px,-1px);border-color:currentColor}
.msh .msh-link-navy .msh-arr{border-color:rgba(237,238,244,.32)}

/* ---------- Doppelrahmen ---------- */
.msh .msh-bezel{padding:6px;border-radius:var(--r-bezel);background:rgba(21,26,49,.05);border:1px solid rgba(21,26,49,.08)}
.msh .msh-bezel>.msh-core{border-radius:var(--r-core);overflow:hidden;background:#fff;box-shadow:inset 0 1px 1px rgba(255,255,255,.7),0 40px 70px -40px rgba(21,26,49,.35)}
.msh .msh-bezel-dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.msh .msh-bezel-dark>.msh-core{background:var(--navy);box-shadow:inset 0 1px 1px rgba(255,255,255,.08),0 50px 90px -40px rgba(0,0,0,.6)}

/* ---------- Die eine inszenierte Bewegung: der Hero ---------- */
.msh .msh-r{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.msh .msh-d1{transition-delay:.12s}.msh .msh-d2{transition-delay:.24s}.msh .msh-d3{transition-delay:.36s}
.msh.msh-in .msh-r{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .msh .msh-r{opacity:1;transform:none;transition:none}
  .msh .msh-btn,.msh .msh-arr,.msh .msh-hero-img img{transition:none}
}

/* ---------- Hero: Portrait rechts, Text links, Drei-Wege-Ticket, Faktenleiste ---------- */
.msh .msh-hero{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.msh .msh-hero-img{position:absolute;inset:0}
.msh .msh-hero-img img{width:100%;height:100%;object-fit:cover;object-position:64% 30%;transform:scale(1.04);transition:transform 6s var(--ease)}
.msh.msh-in .msh-hero-img img{transform:scale(1)}
.msh .msh-hero-img::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(21,26,49,.97) 0%,rgba(21,26,49,.9) 36%,rgba(21,26,49,.45) 60%,rgba(21,26,49,.16) 100%),
    linear-gradient(180deg,rgba(21,26,49,.4) 0%,rgba(21,26,49,0) 30%,rgba(21,26,49,.6) 100%);
}
.msh .msh-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:clamp(32px,5vw,80px);align-items:end;padding:172px 0 64px;min-height:min(880px,94svh)}
.msh .msh-hero-top{display:flex;align-items:center;gap:16px;margin-bottom:26px;flex-wrap:wrap}
.msh .msh-hero h1 .msh-lift{display:block;font-family:var(--txt);font-weight:500;font-size:.62em;line-height:1.18;letter-spacing:-.01em;color:var(--gold);margin-top:.4em}
.msh .msh-hero .msh-lede{margin-top:22px;font-size:17px;color:var(--on-navy-soft);max-width:46ch}
.msh .msh-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.msh .msh-ticket .msh-core{padding:26px 28px 22px}
.msh .msh-tk-kick{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.msh .msh-tk-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border-top:1px solid rgba(237,238,244,.14);padding:15px 0;color:inherit;transition:background .5s var(--ease)}
.msh .msh-tk-row b{display:block;font-size:17px;color:var(--on-navy);line-height:1.25}
/* Nur die Unterzeile, NICHT das magenta O in FIVE MOVES (das brach in drei Zeilen). */
.msh .msh-tk-row b+span{display:block;margin-top:4px;font-size:13.5px;color:var(--on-navy-soft);line-height:1.45}
.msh .msh-tk-row .msh-o{display:inline;font:inherit;color:var(--magenta);margin:0}
.msh .msh-tk-row .msh-arr{width:30px;height:30px;background:transparent;border:1px solid rgba(237,238,244,.32);color:var(--on-navy)}
.msh .msh-tk-row:hover .msh-arr{transform:translate(2px,-1px);border-color:var(--on-navy)}
.msh .msh-tk-foot{margin-top:4px;padding-top:16px;border-top:1px solid rgba(237,238,244,.14);font-size:13.5px;color:var(--on-navy-soft);line-height:1.5}
.msh .msh-facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(237,238,244,.16);padding-bottom:36px}
.msh .msh-fact{padding:22px 24px 6px 0;border-right:1px solid rgba(237,238,244,.12);margin-right:24px}
.msh .msh-fact:last-child{border-right:none;margin-right:0}
.msh .msh-fact span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
.msh .msh-fact b{display:block;font-weight:600;color:var(--on-navy);font-size:16px;margin-top:6px;line-height:1.35}
@media(max-width:960px){
  .msh .msh-hero-grid{grid-template-columns:1fr;align-items:start;padding:124px 0 44px;min-height:0}
  /* Handy/Tablet: das Querformat-Foto nicht ueber den ganzen Hero ziehen (dann bleibt
     nur ein dunkler Haar-Ausschnitt), sondern als Bildstreifen oben mit dem Gesicht,
     der nach unten in Navy auslaeuft. Der Text beginnt im unteren Drittel des Bildes. */
  .msh .msh-hero-img{inset:0 0 auto 0;height:min(122vw,620px)}
  .msh .msh-hero-img img{object-position:62% 42%;transform:none}
  .msh .msh-hero-img::after{background:
    linear-gradient(180deg,rgba(21,26,49,.10) 0%,rgba(21,26,49,.08) 40%,rgba(21,26,49,.72) 72%,var(--navy) 100%)}
  .msh .msh-hero-grid{padding-top:min(92vw,470px)}
  .msh .msh-ticket{max-width:520px}
  .msh .msh-facts{grid-template-columns:1fr 1fr;gap:0 24px}
  .msh .msh-fact{border-right:none;margin-right:0;padding-right:0}
}
@media(max-width:520px){.msh h1{font-size:38px}}

/* ---------- Sektionen ---------- */
.msh section{padding:clamp(96px,12vh,168px) 0}
.msh .msh-split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,104px);align-items:start}
.msh .msh-split-head{position:sticky;top:110px}
.msh .msh-split-head .msh-lede{margin-top:22px;font-size:18px}
.msh .msh-sec-head{max-width:720px}
.msh .msh-sec-head .msh-eyebrow{margin-bottom:22px}
.msh .msh-sec-head .msh-lede{margin-top:22px;font-size:18px}
@media(max-width:900px){.msh .msh-split{grid-template-columns:1fr;gap:40px}.msh .msh-split-head{position:static}}

/* ---------- FIVE MOVES: Frage links, Text und die fuenf Schritte als Zeitachse rechts ---------- */
.msh .msh-fm{background:var(--paper);color:var(--body)}
.msh .msh-fm h2{color:var(--ink)}
.msh .msh-text{font-size:17px;max-width:52ch}
.msh .msh-text+.msh-text{margin-top:14px}
.msh .msh-text b{color:var(--ink)}
.msh .msh-steps{position:relative;padding-left:34px;margin-top:40px}
.msh .msh-steps::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1px;background:var(--line-paper)}
.msh .msh-step{position:relative;padding:4px 0 30px}
.msh .msh-step:last-child{padding-bottom:6px}
.msh .msh-step::before{content:"";position:absolute;left:-34px;top:12px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1.5px solid var(--gold-paper)}
.msh .msh-step.msh-hot::before{background:var(--gold-paper)}
.msh .msh-step small{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-paper)}
.msh .msh-step b{display:block;margin-top:6px;font-family:var(--dsp);font-size:clamp(24px,2.6vw,32px);font-weight:600;color:var(--ink);line-height:1.1;letter-spacing:-.02em}
.msh .msh-fm-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:40px}

/* ---------- Bildband: ein Foto, ein Satz ---------- */
.msh .msh-band{position:relative;padding:0;background:var(--navy);overflow:hidden}
/* Hoehe direkt setzen. aspect-ratio + min-height machte den Block auf dem Tablet 980px breit. */
.msh .msh-band-img{position:relative;height:clamp(420px,46vw,760px)}
.msh .msh-band-img img{width:100%;height:100%;object-fit:cover;object-position:42% 48%}
.msh .msh-band-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,26,49,.18) 0%,rgba(21,26,49,0) 38%,rgba(21,26,49,.55) 72%,rgba(21,26,49,.96) 100%)}
.msh .msh-band-txt{position:absolute;left:0;right:0;bottom:clamp(36px,6vw,72px);z-index:1;color:var(--on-navy)}
.msh .msh-band-txt p{font-family:var(--dsp);font-weight:500;font-size:clamp(34px,4.6vw,64px);line-height:1.02;letter-spacing:-.025em;max-width:16ch;text-wrap:balance}
.msh .msh-band-txt p b{display:block;color:var(--gold);font-weight:500}
.msh .msh-band-txt small{display:block;margin-top:16px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
@media(max-width:700px){.msh .msh-band-img{height:min(118vw,600px)}.msh .msh-band-img img{object-position:38% 45%}}

/* ---------- Online-Kurse: zwei Tueren im Doppelrahmen auf Navy ---------- */
.msh .msh-online{background:var(--navy);color:var(--on-navy-soft);position:relative;overflow:hidden}
.msh .msh-online::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 600px at 100% 0%,rgba(228,181,106,.1),transparent 60%)}
.msh .msh-online .msh-wrap{position:relative}
.msh .msh-online h2{color:var(--on-navy)}
.msh .msh-online .msh-lede{color:var(--on-navy-soft)}
.msh .msh-online .msh-lede b{color:var(--on-navy)}
.msh .msh-dgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);margin-top:clamp(40px,5vw,64px)}
.msh .msh-door .msh-core{display:flex;flex-direction:column;height:100%}
.msh .msh-dtop{position:relative;padding:clamp(28px,3.4vw,44px) 24px 24px;min-height:clamp(220px,26vw,300px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.msh .msh-dtop-lw{background:linear-gradient(160deg,#3B2038 0%,var(--aub) 55%,#5A3452 100%)}
.msh .msh-dtop-lw::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 320px at 90% 0%,rgba(185,143,174,.28),transparent 60%)}
.msh .msh-dimg{position:absolute;inset:0;display:block}
.msh .msh-dimg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transition:transform 1.4s var(--ease)}
.msh .msh-door:hover .msh-dimg img{transform:scale(1.03)}
.msh .msh-dtop-fk{background:var(--navy-2)}
.msh .msh-dtop-fk::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(21,26,49,.05) 20%,rgba(21,26,49,.88) 100%)}
.msh .msh-dkopf{position:relative;z-index:1}
.msh .msh-dkopf span{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
/* Aubergine-hell traegt auf NAVY (6,2:1), nicht auf Aubergine (3,7:1). Auf der eigenen Tuer kroent Gold. */
.msh .msh-dtop-lw .msh-dkopf span{color:var(--gold)}
.msh .msh-dkopf b{display:block;font-family:var(--dsp);font-size:clamp(28px,2.8vw,38px);font-weight:600;color:var(--on-navy);line-height:1.02;letter-spacing:-.02em}
.msh .msh-dkopf i{display:block;font-style:normal;margin-top:10px;font-size:16px;color:var(--on-navy);opacity:.86;max-width:30ch;line-height:1.4}
.msh .msh-dtext{padding:22px 24px 8px}
.msh .msh-dtext p{font-size:15px;color:var(--on-navy-soft);max-width:48ch}
.msh .msh-dzeile{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:16px 24px;border-top:1px solid rgba(237,238,244,.12);transition:background .5s var(--ease)}
.msh .msh-dzeile:hover{background:rgba(255,255,255,.04)}
.msh .msh-dzeile b{display:block;font-size:16px;color:var(--on-navy)}
.msh .msh-dzeile small{display:block;margin-top:3px;font-size:13px;color:var(--on-navy-soft);line-height:1.5}
.msh .msh-dzeile .msh-preis{font-size:15px;font-weight:600;color:var(--gold);white-space:nowrap;font-variant-numeric:tabular-nums}
.msh .msh-dfoot{margin-top:auto;padding:18px 24px 22px;border-top:1px solid rgba(237,238,244,.12)}
.msh .msh-dfoot .msh-btn{min-height:48px;padding:10px 10px 10px 22px;font-size:15px}
.msh .msh-dfoot .msh-btn .msh-arr{width:30px;height:30px}
.msh .msh-laender{margin-top:28px;font-size:14px;color:var(--on-navy-soft)}
.msh .msh-laender a{color:var(--on-navy);border-bottom:1px solid rgba(237,238,244,.32)}
@media(max-width:820px){.msh .msh-dgrid{grid-template-columns:1fr}}

/* ---------- Craniosacrale Osteopathie: Text links, Portrait rechts, ruhige Fakten ---------- */
.msh .msh-cranio{background:var(--stone);color:var(--body)}
.msh .msh-cranio h2{color:var(--ink)}
.msh .msh-cranio h2 span{display:block;color:var(--gold-paper);font-size:.62em;font-weight:500;margin-top:.35em;letter-spacing:-.01em}
.msh .msh-csplit{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,6vw,104px);align-items:center}
.msh .msh-fakten{display:flex;flex-direction:column;margin-top:36px;max-width:560px}
.msh .msh-fakt{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line-paper)}
.msh .msh-fakt:last-child{border-bottom:1px solid var(--line-paper)}
.msh .msh-fakt small{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-paper)}
.msh .msh-fakt span{font-size:15.5px;color:var(--body)}
.msh .msh-cranio .msh-link{margin-top:32px;color:var(--ink)}
.msh .msh-cbild .msh-core{aspect-ratio:4/5}
.msh .msh-cbild img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
@media(max-width:900px){.msh .msh-csplit{grid-template-columns:1fr;gap:36px}.msh .msh-cbild{max-width:440px}.msh .msh-cbild .msh-core{aspect-ratio:4/3}.msh .msh-cbild img{object-position:50% 22%}}

/* ---------- Termine: Mexico als Fotokarte, die anderen als Zeilen ---------- */
.msh .msh-termine{background:var(--paper);color:var(--body)}
.msh .msh-termine h2{color:var(--ink)}
.msh .msh-tgrid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,80px);align-items:start;margin-top:clamp(36px,5vw,56px)}
.msh .msh-mxcard{display:block}
.msh .msh-mxcard>.msh-core{display:flex;flex-direction:column;background:var(--navy);box-shadow:inset 0 1px 1px rgba(255,255,255,.08),0 40px 70px -40px rgba(21,26,49,.5)}
.msh .msh-mximg{display:block;aspect-ratio:16/10;overflow:hidden}
.msh .msh-mximg img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transition:transform 1.4s var(--ease)}
.msh .msh-mxcard:hover .msh-mximg img{transform:scale(1.03)}
.msh .msh-mxtxt{display:block;padding:22px 24px 24px}
.msh .msh-kl{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.msh .msh-mxort{display:block;margin-top:10px;font-family:var(--dsp);font-size:clamp(30px,3vw,40px);font-weight:600;color:var(--on-navy);line-height:1.05;letter-spacing:-.02em}
.msh .msh-mxinfo{display:block;margin-top:8px;font-size:14.5px;color:var(--on-navy-soft);line-height:1.5}
.msh .msh-mxfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(237,238,244,.14);font-size:15px;font-weight:600;color:var(--gold)}
.msh .msh-mxfoot .msh-arr{background:transparent;border:1px solid rgba(237,238,244,.32);color:var(--on-navy);width:30px;height:30px}
.msh .msh-mxcard:hover .msh-mxfoot .msh-arr{transform:translate(2px,-1px);border-color:var(--on-navy)}
.msh .msh-tafelkopf{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:0 0 12px;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-paper)}
.msh .msh-tafelkopf a{color:var(--ink);letter-spacing:.02em;text-transform:none;font-size:15px}
.msh .msh-termin{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:14px 22px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line-paper);transition:background .5s var(--ease)}
.msh .msh-termin:last-of-type{border-bottom:1px solid var(--line-paper)}
.msh a.msh-termin:hover{background:rgba(21,26,49,.03)}
.msh .msh-tdat{font-family:var(--dsp);font-weight:600;font-size:17px;color:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.2}
.msh .msh-tdat small{display:block;font-family:var(--txt);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-paper);margin-top:4px}
.msh .msh-ttxt b{display:block;font-size:18px;font-weight:600;color:var(--ink);line-height:1.3}
.msh .msh-ttxt small{display:block;margin-top:3px;font-size:14px;color:var(--body);line-height:1.5}
.msh .msh-tpreis{font-size:14.5px;font-weight:600;color:var(--magenta);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
@media(max-width:900px){.msh .msh-tgrid{grid-template-columns:1fr;gap:36px}.msh .msh-mxcard{max-width:560px}}
@media(max-width:600px){.msh .msh-termin{grid-template-columns:1fr;gap:6px}.msh .msh-tpreis{text-align:left;white-space:normal}}

/* Etikett neben dem Titel (Neu, Retreat, Tageskurs) */
.msh .msh-pill{display:inline-block;margin-left:10px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta);border:1px solid rgba(179,31,102,.4);border-radius:999px;padding:3px 8px;vertical-align:middle;line-height:1.2}

/* ---------- Sevi: ein Zitat, sonst nichts. Dann die Karte. ---------- */
.msh .msh-sevi{background:var(--navy);color:var(--on-navy-soft);position:relative;overflow:hidden}
.msh .msh-sevi::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 500px at 0% 0%,rgba(228,181,106,.1),transparent 60%)}
.msh .msh-sevi .msh-wrap{position:relative}
.msh .msh-quote{font-size:clamp(30px,3.8vw,56px);line-height:1.1;letter-spacing:-.02em;color:var(--on-navy);max-width:22ch;font-weight:500}
.msh .msh-quote b{display:block;color:var(--gold);font-weight:500;margin-top:.2em}
.msh .msh-cite{margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.msh .msh-cite span{display:block;margin-top:6px;font-weight:500;letter-spacing:0;text-transform:none;font-size:14px;color:var(--on-navy-soft)}
.msh .msh-sevi-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,6vw,104px);align-items:end;margin-top:clamp(40px,6vw,72px)}
.msh .msh-sevi .msh-text{color:var(--on-navy-soft);max-width:52ch}
.msh .msh-sevi .msh-text b{color:var(--on-navy)}
.msh .msh-andy .msh-core{display:grid;grid-template-columns:132px 1fr;gap:20px;padding:14px;align-items:center}
.msh .msh-andy img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:62% 30%;border-radius:var(--r-tile)}
.msh .msh-andy b{display:block;font-size:17px;color:var(--on-navy)}
.msh .msh-andy small{display:block;font-size:12.5px;color:var(--on-navy-soft);margin-top:3px;line-height:1.45}
.msh .msh-andy .msh-link{margin-top:14px;color:var(--on-navy);min-height:44px}
.msh .msh-sevi-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
@media(max-width:900px){.msh .msh-sevi-grid{grid-template-columns:1fr;gap:36px}.msh .msh-andy{max-width:520px}}
@media(max-width:520px){.msh .msh-andy .msh-core{grid-template-columns:1fr}.msh .msh-andy img{max-width:180px}}

/* ---------- Schluss: allein auf voller Breite, darum zentriert ---------- */
.msh .msh-schluss{background:var(--paper);color:var(--body);text-align:center}
.msh .msh-schluss h2{color:var(--ink);max-width:16ch;margin:0 auto}
.msh .msh-schluss h2 span{color:var(--gold-paper)}
.msh .msh-schluss .msh-text{margin:22px auto 0;max-width:46ch}
.msh .msh-schluss-ctas{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:36px}
.msh .msh-schluss .msh-note{margin-top:22px}

/* ---------- Cookie-Hinweis ---------- */
.msh .msh-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;justify-content:center;pointer-events:none;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.msh .msh-cookie.show{opacity:1;transform:none;pointer-events:auto}
.msh .msh-cookie-inner{display:flex;align-items:center;gap:18px;max-width:760px;padding:14px 16px 14px 22px;border-radius:999px;background:var(--navy);color:var(--on-navy-soft);border:1px solid rgba(237,238,244,.14);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);font-size:13.5px;line-height:1.45}
.msh .msh-cookie-inner a{color:var(--on-navy);border-bottom:1px solid rgba(237,238,244,.32)}
.msh .msh-cookie-actions{display:flex;gap:8px;flex:0 0 auto}
.msh .msh-cookie-btn{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(237,238,244,.32);background:transparent;color:var(--on-navy);font:600 12px/1 var(--txt);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.msh .msh-cookie-btn.accept{background:var(--magenta);border-color:var(--magenta);color:#fff}
@media(max-width:640px){.msh .msh-cookie-inner{flex-direction:column;align-items:stretch;border-radius:20px;gap:12px}.msh .msh-cookie-actions{justify-content:flex-end}}

/* ============================================================
   Terminseite (kurse.html)
   Hero ohne Foto, dafuer Radial-Gold. Liste mit grossen Datums-
   zahlen wie fivemoves.org/termine. Filter als Pillen.
   ============================================================ */
.msh .msh-hero-plain{background:radial-gradient(900px 600px at 100% 0%,rgba(228,181,106,.12),transparent 60%),var(--navy)}
.msh .msh-hero-plain .msh-hero-grid{min-height:0;padding-bottom:56px}
.msh a.msh-ticket{display:block;color:inherit}
.msh .msh-ticket .msh-core{display:block}
.msh .msh-tk-big{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:14px 0;border-top:1px solid rgba(237,238,244,.14)}
.msh .msh-tk-big .msh-num{display:block;font-size:56px;line-height:.9;color:var(--on-navy);min-width:1.4ch}
.msh .msh-tk-big small{display:block;font-size:14px;font-weight:600;color:var(--on-navy)}
.msh .msh-tk-big>span>span{display:block;margin-top:3px;font-size:13.5px;color:var(--on-navy-soft);line-height:1.45}
.msh .msh-tk-ort{display:block;font-family:var(--dsp);font-size:clamp(28px,3vw,36px);font-weight:600;color:var(--on-navy);line-height:1.05;letter-spacing:-.02em;margin-top:6px}
.msh .msh-tk-sub{display:block;font-size:14px;color:var(--on-navy-soft);margin-top:4px}
.msh .msh-ticket .msh-mxfoot{margin-top:16px}
.msh .msh-ticket:hover .msh-mxfoot .msh-arr{transform:translate(2px,-1px);border-color:var(--on-navy)}

.msh .msh-tafel{background:var(--paper);color:var(--body)}
.msh .msh-tafel h2{color:var(--ink)}
.msh .msh-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.msh .msh-filter button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line-paper);background:transparent;color:var(--ink);font:600 13.5px/1 var(--txt);cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.msh .msh-filter button:hover{border-color:var(--ink)}
.msh .msh-filter button.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.msh .msh-filter button:active{transform:scale(.98)}
.msh .msh-split-head .msh-note a{color:var(--magenta);font-weight:600}
.msh .msh-monat{margin-top:36px;padding-bottom:12px;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-paper)}
.msh .msh-liste>.msh-monat:first-child{margin-top:0}
.msh .msh-tz{display:grid;grid-template-columns:118px minmax(0,1fr) auto auto;gap:14px 22px;align-items:center;padding:18px 0;border-top:1px solid var(--line-paper);transition:background .5s var(--ease)}
.msh .msh-tz[hidden]{display:none}
.msh .msh-tz:last-child,.msh #fmAusGrid .msh-tz:last-child{border-bottom:1px solid var(--line-paper)}
.msh a.msh-tz:hover{background:rgba(21,26,49,.03)}
.msh .msh-tzd{font-family:var(--dsp);font-weight:600;font-size:clamp(24px,2.3vw,30px);color:var(--ink);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.msh .msh-tzd small{display:block;font-family:var(--txt);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-paper);margin-top:6px}
.msh .msh-tzt b{display:block;font-size:19px;color:var(--ink);line-height:1.3}
.msh .msh-tzt small{display:block;margin-top:3px;font-size:14px;color:var(--body);line-height:1.5}
.msh .msh-tzp{font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.msh .msh-tz .msh-arr{border:1px solid var(--line-paper);background:transparent;color:var(--ink)}
.msh a.msh-tz:hover .msh-arr{transform:translate(2px,-1px);border-color:var(--ink)}
.msh .msh-lade{padding:18px 0;font-size:14.5px;color:var(--muted);border-top:1px solid var(--line-paper)}
.msh .msh-lade a{color:var(--magenta);font-weight:600}
@media(max-width:640px){.msh .msh-tz{grid-template-columns:1fr;gap:6px}.msh .msh-tz .msh-arr{display:none}.msh .msh-tzd{font-size:26px}}

.msh .msh-acad{background:var(--stone);color:var(--body)}
.msh .msh-acad h2{color:var(--ink)}
.msh .msh-acad .msh-split-head .msh-link{margin-top:26px;color:var(--ink)}
.msh .msh-lz{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:start;padding:18px 0;border-top:1px solid var(--line-paper)}
.msh .msh-lz:last-child{border-bottom:1px solid var(--line-paper)}
.msh .msh-lzt b{display:block;font-size:19px;font-weight:600;color:var(--ink);line-height:1.3}
.msh .msh-lzt small{display:block;margin-top:5px;font-size:14.5px;color:var(--body);line-height:1.55;max-width:56ch}
.msh .msh-lzp{font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.msh .msh-lzp small{display:block;margin-top:3px;font-weight:500;font-size:12.5px;color:var(--body);white-space:normal;max-width:18ch}
@media(max-width:560px){.msh .msh-lz{grid-template-columns:1fr;gap:6px}.msh .msh-lzp{text-align:left}.msh .msh-lzp small{max-width:none}}

/* ============================================================
   Methodenseite (five-moves.html) und gemeinsame Bausteine:
   dunkle Sektion mit Radial-Gold, Manifest/Zitat auf Papier,
   Zeitachse mit Text, FAQ nach fivemoves-Muster.
   ============================================================ */
.msh .msh-dark{background:var(--navy);color:var(--on-navy-soft);position:relative;overflow:hidden}
.msh .msh-dark::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 600px at 100% 0%,rgba(228,181,106,.1),transparent 60%)}
.msh .msh-dark .msh-wrap{position:relative}
.msh .msh-dark h2{color:var(--on-navy)}
.msh .msh-dark .msh-lede{color:var(--on-navy-soft)}
.msh .msh-tafelkopf-navy{color:var(--gold)}
.msh .msh-dzeile-frei{padding-left:0;padding-right:0;border-top:1px solid rgba(237,238,244,.14)}
.msh .msh-dzeile-frei:last-child{border-bottom:1px solid rgba(237,238,244,.14)}
.msh .msh-dzeile-frei:hover{background:transparent}
.msh .msh-dzeile-frei:hover b{color:var(--gold)}
.msh .msh-dark .msh-mxcard>.msh-core{background:var(--navy-2)}

.msh .msh-manifest{background:var(--paper);color:var(--body)}
.msh .msh-quote-paper{color:var(--ink)}
.msh .msh-quote-paper b{color:var(--gold-paper)}
.msh .msh-manifest-text{margin-top:28px;font-size:19px;max-width:44ch}
.msh .msh-manifest-text b{color:var(--ink)}
.msh .msh-zitat{background:var(--paper);color:var(--body)}
.msh .msh-cite-paper{color:var(--gold-paper)}
.msh .msh-cite-paper span{color:var(--body)}

.msh .msh-schritte{background:var(--stone);color:var(--body)}
.msh .msh-schritte h2{color:var(--ink)}
.msh .msh-steps-lang{margin-top:0}
.msh .msh-steps-lang .msh-step{padding-bottom:40px}
.msh .msh-steps-lang .msh-step::before{background:var(--stone)}
.msh .msh-steps-lang .msh-step.msh-hot::before{background:var(--gold-paper)}
.msh .msh-step p{margin-top:10px;max-width:50ch;font-size:16px;color:var(--body)}

.msh .msh-faq{background:var(--stone);color:var(--body)}
.msh .msh-faq h2{color:var(--ink)}
.msh .msh-faq-list{display:flex;flex-direction:column}
.msh .msh-faq details{border-top:1px solid var(--line-paper)}
.msh .msh-faq details:last-child{border-bottom:1px solid var(--line-paper)}
.msh .msh-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-weight:600;font-size:17.5px;color:var(--ink);line-height:1.4;min-height:44px}
.msh .msh-faq summary::-webkit-details-marker{display:none}
.msh .msh-faq summary .msh-ico{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-paper);position:relative;transition:transform .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease)}
.msh .msh-faq summary .msh-ico::before,.msh .msh-faq summary .msh-ico::after{content:"";position:absolute;top:50%;left:50%;background:var(--ink);transform:translate(-50%,-50%)}
.msh .msh-faq summary .msh-ico::before{width:12px;height:1.5px}
.msh .msh-faq summary .msh-ico::after{width:1.5px;height:12px}
.msh .msh-faq summary:hover .msh-ico{border-color:var(--ink)}
.msh .msh-faq details[open] summary .msh-ico{transform:rotate(45deg);background:var(--paper)}
.msh .msh-faq details p{padding:0 58px 24px 0;max-width:64ch;font-size:16px}
.msh .msh-schluss-stein{background:var(--stone)}

/* ============================================================
   Cranio-Seite (craniosacral.html): ruhigerer Hero-Ausschnitt,
   drei Listen "Wann Menschen zu mir kommen", Grundwechsel-Varianten.
   ============================================================ */
.msh .msh-hero-ruhig .msh-hero-img img{object-position:66% 22%}
.msh .msh-bereiche-sek{background:var(--paper);color:var(--body)}
.msh .msh-bereiche-sek h2{color:var(--ink)}
.msh .msh-bereiche{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;margin-top:clamp(36px,5vw,56px);border-top:1px solid var(--line-paper)}
.msh .msh-bereich{padding:24px 24px 8px 0;border-right:1px solid var(--line-paper);margin-right:8px}
.msh .msh-bereich:last-child{border-right:none}
.msh .msh-bereich small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-paper);margin-bottom:12px}
.msh .msh-bereich li{padding:9px 0;border-top:1px solid var(--line-paper);font-size:16px;color:var(--ink)}
.msh .msh-bereich li:first-child{border-top:none;padding-top:0}
@media(max-width:760px){.msh .msh-bereiche{grid-template-columns:1fr;gap:0}.msh .msh-bereich{border-right:none;margin-right:0;padding-right:0;padding-bottom:20px}}
.msh .msh-zitat-stein{background:var(--stone)}
.msh .msh-faq-papier{background:var(--paper)}
.msh .msh-faq-papier details[open] summary .msh-ico{background:var(--stone)}
.msh .msh-schluss .msh-note a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line-paper)}

.msh .msh-schluss-stein .msh-note{color:var(--body)}

/* ============================================================
   LW und FUNKE: Satzzeilen wie fivemoves' Stimmen, Aubergine-Welt,
   Panel-Karte ohne Foto, Zahlenzeilen, Textblock auf Navy.
   ============================================================ */
.msh .msh-hero-lw .msh-hero-img img{object-position:62% 30%}
.msh .msh-hero-lw .msh-hero-img::after{background:
  linear-gradient(90deg,rgba(21,26,49,.97) 0%,rgba(21,26,49,.9) 36%,rgba(21,26,49,.45) 60%,rgba(21,26,49,.16) 100%),
  linear-gradient(180deg,rgba(75,42,68,.35) 0%,rgba(21,26,49,0) 40%,rgba(21,26,49,.6) 100%)}
.msh .msh-hero-fk .msh-hero-img img{object-position:56% 40%}
@media(max-width:960px){.msh .msh-hero-lw .msh-hero-img img{object-position:62% 42%}.msh .msh-hero-fk .msh-hero-img img{object-position:50% 45%}
  .msh .msh-hero-lw .msh-hero-img::after,.msh .msh-hero-fk .msh-hero-img::after{background:linear-gradient(180deg,rgba(21,26,49,.10) 0%,rgba(21,26,49,.08) 40%,rgba(21,26,49,.72) 72%,var(--navy) 100%)}}

.msh .msh-saetze{background:var(--paper);color:var(--body)}
.msh .msh-saetze h2{color:var(--ink)}
.msh .msh-satz{display:grid;grid-template-columns:1fr 200px;gap:24px;align-items:baseline;padding:22px 0;border-top:1px solid var(--line-paper)}
.msh .msh-satz:last-of-type{border-bottom:1px solid var(--line-paper)}
.msh .msh-satz p{font-size:clamp(19px,1.6vw,22px);font-weight:500;color:var(--ink);line-height:1.4;text-wrap:pretty}
.msh .msh-satz span{font-size:13.5px;color:var(--body);line-height:1.5;text-align:right}
.msh .msh-satz-navy{border-color:rgba(237,238,244,.14)}
.msh .msh-satz-navy:last-of-type{border-bottom-color:rgba(237,238,244,.14)}
.msh .msh-satz-navy p{color:var(--on-navy)}
.msh .msh-satz-navy span{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
@media(max-width:640px){.msh .msh-satz{grid-template-columns:1fr;gap:6px}.msh .msh-satz span{text-align:left}}

.msh .msh-dark-lw::before{background:radial-gradient(900px 600px at 100% 0%,rgba(185,143,174,.16),transparent 60%)}
.msh .msh-dark .msh-text{color:var(--on-navy-soft)}
.msh .msh-dark .msh-text b{color:var(--on-navy)}
.msh .msh-dark-text{margin-top:28px;font-size:18px;max-width:52ch}
.msh .msh-dark .msh-quote{color:var(--on-navy)}
.msh .msh-dark .msh-quote b{color:var(--gold)}
.msh .msh-manifest-stein{background:var(--stone)}
.msh .msh-manifest .msh-cite{margin-top:26px}
.msh .msh-schritte-papier{background:var(--paper)}
.msh .msh-schritte-papier .msh-step::before{background:var(--paper)}
.msh .msh-schritte-papier .msh-step.msh-hot::before{background:var(--gold-paper)}

.msh .msh-mxpanel{display:flex;align-items:flex-end;aspect-ratio:16/10;padding:24px;position:relative;overflow:hidden}
.msh .msh-mxpanel-lw{background:linear-gradient(160deg,#3B2038 0%,var(--aub) 55%,#5A3452 100%)}
.msh .msh-mxpanel-lw::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 320px at 90% 0%,rgba(185,143,174,.28),transparent 60%)}
.msh .msh-mxpanel-txt{position:relative;z-index:1;display:block;font-family:var(--dsp);font-weight:600;font-size:clamp(24px,2.4vw,32px);line-height:1.05;letter-spacing:-.02em;color:var(--on-navy);max-width:14ch}
.msh .msh-mxpanel-txt b{display:block;color:var(--gold);font-weight:600;margin-top:.25em}

.msh .msh-wer{background:var(--paper);color:var(--body)}
.msh .msh-wer h2{color:var(--ink);font-size:clamp(30px,3.6vw,46px)}
.msh .msh-zahlen{display:flex;flex-direction:column;margin-top:32px}
.msh .msh-zahl{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:14px 0;border-top:1px solid var(--line-paper)}
.msh .msh-zahl:last-child{border-bottom:1px solid var(--line-paper)}
.msh .msh-zahl .msh-num{font-size:clamp(40px,4.6vw,60px);line-height:.95;color:var(--ink);min-width:2.2ch}
.msh .msh-zahl .msh-num small{font-family:var(--txt);font-size:.38em;font-weight:600;color:var(--gold-paper);letter-spacing:0;margin-left:.1em}
.msh .msh-zahl span{font-size:15.5px}
.msh .msh-wer .msh-andy{margin-bottom:28px}
.msh .msh-wer .msh-lzt small{max-width:60ch}

/* ============================================================
   Kinder, Ueber mich, Kontakt: stille Ticket-Zeilen, Link-Zeilen
   mit Pfeil, Bereiche auf Stein, Karte nach Zustimmung.
   ============================================================ */
.msh .msh-signale{background:var(--paper);color:var(--body)}
.msh .msh-signale h2{color:var(--ink)}
.msh .msh-tk-still:hover .msh-arr{transform:none}
.msh .msh-tk-row.msh-tk-still{grid-template-columns:1fr}
.msh .msh-bereiche-stein{background:var(--stone)}
.msh .msh-bereich li a{color:var(--ink);border-bottom:1px solid var(--line-paper);font-weight:600}
.msh a.msh-lz{grid-template-columns:minmax(0,1fr) auto;align-items:center;transition:background .5s var(--ease)}
.msh a.msh-lz:hover{background:rgba(21,26,49,.03)}
.msh a.msh-lz .msh-arr{border:1px solid var(--line-paper);background:transparent;color:var(--ink)}
.msh a.msh-lz:hover .msh-arr{transform:translate(2px,-1px);border-color:var(--ink)}
.msh .msh-sevi-grid-kontakt{align-items:center;margin-top:0}
.msh .msh-praxis{background:var(--stone);color:var(--body)}
.msh .msh-praxis h2{color:var(--ink)}
.msh .msh-praxis .msh-fakten{margin-top:30px;max-width:none}
.msh .msh-praxis .msh-split-head .msh-link{margin-top:28px;color:var(--ink)}
.msh .msh-praxis .msh-split{align-items:stretch}
.msh .msh-map .msh-core{height:100%;min-height:420px;display:flex;align-items:center;justify-content:center;background:var(--paper)}
.msh .msh-map-consent{padding:clamp(24px,3vw,40px);max-width:42ch}
.msh .msh-map-consent p{font-size:16px;color:var(--body)}
.msh .msh-map-consent p b{color:var(--ink)}
.msh .msh-map-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:22px}
.msh .msh-map-ctas .msh-link{color:var(--ink)}
.msh .msh-map-frame{width:100%;height:100%;min-height:420px;border:0;display:block}
@media(max-width:900px){.msh .msh-map .msh-core{min-height:340px}}

/* ============================================================
   Eventseiten, FAQ, Rechtliches, 404
   ============================================================ */
.msh .msh-hero-mx .msh-hero-img img{object-position:50% 60%}
.msh .msh-hero-mx .msh-hero-img::after{background:
  linear-gradient(90deg,rgba(21,26,49,.96) 0%,rgba(21,26,49,.88) 38%,rgba(21,26,49,.5) 62%,rgba(21,26,49,.3) 100%),
  linear-gradient(180deg,rgba(21,26,49,.3) 0%,rgba(21,26,49,0) 30%,rgba(21,26,49,.7) 100%)}
@media(max-width:960px){.msh .msh-hero-mx .msh-hero-img img{object-position:50% 55%}.msh .msh-hero-mx .msh-hero-img::after{background:linear-gradient(180deg,rgba(21,26,49,.10) 0%,rgba(21,26,49,.08) 40%,rgba(21,26,49,.72) 72%,var(--navy) 100%)}}
.msh .msh-hero-plain-lw{background:radial-gradient(900px 600px at 100% 0%,rgba(185,143,174,.18),transparent 60%),var(--navy)}
.msh .msh-hero-kurz .msh-hero-grid{grid-template-columns:1fr;min-height:0;padding:150px 0 48px}
.msh .msh-ort{background:var(--paper);color:var(--body)}
.msh .msh-ort h2{color:var(--ink)}
.msh .msh-mosaik{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(36px,5vw,56px)}
.msh .msh-mosaik figure{margin:0;border-radius:var(--r-tile);overflow:hidden;background:var(--stone);position:relative;aspect-ratio:3/4}
.msh .msh-mosaik img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.msh .msh-mosaik figure:hover img{transform:scale(1.03)}
.msh .msh-mosaik figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--on-navy);background:linear-gradient(180deg,rgba(21,26,49,0),rgba(21,26,49,.78))}
.msh .msh-ort .msh-note a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line-paper)}
@media(max-width:760px){.msh .msh-mosaik{grid-template-columns:1fr 1fr}}
.msh .msh-preise{background:var(--paper);color:var(--body)}
.msh .msh-preise h2{color:var(--ink)}
.msh .msh-preise .msh-split-head .msh-link{margin-top:26px;color:var(--ink)}
.msh .msh-preise-stein{background:var(--stone)}
.msh .msh-preise .msh-fakten{margin-top:30px;max-width:none}
.msh .msh-preise .msh-note{margin-top:18px}
.msh .msh-preise .msh-note a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line-paper)}
.msh .msh-tafelkopf-zweit{margin-top:40px}
.msh .msh-wer-stein{background:var(--stone)}
.msh .msh-dark .msh-dzeile .msh-preis{color:var(--gold)}
.msh .msh-faq-list .msh-monat{margin-top:44px;padding-bottom:12px}
.msh .msh-faq-list .msh-monat:first-child{margin-top:0}
.msh .msh-faq details p a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line-paper)}
.msh .msh-legal{background:var(--paper);color:var(--body)}
.msh .msh-legal-text{max-width:68ch;font-size:16.5px;line-height:1.75}
.msh .msh-legal-text h2{font-family:var(--txt);font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.01em;margin:40px 0 10px;line-height:1.3}
.msh .msh-legal-text h2:first-child{margin-top:0}
.msh .msh-legal-text h3{font-size:17px;font-weight:600;color:var(--ink);margin:28px 0 8px}
.msh .msh-legal-text p{margin:0 0 14px}
.msh .msh-legal-text ul{padding-left:20px;margin:0 0 14px;list-style:disc}
.msh .msh-legal-text li{margin:4px 0}
.msh .msh-legal-text a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line-paper)}
.msh .msh-legal-text strong{color:var(--ink)}
.msh .msh-preise-stein .msh-note{color:var(--body)}
