:root{--cream:#f3ede2;--ink:#20231f;--green:#2d673d;--green-dark:#1d492c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f5ef;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.header{height:104px;display:flex;align-items:center;gap:38px;padding:12px max(5vw,32px);position:relative;z-index:10}.brand img{width:220px;height:auto}.header nav{display:flex;gap:32px;margin-left:auto;font-size:15px}.header nav a{padding:12px 0;border-bottom:2px solid transparent}.header nav a:hover{border-color:var(--green)}.phone{padding:12px 18px;border:1px solid #bcb9af;font-weight:700}.hero{height:620px;position:relative;display:flex;align-items:center;overflow:hidden}.hero>img{object-fit:cover}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,24,17,.88),rgba(15,24,17,.56) 55%,rgba(15,24,17,.08))}.heroContent{position:relative;z-index:2;color:#fff;width:min(680px,90%);margin-left:max(8vw,40px)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:700;color:#d6b36f;margin:0 0 18px}.green{color:var(--green)}h1{font:400 clamp(42px,5.2vw,72px)/1.02 Georgia,serif;margin:0 0 25px}.heroContent>p:not(.eyebrow):not(.region){font-size:20px;line-height:1.55}.actions{display:flex;gap:12px;margin:32px 0 18px}.button{padding:16px 22px;font-size:15px;font-weight:700}.primary{background:var(--green)}.secondary{border:1px solid rgba(255,255,255,.75)}.region{font-size:13px;color:#ddd}.intro{padding:100px max(6vw,32px);max-width:1440px;margin:auto}.intro>h2,.about h2,.contact h2{font:400 clamp(34px,4vw,54px)/1.12 Georgia,serif;margin:0 0 22px}.intro>h2{max-width:780px}.lead{font-size:18px;line-height:1.7;max-width:760px;color:#5d625c}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:55px}.service{background:#fff;box-shadow:0 10px 32px rgba(32,35,31,.07);transition:.2s}.service:hover{transform:translateY(-4px)}.serviceImage{height:245px;position:relative;overflow:hidden}.serviceImage img{object-fit:cover}.serviceText{padding:25px}.service h3{font:400 24px/1.2 Georgia,serif;margin:0 0 12px}.service p{line-height:1.55;color:#676b66;min-height:50px}.service span{display:block;margin-top:22px;color:var(--green);font-weight:700;font-size:14px}.about{background:var(--green-dark);color:white;padding:90px max(9vw,40px);display:grid;grid-template-columns:280px minmax(300px,700px);justify-content:center;gap:90px;align-items:center}.aboutMark{width:250px;height:250px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.aboutMark span{font:400 78px Georgia,serif;color:#d6b36f}.aboutMark small{text-transform:uppercase;letter-spacing:.13em}.about p:not(.eyebrow){line-height:1.75;color:#d8dfd9;font-size:17px}.about ul{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0;list-style:none;margin-top:28px}.about li{border-top:1px solid rgba(255,255,255,.3);padding-top:12px;font-size:14px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:100px max(8vw,40px);max-width:1440px;margin:auto}.contact>div>p:not(.eyebrow){font-size:18px;line-height:1.6;color:#666}.contactDetails{display:flex;flex-direction:column;gap:12px;margin-top:34px}.contactDetails a{font-weight:700;color:var(--green)}form{background:#fff;padding:34px;box-shadow:0 10px 35px rgba(32,35,31,.08)}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;margin-bottom:17px}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,textarea,select{width:100%;border:1px solid #cbc9c1;background:#fbfaf7;padding:13px;font:inherit}form button{background:var(--green);color:white;border:0;padding:15px 21px;font-weight:700}form small{display:block;margin-top:12px;color:#777}footer{border-top:1px solid #d8d3c8;display:flex;align-items:center;gap:30px;padding:30px max(6vw,32px);font-size:13px}footer img{width:155px;height:auto}footer p{margin-left:auto}footer div{display:flex;gap:18px}
@media(max-width:850px){.header{height:82px;padding:10px 20px}.brand img{width:170px}.header nav{display:none}.phone{margin-left:auto;font-size:13px}.hero{height:590px}.heroContent{margin-left:24px}.actions{flex-direction:column;align-items:flex-start}.serviceGrid{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr;gap:40px}.aboutMark{width:180px;height:180px}.contact{grid-template-columns:1fr}.about ul,.formRow{grid-template-columns:1fr}footer{flex-wrap:wrap}footer p{margin-left:0}}@media(max-width:560px){.phone{padding:10px;font-size:0}.phone:after{content:"Anrufen";font-size:13px}.hero{height:620px}.heroShade{background:rgba(15,24,17,.68)}.heroContent{width:calc(100% - 48px)}.serviceGrid{grid-template-columns:1fr}.intro,.contact{padding:75px 22px}.about{padding:75px 24px}.serviceImage{height:220px}footer div{width:100%}}
.projects{padding:0 max(6vw,32px) 100px;max-width:1440px;margin:auto}.projectsIntro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:60px;align-items:end;margin-bottom:38px}.projectsIntro h2{font:400 clamp(34px,4vw,54px)/1.12 Georgia,serif;margin:0}.projectsIntro>p{font-size:17px;line-height:1.7;color:#626760;margin:0}.projectSlider{outline:none}.projectSlider:focus-visible .projectFrame{box-shadow:0 0 0 3px #d6b36f}.projectFrame{height:min(68vw,720px);min-height:420px;position:relative;overflow:hidden;background:var(--green-dark);box-shadow:0 18px 45px rgba(32,35,31,.13)}.projectFrame img{width:100%;height:100%;object-fit:contain;display:block}.sliderArrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(17,28,21,.66);color:white;font:300 42px/42px Georgia,serif;cursor:pointer;transition:.2s}.sliderArrow:hover{background:var(--green)}.sliderPrev{left:22px}.sliderNext{right:22px}.sliderMeta{display:flex;justify-content:space-between;align-items:center;padding:18px 2px 12px}.sliderMeta p{font:400 22px/1.3 Georgia,serif;margin:0}.sliderMeta span{font-size:13px;letter-spacing:.12em;color:#656a64}.sliderDots{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.sliderDots button{width:25px;height:3px;padding:0;border:0;background:#c8c4ba;cursor:pointer}.sliderDots button.active{background:var(--green)}
@media(max-width:850px){.projectsIntro{grid-template-columns:1fr;gap:18px}.projectFrame{height:min(72vw,600px);min-height:380px}}
@media(max-width:560px){.projects{padding:0 22px 75px}.projectFrame{height:68vh;min-height:430px;max-height:620px}.sliderArrow{width:44px;height:44px;font-size:34px}.sliderPrev{left:12px}.sliderNext{right:12px}.sliderMeta p{font-size:19px}.sliderDots{gap:5px}.sliderDots button{width:14px}}
.serviceImage.serviceImageContain{background:#e6e0d5}.serviceImage.serviceImageContain img{object-fit:contain;object-position:center}

.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.serviceImage img{width:100%;height:100%;object-fit:cover}.formPrivacy{font-size:12px;line-height:1.45;color:#666;margin:0 0 17px}.formPrivacy a{color:var(--green);text-decoration:underline}.formMessage{display:none;padding:12px 14px;margin-bottom:16px;background:#edf5ef;border-left:4px solid var(--green)}
.legalPage{min-height:100vh;background:#f8f5ef}.legalHero{min-height:320px;background:var(--green-dark);color:#fff;display:flex;align-items:center;padding:60px max(9vw,40px)}.legalHero>div{width:min(1040px,100%);margin:auto}.legalHero h1{margin-bottom:24px}.legalHero a{display:inline-block;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:4px;font-size:14px}.legalContent{width:min(980px,calc(100% - 48px));margin:0 auto;padding:80px 0 100px}.legalContent>.legalIntro{font:400 22px/1.6 Georgia,serif;color:#4e554f;margin:0 0 50px;max-width:800px}.legalContent section{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(320px,1fr);column-gap:60px;padding:34px 0;border-top:1px solid #d8d3c8}.legalContent h2{font:400 25px/1.3 Georgia,serif;margin:0}.legalContent section>p,.legalContent section>div{grid-column:2;margin:0;line-height:1.75;color:#555b56}.legalContent section>p{margin-bottom:16px}.legalContent section>p:last-child,.legalContent section>div>p:last-child{margin-bottom:0}.legalContent a{color:var(--green);text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.legalHero{min-height:270px;padding:50px 24px}.legalContent{width:calc(100% - 44px);padding:60px 0 80px}.legalContent section{grid-template-columns:1fr;gap:14px}.legalContent section>p,.legalContent section>div{grid-column:1}.legalNav{height:82px}}
