@font-face{font-family:Archivo;src:url("/fonts/archivo-latin.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Poppins;src:url("/fonts/poppins-300-latin.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Poppins;src:url("/fonts/poppins-400-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url("/fonts/poppins-500-latin.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url("/fonts/poppins-600-latin.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url("/fonts/poppins-400-italic-latin.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}

:root{--blue:#4d6ca6;--blue-dark:#3e5c94;--blue-soft:#9eb2d4;--ink:#3e3d40;--muted:#707072;--paper:#fbfbfb;--line:#d6dce7;--header-height:79px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);background:#fff}.privacy-modal-open{overflow:hidden}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Poppins,Arial,sans-serif;font-size:16px;font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}img,svg{display:block}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:3px solid #f1b24a;outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#top{position:absolute;top:0}

.site-header{position:sticky;top:0;z-index:50;height:var(--header-height);border-bottom:2px solid var(--blue);background:rgba(255,255,255,.98);box-shadow:0 1px 9px rgba(27,41,68,.06);backdrop-filter:blur(10px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:5px clamp(32px,4.1vw,66px) 4px}.brand{display:flex;align-items:center;width:136px;height:66px}.brand img{width:136px;height:auto}.primary-nav{display:flex;align-items:center;gap:clamp(28px,3.1vw,48px);color:#314b78;font-size:16px;font-weight:400}.primary-nav a{position:relative;transition:color 160ms ease}.primary-nav a:not(.nav-contact)::after{position:absolute;right:0;bottom:-7px;left:0;height:2px;content:"";background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform 180ms ease}.primary-nav a:hover::after,.primary-nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}.nav-contact{min-width:99px;padding:12px 20px;border-radius:5px;background:var(--blue);color:#fff;font-weight:500;text-align:center;transition:background 160ms ease,transform 160ms ease}.nav-contact:hover{background:var(--blue-dark);transform:translateY(-1px)}.menu-toggle{display:none;border:0;background:transparent;color:var(--blue);cursor:pointer}

.hero{display:grid;grid-template-columns:minmax(410px,35.3%) 1fr;min-height:508px;background:var(--blue);color:#fff}.hero-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px clamp(34px,3.45vw,54px) 36px}.hero-eyebrow{margin:0 0 19px;font-size:19px;font-style:italic;font-weight:400;text-align:center}.hero h1{margin:0 0 42px;font-family:Archivo,Arial,sans-serif;font-size:clamp(44px,3.7vw,57px);font-weight:900;letter-spacing:.01em;line-height:1.35;text-align:center;text-transform:uppercase}.hero-copy>p:last-child{max-width:430px;margin:0 auto;font-size:clamp(17px,1.47vw,21px);font-weight:300;line-height:1.43;text-wrap:pretty}.hero-carousel{position:relative;min-height:508px;overflow:hidden;background:#cbd4e2}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.015);transition:opacity 700ms ease,transform 6.5s ease}.hero-image.is-active{opacity:1;transform:scale(1)}.carousel-button{position:absolute;top:50%;z-index:3;display:grid;width:51px;height:72px;padding:0;border:0;background:rgba(24,36,55,.08);color:#fff;cursor:pointer;place-items:center;transform:translateY(-50%);transition:background 160ms ease}.carousel-button:hover{background:rgba(24,36,55,.34)}.carousel-button.previous{left:0}.carousel-button.next{right:0}.carousel-dots{position:absolute;right:0;bottom:16px;left:0;z-index:3;display:flex;justify-content:center;gap:9px}.carousel-dots button{width:9px;height:9px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}.carousel-dots button.is-active{background:#fff}

.services-section{position:relative;background:var(--paper);padding:104px clamp(38px,5vw,78px) 150px}.services-section::after{position:absolute;right:clamp(38px,8vw,126px);bottom:0;left:clamp(38px,8vw,126px);height:1px;content:"";background:linear-gradient(90deg,transparent,#cad3e2 14%,#cad3e2 86%,transparent)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(45px,7.5vw,118px);max-width:1250px;margin:0 auto}.service-card{color:#6c6c6d;text-align:justify;cursor:default}.service-icon{display:flex;min-height:95px;align-items:center;justify-content:center;margin-bottom:22px;color:var(--blue);transform:translateY(40px);transition:transform 800ms ease-in-out}.service-card h3{margin:0 0 31px;color:var(--blue);font-size:clamp(21px,1.8vw,25px);font-weight:400;line-height:1.4;text-align:center;transform:translateY(40px);transition:color 240ms ease,transform 800ms ease-in-out}.service-card p{margin:0;font-size:16px;line-height:1.55;hyphens:auto;transform:translateY(30px);transition:transform 800ms ease-in-out}.service-card:hover .service-icon,.service-card:hover h3,.service-card:hover p,.service-card:focus-visible .service-icon,.service-card:focus-visible h3,.service-card:focus-visible p{transform:translateY(0)}.service-card:hover h3,.service-card:focus-visible h3{color:var(--blue-dark)}

.about-section{position:relative;background:linear-gradient(180deg,#f4f6f9 0,#f9f9f9 74px);padding:150px clamp(42px,3.1vw,52px) 145px}.about-section::before{position:absolute;top:0;left:50%;width:96px;height:3px;content:"";background:var(--blue);transform:translateX(-50%)}.about-top{display:grid;grid-template-columns:minmax(600px,1.55fr) minmax(360px,1fr);gap:clamp(70px,8vw,130px);max-width:1268px;margin:0 auto;align-items:center}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px}.team-card{position:relative;align-self:end;padding-top:8px}.team-photo{position:relative;z-index:1;width:min(100%,255px);height:300px;margin:0 auto -18px;overflow:hidden}.team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;transition:opacity 320ms ease,transform 320ms ease}.team-photo-hover{opacity:0;object-fit:cover!important;object-position:center 14%!important;transform:scale(1.02)}.team-card:hover .team-photo-hover,.team-card:focus-within .team-photo-hover{opacity:1;transform:scale(1)}.team-card:hover .team-photo-main,.team-card:focus-within .team-photo-main{opacity:0}.team-details{position:relative;z-index:2;min-height:223px;padding:26px 19px 20px;background:#fff;box-shadow:0 8px 24px rgba(42,53,70,.03);text-align:center}.team-details h3{margin:0 0 4px;color:#464648;font-size:16px;font-weight:400;line-height:1.45}.team-details sup{font-size:10px}.team-details p{margin:0 0 18px;color:#a2a2a4;font-size:16px}.team-details a{display:flex;min-height:48px;align-items:center;margin-top:10px;padding:7px 9px;border:1px solid var(--line);border-radius:14px;color:#446292;font-size:11px;text-align:left;transition:border-color 160ms ease,background 160ms ease}.team-details a:hover{border-color:#aebcce;background:#f7f9fc}.contact-icon{display:grid;width:30px;height:30px;flex:0 0 30px;margin-right:6px;border-radius:50%;background:#f1f5fb;place-items:center}.about-copy{max-width:420px}.about-copy h2{margin:0 0 37px;color:var(--blue);font-family:Archivo,Arial,sans-serif;font-size:clamp(46px,4vw,58px);font-weight:900;line-height:1.1;text-transform:uppercase}.about-copy p{margin:0;color:#69696b;font-size:16px;line-height:1.5;text-align:justify;hyphens:auto}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(80px,8.5vw,135px);max-width:1268px;margin:128px auto 0}.values-grid h3{margin:0 0 31px;color:var(--blue);font-size:24px;font-weight:400}.values-grid p{margin:0;color:#68686a;font-size:16px;line-height:1.55;text-align:justify;hyphens:auto}

.projects-section{background:var(--ink);color:#fff;padding:108px 32px 126px}.projects-inner{max-width:1040px;margin:0 auto;text-align:center}.projects-section h2{margin:0 0 32px;font-family:Archivo,Arial,sans-serif;font-size:clamp(42px,4.1vw,58px);font-weight:900;line-height:1.15;letter-spacing:.015em;text-transform:uppercase}.projects-section .projects-inner>p{max-width:1000px;margin:0 auto;font-size:16px;line-height:1.5}.project-types{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;max-width:900px;margin:51px auto 0}.project-type{position:relative;display:grid;aspect-ratio:1/1.04;overflow:hidden;padding:20px;background:#e0e0e0;color:var(--ink);font-size:20px;font-style:italic;font-weight:400;line-height:1.2;place-items:center;transition:color 230ms ease,transform 230ms ease,box-shadow 230ms ease}.project-type::before{position:absolute;inset:0;content:"";background:linear-gradient(rgba(41,55,80,.72),rgba(41,55,80,.72)),url("/images/projekte-bau.webp") center/cover;opacity:0;transform:scale(1.03);transition:opacity 230ms ease,transform 400ms ease}.project-type-4::before{background-image:linear-gradient(rgba(41,55,80,.72),rgba(41,55,80,.72)),url("/images/projekt-4.webp")}.project-type span{position:relative;z-index:1}.project-type:hover{color:#fff;transform:translateY(-5px);box-shadow:0 14px 26px rgba(0,0,0,.22)}.project-type:hover::before{opacity:1;transform:scale(1)}

.site-footer{position:relative;min-height:390px;background:#707070 url("/images/footer-beton.webp") center/cover no-repeat;color:#fff}.footer-overlay{min-height:390px;padding:56px clamp(30px,7vw,110px) 30px;background:rgba(55,56,60,.26)}.footer-grid{position:relative;display:grid;grid-template-columns:1.1fr 1.35fr .65fr auto;gap:clamp(40px,7vw,100px);max-width:1030px;margin:0 auto;align-items:center}.footer-brand{text-align:center}.footer-brand img{width:210px;max-width:100%;height:auto;margin:0 auto 2px;filter:brightness(0) invert(1) opacity(.8)}.footer-brand strong{font-size:14px;font-weight:400}.footer-contact{display:flex;flex-direction:column;gap:10px;margin:0;font-style:normal}.footer-contact a{display:flex;align-items:center;gap:13px;font-size:16px;line-height:1.3;transition:color 160ms ease}.footer-contact a:hover{color:#d7e4fb}.footer-medal{width:117px;height:117px;object-fit:contain;background:rgba(255,255,255,.84)}.back-to-top{display:grid;width:42px;height:42px;border:1px solid rgba(255,255,255,.6);border-radius:50%;place-items:center}.footer-bottom{max-width:1120px;margin:45px auto 0;padding-top:23px;border-top:2px solid rgba(77,108,166,.65);text-align:center}.footer-bottom nav{display:flex;justify-content:center;gap:12px;font-size:13px}.footer-bottom p{margin:27px 0 0;font-size:13px;text-transform:uppercase}.floating-contact{position:fixed;right:16px;bottom:28%;z-index:40;display:flex;flex-direction:column;gap:7px}.floating-contact a{display:grid;width:47px;height:47px;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 7px 18px rgba(30,47,78,.18);place-items:center;transition:background 160ms ease,transform 160ms ease}.floating-contact a:hover{background:var(--blue-dark);transform:translateX(-3px)}

.footer-bottom nav{flex-wrap:wrap}.footer-bottom nav button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.footer-bottom nav a:hover,.footer-bottom nav button:hover{text-decoration:underline;text-underline-offset:3px}

.privacy-backdrop[hidden]{display:none}.privacy-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:24px;background:rgba(28,37,53,.38);backdrop-filter:blur(3px)}.privacy-dialog{width:min(100%,760px);max-height:calc(100dvh - 48px);overflow-y:auto;padding:31px 34px 25px;border-top:4px solid var(--blue);border-radius:8px;background:#fff;box-shadow:0 20px 70px rgba(20,32,52,.28);color:var(--ink)}.privacy-eyebrow{margin:0 0 5px;color:var(--blue);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.privacy-dialog h2{margin:0 0 13px;color:var(--blue-dark);font-family:Archivo,Arial,sans-serif;font-size:clamp(27px,3vw,36px);line-height:1.15}.privacy-dialog>p:not(.privacy-eyebrow):not(.privacy-links){margin:0;color:#5c5d60;font-size:15px;line-height:1.6}.privacy-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.privacy-button{flex:1 1 0;min-height:48px;padding:11px 18px;border:1px solid var(--blue);border-radius:5px;background:var(--blue);color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:background 160ms ease,transform 160ms ease}.privacy-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.privacy-button:focus-visible{outline:3px solid rgba(30,93,171,.28);outline-offset:3px}.privacy-links{display:flex;justify-content:flex-end;gap:9px;margin:17px 0 0!important;color:#64708a;font-size:12px}.privacy-links a{text-decoration:underline;text-underline-offset:3px}

.legal-hero{display:grid;min-height:255px;padding:50px 30px;background:var(--blue);color:#fff;place-items:center;text-align:center}.legal-hero h1{max-width:950px;margin:0;font-family:Archivo,Arial,sans-serif;font-size:clamp(39px,5vw,66px);font-weight:900;line-height:1.12;text-transform:uppercase}.legal-content{max-width:940px;margin:0 auto;padding:82px 28px 110px}.legal-content h2{margin:65px 0 18px;color:var(--blue);font-family:Archivo,Arial,sans-serif;font-size:clamp(35px,4vw,50px);line-height:1.15}.legal-content>section:first-child h2{margin-top:0}.legal-content h3{margin:38px 0 12px;color:var(--blue-dark);font-size:23px;font-weight:500;line-height:1.35}.legal-content h4{margin:29px 0 10px;color:#4f5f7a;font-size:18px;font-weight:500}.legal-content p,.legal-content li{color:#5f6062;font-size:16px;line-height:1.7}.legal-content address{font-style:normal}.legal-content a{color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px}.legal-content ul{padding-left:23px}.legal-note{padding:18px 22px;border-left:4px solid var(--blue);background:#eef2f8}

@media(max-width:1100px){.hero{grid-template-columns:42% 58%}.hero-copy{padding-right:34px;padding-left:34px}.services-grid{gap:45px}.about-top{grid-template-columns:1fr;gap:80px}.team-grid{max-width:680px;margin:0 auto}.about-copy{max-width:760px;margin:0 auto;text-align:center}.values-grid{gap:55px}.project-types{gap:25px}}
@media(max-width:850px){:root{--header-height:72px}.site-header{height:var(--header-height)}.header-inner{padding:4px 22px}.brand,.brand img{width:116px}.menu-toggle{display:grid;padding:8px;place-items:center}.primary-nav{position:absolute;top:calc(100% + 2px);right:0;left:0;display:none;flex-direction:column;gap:0;padding:12px 22px 22px;background:#fff;box-shadow:0 12px 24px rgba(22,39,67,.13)}.primary-nav.is-open{display:flex}.primary-nav a{width:100%;padding:13px 10px;text-align:center}.nav-contact{margin-top:8px}.hero{grid-template-columns:1fr}.hero-copy{min-height:470px;padding:54px 28px 60px}.hero-eyebrow{margin-bottom:12px}.hero h1{margin-bottom:30px;font-size:clamp(42px,9vw,60px)}.hero-copy>p:last-child{max-width:640px;font-size:18px;text-align:center}.hero-carousel{min-height:min(62vw,510px)}.services-section{padding:82px 42px 100px}.services-grid{grid-template-columns:1fr;gap:76px;max-width:600px}.service-card{text-align:left}.about-section{padding:100px 35px 110px}.values-grid{grid-template-columns:1fr;gap:65px;max-width:650px}.values-grid h3{margin-bottom:16px}.project-types{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}.footer-grid{grid-template-columns:1fr 1.1fr auto}.back-to-top{position:absolute;top:-25px;right:0}}
@media(max-width:620px){.hero-copy{min-height:auto;padding:45px 24px 49px}.hero-eyebrow{font-size:16px}.hero h1{margin-bottom:25px;font-size:clamp(36px,11vw,48px);line-height:1.23}.hero-copy>p:last-child{font-size:16px;line-height:1.55;text-align:left}.hero-carousel{min-height:66vw}.services-section{padding:72px 25px 86px}.service-card p{font-size:15px}.about-section{padding:82px 22px 90px}.team-grid{grid-template-columns:1fr;gap:70px;max-width:330px}.team-photo{height:320px}.about-copy h2{font-size:43px}.about-copy p,.values-grid p{text-align:left}.values-grid{margin-top:90px}.projects-section{padding:82px 22px 88px}.projects-section h2{font-size:38px}.projects-section .projects-inner>p{font-size:15px;text-align:left}.project-types{gap:17px}.project-type{padding:12px;font-size:clamp(14px,4.4vw,18px)}.footer-overlay{padding:55px 24px 29px}.footer-grid{grid-template-columns:1fr;gap:35px;text-align:center}.footer-brand img{width:180px}.footer-contact{align-items:center}.footer-contact a{width:min(100%,300px);font-size:14px}.footer-medal{margin:0 auto}.back-to-top{top:-28px}.floating-contact{right:10px;bottom:20px}.floating-contact a{width:43px;height:43px}}
@media(max-width:620px){.privacy-backdrop{padding:12px}.privacy-dialog{max-height:calc(100dvh - 24px);padding:25px 20px 20px}.privacy-actions{flex-direction:column}.privacy-button{width:100%}.privacy-links{justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-icon,.service-card h3,.service-card p{transform:none}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
