/* A centered, readable system: ivory / stone / charcoal; 7px softened corners. */
:root{--ink:#292e2c;--navy:#303b36;--muted:#5e655f;--paper:#faf9f5;--line:#d9dcd5;--accent:#647467}
body{background:var(--paper);font-size:17px;line-height:1.6;color:var(--ink)}
body>header{max-width:1280px;margin:auto;padding:0 40px;height:100px;gap:24px;background:var(--paper)}
nav{font-size:16px;gap:26px}nav a{padding:12px 0}.brand>span{font-size:13px}.brand small{font-size:9px}.nav-actions{gap:20px}
.preview-bar{background:#eeefea;color:#555e57;font-size:13px;min-height:44px;padding:8px 20px}.preview-bar span{font-size:11px;letter-spacing:1px}.preview-bar button{font-size:13px;min-height:32px}
.button,.button.small,.text-btn,.underlink,.gallery-filters button{font-size:16px;font-weight:500;line-height:1.35;min-height:48px;border-radius:7px;letter-spacing:0}
.button,.button.small{padding:15px 23px;background:#303b36;border:1px solid #303b36;color:#fff;justify-content:center;gap:18px}.button:hover{background:#46574a;border-color:#46574a;transform:none}.text-btn{padding:12px;color:#303b36}.underlink{padding:12px 4px;border-bottom-color:#8b978d;border-radius:0;display:inline-flex;align-items:center}.underlink:hover,.text-btn:hover{color:#172b20;background:#e9eee7}
:focus-visible{outline:3px solid #4f715b!important;outline-offset:4px!important}
.eyebrow,.hero .eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.2px;color:#59665c;font-weight:600}
.hero{width:calc(100% - 64px);max-width:1200px;margin:22px auto 0;min-height:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f4f5ef;grid-template-columns:1fr 1fr}
.hero-copy{padding:46px 38px;align-items:center;text-align:center;background:#f6f6f0;justify-content:center}.hero-panel-mark{margin:0 auto 22px;color:#303b36;width:55px}.hero .eyebrow{max-width:410px;margin:0 0 19px}.hero h1{font:400 clamp(2.625rem,1.6rem + 2.6vw,3.75rem)/1.08 Georgia,serif;letter-spacing:-1.8px;max-width:490px;margin-bottom:24px;color:#292e2c}.hero .intro{font-size:17px;line-height:1.65;max-width:430px;color:#5e655f}.hero-cta{align-items:center;max-width:430px;gap:13px;margin-top:27px}.hero-cta .button{font-size:17px;padding:17px 20px;justify-content:center}.hero-note{font-size:13px;line-height:1.6;justify-content:center;margin-top:25px;padding-top:20px;width:100%;max-width:430px;color:#5e655f}.hero-note strong{color:#303b36}
.hero-comparison{background:#eeefea}.hero-comparison .comparison{min-height:530px;flex:1}.hero-comparison .compare-label{font-size:11px;letter-spacing:.5px;border-radius:5px;padding:10px;background:#faf9f5f2;color:#303b36;top:20px}.hero-comparison .label-before{left:17px}.hero-comparison .label-after{right:17px}.hero-comparison .compare-handle{background:#faf9f5;color:#303b36}.hero-comparison .compare-bottom{padding:13px 20px 0;align-items:center;gap:14px}.hero-comparison .compare-bottom p{font-size:12px;line-height:1.55;color:#555e57}.hero-comparison .compare-bottom button{font-size:14px;min-height:44px;flex-shrink:0}.hero-comparison .comparison-caption{font-size:12px;line-height:1.6;color:#555e57;padding:0 20px 17px}
.principles{max-width:1120px;width:calc(100% - 64px);padding:28px 0;display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:18px 40px}.principles span{width:100%;font-size:12px;color:#5e655f;letter-spacing:1px}.principles p{font-size:21px;color:#39473d;margin:0}
.section{max-width:1280px;margin:auto;padding:68px 64px}.section h2,.story-copy h2{font:400 clamp(2.125rem,1.5rem + 1.8vw,2.875rem)/1.14 Georgia,serif;letter-spacing:-1px;max-width:680px;margin:0 auto 22px;color:#292e2c}.section-title,.section-heading{text-align:center}.section-heading{display:block;margin-bottom:32px}.section-title>p:last-child,.section-heading>p{font-size:17px;line-height:1.65;max-width:580px;margin:0 auto;color:#5e655f}.craft{display:block}.craft .section-title{margin-bottom:32px}.service-list{max-width:940px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.service-list button{padding:24px 0;text-align:left;min-height:100px}.service-list h3{font-size:26px;color:#303b36}.service-list p{font-size:15px;color:#5e655f}.service-list span{font-size:13px;color:#59665c}.service-list b{color:#59665c}.work{padding-top:35px}.gallery-toolbar{font-size:14px;color:#5e655f}.gallery-toolbar span{font-size:12px}.gallery-filters{justify-content:center;gap:10px}.gallery-filters button{font-size:16px;padding:12px 20px;background:#faf9f5;border-color:#b7c0b7;color:#3a463d}.gallery-filters button[aria-pressed=true]{background:#303b36;color:#fff;border-color:#303b36}.photo-masonry{gap:20px}.photo-masonry .archive-photo{border-radius:7px}.archive-photo img{filter:none}.photo-overlay{font-size:24px;background:linear-gradient(transparent,#1f2724d9)}.photo-number{font-size:12px;background:#faf9f5ed;color:#303b36;border-radius:4px}.fineprint{font-size:13px;line-height:1.6;color:#5e655f;max-width:850px;margin-left:auto;margin-right:auto}.gallery-more{text-align:center}
.story{max-width:1200px;width:calc(100% - 64px);margin:20px auto;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f3f4ef}.story-copy{padding:46px 40px;background:#f3f4ef;text-align:center;align-items:center}.story-copy p:not(.eyebrow){font-size:17px;line-height:1.65;color:#5e655f;text-align:left;max-width:450px}.story-copy .underlink{align-self:center}.story-mark .story-home{filter:none}.story-mark span{font-size:11px;line-height:1.5}.steps{max-width:1040px;margin:35px auto;gap:32px}.steps h3{font-size:26px;color:#303b36}.steps p{font-size:16px;color:#5e655f;line-height:1.7}.steps span{font-size:14px;color:#59665c}.process>h2,.process>.eyebrow,.process>.underlink{text-align:center}.review-archive{max-width:none;background:#eef0ea}.review-archive>.section-heading{max-width:1120px;margin:auto auto 32px}.historical-reviews,.trust-data-grid,.permit-history{max-width:1120px;margin-left:auto;margin-right:auto}.historical-reviews article{background:#faf9f5;border-color:#d9dcd5;border-radius:7px;padding:28px}.historical-reviews h3{font-size:27px;color:#303b36}.historical-reviews article>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#5e655f}.historical-reviews footer{font-size:14px;color:#59665c}.trust-data-grid h3,.permit-history h3,.community-right h3{color:#303b36;font-size:27px}.trust-number,.trust-number.ccb-number{color:#384c40}.trust-data-grid p,.permit-history p,.community-right p{font-size:16px;line-height:1.7;color:#5e655f}.source-details{max-width:1120px;margin:24px auto 0;color:#5e655f;font-size:14px}.source-details summary{min-height:44px;padding:10px 0}.community{text-align:center;display:block}.community-right{max-width:650px;margin:28px auto 0}.closing{background:#eef0ea;padding:60px 24px;text-align:center}.closing h2{font-size:clamp(2.25rem,1.5rem + 2vw,3.25rem);color:#292e2c}.closing-contact{font-size:15px;color:#5e655f}body>footer{background:#faf9f5;font-size:14px;color:#5e655f}body>footer button{font-size:14px;min-height:44px}dialog{background:#faf9f5;border-radius:8px;color:#292e2c}dialog p,dialog label,dialog input,dialog select,dialog textarea{font-size:16px}dialog input,dialog select,dialog textarea{border-radius:7px}dialog .button{font-size:16px}.dialog-head{font-size:13px;color:#5e655f}.lightbox-image{background:#eef0ea;border-radius:7px}
@media(max-width:1000px){body>header{padding:0 24px;gap:18px}nav{gap:18px;font-size:15px}.nav-actions{gap:8px}.brand>span{font-size:11px}.hero-copy{padding:35px 28px}.hero h1{font-size:46px}.hero .intro{font-size:16px}.hero-comparison .comparison{min-height:520px}.section{padding:52px 36px}.story-copy{padding:35px 28px}.hero-comparison .compare-label{font-size:10px}}
@media(max-width:700px){body>header{height:auto;min-height:84px;padding:16px 20px;gap:12px;flex-wrap:wrap}.brand>span{font-size:11px}.nav-actions{gap:6px}.nav-actions .button.small{font-size:15px;padding:12px}.nav-actions .text-btn{font-size:15px;padding:10px}.preview-bar{gap:10px;flex-wrap:wrap;padding:8px 15px}.preview-bar span{font-size:11px}.hero{width:calc(100% - 32px);margin:12px auto 0}.hero-copy{padding:34px 24px}.hero-panel-mark{display:block;width:44px;height:44px;margin-bottom:18px}.hero h1{font-size:44px;letter-spacing:-1.3px}.hero .eyebrow{font-size:11px}.hero .intro{font-size:16px}.hero-comparison .comparison{height:390px;min-height:0}.hero-comparison .compare-label{font-size:10px;top:15px}.hero-comparison .compare-bottom{padding:10px 16px 0}.hero-comparison .compare-bottom p{font-size:12px;max-width:220px}.hero-comparison .comparison-caption{font-size:12px;padding:0 16px 16px}.hero-comparison .compare-bottom button{font-size:13px}.principles{width:calc(100% - 40px);gap:12px 20px}.principles p{font-size:18px}.section{padding:44px 22px}.section h2,.story-copy h2{font-size:35px}.service-list{grid-template-columns:1fr;gap:0}.section-title>p:last-child,.section-heading>p{font-size:16px}.gallery-toolbar{font-size:13px;gap:12px;flex-wrap:wrap}.gallery-filters button{font-size:15px;padding:11px 14px;min-height:46px}.photo-masonry{gap:12px}.photo-overlay{font-size:20px}.story{width:calc(100% - 32px)}.story-copy{padding:32px 24px}.story-copy p:not(.eyebrow){font-size:16px}.story-mark{min-height:340px}.story-mark span{font-size:10px}.steps p{font-size:16px}.historical-reviews article{padding:25px}.closing h2{font-size:38px}.fineprint{font-size:13px}.underlink{font-size:15px}.preview-bar button{font-size:13px}}
.process{text-align:center}.process .steps{text-align:left}.review-archive>.fineprint{text-align:left}.community-right p{max-width:58ch;margin-left:auto;margin-right:auto}.hero h1 em{letter-spacing:inherit}.hero-comparison .comparison:focus-within{outline:3px solid #4f715b;outline-offset:-3px}
@media(max-width:400px){body>header{justify-content:center}.nav-actions{width:100%;justify-content:center}.hero-copy{padding:30px 20px}.hero h1{font-size:40px}.hero-comparison .compare-label{font-size:9px;padding:8px}.hero-comparison .comparison{height:360px}.hero-comparison .compare-bottom{flex-wrap:wrap;justify-content:center}.hero-comparison .compare-bottom p{max-width:none;text-align:center}.hero-comparison .comparison-caption{text-align:left}.gallery-filters button{padding:11px 12px}.section h2{font-size:32px}}
