@font-face{font-family:Montserrat;src:url('../files/fonts/montserrat-v31-latin-200.woff2') format('woff2');font-weight:200;font-display:swap}@font-face{font-family:Montserrat;src:url('../files/fonts/montserrat-v31-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('../files/fonts/montserrat-v31-latin-500.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--purple:#86246b;--pink:#e6007e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:#111;font:400 14px/1.4 Montserrat,Arial,sans-serif}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #e6007e;outline-offset:4px}img{max-width:100%;height:auto}.wrap{width:80%;margin:auto}.site-header{height:100px;background:#fff;position:sticky;top:0;z-index:20}.header-inner{width:80%;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.header-inner img{display:block;width:200px}.header-inner nav{align-self:end}.header-inner ul{display:flex;gap:34px;list-style:none;margin:0 0 10px;padding:0}.header-inner nav a{font-size:16px;color:#111;text-transform:uppercase}.header-inner nav a:hover{color:var(--purple)}.menu-toggle{display:none}.hero{height:calc(100vh - 100px);min-height:500px;position:relative;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 70%),url('../files/header-gebaeude-ohne_logo.jpg') center center/cover no-repeat}.hero-copy{position:absolute;bottom:40px;left:5%;color:#fff;text-transform:uppercase}.hero-copy div{font-size:clamp(55px,7vw,100px);font-weight:200;line-height:1;letter-spacing:.17em}.hero-copy p{font-size:14px;font-weight:500;letter-spacing:.65em;margin:40px 0 0}.scroll-down{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:50px}.intro{padding:100px 0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px}h1,h2{color:var(--purple);font-size:40px;font-weight:200;line-height:1;text-transform:uppercase;margin:0}h3,.intro h2{font-size:20px;font-weight:200;color:var(--purple);margin:5px 0 30px;line-height:1.2}.intro h2{text-transform:none}p{margin:0 0 20px}li{margin-bottom:3px}.services-title{text-align:center;padding:70px 0 20px;border-top:1px solid #ddd}.service-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:50px 0 65px}.service-icons a{display:flex;flex-direction:column;align-items:center;gap:15px;text-transform:uppercase;color:#111}.service-icons img{width:120px}.content-block{padding:55px 0 80px}.content-block h3{margin-bottom:35px}.copy{max-width:900px}.copy ul{padding-left:19px}.gallery{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:35px;scrollbar-color:var(--purple) #eee}.gallery-image{flex:0 0 calc((100% - 30px)/4);scroll-snap-align:start}.gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.full-gallery{padding:0 0 65px}.full-gallery .wrap{width:100%}.full-gallery .gallery{margin:0}.purple{background:var(--purple);color:white}.purple h2,.purple h3,.purple a{color:white}.accordion{padding:20px 0 70px}.accordion details{border-bottom:1px solid #ddd}.accordion summary{cursor:pointer;padding:18px 0;color:var(--purple);font-size:20px}.accordion details div{padding:10px 0 20px}.contact{background:#eee;text-align:center}.contact .copy{margin:auto}.footer{background:#222;color:#fff;padding:45px 0}.footer-inner{display:flex;gap:70px;align-items:flex-start}.footer a{color:#fff}.footer nav{margin-left:auto;display:flex;gap:20px}.side-tabs{position:fixed;top:30%;left:0;z-index:30;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.side-tabs summary,.side-tabs .offer{display:block;writing-mode:vertical-rl;transform:rotate(180deg);background:var(--purple);color:#fff;text-transform:uppercase;font-size:12px;font-weight:200;padding:10px 7px;cursor:pointer}.side-tabs .offer{background:var(--pink)}.side-tabs details[open]{display:flex;align-items:start;flex-direction:row-reverse}.jobs{background:#fff;box-shadow:0 0 10px #777;padding:24px;width:min(450px,80vw);max-height:70vh;overflow:auto}.jobs h3{font-size:22px}.to-top{position:fixed;bottom:20px;right:15px;color:#fff;background:#7779;padding:8px}.legal{padding:100px 0;min-height:60vh}.legal section{margin-bottom:80px}.legal h1,.legal h2{margin-bottom:24px}.legal h3{margin-top:28px;margin-bottom:12px}.legal p,.legal li{max-width:1050px}.lightbox{border:0;padding:0;background:#111e;color:white;max-width:100vw;max-height:100vh;width:100%;height:100%}.lightbox::backdrop{background:#000d}.lightbox img{display:block;max-width:90vw;max-height:85vh;object-fit:contain;margin:4vh auto}.lightbox button{position:absolute;top:15px;right:25px;background:#222;color:#fff;border:1px solid white;font-size:30px;cursor:pointer}
@media(max-width:800px){.wrap,.header-inner{width:90%}.site-header{height:75px}.header-inner img{width:160px}.menu-toggle{display:block;background:none;border:0;color:var(--purple);font:inherit;font-size:16px}.header-inner nav{display:none;position:absolute;top:75px;left:0;right:0;background:#fff;box-shadow:0 5px 5px #0002}.header-inner nav.open{display:block}.header-inner ul{display:block;margin:0;padding:10px 5%}.header-inner li{margin:0}.header-inner nav a{display:block;padding:12px 0}.hero{height:calc(100svh - 75px);min-height:420px}.hero-copy{bottom:55px}.hero-copy div{font-size:clamp(35px,9vw,70px);letter-spacing:.09em}.hero-copy p{font-size:10px;letter-spacing:.25em;margin-top:25px}.columns{grid-template-columns:1fr;gap:0}.intro{padding:65px 0}.service-icons{grid-template-columns:repeat(2,1fr)}h1,h2{font-size:30px}.gallery-image{flex-basis:70%}.content-block{padding:45px 0}.full-gallery{padding:0}.footer-inner{display:block}.footer nav{margin-top:30px}.side-tabs{top:27%}.legal{padding:65px 0}html{scroll-padding-top:80px}}
@media(min-width:801px){.hero-copy div{letter-spacing:.1em}.legal{width:86%;padding-top:80px}.legal h1,.legal h2{margin-bottom:0}.legal{line-height:1.2}}
@media(max-width:800px){.site-header{height:100px}.header-inner img{width:200px}.header-inner nav{top:100px}.menu-toggle{font-size:0;width:42px;height:30px;border-top:2px solid var(--purple);border-bottom:2px solid var(--purple);position:relative}.menu-toggle:after{content:'';position:absolute;left:0;right:0;top:12px;border-top:2px solid var(--purple)}.menu-toggle span{display:none}.hero{height:auto;min-height:0;padding-top:60%;background:linear-gradient(#86246b,#3c1034)}.hero:before{content:'';display:block;position:absolute;left:0;top:0;right:0;height:0;padding-top:60%;background:url('../files/header-gebaeude-ohne_logo.jpg') center/cover no-repeat}.hero-copy{position:relative;left:auto;bottom:auto;padding:25px 5% 22px}.hero-copy div{font-size:clamp(30px,9vw,45px);line-height:1.3;letter-spacing:.04em}.hero-copy p{font-size:12px;font-weight:200;letter-spacing:0;margin-top:20px}.scroll-down{display:none}.side-tabs{top:120px;gap:10px}.side-tabs summary,.side-tabs .offer{writing-mode:horizontal-tb;transform:none;padding:8px 10px}.intro{padding:100px 0 65px}html{scroll-padding-top:100px}}
/* Leistungsübersicht nach der Vorlage */
.services{border-top:3px solid #86246b;position:relative}
.services::before{content:"";position:absolute;top:4px;left:0;right:0;border-top:2px solid #e6007e}
.services-title{width:86%;padding:100px 0 0;border:0;text-align:left}
.services-title>h3:first-of-type{margin:5px 0 0}
.service-icons{position:relative;z-index:0;display:flex;justify-content:space-around;gap:0;margin:0;padding:95px 0 20px}
.service-icons::after{content:"";position:absolute;z-index:-1;bottom:0;left:0;right:0;height:100px;background:#acacac}
.service-icons a{position:relative;display:block;width:22%;color:#86246b;text-transform:none;text-decoration:none}
.service-icons img{display:block;width:100%;max-width:none;transition:opacity .3s,transform .3s}
.service-icons img.service-hover{position:absolute;left:0;top:0;opacity:0}
.service-icons a span{position:absolute;left:10px;right:10px;bottom:10px;text-align:center;color:#86246b;font-weight:500;letter-spacing:5px;transition:transform .3s,color .3s}
.service-icons a:hover img:first-child,.service-icons a:focus-visible img:first-child{opacity:0}
.service-icons a:hover img.service-hover,.service-icons a:focus-visible img.service-hover{opacity:1;transform:translateY(-20px)}
.service-icons a:hover span,.service-icons a:focus-visible span{color:#fff;transform:translateY(-20px)}
.services-title>h3:last-child{color:#000;font-size:20px;font-weight:500;text-align:center;margin:100px 0 0;padding-bottom:100px}
@media(max-width:1240px){.service-icons{justify-content:space-between}.service-icons::after{display:none}.service-icons a{width:23%}}
@media(max-width:1100px){.service-icons{flex-wrap:wrap;justify-content:center;gap:30px}.service-icons a{width:40%}}
@media(max-width:800px){.services-title{width:90%;padding-top:100px}.service-icons{justify-content:space-between;gap:30px 0}.service-icons a{width:48%}.services-title>h3:last-child{margin-top:100px}}
@media(max-width:550px){.service-icons{justify-content:center;gap:20px}.service-icons a{width:80%}}
@media(max-width:430px){.service-icons a{width:100%}}
#c95,#c118,#c114{position:relative;background:#ebebeb;border-top:4px solid #86246b;border-bottom:4px solid #86246b;padding:100px 0;margin-bottom:100px}
#c95::before,#c118::before,#c114::before{content:"";position:absolute;top:4px;left:0;right:0;border-top:2px solid #e6007e}
#c95::after,#c118::after,#c114::after{content:"";position:absolute;bottom:-10px;left:0;right:0;border-top:2px solid #e6007e}
#c95 .copy,#c96 .copy,#c118 .copy,#c98 .copy,#c57 .copy,#c114 .copy{max-width:none}
#c95 .copy ul,#c96 .copy ul,#c118 .copy ul,#c98 .copy ul,#c57 .copy ul,#c114 .copy ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:40px 0;padding:0}
#c95 .copy li,#c96 .copy li,#c118 .copy li,#c98 .copy li,#c57 .copy li,#c114 .copy li{background:#ebebeb;padding:5px 10px;margin:0;letter-spacing:5px}
#c95 .copy li,#c118 .copy li,#c114 .copy li{background:#fff}
#c95 .copy li:hover,#c96 .copy li:hover,#c118 .copy li:hover,#c98 .copy li:hover,#c57 .copy li:hover,#c114 .copy li:hover{background:#86246b;color:#fff}
#c95 .copy li:hover a,#c96 .copy li:hover a,#c118 .copy li:hover a,#c98 .copy li:hover a,#c57 .copy li:hover a,#c114 .copy li:hover a{color:#fff}
.legal h1,.legal h2,.legal h3,.legal h4,.legal p,.legal li{overflow-wrap:anywhere}
