/* Navy, Barlow and gold: refine the existing editorial identity in both themes. */
:root,[data-theme=light]{--bg-subtle:#faf9f6;--bg-muted:#f4f1ea;--border:#e4e5e4;--divider:#ebedec;--df-shadow:0 3px 8px #142a3c04,0 14px 32px #142a3c09}
[data-theme=dark]{--df-shadow:0 3px 8px #0002,0 14px 32px #0002}
body .nav{border-bottom:1px solid var(--divider)}
body .hero-eyebrow{background:var(--bg-subtle);border-color:var(--border);box-shadow:0 4px 12px #10283f03}
body :is(.quiz-antwort,.brand-card,.kontakt-panel){border-radius:14px;border-color:var(--border);box-shadow:var(--df-shadow)}
body .quiz-antwort{background:var(--surface)}
body .quiz-antwort:hover{border-color:var(--accent);box-shadow:0 8px 20px #1830470b}
body .quiz-ergebnis{border-radius:14px;border-color:var(--border);box-shadow:var(--df-shadow)}
body .portfolio-ausklapper{border-color:var(--border);border-radius:14px}
body .portfolio-ausklapper-summary{padding-block:1.35rem}
body .vier-wege-item{border-color:var(--divider)}
body .brand-card:hover{border-color:var(--accent);box-shadow:var(--df-shadow)}
body :is(.btn-primary,.btn-secondary,.kontakt-tab){border-radius:8px}
body .btn-primary{box-shadow:0 3px 8px #0a253f0a,0 8px 18px #0a253f0c}
body .btn-secondary{border-color:var(--border)}
body .feld :is(input,textarea){border-radius:8px;border-color:var(--border);background:var(--surface)}
body :is(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}
body .legal-card{border-radius:14px;border-color:var(--border);box-shadow:var(--df-shadow)}
body :is(.legal-header h1,.legal-card h2){overflow-wrap:anywhere;hyphens:auto}
body .legal-btn{max-width:100%;white-space:normal;text-align:center;border-radius:8px}
body :is(.legal,.legal-content,.legal-card,main) :is(p,li,a){overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){body :is(.brand-card,.quiz-antwort,.btn-primary,.btn-secondary){transition:none}}

/* Approved FAQ rhythm, expressed once per site using its existing brand tokens. */
body .df-faq{box-sizing:border-box;width:100%;max-width:60rem;margin:0;border:1px solid var(--df-line);border-radius:14px;background:var(--df-white,#fff);box-shadow:var(--df-shadow);overflow:hidden;color:var(--df-text)}
body .df-faq-host:is(.faq-card,.accordion,.faq__col,.faq__group){background:none;border:0;box-shadow:none;padding:0;border-radius:0}
body .df-row{padding:0;margin:0;border:0;border-bottom:1px solid var(--df-soft-line);background:transparent}
body .df-row:last-child{border-bottom:0}
body .df-q{box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:63px;padding:19.2px 27.2px;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--df-ink);font-family:inherit;font-size:1.02rem;font-weight:500;line-height:1.4;letter-spacing:normal;text-align:left;text-transform:none;cursor:pointer;transition:background .2s}
body .df-q::before,body .df-q::after{content:none}
body .df-q .df-label{font:inherit;color:inherit;min-width:0}
body .df-q:hover,body .df-open{background:var(--df-pale)}
body .df-q:focus-visible{outline:3px solid var(--df-accent);outline-offset:-3px}
body .df-sign{display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;width:25px;height:25px;padding:0;margin:0;border:1px solid var(--df-accent);border-radius:50%;color:var(--df-accent);background:none;font-size:17px;font-weight:400;line-height:1;transition:transform .2s,background .2s,color .2s}
body .df-open .df-sign{transform:rotate(45deg);background:var(--df-accent);color:#fff}
body .df-a{box-sizing:border-box;max-width:74ch;padding:0 27.2px 22.4px;margin:0;color:var(--df-text);font:inherit;font-size:.97rem;font-weight:var(--df-weight,400);line-height:1.72;letter-spacing:normal}
body .df-a[hidden]{display:none}
body .df-a-inner{margin:0;padding:0;font:inherit;color:inherit}
body .df-a-inner :is(p,li){font:inherit;color:inherit;max-width:none;letter-spacing:normal}
body .df-a-inner p{margin:0 0 .8rem;padding:0}
body .df-a-inner p:last-child{margin-bottom:0}
body .df-a-inner a{color:var(--df-ink);text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){body .df-faq :is(.df-q,.df-sign){transition:none}}
