/* P9 (2026-11-09): "Weitere Dienstleistungen" – directory and service landing pages. Uses the main.css tokens only. */
.more-hero { background: var(--paper-2); padding: clamp(18px, 2.4vw, 32px) 0 clamp(28px, 3.6vw, 48px); }
.more-h1 { margin: 10px 0 0; font: 360 clamp(2rem, 1.2rem + 2.4vw, 3.3rem)/1.06 var(--f-display); letter-spacing: -.015em; color: var(--ink); max-width: 22ch; text-wrap: balance; overflow-wrap: break-word; hyphens: auto; }
.more-lead { margin: 14px 0 0; max-width: 64ch; font-size: var(--fs-2); color: var(--ink-2); }
.more-hero .hero-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 22px; }

/* directory */
.more-cats .wrap { display: grid; gap: clamp(36px, 5vw, 64px); }
.more-cat-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 8px 32px; align-items: end; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.more-cat-head h2 { margin: 0; font: 400 clamp(1.5rem, 1.1rem + 1.1vw, 2.1rem)/1.15 var(--f-display); color: var(--ink); }
.more-cat-head p { margin: 0; color: var(--ink-2); font-size: var(--fs-1); }
.more-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; }
.more-card { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: start; height: 100%; padding: 18px 2px 18px 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.more-card strong { font-size: var(--fs-2); overflow-wrap: break-word; hyphens: auto; }
.more-card span { grid-column: 1; font-size: var(--fs-1); color: var(--ink-2); line-height: 1.45; }
.more-card .ico { grid-column: 2; grid-row: 1; color: var(--teal); transition: transform .2s var(--ease); }
.more-card:hover strong, .more-card:focus-visible strong { color: var(--teal); }
.more-card:hover .ico { transform: translateX(3px); }
.more-dir-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: clamp(20px, 3vw, 32px); background: var(--card); border: 1px solid var(--line); border-left: 3px solid var(--teal); }
.more-dir-cta p { margin: 0; max-width: 60ch; }

/* landing page */
.more-grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.more-main { max-width: 70ch; }
.more-main h2 { margin: 30px 0 10px; font: 400 clamp(1.35rem, 1.05rem + .8vw, 1.75rem)/1.2 var(--f-display); color: var(--ink); }
.more-main h2:first-child { margin-top: 0; }
.more-main p { margin: 0 0 12px; }
.more-main .ticks { margin: 0; padding: 0; display: grid; gap: 8px; }
.more-steps { margin: 0; padding: 0; list-style: none; counter-reset: st; display: grid; gap: 10px; }
.more-steps li { counter-increment: st; position: relative; padding-left: 40px; min-height: 28px; }
.more-steps li::before { content: counter(st); position: absolute; left: 0; top: 0; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--teal); border-radius: 50%; color: var(--teal); font-size: 13px; font-weight: 600; }
.more-note { margin-top: 18px !important; padding: 14px 16px; background: var(--card); border: 1px solid var(--line); border-left: 3px solid var(--coral); font-size: var(--fs-1); }
.more-checked { margin-top: 18px !important; font-size: 13px; color: var(--muted, #5b6461); }
.more-aside { position: sticky; top: 96px; }
.more-aside-box { padding: 22px; background: var(--card); border: 1px solid var(--line); border-top: 3px solid var(--teal); }
.more-aside-box h2 { margin: 0 0 8px; font: 400 var(--fs-3)/1.25 var(--f-display); color: var(--ink); }
.more-aside-box p { margin: 0 0 16px; font-size: var(--fs-1); }
.btn-block { width: 100%; }

@media (max-width: 960px) { .more-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .more-grid { grid-template-columns: minmax(0, 1fr); }
  .more-aside { position: static; }
  .more-cat-head { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) { .more-cards { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .more-card .ico { transition: none; } }
.more-hero .svc-kicker { color: #8f3c1c; }   /* contrast on the sand hero (axe) */
