
:root{
  --red:#d71918;
  --black:#141719;
  --dark:#1c2023;
  --text:#181a1c;
  --muted:#6d7378;
  --line:#e6e7e8;
  --soft:#f4f5f6;
  --white:#fff;
  --max:1200px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}

.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #eee;backdrop-filter:blur(8px)}
.nav{height:82px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:285px}
.brand-text strong,.brand-text small{display:block;font-weight:800}
.brand-text strong{font-size:18px;line-height:1}
.brand-text small{font-size:17px;margin-top:3px}
.roof-logo{width:58px;height:42px;position:relative;display:inline-block}
.roof-logo:before{content:"";position:absolute;left:2px;top:14px;width:35px;height:7px;background:#111;transform:rotate(-33deg);transform-origin:left center}
.roof-logo:after{content:"";position:absolute;left:28px;top:6px;width:39px;height:8px;background:var(--red);transform:rotate(35deg);transform-origin:left center}
.roof-logo i{position:absolute;left:31px;top:23px;width:7px;height:7px;background:#111}
.roof-logo b{position:absolute;left:40px;top:23px;width:7px;height:7px;background:#111}
nav{display:flex;gap:22px;margin-left:auto;align-items:center}
nav a{font-size:13px;font-weight:700}
nav a:hover{color:var(--red)}
.call-top{background:var(--red);color:#fff;font-weight:800;padding:13px 17px;border-radius:5px;white-space:nowrap}
.menu-btn{display:none;border:0;background:none;font-size:28px}

.hero{min-height:610px;position:relative;background:url('assets/hero.jpg') center 42%/cover no-repeat;color:#fff;display:flex;align-items:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,9,.93) 0%,rgba(7,8,9,.74) 40%,rgba(7,8,9,.16) 75%,rgba(7,8,9,.08) 100%)}
.hero-inner{position:relative}
.hero-copy{max-width:690px;padding:84px 0}
.kicker{margin:0 0 12px;font-size:13px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.kicker.red{color:var(--red)}
.hero h1{font-size:60px;line-height:.98;letter-spacing:-.045em;margin:0 0 16px}
.hero h1 span{font-size:.78em}
.hero h2{font-size:27px;margin:0 0 10px}
.hero-sub{font-size:18px;line-height:1.55;color:#e5e6e6;max-width:650px}
.benefits{display:flex;gap:20px;flex-wrap:wrap;margin:28px 0}
.benefits span{font-size:14px;font-weight:700}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;border-radius:5px;font-weight:800;font-size:14px}
.btn-red{background:var(--red);color:#fff}
.btn-outline{border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.08)}

.quickbar{background:#202427;color:#fff}
.quickgrid{display:grid;grid-template-columns:repeat(4,1fr)}
.quickgrid div{padding:20px 28px;border-right:1px solid rgba(255,255,255,.12)}
.quickgrid div:last-child{border-right:0}
.quickgrid strong,.quickgrid span{display:block}
.quickgrid strong{font-size:14px}
.quickgrid span{font-size:12px;color:#c9ced2;margin-top:3px}

.section{padding:80px 0}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}
.section-title h2,.about h2,.contact h2{font-size:38px;letter-spacing:-.035em;margin:0}
.section-title>p{max-width:500px;color:var(--muted);line-height:1.6}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{position:relative;height:300px;overflow:hidden;border-radius:7px;background:#ddd}
.service-card img{width:100%;height:100%;object-fit:cover}
.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,15,17,.93) 0%,rgba(12,15,17,.5) 40%,transparent 70%)}
.service-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px;color:#fff}
.service-overlay h3{font-size:18px;margin:0 0 6px}
.service-overlay p{font-size:13px;line-height:1.45;color:#e1e4e6;margin:0}

.dark{background:#1b1e20;color:#fff}
.section-title.light>p{color:#c8cdd1}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery figure{margin:0;position:relative;height:280px;overflow:hidden;border-radius:7px}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.72);color:#fff;padding:8px 11px;border-radius:4px;font-size:13px;font-weight:700}

.about{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}
.leadtext{font-size:20px!important;color:#26292c!important}
.about p{line-height:1.7;color:var(--muted)}
.about-box{background:#202427;color:#fff;padding:38px;border-radius:8px}
.about-box strong{font-size:27px}
.about-box p{color:#d4d8db}
.soft{background:var(--soft)}
.tags{display:flex;flex-wrap:wrap;gap:12px}
.tags span{background:#fff;border:1px solid #ddd;border-radius:999px;padding:13px 18px;font-weight:700}

.contact{background:var(--red);color:#fff;padding:70px 0}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}
.contact p{color:#ffe8e8}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-cards a,.contact-cards div{background:#fff;color:var(--text);border-radius:6px;padding:18px}
.contact-cards b,.contact-cards span{display:block}
.contact-cards span{font-size:14px;color:var(--muted);margin-top:4px}

footer{background:#111416;color:#cbd0d4;padding:25px 0;font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}

@media(max-width:950px){
  .nav{height:72px}
  .brand{min-width:auto}
  .brand-text strong{font-size:15px}.brand-text small{font-size:14px}
  nav{display:none}
  .menu-btn{display:block;margin-left:auto}
  .call-top{display:none}
  .menu-open nav{display:flex;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:20px 26px;border-bottom:1px solid #ddd}
  .hero{min-height:560px}
  .hero h1{font-size:46px}
  .hero h2{font-size:22px}
  .quickgrid,.services-grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .about,.contact-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .brand-text strong{font-size:14px}.brand-text small{font-size:13px}
  .hero-copy{padding:64px 0}
  .hero h1{font-size:38px}
  .hero-sub{font-size:16px}
  .quickgrid,.services-grid,.gallery,.contact-cards{grid-template-columns:1fr}
  .section{padding:60px 0}
  .section-title{display:block}
  .section-title>p{margin-top:14px}
  .section-title h2,.about h2,.contact h2{font-size:30px}
  .gallery figure{height:240px}
}
