/* Typografie- und Detail-Feinschliff (Impeccable: typeset, layout, polish). Farben, Schrift und Inhalte unverändert. */

/* Browser surfaces in the brand palette */
::selection { background:#8FDCD3; color:#16383B; }
[data-dark] ::selection, .inbound .cta ::selection { background:#F5F4F0; color:#16383B; }
html { accent-color:#007F78; caret-color:#007F78; scrollbar-color:#9FB5B1 #F5F4F0; }
a { text-underline-offset:.22em; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }

/* Line breaks: balanced headings, no single-word tails in prose */
h1, h2, h3, legend { text-wrap:balance; }
p, li, figcaption, blockquote, dd { text-wrap:pretty; }

/* Reading measure: prose stays below ~80 characters per line */
.inbound p, .inbound .article li, .scope, .care p,
section > .wrap > p, .assessment-entry > p, .example p { max-width:62ch; }
.inbound aside p, .inbound .check-form p { max-width:none; }

/* Type scale: h3 steps clearly above 18px body (ratio 1.28) */
.inbound-entry h3, .inbound .article h3 { font-size:23px; line-height:1.28; letter-spacing:-.01em; }
#zusammenarbeit p, .home-hero-copy > p { letter-spacing:.005em; }
.betrieb-zahlen strong { font-variant-numeric:tabular-nums; letter-spacing:-.01em; }

/* Spacing rhythm: more air above a heading than below it */
.inbound .article h2 { margin:56px 0 16px; }
.inbound .article h3 { margin:36px 0 10px; }

/* Callouts: no side-tab or top-bar accents on rounded boxes */
.inbound .preview-note, .inbound .note { border:1px solid #BECAC6; border-radius:12px; }
.inbound .result { border-top-width:1px; }
.topic:target .topic-intro { border-left:0; padding-left:0; }
.topic:target .topic-intro h2 { text-decoration:underline; text-decoration-color:#8FDCD3; text-decoration-thickness:4px; text-underline-offset:.18em; }
