@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#232729;--red:#2452a1;--muted:#656b6e;--paper:#fff;--line:#dfe2e3;--surface:#f1f3f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}p+p{margin-top:1.1em}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;line-height:1.02;letter-spacing:-.02em}h1{font-size:clamp(3.7rem,7.5vw,8rem)}h2{font-size:clamp(2.6rem,4.3vw,4.8rem)}h3{font-size:2rem}p{color:var(--muted)}header{height:98px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{width:280px;line-height:0}.brand img{object-fit:contain;height:auto}nav{display:flex;gap:20px;align-items:center;font-size:14px;font-weight:700}nav a:hover,.underlink:hover{color:var(--red)}nav .nav-cta{background:var(--ink);color:white;padding:14px 20px}.menu{display:none}.skip{position:absolute;top:-80px;z-index:99;background:white;padding:12px}.skip:focus{top:0}.hero{position:relative;background:#212729;min-height:690px;height:calc(100svh - 98px);max-height:940px;overflow:hidden;color:white;display:flex;align-items:center}.hero-photo{position:absolute;inset:0 0 0 27%}.hero-photo img{height:100%;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#202629 3%,#202629eb 24%,#20262969 53%,#20262908 83%),linear-gradient(0deg,#20262980,transparent 35%)}.hero-content{position:relative;z-index:2;padding:40px 0 100px 7%;width:65%}.eyebrow{display:block;color:var(--red);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;margin-bottom:24px}.hero .eyebrow{color:#fff;border-left:3px solid var(--red);padding-left:14px;font-size:12px}.hero h1{font-size:clamp(5rem,8vw,9rem);margin-bottom:26px;line-height:.98}.hero h1>span{color:var(--red)}.hero p{color:#e0e5e7;font-size:18px;line-height:1.7;max-width:490px}.actions{display:flex;gap:30px;align-items:center;margin-top:36px}.button{display:inline-block;background:var(--red);color:white;padding:16px 24px;font-size:14px;font-weight:800;border:1px solid transparent;transition:background .2s}.button:hover{background:#183e7b}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid #ffffff80;padding:7px 0}.hero-note{position:absolute;z-index:2;bottom:38px;right:4.5%;font-size:12px;line-height:1.7;color:#fff;padding-left:15px;border-left:2px solid #fff9}.scroll{position:absolute;bottom:35px;left:7%;z-index:2;display:flex;gap:40px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.15em}.scroll span{font-size:25px}.trust{display:grid;grid-template-columns:repeat(4,1fr);padding:36px 7%;background:var(--surface);border-bottom:1px solid var(--line)}.trust>div{padding-left:32px;border-left:1px solid #cbd0d3}.trust>div:first-child{padding-left:0;border:0}.trust strong{display:block;font-family:'Barlow Condensed',Arial,sans-serif;font-size:28px;font-weight:600}.trust span{font-size:12px;color:var(--muted)}.section{padding:100px 7%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.lead{font-size:22px;line-height:1.5;color:var(--ink);margin-bottom:24px}.intro h2{margin-bottom:28px}.underlink{display:inline-block;font-size:14px;font-weight:800;border-bottom:2px solid var(--red);padding:7px 0;margin-top:25px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading p{max-width:330px}.section-heading .underlink{margin-bottom:8px}.project-section{padding-top:10px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.project{padding:0;border:0;background:transparent;text-align:left;color:var(--ink);min-width:0}.project img{aspect-ratio:4/5;transition:filter .3s;object-position:center}.project:hover img{filter:brightness(.9)}.project span{display:block;margin-top:17px}.project small{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.project strong{font-family:'Barlow Condensed',Arial,sans-serif;font-size:25px;font-weight:600;display:block;margin-top:4px}.project em{font-size:12px;font-style:normal;color:var(--muted);display:block;margin-top:4px}.process{background:var(--ink);color:white}.process .eyebrow{color:#8cb6ff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:60px}.steps article{border-top:1px solid #5b6062;padding-top:22px}.steps b{color:#8cb6ff;font-size:14px;display:block;margin-bottom:30px}.steps h3{margin-bottom:18px}.steps p{color:#bcc1c4;font-size:14px}.metal{background:var(--surface)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-grid a{background:white;transition:transform .25s}.service-grid a:hover{transform:translateY(-5px)}.service-grid img{aspect-ratio:1/1.1}.service-grid span{display:block;padding:23px 20px 27px}.service-grid small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.service-grid h3{font-size:29px;margin:10px 0 15px}.service-grid p{font-size:14px;line-height:1.6}.expert{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center}.expert-image{position:relative}.expert-image img{aspect-ratio:1;object-position:right center}.expert-image>span{display:block;font-size:12px;background:var(--ink);color:white;padding:15px 20px}.expert h2{margin-bottom:24px}.qualifications{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.qualifications span{border-bottom:1px solid var(--line);padding:10px 0;font-weight:700;font-size:14px}.contact-band{background:var(--red);color:#fff;padding:65px 7%;display:flex;justify-content:space-between;align-items:center;gap:50px}.contact-band .eyebrow{color:#d9e7ff;margin-bottom:14px}.contact-band h2{font-size:4rem}.contact-band p{color:#e5eeff;max-width:570px;margin-top:20px}.button.white{background:white;color:var(--ink);white-space:nowrap}.button.white:hover{background:#eee}footer{padding:55px 7% 25px;background:#1b2022;color:#bcc2c5;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px;font-size:13px}footer a:hover{color:white}.footer-brand{font-size:40px;line-height:1;font-weight:800;color:white}.footer-brand img{width:min(260px,100%);height:auto;object-fit:contain;background:#fff;padding:8px 10px}.footer-brand span{font-size:11px;font-weight:400;display:block;margin-top:14px}footer small{grid-column:1/-1;border-top:1px solid #3b4144;padding-top:25px;margin-top:20px;font-size:11px}.page-head{padding-top:85px;padding-bottom:70px}.page-head h1{margin-bottom:28px;font-size:clamp(4rem,7vw,7.4rem)}.page-head .lead{max-width:700px}.wide-photo{padding:0 7%}.wide-photo img{aspect-ratio:2.3/1}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.tags span{background:var(--surface);padding:7px 13px;font-size:13px}.detail{align-items:center}.detail img{aspect-ratio:1.3/1}.detail:nth-of-type(even){background:var(--surface)}.filters{display:flex;gap:12px;margin-bottom:40px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:white;padding:10px 20px;font-size:14px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.project[hidden]{display:none}.extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;background:var(--surface)}.extra-grid h2{font-size:2.7rem;margin-bottom:25px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:20px}.big-contact{display:block;font-size:clamp(1.8rem,3.2vw,3rem);font-weight:700}.big-contact.mail{color:var(--red);margin-top:10px}.address{margin-top:55px}.request{background:var(--surface);padding:40px}.request h2{font-size:2.6rem;margin-bottom:25px}.request ol{padding-left:22px;color:var(--muted);margin:24px 0}.request li{padding:8px 0}.lightbox{border:0;background:#14181a;color:white;max-width:95vw;width:1100px;padding:55px 30px 20px;max-height:95svh}.lightbox::backdrop{background:#000d}.lightbox img{width:100%;height:70svh;object-fit:contain}.lightbox p{color:white;text-align:center;padding-top:12px}.close{position:absolute;top:10px;right:20px;background:none;border:0;color:white;font-size:14px}.reveal{transition:opacity .7s,transform .7s}.js-motion .reveal,.js-motion .reveal.visible{opacity:1;transform:none}@media(min-width:1600px){.section,.trust,.contact-band,footer{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:1050px){.menu{display:block;background:none;border:1px solid var(--line);padding:8px 12px;font-size:13px}nav{display:none;position:absolute;top:98px;left:0;right:0;background:#fff;padding:25px 5%;box-shadow:0 8px 15px #0001;align-items:stretch;gap:16px;flex-direction:column}header.open nav{display:flex}nav a{padding:8px}.brand{width:205px}.hero-content{width:75%}.service-grid{grid-template-columns:1fr 1fr}.trust{padding:25px 5%}.trust>div{padding-left:20px}.trust strong{font-size:23px}.section{padding:75px 5%}.project-grid{gap:20px}.expert{gap:6%}footer{grid-template-columns:1fr 1fr}.contact-band{padding:55px 5%}.steps{gap:20px}.contact-band h2{font-size:3.3rem}}@media(max-width:760px){header{height:78px;padding:0 5%}.brand{width:220px}.menu{display:block;background:none;border:1px solid var(--line);padding:8px 12px;font-size:13px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:25px 5%;box-shadow:0 8px 15px #0001;align-items:stretch;gap:16px}header.open nav{display:flex;flex-direction:column}nav a{padding:8px}.hero{height:calc(90svh - 78px);min-height:610px;max-height:850px}.hero-photo{inset:0}.hero:after{background:linear-gradient(90deg,#1c2429dc,#1c24294d),linear-gradient(0deg,#1c2429f5,transparent 75%)}.hero-content{width:100%;padding:45px 6% 100px}.hero h1{font-size:clamp(4.5rem,14vw,7rem)}.hero .eyebrow{font-size:10px;letter-spacing:.09em;max-width:95%}.hero p{font-size:16px}.actions{gap:20px;flex-wrap:wrap}.hero-note{display:none}.scroll{left:6%}.trust{grid-template-columns:1fr 1fr;gap:25px;padding:30px 6%}.trust>div{padding:0;border:0}.trust strong{font-size:25px}.section{padding:62px 6%}.intro,.expert,.contact-layout{grid-template-columns:1fr;gap:35px}.section-heading{align-items:start;flex-direction:column;gap:15px;margin-bottom:30px}.section-heading .underlink{margin-top:0}.lead{font-size:20px}.project-grid{grid-template-columns:1fr 1fr;gap:25px 16px}.project img{aspect-ratio:4/5}.project strong{font-size:22px}.project em{font-size:11px}.project-section{padding-top:0}.steps{grid-template-columns:1fr 1fr;gap:30px 25px;margin-top:35px}.steps b{margin-bottom:20px}.service-grid{gap:15px}.service-grid span{padding:18px 14px}.service-grid small{font-size:9px}.service-grid h3{font-size:24px;overflow-wrap:anywhere}.service-grid p{font-size:13px}.expert-image{max-width:420px}.contact-band{padding:45px 6%;flex-direction:column;align-items:start;gap:25px}.contact-band .button{align-self:start}footer{padding:45px 6% 25px;gap:30px 20px}.page-head{padding-top:55px;padding-bottom:45px}.page-head h1{font-size:clamp(3.4rem,11vw,5.5rem)}.wide-photo{padding:0}.wide-photo img{aspect-ratio:1.3/1}.extra-grid{grid-template-columns:1fr;gap:40px}.extra-grid article+article{border-top:1px solid var(--line);padding-top:30px}.request{padding:25px}.big-contact{font-size:2rem}.lightbox{padding:50px 12px 15px}.lightbox img{height:65svh}.detail img{max-height:400px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.js-motion .reveal{opacity:1;transform:none}} 

