/* Content design only. Existing header/footer sizing and behavior are retained. */
body{background:#fff}
.wb-main{color:#333f48;background:white;font-family:Manrope,Arial,sans-serif;font-size:17px;line-height:1.8}
.wb-main *{box-sizing:border-box}
.wb-main h1,.wb-main h2,.wb-main h3{font-family:Manrope,Arial,sans-serif;text-transform:none;font-weight:400;letter-spacing:-.045em;line-height:1.15;color:inherit}
.wb-main h1{font-size:clamp(42px,5.2vw,72px);margin:0 0 30px}
.wb-main h2{font-size:clamp(30px,3.2vw,46px);margin:0 0 28px}
.wb-main h3{font-size:clamp(23px,2vw,28px);margin:0 0 18px;letter-spacing:-.025em}
.wb-main p{margin:0 0 22px;color:#5b6770;max-width:740px}
.wb-wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.wb-section{padding-block:112px}
.wb-main a:focus-visible,.wb-main summary:focus-visible,.wb-skip:focus-visible{outline:2px solid #e30613;outline-offset:7px}
.wb-skip{position:fixed;top:-100px;left:20px;z-index:999;background:white;color:#333f48;padding:12px 20px}
.wb-skip:focus{top:20px}
.wb-hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:760px;min-height: min(950px,100svh);padding:170px 24px 100px;color:white;text-align:center;background:#333f48}
.wb-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%;z-index:-2}
.wb-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,29,34,.64),rgba(18,29,34,.30) 65%,rgba(18,29,34,.35)),linear-gradient(180deg,rgba(18,29,34,.38),transparent 30%,rgba(18,29,34,.15))}
.wb-hero-copy{width:min(100%,947.22px)}
.wb-main .wb-hero h1{display:flex;flex-direction:column;justify-content:center;min-height:237.42px;font-size:clamp(40px,4.467vw,61.2px);line-height:1.18;margin:0 auto 24px;letter-spacing:-.035em}
.wb-hero-brand{display:block;color:#e30613}
.wb-main .wb-hero p{color:white;margin:0 auto 32px;font-size:clamp(21px,2.117vw,29px);line-height:1.5}
.wb-main .wb-hero .wb-hero-line{font-size:clamp(20px,2vw,27px);margin-bottom:24px;letter-spacing:.015em}
.wb-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:#e30613;color:white;padding:15px 26px;min-height:54px;font-size:15px;line-height:1.5;font-weight:700;text-decoration:none;transition:background .2s}
.wb-button:hover{background:#bb0711}
.wb-hero .wb-button{margin-top:10px}
.wb-hero-down{position:absolute;bottom:24px;font-size:30px;line-height:1.5;color:white}
.wb-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:64px;margin-bottom:54px}
.wb-heading h2{margin:0;flex:1}
.wb-heading>p{max-width:440px;flex:1;margin:0}
.wb-link{display:inline-flex;gap:20px;align-items:center;font-size:16px;line-height:1.6;border-bottom:1px solid #ccd1d4;padding-bottom:5px}
.wb-link span{color:#e30613}
.wb-link:hover{color:#e30613;border-color:#e30613}
.wb-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 42px}
.wb-services>a{border-top:1px solid #cbd1d4;padding-top:30px;display:flex;flex-direction:column;align-items:flex-start}
.wb-services>a h3{font-size:29px}
.wb-services>a:hover h3{color:#e30613}
.wb-services p{font-size:16px;line-height:1.85}
.wb-services .wb-link{margin-top:auto;border-bottom:0;font-size:14px}
.wb-section-end{margin-top:42px}
.wb-band{background:#f7f4ef}
.wb-band>.wb-two:not(.wb-section){padding-block:96px}
.wb-feature{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:80px}
.wb-feature>div>img{width:100%;height:480px;object-fit:cover}
.wb-feature .wb-button{margin-top:12px}
.wb-two{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.wb-two h2{margin:0}
.wb-two p:last-child{margin-bottom:0}
.wb-project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:36px}
.wb-main figure{margin:0}
.wb-project-grid img{width:100%;height:400px;object-fit:cover}
.wb-project-grid figcaption{display:flex;justify-content:space-between;padding-top:18px;font-size:19px}
.wb-project-grid figcaption span{color:#e30613}
.wb-management{background:#333f48;color:white;padding-block:94px}
.wb-management p{color:#e6e6e6}
.wb-management .wb-link{color:white}
.wb-management .wb-link span{color:white}
.wb-points{display:grid;grid-template-columns:1fr 1fr;gap:44px 72px;margin-top:44px}
.wb-points article{border-top:1px solid #dce0e2;padding-top:28px}
.wb-points p{font-size:16px;margin-bottom:0}
.wb-three{grid-template-columns:repeat(3,1fr);gap:40px}
.wb-faq{max-width:900px}
.wb-faq h2{margin-bottom:42px}
.wb-faq details{border-bottom:1px solid #dce0e2}
.wb-faq summary{padding:23px 36px 23px 0;position:relative;cursor:pointer;font-size:19px;line-height:1.6;list-style:none}
.wb-faq summary::-webkit-details-marker{display:none}
.wb-faq summary:after{content:"+";position:absolute;right:0;color:#e30613;font-size:26px;top:16px}
.wb-faq details[open] summary:after{content:"−"}
.wb-faq details p{padding:0 34px 12px 0;font-size:16px}
.wb-cta{padding:96px 0;background:#f7f4ef;text-align:center}
.wb-cta p{margin:0 auto 32px}
.wb-page-intro{padding-top:64px;padding-bottom:70px}
.wb-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;line-height:1.6;color:#65727b;margin-bottom:44px}
.wb-breadcrumb>a:hover{color:#e30613}
.wb-page-intro>p{font-size:20px;max-width:750px;margin-bottom:0}
.wb-start{padding-top:0}
.wb-related{padding-bottom:96px}
.wb-related h2{font-size:26px}
.wb-related>a{margin-right:32px;margin-bottom:16px}
.wb-project-story{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:center;padding-bottom:90px;margin-bottom:70px;border-bottom:1px solid #dce0e2;scroll-margin-top:110px}
.wb-project-story:last-child{margin-bottom:0}
.wb-project-story>img{width:100%;height:430px;object-fit:cover}
.wb-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wb-image-pair img{height:400px;width:100%;object-fit:cover}
.wb-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.wb-call{display:inline-block;font-size:clamp(23px,3vw,38px);color:#e30613;margin:12px 0 28px;letter-spacing:-.03em}
.wb-contact-notes{padding:36px;background:#f7f4ef}
.wb-contact-notes h2{font-size:29px}
.wb-contact-notes ul{padding-left:20px;margin:0 0 24px}
.wb-contact-notes li{padding:6px 0}
.wb-notice{padding:24px;border-left:3px solid #e30613;background:#f7f4ef;margin:20px 0 36px}
.wb-legal{max-width:850px;padding-bottom:100px}
.wb-legal h2{font-size:25px;margin-top:38px}
#leistungen{scroll-margin-top:78px}
.wb-home-services .wb-heading{align-items:center;margin-bottom:48px}
.wb-home-services .wb-heading h2{margin-bottom:0}
.wb-home-services .wb-heading p{max-width:460px;margin-bottom:0}
.wb-home-services .wb-services{gap:32px}
.wb-home-services .wb-services>a{border:0;padding-top:0;text-decoration:none;color:inherit}
.wb-service-photo{width:100%;aspect-ratio:4/3;overflow:hidden;margin-bottom:26px;background:#f7f4ef}
.wb-site-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wb-site-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.wb-site-gallery img:first-child{grid-column:1/-1}
.wb-service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.wb-home-services .wb-services>a:hover img{transform:scale(1.025)}
.wb-home-services .wb-services>a h3{font-size:clamp(25px,2.1vw,29px);margin-bottom:14px}
.wb-home-services .wb-services p{line-height:1.75;margin-bottom:24px}
.wb-home-services .wb-section-end{text-align:center;margin-top:48px}
@media(max-width:720px){.wb-home-services .wb-heading p{margin-top:22px}.wb-home-services .wb-services{gap:44px}.wb-service-photo{aspect-ratio:3/2;margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.wb-service-photo img{transition:none}.wb-home-services .wb-services>a:hover img{transform:none}}
@media(min-width:1500px){.wb-hero{min-height:850px}}
@media(max-width:1000px){.wb-wrap{width:calc(100% - 64px)}.wb-feature,.wb-two,.wb-project-story{gap:40px}.wb-services{gap:30px}.wb-services>a h3{font-size:25px}.wb-feature>div>img{height:410px}.wb-heading{gap:38px}.wb-contact-grid{gap:40px}.wb-project-grid img{height:340px}}
@media(max-width:720px){
.wb-wrap{width:calc(100% - 40px)}
.wb-section{padding-block:68px}
.wb-hero{min-height:720px;min-height:100svh;padding:140px 24px 80px}
.wb-hero>img{object-position:42% center}
.wb-main .wb-hero h1{font-size:clamp(34px,7vw,48px);min-height:0;margin-bottom:32px}
.wb-main .wb-hero p{font-size:clamp(20px,3.5vw,25px)}
.wb-main .wb-hero .wb-hero-line{font-size:clamp(18px,3.2vw,23px);margin-bottom:22px}
.wb-heading{display:block;margin-bottom:34px}
.wb-heading>p,.wb-heading>.wb-link{margin-top:24px}
.wb-services,.wb-points,.wb-three,.wb-two,.wb-feature,.wb-project-grid,.wb-project-story,.wb-contact-grid{grid-template-columns:1fr;gap:32px}
.wb-services>a{padding-top:24px}
.wb-services>a h3{font-size:28px}
.wb-services p{max-width:100%}
.wb-feature>div>img{height:330px}
.wb-feature:not(.wb-section){padding-bottom:0}
.wb-management,.wb-cta{padding-block:68px}
.wb-band>.wb-two:not(.wb-section){padding-block:68px}
.wb-project-grid img{height:330px}
.wb-page-intro{padding-top:36px;padding-bottom:46px}
.wb-breadcrumb{margin-bottom:30px;font-size:12px}
.wb-page-intro>p{font-size:18px}
.wb-start{padding-top:0}
.wb-project-story{padding-bottom:44px;margin-bottom:44px}
.wb-project-story>img{height:330px}
.wb-image-pair img{height:260px}
.wb-related{padding-bottom:52px}
.wb-contact-notes{padding:26px}
.wb-faq summary{font-size:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wb-main *{transition:none!important}}
/* Keep the existing header geometry; repair contrast and keyboard access on mobile. */
@media(max-width:1100px){
 body.home-page .site-header:not(.header-compact) .hamburger span{background:#fff}
 body.home-page .site-header .main-nav>a,body.home-page .site-header .main-nav .nav-service>a{color:#333f48!important}
 .nav-toggle{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .nav-toggle:focus-visible + .hamburger{outline:2px solid #e30613;outline-offset:4px}
 .hamburger{width:44px;height:44px;border:0;cursor:pointer}
 .hamburger span{width:24px;transition:transform .2s ease,opacity .2s ease}
 .nav-toggle:checked + .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .nav-toggle:checked + .hamburger span:nth-child(2){opacity:0}
 .nav-toggle:checked + .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .site-header .main-nav{max-height:calc(100svh - 82px);overflow-y:auto;padding:24px 32px}
 .site-header .main-nav>a,.site-header .main-nav .nav-service>a{min-height:44px;display:flex;align-items:center;font-size:20px!important}
}
footer .footer-inner nav{display:flex;flex-wrap:wrap;gap:16px 24px}
@media(max-width:720px){footer .footer-inner{flex-direction:column;align-items:flex-start;gap:28px}footer .footer-inner nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}
