:root{--accent:#667d64;--text:#55585b;--link:#465d44;--light:#f4f4f4;--team:#e9e9e9;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;border-top:10px solid var(--accent);color:var(--text);background:#fff;font:14px/27px Arial,Helvetica,sans-serif;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
a:hover{color:var(--link)}
a:focus-visible{outline:3px solid #344d33;outline-offset:5px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,blockquote{margin:0}
h1,h2{font-size:35px;line-height:1.3;font-weight:500;text-transform:uppercase}
.button{display:inline-block;padding:12px 16px;border-radius:3px;background:var(--accent);color:#fff;font-size:13px;font-weight:500;line-height:13px;text-align:center}
.button:hover,.button:focus-visible{background:#707070;color:#fff}
.skip-link{position:fixed;top:0;left:20px;padding:12px 20px;background:#fff;color:#344d33;z-index:10;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:106px;display:flex;align-items:center;padding:0 5.4% 0 7.1%;gap:39px;background:#fff}
.brand{width:193px;flex:none;margin-right:auto}
.site-header>nav,.site-header>.shop-link,.header-contact{transform:translateY(13px)}
.site-header nav ul{display:flex;gap:58px;list-style:none;padding:0}
.site-header nav a{font-size:14px;line-height:20px;text-transform:uppercase;white-space:nowrap}
.header-contact{display:flex;gap:34px;margin-left:57px;align-items:center;color:#000}
.header-contact a{display:block;width:21px;height:24px}
.header-contact svg{width:21px;height:21px;fill:currentColor}
.header-contact svg rect+path{fill:none;stroke:white;stroke-width:1.2}
.hero,.legal-hero{background:url('images/titel.jpg') left top/cover no-repeat;min-height:690px}
.hero-inner{max-width:1140px;margin:auto;padding-top:160px;padding-bottom:160px}
.hero-card{width:621px;padding:74px 0 84px 72px;background:#707070;color:#fff}
.hero-card h1{font-size:35px}
.rule{width:66px;border-top:2px solid currentColor;margin:40px 0 27px}
.hero-card .rule{margin:39px 0 30px}
.hero-card p{width:86%;font-size:16px;line-height:31px}
.intro{background:var(--light);padding-top:90px}
.intro-inner{max-width:1200px;margin:auto;padding:10px 16px 30px 17px;display:grid;grid-template-columns:43.4% 56.6%;align-items:center}
.intro-copy{padding-right:10px}
.intro-copy p{max-width:86%;margin-bottom:31.4px}
.intro-inner>img{width:100%}
.detail-gallery{max-width:1170px;margin:auto;padding:10px 0 120px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.detail-gallery img{width:100%;aspect-ratio:10/7;object-fit:cover}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.split>img{width:100%;aspect-ratio:1;object-fit:cover}
.split-copy{padding:150px 60px 60px}
.split-copy p{max-width:86.2%}
.overlap{position:relative;min-height:56.124vw;isolation:isolate;background:#fff}
.overlap-image{position:absolute;z-index:-1;width:50%;height:auto;aspect-ratio:1;object-fit:cover;top:0}
.specialities .overlap-image{right:0}
.panel{position:relative;background:var(--accent);color:#fff;padding:110px 60px;width:calc(46.6185vw - 55.9422px)}
.specialities .panel{margin-left:210px;top:68px}
.feature-list{list-style:none;padding:0;max-width:435px}
.feature-list li{font-size:18px;line-height:27px;font-weight:500;padding:38px 20px;border-bottom:1px solid #a4b29f}
.feature-list li:first-child{padding-top:25px}
.feature-list li:last-child{border-bottom:0;padding-bottom:0}
.panel .rule{margin-bottom:27px}
.section-heading{text-align:center;padding:110px 20px 40px}
.section-heading>p{font-size:18px;line-height:27px;margin:0 0 50px}
.section-heading h2{line-height:46px}
.section-heading .rule{margin:47.8px auto 0}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;padding:0 100px}
.service-card{position:relative;isolation:isolate;min-height:300px;display:flex;align-items:center;justify-content:center;text-align:center;background-position:center;background-size:cover;color:#fff}
.service-card:before{content:"";position:absolute;inset:0;background:rgb(0 0 0 / 35%);z-index:-1}
.service-card h3{font-size:36px;line-height:1.3;font-weight:700}
.private{background-image:url('images/privat.jpg')}
.business{background-image:url('images/buero-und-business.jpg')}
.hotel{background-image:url('images/hotel-und-restaurant.jpg')}
.team-member{padding:90px 0;background:var(--team)}
.team-member:first-child{background:var(--light)}
.team-inner,.partner-inner{max-width:1200px;margin:auto;padding:0 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:center}
.team-copy p{max-width:84%;margin-bottom:31.4px}
.team-photo img{width:91%;margin:auto;aspect-ratio:1;object-fit:cover}
.team-divider{height:55px;border-top:5px solid var(--accent);background:#f5f5f5}
.quality{min-height:55.013vw;background:var(--light)}
.quality .overlap-image{left:0}
.quality .panel{top:65px;margin-left:calc(50% - 60px);width:calc(46.6185vw - 55.9422px);padding-top:90px}
.quality h2{font-size:32px;line-height:46px;white-space:nowrap;hyphens:manual;overflow-wrap:normal}
.mobile-label{display:none}
.partner{background:var(--team)}
.projects{background:var(--white)}
.partner{padding:90px 0}
.partner-copy{padding-left:50px}
.partner-copy p{max-width:95%;margin-bottom:22.4px}
.partner-copy p:last-of-type{margin-bottom:31.4px}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:80px;margin:0 400px;padding-bottom:50px}
.project-gallery img{width:100%;border-radius:5px}
.testimonials{width:60%;margin:0 auto;padding-bottom:80px}
.testimonials blockquote{font-size:14px;font-weight:400;line-height:27px;text-align:center;margin:0 0 22.4px}
.testimonials blockquote:last-child{margin-bottom:0}
.contact{min-height:527px;padding:70px 0 100px;border-bottom:10px solid var(--accent);background:linear-gradient(90deg,rgba(244,244,244,.96) 0%,rgba(244,244,244,.9) 42%,rgba(244,244,244,.15) 100%),url('images/kontakt.jpg') center/cover no-repeat;color:#444}
.contact-inner{max-width:1120px;margin:auto}
.eyebrow{font-size:18px;line-height:27px;margin-bottom:50px}
.contact h2{margin-bottom:20px}
address{font-style:normal;font-size:14px;line-height:27px}
.mail{font-weight:700;color:var(--link)}
.site-footer{background:#dedede;font-size:14px;line-height:27px;padding:56px 0 32px}
.footer-columns{width:calc(100% - 80px);max-width:1120px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr 1.3fr 1.2fr;gap:40px;align-items:start}
.footer-columns>div{min-width:0}
.footer-columns p{margin:0}
.opening-hours{border-collapse:collapse;font:inherit;text-align:left}
.opening-hours caption{font-weight:700;text-align:left}
.opening-hours th,.opening-hours td{padding:0;vertical-align:top;white-space:nowrap}
.opening-hours th{padding-right:16px;font-weight:400}
.opening-hours td{font-variant-numeric:tabular-nums}
.footer-columns img{width:190px;max-width:100%}
.footer-credit{width:calc(100% - 80px);max-width:1120px;margin:32px auto 0;padding-top:24px;border-top:1px solid #c6c6c6;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.footer-credit p{margin:0}
.footer-credit a{color:var(--link)}
.footer-credit nav{display:flex;gap:24px;flex-shrink:0}
.footer-credit nav br{display:none}
.back-top{position:fixed;bottom:30px;right:30px;width:26px;height:26px;border-radius:3px;background:#707070;color:white;display:grid;place-items:center;z-index:3}
.back-top:hover{background:var(--accent);color:white}
.back-top span{width:8px;height:8px;border-left:1px solid currentColor;border-top:1px solid currentColor;transform:translateY(2px) rotate(45deg)}
.legal{margin-top:0;background:var(--light);padding:90px 0 20px}
.legal-inner{max-width:1166px;margin:auto}
.legal h1{margin-bottom:40px}
.legal-text{max-width:427px;font-size:14px;line-height:27px}
.legal-text h2{font-size:28px;line-height:1.3;text-transform:none;margin:0 0 20px}
#imprint .legal-text>h2{font-size:22px}
.legal-text h3{font-size:22px;line-height:1.3;font-weight:500;margin:0 0 20px}
.legal-text h4{font-size:18px;line-height:1.4;font-weight:500;margin:0 0 20px}
.legal-text p{margin:0 0 22.4px}
.legal-text ul{margin:0 0 22.4px;padding-left:28px}
.legal-text section+section{margin-top:0}
@media(min-width:1201px){
.panel{padding-right:0;padding-bottom:135.8px}
.quality .panel{padding-bottom:115.8px}
.panel h2{line-height:46px}
.panel .rule{width:12%;margin:39px 0 71px}
.feature-list{width:78.348%;max-width:none}
.feature-list li{position:relative;padding:32px 0 45.797px 19px;border-bottom:0}
.feature-list li:first-child{padding-top:0}
.feature-list li:last-child{padding-top:27px;padding-bottom:0}
.feature-list li:not(:last-child)::after{content:"";position:absolute;left:0;bottom:0;width:99.5558%;height:1px;background:#fff}
}
@media(min-width:1800px){.overlap{min-height:max(808px,50vw)}.quality{min-height:max(792px,50vw)}}
@media(max-width:1200px) and (min-width:769px){
.site-header{padding-left:35px;padding-right:35px;gap:25px}.site-header nav ul{gap:28px}.brand{width:170px}.header-contact{gap:20px;margin-left:0}
.hero-inner{margin:0 7%}.hero-card{max-width:65%}
.intro-inner,.detail-gallery,.team-inner,.partner-inner{width:calc(100% - 70px)}
.intro-copy p,.team-copy p{max-width:94%}
.split-copy{padding:70px 35px 40px}.split-copy p{max-width:100%}
.overlap{min-height:740px}.panel{width:49%;padding:70px 35px}.specialities .panel{margin-left:6%;top:50px}.quality .panel{width:49%;margin-left:45%;padding:70px 35px}.quality h2{white-space:normal;font-size:29px}
.service-grid{padding:0 35px;gap:25px}.service-card h3{font-size:28px}
.team-member,.partner{padding:70px 0}.partner-copy{padding-left:20px}
.project-gallery{margin:0 15%;gap:50px}
.contact-inner,.legal-inner{width:calc(100% - 80px)}
.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px}
}
@media(max-width:768px){
body{font-size:16px;line-height:26px}
h1,h2{font-size:25px;line-height:1.3}
.site-header{height:auto;min-height:146px;padding:24px 20px 20px;display:flex;flex-wrap:wrap;gap:22px 14px}
.brand{width:193px;margin-right:0}
.site-header>nav,.site-header>.shop-link,.header-contact{transform:none}
.site-header nav{width:100%;order:3}
.site-header nav ul{gap:20px;flex-wrap:wrap}
.site-header nav a{font-size:14px;font-weight:700;text-transform:none}
.shop-link{font-size:11px;padding:10px 12px;margin-left:auto}
.header-contact{display:none}
.hero,.legal-hero{min-height:500px;background-position:right center}
.hero-inner{padding:100px 20px 80px}
.hero-card{width:100%;padding:40px 20px 50px}
.hero-card h1{font-size:23px;line-height:1.3}
.hero-card p{width:100%;font-size:16px;line-height:28px}
.hero-card .rule{margin:30px 0}
.intro{padding-top:48px}
.intro-inner{display:block;padding:0 20px 10px}
.intro-copy{padding:0}
.intro-copy p{max-width:96.3%;margin-bottom:31.4px}
.intro-inner>img,.detail-gallery{display:none}
.rule{margin:40px 0 27px}
.split{display:block;margin-top:25px}
.split>img{width:100%}
.split-copy{padding:48px 35px 40px}
.split-copy h2{font-size:30px;line-height:46px}
.split-copy p{max-width:100%;line-height:26px}
.overlap{min-height:0;padding:0 20px 0;background:#fff}
.overlap-image{position:relative;z-index:0;display:block;width:calc(100% + 40px);max-width:none;margin-left:-20px;aspect-ratio:1;object-fit:cover}
.panel,.specialities .panel,.quality .panel{top:auto;width:100%;margin:-80px 0 0;position:relative;padding:40px 30px 50px}
.panel h2,.quality h2{font-size:25px;line-height:46px;white-space:normal}
.feature-list{max-width:100%}
.feature-list li{font-size:16px;line-height:27px;padding:23px 0}
.feature-list li:first-child{padding-top:5px}
.panel .rule{margin:35px 0 27px}
.section-heading{padding:50px 20px 40px}
.section-heading>p{font-size:16px;line-height:27px;margin-bottom:35px}
.section-heading h2{font-size:30px;line-height:1.45}
.section-heading .rule{margin:30px auto 0}
.service-grid{grid-template-columns:1fr;gap:50px;padding:0}
.service-card{min-height:250px}
.service-card h3{font-size:36px}
.team-member{padding:35px 20px 50px}
.team-inner,.partner-inner{display:flex;flex-direction:column;gap:40px;padding:0}
.team-copy,.team-photo{width:100%}
.team-copy p{font-size:16px;line-height:26px;max-width:100%;margin-bottom:31.4px}
.team-photo img{width:100%}
.team-divider{height:55px}
.quality{background:var(--light);padding-top:0}
.quality .overlap-image{display:block}
.desktop-label{display:none}.mobile-label{display:inline}
.quality .panel{margin-top:-80px}
.partner{padding:80px 20px 0}
.partner-inner{flex-direction:column-reverse}
.partner-copy{padding-left:0}
.partner-copy p{max-width:100%;font-size:16px;line-height:26px}
.project-gallery{margin:0 20px;grid-template-columns:1fr;gap:80px;padding-bottom:35px}
.testimonials{width:calc(100% - 60px);padding-bottom:48px}
.testimonials blockquote{font-size:16px;line-height:28px}
.contact{padding:70px 30px 100px;min-height:543px;background:linear-gradient(90deg,rgba(244,244,244,.65),rgba(244,244,244,.18)),url('images/kontakt.jpg') center/cover no-repeat}
.eyebrow{font-size:16px;margin-bottom:50px}
.contact h2{font-size:30px;line-height:39px}
address{font-size:16px;line-height:26px}
.site-footer{font-size:16px;line-height:26px;padding:40px 0 24px}
.footer-columns{width:calc(100% - 60px);grid-template-columns:1fr;gap:28px}
.footer-columns>div{padding:0}
.footer-columns>div:first-child{padding-top:0}
.footer-columns img{max-width:200px}
.footer-columns p{margin:0}
.footer-credit{width:calc(100% - 60px);margin:32px auto 0;padding-top:24px;flex-direction:column;gap:16px}
.footer-credit p{margin:0}
.footer-credit nav{gap:20px}
.back-top{bottom:20px;right:20px}
.legal{padding:0 20px 20px}
.legal-inner{width:auto}
.legal h1{padding-top:5px;margin-bottom:40px}
.legal-text{max-width:100%;font-size:16px;line-height:26px}
.legal-text h2{font-size:23px}.legal-text h3{font-size:20px}.legal-text h4{font-size:17px}
}
@media(max-width:359px){.brand{width:160px}.site-header{padding-left:16px;padding-right:16px}.site-header nav ul{gap:18px}.shop-link{font-size:10px;padding:9px}.panel{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.back-top,.legal-hero{display:none}.hero{background:none;min-height:0}.hero-inner{padding:0}.hero-card{color:#444;background:none}.legal{margin:0;padding:0}.legal-text{max-width:none}.site-footer{break-inside:avoid}}