.brand{background:transparent;padding:0}.brand img{max-height:none;height:auto;object-fit:contain}.expert-image{background:#e8ecee}.hero-photo img{object-position:60% center}
.hero h1{font-size:clamp(2.7rem,5.6vw,5.4rem)}
.page-head h1{font-size:clamp(2.5rem,5vw,4.6rem)}
.slogan{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;letter-spacing:0;text-transform:none;margin:0 0 16px}
.hero .eyebrow{margin-bottom:18px}
.hero h1{margin-bottom:12px}
.hero .slogan{color:#fff;max-width:none;font-size:clamp(22px,1.45vw,26px);font-weight:600;line-height:1.15;letter-spacing:.01em;margin:0 0 22px;text-shadow:0 1px 10px rgba(12,16,18,.55)}
.hero .slogan+p{margin-top:0}
.hero p{max-width:560px}
.footer-brand .slogan{display:block;color:#fff;font-size:1.45rem;margin:16px 0 0}
.footer-brand span{font-size:13px;max-width:280px}
.trust{align-items:start}
.trust strong{font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.15}
.trust span{font-size:14px;line-height:1.45;display:block;margin-top:8px}
.side-note{padding:0 7% 20px;color:var(--muted);font-size:14px}
.side-note a{font-weight:700;border-bottom:1px solid var(--red)}
.person-role{font-size:18px;color:var(--ink);font-weight:700}
@media(max-width:1200px){.trust{grid-template-columns:1fr 1fr;gap:28px 36px}.trust>div{border:0;padding-left:0}}
@media(max-width:760px){.hero h1{font-size:clamp(2.5rem,11vw,3.6rem)}.page-head h1{font-size:clamp(2.3rem,9vw,3.3rem)}.side-note{padding:0 6% 16px}}
@media(max-width:640px){
.hero .eyebrow{margin-bottom:14px}
.hero h1{margin-bottom:8px}
.hero .slogan{font-size:20px;margin-bottom:18px}
.project-grid{grid-template-columns:1fr;gap:18px}
.project img{aspect-ratio:3/2;object-position:center 42%}
.project img[src*="20150824"],.project img[src*="P1010157"],.project img[src*="Balkon004"]{object-position:center 38%}
.service-grid{grid-template-columns:1fr;gap:16px}
.service-grid img{aspect-ratio:3/2;height:auto;object-position:center}
.service-grid img[src*="einzelner-Turm"]{object-position:center 42%}
.service-grid img[src*="Glasgelaender"]{object-position:center 46%}
.service-grid span{padding:18px 18px 22px}
}

nav a[aria-current="page"]{color:var(--red)}
.subpage .page-head{padding:72px 7% 32px}
.subpage .page-head p,.subpage .note p,.subpage .split p,.subpage .stack p{max-width:40rem}
.subpage .page-head h1,.split h2,.stack h2{text-wrap:balance}
.subpage .section{padding:72px 7%}
.entry,.portrait-entry{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:28px 56px;align-items:center}
.entry{grid-template-areas:"intro photo" "more photo";align-items:start}
.entry-intro{grid-area:intro}
.entry-photo{grid-area:photo;align-self:center}
.entry-more{grid-area:more}
.entry-photo img,.portrait img{width:100%;aspect-ratio:3/2;object-fit:cover}
.entry-photo img{object-position:center 46%}
.portrait{margin:0}
.portrait h2{font-size:1.75rem;line-height:1.15;margin:16px 0 6px}
.portrait .person-role{margin:0}
.entry .tags{margin-top:22px}
.entry .actions{margin-top:28px}
.text-link.ink{color:var(--ink);border-bottom-color:#23272973}
.note{background:var(--surface)}
.note p{font-size:18px;line-height:1.6;color:var(--ink)}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:32px 7%;align-items:center}
.subpage .split.section{padding-top:40px;padding-bottom:40px}
.split.band{background:var(--surface)}
.split.flip .split-photo{order:2}
.split .eyebrow{margin-bottom:12px}
.split h2,.stack h2{font-size:clamp(2rem,3vw,3.1rem);margin-bottom:14px}
.split-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.split-photo img[src*="Glasgelaender"]{object-position:center 42%}
.split-photo img[src*="einzelner-Turm"]{object-position:center 38%}
.stack .lead{margin-bottom:0}
.location{display:grid;grid-template-columns:168px minmax(0,1fr);gap:24px;align-items:center;margin-top:36px;padding-top:36px;border-top:1px solid var(--line)}
.location img{width:168px;height:168px;aspect-ratio:1;object-fit:cover}
.location h2{font-size:1.75rem;margin-bottom:8px}
.subpage .process .section-heading{margin-bottom:8px}
.subpage .process .steps{margin-top:28px}
.beyond{margin-top:36px;padding-top:36px;border-top:1px solid var(--line)}
.subpage .gallery-section{padding-top:4px}
.gallery.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery .project img{aspect-ratio:3/2;object-position:center 42%;background:var(--surface)}
.gallery .project img[src*="20150824"],.gallery .project img[src*="P1010157"]{object-position:center 34%}
.gallery .project img[src*="einzelner-Turm"]{object-position:center 40%}
.gallery .project img[src*="Glasgelaender"]{object-position:center 42%}
.contact-layout{align-items:start}
.contact-layout .address{margin-top:14px}
.big-contact{max-width:100%;overflow-wrap:anywhere;line-height:1.25}
.request .button{margin-top:22px}
.extra-grid p{max-width:36rem}
@media(max-width:1050px){.gallery.project-grid{grid-template-columns:1fr 1fr;gap:22px 16px}}
@media(max-width:860px){
.entry,.portrait-entry,.split,.split.flip{grid-template-columns:1fr}
.entry{grid-template-areas:"intro" "photo" "more"}
.split.flip .split-photo{order:0}
.portrait img{max-width:560px}
}
@media(max-width:760px){
.subpage .page-head{padding:44px 6% 24px}
.subpage .section{padding:48px 6%}
.subpage .gallery-section{padding-top:0}
.subpage .split.section{padding-top:28px;padding-bottom:28px}
.entry .actions{margin-top:22px}
.location{grid-template-columns:112px minmax(0,1fr);gap:16px}
.location img{width:112px;height:112px}
.note p{font-size:17px}
}
@media(max-width:640px){.gallery.project-grid{grid-template-columns:1fr;gap:18px}}
@media(min-width:1600px){
.subpage .page-head,.subpage .section{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}
}
