/* ======================================================================
   Therapeutic Concepts v2 – cinematic-athletic, one theme (dark), one accent (logo red)
   Scope: everything inside .v2 (homepage first), header/footer via body:has(.v2)
   ====================================================================== */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url(../fonts/archivo-var.woff2) format('woff2')}

body:has(.v2){
  --bg:#0f1113; --bg-2:#15181c; --bg-3:#1c2025; --tx:#eceae6; --tx-2:#b4b8be; --tx-3:#80868e;
  --acc:#d9483a; --acc-2:#ef6a5b; --hair:rgba(236,234,230,.12);
  --fx:'Archivo',var(--fd); --ease-x:cubic-bezier(.16,1,.3,1);
  background:var(--bg); color:var(--tx);
}
body:has(.v2)::after{mix-blend-mode:overlay; opacity:.06}
.v2{background:var(--bg); color:var(--tx); overflow:clip}
.v2 h1,.v2 h2,.v2 h3,.v2 h4{color:var(--tx); font-family:var(--fx)}
.v2 .lead,.v2 p{color:var(--tx-2)}
.v2 ::selection{background:var(--acc); color:#fff}

/* ---------- buttons (pill, one system) ---------- */
.x-btn{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:52px; padding:0 1.6rem;
  border-radius:999px; font-family:var(--fx); font-weight:650; font-stretch:105%; letter-spacing:.01em; font-size:1rem;
  transition:transform .35s var(--ease-x), background .3s, color .3s, box-shadow .35s; white-space:nowrap}
.x-btn:active{transform:scale(.97)}
.x-btn-red{background:var(--acc); color:#fff; box-shadow:0 12px 34px -14px rgba(217,72,58,.7)}
.x-btn-red:hover{background:var(--acc-2); transform:translateY(-2px)}
.x-btn-line{color:var(--tx); box-shadow:inset 0 0 0 1.5px rgba(236,234,230,.45)}
.x-btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--tx); transform:translateY(-2px)}
.x-link{font-family:var(--fx); font-weight:650; color:var(--tx); background:linear-gradient(var(--acc),var(--acc)) no-repeat 0 100%/100% 2px; padding-bottom:4px; transition:background-size .4s var(--ease-x)}
.x-link:hover{background-size:0 2px; background-position:100% 100%}

/* ---------- HERO ---------- */
.x-hero{position:relative; min-height:100dvh; display:flex; align-items:flex-end; isolation:isolate; overflow:hidden}
.x-hero-media{position:absolute; inset:0; z-index:-2}
.x-hero-media img{width:100%; height:100%; object-fit:cover; object-position:58% 40%; animation:xZoom 1.8s var(--ease-x) both}
@keyframes xZoom{from{transform:scale(1.18); filter:brightness(.4)} to{transform:scale(1.04); filter:none}}
@supports (animation-timeline: scroll()){
  .x-hero-media img{animation:xZoom 1.8s var(--ease-x) both, xHeroOut linear both; animation-timeline:auto, scroll(root); animation-range:normal, 0 100vh}
  @keyframes xHeroOut{to{transform:scale(1.18) translateY(6%); filter:brightness(.55)}}
}
.x-hero::after{content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(15,17,19,.55) 0%,rgba(15,17,19,0) 30%,rgba(15,17,19,.55) 62%,var(--bg) 100%),
             linear-gradient(90deg,rgba(15,17,19,.75),rgba(15,17,19,0) 70%)}
.x-hero-in{padding-block:6rem clamp(2.5rem,7vh,5rem); width:100%}
.x-kicker{font-family:var(--fx); font-weight:600; font-stretch:120%; text-transform:uppercase; letter-spacing:.24em; font-size:.8rem; color:var(--acc-2)!important;
  animation:xFade .9s var(--ease-x) .2s both}
.x-h1{font-family:var(--fx); font-weight:850; font-stretch:115%; text-transform:uppercase; line-height:.92; letter-spacing:-.01em;
  font-size:clamp(2.2rem,.9rem + 4.6vw,5.4rem); margin:.9rem 0 1.3rem; max-width:none}
