/* Editorial craft direction. Overrides intentionally scoped to this page. */
.footer-links{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.footer-links a{border-bottom:1px solid #ffffff35}.legal-page{min-height:100vh;background:#f1f3f3}.legal-header{background:#171a1d;color:#fff;padding:22px 0}.legal-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.legal-header .brand{color:#fff}.legal-back{color:#fff;text-decoration:none;border-bottom:1px solid #ffffff55}.legal-main{padding:80px 0 110px}.legal-content{max-width:820px}.legal-content .kicker{display:block}.legal-content h1{color:#171a1d;font-size:clamp(3rem,7vw,5.8rem);font-weight:400;margin:20px 0 48px}.legal-content h2{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;margin:42px 0 10px}.legal-content p,.legal-content li{color:#50585c;line-height:1.8}.legal-content a{color:#8d381c}.legal-panel{background:#fff;border-left:5px solid #d66a35;padding:28px 32px;margin:28px 0}.legal-panel p{margin:0}.legal-status{background:#fff4ec;border:1px solid #e7b79e;padding:18px 22px;margin:35px 0}.legal-footer{background:#101214;color:#bbb;padding:35px 0}.legal-footer .wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.legal-footer a{color:#fff}@media(max-width:800px){.footer-links{margin-top:22px;align-items:flex-start;flex-direction:column;gap:10px}.legal-header .brand small{display:none}.legal-main{padding:55px 0 85px}.legal-content h1{margin-bottom:36px}.legal-panel{padding:22px}.legal-footer .wrap{display:block}.legal-footer a{display:inline-block;margin:12px 4px 0}}
body{background:#f1f3f3}main .hero{min-height:850px;position:relative;background-position:center}.hero-content{width:min(calc(100% - 96px),1280px);max-width:1280px;padding-bottom:115px}.hero h1{max-width:720px;font-size:clamp(3.4rem,6.8vw,6.8rem);font-weight:400;line-height:1.02;letter-spacing:-.045em}.hero p{max-width:540px;line-height:1.7}.hero .eyebrow{font-size:13px;letter-spacing:.2em}.top .wrap{max-width:1280px}.brand small{font-size:12px}.nav{height:100px}.mark{margin:0 7px}.btn,.call{transition:background .2s,transform .2s}.btn:hover,.call:hover{background:#a94320;transform:translateY(-2px)}.btn:focus-visible,a:focus-visible{outline:3px solid #eea47e;outline-offset:5px}.draft-note{position:absolute;top:110px;right:28px;z-index:2;color:#fff;background:#111b;padding:6px 12px;font-size:12px;border:1px solid #ffffff40}.trust{border-bottom:4px solid #d66a35}.trust .wrap>div{font-size:14px;letter-spacing:.03em;justify-content:center;padding:28px 20px}.intro{gap:100px;padding:20px 0}.intro h2,.section-head h2{font-weight:400}.facts{margin-top:40px}.fact{padding-top:26px;padding-bottom:26px}.services{background:#e8eced}.cards{gap:0;border:1px solid #c7d0d2}.card{background:transparent;min-height:335px;border-top:0;border-right:1px solid #c7d0d2;padding:42px;position:relative}.card:last-child{border-right:0}.card:hover{background:#fff;transform:none}.card .num{font-size:2.5rem;font-weight:400;color:#a94320}.card h3{margin-top:38px;font-size:1.55rem;letter-spacing:-.03em}.card p{font-size:16px;line-height:1.8}.process{background:#192326}.process .kicker{color:#ed976a}.step{background:#192326;padding:42px 30px}.step .circle{background:transparent;color:#ec976e;border:1px solid #ec976e;border-radius:0;font-family:Georgia,serif;font-size:24px;width:56px;height:56px}.steps{border-top:1px solid #ffffff30}.contact{position:relative}.contact-inner{padding:60px 0;min-height:480px}.contact h2{font-weight:400;letter-spacing:-.045em}.contact-box{padding:40px;box-shadow:18px 18px 0 #58280e30}.contact-box .btn{font-size:1rem;margin-bottom:0}.craft{background:#f1f3f3}.craft-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.craft h2{font-family:Georgia,serif;font-size:clamp(2.4rem,4vw,4rem);font-weight:400;line-height:1.1;letter-spacing:-.035em;margin:20px 0 30px}.craft p{color:#565f63;max-width:510px;line-height:1.8}.craft figure{margin:0}.craft img{display:block;width:100%;height:540px;object-fit:cover;object-position:80% center}.craft figcaption{font-size:12px;color:#636b6e;margin-top:10px}.craft-link{display:inline-block;padding:14px 0;border-bottom:2px solid #a94320;font-weight:750;text-decoration:none;margin-top:14px}footer{padding:60px 0}.legal{line-height:1.7}section[id]{scroll-margin-top:20px}@media(min-width:1500px){.hero-content{padding-top:210px;padding-bottom:125px}}@media(max-width:800px){.nav{height:86px}.brand b{font-size:14px;max-width:180px}.brand small{font-size:10px}.mark{width:34px;height:34px;flex-shrink:0}.navlinks .call{font-size:12px;padding:10px}.draft-note{top:94px;left:14px;right:auto;font-size:11px}.hero-content{width:calc(100% - 40px);padding-top:170px;padding-bottom:80px}main .hero{min-height:770px;background-position:65% center}.hero h1{font-size:clamp(3.2rem,10vw,5.2rem);max-width:580px}.trust .wrap>div{justify-content:flex-start;padding:17px 8px}.intro{gap:20px;padding:0}.card{min-height:260px;border-right:0;border-bottom:1px solid #c7d0d2;padding:30px}.card:last-child{border-bottom:0}.card h3{margin-top:20px}.craft-grid{grid-template-columns:1fr;gap:35px}.craft img{height:390px}.contact-box{box-shadow:8px 8px 0 #58280e30}.contact-inner{gap:30px}.step{padding:28px 15px}footer{padding-bottom:110px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.call,.card{transition:none}}
/* Supplied company logo: cleaned from the photographed business card. */
.logo-brand{width:600px;height:150px;padding:8px 22px;background:#fff;border-radius:2px;overflow:hidden;box-shadow:0 8px 28px #0003}
.logo-brand img{display:block;width:100%;height:100%;object-fit:contain}
@media(min-width:801px){.nav{height:168px}.hero-content{padding-top:235px}}
@media(max-width:800px){.logo-brand{width:290px;height:82px;padding:4px 10px}.navlinks .call{display:none}.nav{height:104px!important}.hero-content{padding-top:190px!important}}
/* Brand refresh: strong black, white and Häricke red. */
:root{--ink:#101112!important;--paper:#f4f4f2!important;--copper:#e30613!important;--copper2:#b4000b!important;--line:#d4d4d0!important}
.top{background:linear-gradient(180deg,#000c,transparent)}
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 42%,rgba(0,0,0,.16) 74%),url('assets/dachdecker-ruedersdorf.png')!important}
.hero-content{border-left:5px solid var(--copper);padding-left:38px}
.eyebrow{color:#ff9da3!important}.kicker{color:#ba000b!important}.trust{border-bottom-color:var(--copper)!important}.tick{color:var(--copper)!important}
.services{background:#ececea!important}.cards{grid-template-columns:repeat(3,1fr)!important;border-color:#c9c9c5!important}.card:nth-child(3n){border-right:0}.card:nth-child(-n+3){border-bottom:1px solid #c9c9c5}.card .num{color:var(--copper)!important}.card:hover{box-shadow:inset 0 5px 0 var(--copper)}
.process,.step{background:#111!important}.process .kicker{color:#ff717a!important}.step .circle{color:#ff3945!important;border-color:#ff3945!important}
.contact{background:linear-gradient(105deg,#940009,var(--copper))!important}.contact-box{box-shadow:18px 18px 0 #3005!important}.craft-link{border-color:var(--copper)!important}
.legal-panel{border-left-color:var(--copper)!important}.legal-content a{color:#a50009!important}
@media(max-width:800px){.hero-content{border-left-width:3px;padding-left:20px}.cards{grid-template-columns:1fr!important}.card{border-right:0!important;border-bottom:1px solid #c9c9c5!important}.card:last-child{border-bottom:0!important}}
/* Refined logo integration: compact brand panel instead of an oversized white box. */
.logo-brand{width:390px;height:112px;padding:9px 18px;background:rgba(255,255,255,.97);border-radius:0 0 5px 5px;box-shadow:0 10px 32px #0004;border-top:5px solid var(--copper)}
.top{background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,.5) 72%,transparent)}
.nav{height:126px}
.hero-content{padding-top:205px}
.legal-header .logo-brand{width:310px;height:92px;border-radius:4px}
@media(max-width:800px){
  .top{background:rgba(8,9,10,.92);border-bottom:3px solid var(--copper)}
  .nav{height:104px!important;justify-content:center}
  .logo-brand{width:min(270px,calc(100vw - 48px));height:82px;padding:6px 12px;border-top-width:4px;border-radius:0 0 4px 4px;box-shadow:none}
  .hero-content{padding-top:154px!important;padding-left:18px;width:calc(100% - 34px)}
  .hero .eyebrow{font-size:11px;line-height:1.7;letter-spacing:.14em;max-width:255px;white-space:normal}
  .hero .eyebrow:before{width:28px;flex:0 0 28px}
  .legal-header .wrap{justify-content:center;flex-wrap:wrap}.legal-header .logo-brand{width:250px;height:76px}.legal-back{width:100%;text-align:center}
}
