:root{--green:#123e2f;--dark:#102f25;--gold:#d0a65f;--cream:#f5f2e9;--text:#23362d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--text);font:16px/1.6 Arial,sans-serif;background:var(--cream)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #c3872c;outline-offset:5px}header{max-width:1380px;margin:auto;display:flex;align-items:center;gap:40px;padding:24px 5%}.brand{display:flex;gap:14px;align-items:center;font:bold 28px Georgia,serif;white-space:nowrap}.brand i{color:#a97e3f;font-style:normal}.brand small{display:block;font:9px/1.8 Arial;letter-spacing:1px}.monogram{border:1px solid var(--green);font:22px Georgia;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%}.monogram span{font-size:15px;color:#a97e3f}.location{margin-left:auto;font-size:14px;line-height:1.45}.location small{color:#607267;font-size:12px}.phone{font-weight:700}.menu{display:none}nav{background:var(--green);color:#fff;position:sticky;top:0;z-index:10}nav>div{max-width:1240px;margin:auto;display:flex;gap:25px;align-items:center;padding:13px 24px}nav a{font-size:14px}nav a:hover{color:var(--gold)}nav .nav-cta{margin-left:auto;background:var(--gold);color:var(--dark);padding:9px 15px;font-weight:700;border-radius:3px}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:var(--cream)}.hero-copy{padding:70px max(30px,calc((100vw - 1140px)/2)) 55px;padding-right:50px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#987039;margin:0 0 18px}.hero .eyebrow,.contact .eyebrow,.about .eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(38px,4.2vw,64px)/1.12 Georgia,serif;letter-spacing:-1.5px;margin-bottom:24px}em{font-style:normal;color:var(--gold)}.intro{font-size:19px;line-height:1.5;max-width:470px}.hero-description{color:#b9c9c0;max-width:450px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 20px}.button{display:inline-block;padding:13px 21px;border-radius:3px;font-weight:700;font-size:14px;transition:filter .15s}.button:hover{filter:brightness(1.12)}.gold{background:var(--gold);color:var(--dark)}.outline{border:1px solid #719282;color:#fff}.subtle{font-size:13px;color:#d2dcd5;border-bottom:1px solid #678371}.hero-photo{position:relative;overflow:hidden;min-height:550px}.hero-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:55% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071e19ce,transparent 65%)}.photo-note{position:absolute;bottom:45px;left:40px;z-index:1}.photo-note span{font-size:11px;letter-spacing:1.5px}.photo-note strong{font:30px/1.25 Georgia;display:block;margin-top:12px}.artisan-badge{position:absolute;right:30px;top:30px;z-index:1;background:var(--cream);color:var(--green);padding:18px;text-align:center;font-size:12px;letter-spacing:2px;box-shadow:0 3px 15px #0002}.artisan-badge b{font:24px Georgia}.trust-strip{display:flex;justify-content:space-between;gap:20px;padding:25px max(24px,calc((100vw - 1140px)/2));border-bottom:1px solid #dbddd2}.trust-strip span{color:#a78247;font:20px Georgia;white-space:nowrap}.trust-strip b{font:14px Arial;color:var(--green);margin-left:12px}.section{padding:80px max(24px,calc((100vw - 1140px)/2))}h2{font:normal clamp(30px,3vw,43px)/1.2 Georgia;letter-spacing:-.7px;margin-bottom:20px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.section-head p:not(.eyebrow){font-size:14px;color:#6c786f}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{padding:30px;background:#faf9f4;border:1px solid #daddd1;border-radius:4px;display:flex;flex-direction:column;scroll-margin-top:100px}.service-number{font:28px Georgia;color:#a07b42;margin-bottom:30px;display:flex;gap:15px;align-items:center}.service-number span{font:bold 10px Arial;letter-spacing:1px}.service h3{font:30px/1.12 Georgia;margin-bottom:16px}.service p{font-size:14px;color:#67786c}.service ul{padding-left:18px;font-size:14px;line-height:1.85;margin-top:0;margin-bottom:28px}.service>a{margin-top:auto;border-top:1px solid #d9ddce;padding-top:20px;font-size:14px;font-weight:700;display:flex;justify-content:space-between}.featured{background:var(--green);color:white}.featured p{color:#b8ccc0}.featured .service-number{color:var(--gold)}.featured>a{border-color:#496c59}.cesu{font-size:12px;background:#e5eadb;color:#34532e;padding:4px 8px;margin:0 0 20px;align-self:flex-start}.gallery-section{background:#e9e6dc}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{background:var(--cream);border-radius:3px;overflow:hidden}.project-photo{position:relative;height:250px;overflow:hidden}.project-photo img{width:100%;height:100%;object-fit:cover}.picture-label{position:absolute;left:15px;top:15px;background:var(--green);color:#fff;padding:4px 12px;font-size:12px;border-radius:2px}.project-info{padding:25px}.project-info small{font-size:10px;letter-spacing:1px;color:#8e713e}.project-info h3{font:23px Georgia;margin:10px 0}.project-info p{font-size:14px;color:#69766b;min-height:45px}.photo-tabs{display:flex;gap:4px}.photo-tabs button,.price-tabs button{background:none;border:1px solid #bfc9b9;border-radius:3px;padding:8px 18px;color:var(--green);font-size:14px}.photo-tabs .active,.price-tabs .active{background:var(--green);color:#fff;border-color:var(--green)}.about{background:var(--green);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:60px}.about p:not(.eyebrow){color:#c2d1c7}.about .button{margin-top:15px}.price-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}#price-list{border-top:1px solid #d4d9cd}.price-row{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #d4d9cd;font-size:15px}.price-row strong{white-space:nowrap;color:var(--green)}.pricing-note{font-size:12px;color:#6c786d;margin:24px 0 0;max-width:760px}.reviews{border-top:1px solid #d8dcd2;display:grid;grid-template-columns:1fr 1fr;gap:60px}.review-card{border:1px solid #d4d9cd;padding:30px;background:#faf9f4}.quote{font:65px/.7 Georgia;color:var(--gold)}.review-card h3{font:24px Georgia;margin:20px 0 12px}.review-card p{font-size:14px}.green{background:var(--green);color:#fff}.review-card small{display:block;font-size:12px;color:#738071;margin-top:12px}.contact{background:var(--dark);color:white;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact p{max-width:440px;color:#bdcec3}.contact .button{margin-top:12px}.contact-details>a,.contact-details>div{display:block;padding:22px 0;border-bottom:1px solid #3b5c4b}.contact-details small{display:block;font-size:11px;letter-spacing:1.5px;color:var(--gold);margin-bottom:8px}.contact-details strong{font:22px Georgia;overflow-wrap:anywhere}.contact-details p{margin:5px 0 0;font-size:14px}footer{padding:28px 5%;display:flex;gap:25px;align-items:center;font-size:12px}.footer-brand{font:bold 20px Georgia}footer small{margin-left:auto;font-size:12px}@media(min-width:1500px){.hero-copy{padding-left:calc((100vw - 1140px)/2)}}@media(max-width:1050px){header{gap:22px}.location{display:none}header .phone{margin-left:auto}nav>div{gap:16px;flex-wrap:wrap}nav a{font-size:12px}.hero-copy{padding:45px 30px}.hero-photo{min-height:500px}.service{padding:24px}.trust-strip{padding:22px}.project-photo{height:220px}}@media(max-width:720px){html{scroll-padding-top:20px}header{padding:18px 20px;gap:12px;flex-wrap:wrap}.brand{font-size:23px}.brand small{font-size:7px}.monogram{width:45px;height:45px}.phone{font-size:13px;order:3;width:100%;text-align:center;border-top:1px solid #dde0d4;padding-top:12px}.menu{display:block;margin-left:auto;border:1px solid #bfc9b9;background:none;border-radius:3px;padding:6px 10px;font-size:13px}nav{display:none;position:relative}nav.open{display:block}nav>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}nav a{font-size:14px}nav .nav-cta{margin:0;grid-column:1/-1;text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 24px}h1{font-size:43px}.hero-photo{min-height:330px}.photo-note{left:24px;bottom:25px}.photo-note strong{font-size:26px}.artisan-badge{right:20px;top:20px;padding:12px}.trust-strip{gap:14px;flex-direction:column;padding:24px}.trust-strip span{font-size:17px}.section{padding:50px 24px}.section-head{display:block;margin-bottom:25px}.section-head>p{margin:18px 0}.service-grid,.gallery{grid-template-columns:1fr}.service{padding:28px}.service-number{margin-bottom:20px}.service h3 br{display:none}.project-photo{height:270px}.project-info p{min-height:0}.about,.reviews,.contact{grid-template-columns:1fr;gap:22px}.price-row{font-size:14px;align-items:center}.price-row strong{font-size:13px}.price-tabs button{padding:8px 12px;font-size:13px}.contact-details strong{font-size:21px}footer{flex-direction:column;align-items:flex-start;gap:8px;padding:25px 24px}footer small{margin:0}.eyebrow{font-size:11px}.intro{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.service .structural-note{font-size:12px;line-height:1.5;border-left:2px solid var(--gold);padding-left:12px;margin-bottom:24px}

.project-photo.project-photo-comparison{height:auto;aspect-ratio:1/1;background:#0a2034}.project-photo-comparison img{display:block;width:100%;height:auto;object-fit:contain}

.artisan-logo{position:relative;width:min(220px,100%);aspect-ratio:1206/902;overflow:hidden;background:#fff;margin-top:28px;border-radius:3px}.artisan-logo img{position:absolute;display:block;width:100%;height:auto;left:0;top:-95.34368%}

.photo-enlarge{display:block;cursor:zoom-in}.enlarge-label{position:absolute;right:12px;bottom:12px;background:#123e2f;color:#fff;padding:5px 11px;border-radius:3px;font-size:14px}.photo-dialog{border:0;border-radius:5px;padding:52px 12px 12px;background:#102f25;width:min(1000px,96vw);max-width:96vw;max-height:94dvh;overflow:auto}.photo-dialog::backdrop{background:#000c}.photo-dialog img{display:block;width:100%;height:auto}.photo-close{position:absolute;right:12px;top:10px;padding:6px 12px;background:#f5f2e9;color:#102f25;border:0;border-radius:3px;font-size:16px}.mobile-contact{display:none}body.photo-open{overflow:hidden}@media(max-width:720px){body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;background:#102f25;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -2px 12px #0002}.mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:46px;font-weight:700;font-size:14px;border:1px solid #d0a65f;border-radius:3px;color:#fff}.mobile-contact a:last-child{background:#d0a65f;color:#102f25}.photo-dialog{max-height:90dvh}}

footer .business-details{font-size:14px;line-height:1.7}

h1.service-title{font-size:clamp(32px,3.3vw,50px);line-height:1.16;letter-spacing:-.8px}@media(max-width:720px){h1.service-title{font-size:clamp(29px,7.5vw,43px);letter-spacing:-.5px}}
