/* Goldstandard v50 – Designsystem der sechs freien Designstudien („glaubwürdige Praxiswebsites“).
   Einheiten: "24u" = 24 virtuelle Pixel (Build: calc(24 * var(--u))), "16t" = Schriftgröße (zusätzlich × --fs).
   Vollansicht: --u = 1px. Vorschau (.mini): --u skaliert mit der Rahmenbreite.
   Blöcke mit @media (max-width: 760px) { … }
 …  gelten für schmale Ansichten (≤ 760 px) und Smartphone-Vorschauen. */

@font-face { font-family: "GS Schibsted"; src: url(../fonts/schibsted-grotesk.woff2) format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "GS Fraunces"; src: url(../fonts/fraunces-soft.woff2) format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "GS Fraunces"; src: url(../fonts/fraunces-soft-italic.woff2) format("woff2"); font-weight: 300 600; font-style: italic; font-display: swap; }
@font-face { font-family: "GS Manrope"; src: url(../fonts/manrope.woff2) format("woff2"); font-weight: 200 700; font-display: swap; }
@font-face { font-family: "GS Spectral"; src: url(../fonts/spectral-300.woff2) format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "GS Spectral"; src: url(../fonts/spectral-300-italic.woff2) format("woff2"); font-weight: 300; font-style: italic; font-display: swap; }
@font-face { font-family: "GS Spectral"; src: url(../fonts/spectral-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "GS Spectral"; src: url(../fonts/spectral-500.woff2) format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }

/* =========================================================
   Grundgerüst
   ========================================================= */
.pw {
  --u: 1px;
  --fs: 1;
  --p-radius: 0px;
  --p-btn-radius: var(--p-radius);
  --p-font-display: Georgia, serif;
  --p-font-body: system-ui, sans-serif;
  --p-h1: calc(56 * var(--u) * var(--fs, 1));
  --p-h1-lh: 1.06;
  --p-h1-w: 500;
  --p-h2: calc(36 * var(--u) * var(--fs, 1));
  --p-h2-w: var(--p-h1-w);
  --p-sec: calc(88 * var(--u));
  position: relative;
  font-family: var(--p-font-body);
  font-size: calc(16 * var(--u) * var(--fs, 1));
  line-height: 1.6;
  color: var(--p-ink);
  background: var(--p-bg);
  text-align: left;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
  hyphens: manual;
}
.pw *, .pw *::before, .pw *::after { box-sizing: border-box; }
.pw :where(p, h1, h2, h3, h4, ul, ol, dl, dd, figure) { margin: 0; padding: 0; }
.pw :where(ul, ol) { list-style: none; }
.pw img { display: block; max-width: 100%; }
:where(.pw) a { color: inherit; text-decoration: none; }
.pw sup { font-size: .5em; vertical-align: .9em; line-height: 0; }
.pw button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.pw :focus-visible { outline: 2px solid var(--p-ink); outline-offset: 3px; }
.p-wrap { width: 100%; max-width: calc(1280 * var(--u)); margin-inline: auto; padding-inline: calc(64 * var(--u)); }
.p-nw { white-space: nowrap; }

/* Vorschau-Rahmen */
.mini { container-type: inline-size; position: relative; overflow: hidden; background: var(--mini-bg, #fff); isolation: isolate; }
.mini > .pw { --u: calc(100cqw / 1280); width: 100%; pointer-events: none; user-select: none; }
.mini > .pw[data-device="mobile"] { --u: calc(100cqw / 390); }
.mini-scroll { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }

.p-ico { width: calc(18 * var(--u)); height: calc(18 * var(--u)); flex: none; }
.p-arrow { width: calc(18 * var(--u)); height: calc(18 * var(--u)); flex: none; }

/* ---------- Kopfleiste ---------- */
.p-top { background: var(--p-accent); color: var(--p-accent-ink); font-size: calc(13.5 * var(--u) * var(--fs, 1)); line-height: 1.3; }
.p-top-in { display: flex; align-items: center; gap: calc(8 * var(--u)) calc(28 * var(--u)); min-height: calc(40 * var(--u)); }
.p-top-item { display: inline-flex; align-items: center; gap: calc(8 * var(--u)); white-space: nowrap; }
.p-top-item .p-ico { width: calc(15 * var(--u)); height: calc(15 * var(--u)); opacity: .85; }
.p-top-item b { font-weight: 650; letter-spacing: .01em; }
.p-top-em { margin-left: auto; }
/* Die heutige Sprechzeit ist je nach Wochentag unterschiedlich lang: Sie darf gekürzt werden, Telefon und Bedienelemente nie */
.p-top-phone, .p-textsize { flex: none; }
.p-top-today { flex: 0 1 auto; min-width: 0; overflow: hidden; }
.p-top-today > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Navigation ---------- */
.p-nav { position: relative; z-index: 3; background: var(--p-bg); border-bottom: 1px solid var(--p-line); }
.p-nav-in { display: flex; align-items: center; gap: calc(32 * var(--u)); min-height: calc(84 * var(--u)); }
.p-logo { display: inline-flex; align-items: center; gap: calc(12 * var(--u)); line-height: 1.1; min-width: 0; }
.p-mark { width: calc(34 * var(--u)); height: calc(34 * var(--u)); flex: none; color: var(--p-accent); }
.p-logo-t { display: grid; gap: calc(3 * var(--u)); }
.p-nav .p-logo { min-height: calc(44 * var(--u)); }
.p-logo b { font-family: var(--p-font-display); font-weight: 600; font-size: calc(21 * var(--u) * var(--fs, 1)); letter-spacing: -.01em; white-space: nowrap; }
.p-logo small { font-size: calc(12 * var(--u) * var(--fs, 1)); color: var(--p-muted); letter-spacing: .02em; }
.p-menu { display: flex; gap: calc(28 * var(--u)); margin-left: auto; font-size: calc(15 * var(--u) * var(--fs, 1)); font-weight: 500; }
.p-menu-item { position: relative; display: inline-flex; align-items: center; min-height: calc(40 * var(--u)); white-space: nowrap; }
.p-nav-phone { display: none; }
.p-burger { display: none; width: calc(42 * var(--u)); height: calc(42 * var(--u)); border-radius: 50%; border: 1px solid var(--p-line); place-content: center; gap: calc(5 * var(--u)); flex: none; }
.p-burger i { display: block; width: calc(16 * var(--u)); height: calc(2 * var(--u)); background: currentColor; border-radius: calc(2 * var(--u)); transition: transform .25s; }

.p-btn { display: inline-flex; align-items: center; justify-content: center; gap: calc(10 * var(--u)); min-height: calc(50 * var(--u)); padding: 0 calc(24 * var(--u)); background: var(--p-accent); color: var(--p-accent-ink); font-weight: 600; font-size: calc(16 * var(--u) * var(--fs, 1)); border-radius: var(--p-btn-radius); line-height: 1.15; white-space: nowrap; }
.p-btn-sm { min-height: calc(42 * var(--u)); padding: 0 calc(18 * var(--u)); font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.p-btn-ghost { background: transparent; color: var(--p-ink); box-shadow: inset 0 0 0 1px var(--p-ink); }
.p-link { display: inline-flex; align-items: center; min-height: calc(48 * var(--u)); font-weight: 600; text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 1px; }
.p-kicker { font-size: calc(13 * var(--u) * var(--fs, 1)); letter-spacing: .08em; text-transform: uppercase; color: var(--p-accent); font-weight: 650; }
.p-text { color: var(--p-muted); max-width: calc(640 * var(--u)); }
.p-small { font-size: calc(14 * var(--u) * var(--fs, 1)); }
.p-fine { font-size: calc(12.5 * var(--u) * var(--fs, 1)); color: var(--p-muted); letter-spacing: .01em; margin-top: calc(28 * var(--u)); }
.p-caption { position: absolute; left: calc(14 * var(--u)); bottom: calc(12 * var(--u)); font-size: calc(11 * var(--u) * var(--fs, 1)); letter-spacing: .03em; color: #fff; background: rgba(0, 0, 0, .64); padding: calc(3 * var(--u)) calc(8 * var(--u)); border-radius: calc(2 * var(--u)); }

/* ---------- Einstieg (gemeinsam) ---------- */
.p-hero { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: calc(24 * var(--u)); align-items: center; max-width: calc(1280 * var(--u)); margin-inline: auto; padding: calc(60 * var(--u)) calc(64 * var(--u)) calc(72 * var(--u)); }
.p-hero-copy { grid-column: 1 / span 6; display: grid; gap: calc(20 * var(--u)); align-content: center; position: relative; z-index: 2; }
.p-h1 { font-family: var(--p-font-display); font-size: var(--p-h1); line-height: var(--p-h1-lh); font-weight: var(--p-h1-w); letter-spacing: -.02em; text-wrap: balance; }
.p-h1 em { display: block; }
.p-lead { font-size: calc(18.5 * var(--u) * var(--fs, 1)); line-height: 1.55; color: var(--p-muted); max-width: calc(560 * var(--u)); }
.p-actions { display: flex; flex-wrap: wrap; align-items: center; gap: calc(12 * var(--u)) calc(26 * var(--u)); margin-top: calc(6 * var(--u)); }
.p-hero-art { grid-column: 7 / span 6; position: relative; height: calc(560 * var(--u)); margin: 0; }
.p-img { width: 100%; height: 100%; object-fit: cover; }
.p-today { position: absolute; z-index: 3; display: grid; gap: calc(2 * var(--u)); padding: calc(16 * var(--u)) calc(20 * var(--u)); background: var(--p-surface); border-radius: var(--p-radius); box-shadow: 0 calc(12 * var(--u)) calc(36 * var(--u)) rgba(20, 20, 10, .12); min-width: calc(230 * var(--u)); }
.p-today-l { font-size: calc(12 * var(--u) * var(--fs, 1)); letter-spacing: .06em; text-transform: uppercase; color: var(--p-muted); }
.p-today strong { font-size: calc(21 * var(--u) * var(--fs, 1)); font-weight: 650; letter-spacing: -.01em; line-height: 1.25; }
.p-today-n { font-size: calc(13 * var(--u) * var(--fs, 1)); color: var(--p-muted); }
.p-facts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0 calc(24 * var(--u)); }
.p-facts > div { display: grid; gap: calc(4 * var(--u)); align-content: start; }
.p-facts dt { font-size: calc(12 * var(--u) * var(--fs, 1)); letter-spacing: .06em; text-transform: uppercase; color: var(--p-muted); }
.p-facts dd { font-weight: 600; font-size: calc(15.5 * var(--u) * var(--fs, 1)); line-height: 1.35; }
.p-quick { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(12 * var(--u)); }
.p-quick-item { display: grid; gap: calc(4 * var(--u)); padding: calc(16 * var(--u)) calc(18 * var(--u)); background: var(--p-surface); border-radius: var(--p-radius); border: 1px solid var(--p-line); font-size: calc(14.5 * var(--u) * var(--fs, 1)); line-height: 1.45; }
.p-quick-item b { font-size: calc(16 * var(--u) * var(--fs, 1)); }
.p-quick-item span { color: var(--p-muted); }

/* Hinweisleiste */
.p-notice { background: color-mix(in srgb, var(--p-glow) 22%, var(--p-surface)); border-block: 1px solid color-mix(in srgb, var(--p-glow) 45%, var(--p-line)); }
.p-notice-in { display: flex; align-items: flex-start; gap: calc(12 * var(--u)); padding-block: calc(14 * var(--u)); font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-notice-in .p-ico { width: calc(20 * var(--u)); height: calc(20 * var(--u)); margin-top: calc(2 * var(--u)); color: var(--p-ink); }

/* ---------- Bereiche (gemeinsam) ---------- */
.p-sec { padding-block: var(--p-sec); }
.p-sec + .p-sec { border-top: 1px solid var(--p-line); }
.p-head { display: grid; gap: calc(12 * var(--u)); max-width: calc(760 * var(--u)); margin-bottom: calc(40 * var(--u)); }
.p-h2 { font-family: var(--p-font-display); font-size: var(--p-h2); line-height: 1.12; font-weight: var(--p-h2-w); letter-spacing: -.015em; text-wrap: balance; }
.p-h3 { font-size: calc(18.5 * var(--u) * var(--fs, 1)); line-height: 1.3; font-weight: 650; letter-spacing: -.005em; }
.p-h4 { font-size: calc(15 * var(--u) * var(--fs, 1)); line-height: 1.3; font-weight: 700; }

/* Anliegen */
.p-task-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 calc(56 * var(--u)); border-top: 1px solid var(--p-line); }
.p-task { display: grid; grid-template-columns: calc(52 * var(--u)) minmax(0, 1fr); gap: calc(18 * var(--u)); align-items: start; padding: calc(22 * var(--u)) 0; border-bottom: 1px solid var(--p-line); }
.p-task-ico { display: grid; place-items: center; width: calc(52 * var(--u)); height: calc(52 * var(--u)); border-radius: 50%; background: color-mix(in srgb, var(--p-accent) 12%, var(--p-surface)); color: var(--p-accent); }
.p-task-ico .p-ico { width: calc(24 * var(--u)); height: calc(24 * var(--u)); }
.p-task > div { display: grid; gap: calc(4 * var(--u)); }
.p-task p { color: var(--p-muted); font-size: calc(15 * var(--u) * var(--fs, 1)); }

/* Sprechzeiten */
.p-hours-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: calc(32 * var(--u)) calc(64 * var(--u)); align-items: start; }
.p-hours-main .p-head { margin-bottom: calc(22 * var(--u)); }
.p-hours { display: grid; border-top: 1px solid var(--p-line); }
.p-hrow { display: grid; grid-template-columns: calc(150 * var(--u)) minmax(0, 1fr); gap: calc(4 * var(--u)) calc(20 * var(--u)); align-items: baseline; padding: calc(14 * var(--u)) calc(12 * var(--u)); border-bottom: 1px solid var(--p-line); }
.p-hrow dt { font-weight: 650; }
.p-hrow dd { display: grid; gap: calc(2 * var(--u)); }
.p-time { font-size: calc(17 * var(--u) * var(--fs, 1)); }
.p-hours--compact .p-sep { display: none; }
.p-hours--compact .p-time .p-nw { display: block; }
.p-hours--compact .p-hrow.is-today { padding-inline: calc(10 * var(--u)); }
.p-hnote { color: var(--p-muted); font-size: calc(14 * var(--u) * var(--fs, 1)); }
.p-hrow.is-today { background: color-mix(in srgb, var(--p-accent) 9%, var(--p-surface)); box-shadow: inset calc(3 * var(--u)) 0 0 var(--p-accent); }
.p-today-tag { display: inline-block; margin-left: calc(6 * var(--u)); padding: calc(1 * var(--u)) calc(8 * var(--u)); border-radius: calc(999 * var(--u)); background: var(--p-accent); color: var(--p-accent-ink); font-size: calc(11 * var(--u) * var(--fs, 1)); font-weight: 650; letter-spacing: .04em; text-transform: uppercase; vertical-align: calc(2 * var(--u)); }
.p-hours--compact .p-hrow { grid-template-columns: calc(112 * var(--u)) minmax(0, 1fr); padding-inline: 0; }
.p-hours-aside { display: grid; gap: calc(16 * var(--u)); }
.p-extra { display: grid; gap: 0; padding: calc(8 * var(--u)) calc(22 * var(--u)); background: var(--p-surface); border: 1px solid var(--p-line); border-radius: var(--p-radius); }
.p-extra > div { display: grid; gap: calc(2 * var(--u)); padding: calc(14 * var(--u)) 0; }
.p-extra > div + div { border-top: 1px solid var(--p-line); }
.p-extra dt { font-size: calc(12.5 * var(--u) * var(--fs, 1)); letter-spacing: .06em; text-transform: uppercase; color: var(--p-muted); }
.p-extra dd { font-weight: 600; }
.p-after { display: flex; gap: calc(12 * var(--u)); align-items: flex-start; padding: calc(16 * var(--u)) calc(18 * var(--u)); border-radius: var(--p-radius); background: color-mix(in srgb, var(--p-glow) 16%, var(--p-surface)); font-size: calc(14.5 * var(--u) * var(--fs, 1)); line-height: 1.5; }
.p-after .p-ico { width: calc(20 * var(--u)); height: calc(20 * var(--u)); margin-top: calc(1 * var(--u)); }

/* Leistungen */
.p-groups { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: calc(32 * var(--u)) calc(48 * var(--u)); }
.p-group { display: grid; gap: calc(14 * var(--u)); align-content: start; }
.p-ul { display: grid; gap: 0; border-top: 1px solid var(--p-line); }
.p-ul li { display: grid; gap: calc(2 * var(--u)); padding: calc(11 * var(--u)) 0 calc(11 * var(--u)) calc(22 * var(--u)); border-bottom: 1px solid var(--p-line); position: relative; }
.p-ul li::before { content: ""; position: absolute; left: calc(2 * var(--u)); top: calc(calc(11 * var(--u)) + .62em); width: calc(7 * var(--u)); height: calc(7 * var(--u)); border-radius: 50%; background: var(--p-accent); opacity: .85; }
.p-li-t { font-weight: 500; }
.p-li-d { color: var(--p-muted); font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.p-group .p-fine { margin-top: calc(4 * var(--u)); }

/* Team */
.p-team-grid { display: grid; gap: calc(40 * var(--u)) calc(56 * var(--u)); align-items: start; }
.p-team-grid.has-staff { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
.p-docs { display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); gap: calc(28 * var(--u)); }
.p-doc { display: grid; gap: calc(16 * var(--u)); align-content: start; }
.p-doc-t { display: grid; gap: calc(3 * var(--u)); }
.p-role { color: var(--p-muted); font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-focus { font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.p-focus::before { content: "Schwerpunkte: "; color: var(--p-muted); }
.p-extra-line { font-size: calc(14 * var(--u) * var(--fs, 1)); color: var(--p-muted); }
.p-portrait { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--p-radius); background: var(--p-soft); max-width: calc(210 * var(--u)); }
.p-portrait svg { display: block; width: 100%; height: 100%; }
.p-portrait .pp-bg { fill: var(--p-soft); }
.p-portrait .pp-fg { fill: color-mix(in srgb, var(--p-ink) 13%, var(--p-soft)); }
.p-portrait[data-i="1"] .pp-bg { fill: color-mix(in srgb, var(--p-accent) 14%, var(--p-surface)); }
.p-portrait[data-i="2"] .pp-bg { fill: color-mix(in srgb, var(--p-glow) 20%, var(--p-surface)); }
.p-portrait-l { position: absolute; left: calc(10 * var(--u)); top: calc(10 * var(--u)); padding: calc(2 * var(--u)) calc(8 * var(--u)); border-radius: calc(999 * var(--u)); background: var(--p-surface); color: var(--p-muted); font-size: calc(11 * var(--u) * var(--fs, 1)); letter-spacing: .04em; }
.p-staff { display: grid; gap: calc(12 * var(--u)); padding: calc(22 * var(--u)) calc(24 * var(--u)); background: var(--p-surface); border: 1px solid var(--p-line); border-radius: var(--p-radius); }
.p-staff ul { display: grid; gap: 0; }
.p-staff li { display: grid; gap: calc(1 * var(--u)); padding: calc(10 * var(--u)) 0; border-top: 1px solid var(--p-line); font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-staff li span { color: var(--p-muted); font-size: calc(14 * var(--u) * var(--fs, 1)); }

/* Kontakt */
.p-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(40 * var(--u)) calc(56 * var(--u)); align-items: center; }
.p-contact-copy { display: grid; align-content: start; }
.p-contact-copy .p-head { margin-bottom: calc(22 * var(--u)); }
.p-dl { display: grid; border-top: 1px solid var(--p-line); }
.p-dl > div { display: grid; grid-template-columns: calc(96 * var(--u)) minmax(0, 1fr); gap: calc(16 * var(--u)); padding-block: calc(11 * var(--u)); border-bottom: 1px solid var(--p-line); }
.p-dl dt { color: var(--p-muted); font-size: calc(13 * var(--u) * var(--fs, 1)); letter-spacing: .04em; text-transform: uppercase; padding-top: calc(2 * var(--u)); }
.p-way { display: grid; gap: calc(10 * var(--u)); margin-top: calc(22 * var(--u)); }
.p-way li { display: flex; gap: calc(12 * var(--u)); align-items: flex-start; font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-way .p-ico { width: calc(20 * var(--u)); height: calc(20 * var(--u)); margin-top: calc(2 * var(--u)); color: var(--p-accent); }
.p-way b { font-weight: 650; }
.p-map { position: relative; aspect-ratio: 400 / 260; overflow: hidden; border-radius: var(--p-radius); border: 1px solid var(--p-line); }
.p-map svg { display: block; width: 100%; height: 100%; }
.p-map span { position: absolute; left: calc(12 * var(--u)); bottom: calc(10 * var(--u)); font-size: calc(11 * var(--u) * var(--fs, 1)); color: var(--p-muted); background: var(--p-surface); padding: calc(2 * var(--u)) calc(8 * var(--u)); border-radius: calc(2 * var(--u)); }
.p-hc-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); gap: calc(32 * var(--u)) calc(40 * var(--u)); align-items: start; }
.p-hc-col { display: grid; gap: calc(14 * var(--u)); align-content: start; }

/* Reiter */
.p-tabs { display: grid; gap: calc(20 * var(--u)); }
.p-tablist { display: flex; flex-wrap: wrap; gap: calc(8 * var(--u)); }
.p-tablist [role="tab"] { display: inline-flex; align-items: center; gap: calc(10 * var(--u)); min-height: calc(48 * var(--u)); padding: 0 calc(18 * var(--u)); border-radius: var(--p-btn-radius); border: 1px solid var(--p-line); background: var(--p-surface); font-weight: 600; font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-tab-n { font-size: calc(12 * var(--u) * var(--fs, 1)); color: var(--p-muted); font-variant-numeric: tabular-nums; }
.p-tablist [role="tab"][aria-selected="true"] { background: var(--p-ink); color: var(--p-bg); border-color: var(--p-ink); }
.p-tablist [role="tab"][aria-selected="true"] .p-tab-n { color: inherit; opacity: .8; }
.js .p-tabpanel:not(.is-active) { display: none; }
.no-js .p-tabpanels { display: grid; gap: calc(16 * var(--u)); }
.p-tabpanel { display: grid; grid-template-columns: minmax(0, 1fr); gap: calc(24 * var(--u)); padding: calc(36 * var(--u)); border-radius: var(--p-radius); background: var(--p-surface); border: 1px solid var(--p-line); }
.p-tabpanel:has(.p-tp-letters) { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); align-items: center; }
.p-tp-copy { display: grid; gap: calc(12 * var(--u)); max-width: calc(860 * var(--u)); }
.p-tp-n { font-size: calc(12.5 * var(--u) * var(--fs, 1)); letter-spacing: .06em; color: var(--p-accent); font-weight: 650; text-transform: uppercase; }
.p-tabpanel .p-h3 { font-family: var(--p-font-display); font-weight: var(--p-h2-w); font-size: calc(28 * var(--u) * var(--fs, 1)); line-height: 1.15; }
.p-tp-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(calc(220 * var(--u)), 1fr)); gap: 0 calc(28 * var(--u)); margin-top: calc(6 * var(--u)); border-top: 1px solid var(--p-line); }
.p-tp-list > div { display: grid; gap: calc(2 * var(--u)); padding: calc(12 * var(--u)) 0; border-bottom: 1px solid var(--p-line); }
.p-tp-list dt { font-weight: 650; }
.p-tp-list dd { color: var(--p-muted); font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.p-tp-letters { font-family: var(--p-font-display); font-weight: 700; font-stretch: 125%; font-size: calc(96 * var(--u) * var(--fs, 1)); line-height: 1; letter-spacing: .16em; text-align: center; color: var(--p-accent); }

/* Ablauf in Schritten */
.p-steps { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: calc(28 * var(--u)); }
.p-steps li { display: grid; gap: calc(8 * var(--u)); align-content: start; padding-top: calc(18 * var(--u)); border-top: calc(2 * var(--u)) solid var(--p-ink); }
.p-step-n { font-size: calc(14 * var(--u) * var(--fs, 1)); font-weight: 650; color: var(--p-accent); font-variant-numeric: tabular-nums; }
.p-steps p { color: var(--p-muted); font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-bring { display: flex; gap: calc(12 * var(--u)); align-items: flex-start; margin-top: calc(32 * var(--u)); padding: calc(16 * var(--u)) calc(20 * var(--u)); border-radius: var(--p-radius); background: var(--p-surface); border: 1px solid var(--p-line); font-size: calc(15 * var(--u) * var(--fs, 1)); max-width: calc(900 * var(--u)); }
.p-bring .p-ico { width: calc(20 * var(--u)); height: calc(20 * var(--u)); margin-top: calc(2 * var(--u)); color: var(--p-accent); }

/* Kosten */
.p-cost-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(28 * var(--u)) calc(40 * var(--u)); }
.p-cost { display: grid; gap: calc(8 * var(--u)); align-content: start; padding-top: calc(18 * var(--u)); border-top: 1px solid var(--p-ink); }
.p-cost p { color: var(--p-muted); font-size: calc(15 * var(--u) * var(--fs, 1)); }

/* Räume */
.p-rooms-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: calc(40 * var(--u)) calc(64 * var(--u)); align-items: center; }
.p-rooms-pics { display: grid; grid-template-columns: repeat(var(--n, 1), minmax(0, 1fr)); gap: calc(16 * var(--u)); }
.p-room { position: relative; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--p-radius); }
.p-rooms-pics[style*="--n:1"] .p-room { aspect-ratio: 4 / 3; }
.p-room img { width: 100%; height: 100%; object-fit: cover; }
.p-room figcaption { position: absolute; left: calc(12 * var(--u)); bottom: calc(10 * var(--u)); padding: calc(3 * var(--u)) calc(9 * var(--u)); border-radius: calc(2 * var(--u)); background: rgba(0, 0, 0, .64); color: #fff; font-size: calc(11.5 * var(--u) * var(--fs, 1)); }
.p-checks { display: grid; gap: calc(10 * var(--u)); }
.p-checks li { display: flex; gap: calc(12 * var(--u)); align-items: flex-start; }
.p-checks .p-ico { width: calc(20 * var(--u)); height: calc(20 * var(--u)); margin-top: calc(2 * var(--u)); color: var(--p-accent); }

/* Listenblöcke (Werkbank-Themen) */
.p-deflist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 calc(48 * var(--u)); border-top: 1px solid var(--p-line); }
.p-deflist li { display: grid; gap: calc(3 * var(--u)); padding: calc(16 * var(--u)) 0; border-bottom: 1px solid var(--p-line); }
.p-deflist strong { font-weight: 650; }
.p-deflist span { color: var(--p-muted); font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(16 * var(--u)) calc(28 * var(--u)); }
.p-news-list li { display: flex; gap: calc(14 * var(--u)); align-items: flex-start; padding: calc(20 * var(--u)); background: var(--p-surface); border: 1px solid var(--p-line); border-radius: var(--p-radius); }
.p-news-list .p-ico { width: calc(22 * var(--u)); height: calc(22 * var(--u)); color: var(--p-accent); margin-top: calc(2 * var(--u)); }
.p-news-list p { color: var(--p-muted); font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-band { background: var(--p-surface); }
.p-band-in { display: flex; align-items: center; justify-content: space-between; gap: calc(24 * var(--u)) calc(32 * var(--u)); flex-wrap: wrap; }
.p-band-in > div { display: grid; gap: calc(10 * var(--u)); max-width: calc(760 * var(--u)); }

/* Hautkrebs-Screening, Ratgeber, Vorsorge-Fahrplan, Fragen */
.p-scr-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: calc(32 * var(--u)) calc(64 * var(--u)); align-items: start; }
.p-scr-head { display: grid; gap: calc(14 * var(--u)); }
.p-scr-steps { display: grid; gap: 0; border-top: 1px solid var(--p-line); }
.p-scr-steps li { display: grid; grid-template-columns: calc(64 * var(--u)) minmax(0, 1fr); gap: calc(20 * var(--u)); padding: calc(22 * var(--u)) 0; border-bottom: 1px solid var(--p-line); }
.p-scr-n { font-family: var(--p-font-display); font-style: italic; font-size: calc(48 * var(--u) * var(--fs, 1)); line-height: .9; color: var(--p-accent); }
.p-scr-steps p { color: var(--p-muted); }
.p-scr-cost { grid-column: 2; display: grid; gap: calc(6 * var(--u)); padding: calc(18 * var(--u)) calc(22 * var(--u)); background: var(--p-surface); border-left: calc(3 * var(--u)) solid var(--p-accent); font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-art-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto; gap: calc(24 * var(--u)) calc(48 * var(--u)); }
.p-article { display: grid; gap: calc(12 * var(--u)); align-content: start; }
.p-article--lead { grid-row: span 2; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(28 * var(--u)); align-items: center; }
.p-article:not(.p-article--lead) { padding-block: calc(4 * var(--u)) calc(22 * var(--u)); border-bottom: 1px solid var(--p-line); }
.p-article-pic { margin: 0; aspect-ratio: 3 / 4; overflow: hidden; }
.p-article-pic img { width: 100%; height: 100%; object-fit: cover; }
.p-article-t { display: grid; gap: calc(10 * var(--u)); }
.p-tag { font-size: calc(12 * var(--u) * var(--fs, 1)); letter-spacing: .08em; text-transform: uppercase; color: var(--p-muted); }
.p-article p:not(.p-tag) { color: var(--p-muted); font-size: calc(15 * var(--u) * var(--fs, 1)); }
.p-more { display: inline-flex; align-items: center; gap: calc(8 * var(--u)); font-weight: 600; font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.p-more .p-arrow { width: calc(16 * var(--u)); height: calc(16 * var(--u)); }
.p-timeline { position: relative; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 0 calc(8 * var(--u)); padding-top: calc(10 * var(--u)); }
.p-timeline::before { content: ""; position: absolute; left: 4%; right: 4%; top: calc(19 * var(--u)); height: calc(3 * var(--u)); border-radius: calc(3 * var(--u)); background: color-mix(in srgb, var(--p-accent) 30%, var(--p-surface)); }
.p-timeline li { position: relative; display: grid; justify-items: center; gap: calc(6 * var(--u)); text-align: center; }
.p-tl-dot { width: calc(22 * var(--u)); height: calc(22 * var(--u)); border-radius: 50%; background: var(--p-surface); border: calc(4 * var(--u)) solid var(--p-accent); z-index: 1; }
.p-timeline b { font-size: calc(19 * var(--u) * var(--fs, 1)); font-weight: 850; color: var(--p-accent); line-height: 1; margin-top: calc(6 * var(--u)); }
.p-timeline li span:last-child { font-size: calc(13 * var(--u) * var(--fs, 1)); color: var(--p-muted); line-height: 1.35; }
.p-faq-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: calc(24 * var(--u)) calc(64 * var(--u)); align-items: start; }
.p-faq-list { display: grid; border-top: 1px solid var(--p-line); }
.p-faq-item { border-bottom: 1px solid var(--p-line); }
.p-faq-item summary, .p-faq-q { display: flex; align-items: center; justify-content: space-between; gap: calc(16 * var(--u)); min-height: calc(60 * var(--u)); padding-block: calc(12 * var(--u)); cursor: pointer; list-style: none; font-size: calc(18 * var(--u) * var(--fs, 1)); }
.p-faq-item summary::-webkit-details-marker { display: none; }
.p-pm { position: relative; width: calc(14 * var(--u)); height: calc(14 * var(--u)); flex: none; }
.p-pm::before, .p-pm::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: calc(1.5 * var(--u)); margin-top: calc(-.75 * var(--u)); background: currentColor; transition: transform .25s; }
.p-pm::after { transform: rotate(90deg); }
.p-faq-item[open] .p-pm::after { transform: rotate(0deg); }
.p-faq-item p { padding: 0 calc(32 * var(--u)) calc(18 * var(--u)) 0; color: var(--p-muted); max-width: calc(700 * var(--u)); }

