/* Approved light / neon palette. Layout and typography remain unchanged. */
:root{color-scheme:light;--bg:#f2f2f1;--white:#171717;--muted:#565653;--gold:#f0ff00;--accent:#f0ff00;--line:#17171730}
body{background:#f2f2f1;color:#171717}
body:before{background:none}
::selection{background:#f0ff00;color:#171717}
.brand img{filter:brightness(0)}
a:hover,nav button:hover{color:#171717;text-decoration:underline;text-decoration-color:#171717;text-decoration-thickness:1px;text-underline-offset:5px}
a:focus-visible,button:focus-visible{outline-color:#171717}
.intro{color:#565653}
h1:before{background:#171717}
.contact-button{background:#f0ff00;border-color:#f0ff00;color:#171717}
.contact-button:hover{background:#e2ef00;border-color:#171717;color:#171717;text-decoration:none}
.social a{color:#171717}
.social a:hover{background:#f0ff00;border-radius:50%}
footer{color:#535350}
footer button{color:#535350}
.text-link{color:#171717;text-decoration:underline;text-decoration-color:#171717;text-underline-offset:4px}
dialog{background:#f2f2f1;color:#171717;border-color:#bcbcb6;box-shadow:0 30px 90px #0003}
dialog::backdrop{background:#14141466}
dialog p:not(.eyebrow),dialog address{color:#535350}
#projekt-form label{color:#30302d}
#projekt-form input,#projekt-form textarea{background:#f2f2f1;color:#171717;border-color:#95958f;caret-color:#171717}
#projekt-form input::placeholder,#projekt-form textarea::placeholder{color:#656560;opacity:1}
#projekt-form input:focus-visible,#projekt-form textarea:focus-visible{outline-color:#171717;border-color:#171717}
#projekt-form .form-note,#projekt-form .form-status{color:#535350}
#nl-consent{background:#f2f2f1;color:#171717;border-color:#bcbcb6;box-shadow:0 6px 40px #0002;font-family:Poppins,Arial,sans-serif}
#nl-consent a,#nl-consent p{color:#393936}
#nl-consent .nl-consent-actions button{background:#f2f2f1;color:#171717;border:1px solid #171717;font-family:inherit}
#nl-consent .nl-consent-actions button[data-nl-accept]{background:#f0ff00}
#nl-consent .nl-consent-actions button:hover{background:#f0ff00;color:#171717}
.legal-page .masthead,.legal-page footer,.legal-bottom,.legal-copy section{border-color:#17171726}
.legal-back,.legal-lead,.legal-date,.legal-toc a,.legal-copy,.legal-bottom p,.legal-block p:not(.section-number),.legal-block address{color:#535350}
.legal-back span{color:#171717}
.legal-heading .eyebrow,.section-number,.legal-toc p{color:#171717}
.legal-heading .eyebrow{display:table;background:linear-gradient(transparent 55%,#f0ff00 55%);padding-right:6px}
.gold-dot{color:#171717;text-shadow:3px 0 #f0ff00}
.legal-block,.legal-toc{border-color:#17171740}
.legal-main a{color:#171717;text-decoration-color:#76766d}
.legal-main a:hover{color:#171717;background:#f0ff00;text-decoration-color:#171717}
.legal-toc a:hover{color:#171717}
.legal-copy .scope-note{border-left:3px solid #f0ff00}
.legal-copy h2 span{color:#171717;background:#f0ff00;padding:1px 5px}
.legal-copy code{color:#171717;background:#e4e4e0}
.legal-page footer [aria-current=page]{color:#171717;text-decoration:underline;text-decoration-color:#171717;text-decoration-thickness:1px;text-underline-offset:5px}
@media print{.legal-page{background:#fff}}

/* One type family, two real font weights, a compact supporting type scale. */
:root{--font-ui:Poppins,Arial,sans-serif;--type-small:12px;--type-body:14px;--type-control:16px}
body,button,input,textarea,select{font-family:var(--font-ui)}
body,button,input,textarea,select,p,address{font-weight:400}
h1,h2,h3,strong,b,#nl-consent h2{font-weight:600}
.eyebrow,.legal-heading .eyebrow,dialog .eyebrow{font-size:var(--type-small);letter-spacing:.08em;font-weight:400}
.section-number,.legal-toc p{font-size:var(--type-small);letter-spacing:.06em;font-weight:400}
.intro{letter-spacing:0}
.contact-button{font-size:var(--type-control);letter-spacing:0;font-weight:400}
.form-submit{font-size:var(--type-body)}
footer,footer button,.legal-back,.legal-date,.legal-toc a,.mail-fallback{font-size:var(--type-small);letter-spacing:0}
.legal-page h2{font-size:24px}
.legal-page h3{font-size:var(--type-control)}
.legal-lead,.legal-copy,.legal-bottom p,.legal-block p:not(.section-number),.legal-block address{font-size:var(--type-body);line-height:1.85}
.legal-copy h2 span{font-size:var(--type-small);letter-spacing:0;font-weight:400}
.legal-copy code{font-family:var(--font-ui);font-size:inherit;font-weight:400}
#projekt-form label,#projekt-form .form-note,#projekt-form .form-status{font-size:var(--type-small);letter-spacing:0}
#projekt-form input,#projekt-form textarea{font-family:var(--font-ui);font-size:var(--type-control);font-weight:400}
#nl-consent,#nl-consent .nl-consent-actions button{font-family:var(--font-ui)}
#nl-consent h2{font-size:18px;letter-spacing:0;font-weight:600}
#nl-consent p,#nl-consent .nl-consent-actions button{font-size:var(--type-small);font-weight:400}
@media(max-width:700px){.contact-button{font-size:var(--type-body)}.legal-page h2{font-size:20px}.legal-page h3{font-size:var(--type-control)}.legal-copy h2 span{font-size:var(--type-small)}}

/* The two supporting hero lines share one quiet typographic treatment. */
.hero-copy .eyebrow,.hero-copy .intro{font-family:var(--font-ui);font-size:clamp(14.08px,1.08vw,18px);font-weight:400;color:#565653;letter-spacing:0;text-transform:none;line-height:1.6}
@media(max-width:1100px){.hero-copy .eyebrow,.hero-copy .intro{font-size:14.08px}}
@media(max-width:700px){.hero-copy .eyebrow,.hero-copy .intro{font-size:12.32px}}
