/* Haus-Check – Seitenstile, abgegrenzt über .hc (Body-Klasse). Basis-Tokens aus style.css. */
.hc {
  --color-border: var(--color-line);
  --color-text-2: var(--color-text-muted);
  --color-primary-ink: #ffffff;
  --color-accent-ink: #ffffff;
  --color-blueprint: #05335f;
  --shadow-sm: 0 1px 2px rgba(17,27,40,.06), 0 4px 12px rgba(17,27,40,.06);
  --container: 1280px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --text-hero: clamp(2.75rem, 0.5rem + 5.2vw, 6rem);
}
[data-theme="dark"] .hc { --color-primary-ink: #091018; --color-accent-ink: #091018; --color-blueprint: #0b2a4d; --shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.25); }
.hc section { padding-block: 0; }
.hc .btn--accent { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.hc .btn--accent:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); }
.hc .btn svg { width: 16px; height: 16px; }
.hc h1, .hc h2, .hc h3 { text-wrap: balance; }
.hc ul, .hc ol { list-style: none; margin: 0; padding: 0; }
/* Helpers */
.hc .container { width: min(100% - var(--space-10), var(--container)); margin-inline: auto; }
@media (max-width: 640px) { .container { width: min(100% - var(--space-8), var(--container)); } }

.hc .section { padding-block: clamp(var(--space-16), 8vw, var(--space-32)); }
.hc .section--tight { padding-block: clamp(var(--space-12), 6vw, var(--space-24)); }
.hc .section--surface { background: var(--color-surface); }

.hc .kicker {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-accent);
  display: inline-flex; align-items: center; gap: var(--space-3);
}
.hc .kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.hc .title { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 500; margin-top: var(--space-3); }
.hc .title--big { font-size: var(--text-2xl); }
.hc .lede { color: var(--color-text-2); max-width: 58ch; margin-top: var(--space-4); }


/* Hero */
.hc .hero { padding-block: clamp(var(--space-12), 6vw, var(--space-24)) clamp(var(--space-16), 8vw, var(--space-32)); }
.hc .hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(var(--space-8), 5vw, var(--space-20)); align-items: center; }
.hc .hero__kicker { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-text-2); }
.hc .hero__title {
  color: var(--color-text);
  font-family: var(--font-display); font-weight: 500;
  font-size: var(--text-hero); line-height: 0.95; letter-spacing: -0.03em;
  margin-top: var(--space-5);
}
.hc .hero__title span { display: block; }
.hc .hero__title .is-accent { color: var(--color-accent); }
.hc .hero__sub { margin-top: var(--space-6); font-size: var(--text-lg); line-height: 1.45; color: var(--color-text-2); max-width: 34ch; font-weight: 500; }
.hc .hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-8); }
.hc .hero__meta { margin-top: var(--space-8); font-size: var(--text-xs); color: var(--color-text-2); display: flex; gap: var(--space-4); flex-wrap: wrap; }
.hc .hero__meta li { display: inline-flex; align-items: center; gap: var(--space-2); }
.hc .hero__meta li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--color-accent); }
@media (max-width: 900px) { .hc .hero__grid { grid-template-columns: 1fr; } .hc .hero__sub { max-width: 48ch; } }

/* Compare slider */
.hc .compare { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-md); box-shadow: var(--shadow-md); background: var(--color-surface-2); user-select: none; -webkit-user-select: none; touch-action: none; }
.hc .compare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hc .compare__after { clip-path: inset(0 0 0 var(--pos, 50%)); }
.hc .compare__handle { position: absolute; top: 0; bottom: 0; left: var(--pos, 50%); width: 2px; background: white; transform: translateX(-1px); box-shadow: 0 0 0 1px oklch(0 0 0 / 0.25); pointer-events: none; }
.hc .compare__knob {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 48px; height: 48px; border-radius: 50%; background: white; color: oklch(0.25 0.03 255);
  display: grid; place-items: center; box-shadow: 0 4px 16px oklch(0 0 0 / 0.3);
}
.hc .compare__knob svg { width: 22px; height: 22px; }
.hc .compare__range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: ew-resize; }
.hc .compare__label { position: absolute; top: var(--space-4); padding: var(--space-1) var(--space-3); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; border-radius: var(--radius-sm); pointer-events: none; }
.hc .compare__label--before { left: var(--space-4); background: var(--color-accent); color: var(--color-accent-ink); }
.hc .compare__label--after { right: var(--space-4); background: oklch(0.2 0.03 255 / 0.85); color: white; }
.hc .compare__caption { margin-top: var(--space-3); font-size: var(--text-xs); color: var(--color-text-2); display: flex; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }

