@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#df2027;--ink:#171717;--muted:#626262}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#fff;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}.topbar{padding:9px 6%;background:#141414;color:white;font-size:.75rem;font-weight:700;letter-spacing:1.4px;display:flex;justify-content:space-between}.topbar span{font-weight:400;letter-spacing:.4px}header{height:108px;padding:15px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;line-height:1.1;font-size:2rem;font-weight:800;letter-spacing:1px}.brand img{width:73px;height:65px;object-fit:contain;background:#000}.brand strong{display:block;font-size:.7rem;letter-spacing:1.3px;margin-top:5px}nav{display:flex;gap:30px;font-size:.9rem;font-weight:700}nav a:hover,.text-link:hover{color:var(--red)}.header-phone{font-size:1.05rem;font-weight:800;white-space:nowrap}.header-phone span{color:var(--red);margin-left:14px}.hero{position:relative;min-height:690px;background:#202523;color:white;overflow:hidden;display:flex;align-items:center}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url('assets/roof.jpg') center 55%/cover}.hero-shade{background:linear-gradient(90deg,rgba(8,15,15,.93),rgba(8,15,15,.69) 42%,rgba(8,15,15,.08))}.hero-content{position:relative;padding:65px 6% 100px;max-width:850px}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:2px;margin:0 0 22px}.hero .eyebrow:before{content:'';display:inline-block;width:28px;height:3px;background:var(--red);margin:0 13px 4px 0}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;line-height:1.02;margin:0;font-weight:700}h1{font-size:clamp(4rem,6.9vw,6.8rem);letter-spacing:-1.3px}h1 em{font-style:normal;color:#f33b40}h2{font-size:clamp(3rem,4.4vw,4.5rem);letter-spacing:-.7px}h3{font-size:2.3rem}.intro{max-width:480px;color:#e1e3e2;line-height:1.8;margin:26px 0 30px}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:36px;background:var(--red);padding:17px 23px;font-weight:700;font-size:.9rem;color:white}.button:hover{background:#b7141b}.button span{font-size:1.3rem}.text-link{font-weight:700;font-size:.9rem;border-bottom:1px solid #999;padding:6px 0}.hero-bottom{position:absolute;bottom:0;left:6%;right:6%;border-top:1px solid #ffffff45;display:flex;justify-content:space-between;gap:15px;padding:19px 0;font-size:.75rem;letter-spacing:1px}.hero-bottom span:last-child{letter-spacing:0;color:#ddd}.section{padding:95px 6%}.red{color:var(--red)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}.section-head>p{max-width:340px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9}.service-grid article{padding:32px 35px 34px 0}.service-grid article+article{border-left:1px solid #d9d9d9;padding-left:35px}.number{font-size:.85rem;color:var(--red);font-weight:800;display:block;margin-bottom:35px}.service-grid p{color:var(--muted);margin:20px 0 28px}.service-grid a{display:flex;justify-content:space-between;font-size:.9rem;font-weight:800}.service-grid a span{color:var(--red)}.about{display:grid;grid-template-columns:.85fr 1fr;gap:9%;background:#f2f3f3;align-items:center}.portrait{position:relative;max-width:450px}.portrait img{width:100%;height:470px;object-fit:cover;object-position:center 32%;display:block}.portrait-label{position:absolute;bottom:0;background:#171717;color:#fff;padding:17px 25px;left:0;right:0;font-size:1rem;font-weight:800;display:flex;justify-content:space-between;align-items:center}.portrait-label span{font-size:.85rem;font-weight:400}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:510px;margin-top:25px}.dark{background:#171717;margin-top:12px}.area{background:var(--red);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9%}.area-detail{display:flex;flex-direction:column;justify-content:center}.radius{font-family:'Barlow Condensed',Arial,sans-serif;font-size:6.5rem;line-height:1;display:flex;align-items:center;gap:20px}.radius span{font-family:Manrope,Arial,sans-serif;font-size:.8rem;letter-spacing:2px;max-width:80px;line-height:1.7;border-left:1px solid #ffffff75;padding-left:20px}.area-detail p{max-width:470px}.area-detail a{font-weight:800;text-decoration:underline;text-underline-offset:5px}.contact{text-align:center}.contact>p:not(.eyebrow){color:var(--muted)}.contact-grid{display:flex;justify-content:center;gap:60px;margin-top:40px;flex-wrap:wrap}.contact-grid a{font-size:1.2rem;font-weight:800;overflow-wrap:anywhere}.contact-grid a span{display:block;font-size:.75rem;letter-spacing:1px;color:var(--muted);margin-bottom:10px}footer{background:#121212;color:white;padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}footer p,footer>span{font-size:.8rem;color:#b6b6b6}footer .brand{font-size:1.5rem}footer .brand img{width:55px;height:50px}@media(min-width:1500px){.section,header,.topbar{padding-left:max(6%,calc((100vw - 1350px)/2));padding-right:max(6%,calc((100vw - 1350px)/2))}.hero-content{margin-left:calc((100vw - 1350px)/2 - 6vw)}}@media(max-width:800px){header{height:90px}nav{display:none}.brand{font-size:1.55rem}.brand img{width:58px;height:55px}.header-phone{font-size:.9rem}.header-phone span{display:none}.hero{min-height:660px}.hero-content{padding-top:60px}.hero-shade{background:linear-gradient(90deg,#0c1717e8,#0c171791)}.section{padding:65px 6%}.section-head{display:block}.section-head>p{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:28px 0;border-left:0}.service-grid article+article{border-top:1px solid #d9d9d9}.number{margin-bottom:20px}.about{grid-template-columns:1fr;gap:40px}.portrait{width:100%;max-width:none}.portrait img{height:430px;object-position:center 30%}.area{grid-template-columns:1fr;gap:35px}.hero-bottom{flex-direction:column;gap:4px;font-size:.7rem}.contact-grid{gap:25px}.topbar{font-size:.68rem}.topbar span{font-size:.68rem}.brand strong{font-size:.58rem}.about-copy .eyebrow{font-size:.74rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
