:root{--orange:#ff4d00;--black:#0b0b0b;--cream:#eeeae1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#fff;font-family:'DM Sans',sans-serif}a{color:inherit}img{display:block}header{height:72px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;background:#090909;position:sticky;top:0;z-index:20;border-bottom:1px solid #333}.logo{text-decoration:none;font-weight:700;letter-spacing:.07em}.logo b,em{color:var(--orange);font-style:normal}nav{display:flex;align-items:center;gap:28px}nav>a{text-decoration:none;font-size:13px}.menu{display:none;border:0;background:none;color:#fff;font-size:25px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;background:var(--orange);color:#fff;text-decoration:none;font-weight:700;padding:0 25px}.btn.mini{min-height:40px;padding:0 18px}.hero{height:calc(100svh - 72px);min-height:650px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.4) 58%,rgba(0,0,0,.12))}.hero-copy{position:absolute;left:7vw;top:48%;transform:translateY(-50%);max-width:800px}.hero small,.gallery small,.service-list small{color:var(--orange);font-weight:700;letter-spacing:.2em}.hero h1,.intro h2,.service-list h2,.gallery h2,.cta h2{font-family:'Archivo Black',sans-serif;letter-spacing:0}.hero h1{font-size:clamp(58px,9vw,128px);line-height:.82;margin:20px 0}.hero p{font-size:18px;max-width:520px;line-height:1.6;margin:25px 0 35px}.hero-address{position:absolute;left:7vw;right:7vw;bottom:0;padding:21px 0;border-top:1px solid rgba(255,255,255,.5);font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.08em}.intro{padding:110px 7vw;background:var(--cream);color:var(--black);display:grid;grid-template-columns:.45fr 1.3fr .6fr;gap:4vw;align-items:start}.intro span{color:var(--orange);font-weight:700}.intro h2{font-size:clamp(42px,5vw,76px);line-height:.95;margin:0}.intro p{line-height:1.7;margin:0}.services{display:grid;grid-template-columns:1fr 1fr}.service-photo img{width:100%;height:100%;min-height:780px;object-fit:cover}.service-list{padding:9vw 7vw;background:#141414}.service-list h2{font-size:clamp(38px,4.5vw,68px);line-height:.95}.service-list article{display:grid;grid-template-columns:55px 1fr;border-top:1px solid #454545;padding:22px 0}.service-list article span{color:var(--orange);font-weight:700}.service-list h3{margin:0 0 6px}.service-list p{margin:0;color:#aaa}.arrow{display:inline-block;margin-top:30px;color:var(--orange);font-weight:700}.gallery{padding:110px 5vw}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.gallery h2{font-size:clamp(42px,6vw,86px);line-height:.9;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:12px}.grid img{width:100%;height:100%;object-fit:cover}.grid .tall{grid-row:span 2}.grid .wide{grid-column:span 2}.cta{padding:120px 7vw;text-align:center;background:var(--orange)}.cta p{font-weight:700;letter-spacing:.2em}.cta h2{font-size:clamp(46px,7vw,100px);line-height:.9}.cta em{color:#0b0b0b}.btn.light{background:#fff;color:#111}footer{padding:55px 6vw;display:flex;justify-content:space-between;align-items:end;gap:35px;background:#050505}footer p{color:#aaa;line-height:1.6;margin-bottom:0}footer>a{color:var(--orange);font-weight:700}
@media(max-width:760px){header{height:64px}.logo{font-size:10px}.menu{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;padding:22px 5vw;background:#090909;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{height:760px}.hero h1{font-size:54px}.hero-copy{left:6vw;right:6vw}.hero-address{left:6vw;right:6vw}.intro{grid-template-columns:1fr;padding:75px 6vw}.services{grid-template-columns:1fr}.service-photo img{min-height:500px}.service-list{padding:75px 6vw}.gallery{padding:75px 4vw}.gallery-head{display:block}.gallery-head small{display:block;margin-bottom:18px}.grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.grid .tall{grid-row:auto}.grid .wide{grid-column:span 2}.cta{padding:80px 5vw}footer{flex-direction:column;align-items:flex-start}}