/* Problem */
.hc .problem__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(var(--space-8), 5vw, var(--space-20)); align-items: start; }
.hc .problem__claim { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 500; line-height: 1.02; letter-spacing: -0.025em; margin-top: var(--space-4); }
.hc .problem__claim em { font-style: normal; color: var(--color-accent); display: block; }
.hc .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.hc .stat { background: var(--color-surface); padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-3); }
.hc .stat__num { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 500; line-height: 1; letter-spacing: -0.03em; color: var(--color-primary); }
.hc .stat__num small { font-size: 0.5em; font-weight: 600; letter-spacing: 0; }
.hc .stat__text { font-size: var(--text-sm); color: var(--color-text-2); line-height: 1.45; }
.hc .stat__src { font-size: var(--text-xs); color: var(--color-text-2); opacity: 0.8; margin-top: auto; }
.hc .stat__src a { text-decoration: none; border-bottom: 1px solid var(--color-border); }
.hc .problem__note { margin-top: var(--space-6); color: var(--color-text-2); max-width: 60ch; }
@media (max-width: 900px) { .hc .problem__grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .hc .stats { grid-template-columns: 1fr; } }

/* Steps */
.hc .steps { display: grid; gap: clamp(var(--space-10), 5vw, var(--space-20)); margin-top: clamp(var(--space-10), 5vw, var(--space-16)); }
.hc .step { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(var(--space-6), 4vw, var(--space-16)); align-items: center; }
.hc .step:nth-child(even) .step__text { order: 2; }
.hc .step__num { font-family: var(--font-display); font-size: var(--text-3xl); font-weight: 500; line-height: 1; letter-spacing: -0.03em; color: var(--color-border); }
[data-theme="dark"] .hc .step__num { color: var(--color-surface-2); }
.hc .step__title { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 500; margin-top: var(--space-2); }
.hc .step__body { margin-top: var(--space-4); color: var(--color-text-2); max-width: 46ch; }
.hc .step__media { border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-md); position: relative; }
.hc .step__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hc .step__tag { position: absolute; left: var(--space-4); bottom: var(--space-4); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: var(--space-1) var(--space-3); background: oklch(0.2 0.03 255 / 0.85); color: white; border-radius: var(--radius-sm); }
.hc .step__media--stack { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); box-shadow: none; border-radius: 0; overflow: visible; }
.hc .step__media--stack figure { margin: 0; position: relative; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-md); }
.hc .step__media--stack figcaption { position: absolute; left: var(--space-3); top: var(--space-3); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: oklch(0.2 0.03 255 / 0.85); color: white; }
@media (max-width: 900px) { .hc .step { grid-template-columns: 1fr; } .hc .step:nth-child(even) .step__text { order: 0; } }

