:root{--navy:#141e46;--peach:#ffdccd;--red:#e61e14;--green:#0fff00;--body-size:calc(16px + .84vw);--heading-size:calc(16px + 3.36vw);--h2-size:calc(16px + 2.4vw)}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:var(--peach);font-family:'Work Sans',Arial,sans-serif;font-weight:300;font-size:var(--body-size);line-height:1.3}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:5px}h1,h2{font-weight:900;line-height:1;letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:break-word}h1{font-size:var(--heading-size);margin:0 0 32px}h2{font-size:var(--h2-size);margin:0 0 32px}p{margin:0 0 28px}strong{font-weight:700}img{max-width:100%;display:block;height:auto}.text-width{width:100%;max-width:67.4vw;margin:0 auto}.header{position:absolute;z-index:10;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:3.5vw 5vw}.brand{width:200px;flex-shrink:0;display:block}.brand img{width:100%}nav{display:flex;gap:40px}nav a{font-weight:700;font-size:calc(16px + .24vw);text-decoration:none}nav a:hover,nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}.menu-toggle{display:none}.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:295px 0 0;isolation:isolate}.hero-image{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{width:67.4vw;text-align:center;padding:17px 0}.hero h1{color:white}.hero p{margin-bottom:0}.intro{text-align:center;padding:8.4vw 0 12.6vw}.intro .portrait{border-radius:50%;width:20.8vw;aspect-ratio:1;object-fit:cover;margin:34px auto 0}.cta{background:var(--navy);text-align:center;padding:64px 20px}.button{display:inline-block;border:0;border-radius:999px;background:var(--red);color:#fff;text-transform:uppercase;letter-spacing:.02em;font-size:14px;font-weight:700;line-height:1.2;padding:21px 36px;text-decoration:none}.button:hover{filter:brightness(.9)}footer{background:var(--navy);color:#fff;text-align:center;padding:10px 20px 30px;font-size:calc(16px + .24vw)}footer p{margin:0 0 28px}.footer-logo{width:123px;margin:auto}.cards{display:grid;text-align:center;padding:6.6vw 5vw;gap:20px 11px}.services{grid-template-columns:repeat(3,minmax(0,1fr))}.card-image{width:50%;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:0 auto 20px}.card h2{font-size:var(--h2-size);max-width:75%;margin:0 auto 16px}.card p{font-size:calc(16px + .36vw);max-width:75%;margin:0 auto 25px}.testimonials{grid-template-columns:repeat(2,minmax(0,1fr));padding:9vw 5vw;gap:45px 20px}.testimonials .card-image{margin-bottom:25px}.testimonials h2{font-size:calc(16px + .6vw);line-height:2;text-transform:none;letter-spacing:0}.testimonials p{font-size:calc(16px + .24vw)}.clients{text-align:center;padding:8.4vw 0;background:var(--peach)}.logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:67.4vw;margin:60px auto 0;gap:35px}.logo-grid img{width:100%;height:125px;object-fit:contain}.contact-page{padding:340px 0 75px;text-align:center}.contact-page p{font-size:calc(16px + 1.8vw)}.page-kontakt .header,.page-impressum .header,.page-datenschutzerklaerung .header{background:var(--peach)}.page-kontakt footer{padding-top:90px}.legal{padding:340px 0 90px}.legal p{font-size:calc(16px + .36vw)}.legal h1,.legal h2{font-size:var(--h2-size)}.legal a{overflow-wrap:anywhere}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-150%);background:white;padding:12px}.skip-link:focus{transform:translateY(0)}dialog{border:0;width:min(680px,calc(100% - 32px));max-height:90dvh;padding:40px;color:var(--navy);background:white}dialog::backdrop{background:#141e4670}.dialog-close{position:absolute;right:18px;top:12px;background:none;border:0;font-size:32px}.dialog-close:hover{color:var(--red)}dialog h2{font-size:30px;margin-bottom:48px}form{text-align:left}fieldset{padding:0;border:0;margin:0 0 20px}legend{margin-bottom:12px}form label{display:block;margin-bottom:20px}form label span{font-size:16px}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.name-fields label{font-size:18px;margin:0}input,textarea{width:100%;border:1px solid var(--navy);padding:12px;background:#fafafa;color:var(--navy);border-radius:0;margin-top:6px}textarea{resize:vertical}form>.button{display:block;margin:auto}.form-note{font-size:15px;margin:15px 0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{font-size:17px}#form-status:empty{display:none}body.menu-open{overflow:hidden}@media(min-width:1800px){:root{--heading-size:76px;--h2-size:59px;--body-size:31px}.text-width,.hero-copy{max-width:1200px}}
@media(max-width:767px){:root{--heading-size:calc(16px + 3.36 * min(1vh,9px));--h2-size:calc(16px + 2.4 * min(1vh,9px));--body-size:calc(16px + .84 * min(1vh,9px))}.header{padding:28px 6vw;min-height:140px}.brand{width:130px}.menu-toggle{display:flex;position:relative;z-index:12;flex-direction:column;justify-content:center;gap:8px;background:none;border:0;width:44px;height:44px;padding:8px}.menu-toggle span{display:block;height:2px;width:28px;background:var(--navy);transition:transform .2s}.menu-open .menu-toggle span:first-child{transform:translateY(5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-5px) rotate(-45deg)}nav{display:none;position:fixed;inset:0;background:var(--peach);justify-content:center;align-items:center;flex-direction:column;gap:30px}nav.is-open{display:flex}nav a{font-size:30px}.hero{min-height:100svh;padding:170px 0 30px}.hero-copy,.text-width{width:88vw;max-width:88vw}.hero-copy{padding:16px 0}h1{line-height:1.02}.hero h1{margin-bottom:28px}.hero p{font-size:20px}.intro{padding:70px 0}.intro .portrait{width:60vw;max-width:300px;margin-top:35px}.cta{padding:55px 20px}footer{padding:20px 6vw 40px;font-size:15px}footer p{line-height:1.7;margin-bottom:20px}.footer-logo{width:100px}.cards{grid-template-columns:1fr;padding:55px 6vw;gap:40px}.card-image{width:50%;max-width:240px}.card h2{max-width:100%;font-size:32px}.card p{max-width:90%;font-size:21px}.testimonials h2{font-size:23px;line-height:1.7}.testimonials p{font-size:18px}.clients{padding:60px 0}.logo-grid{max-width:88vw;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:35px}.logo-grid img{height:100px}.contact-page{padding:195px 0 60px}.contact-page p{font-size:25px}.legal{padding:190px 0 65px}.legal p{font-size:18px}.legal h2{font-size:30px}dialog{padding:32px 20px}dialog h2{font-size:25px;margin:10px 0 30px}.name-fields{grid-template-columns:1fr}.name-fields label{margin-bottom:10px}form label,legend{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Leistungsüberschriften: responsive Größen des Squarespace-Originals. */
.services .card h2{font-size:min(calc(16px + .6vw),26.8px);line-height:1.012;letter-spacing:normal}
@media(max-width:767px) and (orientation:portrait){.services .card h2{font-size:calc(16px + .6 * min(1vh,9px))}}
/* Platz für das 130px große mobile Logo. */
@media(max-width:767px){.hero{padding-top:210px}.contact-page{padding-top:225px}.legal{padding-top:225px}}

/* Direkt eingebettetes Kontaktformular. */
.contact-form-panel{max-width:680px;margin:64px auto 0;padding:40px;background:rgba(255,255,255,.42);text-align:left}
.contact-form-panel h2{font-size:clamp(24px,2.4vw,32px);text-align:center;margin:0 0 36px}
.contact-form-panel form{font-size:21px}
.contact-form-panel legend span{font-size:16px}
.contact-page .contact-form-panel .form-note{font-size:15px;line-height:1.5;margin:20px 0}
.contact-page .contact-form-panel #form-status{font-size:17px;line-height:1.5}
.contact-form-panel input,.contact-form-panel textarea{min-width:0;max-width:100%}
.contact-form-panel button:disabled{opacity:.6;cursor:wait}
@media(max-width:767px){.contact-form-panel{margin-top:40px;padding:26px 18px}.contact-form-panel form{font-size:20px}}
