/* Seiten-Prototyp PAKT · Lock A „Aker in Navy“
   Ergänzt ds/components.css. Eigenständig: keine Abhängigkeit von entwurf/. */

/* ── Vorschau-Hinweis (intern) ────────────────────────────────────────── */
.preview-banner {
  background: var(--color-placeholder-bg);
  border-bottom: 1px dashed var(--color-placeholder-border);
  color: var(--color-placeholder-text);
  font-size: var(--fs-micro);
  line-height: 1.4;
}
.preview-banner p {
  margin: 0 auto;
  max-width: calc(var(--container, 1200px) + 2 * var(--gutter));
  padding: 6px var(--gutter);
}
.preview-banner a { color: inherit; }

/* ── Grundraster ──────────────────────────────────────────────────────── */
.section-head { grid-template-columns: minmax(0, 1fr); }
.section-head h2 { text-wrap: balance; max-width: 28ch; }
.section--first { padding-top: clamp(var(--space-7), 5vw, var(--space-9)); }
.section--first .breadcrumb { margin-bottom: var(--space-6); }
.section--after-head { padding-top: clamp(var(--space-6), 4vw, var(--space-8)); }
.section--related { padding-block: clamp(var(--space-8), 6vw, var(--space-10)); }
.section-more { margin: var(--space-6) 0 0; font-size: var(--fs-small); color: var(--color-text-secondary); }
.stack > * + * { margin-top: var(--space-5); }
.stack > h2 + * { margin-top: var(--space-5); }
.stack > * + h2 { margin-top: var(--space-9); }
.stack h2 { font-size: var(--fs-h3); line-height: var(--lh-snug); }

/* ── Hero mit Urkunden-Panel (aus Entwurf A, Lock A) ─────────────────── */
.hero--page .hero__title {
  text-wrap: balance;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
  max-width: none;
  margin: var(--space-3) 0 0;
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
  line-height: var(--lh-snug);
  letter-spacing: var(--tracking-heading);
}
.hero--page .hero__bg img { object-position: 58% 42%; }
.hero--page .hero__panel--deed {
  position: relative;
  max-width: 28rem;
  height: fit-content;
  padding: clamp(var(--space-5), 3vw, var(--space-7));
  border: 1px solid color-mix(in srgb, var(--color-accent) 35%, transparent);
  box-shadow: var(--shadow-3), inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 12%, transparent);
}
.hero--page .hero__panel--deed::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(var(--space-5), 3.5vw, var(--space-8));
  right: clamp(var(--space-5), 3.5vw, var(--space-8));
  height: var(--rule-gold);
  background: var(--color-accent);
}
.hero--page .hero__content { display: flex; flex-direction: column; gap: 0; padding-block: 0; }
.hero--page .hero__actions { margin-top: var(--space-5); gap: var(--space-3); }
.hero--page .hero__assurance { margin: var(--space-3) 0 0; font-size: var(--fs-caption); color: var(--color-text-inverse-secondary); }
.hero--page .hero__lead { max-width: 36ch; margin: var(--space-4) 0 0; font-size: var(--fs-body); }
.hero--page.hero--overlay .hero__inner {
  min-height: clamp(420px, 60vh, 580px);
  align-items: center;
  padding-block: var(--space-7);
}
.hero__deed-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-5);
  margin: var(--space-5) 0 0;
  padding: var(--space-4) 0 0;
  list-style: none;
  border-top: 1px solid color-mix(in srgb, var(--color-accent) 28%, transparent);
}
.hero__deed-row li { display: grid; gap: 4px; flex: 1 1 6.5rem; min-width: 0; }
.hero__deed-row .figure-num {
  color: var(--color-accent);
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  line-height: 1;
  letter-spacing: -0.02em;
}
.hero__deed-row span:last-child { font-size: var(--fs-caption); line-height: 1.35; color: var(--color-text-inverse-secondary); }

/* Hero ohne freigegebenes Foto: rosa Platzhalter statt Symbolbild */
.hero__bg--ph .hero-ph {
  height: 100%;
  border-radius: 0;
  border-width: 0 0 2px;
  display: grid;
  align-content: end;
  justify-items: end;
  text-align: right;
  padding: var(--space-7) max(var(--gutter), calc((100vw - var(--container, 1200px)) / 2));
  font-size: var(--fs-small);
}
.hero__bg--ph .hero-ph .ph__label { font-size: var(--fs-body); }