/* Kostenrahmen card */
.hc .cost {
  background: var(--color-blueprint); color: oklch(0.96 0.01 240);
  border-radius: var(--radius-md); padding: var(--space-6); box-shadow: var(--shadow-md);
  background-image: linear-gradient(oklch(1 0 0 / 0.06) 1px, transparent 1px), linear-gradient(90deg, oklch(1 0 0 / 0.06) 1px, transparent 1px);
  background-size: 24px 24px;
  aspect-ratio: 4 / 3; display: flex; flex-direction: column;
}
.hc .cost__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); font-size: var(--text-xs); letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; opacity: 0.85; }
.hc .cost__title { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 500; margin-top: var(--space-2); }
.hc .cost__rows { margin-top: var(--space-5); display: grid; gap: var(--space-3); flex: 1; }
.hc .cost__row { display: grid; grid-template-columns: 10.5rem 1fr auto; align-items: center; gap: var(--space-3); font-size: var(--text-sm); }
.hc .cost__bar { height: 10px; border-radius: 999px; background: oklch(1 0 0 / 0.12); overflow: hidden; }
.hc .cost__bar span { display: block; height: 100%; background: oklch(0.82 0.1 80); width: var(--w); border-radius: 999px; }
.hc .cost__row b { font-variant-numeric: tabular-nums; font-weight: 600; opacity: 0.9; }
.hc .cost__foot { margin-top: var(--space-4); font-size: var(--text-xs); opacity: 0.7; display: flex; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
@media (max-width: 480px) { .hc .cost__row { grid-template-columns: 6.5rem 1fr auto; } }

/* Leistungen */
.hc .services { margin-top: clamp(var(--space-8), 4vw, var(--space-12)); border-top: 1px solid var(--color-border); }
.hc .service { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) minmax(0, 1.4fr) 8rem; gap: var(--space-6); align-items: baseline; padding: var(--space-6) var(--space-4); border-bottom: 1px solid var(--color-border); }
.hc .service__key { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 500; color: var(--color-accent); line-height: 1; }
.hc .service__name { font-weight: 600; font-size: var(--text-lg); font-family: var(--font-display); }
.hc .service__for { color: var(--color-text-2); font-size: var(--text-sm); margin-top: var(--space-1); }
.hc .service__desc { color: var(--color-text-2); font-size: var(--text-sm); max-width: 48ch; }
.hc .service__price { font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); white-space: nowrap; text-align: right; }
.hc .service__price small { display: block; font-family: var(--font-body); font-weight: 500; font-size: var(--text-xs); color: var(--color-text-2); }
.hc .service--core { background: var(--color-surface); border-radius: var(--radius-md); border-bottom-color: transparent; box-shadow: var(--shadow-sm); position: relative; margin-top: var(--space-2); }
.hc .service--core + .service { border-top: 1px solid var(--color-border); }
.hc .service__badge { display: inline-block; margin-left: var(--space-2); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-accent); vertical-align: middle; }
.hc .services__note { margin-top: var(--space-5); font-size: var(--text-xs); color: var(--color-text-2); max-width: 70ch; }
@media (max-width: 900px) {
  .hc .service { grid-template-columns: 3rem 1fr 7rem; }
  .hc .service__desc { grid-column: 2 / -1; }
}
@media (max-width: 520px) {
  .hc .service { grid-template-columns: 3rem 1fr; }
  .hc .service__price { grid-column: 2; text-align: left; }
  
}

/* Full-bleed quote */
.hc .bleed { position: relative; min-height: clamp(380px, 60vh, 640px); display: grid; align-items: end; overflow: hidden; }
.hc .bleed img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.hc .bleed::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, oklch(0.15 0.03 255 / 0.85), oklch(0.15 0.03 255 / 0.1) 60%, transparent); }
.hc .bleed__inner { position: relative; z-index: 1; padding-block: clamp(var(--space-10), 6vw, var(--space-16)); color: white; }
.hc .bleed__quote { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 500; line-height: 1.02; letter-spacing: -0.025em; max-width: 18ch; }
.hc .bleed__meta { margin-top: var(--space-4); font-size: var(--text-sm); opacity: 0.85; max-width: 60ch; }

