:root{--ink:#101214;--coal:#171a1d;--steel:#697078;--paper:#f3f4f2;--white:#fff;--signal:#f6b900;--line:#d6d8d6;--max:1240px}
.meister-badge{display:inline-flex;align-items:center;gap:.7rem;border-left:4px solid var(--signal);padding:.55rem .8rem;margin-top:1rem;background:rgba(12,14,15,.52);text-transform:uppercase;letter-spacing:.12em}.meister-badge span{font-size:.65rem;color:#bbc0c3}.meister-badge strong{font-size:1rem;color:#fff}.address a{color:#fff;text-decoration-thickness:1px;text-underline-offset:.2em;width:max-content}.contact-email{margin-top:1rem}.contact-persons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.4rem}.contact-persons a{display:flex;flex-direction:column;width:auto;text-decoration:none;border:1px solid #505559;padding:.85rem 1rem}.contact-persons a:hover{border-color:var(--signal)}.contact-persons strong{font-size:.82rem;color:#fff}.contact-persons span{font-size:.94rem;color:#dfe1e2;margin-top:.2rem}
.brand img,.footer-brand img{display:block;width:min(300px,42vw);height:auto}.footer-brand img{width:min(310px,75vw)}.legal-header .brand>span{display:none}.legal-header .brand:before{content:"";display:block;width:min(300px,42vw);aspect-ratio:505/116;background:url('top-geruestbau-logo.png') center/contain no-repeat}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem;z-index:100}.skip:focus{top:1rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.06;letter-spacing:-.035em}h2{font-size:clamp(2.4rem,5vw,5.3rem);max-width:13ch;margin-bottom:2rem}p{font-size:1.05rem;color:#4f555a}.site-header{height:86px;position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,1.25rem);color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.brand,.footer-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand>span:last-child,.footer-brand>span:last-child{display:flex;flex-direction:column;line-height:.9}.brand strong,.footer-brand strong{font-size:1.6rem;letter-spacing:.02em}.brand small,.footer-brand small{font-size:.67rem;letter-spacing:.2em;margin-top:.35rem}.brand-mark{width:32px;height:37px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-items:end}.brand-mark i{display:block;background:var(--signal);height:100%}.brand-mark i:first-child{height:55%}.brand-mark i:last-child{height:78%}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{text-decoration:none;font-size:.9rem;font-weight:700}.nav-cta{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.55)}.menu-btn{display:none}.hero{min-height:820px;height:100vh;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden;background:#171a1d}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.94) 0%,rgba(7,9,10,.75) 35%,rgba(7,9,10,.18) 72%,rgba(7,9,10,.35) 100%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(90deg,#000,transparent 70%)}.hero-content{position:relative;z-index:2;width:min(92%,var(--max));margin:auto;padding-top:3rem}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;color:var(--signal);margin-bottom:1.3rem}.eyebrow.dark{color:#846600}.hero h1{font-size:clamp(3.8rem,8.5vw,8rem);max-width:10ch;margin:0 0 2rem;text-transform:uppercase;letter-spacing:-.06em}.hero h1 em{color:var(--signal);font-style:normal}.hero-lead{color:#e4e6e7;font-size:clamp(1rem,1.6vw,1.25rem);max-width:620px}.hero-actions{display:flex;gap:.8rem;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:54px;padding:0 1.3rem;text-decoration:none;font-weight:800;border:0;cursor:pointer;font-size:.92rem}.button.primary{background:var(--signal);color:#111}.button.ghost{border:1px solid rgba(255,255,255,.55);color:#fff}.hero-facts{position:absolute;z-index:2;right:4vw;bottom:0;display:flex;background:rgba(13,15,16,.86);backdrop-filter:blur(10px)}.hero-facts div{display:flex;align-items:center;gap:.8rem;padding:1.2rem 1.5rem;border-left:1px solid rgba(255,255,255,.14)}.hero-facts strong{color:var(--signal);font-size:.75rem}.hero-facts span{font-size:.78rem;text-transform:uppercase;font-weight:700;letter-spacing:.08em}.section{max-width:var(--max);margin:auto;padding:8rem 2rem}.section-label{display:flex;gap:.6rem;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:800;color:#7b8084}.section-label span{color:#907000}.section-label.light{color:#999fa3}.section-label.light span{color:var(--signal)}.intro{display:grid;grid-template-columns:1fr 3fr;gap:4rem;padding-bottom:3rem}.intro-copy>p:last-child{max-width:720px;font-size:1.15rem}.services{padding-top:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1px}.service-card{min-height:390px;background:#fff;padding:2.2rem;display:flex;flex-direction:column;border:1px solid #e1e2e0;position:relative;transition:transform .25s,background .25s}.service-card:hover{transform:translateY(-4px)}.service-card.featured{background:var(--signal);border-color:var(--signal)}.card-number{font-size:.68rem;font-weight:800;color:#73797e}.service-card h3{font-size:2rem;margin-top:auto;margin-bottom:1rem}.service-card p{max-width:440px}.line-icon{height:105px;width:140px;position:relative;margin:2rem 0}.line-icon span{position:absolute;display:block;border:2px solid currentColor}.facade span{height:85px;width:2px;border-width:0 0 0 2px;top:10px}.facade span:nth-child(2){left:40px}.facade span:nth-child(3){left:80px}.facade span:nth-child(4){left:120px}.facade:after{content:"";position:absolute;inset:28px 5px auto 0;height:40px;border-top:2px solid;border-bottom:2px solid}.industrial:before,.industrial:after{content:"";position:absolute;border:2px solid}.industrial:before{width:100px;height:70px;left:10px;top:15px}.industrial:after{width:46px;height:100px;left:55px;top:0}.industrial span{width:110px;height:2px;border-width:2px 0 0;transform:rotate(-28deg);left:3px;top:50px}.shield span{width:75px;height:90px;left:25px;clip-path:polygon(0 0,100% 0,100% 65%,50% 100%,0 65%);background:currentColor;border:0}.shield span:after{content:"";position:absolute;inset:3px;background:#fff;clip-path:inherit}.special span{width:110px;height:80px;left:10px;top:10px}.special span:last-child{width:65px;height:110px;left:50px;top:-5px;transform:skew(-15deg)}.featured .shield span:after{background:var(--signal)}.workflow{max-width:none;background:var(--ink);color:#fff;padding-left:max(2rem,calc((100vw - var(--max))/2 + 2rem));padding-right:max(2rem,calc((100vw - var(--max))/2 + 2rem))}.workflow-head{display:grid;grid-template-columns:1fr 3fr;gap:4rem}.steps{list-style:none;padding:2rem 0 0;margin:0 0 0 25%;display:grid;grid-template-columns:repeat(2,1fr)}.steps li{display:flex;gap:1.2rem;padding:2rem;border-top:1px solid #404448;min-height:190px}.steps li:nth-child(odd){border-right:1px solid #404448}.steps li>span{color:var(--signal);font-size:.7rem;font-weight:800}.steps h3{font-size:1.4rem;margin-bottom:.7rem}.steps p{color:#aeb2b5;font-size:.95rem}.about{display:grid;grid-template-columns:1fr 3fr;gap:4rem}.about-main p:last-child{max-width:700px;font-size:1.18rem}.about blockquote{grid-column:2;font-size:1.6rem;font-weight:800;border-left:4px solid var(--signal);padding:1rem 0 1rem 2rem;margin:2rem 0 0;max-width:700px}.about blockquote span{color:var(--signal)}.contact{background:#24282b;color:#fff;padding:8rem max(2rem,calc((100vw - var(--max))/2 + 2rem));display:grid;grid-template-columns:1fr 1.15fr;gap:7rem}.contact h2{font-size:clamp(2.7rem,5vw,4.5rem)}.contact-copy>p:not(.eyebrow){color:#b9bdc0;max-width:520px}.address{display:flex;flex-direction:column;margin-top:3rem}.address strong{color:var(--signal);margin-bottom:.4rem}.address span{color:#dfe1e2}.contact-form{background:#fff;color:var(--ink);padding:2.5rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label{display:flex;flex-direction:column;font-weight:800;font-size:.82rem;margin-bottom:1.1rem}.contact-form label>span{font-weight:400;color:#757a7e}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:0;border-bottom:1px solid #adb1b3;background:#f3f4f2;padding:.85rem .3rem;font:inherit;margin-top:.4rem;border-radius:0}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid var(--signal);outline-offset:2px}.contact-form .check{flex-direction:row;gap:.8rem;font-weight:400;align-items:flex-start}.check input{width:18px;height:18px;margin-top:.1rem;accent-color:var(--signal)}.check span{font-size:.78rem}.submit{width:100%;font-family:inherit}.form-note{font-size:.75rem;margin:1rem 0 0}footer{background:#0e1011;color:#fff;padding:4rem max(2rem,calc((100vw - var(--max))/2 + 2rem));display:grid;grid-template-columns:1.3fr 2fr 1.4fr;gap:2rem;align-items:start}footer p{color:#8e9498;font-size:.88rem}.footer-links{display:flex;flex-direction:column;gap:.6rem}.footer-links a{font-size:.85rem}footer>small{grid-column:1/-1;color:#707579;border-top:1px solid #2a2d2f;padding-top:1.4rem}.legal{max-width:880px;margin:auto;padding:9rem 2rem 6rem}.legal h1{font-size:clamp(3rem,7vw,5rem);margin-bottom:3rem}.legal h2{font-size:1.5rem;margin:2.5rem 0 .8rem}.legal .back{display:inline-block;margin-bottom:3rem}.legal p,.legal li{font-size:1rem}.legal-header{position:static;background:var(--ink)}
@media(max-width:900px){.site-header nav{position:absolute;top:86px;left:0;right:0;background:#111315;display:none;flex-direction:column;align-items:stretch;padding:1.5rem}.site-header nav.open{display:flex}.menu-btn{display:flex;background:none;border:0;color:#fff;flex-direction:column;gap:4px;align-items:flex-end}.menu-btn span{display:block;width:25px;height:2px;background:#fff}.menu-btn b{font-size:.58rem;text-transform:uppercase;margin-top:2px}.hero{min-height:760px}.hero-content{padding-top:2rem}.hero h1{font-size:clamp(3.2rem,15vw,5.8rem)}.hero-facts{left:0;right:0}.hero-facts div{flex:1;padding:1rem}.intro,.workflow-head,.about,.contact{grid-template-columns:1fr;gap:2.5rem}.steps{margin-left:0}.about blockquote{grid-column:1}.contact{gap:4rem}.section{padding:6rem 1.25rem}footer{grid-template-columns:1fr 1fr}.footer-links{align-items:flex-end}}
@media(max-width:620px){h2{font-size:2.65rem}.site-header{height:74px}.site-header nav{top:74px}.hero{min-height:720px}.hero-actions{flex-direction:column;align-items:stretch;max-width:330px}.hero-facts div{padding:.8rem}.hero-facts div:last-child{display:none}.services{grid-template-columns:1fr}.service-card{min-height:330px}.steps{grid-template-columns:1fr}.steps li:nth-child(odd){border-right:0}.field-row{grid-template-columns:1fr}.contact-form{padding:1.35rem}.contact{padding:6rem 1.25rem}footer{grid-template-columns:1fr}.footer-links{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}
@media(max-width:620px){.contact-persons{grid-template-columns:1fr}}

/* Dark industrial brand direction */
body{background:#0d0f10;color:#f2f3f1}
.site-header{height:104px;background:rgba(7,8,9,.9);border-bottom:1px solid #34383b;backdrop-filter:blur(12px)}
.site-header .brand{background:#020303;border:1px solid #3a3e41;border-bottom:3px solid #9d7d2b;padding:.7rem 1.15rem;box-shadow:0 14px 35px rgba(0,0,0,.38)}
.site-header .brand img{width:330px;max-width:34vw}
.site-header nav a{color:#e9ebec}
.nav-cta{background:#e7e8e5;color:#101214!important;border-color:#e7e8e5}
.hero>img{object-position:68% center;filter:saturate(.72) contrast(1.08) brightness(.78)}
.hero-shade{background:linear-gradient(90deg,rgba(5,6,7,.97) 0%,rgba(5,6,7,.83) 37%,rgba(5,6,7,.23) 68%,rgba(5,6,7,.08) 100%)}
.hero-grid{opacity:.55}
.hero-content{padding-top:5rem}
.hero h1 em{color:#d9dbd8}
.eyebrow{color:#c5a04a}
.meister-badge{border-left-color:#c5a04a;background:#090a0b;border-top:1px solid #3c4043;border-right:1px solid #3c4043;border-bottom:1px solid #3c4043}
.button.primary{background:#e7e8e5;color:#101214}
.hero-facts{background:rgba(5,6,7,.9);border-top:1px solid #3b3f42}
.hero-facts strong{color:#c5a04a}
.intro,.about{background:#0d0f10}
.intro-copy>p:last-child,.about-main p:last-child{color:#aeb3b6}
.eyebrow.dark{color:#c5a04a}
.section-label{color:#767d81}.section-label span{color:#c5a04a}
.services{background:#0d0f10}
.service-card{background:#171a1c;border-color:#323639;color:#f1f2f0}
.service-card:hover{background:#1d2022;border-color:#575d61}
.service-card.featured{background:#070809;border:1px solid #4a4f52;border-left:5px solid #c5a04a;color:#fff}
.service-card p{color:#aeb3b6}
.service-card h3{color:#fff}
.card-number{color:#8f969a}
.industrial-focus,.service-wide{grid-column:1/-1}
.industrial-focus p,.service-wide p{max-width:760px}
.line-icon{color:#d9dcdd}
.hanging:before{content:"";position:absolute;left:5px;top:5px;width:130px;border-top:3px solid currentColor}
.hanging:after{content:"";position:absolute;left:10px;top:82px;width:120px;height:15px;border:2px solid currentColor}
.hanging span{top:7px;height:75px;border-width:0 0 0 2px}
.hanging span:nth-child(1){left:18px}.hanging span:nth-child(2){left:70px}.hanging span:nth-child(3){left:122px}
.room:before{content:"";position:absolute;left:4px;top:8px;width:130px;height:88px;border:2px solid currentColor}
.room:after{content:"";position:absolute;left:8px;top:38px;width:122px;border-top:2px solid currentColor;box-shadow:0 30px 0 currentColor}
.room span{top:10px;height:84px;border-width:0 0 0 2px}
.room span:nth-child(1){left:36px}.room span:nth-child(2){left:69px}.room span:nth-child(3){left:102px}
.workflow{background:#050607}
.steps li{border-color:#35393c}.steps li:nth-child(odd){border-color:#35393c}
.about blockquote{color:#e5e7e6;border-left-color:#c5a04a}
.about blockquote span{color:#c5a04a}
.contact{background:#111315;border-top:1px solid #35393c}
.contact-form{background:#191c1e;color:#f1f2f0;border:1px solid #3c4144}
.contact-form input,.contact-form textarea,.contact-form select{background:#222628;color:#f1f2f0;border-bottom-color:#5b6266}
.contact-form label>span,.form-note{color:#aeb3b6}
.contact-persons a{background:#0c0e0f;border-color:#454a4d}
footer{background:#050607;border-top:1px solid #2f3335}
.footer-brand{background:#020303;border:1px solid #303436;border-bottom:3px solid #9d7d2b;padding:.8rem 1rem;width:max-content}
.footer-brand img{width:300px;max-width:70vw}
.legal{color:#f1f2f0}.legal p,.legal li{color:#aeb3b6}.legal a{color:#f1f2f0}
@media(max-width:900px){.site-header{height:88px}.site-header .brand{padding:.55rem .75rem}.site-header .brand img{width:250px;max-width:56vw}.site-header nav{top:88px;background:#08090a}.hero>img{object-position:76% center}.hero-shade{background:linear-gradient(90deg,rgba(5,6,7,.95),rgba(5,6,7,.58) 72%,rgba(5,6,7,.18))}.hero-content{padding-top:4rem}}
@media(max-width:620px){.site-header{height:78px;padding-left:.65rem;padding-right:.75rem}.site-header .brand{padding:.42rem .58rem}.site-header .brand img{width:215px;max-width:64vw}.site-header nav{top:78px}.hero>img{object-position:78% center}.hero-shade{background:linear-gradient(90deg,rgba(5,6,7,.92),rgba(5,6,7,.48) 82%,rgba(5,6,7,.18))}.hero h1{font-size:clamp(3rem,14vw,5rem)}.industrial-focus,.service-wide{grid-column:auto}.footer-brand img{width:250px}}