/* ---------- Fußzeile & Schnellzugriff ---------- */
.p-foot { background: var(--p-ink); color: var(--p-bg); padding-block: calc(48 * var(--u)) calc(24 * var(--u)); font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.p-foot-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr) minmax(0, 2fr); gap: calc(24 * var(--u)) calc(32 * var(--u)); }
.p-foot-grid > div { display: grid; gap: calc(6 * var(--u)); align-content: start; }
.p-foot .p-logo b { font-size: calc(19 * var(--u) * var(--fs, 1)); }
.p-foot .p-logo small, .p-foot p { color: color-mix(in srgb, var(--p-bg) 78%, var(--p-ink)); }
.p-foot .p-mark { color: currentColor; }
.p-foot-h { font-weight: 650; color: var(--p-bg) !important; margin-bottom: calc(2 * var(--u)); }
.p-foot-links { display: grid; gap: calc(6 * var(--u)); }
.p-foot-fine { margin-top: calc(32 * var(--u)); padding-top: calc(16 * var(--u)); border-top: 1px solid color-mix(in srgb, var(--p-bg) 22%, var(--p-ink)); font-size: calc(12.5 * var(--u) * var(--fs, 1)); color: color-mix(in srgb, var(--p-bg) 82%, var(--p-ink)); }
.p-actionbar { display: none; }