/* Warum */
.hc .why__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(var(--space-8), 5vw, var(--space-20)); align-items: start; }
.hc .why__photo { margin: 0; position: sticky; top: 96px; }
.hc .why__photo img { border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.hc .why__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 62%; }
.hc .why__photo figcaption { margin-top: var(--space-3); font-size: var(--text-xs); color: var(--color-text-2); }
.hc .reasons { display: grid; gap: 0; margin-top: var(--space-8); border-top: 1px solid var(--color-border); }
.hc .reason { display: grid; grid-template-columns: 3rem 1fr; gap: var(--space-4); padding-block: var(--space-6); border-bottom: 1px solid var(--color-border); }
.hc .reason__i { font-family: var(--font-display); font-weight: 500; color: var(--color-accent); font-size: var(--text-sm); letter-spacing: 0.08em; padding-top: 0.35em; }
.hc .reason h3 { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 500; }
.hc .reason p { margin-top: var(--space-2); color: var(--color-text-2); max-width: 52ch; }
@media (max-width: 900px) { .hc .why__grid { grid-template-columns: 1fr; } .hc .why__photo { position: static; max-width: 520px; } }

/* Reels */
.hc .reels__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(var(--space-8), 5vw, var(--space-20)); align-items: center; }
.hc .phones { display: flex; gap: var(--space-5); justify-content: center; }
.hc .phone { width: min(44%, 220px); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); border: 1px solid var(--color-border); transform: rotate(-2deg); transition: transform 0.4s var(--ease); }
.hc .phone + .phone { transform: rotate(2deg) translateY(var(--space-6)); }
.hc .phone:hover { transform: rotate(0) translateY(-4px); }
.hc .phone img { aspect-ratio: 9 / 16; object-fit: cover; width: 100%; }
.hc .reels__list { margin-top: var(--space-6); display: grid; gap: var(--space-3); }
.hc .reels__list li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); font-size: var(--text-sm); color: var(--color-text-2); }
.hc .reels__list b { color: var(--color-text); font-variant-numeric: tabular-nums; }
@media (max-width: 900px) { .hc .reels__grid { grid-template-columns: 1fr; } .hc .phones { order: -1; } }