@media (prefers-reduced-motion: no-preference) {
  .hero--page .hero__panel--deed { animation: deed-in var(--dur-reveal) var(--ease-out) both; }
}
@keyframes deed-in { from { opacity: 0; transform: translateY(12px); } }

@media (max-width: 760px) {
  .hero--page.hero--overlay .hero__bg { aspect-ratio: 16 / 9; }
  .hero--page .hero__panel--deed { max-width: none; padding: var(--space-5) var(--space-5) var(--space-6); }
  .hero--page .hero__title { font-size: clamp(1.65rem, 7vw, 2.1rem); line-height: var(--lh-tight); }
  .hero--page .hero__lead { max-width: none; }
  .hero--page .hero__actions { flex-direction: column; align-items: stretch; }
  .hero--page .hero__actions .btn--secondary {
    align-self: flex-start;
    width: auto;
    min-height: var(--tap-min, 44px);
    padding: var(--space-2) 0;
    border: 0;
    background: transparent;
    color: var(--color-text-inverse);
    font-size: var(--fs-small);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .hero__bg--ph .hero-ph { justify-items: center; text-align: center; align-content: center; padding: var(--space-5); }
}

/* ── Heller Seitenkopf (Hubs, Gutachten, Markt) ───────────────────────── */
.page-head { padding-block: clamp(var(--space-7), 5vw, var(--space-9)) clamp(var(--space-6), 4vw, var(--space-8)); }
.page-head .breadcrumb { margin-bottom: var(--space-5); }
.page-head h1 {
  margin: var(--space-3) 0 0;
  max-width: 22ch;
  font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem);
  line-height: var(--lh-tight);
  text-wrap: balance;
}
.page-head .lead { margin-top: var(--space-5); }
.page-head__actions { margin-top: var(--space-6); }
.page-head__grid {
  display: grid;
  gap: clamp(var(--space-7), 5vw, var(--space-10));
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  align-items: center;
}
.page-head__side { display: grid; gap: var(--space-5); }
.credential--hero { margin-top: 0; }
@media (max-width: 900px) { .page-head__grid { grid-template-columns: 1fr; } }

/* ── Trust-Leiste ─────────────────────────────────────────────────────── */
.trust-section { padding-block: clamp(var(--space-6), 4vw, var(--space-8)); }
.trust-item__mark .icon--pin {
  width: 30px;
  height: 30px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A5E1C' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.2 6-10a6 6 0 1 0-12 0c0 4.8 6 10 6 10z'/%3E%3Ccircle cx='12' cy='11' r='2.2'/%3E%3C/svg%3E") center / 28px no-repeat;
}
.trust-item__mark .icon--pin use { opacity: 0; }

/* ── Inhalt + Kontaktkarte (Trulia) ───────────────────────────────────── */
.city-layout {
  display: grid;
  gap: var(--space-8);
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
  align-items: start;
}
.city-layout > * { min-width: 0; }
.city-office { margin-top: var(--space-8); }
.check-list li {
  display: block;
  position: relative;
  min-width: 0;
  padding-left: calc(16px + var(--space-3));
  overflow-wrap: break-word;
}
.check-list li::before { position: absolute; left: 0; top: 0.35em; transform: none; }

.agent-card {
  position: sticky;
  top: calc(var(--header-h, 84px) + 1rem);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-surface);
  box-shadow: var(--shadow-2);
}
.agent-card__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  object-position: 50% 15%;
}
.agent-card__body { display: grid; gap: var(--space-3); padding: var(--space-5); }
.agent-card__body > p { margin: 0; }
.agent-card__badge { font-size: var(--fs-caption); font-weight: var(--fw-semibold); color: var(--color-accent-text); }
.agent-card__name { font-size: var(--fs-h3); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-heading); color: var(--color-text-heading); }
.agent-card__cred { font-size: var(--fs-caption); color: var(--color-text-secondary); line-height: 1.45; }
.agent-card__phone {
  display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--tap-min, 44px);
  font-size: var(--fs-h4); font-weight: var(--fw-semibold); color: var(--color-text-heading);
  text-decoration: none; font-variant-numeric: tabular-nums;
}
.agent-card__phone .icon { color: var(--color-accent-text); }
.agent-card .fine { text-align: center; }
@media (max-width: 960px) {
  .city-layout { grid-template-columns: minmax(0, 1fr); }
  .agent-card { position: static; display: grid; grid-template-columns: 140px minmax(0, 1fr); }
  .agent-card__photo { height: 100%; aspect-ratio: auto; }
}
@media (max-width: 480px) {
  .agent-card { grid-template-columns: 1fr; }
  .agent-card__photo { aspect-ratio: 16 / 10; }
}

