/* Gemeinsame Basis für die Designs 5 bis 8: Reset, Barrierefreiheit, Kontaktformular, Footer, Rechtliches. Die Designs färben über Variablen. */
@font-face{font-family:Manrope;src:url('manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--red:#ED1941;--orange:#F99D1C;--blue:#0086CE;--green:#7BAB41;--ink:#10202c;--muted:#506270;--paper:#fff;--line:#dbe3e9;--wrap:1240px;--gutter:48px;
--c-bg:var(--ink);--c-fg:#fff;--c-muted:#b8c9d6;--c-field:#fff;--c-field-ink:var(--ink);--c-accent:var(--green);--c-btn:var(--green);--c-btn-ink:var(--ink);--c-radius:14px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif;overflow-x:clip}
h1,h2,h3,h4,p,figure,dl,dd,ol,ul,fieldset,legend{margin:0;padding:0}fieldset{border:0;min-width:0}ol,ul{list-style:none}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%}
p{max-width:62ch}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
::selection{background:var(--orange);color:var(--ink)}
.wrap{width:calc(100% - var(--gutter) * 2);max-width:var(--wrap);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;top:8px;left:8px;background:#fff;color:var(--ink);padding:12px;z-index:200;transform:translateY(-160%)}.skip:focus{transform:none}
/* Kontakt */
.contact{background:var(--c-bg);color:var(--c-fg);padding-block:clamp(64px,9vw,120px);scroll-margin-top:60px}.contact p{color:var(--c-muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.contact h2{font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.04;letter-spacing:-.04em;font-weight:800;margin-bottom:22px}
.email{display:inline-block;font-size:1.15rem;font-weight:800;margin-top:24px;border-bottom:3px solid var(--c-accent);overflow-wrap:anywhere;color:inherit}
.contact label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}
.contact input,.contact textarea{width:100%;background:var(--c-field);border:2px solid var(--c-field);border-radius:var(--c-radius);padding:13px 16px;color:var(--c-field-ink)}
.contact input:focus,.contact textarea:focus{outline:3px solid var(--c-accent);outline-offset:0}.contact textarea{resize:vertical;min-height:140px}
.contact [aria-invalid=true]{border-color:#ff7f95}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-note{font-size:12px;margin:13px 0 20px}.form-note a{text-decoration:underline}
.success,.error{font-size:14px}.success{padding:12px 14px;background:#e9f2dd;color:var(--ink)!important;border-radius:12px;margin-bottom:18px}.error{color:#ffb3c0!important;margin-top:6px;font-weight:700}
.button{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:13px 30px;border:0;border-radius:999px;background:var(--c-btn);color:var(--c-btn-ink);font-weight:800;transition:transform .2s}.button:hover{transform:translateY(-3px)}
/* Footer + Rechtliches */
.footer{padding:26px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;font-size:13px;color:var(--muted)}.footer nav{display:flex;gap:24px}
.legal{overflow-wrap:anywhere;max-width:920px;padding-block:50px 90px;margin-inline:auto}.legal h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:30px;line-height:1.05;font-weight:800;letter-spacing:-.04em}.legal h2{font-size:1.5rem;margin:40px 0 18px}.legal h3{font-size:1.15rem;margin:25px 0 12px}.legal p{margin-bottom:16px;color:var(--muted)}.legal a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal nav{display:grid;gap:10px;margin:25px 0}.legal li{margin-block:5px}.legal [id]{scroll-margin-top:110px}
.legal.shell{width:calc(100% - var(--gutter) * 2)}
@media(max-width:1000px){:root{--gutter:32px}.contact-grid{grid-template-columns:1fr}}
@media(max-width:700px){:root{--gutter:20px}.form-pair{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

.contact address{font-style:normal;margin-top:18px;line-height:1.6;color:var(--c-muted)}.contact address a{color:inherit;font-weight:700}
