@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#202321;--night:#171d1b;--night2:#242c27;--paper:#f6f4ee;--cream:#eae3d7;--white:#fff;--bronze:#b88a51;--bronze2:#dfbe89;--grey:#6b706c;--border:#d5d2c8;--radius:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.7 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;letter-spacing:-.05em;line-height:1.16;margin:0 0 .55em}h1{font-size:clamp(3.25rem,6vw,6.05rem);font-weight:800}h2{font-size:clamp(2.25rem,4.35vw,4.15rem);font-weight:800}h3{font-size:1.37rem;font-weight:800;letter-spacing:-.035em}p{margin:0 0 1.3em}ul{padding-left:21px}.container{width:min(1220px,calc(100% - 68px));margin-inline:auto}.small{font-size:.87rem}.muted{color:var(--grey)}.eyebrow{display:block;color:var(--bronze);font-weight:800;text-transform:uppercase;letter-spacing:.19em;font-size:.69rem;margin-bottom:20px}.eyebrow.light{color:var(--bronze2)}.gold-line{width:62px;height:3px;background:var(--bronze);margin:22px 0 30px}.section{padding:100px 0}.section.narrow{padding:70px 0}.section.white{background:var(--white)}.section.cream{background:#ece7df}.section-head{margin-bottom:42px;display:flex;align-items:end;justify-content:space-between;gap:34px}.section-head>div{max-width:720px}.section-head p{max-width:680px}.lead{font-size:1.18rem;line-height:1.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:14px 24px;font-size:.83rem;font-weight:800;letter-spacing:.02em;background:var(--bronze);border:1px solid var(--bronze);color:#101511;transition:background .2s,transform .2s}.btn:hover{background:#ddb27c;transform:translateY(-1px)}.btn.outline{background:transparent;border-color:#ffffffaa;color:white}.btn.outline:hover{background:#ffffff20}.btn.ink{background:var(--night);border-color:var(--night);color:white}.btn.ink:hover{background:#384039}.btn.cream{background:transparent;border-color:var(--night);color:var(--night)}.btn.cream:hover{background:#e9e4da}.text-link{font-size:.84rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;padding-bottom:7px;border-bottom:1px solid var(--bronze)}.text-link:hover{color:#966a38}.topnote{background:#101614;color:#d1cfc4;padding:8px 0;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.topnote .container{display:flex;justify-content:space-between;gap:15px}.topnote a{color:var(--bronze2)}.header{position:relative;z-index:10;background:var(--night);color:white;border-bottom:1px solid #ffffff24}.navbar{display:flex;align-items:center;justify-content:space-between;min-height:89px;gap:28px}.wordmark{font-family:Manrope,sans-serif;font-weight:800;line-height:1.08;letter-spacing:-.06em;font-size:1.28rem;white-space:nowrap}.wordmark .sub{display:block;margin-top:7px;font-size:.57rem;font-weight:700;letter-spacing:.2em;color:#c8b49b}.navlinks{display:flex;align-items:center;gap:23px;line-height:1.4}.navlinks a:not(.btn){font-size:.78rem;font-weight:600;color:#e5e7e0}.navlinks a:not(.btn):hover,.navlinks a.current{color:var(--bronze2)}.navlinks .btn{padding:10px 14px;min-height:42px;font-size:.74rem}.menu-toggle{display:none;background:none;border:1px solid #ffffff70;color:white;padding:9px 12px;line-height:1.4}.hero{position:relative;isolation:isolate;background:var(--night);color:#fff;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 45%,#966f3c26,transparent 45%);z-index:-1}.hero-inner{min-height:695px;padding:95px 0 102px;display:grid;align-items:center;grid-template-columns:1.08fr .92fr;gap:55px}.hero h1{max-width:750px}.hero h1 em{font-style:normal;color:var(--bronze2)}.hero p{max-width:610px;font-size:1.04rem;color:#d5d8d2;line-height:1.85}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.hero-photos{position:relative;min-height:460px}.hero-photos:after{content:'';position:absolute;inset:30px 36px 24px 18px;z-index:-1;border:1px solid #c49c5b8a}.hero-photos .mainshot{position:absolute;right:0;top:0;width:72%;height:78%;object-fit:cover;filter:saturate(.9)}.hero-photos .insetshot{position:absolute;left:1%;bottom:0;width:49%;height:56%;object-fit:cover;box-shadow:16px -16px 0 var(--night)}.hero-photos .phototag{position:absolute;right:0;bottom:16px;background:#e8d8bd;color:#18201c;padding:11px 15px;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.trustbar{background:#dcd4c6;padding:24px 0}.trustbar-inner{display:flex;justify-content:space-around;gap:20px;align-items:center;flex-wrap:wrap}.trustbar span{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{padding:30px 29px 34px;background:#fff;border:1px solid var(--border);min-height:310px;display:flex;flex-direction:column}.service-card .num{color:var(--bronze);font:800 .76rem Manrope;letter-spacing:.08em;margin-bottom:42px}.service-card p{color:#64665f;font-size:.91rem}.service-card .text-link{margin-top:auto;align-self:start}.feature{display:grid;grid-template-columns:1fr 1fr;gap:min(8vw,105px);align-items:center}.feature.reverse>:first-child{order:2}.feature-pic{width:100%;height:530px;object-fit:cover;box-shadow:18px 18px 0 #dacdba}.feature p{max-width:560px}.photo-note{font-size:.75rem;color:#72736e;margin-top:19px}.photo-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{background:white;border:1px solid var(--border);overflow:hidden;display:block}.project-card img{height:260px;width:100%;object-fit:cover;transition:transform .4s}.project-card:hover img{transform:scale(1.04)}.project-card .desc{padding:19px 21px 23px}.project-card h3{font-size:1.07rem;margin:0 0 4px}.project-card .desc p{margin:0;color:#77796f;font-size:.8rem}.work-shot{overflow:hidden}.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.process-card{border-top:3px solid var(--bronze);padding-top:25px}.process-card span{font:800 .82rem Manrope;color:#9b723d}.process-card h3{margin-top:15px}.process-card p{color:#73766e}.cta{background:linear-gradient(115deg,#19211d,#27342a);color:#fff;padding:82px 0}.cta-inner{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:38px}.cta h2{margin:0 0 16px}.cta p{color:#d7ded5;margin:0}.cta .btn{justify-self:end}.pagehero{padding:93px 0 105px;background:var(--night);color:white;position:relative;overflow:hidden}.pagehero:after{content:'';position:absolute;right:-130px;top:-180px;width:500px;height:500px;border-radius:50%;border:1px solid #d7b07933}.pagehero h1{max-width:1000px;font-size:clamp(2.9rem,5.5vw,5.2rem)}.pagehero p{max-width:730px;color:#ccd0cb;font-size:1.1rem}.taglist{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.tag{border:1px solid #b6ac9c;padding:8px 13px;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em}.bullet-list{padding-left:17px;margin:20px 0 26px}.bullet-list li{padding:6px 0}.shade-card{padding:36px;background:#e5dfd4}.shade-card h3{margin-bottom:15px}.shade-card p{color:#666961}.quote-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.9fr);gap:55px}.quote-fieldset{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.wide{grid-column:1/-1}.form-field label{font-size:.83rem;font-weight:700;color:#273028}.form-field input,.form-field select,.form-field textarea{appearance:none;border:1px solid #bfbcb4;background:white;min-height:50px;padding:12px 13px;width:100%;color:#222;outline-offset:3px;border-radius:2px}.form-field textarea{min-height:150px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#9b733f;box-shadow:0 0 0 2px #d4a96d36}.form-field small{color:#747970;font-size:.74rem}.form-intro{margin-bottom:27px}.submit-row{padding-top:22px}.aside{background:#eee8df;padding:32px;align-self:start}.aside h3{margin-bottom:17px}.aside li{margin:8px 0}.privacy{color:#697168;font-size:.77rem;line-height:1.6}.privacy a{text-decoration:underline}.alert{background:#fff2dd;border-left:3px solid #ad8a4c;padding:11px 15px;font-size:.84rem}.footer{padding:75px 0 25px;background:#111613;color:#ddd}.footer-grid{display:grid;grid-template-columns:1.75fr 1fr 1fr;gap:55px}.footer .wordmark{font-size:1.6rem}.footer p{color:#bbbfb8;font-size:.88rem;max-width:480px;margin-top:16px}.footer h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#e2c99f;margin-bottom:19px}.footer nav a{display:block;color:#bdc0bc;font-size:.85rem;margin-bottom:8px}.footer nav a:hover{color:white}.footer-bottom{border-top:1px solid #ffffff2a;margin-top:50px;padding-top:22px;color:#a1a9a0;font-size:.78rem;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.footer-bottom a{text-decoration:underline}.skip{position:absolute;left:-9999px;top:10px;background:white;color:black;z-index:999;padding:10px}.skip:focus{left:15px}.thanks{max-width:760px;margin:0 auto;text-align:center}.thanks .big-check{font-size:4rem;color:var(--bronze)}.pill{color:var(--bronze);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:1120px){.navlinks{gap:14px}.navlinks a:not(.btn){font-size:.73rem}.navbar{gap:15px}.hero-inner{gap:22px}.hero-photos{min-height:410px}}
@media(max-width:860px){.container{width:min(100% - 38px,1220px)}.navlinks{display:none;position:absolute;top:100%;right:0;left:0;background:#1b231e;padding:22px 19px 28px;flex-direction:column;align-items:stretch;gap:18px;border-bottom:1px solid #b88a51}.navlinks.open{display:flex}.navlinks a{font-size:.92rem!important}.menu-toggle{display:block}.hero-inner{min-height:unset;grid-template-columns:1fr;padding:65px 0 82px;gap:45px}.hero-photos{width:min(550px,100%);height:360px;min-height:360px;justify-self:center}.hero-photos .mainshot{width:65%;height:90%}.hero-photos .insetshot{width:48%;height:65%}.section{padding:78px 0}.cards3{grid-template-columns:repeat(2,1fr)}.feature{gap:32px}.feature-pic{height:410px}.photo-wall{grid-template-columns:repeat(2,1fr)}.quote-grid{grid-template-columns:1fr}.cta-inner{grid-template-columns:1fr}.cta .btn{justify-self:start}.footer-grid{grid-template-columns:1.5fr 1fr;gap:35px}}
@media(max-width:570px){h1{font-size:3rem}h2{font-size:2.3rem}.topnote{font-size:.57rem}.topnote span:last-child{display:none}.navbar{min-height:76px}.wordmark{font-size:1.09rem}.section{padding:65px 0}.hero-inner{padding:60px 0 70px}.hero-photos{min-height:270px;height:270px}.hero-photos .mainshot{height:88%}.hero-photos .insetshot{height:65%}.hero-photos .phototag{font-size:.55rem}.section-head{display:block}.cards3,.feature,.photo-wall,.process,.quote-fieldset,.footer-grid{grid-template-columns:1fr}.feature.reverse>:first-child{order:initial}.feature-pic{height:330px;box-shadow:10px 10px 0 #dacdba}.service-card{min-height:235px}.service-card .num{margin-bottom:20px}.project-card img{height:250px}.pagehero{padding:70px 0 80px}.pagehero h1{font-size:2.75rem}.footer{padding:55px 0 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Actual project photography and mobile-friendly gallery details */
.topnote .container{align-items:center;flex-wrap:wrap;row-gap:3px}.call-top{white-space:nowrap}.call-top:hover,.phone-link:hover{color:var(--bronze2)}.phone-link{font-weight:800;color:var(--bronze2)!important}
.project-card-link{display:block;color:inherit}.project-card-link:hover h3{color:#865c32}.project-card .desc p{min-height:0}.gallery-link{display:inline-block;margin-top:8px;color:#956a3c;font-size:.77rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.project-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-gallery-grid .project-card .work-shot img{width:100%;height:260px;object-fit:cover}.project-gallery-grid .project-card{height:100%}.project-gallery-grid .project-card-link{height:100%}
.back-on-dark{color:#dfbe89;display:inline-block;margin-top:17px}.project-intro{max-width:760px;margin-bottom:36px}.gallery-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-photo{display:block;overflow:hidden;background:#ddd1c0;min-height:190px}.gallery-photo img{width:100%;height:300px;object-fit:cover;transition:transform .25s ease}.gallery-photo:hover img{transform:scale(1.025)}.actions-after-gallery{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.callout-phone{padding:13px;background:#e9e2d7;font-weight:800;color:#151c19}.callout-phone a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.project-gallery-grid,.gallery-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo img{height:230px}}
@media(max-width:600px){.project-gallery-grid,.gallery-photos{grid-template-columns:1fr}.gallery-photo img{height:auto;max-height:490px;object-fit:contain}.topnote .container{gap:5px 13px}.call-top{font-size:.67rem}}

/* Photo-led service navigation and complete service galleries */
.service-categories .service-card{padding:0;min-height:0;overflow:hidden;transition:box-shadow .2s,transform .2s}
.service-categories .service-card:hover{box-shadow:0 12px 24px #19231c17;transform:translateY(-2px)}
.service-category-link{display:flex;flex-direction:column;color:inherit;height:100%;padding:0 0 25px}
.service-category-link .service-thumb{display:block;width:100%;height:178px;object-fit:cover;margin-bottom:19px}
.service-category-link .num,.service-category-link h3,.service-category-link p,.service-category-link .service-open{margin-left:25px;margin-right:25px}
.service-category-link .num{margin-bottom:11px}
.service-category-link h3{margin-bottom:10px}
.service-category-link p{flex:1;margin-top:0;margin-bottom:18px}
.service-open{display:block;font-weight:800;color:#946a3f;font-size:.79rem;margin-top:auto}
.service-category-link:focus-visible,.portfolio-category-links a:focus-visible,.category-related-card:focus-visible{outline:3px solid #ba8a4b;outline-offset:3px}
.category-gallery .gallery-photo{border:1px solid #d0c6b7}
.category-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:25px}
.category-related-card{display:flex;flex-direction:column;justify-content:space-between;gap:23px;padding:22px;border:1px solid #cdc4b5;background:#fff;color:#18221c;min-height:135px}
.category-related-card:hover{border-color:#a57a49}
.category-related-card span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#946a3f}
.portfolio-category-nav{padding:29px 31px;margin:20px 0 45px;background:#eae2d7;border-left:4px solid #9c784d}
.portfolio-category-nav h2{font-size:1.6rem;margin:0 0 7px}
.portfolio-category-nav p{font-size:.9rem;margin:0 0 18px;color:#4c5149}
.portfolio-category-links{display:flex;flex-wrap:wrap;gap:10px}
.portfolio-category-links a{display:inline-block;background:#fff;padding:10px 13px;font-size:.77rem;font-weight:800;color:#272e29;border:1px solid #d1c9bd}
.portfolio-category-links a:hover{background:#1b241e;color:#fff}
@media(max-width:850px){.category-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.category-projects{grid-template-columns:1fr}.service-category-link .service-thumb{height:210px}.portfolio-category-nav{padding:22px 18px}}