/* ── Büros ────────────────────────────────────────────────────────────── */
.office-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.office-card__title { hyphens: manual; text-wrap: balance; }
.office-card__title a { color: inherit; text-decoration: none; }
.office-card__title a:hover, .office-card__title a:focus-visible { color: var(--color-accent-text); text-decoration: underline; text-underline-offset: 0.15em; }
.office-card__note { margin: 0; color: var(--color-text-secondary); font-size: var(--fs-small); }
.office-card__more { margin: 0; font-size: var(--fs-small); }
.office-card .ph { margin: 0; }

/* ── Linkzeilen statt Kartenraster ────────────────────────────────────── */
.link-rows { list-style: none; margin: 0; padding: 0; border-top: var(--border-width) solid var(--color-border); }
.link-rows li { border-bottom: var(--border-width) solid var(--color-border); }
.link-rows__a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--space-4);
  min-height: var(--tap-min, 44px);
  padding: var(--space-4) var(--space-2);
  color: var(--color-text-heading);
  text-decoration: none;
  transition: background-color var(--dur-hover) var(--ease-color);
}
.link-rows__body { display: grid; gap: 2px; min-width: 0; }
.link-rows__title { font-weight: var(--fw-semibold); font-size: var(--fs-body); line-height: 1.35; }
.link-rows__text { font-size: var(--fs-small); color: var(--color-text-secondary); }
.link-rows__type {
  font-size: var(--fs-micro);
  font-weight: var(--fw-semibold);
  color: var(--color-text-muted);
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.link-rows__arrow { width: 18px; height: 18px; color: var(--color-accent-text); transition: transform var(--dur-hover) var(--ease-out); }
.link-rows--lg .link-rows__a { padding-block: var(--space-5); }
.link-rows--lg .link-rows__title { font-size: var(--fs-h4); }
.link-rows--compact .link-rows__a { padding-block: var(--space-3); }
@media (hover: hover) and (pointer: fine) {
  .link-rows__a:hover { background: var(--color-surface-subtle); }
  .link-rows__a:hover .link-rows__title { text-decoration: underline; text-decoration-color: var(--color-accent); text-underline-offset: 0.18em; }
  .link-rows__a:hover .link-rows__arrow { transform: translateX(3px); }
}
@media (max-width: 520px) { .link-rows__type { display: none; } .link-rows__a { grid-template-columns: minmax(0, 1fr) auto; } }
.section--sunken .link-rows__a:hover { background: var(--color-surface); }
.link-group + .link-group { margin-top: var(--space-9); }
.link-group__title { font-size: var(--fs-h4); margin-bottom: var(--space-4); }
.hub-note { margin: var(--space-7) 0 0; max-width: 60ch; color: var(--color-text-secondary); }

/* ── Stadtteile ───────────────────────────────────────────────────────── */
.area-list .tag { background: var(--color-surface); }

/* ── Marktdaten ───────────────────────────────────────────────────────── */
.market-pair, .market-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.market-card .ph { margin: 0; }
.market-card--wide { max-width: 48rem; }
.market-split { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }

/* ── Einschätzung oder Gutachten (aus Entwurf B) ──────────────────────── */
.ways { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); min-width: 0; }
.way { padding: var(--card-pad); background: var(--color-surface-sunken); border-radius: var(--radius-xl); min-width: 0; }
.section--sunken .way { background: var(--color-surface); }
.way--cert { background: var(--color-surface); border: var(--border-width) solid var(--color-border); border-top: var(--rule-gold) solid var(--color-accent); }
.way__for { margin: 0; font-size: var(--fs-caption); font-weight: var(--fw-medium); color: var(--color-text-muted); }
.way__title { font-size: var(--fs-h4); margin: var(--space-2) 0 var(--space-5); }
.way .check-list { font-size: var(--fs-small); color: var(--color-text-secondary); gap: var(--space-3); }