/* Team */
.hc .team { margin-top: clamp(var(--space-8), 4vw, var(--space-12)); display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-6); }
.hc .member img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-md); filter: saturate(0.85); transition: filter 0.3s var(--ease); }
.hc .member:hover img { filter: saturate(1); }
.hc .member h3 { font-family: var(--font-display); font-size: var(--text-base); font-weight: 500; margin-top: var(--space-4); }
.hc .member p { font-size: var(--text-xs); color: var(--color-text-2); margin-top: var(--space-1); line-height: 1.45; }
.hc .team__line { margin-top: var(--space-8); font-family: var(--font-display); font-size: var(--text-lg); font-weight: 600; max-width: 40ch; }
@media (max-width: 900px) { .hc .team { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .hc .team { grid-template-columns: repeat(2, 1fr); gap: var(--space-4); } }

/* Kontakt */
.hc .contact { background: var(--color-primary); color: var(--color-primary-ink); }
.hc .contact__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(var(--space-8), 5vw, var(--space-20)); align-items: start; }
.hc .contact .kicker { color: oklch(from var(--color-primary-ink) l c h / 0.75); }
.hc .contact__title { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 500; line-height: 1.02; letter-spacing: -0.025em; margin-top: var(--space-4); }
.hc .contact__mail { display: inline-block; margin-top: var(--space-6); font-family: var(--font-display); font-size: var(--text-xl); font-weight: 500; text-decoration: none; border-bottom: 3px solid var(--color-accent); padding-bottom: 2px; word-break: break-all; }
.hc .contact__mail:hover { border-color: currentColor; }
.hc .contact__text { margin-top: var(--space-5); opacity: 0.85; max-width: 52ch; }
.hc .checklist { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.hc .checklist li { display: grid; grid-template-columns: 24px 1fr; gap: var(--space-3); align-items: start; font-size: var(--text-sm); }
.hc .checklist svg { width: 20px; height: 20px; margin-top: 2px; color: var(--color-accent); }
.hc .contact__box { background: oklch(from var(--color-primary-ink) l c h / 0.08); border: 1px solid oklch(from var(--color-primary-ink) l c h / 0.18); border-radius: var(--radius-md); padding: var(--space-6); }
.hc .contact__box h3 { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 500; }
.hc .contact__box .btn { margin-top: var(--space-6); width: 100%; }
@media (max-width: 900px) { .hc .contact__grid { grid-template-columns: 1fr; } }

/* --- v2 additions --- */
@media (max-width: 480px) { .hc .compare__label-extra { display: none; } }

/* Gallery */
.hc .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); margin-top: clamp(var(--space-8), 4vw, var(--space-12)); }
.hc .gallery__item { margin: 0; }
.hc .compare--sm { box-shadow: var(--shadow-sm); }
.hc .compare--sm .compare__knob { width: 40px; height: 40px; }
.hc .compare--sm .compare__knob svg { width: 18px; height: 18px; }
.hc .compare--sm .compare__label { top: var(--space-3); font-size: 0.68rem; }
.hc .compare--sm .compare__label--before { left: var(--space-3); }
.hc .compare--sm .compare__label--after { right: var(--space-3); }
.hc .gallery__item figcaption { margin-top: var(--space-3); font-size: var(--text-sm); font-weight: 600; font-family: var(--font-display); }
@media (max-width: 900px) { .hc .gallery { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .hc .gallery { grid-template-columns: 1fr; } }

/* Flow */
.hc .flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); margin-top: clamp(var(--space-8), 4vw, var(--space-12)); counter-reset: flow; position: relative; }
.hc .flow::before { content: ""; position: absolute; left: 0; right: 0; top: 22px; height: 1px; background: var(--color-border); }
.hc .flow__step { position: relative; padding-top: var(--space-16); }
.hc .flow__num { position: absolute; top: 0; left: 0; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--color-accent); color: var(--color-accent-ink); font-family: var(--font-display); font-weight: 500; font-size: var(--text-base); box-shadow: 0 0 0 6px var(--color-bg); }
.hc .section--surface .flow__num { box-shadow: 0 0 0 6px var(--color-surface); }
.hc .flow__step h3 { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 500; }
.hc .flow__step p { margin-top: var(--space-3); color: var(--color-text-2); font-size: var(--text-sm); }
.hc .flow__meta { display: inline-block; margin-top: var(--space-4); font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-primary); }
@media (max-width: 900px) {
  .hc .flow { grid-template-columns: 1fr; gap: 0; }
  .hc .flow::before { top: 0; bottom: 0; left: 21px; right: auto; width: 1px; height: auto; }
  .hc .flow__step { padding: 0 0 var(--space-8) var(--space-16); }
  .hc .flow__step:last-child { padding-bottom: 0; }
}

/* Archive timeline */
.hc .archive__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(var(--space-8), 5vw, var(--space-20)); align-items: start; }
.hc .timeline { display: grid; border-top: 1px solid var(--color-border); margin-top: 0; border-left: 0; padding-left: 0; }
.hc .timeline li::before { content: none; }
.hc .timeline li { padding-bottom: var(--space-5); }
.hc .timeline li { display: grid; grid-template-columns: 5.5rem 1fr; gap: var(--space-5); padding-block: var(--space-5); border-bottom: 1px solid var(--color-border); }
.hc .timeline__year { font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); color: var(--color-accent); line-height: 1.2; font-variant-numeric: tabular-nums; }
.hc .timeline h3 { font-family: var(--font-display); font-size: var(--text-base); font-weight: 500; }
.hc .timeline p { margin-top: var(--space-1); color: var(--color-text-2); font-size: var(--text-sm); max-width: 56ch; }
@media (max-width: 900px) { .hc .archive__grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .hc .timeline li { grid-template-columns: 4rem 1fr; gap: var(--space-3); } }

