:root{--ink:#121619;--slate:#222a2f;--copper:#c78a42;--cream:#f4f0e9;--white:#fff;--muted:#aeb5b7;--line:#d9d5cd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#101518;color:white;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:48px;border:1px solid var(--copper);display:grid;place-items:center;color:var(--copper);font:bold 28px Georgia,serif}.brand strong,.brand small{display:block}.brand strong{font:800 22px/1 "Libre Franklin",sans-serif;letter-spacing:.11em}.brand small{font-size:10px;letter-spacing:.19em;color:#c8cdcf;margin-top:7px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.site-header nav a{transition:.2s}.site-header nav a:hover{color:var(--copper)}.nav-cta{border:1px solid var(--copper);padding:12px 18px}.menu{display:none}.hero{min-height:calc(100vh - 84px);position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url("hero-roof.png") center/cover no-repeat}.hero-shade{background:linear-gradient(90deg,rgba(10,14,16,.9) 0%,rgba(10,14,16,.67) 40%,rgba(10,14,16,.05) 75%)}.hero-content{position:relative;width:min(680px,90vw);margin-left:7vw;padding:80px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;color:#e4b16f;margin:0 0 20px}.eyebrow.dark{color:#996328}.hero h1,.intro h2,.section-heading h2,.standard h2,.process h2,.area h2,.contact h2{font-family:"Libre Franklin",sans-serif;letter-spacing:-.045em;line-height:.98;margin:0}.hero h1{font-size:clamp(50px,7vw,94px);font-weight:800}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#edc18e}.hero-copy{font-size:19px;max-width:590px;color:#d8dddf;margin:28px 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{padding:15px 22px;font-weight:700;font-size:14px}.primary{background:var(--copper);color:#131719}.ghost{border:1px solid #8d969a}.trust-line{display:flex;gap:0;margin-top:54px;color:#ced3d5;font-size:13px}.trust-line span{padding-right:22px;margin-right:22px;border-right:1px solid #667074}.trust-line span:last-child{border:0}.intro{padding:120px 8vw;display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;align-items:start}.intro .eyebrow{grid-column:1/-1;margin-bottom:-32px}.intro h2,.section-heading h2,.standard h2,.process h2,.contact h2{font-size:clamp(38px,5vw,67px)}.intro>p:last-child{font-size:19px;color:#4c5558;max-width:610px;margin:4px 0}.services{background:#fff;padding:110px 7vw}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:56px}.section-heading>p{max-width:350px;color:#697174}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe1e1;border:1px solid #dfe1e1}.service{background:#fff;padding:38px;min-height:290px}.service.featured{grid-row:span 2;background:var(--slate);color:#fff}.num{color:var(--copper);font-size:13px;font-weight:700}.service h3{font:700 26px "Libre Franklin",sans-serif;margin:42px 0 14px}.service p{color:#6b7477}.service.featured p{color:#cbd0d2}.service ul{padding-left:18px;color:#e5e8e9}.standard{background:#172025;color:#fff;padding:110px 7vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.standard-copy p:not(.eyebrow){color:#bcc4c7;font-size:18px;max-width:470px}.text-link{display:inline-block;color:#e3ad69;font-weight:700;margin-top:20px}.text-link span{padding-left:8px}.standard-list>div{display:flex;gap:25px;padding:27px 0;border-top:1px solid #3a4449}.standard-list b{color:var(--copper);font-size:13px}.standard-list strong,.standard-list small{display:block}.standard-list strong{font-size:20px}.standard-list small{color:#aeb7ba;font-size:15px;margin-top:7px}.process{padding:115px 7vw}.process>h2{max-width:750px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:70px}.steps>div{border-top:3px solid var(--ink);padding-top:24px}.steps span{color:#a66c2d;font-weight:700;font-size:13px}.steps h3{font:700 23px "Libre Franklin",sans-serif;margin:35px 0 9px}.steps p{color:#667074;margin:0}.area{padding:90px 7vw;background:var(--copper);display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.area .eyebrow{color:#432b14}.area h2{font-size:clamp(36px,4vw,60px)}.area>p{font-size:18px;margin:0}.contact{padding:110px 7vw;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.contact>div:last-child>p:first-child{font-size:18px;color:#586164}.contact-note{font-size:14px;border-left:3px solid var(--copper);padding-left:14px;margin-top:25px}footer{background:#0e1316;color:#b9c0c2;padding:45px 5vw;display:flex;align-items:center;justify-content:space-between;font-size:13px}.footer-brand{color:#fff}@media(max-width:900px){.site-header{height:72px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#101518;padding:25px 5vw;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.menu{display:block;border:1px solid #596267;background:transparent;color:#fff;padding:9px 13px}.hero{min-height:740px}.hero-content{margin-left:5vw}.intro,.standard,.area,.contact{grid-template-columns:1fr}.intro .eyebrow{margin-bottom:0}.service-grid{grid-template-columns:1fr 1fr}.service.featured{grid-row:auto;grid-column:1/-1}.steps{grid-template-columns:1fr 1fr}.site-header nav .nav-cta{text-align:center}.trust-line{flex-wrap:wrap;row-gap:10px}}@media(max-width:600px){.brand strong{font-size:17px}.brand small{font-size:8px}.brand-mark{width:36px;height:40px}.hero{min-height:690px}.hero-shade{background:linear-gradient(90deg,rgba(10,14,16,.93),rgba(10,14,16,.4))}.hero-content{padding:60px 0}.hero-copy{font-size:17px}.trust-line{display:block;margin-top:36px}.trust-line span{display:block;border:0;margin:6px 0;padding:0}.intro,.services,.standard,.process,.area,.contact{padding:80px 6vw}.section-heading{display:block}.section-heading>p{margin-top:24px}.service-grid,.steps{grid-template-columns:1fr}.service.featured{grid-column:auto}.service{min-height:auto}.area{gap:30px}footer{align-items:flex-start;flex-direction:column;gap:18px}}
