
:root{--forest:#123d33;--deep:#0a2c25;--deep2:#08231e;--ivory:#f7f3ea;--cream:#fbf8f1;--stone:#e7dfd2;--ink:#17342e;--muted:#68726d;--copper:#c65e32;--copper-dark:#a94827;--white:#fff;--line:rgba(23,52,46,.13);--shell:min(1280px,calc(100% - 64px));--shadow:0 18px 55px rgba(14,46,39,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.62}img{display:block;max-width:100%}a{color:var(--forest);text-underline-offset:4px}.shell,.section-inner{width:var(--shell);margin-inline:auto}.skip-link{position:absolute;left:-9999px;z-index:999}.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em}h2{line-height:1.02}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:.69rem;color:var(--copper);margin-bottom:10px}.eyebrow.light{color:#f3a17c}
/* header */
.site-header{position:sticky;top:0;z-index:80;background:rgba(251,248,241,.98);border-bottom:1px solid rgba(23,52,46,.1);backdrop-filter:blur(14px)}.header-main{min-height:82px;display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:28px}.brand img{width:225px}.primary-nav{display:flex;justify-content:center;gap:28px}.primary-nav>a{font-size:.86rem;font-weight:760;text-decoration:none;color:#243e37}.primary-nav>a:hover{color:var(--copper)}.header-actions{display:flex;gap:12px;align-items:center}.header-phone{padding:10px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-weight:850;white-space:nowrap;background:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--copper);border:1px solid var(--copper);color:#fff!important;text-decoration:none;padding:13px 20px;border-radius:7px;font-weight:850;line-height:1.1;box-shadow:0 8px 20px rgba(198,94,50,.17);transition:.18s}.button:hover{background:var(--copper-dark);border-color:var(--copper-dark);transform:translateY(-1px)}.button.compact{padding:12px 17px;font-size:.85rem}.button.outline{background:transparent;color:var(--copper)!important;border-color:var(--copper);box-shadow:none}.button.outline:hover{background:var(--copper);color:#fff!important}.nav-toggle,.mobile-nav-action{display:none}
/* exact target-family home hero */
.home-hero-v3{display:grid;grid-template-columns:1fr 1.06fr;min-height:505px;background:var(--forest);color:#fff}.hero-v3-left{padding:62px max(48px,calc((100vw - 1280px)/2 + 32px)) 48px max(48px,calc((100vw - 1280px)/2));display:flex;flex-direction:column;justify-content:center}.hero-v3-left h1{font-size:clamp(3.15rem,4.5vw,5.05rem);line-height:.98;margin:.05em 0 .26em;color:#fff;max-width:720px}.hero-v3-left h1 em{font-style:normal;color:#ddd4c5}.hero-v3-left>p{font-size:1.08rem;line-height:1.48;color:#edf1ed;max-width:650px;margin:0}.hero-actions{display:flex;gap:14px;margin:26px 0 32px}.hero-outline{background:transparent!important;border-color:#fff!important;box-shadow:none}.hero-outline:hover{background:#fff!important;color:var(--forest)!important}.hero-values{border-top:1px solid rgba(255,255,255,.28);padding-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;font-size:.75rem}.hero-values span{display:flex;gap:8px;align-items:flex-start;color:#f7f3ea}.hero-values b{font-weight:760}.hero-v3-photo{position:relative;background-size:cover;background-position:center;min-height:505px}.hero-v3-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,61,51,.03),rgba(18,61,51,0))}.hero-form-card{position:absolute;z-index:3;right:max(34px,calc((100vw - 1280px)/2));top:30px;width:min(350px,calc(100% - 56px));background:rgba(255,253,249,.98);color:var(--ink);border-radius:10px;padding:20px;box-shadow:0 18px 50px rgba(9,33,28,.2)}.hero-form-card h2{font-size:1.65rem;margin:0 0 5px}.hero-form-card>p{font-size:.84rem;color:var(--muted);margin:0 0 10px}.form-shell{background:#fff;border:1px solid var(--stone);border-radius:10px;padding:10px}.form-shell iframe{width:100%;border:0;min-height:690px;background:#fff}.compact-form{padding:0;border:0}.compact-form iframe{min-height:535px}.form-note{font-size:.7rem;color:var(--muted);line-height:1.4;margin:8px 2px 0}.form-note a{font-weight:800}
/* home intro */
.home-community{background:var(--ivory);padding:48px 0 44px;border-bottom:1px solid rgba(23,52,46,.06)}.community-grid{display:grid;grid-template-columns:1.55fr .55fr .55fr .55fr .92fr;gap:28px;align-items:center}.community-intro{padding-right:28px}.community-intro h2{font-size:clamp(2.35rem,3.2vw,3.8rem);margin:0 0 14px}.community-intro p{font-size:.95rem;color:#4e5b56;max-width:520px}.editorial-link{font-weight:850;color:var(--copper);text-decoration:none;font-size:.86rem}.value-mini{border-left:1px solid rgba(23,52,46,.13);padding-left:20px;min-height:150px}.mini-icon{font-size:1.9rem;color:var(--forest)}.value-mini h3{font-size:1.05rem;margin:8px 0 5px}.value-mini p{font-size:.78rem;line-height:1.45;color:var(--muted)}.community-quote{border-left:1px solid rgba(23,52,46,.13);padding-left:25px;text-align:center}.community-quote img{width:180px;margin:0 auto -8px}.community-quote blockquote{font-family:Georgia,serif;font-size:1.12rem;font-style:italic;line-height:1.35;margin:0;color:#43534d}.community-quote>span{text-transform:uppercase;letter-spacing:.16em;font-size:.58rem;font-weight:900;color:#70766e}
/* services row */
.home-services{padding:34px 0 26px;background:#f3eee4}.section-heading-row{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:30px;align-items:end;margin-bottom:18px}.section-heading-row h2{font-size:2.35rem;margin:0}.section-heading-row p{font-size:.84rem;color:var(--muted);margin:0}.section-heading-row>.editorial-link{align-self:center}.service-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.service-tile{background:#fff;padding:8px 8px 14px;border-radius:6px;text-decoration:none;color:var(--ink);box-shadow:0 5px 18px rgba(20,54,46,.055);border:1px solid rgba(23,52,46,.055)}.service-tile img{height:125px;width:100%;object-fit:cover;border-radius:4px}.service-tile h3{font-size:1.08rem;margin:9px 5px 3px}.service-tile p{font-size:.75rem;line-height:1.35;color:#5e6864;margin:0 5px 10px;min-height:42px}.service-tile span{font-size:.7rem;color:var(--copper);font-weight:850;margin-left:5px}.service-tile:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(20,54,46,.11)}
/* permit + villages */
.home-local{background:var(--cream);padding:18px 0}.local-pair{display:grid;grid-template-columns:1.16fr .84fr;gap:18px}.permit-feature{display:grid;grid-template-columns:.9fr 1.1fr;min-height:230px;background:var(--forest);color:#fff;border-radius:2px;overflow:hidden}.permit-image{background-size:cover;background-position:center}.permit-copy{padding:28px}.permit-copy h2{font-size:2rem;color:#fff;margin:0 0 10px}.permit-copy p{font-size:.83rem;line-height:1.45;color:#e8efeb}.permit-copy .button{padding:10px 14px;font-size:.8rem}.villages-feature{position:relative;background:#fbf7ef;min-height:230px;padding:27px 28px;overflow:hidden;border:1px solid rgba(23,52,46,.07)}.villages-feature h2{font-size:2rem;margin:0 0 8px;max-width:330px}.villages-feature>p{font-size:.8rem;max-width:330px;color:var(--muted)}.villages-feature .button{padding:9px 13px;font-size:.77rem}.newton-map{position:absolute;right:12px;top:13px;width:49%;height:205px}.map-shape{position:absolute;inset:15px 8px;background:#e9e0d2;clip-path:polygon(18% 6%,44% 2%,63% 10%,84% 7%,94% 26%,85% 43%,96% 57%,81% 73%,69% 92%,48% 84%,26% 95%,15% 76%,4% 60%,12% 42%,3% 25%)}.newton-map span{position:absolute;font-size:.62rem;font-weight:800;color:#52625d;z-index:2}.newton-map span:before{content:"";width:5px;height:5px;background:var(--copper);border-radius:50%;display:inline-block;margin-right:4px}
/* cost faq */
.home-cost-faq{padding:18px 0 30px;background:#f7f1e7}.cost-faq-grid{display:grid;grid-template-columns:1.35fr repeat(3,.72fr) 1.5fr;gap:12px;align-items:stretch}.cost-intro{padding:18px 14px 12px}.cost-intro h2{font-size:2rem;margin:0 0 10px}.cost-intro p{font-size:.77rem;color:var(--muted);max-width:320px}.cost-intro .button{padding:9px 12px;font-size:.72rem}.price-card{background:#f2eadf;padding:18px 16px;position:relative;min-height:160px}.price-card span{font-family:Georgia,serif;font-weight:700;font-size:.9rem}.price-card strong{display:block;color:var(--copper);font-size:1.15rem;margin:5px 0}.price-card small{display:block;color:#77746c;font-size:.66rem;line-height:1.35}.price-icon{position:absolute;bottom:10px;left:14px;font-size:2rem;color:#7b786f}.home-faq{padding-left:12px}.home-faq .eyebrow{margin-bottom:6px}.home-faq details{background:#fff;border:1px solid rgba(23,52,46,.12);border-radius:5px;margin:0 0 5px;padding:7px 10px}.home-faq summary{font-size:.72rem;font-weight:850;cursor:pointer}.home-faq p{font-size:.7rem;color:var(--muted);margin:7px 0 3px}
/* close */
.home-closing{background-size:cover;background-position:center;padding:28px 0;color:#fff}.closing-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center}.closing-grid h2{font-size:2.2rem;margin:0 0 5px;color:#fff}.closing-grid p{font-size:.82rem;color:#e5ede9;margin:0}.closing-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.closing-actions .button{font-size:.78rem;padding:11px 14px}.closing-cues{width:100%;display:flex;gap:15px;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#dbe8e2}
/* inner page hero */
.page-hero{position:relative;background-size:cover;background-position:center;min-height:440px;color:#fff;display:flex;align-items:center}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,44,37,.97) 0%,rgba(10,44,37,.89) 45%,rgba(10,44,37,.38) 100%)}.page-hero .hero-inner{position:relative;z-index:2;width:var(--shell);margin:auto;padding:64px 0}.page-hero .hero-inner.hero-two-col{display:grid;grid-template-columns:1.15fr .68fr;gap:50px;align-items:center}.page-hero-copy{max-width:760px}.page-hero h1{font-size:clamp(3rem,5vw,5.1rem);line-height:.94;margin:.08em 0 .25em;color:#fff}.page-hero p{font-size:1.05rem;color:#edf3ef;max-width:720px}.page-hero .hero-form-card{position:relative;right:auto;top:auto;width:100%;max-width:390px;justify-self:end}.breadcrumbs{font-size:.78rem;color:#d9e5df}.breadcrumbs a{color:#fff}
/* inner editorial rhythm */
.content-section{padding:66px 0;background:var(--cream);position:relative}.content-section.v3-soft{background:var(--ivory)}.content-section.dark-section{background:var(--forest);color:#edf3ef}.content-section.dark-section h2,.content-section.dark-section h3{color:#fff}.content-section h2{font-size:clamp(2.15rem,3.3vw,3.65rem);margin:.05em 0 .46em;color:var(--forest)}.content-section h3{color:var(--forest)}.content-section p{max-width:900px}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:start}.intro-section .split>div:first-child{max-width:760px}.fact-panel,.quote-panel{background:var(--forest);color:#e8efeb;padding:28px;border-radius:8px}.fact-panel h3,.quote-panel h3{color:#fff}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.text-card{background:#fff;border:1px solid var(--line);padding:22px;text-decoration:none;color:var(--ink);border-radius:6px}.image-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.image-card{display:block;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);border-radius:6px;overflow:hidden}.image-card img{width:100%;height:210px;object-fit:cover}.image-card-body{padding:18px}.image-card h3{margin:0 0 7px;font-size:1.35rem}.image-card p{font-size:.84rem;color:var(--muted)}.process-grid,.cost-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-grid article,.cost-grid article{background:#fff;border:1px solid var(--line);padding:22px;border-radius:6px}.process-grid article>span{color:var(--copper);font-family:Georgia,serif;font-size:1.6rem}.faq-list{max-width:900px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:5px;margin:7px 0;padding:13px 16px}.faq-list summary{font-weight:850;cursor:pointer}.sources-section{background:#f1eadf}.area-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.area-links a{background:#fff;border:1px solid var(--line);padding:13px 15px;text-decoration:none;display:flex;justify-content:space-between}.image-break img{border-radius:4px;min-height:360px;object-fit:cover}.final-cta{background:var(--deep)!important;color:#fff}.final-cta h2{color:#fff}.cta-box{display:grid;grid-template-columns:1.5fr auto;gap:40px;align-items:center}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}.button.light{background:#fff;color:var(--forest)!important;border-color:#fff}
/* forms */
.universal-form-band{background:var(--forest)!important;color:#fff;padding:58px 0}.universal-form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start}.universal-form-band h2{color:#fff}.universal-form-copy p{color:#dce8e2}.form-contact-cue{margin:20px 0}.form-contact-cue span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#c9d6d0}.form-contact-cue a{font-family:Georgia,serif;font-size:1.65rem;color:#fff;text-decoration:none}.universal-form-band .form-shell{background:#fff;padding:12px}.universal-form-band .form-shell iframe{min-height:760px}
/* footer */
.site-footer{background:#0d342b;color:#dce8e2;padding:42px 0 18px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.05fr;gap:45px}.footer-brand img{width:215px;filter:brightness(0) invert(1);opacity:.95}.footer-brand p{font-size:.78rem;max-width:290px}.site-footer h2{font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;color:#fff}.site-footer a{display:block;color:#dce8e2;text-decoration:none;font-size:.78rem;margin:6px 0}.site-footer p{font-size:.78rem}.footer-estimate{color:#f3a17c!important;font-weight:850!important}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:14px;display:flex;justify-content:space-between;font-size:.7rem}.footer-bottom a{display:inline;margin:0;color:#dce8e2}.mobile-cta{display:none}
@media(max-width:1050px){:root{--shell:min(100% - 36px,960px)}.header-main{grid-template-columns:210px 1fr auto;gap:14px}.brand img{width:190px}.primary-nav{gap:15px}.primary-nav>a{font-size:.78rem}.header-phone span{display:none}.home-hero-v3{grid-template-columns:1fr}.hero-v3-photo{min-height:550px}.hero-form-card{right:28px}.community-grid{grid-template-columns:1.4fr repeat(3,.55fr)}.community-quote{display:none}.service-strip{grid-template-columns:repeat(3,1fr)}.cost-faq-grid{grid-template-columns:1.2fr repeat(3,.75fr)}.home-faq{grid-column:1/-1;padding-left:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.home-faq>.eyebrow{grid-column:1/-1}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}}
@media(max-width:820px){:root{--shell:calc(100% - 28px)}body{font-size:15.5px}.site-header{position:sticky}.header-main{min-height:70px;grid-template-columns:1fr auto}.brand img{width:180px}.nav-toggle{display:block;border:1px solid var(--line);background:#fff;color:var(--forest);border-radius:7px;padding:9px 12px;font-weight:850}.primary-nav{display:none;position:absolute;left:14px;right:14px;top:70px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:12px;border-radius:8px;flex-direction:column;align-items:stretch;gap:0}.primary-nav.open{display:flex}.primary-nav>a{padding:11px;border-bottom:1px solid rgba(23,52,46,.07)}.mobile-nav-action{display:block!important}.header-actions{display:none}.home-hero-v3{display:block}.hero-v3-left{padding:44px 22px 34px}.hero-v3-left h1{font-size:3.2rem}.hero-values{grid-template-columns:1fr 1fr}.hero-v3-photo{min-height:690px;background-position:center}.hero-form-card{top:22px;left:18px;right:18px;width:auto;max-width:none}.community-grid{grid-template-columns:1fr 1fr}.community-intro{grid-column:1/-1;padding-right:0}.community-quote{display:block;grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.value-mini{min-height:auto}.section-heading-row{grid-template-columns:1fr}.service-strip{grid-template-columns:1fr 1fr}.local-pair{grid-template-columns:1fr}.permit-feature{grid-template-columns:1fr}.permit-image{min-height:230px}.villages-feature{min-height:430px}.newton-map{top:auto;bottom:0;left:5%;right:5%;width:90%;height:230px}.cost-faq-grid{grid-template-columns:1fr 1fr}.cost-intro,.home-faq{grid-column:1/-1}.home-faq{display:block}.closing-grid,.page-hero .hero-inner.hero-two-col,.split,.universal-form-grid,.cta-box{grid-template-columns:1fr}.closing-actions{margin-top:16px}.page-hero{min-height:360px}.page-hero .hero-inner{padding:50px 0}.page-hero h1{font-size:3.15rem}.page-hero .hero-form-card{max-width:none}.card-grid,.image-card-grid,.process-grid,.cost-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:6px}.content-section{padding:52px 0}.mobile-cta{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:90;grid-template-columns:1fr 1fr;box-shadow:0 -8px 30px rgba(0,0,0,.16)}.mobile-cta a{padding:13px;background:var(--forest);color:#fff;text-align:center;text-decoration:none;font-weight:850}.mobile-cta a:last-child{background:var(--copper)}}
@media(max-width:520px){.hero-v3-left h1{font-size:2.75rem}.hero-actions{display:grid}.hero-values{font-size:.7rem}.service-strip{grid-template-columns:1fr}.service-tile{display:grid;grid-template-columns:118px 1fr;column-gap:10px}.service-tile img{height:100%;grid-row:1/5}.service-tile h3{margin-top:5px}.community-grid{grid-template-columns:1fr}.value-mini{border-left:0;border-top:1px solid var(--line);padding:14px 0}.cost-faq-grid{grid-template-columns:1fr}.cost-intro,.home-faq{grid-column:auto}.price-card{min-height:130px}.card-grid,.image-card-grid,.process-grid,.cost-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.home-closing{padding-bottom:82px}}

/* V3 QA refinements */
.hero-v3-left h1{font-size:clamp(3rem,4.1vw,4.35rem)}
.dark-section .process-grid article,.dark-section .cost-grid article{background:#fff;color:var(--ink)}
.dark-section .process-grid article h3,.dark-section .cost-grid article h3{color:var(--forest)}
.dark-section .process-grid article p,.dark-section .cost-grid article p{color:#56635e}
.page-hero .hero-inner.hero-two-col>*{min-width:0}
@media(max-width:820px){.page-hero .hero-form-card{width:100%;max-width:100%;justify-self:stretch;left:auto;right:auto}.page-hero .hero-inner.hero-two-col{width:var(--shell)}}

/* ===============================
   V4 APPROVED MOCKUP LOCK
   =============================== */
:root{--v4-forest:#113f35;--v4-deep:#0a3028;--v4-cream:#f7f2e8;--v4-paper:#fbf8f1;--v4-stone:#ebe4d6;--v4-copper:#cc5f32;--v4-copper-dark:#ad4723;--v4-ink:#173b33;--v4-muted:#68706b;--v4-line:#ded7ca}
body.design-v4{background:var(--v4-cream);color:#26322f}.design-v4 .site-header{background:#fbfaf6;border-bottom:1px solid #e4ddd1;box-shadow:none}.design-v4 .header-main{max-width:1160px;min-height:82px;grid-template-columns:250px 1fr auto;gap:30px}.design-v4 .brand img{width:225px;max-height:66px}.design-v4 .primary-nav{gap:25px}.design-v4 .primary-nav>a{font-size:.81rem;font-weight:700;color:#26352f}.design-v4 .header-phone{background:#fff;border-color:#ddd5c9;border-radius:4px;padding:10px 14px;color:#123d33}.design-v4 .button{background:var(--v4-copper);border-color:var(--v4-copper);border-radius:4px;box-shadow:none}.design-v4 .button:hover{background:var(--v4-copper-dark);border-color:var(--v4-copper-dark)}.design-v4 .button.outline,.design-v4 .hero-outline{background:transparent;color:var(--v4-forest);border:1px solid currentColor}.design-v4 .editorial-link{color:var(--v4-copper);font-weight:800;text-decoration:none}.design-v4 .eyebrow{color:var(--v4-copper);font-size:.69rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.design-v4 .eyebrow.light{color:#f1d8c7}.section-inner{width:min(calc(100% - 72px),1130px);margin:auto}
/* Home hero, faithful to approved mockup */
.home-hero-v4{display:grid;grid-template-columns:1fr 1fr;min-height:510px;background:var(--v4-forest)}.hero-copy-panel{background:linear-gradient(120deg,#0d3a31,#15483c);color:#fff}.hero-copy-inner{width:min(100% - 56px,560px);margin-left:auto;margin-right:0;padding:53px 48px 46px 0}.hero-copy-inner h1{font-family:Georgia,serif;font-size:clamp(3rem,4.25vw,4.35rem);line-height:.96;letter-spacing:-.035em;margin:12px 0 18px;color:#fff}.hero-copy-inner h1 em{font-style:normal;color:#e9e2d7}.hero-copy-inner>p{font-size:1rem;line-height:1.55;color:#f0f4f1;max-width:520px}.hero-actions{display:flex;gap:14px;margin:22px 0 32px}.hero-actions .button{min-width:190px;justify-content:center;padding:13px 18px}.hero-actions .button:first-child:before{content:"☎";margin-right:8px}.hero-copy-panel .hero-outline{color:#fff;border-color:#fff;background:transparent}.hero-trust-row{border-top:1px solid rgba(255,255,255,.35);padding-top:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.trust-item{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;color:#fff}.trust-item svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.trust-item b,.trust-item small{display:block;font-size:.67rem;line-height:1.15}.trust-item small{font-weight:700;color:#e0e9e4;margin-top:2px}.hero-photo-panel{position:relative;background-size:cover;background-position:center;min-width:0}.hero-photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,52,44,.02),rgba(14,52,44,.06));pointer-events:none}.hero-estimate-card{position:absolute;z-index:2;right:4.2%;top:34px;width:min(390px,43%);background:#fff;border:1px solid #e4ddd1;border-radius:7px;box-shadow:0 12px 35px rgba(23,48,40,.18);padding:20px 20px 13px;color:#26322f}.hero-estimate-card h2{font-size:1.72rem;line-height:1.02;margin:4px 0 7px;color:var(--v4-ink)}.hero-estimate-card .hero-form-head>p{font-size:.78rem;color:#68706b;margin:0 0 9px}.hero-form-embed{height:337px;border:1px solid #eee7dd;border-radius:4px;overflow:auto;background:#fff}.hero-form-embed iframe{display:block;width:100%;height:560px;border:0}.hero-estimate-card .form-note{font-size:.62rem;line-height:1.35;margin:7px 0 0;color:#707672}.hero-estimate-card .form-note a{color:var(--v4-forest)}
/* community band */
.home-community-v4{background:var(--v4-paper);border-bottom:1px solid var(--v4-line)}.community-v4-grid{display:grid;grid-template-columns:2.1fr repeat(3,.75fr) 1.25fr;align-items:stretch;padding:34px 0 28px}.community-copy{padding-right:36px}.community-copy h2{font-size:2.55rem;line-height:.98;margin:9px 0 13px;color:var(--v4-ink)}.community-copy p{font-size:.78rem;line-height:1.5;color:#5e6762;max-width:430px}.community-value{padding:31px 18px 16px;border-left:1px solid var(--v4-line)}.community-value svg{width:38px;height:38px;fill:none;stroke:var(--v4-forest);stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.community-value h3{font-size:1.01rem;margin:10px 0 6px;color:#203d35}.community-value p{font-size:.69rem;line-height:1.45;color:#68706b}.city-hall-quote{border-left:1px solid var(--v4-line);padding:5px 0 0 24px;text-align:center}.city-hall-quote img{width:100%;max-width:210px;height:95px;object-fit:contain;mix-blend-mode:multiply;opacity:.78}.city-hall-quote blockquote{font-family:Georgia,serif;font-style:italic;font-size:1.06rem;line-height:1.35;margin:5px auto 10px;color:#384841}.city-hall-quote span{font-size:.6rem;text-transform:uppercase;letter-spacing:.18em;color:#747b77}
/* services */
.home-services-v4{background:#f2ecdf;padding:28px 0 30px;border-bottom:1px solid var(--v4-line)}.services-heading-v4{display:grid;grid-template-columns:1.2fr .85fr 1.2fr;align-items:end;gap:28px;margin-bottom:14px}.services-heading-v4 h2{font-size:2rem;line-height:.95;margin:6px 0 0;color:var(--v4-ink)}.services-heading-v4 p{font-size:.72rem;color:#69716d;line-height:1.45}.service-strip-v4{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.service-card-v4{background:#fff;border:1px solid #e7e0d5;border-radius:4px;padding:7px 7px 11px;text-decoration:none;color:#28352f}.service-card-v4 img{width:100%;aspect-ratio:1.62/1;object-fit:cover;border-radius:3px}.service-card-v4 h3{font-size:1rem;margin:8px 3px 4px;color:#1a3b33}.service-card-v4 p{font-size:.65rem;line-height:1.36;color:#69706d;margin:0 3px 9px}.service-card-v4 span{font-size:.65rem;font-weight:850;color:var(--v4-copper);margin-left:3px}
/* permit + map */
.home-local-v4{background:var(--v4-paper);padding:14px 0}.local-v4-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:12px}.permit-card-v4{display:grid;grid-template-columns:1fr 1.33fr;min-height:245px;background:var(--v4-forest);color:#fff;border-radius:4px;overflow:hidden}.permit-photo{background-size:cover;background-position:center}.permit-text{padding:23px 26px}.permit-text h2{color:#fff;font-size:2rem;line-height:.98;margin:6px 0 10px}.permit-text p{font-size:.75rem;line-height:1.45;color:#e1ebe6}.permit-text .button{font-size:.7rem;padding:10px 13px}.villages-card-v4{display:grid;grid-template-columns:.95fr 1.05fr;gap:10px;background:#fbf8f1;border:1px solid #e7dfd4;border-radius:4px;padding:16px 16px 12px;min-width:0}.villages-copy h2{font-size:1.85rem;line-height:.98;margin:6px 0 10px;color:var(--v4-ink)}.villages-copy p{font-size:.68rem;line-height:1.45;color:#68706b}.villages-copy .button{font-size:.68rem;padding:9px 11px}.villages-map-image{width:100%;height:220px;object-fit:contain;mix-blend-mode:multiply;align-self:center}
/* pricing */
.home-cost-v4{background:var(--v4-paper);padding:20px 0 23px}.cost-v4-grid{display:grid;grid-template-columns:1.35fr repeat(3,.85fr);gap:14px;align-items:stretch}.cost-copy-v4 h2{font-size:2rem;line-height:.98;margin:6px 0 9px;color:var(--v4-ink)}.cost-copy-v4 p{font-size:.72rem;line-height:1.45;color:#68706b}.cost-copy-v4 .button{font-size:.68rem;padding:9px 11px}.price-card-v4{background:#f5efe4;border:1px solid #ebe2d6;border-radius:4px;padding:14px 16px;min-height:152px;display:flex;flex-direction:column;position:relative}.price-card-v4 svg{position:absolute;right:12px;bottom:11px;width:36px;height:36px;fill:none;stroke:#968c7d;stroke-width:1.8}.price-card-v4>span{font-family:Georgia,serif;font-size:.9rem;color:#2d4039}.price-card-v4 strong{color:var(--v4-copper);font-size:1.22rem;margin:7px 0}.price-card-v4 small{font-size:.62rem;line-height:1.4;color:#777a75;padding-right:30px}
/* full FAQs */
.home-faq-v4{background:#f6f1e8;border-top:1px solid var(--v4-line);padding:34px 0 38px}.faq-title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.faq-title-row h2{font-size:2.3rem;line-height:1;margin:5px 0 0;color:var(--v4-ink)}.faq-grid-v4{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.faq-grid-v4 details{background:#fff;border:1px solid #ddd7ce;border-radius:4px;padding:10px 14px}.faq-grid-v4 summary{font-size:.78rem;font-weight:850;color:#273832;cursor:pointer;list-style:none;position:relative;padding-right:25px}.faq-grid-v4 summary::-webkit-details-marker{display:none}.faq-grid-v4 summary:after{content:"+";position:absolute;right:0;top:-2px;font-size:1.05rem;color:#66716c}.faq-grid-v4 details[open] summary:after{content:"–"}.faq-grid-v4 p{font-size:.72rem;line-height:1.5;color:#68706b;margin:9px 0 2px}
/* close */
.home-closing-v4{background-size:cover;background-position:center;padding:28px 0;color:#fff}.closing-v4-grid{display:grid;grid-template-columns:1.45fr .9fr;gap:40px;align-items:center}.closing-v4-grid h2{color:#fff;font-size:2.2rem;line-height:1;margin:5px 0}.closing-v4-grid p{font-size:.78rem;color:#e4eee9;margin:0}.closing-v4-actions{display:flex;gap:11px;flex-wrap:wrap;justify-content:flex-end}.closing-v4-actions .button{font-size:.72rem}.closing-v4-actions .hero-outline{color:#fff;border-color:#fff}.closing-v4-cues{width:100%;display:flex;justify-content:flex-end;gap:14px;font-size:.57rem;text-transform:uppercase;letter-spacing:.12em;color:#d7e4de}
/* inner pages: same mockup family, less dark/heavy */
.design-v4:not(.page-home) .page-hero{min-height:400px}.design-v4:not(.page-home) .page-hero:before{background:linear-gradient(90deg,rgba(12,54,45,.96) 0%,rgba(12,54,45,.87) 48%,rgba(12,54,45,.32) 100%)}.design-v4:not(.page-home) .page-hero h1{font-size:clamp(3rem,4.3vw,4.5rem)}.design-v4:not(.page-home) .page-hero .hero-form-card{max-width:430px;width:430px;border-radius:7px;padding:18px}.design-v4:not(.page-home) .page-hero .hero-form-card iframe{min-height:500px}.design-v4 .content-section{background:var(--v4-paper)}.design-v4 .content-section.v3-soft{background:#f3ede2}.design-v4 .content-section h2{color:var(--v4-ink)}.design-v4 .universal-form-band{background:var(--v4-forest)!important}.design-v4 .site-footer{background:#0b352b;padding-top:35px}.design-v4 .footer-brand img{width:200px;filter:brightness(0) invert(1)}
@media(max-width:1080px){.section-inner{width:min(calc(100% - 40px),960px)}.design-v4 .header-main{grid-template-columns:210px 1fr auto;gap:14px}.design-v4 .brand img{width:190px}.design-v4 .primary-nav{gap:14px}.hero-copy-inner{padding-right:26px;width:min(100% - 40px,520px)}.hero-estimate-card{width:44%;right:3%;}.community-v4-grid{grid-template-columns:1.7fr repeat(3,.65fr)}.city-hall-quote{display:none}.service-strip-v4{grid-template-columns:repeat(3,1fr)}.local-v4-grid{grid-template-columns:1fr}.villages-card-v4{grid-template-columns:1.1fr .9fr}.cost-v4-grid{grid-template-columns:1.3fr repeat(3,.85fr)}}
@media(max-width:820px){.design-v4 .header-main{grid-template-columns:1fr auto;min-height:70px}.design-v4 .brand img{width:175px}.home-hero-v4{grid-template-columns:1fr}.hero-copy-inner{width:calc(100% - 36px);padding:40px 0 32px;margin:auto}.hero-copy-inner h1{font-size:3rem}.hero-photo-panel{min-height:700px}.hero-estimate-card{left:18px;right:18px;top:22px;width:auto;max-width:none}.hero-form-embed{height:500px}.hero-form-embed iframe{height:620px}.hero-trust-row{grid-template-columns:1fr 1fr}.community-v4-grid{grid-template-columns:1fr 1fr;padding:28px 0}.community-copy{grid-column:1/-1;padding-right:0}.community-value{border-left:0;border-top:1px solid var(--v4-line);padding:16px 0}.city-hall-quote{display:block;grid-column:1/-1;border-left:0;border-top:1px solid var(--v4-line);padding:18px 0}.services-heading-v4{grid-template-columns:1fr}.service-strip-v4{grid-template-columns:1fr 1fr}.permit-card-v4{grid-template-columns:1fr}.permit-photo{min-height:230px}.villages-card-v4{grid-template-columns:1fr}.villages-map-image{height:auto;max-height:430px}.cost-v4-grid{grid-template-columns:1fr 1fr}.cost-copy-v4{grid-column:1/-1}.faq-grid-v4{grid-template-columns:1fr}.closing-v4-grid{grid-template-columns:1fr}.closing-v4-actions{justify-content:flex-start;margin-top:12px}.closing-v4-cues{justify-content:flex-start}.design-v4:not(.page-home) .page-hero .hero-form-card{width:100%;max-width:100%}}
@media(max-width:520px){.section-inner{width:calc(100% - 28px)}.hero-copy-inner h1{font-size:2.55rem}.hero-actions{display:grid}.hero-actions .button{min-width:0}.hero-trust-row{grid-template-columns:1fr 1fr}.service-strip-v4{grid-template-columns:1fr}.service-card-v4{display:grid;grid-template-columns:120px 1fr;column-gap:10px}.service-card-v4 img{grid-row:1/5;height:100%;aspect-ratio:auto}.cost-v4-grid{grid-template-columns:1fr}.cost-copy-v4{grid-column:auto}.permit-text h2,.villages-copy h2{font-size:1.7rem}.community-copy h2{font-size:2.15rem}.city-hall-quote img{max-width:240px}.home-faq-v4{padding-bottom:75px}}

/* V4.1 approved-mockup refinements */
.hero-estimate-card{width:390px;max-width:calc(100% - 44px)}
.hero-call{display:inline-flex;align-items:center;gap:9px}.hero-call .phone-glyph{font-size:1rem;line-height:1}
.permit-photo{background-position:center;background-size:cover}
.city-hall-quote img{height:88px;max-width:225px}
@media(max-width:1080px){.hero-estimate-card{width:370px;max-width:calc(100% - 36px)}}
@media(max-width:820px){.hero-estimate-card{width:auto;max-width:none}}

.home-hero-v4 .hero-actions .button:first-child:before{content:none!important}


/* ===== V5 INNER-PAGE VISUAL QA FIXES ===== */
/* Inner-page type and contrast are intentionally stronger than V4. */
.v5-inner{color:#263a34;background:#fbf8f1}
.v5-inner main{overflow:hidden}
.v5-inner .content-section{padding:64px 0;background:#fbf8f1;color:#263a34;border-top:1px solid rgba(18,61,51,.055)}
.v5-inner .content-section.v3-soft{background:#f3ede2}
.v5-inner .content-section h2{font-size:clamp(2rem,2.75vw,3.05rem);line-height:1.05;letter-spacing:-.025em;color:#153f35;margin:0 0 18px;max-width:850px}
.v5-inner .content-section h3{font-size:clamp(1.28rem,1.65vw,1.62rem);line-height:1.14;color:#173f36;margin:.15em 0 .55em}
.v5-inner .content-section p,.v5-inner .content-section li{color:#344942;font-size:.98rem;line-height:1.72}
.v5-inner .content-section p{max-width:880px}
.v5-inner .content-section a:not(.button){color:#155c4c;font-weight:700}
.v5-inner .content-section .eyebrow{color:#b7512b}
.v5-inner .text-card p,.v5-inner .image-card p,.v5-inner .process-grid p,.v5-inner .cost-grid p{color:#465a53;font-size:.91rem;line-height:1.55}
.v5-inner .text-card,.v5-inner .process-grid article,.v5-inner .cost-grid article{box-shadow:0 7px 22px rgba(18,61,51,.045);border-color:rgba(18,61,51,.11)}
.v5-inner .fact-panel,.v5-inner .quote-panel{background:#123d33;color:#fff;padding:30px 32px;border-radius:7px;box-shadow:0 10px 28px rgba(18,61,51,.09)}
.v5-inner .fact-panel h3,.v5-inner .quote-panel h3{color:#fff}
.v5-inner .fact-panel p,.v5-inner .quote-panel p,.v5-inner .fact-panel li,.v5-inner .quote-panel li{color:#eef4f1!important;font-size:.91rem;line-height:1.6}
/* Fix V4 specificity bug that made dark sections light while retaining pale copy. */
.design-v4.v5-inner .content-section.dark-section{background:#123d33!important;color:#fff!important}
.design-v4.v5-inner .content-section.dark-section h2,.design-v4.v5-inner .content-section.dark-section h3{color:#fff!important}
.design-v4.v5-inner .content-section.dark-section p,.design-v4.v5-inner .content-section.dark-section li{color:#e9f1ed!important}
.design-v4.v5-inner .content-section.dark-section a:not(.button){color:#f2b293}
.v5-inner .sources-section{background:#efe7da!important}
.v5-inner .faq-list{max-width:980px}
.v5-inner .faq-list details{padding:15px 18px;background:#fff;border-color:rgba(18,61,51,.13)}
.v5-inner .faq-list summary{font-size:.95rem;color:#173f36}
.v5-inner .faq-list details p{font-size:.92rem;color:#3f514b;margin:10px 0 3px}
.v5-inner .area-links a{color:#173f36;background:#fff;font-weight:800}
.v5-inner .page-hero .breadcrumbs{color:#f3f7f5}
.v5-inner .page-hero .breadcrumbs a{color:#fff}
.v5-inner .page-hero p{color:#f1f5f3;font-size:1.06rem;line-height:1.55}
.v5-inner .page-hero h1{font-size:clamp(3rem,4.1vw,4.35rem);line-height:.98;max-width:820px}
.v5-inner .universal-form-band{background:#123d33!important;border-top:0}
.v5-inner .universal-form-band h2{color:#fff!important}
.v5-inner .universal-form-band p,.v5-inner .universal-form-band li{color:#e8f0ec!important}
.v5-inner .form-note{color:#596863!important}
.v5-inner .form-note a{color:#123d33!important}

/* Editorial image breaks for every substantive inner-page type. */
.v5-visual-section{padding:16px 0 66px!important;background:#fbf8f1!important;border-top:0!important}
.v5-visual-grid{display:grid;grid-template-columns:1.45fr .78fr .78fr;gap:14px;align-items:stretch}
.v5-visual-card{margin:0;position:relative;overflow:hidden;border-radius:7px;background:#e8e0d4;min-height:270px;box-shadow:0 10px 30px rgba(18,61,51,.08)}
.v5-visual-card.v5-visual-main{min-height:360px;grid-row:span 1}
.v5-visual-card img{width:100%;height:100%;min-height:270px;object-fit:cover;position:absolute;inset:0}
.v5-visual-card.v5-visual-main img{min-height:360px}
.v5-visual-card:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(8,35,30,.73));pointer-events:none}
.v5-visual-card figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;color:#fff;font-weight:780;font-size:.82rem;line-height:1.35;text-shadow:0 1px 12px rgba(0,0,0,.4)}

/* More coherent inner-page section rhythm. */
.v5-inner .split{gap:50px;align-items:center}
.v5-inner .card-grid{gap:18px}
.v5-inner .process-grid,.v5-inner .cost-grid{gap:14px}
.v5-inner .process-grid article,.v5-inner .cost-grid article{padding:24px}
.v5-inner .image-card img{height:235px}
.v5-inner .image-card h3{font-size:1.45rem}

@media(max-width:820px){
  .v5-inner .content-section{padding:48px 0}
  .v5-inner .content-section h2{font-size:2.25rem}
  .v5-inner .content-section h3{font-size:1.4rem}
  .v5-inner .content-section p,.v5-inner .content-section li{font-size:.96rem}
  .v5-inner .page-hero h1{font-size:2.8rem}
  .v5-visual-section{padding:10px 0 48px!important}
  .v5-visual-grid{grid-template-columns:1fr 1fr}
  .v5-visual-card.v5-visual-main{grid-column:1/-1;min-height:310px}
  .v5-visual-card{min-height:210px}
  .v5-visual-card img{min-height:210px}
  .v5-visual-card.v5-visual-main img{min-height:310px}
}
@media(max-width:520px){
  .v5-inner .content-section h2{font-size:2rem}
  .v5-inner .page-hero h1{font-size:2.45rem}
  .v5-visual-grid{grid-template-columns:1fr}
  .v5-visual-card.v5-visual-main{grid-column:auto;min-height:250px}
  .v5-visual-card,.v5-visual-card img,.v5-visual-card.v5-visual-main img{min-height:230px}
  .v5-visual-card figcaption{font-size:.76rem}
}

/* V5 dark-card contrast corrections */
.design-v4.v5-inner .content-section.dark-section .process-grid article,.design-v4.v5-inner .content-section.dark-section .cost-grid article,.design-v4.v5-inner .content-section.dark-section .text-card{background:#fff!important;color:#263a34!important}
.design-v4.v5-inner .content-section.dark-section .process-grid article h3,.design-v4.v5-inner .content-section.dark-section .cost-grid article h3,.design-v4.v5-inner .content-section.dark-section .text-card h3{color:#173f36!important}
.design-v4.v5-inner .content-section.dark-section .process-grid article p,.design-v4.v5-inner .content-section.dark-section .cost-grid article p,.design-v4.v5-inner .content-section.dark-section .text-card p{color:#465a53!important}
/* V5 final dark-surface contrast sweep */
.v5-inner .final-cta,.v5-inner .content-section.final-cta{background:#0a2c25!important;color:#fff!important}
.v5-inner .final-cta h2,.v5-inner .final-cta h3,.v5-inner .content-section.final-cta h2,.v5-inner .content-section.final-cta h3{color:#fff!important}
.v5-inner .final-cta p,.v5-inner .content-section.final-cta p{color:#e6efeb!important}
.v5-inner .final-cta .eyebrow,.v5-inner .content-section.final-cta .eyebrow{color:#f0a17c!important}
.v5-inner .universal-form-band .form-contact-cue a{color:#fff!important}
.v5-inner .universal-form-band .form-contact-cue span{color:#d3dfda!important}
/* V5 form-note contrast correction inside dark form bands */
.v5-inner .universal-form-band .form-note{color:#596863!important;background:#fff}
.v5-inner .universal-form-band .form-note a{color:#123d33!important}

/* V6 final homepage permit illustration */
.permit-card-v4 > img.permit-photo{
  display:block;
  width:100%;
  height:100%;
  min-height:245px;
  object-fit:cover;
  object-position:center;
  background:#f7f3ea;
}
@media(max-width:820px){
  .permit-card-v4 > img.permit-photo{min-height:230px;max-height:330px;object-fit:cover}
}