/* FAQ */
.hc .faq__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(var(--space-8), 5vw, var(--space-20)); align-items: start; }
.hc .faq { border-top: 1px solid var(--color-border); }
.hc .faq__item { border-bottom: 1px solid var(--color-border); }
.hc .faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding-block: var(--space-5); font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); }
.hc .faq__item summary::-webkit-details-marker { display: none; }
.hc .faq__item summary::after { content: ""; flex: 0 0 auto; width: 12px; height: 12px; border-right: 2px solid var(--color-accent); border-bottom: 2px solid var(--color-accent); transform: rotate(45deg); transition: transform 0.3s var(--ease); margin-right: var(--space-2); }
.hc .faq__item[open] summary::after { transform: rotate(-135deg); }
.hc .faq__item p { padding-bottom: var(--space-5); color: var(--color-text-2); max-width: 64ch; }
@media (max-width: 900px) { .hc .faq__grid { grid-template-columns: 1fr; } }

/* Sticky mobile CTA */
.hc .sticky-cta { display: none; }
@media (max-width: 900px) {
  .hc .sticky-cta { position: fixed; left: var(--space-4); right: var(--space-4); bottom: var(--space-4); z-index: 40; display: flex; justify-content: center; align-items: center; min-height: 52px; background: var(--color-accent); color: var(--color-accent-ink); font-weight: 600; font-size: var(--text-sm); text-decoration: none; border-radius: var(--radius-sm); box-shadow: var(--shadow-md); transform: translateY(0); transition: transform 0.35s var(--ease), opacity 0.35s var(--ease); }
  .hc .sticky-cta.is-hidden { transform: translateY(120%); opacity: 0; pointer-events: none; }
  .hc .contact { padding-bottom: calc(var(--space-16) + 60px); }
}

/* Überschreibungen gegenüber style.css (Hero der Startseite) */
.hc .hero { padding-block: clamp(var(--space-12), 6vw, var(--space-24)) clamp(var(--space-16), 8vw, var(--space-32)); }
.hc .hero .btn--ghost, [data-theme="dark"] .hc .hero .btn--ghost { color: var(--color-text); border-color: var(--color-line); }
.hc .hero .btn--ghost:hover { border-color: var(--color-text-faint); background: var(--color-surface); }
.hc .kicker::before { height: 1px; }
.hc .hero__actions .btn, .hc .teaser__cta .btn { white-space: nowrap; }

