body { background: radial-gradient(70% 50% at 50% 0%, #1d2026, #0f1012 70%); color: #ece9e4; font: 400 1.05rem/1.65 'Manrope', system-ui, sans-serif; min-height: 100vh; }
.rahmen { width: min(1180px, 100% - 2rem); margin-inline: auto; padding-block: clamp(3rem, 8vw, 6rem) 3rem; }
.marke { color: #ffd38a; font-size: .8rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }
h1 { margin-top: 1rem; font-size: clamp(2.4rem, 6vw, 4.6rem); line-height: 1.02; font-weight: 800; letter-spacing: -.03em; }
h1 span { color: #9a968f; }
.unter { max-width: 44rem; margin-top: 1.3rem; color: #b9b5ae; font-size: 1.1rem; }
.karten { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-top: clamp(2.5rem, 6vw, 4rem); }
.karte { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 24px; background: #17191d; border: 1px solid rgba(255,255,255,.08); text-decoration: none; transition: transform .4s cubic-bezier(.2,.7,.2,1), border-color .3s; }
.karte:hover { transform: translateY(-6px); }
.karte img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.karte:hover img { transform: scale(1.05); }
.text { display: flex; flex-direction: column; gap: .5rem; flex: 1; padding: 1.5rem; }
.text small { font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.text b { font-size: 1.5rem; line-height: 1.2; }
.text > span { color: #a9a59e; font-size: .96rem; }
.text em { margin-top: auto; padding-top: .8rem; font-style: normal; font-weight: 700; }
.shk small, .shk em { color: #eaa66d; } .shk:hover { border-color: #d17f45; }
.physio small, .physio em { color: #b4c7b1; } .physio:hover { border-color: #b4c7b1; }
.gastro small, .gastro em { color: #e4cb93; } .gastro:hover { border-color: #c9a35a; }
.shk b { font-family: 'Archivo', sans-serif; font-stretch: 120%; font-weight: 900; text-transform: uppercase; font-size: 1.3rem; }
.physio b { font-family: 'Fraunces', serif; font-weight: 500; }
.gastro b { font-family: 'Cormorant', serif; font-style: italic; font-weight: 600; font-size: 1.8rem; }
.fuss { margin-top: 3rem; color: #77736c; font-size: .85rem; }
.fuss a { color: #ffd38a; }
@media (max-width: 860px) { .karten { grid-template-columns: 1fr; max-width: 520px; } }