/* =========================================================
   Smartphone (gemeinsam)
   ========================================================= */
@media (max-width: 760px) {
.pw:not([data-device]) { --p-h1: calc(36 * var(--u) * var(--fs, 1)); --p-h2: calc(28 * var(--u) * var(--fs, 1)); --p-sec: calc(52 * var(--u)); font-size: calc(16 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-wrap { padding-inline: calc(20 * var(--u)); }
.pw:not([data-device]) .p-top { font-size: calc(12.5 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-top-in { min-height: calc(34 * var(--u)); gap: calc(6 * var(--u)) calc(16 * var(--u)); justify-content: space-between; }
.pw:not([data-device]) .p-top-addr, .pw:not([data-device]) .p-top-em { display: none; }
.pw:not([data-device]) .p-top-item { min-width: 0; }
.pw:not([data-device]) .p-top-phone { flex: none; }
.pw:not([data-device]) .p-top-today { flex: 0 1 auto; overflow: hidden; }
.pw:not([data-device]) .p-top-today > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pw:not([data-device]) .p-nav-in { min-height: calc(62 * var(--u)); gap: calc(10 * var(--u)); }
.pw:not([data-device]) .p-mark { width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
.pw:not([data-device]) .p-logo b { font-size: calc(17.5 * var(--u) * var(--fs, 1)); white-space: normal; }
.pw:not([data-device]) .p-logo small { font-size: calc(11 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-menu, .pw:not([data-device]) .p-nav-cta { display: none; }
.pw:not([data-device]) .p-nav-phone { display: grid; place-items: center; width: calc(42 * var(--u)); height: calc(42 * var(--u)); margin-left: auto; border-radius: 50%; background: var(--p-accent); color: var(--p-accent-ink); flex: none; }
.pw:not([data-device]) .p-nav-phone .p-ico { width: calc(19 * var(--u)); height: calc(19 * var(--u)); }
.pw:not([data-device]) .p-burger { display: grid; }
.pw:not([data-device]) .p-hero { grid-template-columns: minmax(0, 1fr); padding: calc(26 * var(--u)) calc(20 * var(--u)) calc(36 * var(--u)); row-gap: calc(24 * var(--u)); align-items: start; }
.pw:not([data-device]) .p-hero > * { grid-column: 1 !important; }
.pw:not([data-device]) .p-hero-copy { gap: calc(14 * var(--u)); }
.pw:not([data-device]) .p-lead { font-size: calc(16.5 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-hero-art { height: calc(250 * var(--u)); }
.pw:not([data-device]) .p-btn { min-height: calc(50 * var(--u)); white-space: normal; max-width: 100%; padding-block: calc(8 * var(--u)); }
.pw:not([data-device]) .p-actions { gap: calc(4 * var(--u)) calc(20 * var(--u)); }
.pw:not([data-device]) .p-today { position: relative; inset: auto; min-width: 0; }
.pw:not([data-device]) .p-facts { grid-auto-flow: row; gap: calc(10 * var(--u)); }
.pw:not([data-device]) .p-quick { grid-template-columns: minmax(0, 1fr); gap: calc(8 * var(--u)); }
.pw:not([data-device]) .p-head { margin-bottom: calc(26 * var(--u)); }
.pw:not([data-device]) .p-task-list, .pw:not([data-device]) .p-groups, .pw:not([data-device]) .p-docs, .pw:not([data-device]) .p-team-grid.has-staff, .pw:not([data-device]) .p-contact-grid, .pw:not([data-device]) .p-hours-grid, .pw:not([data-device]) .p-deflist, .pw:not([data-device]) .p-news-list, .pw:not([data-device]) .p-steps, .pw:not([data-device]) .p-cost-grid, .pw:not([data-device]) .p-rooms-grid, .pw:not([data-device]) .p-scr-grid, .pw:not([data-device]) .p-art-grid, .pw:not([data-device]) .p-faq-grid, .pw:not([data-device]) .p-hc-grid { grid-template-columns: minmax(0, 1fr); }
.pw:not([data-device]) .p-task { grid-template-columns: calc(44 * var(--u)) minmax(0, 1fr); gap: calc(14 * var(--u)); padding: calc(16 * var(--u)) 0; }
.pw:not([data-device]) .p-task-ico { width: calc(44 * var(--u)); height: calc(44 * var(--u)); }
.pw:not([data-device]) .p-hrow { grid-template-columns: calc(104 * var(--u)) minmax(0, 1fr); gap: calc(2 * var(--u)) calc(12 * var(--u)); padding: calc(12 * var(--u)) calc(8 * var(--u)); }
.pw:not([data-device]) .p-time { font-size: calc(15.5 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-docs { gap: calc(22 * var(--u)); }
.pw:not([data-device]) .p-doc { grid-template-columns: calc(96 * var(--u)) minmax(0, 1fr); gap: calc(16 * var(--u)); align-items: center; }
.pw:not([data-device]) .p-portrait { aspect-ratio: 4 / 5; }
.pw:not([data-device]) .p-portrait-l { display: none; }
.pw:not([data-device]) .p-tabpanel, .pw:not([data-device]) .p-tabpanel:has(.p-tp-letters) { grid-template-columns: minmax(0, 1fr); padding: calc(22 * var(--u)); }
.pw:not([data-device]) .p-tabpanel .p-h3 { font-size: calc(23 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-tp-letters { font-size: calc(56 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-tablist [role="tab"] { flex: 1 1 auto; justify-content: center; padding-inline: calc(12 * var(--u)); min-height: calc(46 * var(--u)); font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-scr-cost { grid-column: 1; }
.pw:not([data-device]) .p-article--lead { grid-row: auto; grid-template-columns: minmax(0, 1fr); }
.pw:not([data-device]) .p-article-pic { aspect-ratio: 16 / 10; }
.pw:not([data-device]) .p-timeline { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 0 0 calc(4 * var(--u)); }
.pw:not([data-device]) .p-timeline::before { left: calc(14 * var(--u)); right: auto; top: calc(8 * var(--u)); bottom: calc(8 * var(--u)); width: calc(3 * var(--u)); height: auto; }
.pw:not([data-device]) .p-timeline li { grid-template-columns: calc(22 * var(--u)) calc(52 * var(--u)) minmax(0, 1fr); justify-items: start; align-items: center; gap: calc(12 * var(--u)); text-align: left; padding-block: calc(7 * var(--u)); }
.pw:not([data-device]) .p-timeline b { margin-top: 0; font-size: calc(17 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-faq-item summary, .pw:not([data-device]) .p-faq-q { font-size: calc(16.5 * var(--u) * var(--fs, 1)); }
.pw:not([data-device]) .p-foot-grid { grid-template-columns: minmax(0, 1fr); gap: calc(20 * var(--u)); }
.pw:not([data-device]) .p-foot { padding-block: calc(36 * var(--u)) calc(20 * var(--u)); }
.pw:not([data-device]) .p-actionbar { position: sticky; bottom: 0; z-index: 25; display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); background: var(--p-surface); border-top: 1px solid var(--p-line); box-shadow: 0 calc(-8 * var(--u)) calc(24 * var(--u)) rgba(0, 0, 0, .08); }
.pw:not([data-device]) .p-ab-item { display: flex; align-items: center; justify-content: center; gap: calc(8 * var(--u)); min-height: calc(56 * var(--u)); font-weight: 650; font-size: calc(15 * var(--u) * var(--fs, 1)); color: var(--p-accent); }
.pw:not([data-device]) .p-ab-item + .p-ab-item { border-left: 1px solid var(--p-line); }
.pw:not([data-device]) .p-ab-item:first-child { background: var(--p-accent); color: var(--p-accent-ink); }
.pw:not([data-device]) .p-ab-item .p-ico { width: calc(19 * var(--u)); height: calc(19 * var(--u)); }
}

.pw[data-device="mobile"] { --p-h1: calc(36 * var(--u) * var(--fs, 1)); --p-h2: calc(28 * var(--u) * var(--fs, 1)); --p-sec: calc(52 * var(--u)); font-size: calc(16 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-wrap { padding-inline: calc(20 * var(--u)); }
.pw[data-device="mobile"] .p-top { font-size: calc(12.5 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-top-in { min-height: calc(34 * var(--u)); gap: calc(6 * var(--u)) calc(16 * var(--u)); justify-content: space-between; }
.pw[data-device="mobile"] .p-top-addr, .pw[data-device="mobile"] .p-top-em { display: none; }
.pw[data-device="mobile"] .p-top-item { min-width: 0; }
.pw[data-device="mobile"] .p-top-phone { flex: none; }
.pw[data-device="mobile"] .p-top-today { flex: 0 1 auto; overflow: hidden; }
.pw[data-device="mobile"] .p-top-today > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pw[data-device="mobile"] .p-nav-in { min-height: calc(62 * var(--u)); gap: calc(10 * var(--u)); }
.pw[data-device="mobile"] .p-mark { width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
.pw[data-device="mobile"] .p-logo b { font-size: calc(17.5 * var(--u) * var(--fs, 1)); white-space: normal; }
.pw[data-device="mobile"] .p-logo small { font-size: calc(11 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-menu, .pw[data-device="mobile"] .p-nav-cta { display: none; }
.pw[data-device="mobile"] .p-nav-phone { display: grid; place-items: center; width: calc(42 * var(--u)); height: calc(42 * var(--u)); margin-left: auto; border-radius: 50%; background: var(--p-accent); color: var(--p-accent-ink); flex: none; }
.pw[data-device="mobile"] .p-nav-phone .p-ico { width: calc(19 * var(--u)); height: calc(19 * var(--u)); }
.pw[data-device="mobile"] .p-burger { display: grid; }
.pw[data-device="mobile"] .p-hero { grid-template-columns: minmax(0, 1fr); padding: calc(26 * var(--u)) calc(20 * var(--u)) calc(36 * var(--u)); row-gap: calc(24 * var(--u)); align-items: start; }
.pw[data-device="mobile"] .p-hero > * { grid-column: 1 !important; }
.pw[data-device="mobile"] .p-hero-copy { gap: calc(14 * var(--u)); }
.pw[data-device="mobile"] .p-lead { font-size: calc(16.5 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-hero-art { height: calc(250 * var(--u)); }
.pw[data-device="mobile"] .p-btn { min-height: calc(50 * var(--u)); white-space: normal; max-width: 100%; padding-block: calc(8 * var(--u)); }
.pw[data-device="mobile"] .p-actions { gap: calc(4 * var(--u)) calc(20 * var(--u)); }
.pw[data-device="mobile"] .p-today { position: relative; inset: auto; min-width: 0; }
.pw[data-device="mobile"] .p-facts { grid-auto-flow: row; gap: calc(10 * var(--u)); }
.pw[data-device="mobile"] .p-quick { grid-template-columns: minmax(0, 1fr); gap: calc(8 * var(--u)); }
.pw[data-device="mobile"] .p-head { margin-bottom: calc(26 * var(--u)); }
.pw[data-device="mobile"] .p-task-list, .pw[data-device="mobile"] .p-groups, .pw[data-device="mobile"] .p-docs, .pw[data-device="mobile"] .p-team-grid.has-staff, .pw[data-device="mobile"] .p-contact-grid, .pw[data-device="mobile"] .p-hours-grid, .pw[data-device="mobile"] .p-deflist, .pw[data-device="mobile"] .p-news-list, .pw[data-device="mobile"] .p-steps, .pw[data-device="mobile"] .p-cost-grid, .pw[data-device="mobile"] .p-rooms-grid, .pw[data-device="mobile"] .p-scr-grid, .pw[data-device="mobile"] .p-art-grid, .pw[data-device="mobile"] .p-faq-grid, .pw[data-device="mobile"] .p-hc-grid { grid-template-columns: minmax(0, 1fr); }
.pw[data-device="mobile"] .p-task { grid-template-columns: calc(44 * var(--u)) minmax(0, 1fr); gap: calc(14 * var(--u)); padding: calc(16 * var(--u)) 0; }
.pw[data-device="mobile"] .p-task-ico { width: calc(44 * var(--u)); height: calc(44 * var(--u)); }
.pw[data-device="mobile"] .p-hrow { grid-template-columns: calc(104 * var(--u)) minmax(0, 1fr); gap: calc(2 * var(--u)) calc(12 * var(--u)); padding: calc(12 * var(--u)) calc(8 * var(--u)); }
.pw[data-device="mobile"] .p-time { font-size: calc(15.5 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-docs { gap: calc(22 * var(--u)); }
.pw[data-device="mobile"] .p-doc { grid-template-columns: calc(96 * var(--u)) minmax(0, 1fr); gap: calc(16 * var(--u)); align-items: center; }
.pw[data-device="mobile"] .p-portrait { aspect-ratio: 4 / 5; }
.pw[data-device="mobile"] .p-portrait-l { display: none; }
.pw[data-device="mobile"] .p-tabpanel, .pw[data-device="mobile"] .p-tabpanel:has(.p-tp-letters) { grid-template-columns: minmax(0, 1fr); padding: calc(22 * var(--u)); }
.pw[data-device="mobile"] .p-tabpanel .p-h3 { font-size: calc(23 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-tp-letters { font-size: calc(56 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-tablist [role="tab"] { flex: 1 1 auto; justify-content: center; padding-inline: calc(12 * var(--u)); min-height: calc(46 * var(--u)); font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-scr-cost { grid-column: 1; }
.pw[data-device="mobile"] .p-article--lead { grid-row: auto; grid-template-columns: minmax(0, 1fr); }
.pw[data-device="mobile"] .p-article-pic { aspect-ratio: 16 / 10; }
.pw[data-device="mobile"] .p-timeline { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 0 0 calc(4 * var(--u)); }
.pw[data-device="mobile"] .p-timeline::before { left: calc(14 * var(--u)); right: auto; top: calc(8 * var(--u)); bottom: calc(8 * var(--u)); width: calc(3 * var(--u)); height: auto; }
.pw[data-device="mobile"] .p-timeline li { grid-template-columns: calc(22 * var(--u)) calc(52 * var(--u)) minmax(0, 1fr); justify-items: start; align-items: center; gap: calc(12 * var(--u)); text-align: left; padding-block: calc(7 * var(--u)); }
.pw[data-device="mobile"] .p-timeline b { margin-top: 0; font-size: calc(17 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-faq-item summary, .pw[data-device="mobile"] .p-faq-q { font-size: calc(16.5 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"] .p-foot-grid { grid-template-columns: minmax(0, 1fr); gap: calc(20 * var(--u)); }
.pw[data-device="mobile"] .p-foot { padding-block: calc(36 * var(--u)) calc(20 * var(--u)); }
.pw[data-device="mobile"] .p-actionbar { position: sticky; bottom: 0; z-index: 25; display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); background: var(--p-surface); border-top: 1px solid var(--p-line); box-shadow: 0 calc(-8 * var(--u)) calc(24 * var(--u)) rgba(0, 0, 0, .08); }
.pw[data-device="mobile"] .p-ab-item { display: flex; align-items: center; justify-content: center; gap: calc(8 * var(--u)); min-height: calc(56 * var(--u)); font-weight: 650; font-size: calc(15 * var(--u) * var(--fs, 1)); color: var(--p-accent); }
.pw[data-device="mobile"] .p-ab-item + .p-ab-item { border-left: 1px solid var(--p-line); }
.pw[data-device="mobile"] .p-ab-item:first-child { background: var(--p-accent); color: var(--p-accent-ink); }
.pw[data-device="mobile"] .p-ab-item .p-ico { width: calc(19 * var(--u)); height: calc(19 * var(--u)); }


/* =========================================================
   01 · Persönlich & regional (Allgemeinmedizin)
   ========================================================= */
.pw[data-theme="regional"] { --p-font-display: "GS Fraunces", Georgia, serif; --p-font-body: "GS Schibsted", system-ui, sans-serif; --p-radius: calc(14 * var(--u)); --p-btn-radius: calc(999 * var(--u)); --p-h1: calc(60 * var(--u) * var(--fs, 1)); --p-h1-w: 500; --p-h2: calc(38 * var(--u) * var(--fs, 1)); }
.pw[data-theme="regional"][data-type="alt"] { --p-font-display: "GS Schibsted", system-ui, sans-serif; --p-h1-w: 650; }
.pw[data-theme="regional"] .p-h1 em { color: var(--p-accent); font-style: italic; font-weight: 400; }
.pw[data-theme="regional"] .p-kicker { display: flex; align-items: center; gap: calc(12 * var(--u)); letter-spacing: .1em; }
.pw[data-theme="regional"] .p-kicker::before { content: ""; width: calc(26 * var(--u)); height: calc(2 * var(--u)); background: currentColor; }
.pw[data-theme="regional"] .p-hero { padding-bottom: calc(64 * var(--u)); }
.pw[data-theme="regional"] .p-hero-art { grid-column: 7 / span 6; height: calc(540 * var(--u)); border-radius: var(--p-radius); overflow: hidden; box-shadow: inset 0 0 0 1px var(--p-line); }
.pw[data-theme="regional"] .p-art-svg { display: block; width: 100%; height: 100%; }
.pw[data-theme="regional"] .p-today { left: calc(50% - calc(44 * var(--u))); bottom: calc(52 * var(--u)); border-left: calc(4 * var(--u)) solid var(--p-accent); }
/* schmale Kartenausschnitte (Tablet, Smartphone): Randbeschriftungen der Karte ausblenden, damit nichts angeschnitten wird */
.pw[data-theme="regional"] .p-map-wide { display: none; }
@media (min-width: 1101px) { .pw[data-theme="regional"]:not([data-device]) .p-map-wide { display: inline; } }
.mini .pw[data-theme="regional"]:not([data-device="mobile"]) .p-map-wide { display: inline; }
.pw[data-theme="regional"] .p-h3 { font-family: var(--p-font-display); font-weight: 600; font-size: calc(20 * var(--u) * var(--fs, 1)); }
.pw[data-theme="regional"] .p-task .p-h3 { font-family: var(--p-font-body); font-weight: 650; font-size: calc(17.5 * var(--u) * var(--fs, 1)); }
.pw[data-theme="regional"] .p-hours-sec { background: var(--p-surface); }
.pw[data-theme="regional"] .p-hours-sec .p-extra { background: var(--p-bg); }
.pw[data-theme="regional"] .p-hrow dt { font-family: var(--p-font-display); font-weight: 600; font-size: calc(18 * var(--u) * var(--fs, 1)); }
.pw[data-theme="regional"] .p-groups { gap: 0; padding: calc(30 * var(--u)) 0; background: var(--p-surface); border-radius: var(--p-radius); }
.pw[data-theme="regional"] .p-group { padding-inline: calc(32 * var(--u)); }
.pw[data-theme="regional"] .p-group + .p-group { border-left: 1px solid var(--p-line); }
.pw[data-theme="regional"] .p-group .p-ul { border-top: 0; }
.pw[data-theme="regional"] .p-group .p-ul li:last-child { border-bottom: 0; }
.pw[data-theme="regional"] .p-portrait { border-radius: calc(200 * var(--u)) calc(200 * var(--u)) var(--p-radius) var(--p-radius); max-width: calc(230 * var(--u)); }
.pw[data-theme="regional"] .p-portrait-l { left: 50%; top: auto; bottom: calc(12 * var(--u)); transform: translateX(-50%); }
.pw[data-theme="regional"] .p-foot { background: color-mix(in srgb, var(--p-accent) 70%, var(--p-ink)); }
@media (max-width: 760px) {
.pw:not([data-device])[data-theme="regional"] { --p-h1: calc(38 * var(--u) * var(--fs, 1)); --p-h2: calc(29 * var(--u) * var(--fs, 1)); }
.pw:not([data-device])[data-theme="regional"] .p-hero-art { height: calc(260 * var(--u)); border-radius: var(--p-radius); }
.pw:not([data-device])[data-theme="regional"] .p-today { left: auto; bottom: auto; margin-top: calc(-62 * var(--u)); margin-inline: calc(14 * var(--u)); justify-self: stretch; }
.pw:not([data-device])[data-theme="regional"] .p-groups { padding: calc(4 * var(--u)) 0; }
.pw:not([data-device])[data-theme="regional"] .p-group { padding: calc(18 * var(--u)) calc(20 * var(--u)); }
.pw:not([data-device])[data-theme="regional"] .p-group + .p-group { border-left: 0; border-top: 1px solid var(--p-line); }
}

.pw[data-device="mobile"][data-theme="regional"] { --p-h1: calc(38 * var(--u) * var(--fs, 1)); --p-h2: calc(29 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"][data-theme="regional"] .p-hero-art { height: calc(260 * var(--u)); border-radius: var(--p-radius); }
.pw[data-device="mobile"][data-theme="regional"] .p-today { left: auto; bottom: auto; margin-top: calc(-62 * var(--u)); margin-inline: calc(14 * var(--u)); justify-self: stretch; }
.pw[data-device="mobile"][data-theme="regional"] .p-groups { padding: calc(4 * var(--u)) 0; }
.pw[data-device="mobile"][data-theme="regional"] .p-group { padding: calc(18 * var(--u)) calc(20 * var(--u)); }
.pw[data-device="mobile"][data-theme="regional"] .p-group + .p-group { border-left: 0; border-top: 1px solid var(--p-line); }


/* =========================================================
   02 · Präzise & hochwertig (Zahnmedizin)
   ========================================================= */
.pw[data-theme="precise"] { --p-font-display: "GS Manrope", system-ui, sans-serif; --p-font-body: "GS Manrope", system-ui, sans-serif; --p-h1: calc(62 * var(--u) * var(--fs, 1)); --p-h1-w: 300; --p-h1-lh: 1.04; --p-h2: calc(40 * var(--u) * var(--fs, 1)); --p-h2-w: 300; }
.pw[data-theme="precise"][data-type="alt"] { --p-font-display: "GS Newsreader", Georgia, serif; --p-h1-w: 400; --p-h2-w: 400; }
.pw[data-theme="precise"] .p-top { background: transparent; color: var(--p-muted); border-bottom: 1px solid var(--p-line); font-size: calc(12 * var(--u) * var(--fs, 1)); letter-spacing: .06em; }
.pw[data-theme="precise"] .p-top-item b { color: var(--p-ink); font-weight: 600; }
.pw[data-theme="precise"] .p-top-em { color: var(--p-accent); font-weight: 600; }
.pw[data-theme="precise"] .p-logo b { font-weight: 300; font-size: calc(25 * var(--u) * var(--fs, 1)); letter-spacing: .16em; }
.pw[data-theme="precise"] .p-logo small { letter-spacing: .1em; text-transform: uppercase; font-size: calc(10.5 * var(--u) * var(--fs, 1)); }
.pw[data-theme="precise"] .p-menu { font-size: calc(12.5 * var(--u) * var(--fs, 1)); letter-spacing: .14em; text-transform: uppercase; font-weight: 500; }
.pw[data-theme="precise"] .p-btn { padding-inline: calc(26 * var(--u)); letter-spacing: .03em; }
.pw[data-theme="precise"] .p-h1 { letter-spacing: -.035em; }
.pw[data-theme="precise"] .p-h1 em { font-style: normal; color: var(--p-accent); }
.pw[data-theme="precise"] .p-kicker { color: var(--p-muted); font-weight: 500; letter-spacing: .18em; font-size: calc(12 * var(--u) * var(--fs, 1)); }
.pw[data-theme="precise"] .p-hero { align-items: stretch; padding-top: calc(56 * var(--u)); padding-bottom: calc(56 * var(--u)); row-gap: 0; }
.pw[data-theme="precise"] .p-hero-copy { grid-column: 1 / span 7; grid-row: 1; align-content: center; padding-right: calc(32 * var(--u)); }
.pw[data-theme="precise"] .p-hero-art { grid-column: 8 / span 5; grid-row: 1 / span 2; height: calc(600 * var(--u)); }
.pw[data-theme="precise"] .p-facts { grid-column: 1 / span 7; grid-row: 2; align-self: end; margin-top: calc(40 * var(--u)); padding-top: calc(20 * var(--u)); border-top: 1px solid var(--p-ink); }
.pw[data-theme="precise"] .p-facts dt { letter-spacing: .14em; font-size: calc(11 * var(--u) * var(--fs, 1)); }
.pw[data-theme="precise"] .p-facts dd { font-weight: 500; }
.pw[data-theme="precise"] .p-h3 { font-weight: 500; font-size: calc(20 * var(--u) * var(--fs, 1)); }
.pw[data-theme="precise"] .p-tablist [role="tab"] { border-radius: 0; text-transform: uppercase; letter-spacing: .1em; font-size: calc(12.5 * var(--u) * var(--fs, 1)); font-weight: 600; }
.pw[data-theme="precise"] .p-tabpanel { background: transparent; border: 0; border-top: 1px solid var(--p-ink); border-radius: 0; padding: calc(30 * var(--u)) 0 0; }
.pw[data-theme="precise"] .p-tabpanel .p-h3 { font-size: calc(34 * var(--u) * var(--fs, 1)); letter-spacing: -.02em; }
.pw[data-theme="precise"] .p-tp-n { color: var(--p-muted); letter-spacing: .16em; font-weight: 500; }
.pw[data-theme="precise"] .p-step-n { font-size: calc(36 * var(--u) * var(--fs, 1)); font-weight: 200; line-height: 1; }
.pw[data-theme="precise"] .p-steps li { border-top-width: 1px; }
.pw[data-theme="precise"] .p-costs, .pw[data-theme="precise"] .p-rooms { background: var(--p-surface); }
.pw[data-theme="precise"] .p-bring, .pw[data-theme="precise"] .p-extra { border-radius: 0; }
.pw[data-theme="precise"] .p-costs .p-bring { background: var(--p-bg); }
.pw[data-theme="precise"] .p-hrow dt { font-weight: 500; letter-spacing: .02em; }
.pw[data-theme="precise"] .p-portrait { filter: grayscale(.3); }
@media (max-width: 760px) {
.pw:not([data-device])[data-theme="precise"] { --p-h1: calc(38 * var(--u) * var(--fs, 1)); --p-h2: calc(29 * var(--u) * var(--fs, 1)); }
.pw:not([data-device])[data-theme="precise"] .p-top-today { display: none; }
.pw:not([data-device])[data-theme="precise"] .p-top-em { display: inline-flex; margin-left: 0; }
.pw:not([data-device])[data-theme="precise"] .p-top-in { flex-wrap: wrap; row-gap: 0; padding-block: calc(4 * var(--u)); }
.pw:not([data-device])[data-theme="precise"] .p-hero { padding-top: calc(28 * var(--u)); }
.pw:not([data-device])[data-theme="precise"] .p-kicker { letter-spacing: .1em; }
.pw:not([data-device])[data-theme="precise"] .p-hero-copy { grid-row: auto; padding-right: 0; }
.pw:not([data-device])[data-theme="precise"] .p-hero-art { grid-row: auto; height: calc(240 * var(--u)); }
.pw:not([data-device])[data-theme="precise"] .p-facts { grid-row: auto; margin-top: calc(4 * var(--u)); }
.pw:not([data-device])[data-theme="precise"] .p-tabpanel { padding: calc(22 * var(--u)) 0 0; }
}

.pw[data-device="mobile"][data-theme="precise"] { --p-h1: calc(38 * var(--u) * var(--fs, 1)); --p-h2: calc(29 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"][data-theme="precise"] .p-top-today { display: none; }
.pw[data-device="mobile"][data-theme="precise"] .p-top-em { display: inline-flex; margin-left: 0; }
.pw[data-device="mobile"][data-theme="precise"] .p-top-in { flex-wrap: wrap; row-gap: 0; padding-block: calc(4 * var(--u)); }
.pw[data-device="mobile"][data-theme="precise"] .p-hero { padding-top: calc(28 * var(--u)); }
.pw[data-device="mobile"][data-theme="precise"] .p-kicker { letter-spacing: .1em; }
.pw[data-device="mobile"][data-theme="precise"] .p-hero-copy { grid-row: auto; padding-right: 0; }
.pw[data-device="mobile"][data-theme="precise"] .p-hero-art { grid-row: auto; height: calc(240 * var(--u)); }
.pw[data-device="mobile"][data-theme="precise"] .p-facts { grid-row: auto; margin-top: calc(4 * var(--u)); }
.pw[data-device="mobile"][data-theme="precise"] .p-tabpanel { padding: calc(22 * var(--u)) 0 0; }


/* =========================================================
   03 · Bildstark & editorial (Dermatologie)
   ========================================================= */

@media (max-width: 760px) {

}




/* =========================================================
   04 · Freundlich & familiär (Kinder- und Jugendmedizin)
   ========================================================= */

@media (max-width: 760px) {

}




/* =========================================================
   05 · Ruhig & zugewandt (Frauenheilkunde)
   ========================================================= */
.pw[data-theme="calm"] { --p-font-display: "GS Spectral", Georgia, serif; --p-font-body: "GS Spectral", Georgia, serif; --p-radius: calc(6 * var(--u)); --p-btn-radius: calc(999 * var(--u)); --p-h1: calc(60 * var(--u) * var(--fs, 1)); --p-h1-w: 300; --p-h1-lh: 1.06; --p-h2: calc(40 * var(--u) * var(--fs, 1)); --p-h2-w: 300; --p-sec: calc(100 * var(--u)); line-height: 1.75; font-size: calc(17.5 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"][data-type="alt"] { --p-font-display: "GS Manrope", system-ui, sans-serif; }
.pw[data-theme="calm"][data-textsize="2"] { --fs: 1.14; }
.pw[data-theme="calm"][data-textsize="3"] { --fs: 1.3; }
.pw[data-theme="calm"] .p-top { background: var(--p-surface); color: var(--p-muted); border-bottom: 1px solid var(--p-line); font-size: calc(14 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-top-item b { color: var(--p-ink); font-weight: 500; }
.pw[data-theme="calm"] .p-top-em { font-style: italic; }
.pw[data-theme="calm"] .p-textsize { gap: calc(4 * var(--u)); margin-left: calc(18 * var(--u)); }
.pw[data-theme="calm"] .p-ts-l { margin-right: calc(4 * var(--u)); }
.pw[data-theme="calm"] .p-textsize > :is(button, span:not(.p-ts-l)) { display: inline-grid; place-items: center; min-width: calc(30 * var(--u)); height: calc(28 * var(--u)); padding: 0 calc(6 * var(--u)); border-radius: calc(4 * var(--u)); color: var(--p-ink); font-weight: 500; line-height: 1; }
.pw[data-theme="calm"] .p-textsize > :nth-child(2) { font-size: calc(13 * var(--u)); }
.pw[data-theme="calm"] .p-textsize > :nth-child(3) { font-size: calc(16 * var(--u)); }
.pw[data-theme="calm"] .p-textsize > :nth-child(4) { font-size: calc(19 * var(--u)); }
/* gewählte Stufe: gleiche Spezifität wie die Grundregel darüber, daher gewinnt diese spätere Regel (heller Buchstabe auf Akzentfarbe) */
.pw[data-theme="calm"] .p-textsize > button[aria-checked="true"], .pw[data-theme="calm"] .p-textsize > span:nth-child(2) { background: var(--p-accent); color: var(--p-accent-ink); }
.pw[data-theme="calm"] .p-nav { border-bottom-color: transparent; }
.pw[data-theme="calm"] .p-mark { width: calc(30 * var(--u)); height: calc(30 * var(--u)); }
.pw[data-theme="calm"] .p-logo b { font-weight: 400; font-size: calc(25 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-logo b em { font-style: italic; color: var(--p-accent); }
.pw[data-theme="calm"] .p-logo small { font-family: var(--p-font-body); letter-spacing: .02em; font-size: calc(13 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-menu { font-size: calc(16.5 * var(--u) * var(--fs, 1)); font-weight: 400; }
.pw[data-theme="calm"] .p-btn { font-weight: 500; font-size: calc(16.5 * var(--u) * var(--fs, 1)); padding-inline: calc(26 * var(--u)); }
.pw[data-theme="calm"] .p-h1 em { color: var(--p-accent); font-style: italic; }
.pw[data-theme="calm"] .p-kicker { text-transform: none; letter-spacing: .01em; font-size: calc(16 * var(--u) * var(--fs, 1)); font-style: italic; font-weight: 400; color: var(--p-muted); }
.pw[data-theme="calm"] .p-lead { font-size: calc(19.5 * var(--u) * var(--fs, 1)); max-width: calc(520 * var(--u)); }
.pw[data-theme="calm"] .p-link { font-weight: 500; }
.pw[data-theme="calm"] .p-hero { padding-top: calc(70 * var(--u)); padding-bottom: calc(80 * var(--u)); row-gap: calc(36 * var(--u)); }
.pw[data-theme="calm"] .p-hero-copy { grid-column: 1 / span 7; grid-row: 1; }
.pw[data-theme="calm"] .p-hero-art { grid-column: 8 / span 5; grid-row: 1 / span 2; height: calc(480 * var(--u)); }
.pw[data-theme="calm"] .p-art-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.pw[data-theme="calm"] .p-facts { grid-column: 1 / span 7; grid-row: 2; gap: 0 calc(28 * var(--u)); }
.pw[data-theme="calm"] .p-facts > div { padding-left: calc(16 * var(--u)); border-left: 1px solid var(--p-accent); }
.pw[data-theme="calm"] .p-facts dt { text-transform: none; letter-spacing: .01em; font-style: italic; font-size: calc(14.5 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-facts dd { font-weight: 500; font-size: calc(16.5 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-sec + .p-sec { border-top: 0; }
.pw[data-theme="calm"] .p-services, .pw[data-theme="calm"] .p-faq { background: var(--p-surface); }
.pw[data-theme="calm"] .p-h3 { font-family: var(--p-font-display); font-weight: 400; font-size: calc(23 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-groups { gap: calc(32 * var(--u)) calc(80 * var(--u)); }
.pw[data-theme="calm"] .p-ul li { padding: calc(16 * var(--u)) 0; }
.pw[data-theme="calm"] .p-ul li::before { display: none; }
.pw[data-theme="calm"] .p-li-t { font-size: calc(19 * var(--u) * var(--fs, 1)); font-weight: 500; }
.pw[data-theme="calm"] .p-li-d { font-size: calc(16 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-steps li { border-top: 1px solid var(--p-accent); }
.pw[data-theme="calm"] .p-step-n { font-style: italic; font-weight: 400; font-size: calc(18 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-faq-item summary, .pw[data-theme="calm"] .p-faq-q { font-size: calc(20 * var(--u) * var(--fs, 1)); }
.pw[data-theme="calm"] .p-portrait { border-radius: calc(999 * var(--u)); aspect-ratio: 4 / 5; max-width: calc(200 * var(--u)); }
.pw[data-theme="calm"] .p-portrait-l { left: 50%; transform: translateX(-50%); top: auto; bottom: calc(16 * var(--u)); }
.pw[data-theme="calm"] .p-hrow dt { font-weight: 500; }
.pw[data-theme="calm"] .p-foot { background: var(--p-soft); color: var(--p-ink); }
.pw[data-theme="calm"] .p-foot p, .pw[data-theme="calm"] .p-foot .p-logo small { color: color-mix(in srgb, var(--p-ink) 78%, var(--p-soft)); }
.pw[data-theme="calm"] .p-foot-h { color: var(--p-ink) !important; }
.pw[data-theme="calm"] .p-foot-fine { border-top-color: var(--p-line); color: color-mix(in srgb, var(--p-ink) 78%, var(--p-soft)); }
@media (max-width: 760px) {
.pw:not([data-device])[data-theme="calm"] { --p-h1: calc(38 * var(--u) * var(--fs, 1)); --p-h2: calc(29 * var(--u) * var(--fs, 1)); font-size: calc(17 * var(--u) * var(--fs, 1)); --p-sec: calc(60 * var(--u)); }
.pw:not([data-device])[data-theme="calm"] .p-textsize { display: none; }
.pw:not([data-device])[data-theme="calm"] .p-logo b { font-size: calc(21 * var(--u) * var(--fs, 1)); }
.pw:not([data-device])[data-theme="calm"] .p-hero { padding-top: calc(24 * var(--u)); padding-bottom: calc(40 * var(--u)); row-gap: calc(20 * var(--u)); }
.pw:not([data-device])[data-theme="calm"] .p-hero-art { grid-row: 1; height: calc(170 * var(--u)); width: calc(170 * var(--u)); justify-self: end; margin: calc(-10 * var(--u)) calc(-6 * var(--u)) calc(-18 * var(--u)) 0; }
.pw:not([data-device])[data-theme="calm"] .p-hero-copy { grid-row: 2; }
.pw:not([data-device])[data-theme="calm"] .p-facts { grid-row: 3; }
.pw:not([data-device])[data-theme="calm"] .p-lead { font-size: calc(17.5 * var(--u) * var(--fs, 1)); }
.pw:not([data-device])[data-theme="calm"] .p-faq-item summary, .pw:not([data-device])[data-theme="calm"] .p-faq-q { font-size: calc(17.5 * var(--u) * var(--fs, 1)); }
}

.pw[data-device="mobile"][data-theme="calm"] { --p-h1: calc(38 * var(--u) * var(--fs, 1)); --p-h2: calc(29 * var(--u) * var(--fs, 1)); font-size: calc(17 * var(--u) * var(--fs, 1)); --p-sec: calc(60 * var(--u)); }
.pw[data-device="mobile"][data-theme="calm"] .p-textsize { display: none; }
.pw[data-device="mobile"][data-theme="calm"] .p-logo b { font-size: calc(21 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"][data-theme="calm"] .p-hero { padding-top: calc(24 * var(--u)); padding-bottom: calc(40 * var(--u)); row-gap: calc(20 * var(--u)); }
.pw[data-device="mobile"][data-theme="calm"] .p-hero-art { grid-row: 1; height: calc(170 * var(--u)); width: calc(170 * var(--u)); justify-self: end; margin: calc(-10 * var(--u)) calc(-6 * var(--u)) calc(-18 * var(--u)) 0; }
.pw[data-device="mobile"][data-theme="calm"] .p-hero-copy { grid-row: 2; }
.pw[data-device="mobile"][data-theme="calm"] .p-facts { grid-row: 3; }
.pw[data-device="mobile"][data-theme="calm"] .p-lead { font-size: calc(17.5 * var(--u) * var(--fs, 1)); }
.pw[data-device="mobile"][data-theme="calm"] .p-faq-item summary, .pw[data-device="mobile"][data-theme="calm"] .p-faq-q { font-size: calc(17.5 * var(--u) * var(--fs, 1)); }


/* =========================================================
   06 · Modern & klinisch klar (Augenheilkunde)
   ========================================================= */

@media (max-width: 760px) {

}




/* =========================================================
   Prinzipdarstellung „Ihre Praxis“ (Unter der Oberfläche)
   ========================================================= */

@media (max-width: 760px) {

}




/* Röntgenansicht */
.pw[data-xray] { --p-bg: #0C1820; --p-surface: #0F222C; --p-ink: #CDE3EB; --p-muted: #8FB2C0; --p-accent: #7CC6E2; --p-accent-ink: #0C1820; --p-line: rgba(140, 200, 225, .26); --p-soft: #12303C; background: radial-gradient(130% 100% at 50% 35%, #14313E 0%, #0B161D 70%); }
.pw[data-xray]::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(140, 200, 225, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(140, 200, 225, .07) 1px, transparent 1px); background-size: calc(32 * var(--u)) calc(32 * var(--u)); }
.pw[data-xray] .p-nav { background: transparent; }
.pw[data-xray] .p-img { filter: grayscale(1) invert(1) contrast(1.25) brightness(.8); mix-blend-mode: screen; opacity: .85; }
.pw[data-xray] .p-hero-art { background: #08131A; outline: 1px dashed rgba(140, 200, 225, .5); outline-offset: -1px; }
.pw[data-xray] .p-btn { background: transparent; color: var(--p-accent); box-shadow: inset 0 0 0 1px var(--p-accent); }
.pw[data-xray] :is(.a-col, .p-today, .p-menu-item, .p-logo, .p-h1, .p-lead, .p-kicker) { outline: 1px dashed rgba(140, 200, 225, .4); outline-offset: calc(3 * var(--u)); }
.pw[data-xray] .p-today { box-shadow: none; background: rgba(12, 24, 32, .85); }

/* Anmerkungen je Ebene (gelten für Oberfläche und Röntgenbild gleichermaßen) */

/* Patientenwege */

/* Seitenstruktur, Inhalte, Gestaltung: nummerierte Marken (Legende im Text daneben) */

/* Bereiche über die volle Breite: Nummer innen, damit sie am Rand nicht abgeschnitten wird */

/* Nummern im linken Rand neben dem markierten Text, damit sie keine Buchstaben überdecken */

/* Technik */

/* =========================================================
   Vollansicht: Tablet, Menü, Bewegung
   ========================================================= */
@media (min-width: 761px) and (max-width: 1100px) {
  .pw:not([data-device]) .p-wrap { padding-inline: 32px; }
  .pw:not([data-device]) .p-hero { padding-inline: 32px; column-gap: 20px; }
  .pw:not([data-device]) { --p-h1: 44px; --p-h2: 32px; }
  .pw:not([data-device]) .p-top-addr { display: none; }
  .pw:not([data-device]) .p-hero-copy { grid-column: 1 / span 7; }
  .pw:not([data-device]) .p-hero-art { grid-column: 8 / span 5; height: 440px; }

  .pw:is([data-theme="precise"], [data-theme="calm"], [data-theme="vision"]):not([data-device]) .p-hero-copy { grid-column: 1 / span 7; }
  /* Eckdaten unter Text und Bild über die volle Breite, damit Zeiten nicht umbrechen müssen */
  .pw:is([data-theme="precise"], [data-theme="calm"], [data-theme="vision"]):not([data-device]) .p-hero-art { grid-row: 1; }
  .pw:is([data-theme="precise"], [data-theme="calm"], [data-theme="vision"]):not([data-device]) .p-facts { grid-column: 1 / -1; grid-row: 2; }

  .pw[data-theme="regional"]:not([data-device]) .p-today { left: auto; right: 44px; bottom: 36px; }
  .pw:not([data-device]) :is(.p-groups, .p-docs, .p-cost-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pw:not([data-device]) .p-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pw:not([data-device]) :is(.p-team-grid.has-staff, .p-hc-grid, .p-hours-grid, .p-faq-grid, .p-scr-grid) { grid-template-columns: minmax(0, 1fr); }
  .pw:not([data-device]) .p-scr-cost { grid-column: 1; }
  .pw:not([data-device]) .p-art-grid { grid-template-columns: minmax(0, 1fr); }
  .pw:not([data-device]) .p-article--lead { grid-row: auto; }
  .pw:not([data-device]) .p-timeline { grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 24px; }
  .pw:not([data-device]) .p-timeline::before { display: none; }

  .pw:not([data-device]) .p-foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Menü der Beispielpraxis als Klappmenü unter 1100 px */
button.p-burger { color: inherit; background: transparent; cursor: pointer; }
@media (max-width: 1099px) {
  .pw:not([data-device]) .p-menu { display: none; }
  .pw:not([data-device]) .p-burger { display: grid; }
  .pw:not([data-device]) .p-nav-cta { margin-left: auto; }
  .pw:not([data-device]) .p-nav.is-open .p-menu { display: grid; position: absolute; left: 0; right: 0; top: 100%; z-index: 20; gap: 0; margin: 0; padding: 4px 20px 14px; background: var(--p-bg); border-bottom: 1px solid var(--p-line); box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .25); font-size: 17px; }
  .pw:not([data-device]) .p-nav.is-open .p-menu-item { display: flex; align-items: center; min-height: 52px; padding: 0; border-bottom: 1px solid var(--p-line); }
  .pw:not([data-device]) .p-nav.is-open .p-menu-item:last-child { border-bottom: 0; }
  .pw:not([data-device]) .p-nav.is-open { z-index: 30; }
  .pw:not([data-device]) .p-nav.is-open .p-burger i:first-of-type { transform: translateY(3.5px) rotate(45deg); }
  .pw:not([data-device]) .p-nav.is-open .p-burger i:last-of-type { transform: translateY(-3.5px) rotate(-45deg); }
}
@media (min-width: 761px) and (max-width: 1099px) { .pw:not([data-device]) .p-nav.is-open .p-menu { padding-inline: 32px; } }
@media (prefers-reduced-motion: reduce) { .pw .p-plane, .pw .p-burger i, .pw .p-pm::before, .pw .p-pm::after { transition: none; } }