.x-h1 .ln{white-space:nowrap}
.x-h1 .ln{display:block; overflow:hidden; padding-bottom:.06em}
.x-h1 .ln > span{display:inline-block; animation:xLine 1.1s var(--ease-x) both}
.x-h1 .ln:nth-child(2) > span{animation-delay:.12s} .x-h1 .ln:nth-child(3) > span{animation-delay:.24s}
.x-h1 em{font-style:normal; color:transparent; -webkit-text-stroke:1.5px var(--tx); font-stretch:125%}
@keyframes xLine{from{transform:translateY(105%)}}
@keyframes xFade{from{opacity:0; transform:translateY(14px)}}
.x-sub{max-width:44ch; font-size:clamp(1.05rem,1rem + .35vw,1.25rem); color:rgba(236,234,230,.86)!important; animation:xFade 1s var(--ease-x) .45s both}
.x-cta{display:flex; gap:.8rem; flex-wrap:wrap; margin-top:2rem; animation:xFade 1s var(--ease-x) .6s both}

/* ---------- MARQUEE ---------- */
.x-marquee{border-block:1px solid var(--hair); padding-block:1.15rem; overflow:hidden; background:var(--bg)}
.x-track{display:flex; gap:3.2rem; width:max-content; animation:xMarq 48s linear infinite}
.x-track span{font-family:var(--fx); font-weight:600; font-stretch:112%; text-transform:uppercase; letter-spacing:.08em; font-size:.95rem; color:var(--tx-2); white-space:nowrap}
.x-track span:nth-child(odd){color:var(--tx)}
.x-marquee:hover .x-track{animation-play-state:paused}
@keyframes xMarq{to{transform:translateX(-50%)}}

/* ---------- MANIFEST ---------- */
.x-manifest{padding-block:clamp(6rem,4rem + 10vw,11rem)}
.x-quote{font-family:var(--fx); font-weight:750; font-stretch:105%; color:var(--tx)!important; line-height:1.06; letter-spacing:-.02em;
  font-size:clamp(2rem,1rem + 4.6vw,5.2rem); max-width:16ch}
.x-quote b{color:var(--acc); font-weight:850}
.x-quote .w{display:inline-block}
@supports (animation-timeline: view()){
  .x-quote .w{opacity:.16; animation:xWord linear both; animation-timeline:view(); animation-range:cover 18% cover 42%}
  @keyframes xWord{to{opacity:1}}
}
.x-principles{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.5rem,3vw,3rem); margin-top:clamp(3.5rem,7vw,6rem); border-top:1px solid var(--hair); padding-top:2.2rem}
.x-principles h3{font-size:1.15rem; font-stretch:112%; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.6rem}
.x-principles p{font-size:.98rem; margin:0}

/* ---------- STICKY STACK ---------- */
.x-stack-sec{padding-bottom:clamp(4rem,8vw,7rem)}
.x-h2{font-family:var(--fx); font-weight:800; font-stretch:110%; text-transform:uppercase; letter-spacing:-.01em; line-height:.98;
  font-size:clamp(2.1rem,1.2rem + 3.6vw,4.4rem); margin-bottom:clamp(2rem,4vw,3.2rem)}
.x-stack{display:grid; gap:0; padding-inline:var(--gut); max-width:calc(var(--maxw) + 2*var(--gut)); margin-inline:auto}
.x-panel{position:sticky; top:84px; display:grid; align-items:end; min-height:min(78vh,720px); border-radius:28px; overflow:hidden; isolation:isolate;
  margin-bottom:clamp(1.2rem,3vw,2rem); box-shadow:0 -30px 60px -30px rgba(0,0,0,.7)}