/* ── Ablauf als Zeilen (aus Entwurf B) ────────────────────────────────── */
.steps--rows { grid-template-columns: 1fr; gap: var(--space-3); padding: 0; border-bottom: 0; }
.steps--rows .step {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  column-gap: var(--space-5);
  row-gap: var(--space-1);
  padding: var(--space-5) var(--space-6);
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}
.steps--rows .step__num { grid-row: 1 / span 3; font-size: 2.25rem; }
.steps--rows .step__meta { margin: 0; padding-top: var(--space-1); }
@media (max-width: 480px) {
  .steps--rows .step { grid-template-columns: 36px minmax(0, 1fr); column-gap: var(--space-3); padding: var(--space-4); }
  .steps--rows .step__num { font-size: 1.75rem; }
}

/* ── Bewertungsanfrage: Schrittformular (aus Entwurf B) ───────────────── */
.request { padding-top: clamp(var(--space-7), 5vw, var(--space-9)); }
.request__grid {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(var(--space-8), 6vw, var(--space-11));
}
.request__intro .breadcrumb { margin-bottom: var(--space-5); }
.request__intro h1 { margin: var(--space-3) 0 0; font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem); line-height: var(--lh-tight); text-wrap: balance; }
.request__intro .lead { margin-top: var(--space-5); }
.assure-list { margin-top: var(--space-6); font-size: var(--fs-small); color: var(--color-text-secondary); gap: var(--space-2); }
.next__title { font-size: var(--fs-h4); margin: var(--space-8) 0 var(--space-5); }
.next { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-5); max-width: 46ch; }
.next li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--space-4); color: var(--color-text-secondary); font-size: var(--fs-small); line-height: 1.55; }
.next b { display: block; margin-bottom: var(--space-1); font-size: var(--fs-body); font-weight: var(--fw-semibold); color: var(--color-text-heading); }
.next__num { font: var(--fw-semibold) 1.75rem/1 var(--font-serif); color: var(--color-accent-large); font-variant-numeric: lining-nums; }
.mini-agent {
  display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: var(--space-4); align-items: center;
  margin-top: var(--space-8); padding-top: var(--space-6); border-top: var(--border-width) solid var(--color-border);
  font-size: var(--fs-small); color: var(--color-text-secondary);
}
.mini-agent img { width: 64px; height: 64px; border-radius: var(--radius-full); object-fit: cover; object-position: 50% 15%; }
.mini-agent p { margin: 0; }
.mini-agent b { display: block; color: var(--color-text-heading); }
.request__form { scroll-margin-top: calc(var(--header-h, 84px) + var(--space-4)); }
.request__form > .form { box-shadow: var(--shadow-2); }
@media (max-width: 900px) {
  .request__grid { grid-template-columns: 1fr; }
  .next__title { margin-top: var(--space-7); }
}

