@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');
:root{--black:#111111;--panel:#191919;--gold:#e5b52f;--gold2:#f2cf68;--white:#f7f6f1;--muted:#b7b4aa;--line:#37342b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f3ed;color:#171717;font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.topbar{height:86px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;background:#101010;color:white;border-bottom:1px solid #292929}.brand{display:flex;align-items:center;gap:9px;color:white}.roof-mark{font-size:45px;line-height:1;color:var(--gold);font-weight:700}.brand-type strong,.brand-type small{display:block;line-height:1}.brand-type strong{font-family:'Oswald',sans-serif;font-size:29px;letter-spacing:2px}.brand-type small{font-size:10px;letter-spacing:3px;color:var(--gold);margin-top:5px}nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}nav a:not(.nav-cta):hover,.text-link:hover{color:var(--gold)}.nav-cta{background:var(--gold);color:#111;padding:12px 18px}.hero{min-height:590px;background:radial-gradient(ellipse at 82% 20%,#35332d 0,#171717 40%,#101010 78%);color:white;display:grid;grid-template-columns:1fr .9fr;padding:65px 7vw;gap:5vw;align-items:center}.hero-copy{max-width:620px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#b88612;margin:0 0 17px}.hero .eyebrow{color:var(--gold)}.hero h1,.section h2,.contact-inner h2{font-family:'Oswald',Impact,sans-serif;font-size:clamp(43px,5.3vw,70px);line-height:1.08;letter-spacing:.2px;margin:0 0 22px;text-transform:uppercase}.hero h1 em,.section h2 em,.contact-inner h2 em{color:var(--gold);font-style:normal}.hero-copy>p:not(.eyebrow){font-size:15px;color:#d1cec5;max-width:480px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;font-size:11px;font-weight:800;letter-spacing:1px}.button-gold{background:var(--gold);color:#111}.text-link{font-size:11px;font-weight:800;letter-spacing:1px}.text-link span{color:var(--gold);margin-left:7px}.hero-note{font-family:'Oswald',sans-serif;color:var(--gold);letter-spacing:2px;font-size:14px;margin-top:36px}.hero-photo{height:420px;position:relative;background:#28251d;overflow:hidden;border:1px solid #4c432c}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.82)}.photo-label{position:absolute;left:0;bottom:0;background:var(--gold);color:#111;padding:17px 24px;min-width:220px}.photo-label span,.photo-label strong{display:block}.photo-label span{font-size:9px;letter-spacing:2px;font-weight:800}.photo-label strong{font-family:'Oswald',sans-serif;font-size:25px;text-transform:uppercase}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 10vw;background:#242321;color:white;gap:20px;text-align:center;border-bottom:4px solid var(--gold)}.trust-strip div+div{border-left:1px solid #4b473e}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{font-family:'Oswald',sans-serif;font-size:21px;color:var(--gold);letter-spacing:1px}.trust-strip span{font-size:9px;color:#c5c1b6;letter-spacing:1.2px}.section{padding:90px 9vw}.section-heading{max-width:650px;margin-bottom:38px}.section h2,.contact-inner h2{font-size:clamp(37px,4.5vw,55px);color:#171717}.section-heading>p:last-child,.about p:not(.eyebrow),.contact-inner p:not(.eyebrow){color:#65635d;font-size:14px;max-width:570px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9d4c8;border:1px solid #d9d4c8}.service-card{background:#fff;padding:29px 27px;min-height:185px;border-top:3px solid transparent}.service-card:hover{border-top-color:var(--gold)}.service-card>span{color:#a7790c;font-size:11px;font-weight:800;letter-spacing:1px}.service-card h3{font-family:'Oswald',sans-serif;color:#171717;font-size:22px;line-height:1.25;margin:16px 0 9px;text-transform:uppercase}.service-card p{font-size:12px;color:#65635d;margin:0}.work-section{background:#e9e5db;border-top:1px solid #d8d1c4;border-bottom:1px solid #d8d1c4}.work-inner{padding-top:85px;padding-bottom:90px}.gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.gallery-tile{height:310px;margin:0;background:#242321;position:relative;overflow:hidden;border:4px solid #fff;box-shadow:0 5px 18px #00000018}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block}.gallery-tile figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 18px 16px;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent);color:white}.gallery-tile figcaption span{display:block;font-size:9px;color:var(--gold);letter-spacing:2px;font-weight:800}.gallery-tile figcaption strong{font-family:'Oswald',sans-serif;font-size:21px;text-transform:uppercase}.about{display:grid;grid-template-columns:.6fr 1.4fr;gap:8vw;align-items:center}.about-mark{width:185px;height:185px;border:2px solid var(--gold);outline:1px solid #b9a56b;outline-offset:7px;background:#111;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.about-mark .roof{font-size:36px;color:var(--gold);line-height:1}.about-mark strong{font-family:'Oswald',sans-serif;font-size:58px;line-height:1}.about-mark small{font-size:10px;letter-spacing:3px;color:var(--gold)}.contact-section{background:#111;color:white;border-top:5px solid var(--gold)}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-top:82px;padding-bottom:82px}.contact-inner h2{color:white}.contact-inner p:not(.eyebrow){color:#c6c2b7}.contact-card{background:#222;color:white;padding:32px 35px;border:1px solid #49402a}.contact-line{display:block;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid #49443a}.contact-line span{display:block;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.7px}.contact-line strong{display:block;color:white;font-size:17px;margin-top:5px;overflow-wrap:anywhere}.button.full{width:100%;margin-top:4px}footer{padding:25px 7vw;display:flex;align-items:center;justify-content:space-between;background:#080808;color:#c9c5ba;border-top:1px solid #2b2924}footer p{font-size:10px;color:#9e9a90}
@media(max-width:760px){.topbar{height:auto;padding:18px 6vw;align-items:flex-start;gap:15px;flex-direction:column}nav{width:100%;gap:17px;flex-wrap:wrap;font-size:10px}.nav-cta{padding:9px 12px}.hero{grid-template-columns:1fr;padding:55px 7vw 45px;gap:32px}.hero-photo{height:300px}.hero h1{font-size:51px}.trust-strip{padding:22px 5vw;gap:10px}.trust-strip strong{font-size:17px}.trust-strip span{font-size:8px}.section{padding:66px 7vw}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:22px 18px;min-height:180px}.service-card h3{font-size:19px}.gallery{grid-template-columns:1fr 1fr}.gallery-large{grid-column:span 2}.gallery-tile{height:245px}.about{grid-template-columns:1fr;gap:35px}.about-mark{width:145px;height:145px}.about-mark strong{font-size:46px}.contact-inner{grid-template-columns:1fr;gap:28px;padding-top:62px;padding-bottom:62px}.contact-card{padding:26px 23px}footer{padding:23px 7vw;gap:18px;align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.service-grid{grid-template-columns:1fr}.trust-strip{grid-template-columns:1fr;text-align:left;padding:20px 8vw}.trust-strip div+div{border-left:0;border-top:1px solid #4b473e;padding-top:12px}.hero h1{font-size:44px}.gallery-tile{height:210px}}
