:root{--ink:#20231f;--gold:#b9956c;--cream:#f6f5f1;--muted:#696c63;--line:#deded6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b9956c;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.07;letter-spacing:-.045em}h1{font-size:clamp(42px,5.4vw,83px);font-weight:600;max-width:950px;margin:28px 0}h2{font-size:clamp(34px,3.7vw,57px);font-weight:500;margin-bottom:25px}h3{font-size:28px;font-weight:500}em{font-family:Georgia,serif;font-weight:400}p{color:var(--muted);max-width:670px}header{height:102px;display:flex;align-items:center;padding:12px 4%;gap:35px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e5df}.brand{width:235px;flex-shrink:0}.brand img{width:100%;height:77px;object-fit:contain}nav{display:flex;align-items:center;gap:27px;margin-left:auto;font-size:14px;font-weight:600}nav a:hover{color:#8d6940}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--gold);color:#171c16;padding:17px 24px;font-size:13px;font-weight:700;border:0;transition:transform .25s,background .25s;letter-spacing:.01em}.button:hover{transform:translateY(-3px);background:#cdaa80}.button span{font-size:20px;line-height:1}.header-cta{white-space:nowrap}#menu{display:none}.dropdown{position:relative;padding:20px 0}.dropmenu{position:absolute;left:-20px;top:60px;width:230px;padding:17px;background:#fff;box-shadow:0 15px 30px #0002;display:none}.dropmenu a{display:block;padding:8px}.dropdown:hover .dropmenu,.dropdown:focus-within .dropmenu{display:block}.hero{position:relative;overflow:hidden;color:#fff;background:#20231f}.hero-image{position:absolute;inset:0;height:100%;animation:kenburns 24s ease-in-out infinite alternate;object-position:center 56%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,15,.88),rgba(12,22,15,.45) 58%,rgba(12,22,15,.1)),linear-gradient(0deg,#111a1370,transparent 30%)}.hero-content{position:relative;z-index:1;padding:95px 7% 120px}.home-hero .hero-content{padding-top:110px;padding-bottom:140px}.hero p{color:#f4f4ee;max-width:535px;font-size:17px;line-height:1.7;text-shadow:0 1px 8px #0008}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:700;display:block;color:#776347;margin-bottom:24px}.eyebrow.light{color:#eee6d8}.eyebrow i{width:5px;height:5px;background:var(--gold);display:inline-block;border-radius:50%;margin:0 13px 2px}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:33px}.text-link{font-size:14px;border-bottom:1px solid #ffffff60;padding-bottom:6px}.hero-bottom{position:absolute;bottom:24px;left:7%;right:7%;display:flex;justify-content:space-between;z-index:2;font-size:10px;letter-spacing:.15em}.wrap{max-width:1350px;margin:auto;padding:95px 6%}.intro-split,.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.intro-split{padding-top:90px;padding-bottom:55px}.large{font-size:24px;line-height:1.5;color:var(--ink)}.line-link{display:inline-block;margin-top:16px;font-size:13px;font-weight:700;border-bottom:1px solid var(--gold);padding:6px 0}.section-head{max-width:750px;margin-bottom:40px}.section-head p{font-size:17px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{position:relative;min-height:470px;overflow:hidden;color:#fff;background:#20231f}.service-card>img{position:absolute;height:100%;transition:transform .8s}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102016f2,transparent 100%)}.service-card>div{position:absolute;bottom:0;padding:35px;z-index:1}.service-card .eyebrow{color:#ded0bc;margin-bottom:12px}.service-card h3{font-size:34px;display:flex;justify-content:space-between;gap:20px}.service-card p{color:#e9ece7;font-size:14px;margin-bottom:0;max-width:420px}.service-card:hover img{transform:scale(1.05)}.dark-section{background:#222b23;color:#fff;position:relative;overflow:hidden}.dark-section:before{content:'';position:absolute;right:4%;top:0;width:200px;height:100%;border-left:1px solid #ffffff0b;border-right:1px solid #ffffff0b;transform:skew(-18deg);pointer-events:none}.dark-section p{color:#c4cbc1}.dark-section .eyebrow{color:#c7a681}.steps{list-style:none;margin:0;padding:0;counter-reset:step}.steps li{display:flex;gap:30px;border-bottom:1px solid #ffffff25;padding:28px 0}.steps span{font-family:Georgia,serif;font-size:26px;color:var(--gold)}.steps h3{font-size:23px;letter-spacing:-.02em;margin-bottom:10px}.steps p{font-size:14px;margin:0}.wrap>.steps li,.split>.steps li{border-color:#aaa5}.work-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.work-strip img{height:340px;transition:transform .5s}.work-strip img:hover{transform:translateY(-6px)}.faqs details{border-bottom:1px solid var(--line);padding:23px 0}.faqs summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:17px;font-weight:600;line-height:1.4}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:24px;font-weight:400;color:#98784d}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{font-size:15px;padding:20px 25px 0 0;margin-bottom:0}.cta{position:relative;min-height:470px;color:white;overflow:hidden;margin-top:25px}.cta>img{position:absolute;height:100%;object-position:center 45%}.cta:after{content:'';position:absolute;inset:0;background:#111c16bb}.cta>div{position:relative;z-index:1;padding:75px 9%;text-align:center}.cta h2{font-size:clamp(42px,4.3vw,65px)}.cta p{color:#e0e5dd;margin:0 auto 28px}.cta .eyebrow{color:#d8b78c}footer{background:#fff;padding:65px 6% 20px}.footer-main{display:grid;grid-template-columns:1.35fr .8fr .8fr 1.1fr;gap:45px;max-width:1200px;margin:auto}.footer-logo{display:block;width:250px;margin-bottom:25px}.footer-logo img{object-fit:contain}.footer-main a:not(.footer-logo){display:block;font-size:13px;margin:10px 0;overflow-wrap:anywhere}.footer-main a:hover{text-decoration:underline;text-underline-offset:5px}.footer-main p{font-size:13px}.footer-main .eyebrow{font-size:10px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:50px;font-size:10px;letter-spacing:.08em;color:#74766d}.portrait{height:560px;object-fit:cover}.benefits{padding:0;list-style:none;margin-top:35px}.benefits li{padding:17px 0;border-top:1px solid var(--line);font-size:15px}.benefits li:before{content:'↗';color:#937243;margin-right:17px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{border:0;padding:0;background:transparent;position:relative;overflow:hidden;min-height:320px}.gallery-item:nth-child(4n+1){grid-column:span 2}.gallery-item img{height:100%;max-height:440px;transition:transform .6s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;bottom:15px;right:15px;background:#fff;padding:8px 15px;font-size:12px}.area-panel{background:#243126;color:white;padding:50px;position:relative;overflow:hidden;box-shadow:15px 15px 0 #e2d8c9}.area-panel>span{font-size:12px;letter-spacing:.25em}.area-panel strong{display:block;font-size:clamp(110px,15vw,220px);line-height:1.3;letter-spacing:-.08em;font-weight:600;color:#d0b18e}.area-panel p{color:#e1e9df;font-size:20px}.area-panel a{font-size:12px;text-decoration:underline}.narrow{max-width:1000px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px}.contact-detail{border-top:1px solid var(--line);padding:22px 0}.contact-detail small{display:block;font-size:10px;letter-spacing:.17em;margin-bottom:8px;color:#776347}.contact-detail a{font-size:clamp(13px,1.35vw,19px);overflow-wrap:anywhere}form{background:#fff;padding:40px}form>p{font-size:13px}form h3{font-size:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;font-weight:600;margin:17px 0}input,select,textarea{width:100%;border:1px solid #d7d8cf;background:#fcfcfa;padding:12px;margin-top:8px;border-radius:0;font-size:14px;color:var(--ink)}textarea{resize:vertical}form .button{margin-top:10px;width:100%}#form-status{margin:15px 0 0}dialog{padding:0;background:#172018;border:0;max-width:92vw;max-height:92vh}dialog::backdrop{background:#000d}dialog img{max-height:85vh;max-width:90vw;object-fit:contain}.close{position:absolute;right:10px;top:10px;background:white;color:#111;width:40px;height:40px;border:0;border-radius:50%;font-size:30px}.skip{position:fixed;top:-80px;background:white;z-index:50;padding:10px}.skip:focus{top:0}.motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.motion .reveal.visible{opacity:1;transform:none}.inner-hero .hero-content{padding-top:75px;padding-bottom:100px}.inner-hero h1{font-size:clamp(42px,5vw,75px)}@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}@media(min-width:1500px){.hero-content{max-width:1600px;margin:auto}}@media(max-width:1080px){header{gap:20px;padding:12px 3%}nav{gap:18px}.brand{width:185px}.header-cta{padding:14px;gap:12px}.split,.intro-split{gap:40px}.contact-grid{gap:35px}.footer-main{gap:25px}.footer-logo{width:190px}}@media(max-width:800px){header{height:82px}.brand{width:185px}.brand img{height:63px}.header-cta{margin-left:auto;font-size:11px}#menu{display:block;border:0;background:none;font-size:24px;padding:5px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:25px;box-shadow:0 15px 20px #0002}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:15px}.dropdown{padding:0}.dropmenu{display:block;position:static;box-shadow:none;padding:8px 15px 0;width:auto;font-weight:400}.hero-content,.home-hero .hero-content{padding:80px 7% 110px}h1{font-size:48px}.wrap{padding:65px 7%}.split,.intro-split,.contact-grid{grid-template-columns:1fr;gap:35px}.service-grid{gap:18px}.service-card{min-height:430px}.service-card>div{padding:23px}.service-card h3{font-size:27px}.work-strip{grid-template-columns:1fr 1fr}.work-strip img{height:280px}.work-strip img:last-child{display:none}.portrait{height:450px}.footer-main{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery-item:nth-child(4n+1){grid-column:auto}.gallery-item{min-height:260px}.contact-grid form{padding:25px}}@media(max-width:500px){.brand{width:156px}.header-cta{padding:11px;gap:8px}.header-cta span{display:none}header{gap:10px}h1,.inner-hero h1{font-size:41px}.hero-content>.eyebrow{font-size:9px;letter-spacing:.12em}.hero-actions{gap:23px;align-items:flex-start;flex-direction:column}.hero-bottom{font-size:8px}.hero p{font-size:15px}.service-grid{grid-template-columns:1fr}.service-card{min-height:450px}.footer-main{gap:30px 20px}.footer-main>div:first-child,.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{gap:20px;font-size:9px}.gallery{grid-template-columns:1fr}.gallery-item{height:360px}.form-row{grid-template-columns:1fr;gap:0}.cta>div{padding:65px 7%}.hero-image{object-position:60% center}.portrait{height:400px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
/* Our Work: ordered collections and naturally proportioned photo rows. */
.gallery-jump{display:flex;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);padding:23px 0 0;margin-top:10px}.gallery-jump a{font-size:12px;font-weight:600;display:flex;gap:18px;align-items:center}.gallery-jump a span{color:#937243}.project-collection{padding-top:65px;scroll-margin-top:125px}.project-collection+.project-collection{margin-top:20px}.collection-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:25px}.collection-heading h2{font-size:clamp(28px,3vw,40px);margin-bottom:12px}.collection-heading p{margin:0;font-size:14px}.collection-heading>span{font-size:10px;letter-spacing:.16em;color:#776347;white-space:nowrap}.flow-gallery{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}.flow-gallery .gallery-item{flex:var(--photo-ratio) 1 var(--photo-width);aspect-ratio:var(--photo-ratio);height:auto;min-height:0;min-width:0;max-width:100%;display:block;grid-column:auto;background:transparent}.flow-gallery .gallery-item img{width:100%;height:100%;max-height:none;object-fit:contain;transition:filter .4s}.flow-gallery .gallery-item:hover img{transform:none;filter:brightness(.92)}.flow-gallery .gallery-item span{width:36px;height:36px;border-radius:50%;padding:3px;display:grid;place-items:center;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s;bottom:12px;right:12px;font-size:19px}.flow-gallery .gallery-item:hover span,.flow-gallery .gallery-item:focus-visible span{opacity:1;transform:none}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#fffc;color:#222;width:42px;height:42px;border-radius:50%;font-size:25px;z-index:2}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-counter{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:#18251de0;color:white;font-size:12px;letter-spacing:.12em;padding:5px 13px;border-radius:20px}.close{z-index:3}@media(max-width:700px){.flow-gallery{gap:12px}.flow-gallery .gallery-item{flex-basis:calc(var(--photo-ratio)*170px)}.collection-heading{align-items:flex-start}.collection-heading>span{padding-top:8px}.gallery-jump{gap:15px 22px}.project-collection{padding-top:45px}.project-collection+.project-collection{margin-top:10px}}@media(max-width:450px){.flow-gallery .gallery-item{flex-basis:calc(var(--photo-ratio)*150px)}.collection-heading>span{display:none}.gallery-jump a{font-size:11px;gap:7px}.lightbox-prev,.lightbox-next{width:34px;height:34px}}

/* Supplied call-to-action image: preserve resolution and emphasize the roof. */
.cta{background:#202820}.cta>img{object-position:center 60%;filter:brightness(.92)}.cta:after{background:linear-gradient(90deg,rgba(15,24,18,.77),rgba(15,24,18,.55),rgba(15,24,18,.77))}.cta h2,.cta p,.cta .eyebrow{text-shadow:0 2px 12px #0009}
/* Full service offering: six balanced photo cards. */
.expanded-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.expanded-services .service-card{min-height:440px}.expanded-services .service-card>div{padding:26px}.expanded-services .service-card h3{font-size:29px;letter-spacing:-.035em}.expanded-services .service-card .eyebrow{font-size:9px;letter-spacing:.12em}.expanded-services .service-card p{font-size:13px;line-height:1.65}.expanded-services .service-card:after{background:linear-gradient(0deg,rgba(12,25,18,.98),rgba(12,25,18,.62) 48%,rgba(12,25,18,.05) 100%)}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;scroll-margin-top:100px;padding-top:60px;padding-bottom:60px}.service-detail+.service-detail{border-top:1px solid var(--line)}.service-detail .button{margin-top:15px}.dropmenu{width:250px}.dropmenu a{padding:10px 8px}.dropmenu a:hover{background:var(--cream)}@media(max-width:1000px){.expanded-services{grid-template-columns:repeat(2,minmax(0,1fr))}.expanded-services .service-card{min-height:430px}}@media(max-width:800px){nav.open{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain}.dropmenu{width:auto}.service-detail{grid-template-columns:1fr;gap:10px}}@media(max-width:560px){.expanded-services{grid-template-columns:1fr}.expanded-services .service-card{min-height:440px}.expanded-services .service-card h3{font-size:32px}}