.x-panel:nth-child(2){top:100px} .x-panel:nth-child(3){top:116px}
.x-panel img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.2s var(--ease-x)}
.x-panel::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(15,17,19,.92) 8%,rgba(15,17,19,.15) 60%)}
.x-panel:hover img{transform:scale(1.04)}
.x-panel-in{padding:clamp(1.6rem,4vw,3.4rem); max-width:640px}
.x-panel h3{font-size:clamp(2rem,1.2rem + 3vw,3.6rem); font-weight:850; font-stretch:118%; text-transform:uppercase; line-height:.95; margin-bottom:.9rem}
.x-panel p{color:rgba(236,234,230,.84)!important; font-size:1.06rem; max-width:46ch}
.x-more{display:inline-flex; margin-top:1.3rem; font-family:var(--fx); font-weight:650; color:#fff; border-bottom:2px solid var(--acc); padding-bottom:3px}

/* ---------- ABOUT ---------- */
.x-about{padding-block:clamp(5rem,9vw,9rem); background:var(--bg-2)}
.x-about-grid{display:grid; grid-template-columns:5fr 6fr; gap:clamp(2rem,6vw,6rem); align-items:center}
.x-about-media{border-radius:28px; overflow:hidden; aspect-ratio:4/5; transform:rotate(-1.5deg)}
.x-about-media img{width:100%; height:100%; object-fit:cover}
.x-role{font-family:var(--fx); font-weight:600; font-stretch:108%; color:var(--acc-2)!important; margin:-1.2rem 0 1.2rem}
.x-stats{display:grid; grid-template-columns:repeat(3,auto); justify-content:start; gap:clamp(1.5rem,4vw,3.5rem); margin:2.2rem 0 2.4rem}
.x-stats dt{font-family:var(--fx); font-weight:850; font-stretch:115%; font-size:clamp(2.4rem,1.6rem + 2.4vw,3.6rem); line-height:1; color:var(--tx); font-variant-numeric:tabular-nums}
.x-stats dd{color:var(--tx-3); font-size:.9rem; margin-top:.35rem}

/* ---------- REACH (kinetic width) ---------- */
.x-reach{padding-block:clamp(5rem,10vw,9rem); text-align:center; overflow:hidden}
.x-reach-big{font-family:var(--fx); font-weight:850; text-transform:uppercase; line-height:.9; color:var(--tx)!important;
  font-size:clamp(2.6rem,.6rem + 8.6vw,9.5rem); display:grid; font-stretch:125%}
.x-reach-big .o{color:transparent; -webkit-text-stroke:1.5px var(--acc)}
@supports (animation-timeline: view()){
  .x-reach-big span{animation:xWidth linear both; animation-timeline:view(); animation-range:entry 0% cover 50%}
  @keyframes xWidth{from{font-stretch:62%; letter-spacing:.06em} to{font-stretch:125%; letter-spacing:-.01em}}
}
.x-reach-list{list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin:2.6rem auto 0; max-width:900px; padding:0 var(--gut)}
.x-reach-list li{padding:.55rem 1rem; border-radius:999px; box-shadow:inset 0 0 0 1px var(--hair); color:var(--tx-2); font-size:.92rem}

/* ---------- REVIEWS + CONTACT re-skin ---------- */
.v2 .reviews{background:var(--bg)}
.v2 .reviews .rev,.v2 .rev-carousel .rev{background:var(--bg-3); border-color:var(--hair); color:var(--tx-2)}
.v2 .reviews .rev p{color:var(--tx-2)} .v2 .reviews .rev .who b,.v2 .rev .who{color:var(--tx)}
.v2 .reviews h2.title{font-family:var(--fx); text-transform:uppercase; font-stretch:110%}
.v2 .contact{background:var(--bg-2)!important}
.v2 .contact h2.title{font-family:var(--fx); text-transform:uppercase; font-stretch:110%; font-weight:850}
.v2 .contact-form{background:var(--bg-3); border:1px solid var(--hair)}
.v2 .contact-form h3{color:var(--tx)}
.v2 .contact-form label{color:var(--tx-2)}
.v2 .contact-form input,.v2 .contact-form select,.v2 .contact-form textarea{background:var(--bg); color:var(--tx); border-color:rgba(236,234,230,.22)}
.v2 .contact-form input::placeholder,.v2 .contact-form textarea::placeholder{color:#8d939b}
.v2 .btn-primary{background:var(--acc)} .v2 .btn-ghost{color:var(--tx); border-color:rgba(236,234,230,.35)}

/* ---------- header + footer on the dark page ---------- */
body:has(.v2) .header.scrolled{background:rgba(15,17,19,.9)!important; box-shadow:0 1px 0 var(--hair)!important}
body:has(.v2) .header .brand span,body:has(.v2) .header .nav a,body:has(.v2) .header .tel,body:has(.v2) .header .burger{color:var(--tx)!important}
body:has(.v2) .header .brand b{color:var(--acc-2)!important}
body:has(.v2) .header .nav a,body:has(.v2) .header .tel{white-space:nowrap}
@media (max-width:1000px){body:has(.v2) .nav{background:var(--bg-2)!important}}
body:has(.v2) .footer{background:#0b0c0e}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .x-principles{grid-template-columns:1fr 1fr}
  .x-about-grid{grid-template-columns:1fr}
  .x-about-media{transform:none; aspect-ratio:4/3}
  .x-panel{min-height:70vh; top:72px} .x-panel:nth-child(2){top:84px} .x-panel:nth-child(3){top:96px}
}
@media (max-width:560px){
  .x-h1 .ln{white-space:normal}
  .x-h1{font-size:clamp(1.75rem,.7rem + 5.4vw,2.3rem); font-stretch:100%; line-height:.98}
  .x-kicker{letter-spacing:.16em}
  .x-principles{grid-template-columns:1fr}
  .x-stats{grid-template-columns:repeat(3,1fr); gap:1rem}
  .x-cta .x-btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .x-hero-media img,.x-h1 .ln>span,.x-kicker,.x-sub,.x-cta,.x-track,.x-quote .w,.x-reach-big span{animation:none!important; opacity:1!important}
  .x-reach-big span{font-stretch:125%}
}
/* header spacing on the v2 page: one line, never touching */
body:has(.v2) .header .brand span{white-space:nowrap}
body:has(.v2) .header .brand{margin-right:clamp(2rem,4.5vw,5rem)}
@media (min-width:1001px) and (max-width:1320px){body:has(.v2) .header .tel{display:none}}

.x-quote .nb{white-space:nowrap}
.v2 .g-score .num{color:var(--tx)!important} .v2 .g-score{color:var(--tx-2)}
body:has(.v2) .cookie{background:var(--bg-3); border-color:var(--hair); box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
body:has(.v2) .cookie p{color:var(--tx-2)} body:has(.v2) .cookie p b{color:var(--tx)} body:has(.v2) .cookie a{color:var(--acc-2)}
body:has(.v2) .cookie .btn-ghost,body:has(.v2) .cookie .btn:not(.btn-primary){color:var(--tx)}

/* ======================================================================
   SITE-WIDE v2: every page is wrapped in <main class="v2"> → one dark theme everywhere.
   Old tokens are remapped so all existing components follow; hard-coded surfaces are overridden below.
   ====================================================================== */
body:has(.v2){
  --cream:var(--bg); --cream-2:var(--bg-2); --white:var(--bg-3);
  --ink:var(--tx); --ink-2:var(--tx-2); --muted:var(--tx-2); --muted-2:var(--tx-3);
  --line:var(--hair); --line-2:rgba(236,234,230,.2);
  --red:var(--acc); --red-700:#b8362a; --red-100:rgba(217,72,58,.14);
  --teal:var(--acc-2); --teal-700:var(--acc); --teal-100:rgba(217,72,58,.12);
  --blue:var(--tx-2); --gold:#e2b45a;
  --fd:'Archivo','Sora',system-ui,sans-serif;
  --sh-sm:0 2px 10px -4px rgba(0,0,0,.6); --sh:0 20px 50px -20px rgba(0,0,0,.7); --sh-lg:0 40px 90px -30px rgba(0,0,0,.8);
}
.v2 [style*="var(--cream)"]{background:var(--bg-2)!important}
.v2 .section{background:transparent}
.v2 .section:nth-of-type(even):not(.cta-band):not(.x-about):not(.contact){background:var(--bg)}

/* type: one display voice */
.v2 h2.title,.v2 .pagehero h1{font-family:var(--fx); font-weight:850; font-stretch:112%; text-transform:uppercase; letter-spacing:-.01em; line-height:.98}
.v2 .pagehero h1{font-size:clamp(2rem,1rem + 3.6vw,4.2rem); max-width:18ch}
.v2 h3,.v2 h4{font-family:var(--fx); font-weight:700; font-stretch:105%}
.v2 .eyebrow{font-family:var(--fx); font-stretch:120%; color:var(--acc-2)}
.v2 .eyebrow::before{background:var(--acc-2)}
.v2 .prose h2{font-family:var(--fx); font-stretch:108%; font-weight:800}
.v2 .prose a,.v2 a.inline{color:var(--acc-2)}
.v2 .prose strong{color:var(--tx)}

/* surfaces that were hard-coded light or dark */
.v2 .trust{background:var(--bg-2); border-block:1px solid var(--hair)}
.v2 .plans{background:var(--bg-2)}
.v2 .plan{background:var(--bg-3); border-color:var(--hair)}
.v2 .plan.featured{background:linear-gradient(180deg,#262b31,#1c2025); border-color:var(--acc)}
.v2 .order,.v2 .wiz{background:var(--bg-3); color:var(--tx); border:1px solid var(--hair)}
.v2 .wiz-bar{background:var(--bg-2)}
.pmodal-panel{background:var(--bg-3)!important; color:var(--tx)!important}
.v2 .card{background:var(--bg-3); border-color:var(--hair)}
.v2 .card-ic{background:rgba(15,17,19,.75); color:var(--acc-2)}
.v2 .btn-light{background:var(--tx); color:var(--bg)}
.v2 .btn-ghost{color:var(--tx); border-color:rgba(236,234,230,.35)}
.v2 .btn-ghost:hover{border-color:var(--tx)}
.v2 .btn-primary{background:var(--acc); color:#fff}
.v2 .video-card .play span{background:rgba(236,234,230,.92); color:var(--bg)}
.legalbar{background:rgba(15,17,19,.92)!important}
.v2 .field input,.v2 .field select,.v2 .field textarea,.v2 .wiz-fields input,.v2 .wiz-fields select,.v2 .wiz-fields textarea{background:var(--bg); color:var(--tx); border-color:rgba(236,234,230,.2)}
.v2 .field input:focus,.v2 .field select:focus,.v2 .field textarea:focus,.v2 .wiz-fields input:focus,.v2 .wiz-fields select:focus,.v2 .wiz-fields textarea:focus{background:var(--bg); border-color:var(--acc); box-shadow:0 0 0 4px rgba(217,72,58,.22)}
.v2 ::placeholder{color:#8d939b}
.v2 .cta-band{background:linear-gradient(120deg,#1c2025,#15181c); border-block:1px solid var(--hair)}
.v2 .cta-band h2.title{color:var(--tx)}
.v2 .stars,.v2 .rev .stars{color:var(--gold)}

/* ---------- contact v2 (homepage + Kontakt) ---------- */
.v2 .contact{background:var(--bg-2)!important; position:relative; isolation:isolate; overflow:hidden}
.v2 .contact::before{content:""; position:absolute; inset:-20% -10% auto auto; width:60%; height:120%; z-index:-1; pointer-events:none;
  background:radial-gradient(closest-side,rgba(217,72,58,.18),transparent)}
.v2 .contact .c-list{display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-top:1.8rem}
.v2 .contact .c-item{background:var(--bg-3); border:1px solid var(--hair); border-radius:18px; padding:1rem 1.1rem; transition:transform .35s var(--ease-x), border-color .3s}
.v2 .contact a.c-item:hover{transform:translateY(-3px); border-color:rgba(217,72,58,.6)}
.v2 .contact .c-item .ic{background:rgba(217,72,58,.14); color:var(--acc-2); border-radius:12px}
.v2 .contact .c-item .ic.wa{background:rgba(37,211,102,.14); color:var(--wa)}
.v2 .contact .c-item:last-child:nth-child(odd){grid-column:1/-1}
.v2 .contact-form{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02)) ,var(--bg-3); border:1px solid rgba(236,234,230,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 40px 90px -40px rgba(0,0,0,.9); border-radius:24px}
.v2 .contact-form h3{font-family:var(--fx); font-weight:850; font-stretch:112%; text-transform:uppercase; font-size:1.5rem}
.x-flabel{font-family:var(--fd); font-weight:600; font-size:.85rem; color:var(--tx-2); margin-bottom:.15rem}
.x-pills{display:flex; flex-wrap:wrap; gap:.5rem}
.x-pill{position:relative; cursor:pointer}
.x-pill input{position:absolute; opacity:0; pointer-events:none}
.x-pill span{display:inline-flex; align-items:center; min-height:42px; padding:0 1rem; border-radius:999px; font-size:.9rem; font-weight:600;
  color:var(--tx-2); box-shadow:inset 0 0 0 1px rgba(236,234,230,.22); transition:background .25s, color .25s, box-shadow .25s, transform .25s var(--ease-x)}
.x-pill:hover span{color:var(--tx); box-shadow:inset 0 0 0 1px rgba(236,234,230,.5)}
.x-pill input:checked + span{background:var(--acc); color:#fff; box-shadow:none; transform:scale(1.02)}
.x-pill input:focus-visible + span{outline:3px solid var(--acc-2); outline-offset:2px}
.x-submit{display:flex; align-items:center; justify-content:center; gap:.8rem; width:100%; min-height:58px; border-radius:999px; background:var(--acc); color:#fff;
  font-family:var(--fx); font-weight:700; font-stretch:108%; font-size:1.05rem; box-shadow:0 18px 40px -18px rgba(217,72,58,.8);
  transition:background .3s, transform .35s var(--ease-x)}
.x-submit:hover{background:var(--acc-2); transform:translateY(-2px)}
.x-submit:active{transform:scale(.98)}
.x-submit .x-arrow{transition:transform .35s var(--ease-x)}
.x-submit:hover .x-arrow{transform:translateX(5px)}
.x-note{font-size:.84rem; color:var(--tx-3)!important; text-align:center; margin:.8rem 0 0}
@media (max-width:560px){ .v2 .contact .c-list{grid-template-columns:1fr} }

/* fixes: cookie "Nur notwendige" was light-on-white; non-WhatsApp links styled as WA buttons get the red accent */
body:has(.v2) .cookie .btn-light{background:transparent; color:var(--tx); box-shadow:inset 0 0 0 1.5px rgba(236,234,230,.3)}
body:has(.v2) .cookie .btn-light:hover{box-shadow:inset 0 0 0 1.5px var(--tx)}
.v2 a.btn-wa:not([href*="wa.me"]){background:var(--acc); box-shadow:0 14px 30px -14px rgba(217,72,58,.8)}
.v2 a.btn-wa:not([href*="wa.me"]):hover{background:var(--acc-2)}

/* fixes: cookie "Nur notwendige" was light-on-white; non-WhatsApp links styled as WA buttons get the red accent */
body:has(.v2) .cookie .btn-light{background:transparent; color:var(--tx); box-shadow:inset 0 0 0 1.5px rgba(236,234,230,.3)}
body:has(.v2) .cookie .btn-light:hover{box-shadow:inset 0 0 0 1.5px var(--tx)}
.v2 a.btn-wa:not([href*="wa.me"]){background:var(--acc); box-shadow:0 14px 30px -14px rgba(217,72,58,.8)}
.v2 a.btn-wa:not([href*="wa.me"]):hover{background:var(--acc-2)}

/* Massagearten: Icon + Kategorien immer in EINER Zeile und ganz unten in der Karte → über eine Kartenreihe exakt auf gleicher Höhe */
.v2 .card-foot{display:flex; flex-direction:column}
.v2 .card-foot .cats{order:2; flex-wrap:nowrap; margin:.8rem 0 0}
.v2 .card-foot .good{margin:0}
@media (min-width:1280px){
  .v2 .card-foot .cats{gap:.25rem}
  .v2 .card-foot .cat-ic{width:.95rem; height:.95rem; margin-right:.1rem}
  .v2 .card-foot .cats span{font-size:.66rem; padding:.2rem .42rem}
}
/* 4 Spalten erst ab 1280px – darunter sind die Karten zu schmal für drei Kategorien nebeneinander */
@media (min-width:1001px) and (max-width:1279px){ .v2 .massage-grid{grid-template-columns:repeat(2,1fr)} }

/* akademischer Titel hinter dem Namen: kleiner, nicht in Versalien (sonst „BSC“) */
.x-grad{font-family:var(--fd); font-size:.42em; font-weight:600; font-stretch:100%; letter-spacing:0; text-transform:none; color:var(--tx-2); white-space:nowrap}