.sform { gap: var(--space-5); }
.sform__top { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); }
.sform__title { margin: 0; font-size: var(--fs-small); font-weight: var(--fw-semibold); color: var(--color-text-muted); }
.sform__count { margin: 0; font-size: var(--fs-caption); font-weight: var(--fw-semibold); color: var(--color-text-heading); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sform__bar { margin-top: calc(-1 * var(--space-2)); }
.sform__bar span { transition: background-color var(--dur-ui) var(--ease-color); }
.no-js .sform__count, .no-js .sform__bar { display: none; }
.sform__step { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: var(--space-4); }
.no-js .sform__step + .sform__step { margin-top: var(--space-6); padding-top: var(--space-6); border-top: var(--border-width) solid var(--color-border); }
.sform__q {
  float: left; width: 100%; padding: 0; margin: 0 0 var(--space-2);
  font-size: var(--fs-h3); font-weight: var(--fw-medium); line-height: var(--lh-snug);
  letter-spacing: var(--tracking-heading); color: var(--color-text-heading);
}
.sform__q:focus { outline: none; }
.sform__q + * { clear: both; }
.js .sform__step:not(.is-current) { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .js .sform__step.is-current { animation: step-in var(--dur-ui) var(--ease-out); }
  .js .sform__step.is-current.is-back { animation-name: step-back; }
}
@keyframes step-in { from { opacity: 0; transform: translateX(12px); } }
@keyframes step-back { from { opacity: 0; transform: translateX(-12px); } }

.choices { display: grid; gap: var(--space-3); }
@media (min-width: 520px) { .choices--two { grid-template-columns: 1fr 1fr; } }
.choice { position: relative; display: block; }
.choice input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.choice__body {
  position: relative; display: grid; align-content: center; gap: 2px;
  min-height: 64px; padding: var(--space-4) var(--space-10) var(--space-4) var(--space-5);
  background: var(--color-surface); color: var(--color-text-heading);
  border: var(--border-width-strong) solid var(--color-border-strong); border-radius: var(--radius-lg);
  cursor: pointer; user-select: none;
  transition: border-color var(--dur-hover) var(--ease-color), background-color var(--dur-hover) var(--ease-color), box-shadow var(--dur-hover) var(--ease-color), transform var(--dur-press) var(--ease-out);
}
.choice__body b { font-weight: var(--fw-semibold); font-size: var(--fs-body); line-height: 1.3; }
.choice__body small { font-size: var(--fs-caption); color: var(--color-text-muted); }
.choice__body::after {
  content: ""; position: absolute; right: var(--space-5); top: 50%; width: 24px; height: 24px; margin-top: -12px;
  border: var(--border-width-strong) solid var(--color-border-strong); border-radius: var(--radius-full);
  background: var(--color-surface);
  transition: background-color var(--dur-hover) var(--ease-color), border-color var(--dur-hover) var(--ease-color);
}
:root { --mask-check-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E"); }
.choice input:checked + .choice__body { border-color: var(--color-action); background: var(--color-surface-accent); box-shadow: inset 0 0 0 1px var(--color-action); }
.choice input:checked + .choice__body::after { border-color: var(--color-action); background: var(--color-action) var(--mask-check-white) center / 14px no-repeat; }
.choice input:focus-visible + .choice__body { outline: var(--focus-width) solid var(--color-focus); outline-offset: 2px; }
.choice:active .choice__body { transform: scale(0.99); }
@media (hover: hover) and (pointer: fine) {
  .choice:hover input:not(:checked) + .choice__body { border-color: var(--color-text-heading); }
}
.sform__step.is-invalid .choice__body { border-color: var(--color-danger); }
.sform__error { display: none; align-items: center; gap: var(--space-2); margin: 0; font-size: var(--fs-caption); font-weight: var(--fw-medium); color: var(--color-danger); }
.sform__error .icon, .field__error .icon { width: 16px; height: 16px; }
.sform__step.is-invalid .sform__error { display: flex; }
.sform__region { margin: 0; font-size: var(--fs-caption); color: var(--color-text-muted); }
.sform__region.is-match { color: var(--color-success); font-weight: var(--fw-medium); }
.sform__nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); padding-top: var(--space-2); }
.sform__next { min-width: 160px; margin-left: auto; }
.sform__submit { margin-left: auto; }
.no-js .sform__back, .no-js .sform__next { display: none; }
.js .sform:not(.is-last) .sform__submit { display: none; }
.js .sform.is-last .sform__next { display: none; }
.js .sform.is-first .sform__back { visibility: hidden; }
@media (max-width: 480px) {
  .sform__submit, .sform__next { width: 100%; margin-left: 0; }
  .sform__nav { flex-direction: column-reverse; align-items: stretch; }
  .js .sform.is-first .sform__back { display: none; }
}
.sform-done { gap: var(--space-4); }
.sform-done[hidden] { display: none; }
.sform-done:focus { outline: none; }
.sform-done__mark { margin: 0; display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--radius-full); background: var(--color-success-wash); color: var(--color-success); }
.sform-done__mark .icon { width: 28px; height: 28px; }
.sform-done__title { font-size: var(--fs-h3); font-weight: var(--fw-medium); }
.sform-done__sum { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--space-2) var(--space-5); margin: 0; padding: var(--space-5); background: var(--color-surface-sunken); border-radius: var(--radius-lg); font-size: var(--fs-small); }
.sform-done__sum dt { color: var(--color-text-muted); }
.sform-done__sum dd { margin: 0; color: var(--color-text-heading); font-weight: var(--fw-medium); overflow-wrap: anywhere; }
.sform-done .btn { justify-self: start; }

/* ── Zertifikat, Award ────────────────────────────────────────────────── */
.award-line {
  display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--space-4); align-items: center;
  padding: var(--space-4) var(--space-5);
  border: var(--border-width) solid var(--color-border); border-radius: var(--radius-lg);
  background: var(--color-surface);
  font-size: var(--fs-caption); color: var(--color-text-secondary);
}
.award-line img { width: 56px; height: auto; }
.award-line p { margin: 0; }
.award-line b { display: block; font-size: var(--fs-small); color: var(--color-text-heading); }
.award-split {
  display: grid; gap: clamp(var(--space-7), 5vw, var(--space-10));
  grid-template-columns: minmax(0, 0.6fr) minmax(0, 1fr); align-items: center;
}
.award-split__media { margin: 0; max-width: 360px; }
.award-split__media img { width: 100%; height: auto; border-radius: var(--radius-xl); }
.award-split .lead { margin: var(--space-4) 0 var(--space-6); }
@media (max-width: 760px) {
  .award-split { grid-template-columns: 1fr; }
  .award-split__media { max-width: 280px; }
}

