/* Ergänzungen; die ursprüngliche styles.css bleibt unverändert. */
:root {
  --lmm-surface:#fff; --lmm-header:rgba(255,250,252,.9);
  --lmm-copy:#504952; --lmm-label:#514a53; --lmm-expert-copy:#5f5660;
  --lmm-action:#ca2e75; --lmm-action-hover:#9e1d56; --lmm-on-action:#fff;
}
[hidden] { display:none!important; }
html { scroll-padding-top:100px; }
[id] { scroll-margin-top:100px; }
.hero { overflow:clip; }
.shell > *, .hero-grid > *, .process-grid > *, .expert-grid > *, .contact-card > *, .form-row > * { min-width:0; }
input,textarea { min-width:0; }
.expert-card img,.audience-sketch { height:auto; }
p,.legal-card li,.contact-links a { overflow-wrap:anywhere; }
:focus-visible { outline:3px solid var(--pink-dark); outline-offset:4px; }
.contact-copy :focus-visible { outline-color:#fff; }
.skip-link { position:fixed; z-index:100; top:12px; left:12px; padding:10px 20px; border-radius:14px; background:var(--ink); color:var(--paper); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.step-number,.expert-copy > .eyebrow { color:var(--pink-dark); }
.contact-copy > .eyebrow,.contact-copy > p { color:#fff; }
.site-header { background:var(--lmm-header); }
.proof-grid,.step,.profile-card,.expert-card,.contact-form,.legal-card,footer,.contact { background:var(--lmm-surface); }
.hero-lead { color:var(--lmm-copy); }
label,.legal-card p,.legal-card li { color:var(--lmm-label); }
.expert-copy p:not(.eyebrow) { color:var(--lmm-expert-copy); }
.pill,.primary-cta { background:var(--lmm-action); color:var(--lmm-on-action); }
.pill:hover,.primary-cta:hover { background:var(--lmm-action-hover); }
.service-card .icon-ring,.check span { background:var(--lmm-action); color:#fff; }
.contact-card { background:var(--lmm-action); color:var(--lmm-on-action); }
.contact-copy p { color:var(--lmm-on-action); }
.menu-button { display:none; width:44px; height:44px; flex:none; border:1px solid var(--line); border-radius:50%; background:var(--lmm-surface); color:var(--ink); cursor:pointer; padding:10px; }
.menu-button svg { width:22px; height:22px; }
.footer-links { flex-wrap:wrap; align-items:center; }
.display-link { padding:0; border:0; font:inherit; color:inherit; text-decoration:underline; background:none; cursor:pointer; }
.display-link:hover { color:var(--pink); }
.display-dialog { width:min(470px,calc(100% - 28px)); max-height:calc(100dvh - 28px); overflow:auto; border:1px solid var(--line); border-radius:var(--radius); padding:28px; color:var(--ink); background:var(--lmm-surface); box-shadow:var(--shadow); }
.display-dialog::backdrop { background:rgba(22,19,26,.65); }
.dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.dialog-head h2 { font-family:inherit; font-size:1.5rem; font-weight:750; letter-spacing:-.025em; }
.dialog-close { flex:none; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--ink); cursor:pointer; font-size:1.4rem; }
.display-dialog fieldset { border:0; padding:0; margin:0 0 22px; min-width:0; }
.display-dialog legend { font-weight:750; margin-bottom:10px; }
.display-dialog label { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:14px; padding:10px 14px; min-height:48px; cursor:pointer; }
.display-dialog input { flex:none; width:18px; height:18px; padding:0; accent-color:var(--pink-dark); }
.display-dialog .secondary-cta { width:100%; }
.display-dialog .form-note { text-align:left; font-size:.85rem; }
.display-dialog p+p { margin-top:12px; }
.honeypot,.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.form-status:empty { display:none; }
.form-status { margin-bottom:18px; padding:14px; border:1px solid var(--pink-dark); border-radius:14px; color:var(--ink); overflow-wrap:anywhere; font-size:.9rem; }
.form-status ul { margin:10px 0; padding-left:20px; }
.form-status p+p { margin-top:10px; }
.field-error { color:var(--pink-dark); font-size:.8rem; font-weight:650; }
.field-error:empty { display:none; }
[aria-invalid=true] { border-color:var(--pink-dark); outline:2px solid var(--pink-dark); }
.contact-form button:disabled { opacity:.7; cursor:wait; transform:none; }
.server-contact { max-width:780px; margin:0 auto; }
.server-contact .contact-form { margin:0; border:1px solid var(--line); }
.server-contact h1 { margin-bottom:28px; font-size:clamp(2.5rem,6vw,4rem); }
:root[data-theme=dark] {
  color-scheme:dark;
  --ink:#faf3f7; --muted:#c5b9c0; --paper:#171318; --white:#211b22;
  --pink:#ffa0c9; --pink-dark:#ffb8d8; --pink-soft:#35212d; --line:#72606d;
  --lmm-surface:#211b22; --lmm-header:rgba(23,19,24,.94);
  --lmm-copy:#dfd2db; --lmm-label:#dfd2db; --lmm-expert-copy:#dfd2db;
  --lmm-action:#ca2e75; --lmm-action-hover:#9e1d56;
}
:root[data-theme=light] { color-scheme:light; }
@media(prefers-color-scheme:dark) {
  :root:not([data-theme=light]) {
    color-scheme:dark;
    --ink:#faf3f7; --muted:#c5b9c0; --paper:#171318; --white:#211b22;
    --pink:#ffa0c9; --pink-dark:#ffb8d8; --pink-soft:#35212d; --line:#72606d;
    --lmm-surface:#211b22; --lmm-header:rgba(23,19,24,.94);
    --lmm-copy:#dfd2db; --lmm-label:#dfd2db; --lmm-expert-copy:#dfd2db;
    --lmm-action:#ca2e75; --lmm-action-hover:#9e1d56;
  }
}
:root[data-contrast=high] {
  --ink:#000; --muted:#161616; --paper:#fff; --white:#fff; --line:#333;
  --pink:#8a1748; --pink-dark:#710c37; --pink-soft:#fff;
  --lmm-surface:#fff; --lmm-header:#fff; --lmm-copy:#111; --lmm-label:#111; --lmm-expert-copy:#111;
  --lmm-action:#710c37; --lmm-action-hover:#510927;
}
:root[data-contrast=high][data-theme=dark] {
  --ink:#fff; --muted:#fff; --paper:#000; --white:#000; --line:#fff;
  --pink:#ffc0dc; --pink-dark:#ffc0dc; --pink-soft:#111;
  --lmm-surface:#111; --lmm-header:#000; --lmm-copy:#fff; --lmm-label:#fff; --lmm-expert-copy:#fff;
  --lmm-action:#710c37; --lmm-action-hover:#510927;
}
@media(prefers-color-scheme:dark) {
  :root[data-contrast=high]:not([data-theme=light]) {
    --ink:#fff; --muted:#fff; --paper:#000; --white:#000; --line:#fff;
    --pink:#ffc0dc; --pink-dark:#ffc0dc; --pink-soft:#111;
    --lmm-surface:#111; --lmm-header:#000; --lmm-copy:#fff; --lmm-label:#fff; --lmm-expert-copy:#fff;
    --lmm-action:#710c37; --lmm-action-hover:#510927;
  }
}
:root[data-contrast=high] .service-card .icon-ring,:root[data-contrast=high] .check span { background:var(--lmm-action); color:#fff; }
:root[data-contrast=high] .hero-art-copy span,:root[data-contrast=high] .audience-head .eyebrow,:root[data-contrast=high] .audience-head h2 span,:root[data-contrast=high] .sector small { color:#ffc0dc; }
:root[data-contrast=high] .sector { border-color:#ddd; }
:root[data-contrast=high] .sector p { color:#fff; }
:root[data-monochrome=true],:root[data-monochrome=true] .display-dialog { filter:grayscale(1); }
:root[data-motion=reduce],:root[data-motion=reduce] *, :root[data-motion=reduce] *::before,:root[data-motion=reduce] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media(prefers-reduced-motion:reduce) {
  html,*,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media(max-width:900px) {
  html { scroll-padding-top:86px; }
  [id] { scroll-margin-top:86px; }
  .js .menu-button { display:inline-flex; align-items:center; justify-content:center; }
  .nav { gap:10px; }
  .nav-links { margin-left:auto; gap:10px; }
  .js .nav-links.is-open { position:absolute; top:100%; right:14px; left:14px; margin:0; padding:18px; border:1px solid var(--line); border-radius:0 0 24px 24px; background:var(--lmm-surface); box-shadow:var(--shadow); display:flex; flex-direction:column; align-items:stretch; max-height:calc(100dvh - 90px); overflow:auto; }
  .js .nav-links.is-open a { display:flex; padding:10px 14px; min-height:44px; }
  .js .legal-nav .nav-links.is-open a:not(.pill) { display:flex; }
  html:not(.js) .nav { flex-wrap:wrap; padding-block:12px; }
  html:not(.js) .nav-links { flex-wrap:wrap; gap:8px 18px; }
  html:not(.js) .nav-links a:not(.pill) { display:inline-flex; align-items:center; min-height:44px; }
}
@media(max-width:620px) {
  .nav { gap:8px; }
  .nav-links { gap:8px; }
  .display-dialog { padding:22px; }
  .footer-links { gap:10px 20px; }
  .footer-links a,.display-link { min-height:44px; display:inline-flex; align-items:center; }
}
@media(max-width:400px) {
  .nav .pill { padding-inline:12px; font-size:.76rem; }
}
@media(forced-colors:active) {
  .site-header,.service-card,.proof-grid,.step,.profile-card,.expert-card,.sector,.audience-lead,.contact-card,.contact-form,.legal-card,.display-dialog,.nav-links.is-open { background:Canvas; color:CanvasText; border:1px solid CanvasText; }
  .hero h1 span,.eyebrow,.step-number,.expert-copy > .eyebrow,.contact-copy p,.contact-links a,.audience-head h2,.audience-head h2 span,.sector p,.sector small,.legal-card a { color:CanvasText!important; }
  .primary-cta,.pill,.secondary-cta,.menu-button,.dialog-close { border:1px solid ButtonText; background:ButtonFace; color:ButtonText; }
  .icon-ring,.step-number,.check span { background:Canvas; color:CanvasText; border:1px solid CanvasText; }
  :focus-visible,.contact-copy :focus-visible { outline-color:Highlight; }
  .brand { background:#fff; }
}
@media print {
  html { filter:none!important; }
  .site-header,.display-dialog,.display-link,.skip-link,.contact-form { display:none!important; }
  body,.projects,.expert,.contact-card,.sector,.profile-card,.service-card,.step,.legal-card { background:#fff!important; color:#000!important; box-shadow:none!important; }
  p,h1,h2,h3,.eyebrow,.contact-copy p,.sector p,.audience-head h2,.audience-head h2 span { color:#000!important; }
  .hero-card,.audience-sketch { display:none; }
  .hero-grid,.process-grid,.expert-grid,.contact-card { grid-template-columns:1fr; }
  .process-intro { position:static; }
  .section { padding-block:30px; }
}
