/* Legal-Site optionalindustries.com — bewusst systemfont-basiert:
   Store-Reviewer oeffnen das oft in schlechten Netzen, externe Fonts waeren
   ein Ladehaken ohne Gegenwert. */
:root {
  color-scheme: light dark;
  --paper:#FBFAF7; --surface:#FFFFFF; --ink:#1A1D1B; --ink-soft:#4C534E;
  --ink-faint:#5F6862; --rule:#E2E5DF; --accent:#B8791C; --accent-ink:#8C5B10;
  --notice:#FDF6E7;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper:#141715; --surface:#1C201D; --ink:#E9ECE8; --ink-soft:#B4BCB6;
    --ink-faint:#868E88; --rule:#2E3531; --accent:#D9A445; --accent-ink:#E8BE73;
    --notice:#241E10;
  }
}
* { box-sizing:border-box; }
body {
  margin:0; background:var(--paper); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
header.site {
  display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 28px;
  max-width:820px; margin:0 auto; padding:28px 24px 20px;
  border-bottom:1px solid var(--rule);
}
.wordmark {
  font-weight:700; font-size:17px; letter-spacing:-0.01em;
  color:var(--ink); text-decoration:none; margin-right:auto;
}
header.site nav { display:flex; gap:20px; flex-wrap:wrap; }
header.site nav a { font-size:14.5px; color:var(--ink-faint); text-decoration:none; }
header.site nav a:hover { color:var(--accent-ink); text-decoration:underline; }
main { max-width:820px; margin:0 auto; padding:8px 24px 72px; }
footer {
  max-width:820px; margin:0 auto; padding:24px; border-top:1px solid var(--rule);
  color:var(--ink-faint); font-size:14px;
}
footer p { margin:0 0 4px; }
footer .fine { font-size:12.5px; }
h1 { font-size:clamp(28px,5vw,38px); line-height:1.15; letter-spacing:-0.02em; margin:36px 0 18px; text-wrap:balance; }
h2 { font-size:21px; letter-spacing:-0.01em; margin:38px 0 10px; padding-top:14px; border-top:1px solid var(--rule); }
h3 { font-size:17px; margin:26px 0 8px; }
p { margin:0 0 14px; }
.lead { font-size:19px; color:var(--ink-soft); }
ul, ol { margin:0 0 16px; padding-left:22px; }
li { margin-bottom:6px; }
a { color:var(--accent-ink); text-underline-offset:2px; }
a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }
code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:0.9em;
       background:var(--surface); border:1px solid var(--rule); border-radius:3px; padding:1px 5px; }
hr { border:0; border-top:1px solid var(--rule); margin:32px 0; }
blockquote { margin:0 0 16px; padding:12px 18px; background:var(--surface);
             border-left:3px solid var(--accent); color:var(--ink-soft); }
.notice { background:var(--notice); border:1px solid var(--rule); border-left:3px solid var(--accent);
          padding:14px 18px; margin:28px 0 8px; font-size:15.5px; color:var(--ink-soft); }
.tablewrap { overflow-x:auto; margin:0 0 20px; border:1px solid var(--rule); }
table { border-collapse:collapse; width:100%; font-size:15px; background:var(--surface); }
th, td { text-align:left; padding:10px 14px; border-bottom:1px solid var(--rule); vertical-align:top; }
th { font-weight:600; background:var(--paper); white-space:nowrap; }
tr:last-child td { border-bottom:0; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin:28px 0; }
.card { display:block; padding:20px 22px; background:var(--surface); border:1px solid var(--rule);
        text-decoration:none; color:inherit; }
.card:hover { border-color:var(--accent); }
.card strong { display:block; font-size:17px; margin-bottom:5px; }
.card span { font-size:14.5px; color:var(--ink-faint); }