/* Personenkarte: Porträt begrenzen */
.person-card__media { max-width: 420px; }
.page-head .person-card { margin-top: var(--space-4); }
.page-head .person-card__name { font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem); }
@media (max-width: 820px) { .person-card__media { max-width: 320px; } }

/* ── Ratgeber: redaktionell ───────────────────────────────────────────── */
.article-head { padding-block: clamp(var(--space-7), 5vw, var(--space-9)) var(--space-6); }
.article-head .breadcrumb { margin-bottom: var(--space-5); }
.article-head h1 {
  margin: var(--space-4) 0 0;
  font-size: clamp(2rem, 1.4rem + 2.2vw, 2.75rem);
  line-height: var(--lh-tight);
  text-wrap: balance;
}
.article-head .lead { margin-top: var(--space-5); }
.byline {
  display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--space-3); align-items: center;
  margin: var(--space-6) 0 0; padding-top: var(--space-5); border-top: var(--border-width) solid var(--color-border);
  font-size: var(--fs-caption); line-height: 1.5; color: var(--color-text-muted);
}
.byline__img { width: 48px; height: 48px; border-radius: var(--radius-full); object-fit: cover; object-position: 50% 15%; }
.byline a { font-weight: var(--fw-semibold); }
.article-body { padding-bottom: clamp(var(--space-8), 6vw, var(--space-10)); }
.article-figure { margin: 0 0 var(--space-7); }
.article-figure img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-lg); }
.article .prose { max-width: 65ch; font-size: 1.0625rem; line-height: 1.7; }
.article .prose h2 { margin-top: var(--space-8); font-size: var(--fs-h3); line-height: var(--lh-snug); }
.article .prose ul { padding-left: 1.2em; display: grid; gap: var(--space-2); }
.article .prose .ph { margin-top: var(--space-5); }
.author-foot {
  display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-5); align-items: start;
  max-width: 65ch; margin-top: var(--space-9); padding: var(--space-6);
  border: var(--border-width) solid var(--color-border); border-top: var(--rule-gold) solid var(--color-accent);
  border-radius: var(--radius-lg); background: var(--color-surface);
  font-size: var(--fs-small); color: var(--color-text-secondary);
}
.author-foot img { width: 72px; height: 72px; border-radius: var(--radius-full); object-fit: cover; object-position: 50% 15%; }
.author-foot p { margin: 0; }
.author-foot p + p { margin-top: var(--space-2); }
.author-foot__name { font-weight: var(--fw-semibold); color: var(--color-text-heading); }
@media (max-width: 480px) { .author-foot { grid-template-columns: 1fr; } }

/* ── CTA-Band ─────────────────────────────────────────────────────────── */
.band-inverse { background: var(--color-surface-inverse); color: var(--color-text-inverse); }
.band-inverse .section-head h2 { color: inherit; }
.band-inverse .lead--on-inverse { color: var(--color-text-inverse-secondary); }
.cta-band-page { padding-block: clamp(var(--space-8), 6vw, var(--space-10)); }
.cta-band-page .section-head { margin-bottom: var(--space-6); }
.cta-band-page .fine { margin-top: var(--space-4); color: var(--color-text-inverse-muted); }

@media (prefers-reduced-motion: reduce) {
  .hero--page .hero__panel--deed, .js .sform__step.is-current { animation: none; }
  .link-rows__a, .link-rows__arrow, .choice__body { transition: none; }
}

/* ── Korrekturen nach Sichtprüfung ────────────────────────────────────── */
.hero__bg--ph .hero-ph { width: 100%; aspect-ratio: auto; }
.section:not(.section--sunken):not(.band-inverse) + .section--related { padding-top: 0; }
.section .wrap:not(.wrap--narrow) > .link-rows,
.section .wrap:not(.wrap--narrow) > .area-list { max-width: 52rem; }
.award-split__media { max-width: 300px; }
@media (max-width: 480px) {
  .page-head h1, .request__intro h1, .article-head h1 { font-size: 1.65rem; }
}
