/* Stationen der Durchsetzung und lesbare Antworten auf Vermietereinwände. */
.enforcement-landing .btn { max-width: 100%; white-space: normal; text-align: center; }
.enforcement-landing a:focus-visible, .enforcement-objections summary:focus-visible { outline: 3px solid var(--brand-ink); outline-offset: 4px; }
.enforcement-route { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; list-style: none; padding: 0; margin: 38px 0 0; }
.enforcement-route li { position: relative; border-top: 1px solid var(--landing-rule); padding-top: 20px; }
.enforcement-route li::before { position: absolute; content: ""; top: -4px; left: 0; width: 7px; height: 7px; border: 1px solid #388cb6; background: #fff; border-radius: 50%; transition: background .25s, transform .25s; }
.enforcement-route li:hover::before { background: #388cb6; transform: scale(1.3); }
.enforcement-route li > span { font-size: 11px; color: #536d7c; font-variant-numeric: tabular-nums; }
.enforcement-route h3 { font-size: 17px; line-height: 1.5; margin: 12px 0 10px; }
.enforcement-route p { font-size: 13px; line-height: 1.75; }
.enforcement-objections details { border-top: 1px solid var(--landing-rule); }
.enforcement-objections details:last-child { border-bottom: 1px solid var(--landing-rule); }
.enforcement-objections summary { position: relative; list-style: none; cursor: pointer; color: var(--navy); font-size: 16px; font-weight: 500; line-height: 1.6; padding: 23px 32px 23px 0; }
.enforcement-objections summary::-webkit-details-marker { display: none; }
.enforcement-objections summary::before, .enforcement-objections summary::after { content: ""; position: absolute; width: 13px; height: 1px; background: #388cb6; right: 5px; top: 35px; }
.enforcement-objections summary::after { transform: rotate(90deg); transition: transform .25s; }
.enforcement-objections details[open] summary::after { transform: rotate(0); }
.enforcement-objections summary:hover { color: var(--brand-ink); }
.enforcement-objections details > div { padding: 0 24px 24px 0; }
.enforcement-objections p { font-size: 14px; line-height: 1.8; }
.enforcement-related { margin-top: 36px; }
.enforcement-related h3 { font-size: 20px; line-height: 1.5; }
.enforcement-related ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin: 24px 0 0; }
.enforcement-related li { padding-top: 16px; border-top: 1px solid var(--landing-rule); }
.enforcement-related a { font-size: 15px; text-underline-offset: 4px; }
.enforcement-related span { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }
@media (max-width: 1050px) { .enforcement-route { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; } }
@media (max-width: 700px) {
  .enforcement-route, .enforcement-related ul { grid-template-columns: 1fr; gap: 20px; }
  .enforcement-route li { padding: 0 0 20px 32px; border-top: 0; border-left: 1px solid var(--landing-rule); }
  .enforcement-route li::before { left: -4px; top: 7px; }
  .enforcement-route h3 { margin-top: 6px; }
  .enforcement-route p { max-width: 420px; }
}
@media (prefers-reduced-motion: reduce) { .enforcement-route li::before, .enforcement-objections summary::after { transition: none; } }
