:root{--black:#0a0a0a;--dark:#111;--white:#f7f7f5;--muted:#b9b9b9;--red:#e31b23;--red2:#b90f16;--line:#252525;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.container{width:min(var(--max),92%);margin:auto}.topbar{height:4px;background:var(--red)}header{position:sticky;top:0;z-index:20;background:rgba(10,10,10,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-weight:900;letter-spacing:.08em;font-size:21px;white-space:nowrap}.brand span{color:var(--red)}.menu{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:700;letter-spacing:.04em}.menu>a,.drop>button{color:#eee}.menu a:hover,.drop:hover button{color:var(--red)}.drop{position:relative}.drop button{background:none;border:0;font:inherit;cursor:pointer;padding:30px 0;color:#eee}.drop-content{display:none;position:absolute;top:70px;left:-18px;background:#111;border:1px solid var(--line);min-width:210px;box-shadow:0 15px 40px #000}.drop:hover .drop-content{display:block}.drop-content a{display:block;padding:12px 18px;border-bottom:1px solid #222}.quote{background:var(--red);padding:12px 19px!important;border-radius:2px;color:white!important}.quote:hover{background:var(--red2)!important}.mobile{display:none;background:none;border:0;color:white;font-size:26px}
.hero{min-height:calc(100vh - 82px);display:flex;align-items:center;position:relative;overflow:hidden;background:#080808}.hero::before{content:"";position:absolute;inset:-3%;background:url('../assets/hero-roof.jpeg') center/cover no-repeat;transform:scale(1.04);animation:heroZoom 18s ease-in-out infinite alternate;will-change:transform}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.56) 45%,rgba(0,0,0,.22) 100%);z-index:0}.hero-inner{position:relative;z-index:1}.hero-inner{padding:100px 0;max-width:690px}.eyebrow{color:var(--red);font-weight:800;letter-spacing:.18em;font-size:13px}.hero h1{font-size:clamp(44px,6vw,82px);line-height:.98;margin:14px 0 25px;text-transform:uppercase;letter-spacing:-.04em}.hero p{font-size:19px;color:#eee;max-width:620px}.systems{font-weight:800;letter-spacing:.08em;margin:24px 0}.btn{display:inline-block;background:var(--red);padding:14px 23px;font-weight:800;font-size:13px;letter-spacing:.06em}.btn.alt{background:transparent;border:1px solid #fff;margin-left:10px}.btn:hover{background:var(--red2)}.section{padding:90px 0}.section.light{background:var(--white);color:#111}.section.dark{background:#111}.kicker{color:var(--red);font-weight:800;letter-spacing:.14em;font-size:12px}.section h2{font-size:clamp(32px,4vw,52px);line-height:1.05;margin:10px 0 20px;letter-spacing:-.03em}.lead{font-size:18px;color:#c8c8c8;max-width:780px}.light .lead{color:#444}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.card{border:1px solid var(--line);padding:30px;background:#0d0d0d}.light .card{background:white;border-color:#ddd}.card h3{font-size:22px;margin:0 0 10px}.card p{color:#aaa}.light .card p{color:#555}.card .arrow{color:var(--red);font-weight:800;font-size:13px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}.feature{border-top:2px solid var(--red);padding-top:20px}.feature h3{font-size:17px}.feature p{color:#aaa}.projects-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:40px}.project-photo{min-height:420px;background:url('../assets/hero-roof.jpeg') center/cover;animation:photoDrift 16s ease-in-out infinite alternate;will-change:background-position;transition:transform .6s ease;overflow:hidden}.projects-grid:hover .project-photo{transform:scale(1.015)}.project-copy{background:#151515;padding:40px;display:flex;flex-direction:column;justify-content:center}.cta{background:var(--red);padding:70px 0}.cta h2{font-size:42px;max-width:760px;margin:0 0 20px}.cta .btn{background:#000}.page-hero{padding:100px 0 70px;background:#111;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(42px,6vw,72px);margin:10px 0;line-height:1}.breadcrumbs{color:#888;font-size:13px}.content{max-width:900px}.content h2{font-size:34px;margin-top:50px}.content p,.content li{color:#c5c5c5;font-size:17px}.content ul{padding-left:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.image{width:100%;display:block}.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project-card{border:1px solid var(--line);background:#111}.project-card .img{height:300px;background:url('../assets/hero-roof.jpeg') center/cover;transition:transform .7s ease,filter .7s ease;filter:saturate(.95)}.project-card:hover .img{transform:scale(1.035);filter:saturate(1.08)}.project-card .body{padding:25px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;padding:14px;background:#111;border:1px solid #333;color:#fff;font:inherit}.form textarea{min-height:150px}.form button{border:0;cursor:pointer}.blog-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.blog-card{border:1px solid var(--line);padding:30px;background:#111}.tag{color:var(--red);font-size:12px;font-weight:800;letter-spacing:.1em}.notice{padding:18px;background:#151515;border-left:3px solid var(--red);color:#ccc}footer{border-top:1px solid var(--line);padding:50px 0;color:#999}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.copyright{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:12px}.social{color:var(--red);font-weight:800}
@media(max-width:900px){.menu{display:none}.mobile{display:block}.nav{height:70px}.grid3,.features,.split,.contact-grid,.project-list,.blog-list,.footer-grid,.projects-grid{grid-template-columns:1fr}.hero{min-height:80vh}.hero h1{font-size:52px}.btn.alt{margin:10px 0 0}.section{padding:65px 0}.project-photo{min-height:300px}}

/* Motion & image effects */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}.card,.feature,.project-card,.blog-card{transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease}.card:hover,.feature:hover,.project-card:hover,.blog-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(0,0,0,.28);border-color:#3a3a3a}@keyframes heroZoom{0%{transform:scale(1.04)}100%{transform:scale(1.10)}}@keyframes photoDrift{0%{background-position:48% 50%}100%{background-position:54% 46%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