/* Musterbefund */
.hc .befund { margin-top: 0; }
.hc .befund__head { max-width: 72ch; margin-bottom: var(--space-6); }
.hc .befund__title { font-family: var(--font-display); font-weight: 500; font-size: var(--text-xl); line-height: 1.1; letter-spacing: -0.02em; margin-top: var(--space-3); }
.hc .befund__lede { margin-top: var(--space-4); color: var(--color-text-2); font-size: var(--text-base); line-height: 1.55; }
.hc .befund__table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.hc .befund__table th { text-align: left; font-size: var(--text-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-2); padding: var(--space-4) var(--space-4); border-bottom: 1px solid var(--color-border); background: var(--color-surface-2); }
.hc .befund__table td { padding: var(--space-5) var(--space-4); border-bottom: 1px solid var(--color-border); vertical-align: top; color: var(--color-text-2); line-height: 1.5; }
.hc .befund__table tbody tr:last-child td { border-bottom: 0; }
.hc .befund__table td strong { color: var(--color-text); font-weight: 600; display: block; margin-bottom: var(--space-1); }
.hc .befund__table th:nth-child(1), .hc .befund__table td:nth-child(1) { width: 4.5rem; }
.hc .befund__table th:nth-child(2), .hc .befund__table td:nth-child(2) { width: 26%; }
.hc .befund__table th:nth-child(3), .hc .befund__table td:nth-child(3) { width: 20%; }
.hc .befund__table th:nth-child(5), .hc .befund__table td:nth-child(5) { width: 18%; }
.hc .befund__nr { white-space: nowrap; font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); color: var(--color-accent); line-height: 1; }
.hc .befund__table ol { list-style: decimal; padding-left: 1.2em; display: grid; gap: var(--space-1); }
.hc .befund__table small { display: block; margin-top: var(--space-2); font-size: var(--text-xs); line-height: 1.5; }
.hc .wf { display: inline-block; font-size: var(--text-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: .2rem .55rem; border-radius: var(--radius-full); border: 1px solid transparent; }
.hc .wf--hoch { background: var(--color-accent); color: #fff; }
.hc .wf--mittel { background: var(--color-primary); color: #fff; }
.hc .wf--gering { background: transparent; color: var(--color-text-2); border-color: var(--color-border); }
.hc .befund__legend { margin-top: var(--space-5); font-size: var(--text-xs); color: var(--color-text-2); line-height: 2; }
.hc .befund__legend .wf { margin-right: .35rem; }
.hc .befund__note { margin-top: var(--space-3); font-size: var(--text-xs); color: var(--color-text-faint); max-width: 80ch; line-height: 1.6; }
@media (max-width: 900px) {
  .hc .befund__table, .hc .befund__table tbody, .hc .befund__table tr, .hc .befund__table td { display: block; width: auto !important; }
  .hc .befund__table thead { display: none; }
  .hc .befund__table tr { border-bottom: 1px solid var(--color-border); padding: var(--space-4) 0; }
  .hc .befund__table tr:last-child { border-bottom: 0; }
  .hc .befund__table td { border: 0; padding: var(--space-2) var(--space-4); }
  .hc .befund__table td::before { content: attr(data-label); display: block; font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-faint); margin-bottom: .2rem; }
  .hc .befund__table td:first-child::before { display: none; }
  .hc .befund__table td:first-child { padding-top: var(--space-3); }
}

/* Befund-Akkordeon */
.hc .befund__pane { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); margin-top: var(--space-3); overflow: hidden; }
.hc .befund__pane summary { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: var(--space-4); padding: var(--space-4) var(--space-5); cursor: pointer; list-style: none; }
.hc .befund__pane summary::-webkit-details-marker { display: none; }
.hc .befund__pane-title { font-family: var(--font-display); font-weight: 500; font-size: var(--text-lg); color: var(--color-text); }
.hc .befund__pane-meta { font-size: var(--text-xs); color: var(--color-text-faint); letter-spacing: .06em; text-transform: uppercase; }
.hc .befund__pane-icon { font-size: var(--text-lg); color: var(--color-accent); line-height: 1; transition: transform .2s ease; }
.hc .befund__pane[open] .befund__pane-icon { transform: rotate(45deg); }
.hc .befund__pane[open] summary { border-bottom: 1px solid var(--color-border); }
.hc .befund__pane-body { padding: 0; }
.hc .befund__pane .befund__table { border: 0; border-radius: 0; }
.hc .befund__fig { display: grid; grid-template-columns: minmax(0, 320px) 1fr; gap: var(--space-5); align-items: end; padding: var(--space-5); background: var(--color-surface-2); border-bottom: 1px solid var(--color-border); margin: 0; }
.hc .befund__fig img { width: 100%; height: auto; border-radius: var(--radius-sm); display: block; }
.hc .befund__fig figcaption { font-size: var(--text-xs); color: var(--color-text-2); }
@media (max-width: 640px) { .hc .befund__fig { grid-template-columns: 1fr; } .hc .befund__pane summary { grid-template-columns: 1fr auto; } .hc .befund__pane-meta { grid-column: 1 / -1; } }

/* Vertrauen */
.hc .trust { border-block: 1px solid var(--color-border); background: var(--color-surface); }
.hc .trust__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.hc .trust__list li { padding: var(--space-5) var(--space-5); border-left: 1px solid var(--color-border); font-size: var(--text-sm); color: var(--color-text); line-height: 1.4; display: grid; gap: .25rem; }
.hc .trust__list li:first-child { border-left: 0; padding-left: 0; }
.hc .trust__k { font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent); font-weight: 600; }
@media (max-width: 900px) { .hc .trust__list { grid-template-columns: 1fr 1fr; } .hc .trust__list li { border-left: 0; padding-left: 0; border-top: 1px solid var(--color-border); } .hc .trust__list li:nth-child(-n+2) { border-top: 0; } }
@media (max-width: 480px) { .hc .trust__list { grid-template-columns: 1fr; } .hc .trust__list li:nth-child(2) { border-top: 1px solid var(--color-border); } }
