@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--ink:#183f35;--muted:#64726a;--paper:#fafbf7;--line:#dce2d8;--lime:#d7eb9d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #7b9b37;outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #7b9b37}p,h1,h2,h3{margin:0}button{border:0}p{color:var(--muted)}.wrap{max-width:1280px;width:calc(100% - 112px);margin:0 auto}.prototype{padding:7px 56px;background:#eaf0e0;font-size:10px;font-weight:650;letter-spacing:1.1px;display:flex;justify-content:space-between;color:#506044}.prototype span{font-weight:400;letter-spacing:.3px}header{position:sticky;top:0;z-index:10;background:#fafbf7f5;backdrop-filter:blur(10px);padding:24px 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:650;letter-spacing:1.5px;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:3.3px;margin-top:6px}.brand svg{width:42px;fill:none;stroke:var(--ink);stroke-width:2.5}nav{display:flex;align-items:center;gap:29px;font-size:13px}nav>a:not(.button):hover{color:#6b8238}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:15px 22px;font-size:13px;font-weight:500;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#315c49;transform:translateY(-2px)}.button span{font-size:18px}.button.small{padding:10px 17px}.menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding-top:75px;padding-bottom:60px;align-items:center}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;color:#5a6b58;margin-bottom:25px}.eyebrow i{display:inline-block;width:6px;height:6px;background:#6a8c41;border-radius:50%;margin-right:7px;vertical-align:middle}h1{font-weight:450;font-size:clamp(52px,5.6vw,80px);line-height:1.07;letter-spacing:-3.8px}em{font-style:normal;color:#768867}.intro{font-size:16px;line-height:1.8;max-width:385px;margin-top:26px}.actions{display:flex;align-items:center;gap:28px;margin-top:31px}.text-link{font-size:13px;font-weight:550;display:inline-flex;align-items:center;gap:17px}.text-link:hover{text-decoration:underline}.location{font-size:9px;font-weight:650;letter-spacing:1.3px;margin-top:45px}.location span{letter-spacing:0;font-weight:400;font-size:11px;display:inline-block;margin-left:12px}.plan-card{position:relative;background:#edf0e5;border:1px solid #dfe5d6;border-radius:4px;padding:21px 19px 13px;transform:rotate(1deg)}.plan-head,.plan-foot{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1px;color:#5d705e}.plan-head{padding:0 3px 18px}.floorplan{display:block;width:100%}.plan-note{position:relative;display:flex;gap:15px;align-items:center;background:#fffefa;box-shadow:0 5px 20px #26402f0a;padding:19px;margin:0 10px 23px;transform:rotate(-1deg)}.note-icon{display:grid;place-items:center;background:#edf2e4;width:38px;height:38px;font-size:23px}.plan-note strong{font-size:13px;font-weight:550}.plan-note p{font-size:11px;margin-top:3px}.plan-foot{font-size:7px;padding-top:2px}.principles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;font-size:12px;color:#687465}.principles div{color:var(--ink)}.principles b{padding:0 25px;font-weight:400;color:#879777}.section{padding-top:89px;padding-bottom:88px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:38px}.section-top>p{max-width:310px;font-size:14px;line-height:1.8}h2{font-size:43px;font-weight:450;line-height:1.15;letter-spacing:-1.6px}.section .eyebrow{margin-bottom:19px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:3px;overflow:hidden}.service{background:transparent;text-align:left;padding:25px 24px 28px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line);transition:background .2s}.service:last-child{border-right:0}.service:hover{background:#eef2e7}.service-num{font-size:10px;color:#7d8c73;width:100%;display:flex;justify-content:space-between;margin-bottom:31px}.service-num span{font-size:20px;color:var(--ink)}h3{font-size:21px;font-weight:500;line-height:1.3;letter-spacing:-.5px}.service p{font-size:12px;line-height:1.8;margin-top:15px;margin-bottom:28px}.service-link{font-size:11px;font-weight:550;border-bottom:1px solid #a5b19a;padding-bottom:3px;margin-top:auto}.feasibility{display:flex;align-items:center;gap:19px;padding:22px 26px;margin-top:17px;background:#eff2e9;border-radius:3px}.feas-icon{font-size:34px;color:#718960}.feasibility strong{font-size:13px;font-weight:550}.feasibility p{font-size:12px}.feasibility>span:last-child{margin-left:auto;font-size:12px}.feasibility b{font-size:20px;font-weight:400;margin-left:28px}.process-section{background:#173f35;color:#f4f5ec}.process-section .eyebrow{color:#b7c8aa}.process-section p{color:#bac9bc}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:37px;margin-top:55px}.process-grid>div{border-top:1px solid #557060;padding-top:19px}.process-grid>div>span{font-size:10px;color:#cce09d}.process-grid h3{font-size:18px;margin-top:22px}.process-grid p{font-size:12px;line-height:1.85;margin-top:13px}.options-section{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.body-copy{max-width:340px;margin-top:25px;font-size:14px;line-height:1.85}.quiet{font-size:10px;margin-top:30px}.scope-card{border:1px solid var(--line);background:#fffefa;padding:28px;border-radius:5px}.scope-title{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;margin-bottom:22px}.tag{background:#eef1e6;border-radius:20px;padding:4px 9px;color:#667653;letter-spacing:0;font-size:9px}.scope-card>p{font-size:12px;margin:8px 0 24px}.scope-base,.scope-choice{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.scope-base{padding-top:0}.check{display:grid;place-items:center;flex-shrink:0;background:#eaf1dc;width:21px;height:21px;font-size:12px}.scope-base strong,.scope-choice strong{display:block;font-size:12px;font-weight:550}.scope-base small,.scope-choice small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:3px}.included{margin-left:auto;font-size:8px;color:#788864}.scope-choice{cursor:pointer;margin:0}.scope-choice input{accent-color:var(--ink);width:17px;height:17px;margin:0}.plus{margin-left:auto;font-size:17px}.scope-summary{font-size:11px;padding:19px 0;color:#6c7f60}.scope-card>.text-link{width:100%;justify-content:space-between;font-size:12px}.areas-section{background:#eef1e7;padding:62px 0}.area-layout{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.area-layout h2{font-size:38px}.area-layout p:not(.eyebrow){font-size:13px;max-width:325px;margin-top:20px}.area-layout .text-link{margin-top:25px}.county-list>div{display:flex;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #d2dccc}.county-list>div>span{font-size:10px;color:#7d8b74}.county-list>div>span:last-child{margin-left:auto;font-size:10px}.county-list strong{font-size:19px;font-weight:450;letter-spacing:-.3px}.county-list>p{font-size:10px!important;max-width:none!important}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact-note{display:flex;gap:16px;margin-top:45px;align-items:center}.contact-note>span{font-size:28px;color:#7e9268}.contact-note p{font-size:12px}.form-disclaimer{font-size:10px;background:#edf1e5;padding:10px 12px;margin-bottom:20px}label{display:block;font-size:11px;font-weight:550;margin-bottom:15px}label small{font-size:9px;color:var(--muted);font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,select,textarea{background:#fffefa;border:1px solid #d7dfd1;width:100%;border-radius:3px;padding:11px 12px;margin-top:7px;color:var(--ink);font-size:12px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8a9488}form>.button{width:100%;margin-top:4px}.form-privacy{font-size:9px;margin-top:13px}#form-status{margin-top:18px;padding:15px;background:#e9f0dd;font-size:12px}footer{padding:35px 0;border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:20px}footer .brand{font-size:20px}footer p{font-size:11px}footer>div{text-align:right;font-size:9px;color:var(--muted)}footer button{display:block;background:none;font-size:10px;margin:9px 0 0 auto;padding:0}dialog{border:1px solid var(--line);border-radius:6px;padding:45px;max-width:600px;width:calc(100% - 32px);background:var(--paper);color:var(--ink);max-height:85vh;overflow:auto}dialog::backdrop{background:#0c241db8;backdrop-filter:blur(3px)}dialog .close{position:absolute;top:10px;right:15px;font-size:28px;background:none}dialog h2{font-size:35px}dialog p{font-size:14px;margin-top:20px}dialog ul{padding-left:20px;color:var(--muted);font-size:13px}dialog .button{margin-top:25px}.skip{position:fixed;top:-80px;left:10px;padding:12px;background:white;z-index:50}.skip:focus{top:10px}
@media(min-width:1500px){header{padding-left:max(56px,calc((100vw - 1280px)/2));padding-right:max(56px,calc((100vw - 1280px)/2))}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}header{padding:20px 32px}nav{gap:17px;font-size:11px}.brand{font-size:19px}.hero{gap:30px;padding-top:55px}h1{font-size:62px}.actions{gap:15px;flex-wrap:wrap}.principles b{padding:0 10px}.service{padding:20px 18px}.options-section,.area-layout,.contact-section{gap:55px}.plan-note{margin:0 0 18px;padding:14px}.prototype{padding-left:32px;padding-right:32px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.prototype{padding:6px 20px;font-size:8px}.prototype span{font-size:8px}header{padding:17px 20px;flex-wrap:wrap}.brand{font-size:18px}.brand svg{width:32px}.brand small{font-size:6px;letter-spacing:2.8px}.menu{display:flex;gap:12px;background:none;align-items:center;font-size:12px;padding:5px}nav{display:none;width:100%;padding-top:20px;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{padding:12px 0}nav .button{margin-top:10px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:40px;gap:38px}h1{font-size:62px;letter-spacing:-3px}.eyebrow{font-size:9px}.intro{font-size:15px;max-width:350px}.actions{gap:24px;margin-top:25px}.location{margin-top:28px;font-size:8px}.location span{font-size:10px;margin-left:7px}.plan-card{max-width:500px;width:100%;padding:17px 14px 12px}.plan-note{margin:0 6px 17px}.principles{flex-direction:column;gap:10px;padding:19px 0;font-size:11px}.principles b{padding:0 12px}.section{padding-top:58px;padding-bottom:58px}.section-top{display:block;margin-bottom:28px}.section-top>p{margin-top:20px;font-size:13px}h2{font-size:36px}.service-grid{grid-template-columns:1fr 1fr}.service{padding:22px 18px}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-num{margin-bottom:23px}h3{font-size:20px}.service p{font-size:11px}.service-link{font-size:10px}.feasibility{padding:17px;gap:13px;flex-wrap:wrap}.feasibility div{flex:1}.feasibility>span:last-child{margin-left:40px;font-size:11px}.feasibility strong{font-size:12px}.feasibility p{font-size:10px}.process-grid{grid-template-columns:1fr 1fr;gap:30px 24px;margin-top:33px}.process-grid h3{font-size:16px}.process-grid p{font-size:11px}.options-section,.area-layout,.contact-section{grid-template-columns:1fr;gap:34px}.body-copy{max-width:100%}.scope-card{padding:23px}.areas-section{padding:50px 0}.area-layout h2{font-size:35px}.county-list>div{padding:19px 0}.contact-note{margin-top:24px}.contact-section{gap:30px}.contact-section .body-copy{max-width:350px}footer{flex-wrap:wrap;padding-top:28px;gap:25px}footer>div{text-align:left;width:100%;display:flex;justify-content:space-between;align-items:center}footer button{margin:0}dialog{padding:35px 25px}.plan-foot{font-size:6px}.form-row{gap:12px}input,select,textarea{font-size:16px}form label{font-size:10px}input::placeholder,textarea::placeholder{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

[hidden]{display:none!important}

.inspiration-section{padding-top:0;padding-bottom:85px}.inspiration-section .section-top>p{max-width:355px;font-size:12px}.inspiration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.inspiration-card{margin:0;min-width:0}.inspiration-image{position:relative;overflow:hidden;border-radius:3px;background:#e8e6db;aspect-ratio:4/3}.inspiration-image img{width:100%;height:100%;object-fit:cover;display:block}.inspiration-image>span{position:absolute;left:12px;bottom:12px;background:#fafbf7f2;color:#254937;padding:5px 8px;font-size:8px;font-weight:600;letter-spacing:1px;border-radius:2px}.inspiration-card figcaption{padding:19px 0 0}.inspiration-card h3{font-size:19px}.inspiration-card p{font-size:12px;margin-top:7px}.inspiration-card button{background:transparent;padding:0;margin-top:16px;font-size:11px}.inspiration-disclosure{margin-top:25px;font-size:10px;color:#748268}.inspiration-section .eyebrow{margin-bottom:18px}@media(max-width:1050px){nav{gap:15px}.inspiration-card h3{font-size:17px}}@media(max-width:760px){.inspiration-section{padding-bottom:55px}.inspiration-grid{grid-template-columns:1fr;gap:30px}.inspiration-image{aspect-ratio:3/2}.inspiration-card h3{font-size:21px}.inspiration-card p{font-size:13px}.inspiration-section .section-top>p{max-width:100%}}

.hero-project{margin:0;align-self:stretch;display:flex;flex-direction:column;min-width:0}.hero-project>img{width:100%;height:100%;min-height:430px;max-height:580px;object-fit:cover;object-position:48% center;display:block}.hero-project figcaption{display:flex;justify-content:space-between;gap:16px;padding:14px 0 0;font-size:8px;letter-spacing:1.1px;color:#52634d}.hero-project figcaption small{font-size:9px;letter-spacing:0;color:#687465;white-space:nowrap}.hero{grid-template-columns:1fr 1.15fr;gap:56px}h1{font-size:clamp(50px,5.2vw,74px)}@media(max-width:1050px){.hero{gap:30px}.hero-project>img{min-height:420px}}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:32px}.hero-project>img{min-height:0;max-height:none;aspect-ratio:4/3;height:auto}h1{font-size:58px}.hero-project figcaption{font-size:7px;gap:10px}.hero-project figcaption small{font-size:8px}}

.contractor-registration{display:block;font-size:11px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;margin-top:10px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contractor-registration{margin-top:0}}

.business-identity{border-bottom:1px solid var(--line);background:#f0f3e9}.business-identity>.wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:10px;padding-bottom:10px;font-size:11px}.business-identity a{text-decoration:underline;text-underline-offset:3px}.inquiry-business{font-size:12px;color:var(--ink);line-height:1.9;margin-bottom:15px}.inquiry-business a{font-size:11px;text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.business-identity>.wrap{flex-wrap:wrap;gap:3px;font-size:10px}.business-identity>.wrap>span{width:100%}}

.process-instruction{font-size:11px;margin:0 0 14px!important;color:#bac9bc!important;display:flex;gap:15px;align-items:center}.process-instruction span{font-size:19px}.process-slider{display:flex;min-height:495px;background:#f9faf4;color:var(--ink);border-radius:2px;overflow:hidden}.process-panel{flex:1 1 0;min-width:0;border-right:1px solid #d8dfd1;transition:flex-grow .55s cubic-bezier(.22,.61,.36,1);padding:22px 17px}.process-panel:last-child{border:0}.process-panel.is-active{flex-grow:5.3;background:#fffefa}.process-panel>h3{margin:0;line-height:1.25}.process-trigger{width:100%;display:grid;grid-template-columns:1fr auto;text-align:left;padding:0;background:transparent;gap:16px 6px;align-items:start}.process-number{font-size:55px;font-weight:400;letter-spacing:-3px;line-height:1;color:#8c9880;grid-column:1}.process-panel.is-active .process-number{color:var(--ink)}.process-panel-title{font-size:19px;letter-spacing:-.6px;font-weight:450;grid-column:1/-1;overflow-wrap:normal;hyphens:none}.process-toggle{grid-column:2;grid-row:1;font-size:21px;line-height:1;color:#68785e}.process-body{padding-top:21px}.process-body>p{font-size:13px;line-height:1.8;color:#5f6d60!important;min-height:70px;margin:0 0 19px;max-width:520px}.process-body figure{margin:0;position:relative}.process-body img{display:block;width:100%;height:230px;object-fit:cover;object-position:center}.process-body figcaption{font-size:7px;line-height:1.5;letter-spacing:.7px;color:#63715a;padding-top:9px}.process-trigger:focus-visible{outline:2px solid #6d8b3e;outline-offset:7px;border-radius:1px}@media(min-width:1100px){.process-panel{padding:26px 22px}.process-panel.is-active{flex-grow:5}.process-body img{height:250px}.process-slider{min-height:525px}.process-panel-title{font-size:22px}}@media(max-width:800px){.process-slider{display:block;min-height:0}.process-panel{padding:20px;border-right:0;border-bottom:1px solid #d8dfd1}.process-trigger{grid-template-columns:42px 1fr 20px;gap:12px;align-items:center}.process-number{font-size:32px;letter-spacing:-1.5px;grid-column:1}.process-panel-title{font-size:20px;grid-column:2}.process-toggle{grid-column:3;grid-row:1}.process-body{padding-top:19px}.process-body>p{min-height:0;font-size:13px}.process-body img{height:auto;aspect-ratio:3/2}.process-body figcaption{font-size:7px}.process-instruction span{transform:rotate(90deg)}}@media(prefers-reduced-motion:reduce){.process-panel{transition:none}}

.process-imagery-note{font-size:10px!important;color:#bac9bc!important;margin-top:15px;letter-spacing:.3px}

.site-footer{align-items:center;padding:24px 0;margin-bottom:0;gap:12px 30px;font-size:11px;color:var(--muted)}.footer-registration{font-size:11px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.site-footer{flex-direction:column;align-items:flex-start;gap:9px;padding:22px 0}.footer-registration{font-size:10px}}

.hero-coverage{font-size:14px;line-height:1.6;color:var(--ink);font-weight:500;margin-top:22px}.hero-copy .intro{margin-top:15px}@media(max-width:760px){.hero-coverage{font-size:13px;margin-top:20px;max-width:330px}}

.hero-project{justify-content:center}.hero-project>img{height:auto;min-height:0;max-height:none;aspect-ratio:3/2;object-fit:contain;object-position:center}

.office-details{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);max-width:355px}.office-phone{font-size:23px;letter-spacing:-.5px;font-weight:500}.office-details address{font-style:normal;font-size:14px;line-height:1.8;margin-top:12px;color:var(--muted)}.office-details p{font-size:12px;margin-top:12px}.office-details .text-link{margin-top:12px}.feasibility>.button{margin-left:auto;color:#fff;font-size:12px}.feasibility>.button>span{font-size:18px}.blog-hero{padding:70px 0 48px;max-width:850px}.blog-hero h1{font-size:60px;letter-spacing:-2.5px}.blog-hero>p:last-child{font-size:16px;max-width:590px;line-height:1.8;margin-top:23px}.blog-topic-nav{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid var(--line)}.blog-topic-nav a{font-size:12px;border:1px solid var(--line);padding:8px 13px;border-radius:2px}.blog-topic-nav a:hover{background:#edf1e5}.blog-series{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:35px 0 65px}.series-card{border:1px solid var(--line);padding:25px;scroll-margin-top:120px}.series-card .eyebrow{font-size:9px;margin-bottom:20px}.series-card h2{font-size:25px;letter-spacing:-.7px;line-height:1.2}.series-card p{font-size:13px;margin-top:15px}.series-card ul{padding-left:17px;color:var(--muted);font-size:12px;line-height:1.8;margin-top:18px}.blog-status{font-size:12px;background:#eef2e6;padding:15px 20px;margin-top:25px}.blog-contact{border-top:1px solid var(--line);padding:38px 0 50px;display:flex;justify-content:space-between;align-items:center;gap:30px}.blog-contact h2{font-size:29px}.blog-contact p{font-size:13px;margin-top:10px}.blog-contact .button{flex-shrink:0}.blog-contact address{font-style:normal;font-size:12px;margin-top:15px;color:var(--muted)}@media(max-width:1050px){.blog-series{grid-template-columns:1fr 1fr}nav{gap:16px}}@media(max-width:760px){.office-details{max-width:none}.feasibility>.button{margin-left:0;margin-top:7px}.blog-hero{padding:45px 0 30px}.blog-hero h1{font-size:43px;letter-spacing:-1.6px}.blog-hero>p:last-child{font-size:14px}.blog-series{grid-template-columns:1fr;gap:18px;padding-bottom:40px}.blog-contact{align-items:flex-start;flex-direction:column}.blog-topic-nav a{font-size:11px}}

.services-action{margin-top:26px}

/* Animate panel width and content height together instead of toggling display. */
.process-panel{overflow:hidden;transition:flex-grow .75s cubic-bezier(.22,.61,.36,1),background-color .4s ease}
.process-body{display:grid;grid-template-rows:0fr;overflow:hidden;padding-top:0;opacity:0;transition:grid-template-rows .65s cubic-bezier(.22,.61,.36,1),padding-top .65s cubic-bezier(.22,.61,.36,1),opacity .18s ease;pointer-events:none}
.process-panel.is-active .process-body{grid-template-rows:1fr;padding-top:21px;opacity:1;transition:grid-template-rows .65s cubic-bezier(.22,.61,.36,1),padding-top .65s cubic-bezier(.22,.61,.36,1),opacity .4s ease .12s;pointer-events:auto}
.process-content{min-height:0;overflow:hidden}
.process-content>p{font-size:13px;line-height:1.8;color:#5f6d60!important;min-height:70px;margin:0 0 19px;max-width:520px}
.process-toggle{transition:color .25s ease}
@media(min-width:801px){.process-content{width:var(--process-content-width,100%)}}
@media(max-width:800px){.process-content{width:100%}.process-content>p{min-height:0}.process-panel.is-active .process-body{padding-top:19px}}
@media(prefers-reduced-motion:reduce){.process-panel,.process-body,.process-panel.is-active .process-body,.process-toggle{transition:none!important}}

.contact-section{display:block;max-width:760px}.contact-section>h2{margin-bottom:35px;font-size:43px}.contact-section form>label{font-size:13px;margin-bottom:22px}.contact-section input,.contact-section textarea{font-size:16px;padding:13px 14px;margin-top:9px}.contact-section textarea::placeholder{font-size:14px}.contact-section form>.button{width:auto;min-width:190px;margin-top:3px}.contact-section .office-details{display:flex;justify-content:space-between;gap:25px;max-width:none;margin-top:40px;padding-top:25px}.contact-section .office-phone{font-size:19px}.contact-section .office-details address{margin-top:0;font-size:12px}.contact-section .office-details p{font-size:11px;margin-top:6px}.contact-section .office-details .text-link{font-size:11px;margin-top:7px}#form-status a{text-decoration:underline}@media(max-width:760px){.contact-section>h2{font-size:35px;margin-bottom:28px}.contact-section .office-details{flex-direction:column;gap:19px}.contact-section form>.button{width:100%}}

.contact-section select{font-size:16px;padding:13px 14px;margin-top:9px}

.contact-section .compact-inquiry .form-row{gap:18px}.contact-section .compact-inquiry label{font-size:12px;margin-bottom:16px}.contact-section .compact-inquiry input,.contact-section .compact-inquiry select,.contact-section .compact-inquiry textarea{font-size:14px;padding:10px 12px;margin-top:6px}.contact-section .compact-inquiry textarea{min-height:76px}.inquiry-disclosure{font-size:11px;line-height:1.7;margin:0 0 16px;color:var(--muted)}.inquiry-disclosure button{padding:0;background:none;font-size:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:2px}.contact-section>h2{margin-bottom:27px}@media(max-width:600px){.compact-inquiry .form-row{grid-template-columns:1fr}.contact-section .compact-inquiry input,.contact-section .compact-inquiry select,.contact-section .compact-inquiry textarea{font-size:16px}}

.contact-section .compact-inquiry .inquiry-assent{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;line-height:1.6;margin:3px 0 8px;cursor:pointer}.contact-section .compact-inquiry .inquiry-assent input{width:17px;height:17px;flex:0 0 17px;padding:0;margin:2px 0 0;accent-color:var(--ink)}.compact-inquiry .inquiry-assent+.inquiry-disclosure{margin-left:27px}

.header-phone{font-size:16px;font-weight:650;letter-spacing:.2px;white-space:nowrap;margin-left:auto;margin-right:26px}.header-phone:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:1150px){header{flex-wrap:wrap}.menu{display:flex;gap:12px;background:none;align-items:center;font-size:12px;padding:5px}header nav{display:none;width:100%;padding-top:20px;flex-direction:column;align-items:stretch;gap:0}header nav.open{display:flex}header nav>a{padding:12px 0}header nav .button{padding:12px 17px;margin-top:10px}.header-phone{margin-right:20px}}@media(max-width:760px){header .brand{order:1}header .menu{order:2;margin-left:auto}header .header-phone{order:3;width:100%;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:17px}header nav{order:4}}

.expanded-services{grid-template-columns:repeat(4,minmax(0,1fr))}.expanded-services>.service{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.expanded-services>.service:nth-child(4n){border-right:0}.expanded-services>.service:last-child{border-right:1px solid var(--line)}.expanded-services>.service:focus-visible{outline-offset:-5px}.detail-page{padding-top:26px;padding-bottom:65px}.breadcrumbs{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding:0}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.breadcrumbs>a{padding:0!important}.page-heading{padding:44px 0 38px;max-width:850px}.page-heading h1{font-size:55px;line-height:1.12;letter-spacing:-2px}.page-heading .eyebrow{margin-bottom:17px}.page-heading>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:700px;margin-top:22px}.page-coverage{display:block;font-size:12px;margin-top:20px;color:var(--muted)}.service-page-image{margin:0 0 40px;max-width:850px}.service-page-image img{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}.service-page-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-page h2{font-size:27px;letter-spacing:-.7px}.detail-page ul{padding-left:20px;font-size:14px;color:var(--muted);line-height:1.9;margin-top:18px}.detail-page li+li{margin-top:8px}.detail-copy{max-width:850px;margin-top:35px}.detail-copy>p{font-size:14px;line-height:1.9;margin-top:17px}.detail-copy p>a{text-decoration:underline;text-underline-offset:3px}.detail-copy h2:not(:first-child){margin-top:32px}.page-faq{max-width:850px;margin-top:35px}.page-faq>h2{margin-bottom:18px}.page-faq details{border-top:1px solid var(--line);padding:18px 0}.page-faq details:last-child{border-bottom:1px solid var(--line)}.page-faq summary{font-size:14px;font-weight:500;cursor:pointer}.page-faq details>p{font-size:13px;line-height:1.85;padding:15px 0 0}.page-cta{margin-top:35px}.area-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.area-page-card{padding:26px;border:1px solid var(--line);border-radius:3px;display:flex;flex-direction:column;align-items:flex-start}.area-page-card:hover{background:#eff3e7}.area-page-card>span:first-child{font-size:10px;color:var(--muted);margin-bottom:18px}.area-page-card>p{font-size:13px;line-height:1.8;margin-top:14px;margin-bottom:22px}.area-page-card>.text-link{margin-top:auto;font-size:12px}.index-heading{margin:40px 0 23px}.area-detail-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:65px}.area-detail-columns>.detail-copy{margin-top:0}.official-resource{border:1px solid var(--line);background:#eff2e7;padding:27px;align-self:start}.official-resource h2{font-size:23px}.official-resource p:not(.eyebrow){font-size:13px;line-height:1.85;margin-top:17px}.official-resource .text-link{margin-top:20px}.official-resource small{display:block;font-size:10px;line-height:1.7;margin-top:22px;color:var(--muted)}.related-services{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.related-services a{padding:10px 15px;border:1px solid var(--line);font-size:12px;display:flex;gap:22px}.related-services a:hover{background:#eff2e7}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.review-placeholder{border:1px dashed #c8d1c0;background:#f4f6ed;padding:25px;min-height:245px;display:flex;flex-direction:column;align-items:flex-start}.placeholder-label{font-size:8px;letter-spacing:1px;background:#e5ebda;padding:4px 7px;color:#596a4b}.quote-mark{font-size:45px;line-height:1;margin-top:20px;color:#95a581}.placeholder-quote{font-size:15px;color:#697662}.review-attribution{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:4px}.review-attribution strong{font-size:12px;font-weight:500}.review-attribution span{font-size:10px;color:var(--muted)}.detail-page .review-grid{margin-top:6px}.reviews-section{border-top:1px solid var(--line)}.inspiration-card a.text-link{background:none;padding:0;margin-top:16px;font-size:11px}@media(max-width:1100px){.expanded-services{grid-template-columns:repeat(3,minmax(0,1fr))}.expanded-services>.service:nth-child(4n){border-right:1px solid var(--line)}.expanded-services>.service:nth-child(3n){border-right:0}.area-page-grid{grid-template-columns:1fr 1fr}.area-detail-columns{gap:35px}}@media(max-width:760px){.expanded-services{grid-template-columns:1fr 1fr}.expanded-services>.service:nth-child(3n){border-right:1px solid var(--line)}.expanded-services>.service:nth-child(2n){border-right:0}.breadcrumbs{display:flex!important;width:100%;padding:0;flex-direction:row;align-items:center;gap:8px}.page-heading{padding:30px 0}.page-heading h1{font-size:40px;letter-spacing:-1.5px}.page-heading>p:not(.eyebrow){font-size:14px}.service-page-columns,.area-detail-columns{grid-template-columns:1fr;gap:25px}.area-page-grid{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.review-placeholder{min-height:210px}.detail-page h2{font-size:25px}.detail-page{padding-top:18px;padding-bottom:45px}.page-cta .button{width:100%}}

/* Shared contact bar and disclosure navigation. */
.contact-bar{background:var(--ink);color:#fff;font-size:12px;line-height:1.5}
.contact-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:10px;padding-bottom:10px}
.contact-bar-phone{font-size:16px;font-weight:650;white-space:nowrap;letter-spacing:.2px}
.contact-bar a:hover{text-decoration:underline;text-underline-offset:4px}
header{gap:30px}header .brand{flex-shrink:0}header #nav{gap:23px;margin-left:auto;font-size:13px}
.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;padding:12px 0}
.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:focus-visible{outline:3px solid #7b9b37;outline-offset:5px}.nav-dropdown summary:hover{color:#6b8238}.nav-dropdown summary>span{transition:transform .2s}.nav-dropdown[open] summary>span{transform:rotate(180deg)}
.nav-dropdown-panel{position:absolute;top:100%;left:0;width:540px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 35px #183f351a;padding:20px;max-height:65vh;overflow:auto;z-index:20}
.nav-dropdown:nth-of-type(2) .nav-dropdown-panel{left:auto;right:0}
.dropdown-index{display:flex;justify-content:space-between;font-weight:650;padding:0 10px 13px;border-bottom:1px solid var(--line);margin-bottom:8px}
.dropdown-links{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.dropdown-links a{padding:9px 10px;font-size:13px;line-height:1.45}.dropdown-links a:hover,.dropdown-links a:focus-visible{background:#edf1e5}
@media(min-width:1281px){header .menu{display:none}header #nav{display:flex;width:auto;flex-direction:row;padding-top:0;align-items:center}header #nav>a{padding:0}header #nav>.button{padding:10px 17px;margin-top:0}header{flex-wrap:nowrap}}
@media(max-width:1280px){header{flex-wrap:wrap}header .menu{display:flex;margin-left:auto;align-items:center;gap:12px;padding:5px;background:none;font-size:13px}header #nav{display:none;order:4;width:100%;padding-top:10px;margin-left:0;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 120px);overflow:auto}header #nav.open{display:flex}header #nav>a,header .nav-dropdown summary{padding:12px 0}header #nav>.button{padding:12px 17px;margin-top:10px}header .nav-dropdown summary{justify-content:space-between}header .nav-dropdown-panel{position:static;width:100%;max-height:none;border:0;box-shadow:none;padding:8px 0 15px}.dropdown-index{padding-left:10px}}
@media(max-width:760px){.contact-bar .wrap{width:calc(100% - 40px);padding-top:9px;padding-bottom:9px;flex-wrap:wrap;gap:3px}.contact-bar-phone{font-size:15px}.contact-bar-address{font-size:10px;width:100%}header{gap:0}header .menu{order:2}.dropdown-links{grid-template-columns:1fr}header #nav{max-height:calc(100dvh - 90px)}}

/* Keep the phone bar and navigation together while scrolling. */
.site-header-stack{position:sticky;top:0;z-index:30}
.site-header-stack>header{position:relative;top:auto}
html{scroll-padding-top:160px}
@media(max-width:1280px){.site-header-stack header #nav{max-height:calc(100dvh - 190px)}}
@media(max-width:760px){html{scroll-padding-top:165px}}

/* Keep primary destinations visible without a menu toggle. */
header #nav{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 23px;width:auto;padding-top:0;overflow:visible;max-height:none!important}
header #nav>a{padding:8px 0}header #nav>.button{padding:10px 17px;margin-top:0}
header .nav-dropdown summary{padding:8px 0;justify-content:flex-start}
header .nav-dropdown-panel{position:absolute;top:100%;left:0;width:540px;max-height:60vh;border:1px solid var(--line);box-shadow:0 16px 35px #183f351a;padding:20px;overflow:auto}
@media(min-width:1051px) and (max-width:1280px){header{gap:18px;padding-left:32px;padding-right:32px}header #nav{font-size:12px;gap:6px 15px;flex:1;justify-content:flex-end}header .brand{font-size:19px}header .brand svg{width:36px}header #nav>.button{gap:14px;padding:9px 12px}}
@media(max-width:1050px){header{gap:16px}header #nav{width:100%;margin:0;justify-content:space-between;gap:8px 16px}.nav-dropdown{position:static}header .nav-dropdown-panel,header .nav-dropdown:nth-of-type(2) .nav-dropdown-panel{top:100%;left:0;right:0;width:100%;max-height:55vh}.dropdown-links{grid-template-columns:1fr 1fr}html{scroll-padding-top:210px}}
@media(max-width:760px){header{padding:14px 20px;gap:12px}header #nav{font-size:12px;justify-content:flex-start;gap:3px 18px}header #nav>a,header .nav-dropdown summary{padding:6px 0}header #nav>.button{font-size:12px;padding:7px 12px;gap:13px}.dropdown-links a{font-size:12px;padding:9px 5px}header .nav-dropdown-panel{padding:14px}html{scroll-padding-top:250px}}

/* Use a geometric chevron so alignment does not depend on font metrics. */
header .nav-dropdown summary>span{display:inline-block;flex:0 0 7px;width:7px;height:7px;font-size:0;line-height:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s;margin-left:2px}
header .nav-dropdown[open] summary>span{transform:translateY(2px) rotate(225deg)}

/* Image-led service links. */
.service-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.service-photo-card{display:block;min-width:0}.service-photo{aspect-ratio:4/3;overflow:hidden;background:#e9ece4}
.service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.service-photo-card h3{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:21px;margin-top:15px;line-height:1.35}
.service-photo-card h3>span{flex-shrink:0;font-size:23px;font-weight:400}
.service-photo-card:hover img{transform:scale(1.035)}.service-photo-card:hover h3{text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.service-photo-card h3{font-size:19px}}
@media(max-width:500px){.service-photo-grid{grid-template-columns:1fr;gap:28px}.service-photo-card h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.service-photo-card:hover img{transform:none}}

/* Service pages: photography first, short scope, related visual links. */
.visual-service-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:60px;padding:42px 0 32px}
.visual-service-heading h1{font-size:clamp(38px,4.4vw,64px);line-height:1.1;letter-spacing:-2px}
.visual-service-heading>p{font-size:17px;line-height:1.65;max-width:410px}
.visual-service-hero{margin:0;aspect-ratio:16/9;background:#e9ece4;overflow:hidden}
.visual-service-hero img{width:100%;height:100%;display:block;object-fit:cover}
.visual-service-scope{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:30px 0 38px;border-bottom:1px solid var(--line)}
.visual-service-scope ul{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;padding:0;margin:0;color:var(--ink);font-size:15px;line-height:1.6}
.visual-service-scope li+li{margin:0}.visual-service-scope .button{flex-shrink:0}.visual-coverage{display:inline-block;font-size:12px;color:var(--muted);margin-top:14px}.visual-coverage:hover{text-decoration:underline}
.related-service-section{padding-top:38px}.related-service-section>h2{font-size:27px;margin-bottom:24px}.related-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:850px}.related-service-grid .service-photo{aspect-ratio:16/10}
@media(max-width:760px){.visual-service-heading{grid-template-columns:1fr;gap:18px;padding:30px 0 25px}.visual-service-heading h1{font-size:40px;letter-spacing:-1.5px}.visual-service-heading>p{font-size:15px}.visual-service-hero{aspect-ratio:4/3}.visual-service-scope{align-items:flex-start;flex-direction:column;gap:24px;padding:24px 0 30px}.visual-service-scope ul{font-size:14px;gap:6px 20px}.related-service-grid{gap:18px}.related-service-grid h3{font-size:17px}}
@media(max-width:450px){.related-service-grid{grid-template-columns:1fr}}

.asset-slot-label{font-size:10px;line-height:1.6;color:var(--muted);padding:8px 0}.visual-service-hero{overflow:visible;aspect-ratio:auto;background:none}.visual-service-hero>img{aspect-ratio:16/9;object-fit:cover;height:auto}.service-photo{position:relative}.card-photo-slot{position:absolute;bottom:8px;left:8px;font-size:8px;letter-spacing:.6px;padding:3px 6px;background:#fafbf7ed;color:var(--ink)}
.project-evidence{padding:35px 0;border-bottom:1px solid var(--line)}.evidence-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.project-evidence>h3{font-size:20px;margin-bottom:20px}.project-photo-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-photo-slot{aspect-ratio:4/3;background:#edf1e7;border:1px dashed #bcc8b5;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:15px;gap:8px}.project-photo-slot>span{font-size:19px}.project-photo-slot>small{font-size:11px;color:var(--muted)}.project-fact-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:22px 0 0}.project-fact-slots dt{font-size:12px;font-weight:650}.project-fact-slots dd{margin:7px 0 0;font-size:12px;color:var(--muted)}
.service-answers{padding:35px 0}.service-answers>h2{margin-bottom:24px}.answer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.answer-grid h3{font-size:17px;line-height:1.4}.answer-grid p{font-size:13px;line-height:1.8;margin-top:10px}.service-guide-links{display:flex;gap:14px 25px;flex-wrap:wrap;font-size:12px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-guide-links>span{font-weight:650}.service-guide-links>a{text-decoration:underline;text-underline-offset:4px}
.local-proof-slot{padding:25px;border:1px dashed #bcc8b5;margin-top:32px;background:#f3f5ed}.local-proof-slot h2{margin-top:16px;font-size:23px}.local-proof-slot p{font-size:13px;margin-top:14px;max-width:700px}.review-source-slot{font-size:10px;margin-top:15px;color:var(--muted)}.review-placeholder .placeholder-quote{margin-top:24px}
.draft-guides{padding-bottom:40px}.draft-guides>h2{font-size:30px;margin-bottom:24px}.draft-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.draft-guide-card>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;margin-bottom:16px}.draft-guide-card h3{font-size:23px;margin-top:14px}.draft-guide-card>p{font-size:13px;margin-top:12px}.draft-guide-card>.text-link{margin-top:17px}.draft-guide-card:hover h3{text-decoration:underline;text-underline-offset:4px}
.article-page{padding-top:25px;padding-bottom:65px}.article-heading{max-width:850px;padding:32px 0}.article-heading .eyebrow{margin:22px 0 16px}.article-heading h1{font-size:53px;letter-spacing:-1.8px;line-height:1.15}.article-summary{font-size:19px;margin-top:24px;line-height:1.65}.article-byline{font-size:11px;margin-top:18px}.article-image{margin:0 0 25px;max-width:850px}.article-image>img{width:100%;height:auto;max-height:390px;object-fit:cover;display:block}.article-body{max-width:750px}.article-body section{margin-top:30px}.article-body h2{font-size:25px;letter-spacing:-.7px}.article-body p{font-size:15px;line-height:1.85;margin-top:13px}.article-body a:not(.button){text-decoration:underline;text-underline-offset:4px}.article-sources ul{padding-left:20px;font-size:13px}.article-sources>p{font-size:11px}.article-project-slot{background:#eff2e7;border:1px dashed #bcc8b5;padding:20px;margin:30px 0}.article-project-slot>p{font-size:12px}
@media(max-width:760px){.visual-service-hero>img{aspect-ratio:4/3}.evidence-heading{align-items:flex-start;flex-direction:column}.project-photo-slots{gap:8px}.project-photo-slot{padding:10px}.project-photo-slot>span{font-size:15px}.project-photo-slot>small{font-size:9px}.project-fact-slots,.answer-grid{grid-template-columns:1fr;gap:22px}.draft-guide-grid{grid-template-columns:1fr;gap:32px}.article-heading h1{font-size:37px;letter-spacing:-1px}.article-summary{font-size:17px}.article-page{padding-top:18px}.article-body h2{font-size:23px}}

.planning-resource-links{max-width:1280px;width:calc(100% - 112px);margin:0 auto 45px;padding:20px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 28px;font-size:12px}.planning-resource-links>span{font-weight:650}.planning-resource-links>a,.local-research-link>a{text-decoration:underline;text-underline-offset:4px}
.service-local-links{padding-top:35px}.service-local-links>div{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}.service-local-links>div>a{border:1px solid var(--line);padding:12px 16px;font-size:13px;display:flex;gap:20px}.service-local-links>div>a:hover{background:#edf1e7}
.local-service-paths{padding:32px 0;margin-top:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.local-service-paths>div{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin-top:24px}.local-service-paths h3{font-size:19px}.local-service-paths p{font-size:13px;line-height:1.8;margin-top:12px}.local-service-paths a:hover{text-decoration:underline}.local-service-paths article{scroll-margin-top:200px}.local-research-link{font-size:12px;margin-top:26px}
@media(max-width:1050px){.planning-resource-links{width:calc(100% - 64px)}}@media(max-width:760px){.planning-resource-links{width:calc(100% - 40px);margin-bottom:30px}.local-service-paths>div{grid-template-columns:1fr}.local-service-paths article{scroll-margin-top:250px}}

/* Finished presentation of private demonstration project stories. */
.project-city{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:7px}.project-timeline-frame{margin:0;min-width:0}.timeline-crop{position:relative;aspect-ratio:1;overflow:hidden;background:#edf1e7}.timeline-crop>img{position:absolute;top:0;width:300%;max-width:none;height:100%;object-fit:fill;display:block}.phase-before img{left:0}.phase-during img{left:-100%}.phase-after img{left:-200%}.project-timeline-frame>figcaption{font-size:12px;font-weight:550;padding-top:10px}.project-fact-slots dd{font-size:13px;line-height:1.8}.review-placeholder{border:1px solid var(--line);background:transparent}.finished-review-quote{font-size:16px;line-height:1.8;margin-top:16px;color:var(--ink)}.review-placeholder .quote-mark{margin-top:0}.local-project-story{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.local-project-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.local-project-story p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:13px}.local-project-story .local-story-place{font-size:12px;color:var(--ink)}.local-project-story .text-link{margin-top:18px}.article-example{padding:24px;background:#eff2e7;margin:30px 0}.article-example h2{font-size:22px}.article-example p{font-size:14px}
@media(max-width:760px){.project-photo-slots{grid-template-columns:1fr;gap:22px}.timeline-crop{aspect-ratio:1}.local-project-story{grid-template-columns:1fr;gap:24px}.finished-review-quote{font-size:15px}}

.whole-home-slider{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1074/724;background:#e7e5dc;user-select:none;touch-action:pan-y}.whole-home-slider>img,.whole-home-after-clip>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.whole-home-after-clip{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.whole-home-image-label{position:absolute;z-index:2;top:16px;padding:7px 11px;background:#173f35e8;color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em}.label-before{left:16px}.label-after{right:16px}.whole-home-slider-divider{position:absolute;z-index:3;top:0;bottom:0;left:var(--split);width:2px;background:#fff;transform:translateX(-50%);pointer-events:none}.whole-home-slider-divider>span{position:absolute;top:50%;left:50%;width:46px;height:46px;border-radius:50%;border:2px solid #fff;background:#173f35;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0003}.whole-home-slider-divider>span:before,.whole-home-slider-divider>span:after{content:"";position:absolute;top:50%;width:8px;height:8px;border-top:2px solid #fff;border-right:2px solid #fff}.whole-home-slider-divider>span:before{left:10px;transform:translateY(-50%) rotate(-135deg)}.whole-home-slider-divider>span:after{right:10px;transform:translateY(-50%) rotate(45deg)}.whole-home-slider-control{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.whole-home-slider:has(.whole-home-slider-control:focus-visible){outline:3px solid #78954f;outline-offset:4px}@media(max-width:760px){.whole-home-slider{aspect-ratio:4/3}.whole-home-image-label{top:10px;padding:6px 8px;font-size:11px}.label-before{left:10px}.label-after{right:10px}}

/* Homepage: let the existing exterior photograph lead, with a restrained slow drift. */
.hero-feature{grid-template-columns:minmax(440px,.85fr) minmax(0,1.15fr);gap:0;align-items:center;padding-top:42px;padding-bottom:54px}
.hero-feature .hero-copy{position:relative;z-index:1;align-self:center;max-width:560px;margin-right:-72px;padding:42px 52px 42px 0;background:var(--paper)}
.hero-feature .hero-copy h1{max-width:520px;font-size:clamp(48px,4.1vw,58px);line-height:1.06;letter-spacing:-2.4px}
.hero-feature .hero-coverage{max-width:460px;margin-top:23px;font-size:15px;line-height:1.7;color:var(--muted);font-weight:400}
.hero-feature .actions{gap:24px;margin-top:28px;flex-wrap:wrap}
.hero-phone{font-size:14px;font-weight:600;text-underline-offset:5px;text-decoration-thickness:1px}
.hero-phone:hover{text-decoration:underline}
.hero-feature .hero-photo-feature{height:clamp(500px,44vw,610px);min-width:0;overflow:hidden;align-self:stretch;border-radius:2px}
.hero-feature .hero-photo-feature>img{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center 53%;animation:hero-photo-drift 30s ease-in-out infinite alternate}
@keyframes hero-photo-drift{from{transform:scale(1.015)}to{transform:scale(1.055)}}
@media(max-width:1050px){.hero-feature{grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);padding-top:34px;gap:0}.hero-feature .hero-copy{padding-right:42px;margin-right:-50px}.hero-feature .hero-copy h1{font-size:clamp(44px,5.1vw,54px)}.hero-feature .hero-photo-feature{height:clamp(430px,52vw,540px)}}
@media(max-width:760px){.hero-feature{grid-template-columns:1fr;gap:24px;padding-top:34px;padding-bottom:38px}.hero-feature .hero-copy{max-width:600px;margin:0;padding:0;background:none}.hero-feature .hero-copy h1{max-width:550px;font-size:clamp(44px,10vw,58px);letter-spacing:-2.5px}.hero-feature .hero-coverage{margin-top:17px;font-size:14px}.hero-feature .actions{margin-top:22px}.hero-feature .hero-photo-feature{height:auto;aspect-ratio:4/3;min-height:0}.hero-feature .hero-photo-feature>img{object-position:center 53%}}
@media(prefers-reduced-motion:reduce){.hero-feature .hero-photo-feature>img{animation:none;transform:none}}

.area-index-heading{max-width:980px;padding-bottom:28px}.area-landmark-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.area-landmark-card{position:relative;display:block;overflow:hidden;isolation:isolate;aspect-ratio:3/4;background:#dce5d6;color:#fff}.area-landmark-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.area-landmark-card:hover img,.area-landmark-card:focus-visible img{transform:scale(1.045)}.area-landmark-shade{position:absolute;inset:25% 0 0;background:linear-gradient(180deg,transparent 10%,rgba(10,32,27,.75) 100%);pointer-events:none}.area-landmark-name,.area-landmark-place,.area-landmark-arrow{position:absolute;z-index:1}.area-landmark-name{left:18px;bottom:38px;font-size:22px;font-weight:500;letter-spacing:.01em}.area-landmark-place{left:18px;bottom:18px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.area-landmark-arrow{right:15px;bottom:19px;font-size:19px}.area-landmark-card:focus-visible{outline:3px solid #7e956b;outline-offset:3px}.area-image-credits{margin-top:18px;font-size:10px;color:var(--muted)}.area-image-credits summary{cursor:pointer;width:max-content;text-underline-offset:3px;text-decoration:underline}.area-image-credits ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;list-style:none;padding:12px 0 0;margin:0}.area-image-credits a{text-decoration:underline;text-underline-offset:2px}.county-coverage{margin-top:42px;padding-top:26px;border-top:1px solid var(--line)}.county-coverage h2{font-size:20px}.county-coverage>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.county-coverage a{padding:10px 14px;border:1px solid var(--line);font-size:12px}.county-coverage a:hover{background:#eff2e7}@media(max-width:1100px){.area-landmark-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.area-landmark-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.area-landmark-name{left:12px;bottom:36px;font-size:17px}.area-landmark-place{left:12px;bottom:16px;font-size:8px}.area-landmark-arrow{right:11px;bottom:15px}.area-image-credits ul{grid-template-columns:1fr}.county-coverage{margin-top:30px}}

.area-landmark-name{bottom:18px}@media(max-width:760px){.area-landmark-name{bottom:12px}}


/* Bellevue city guide pilot */
.bellevue-guide{padding-top:20px}.bellevue-hero{display:grid;grid-template-columns:1fr 1.03fr;gap:44px;align-items:center;padding:32px 0 30px;min-height:470px}.bellevue-hero-copy{max-width:550px}.bellevue-hero-copy h1{font-size:clamp(46px,5vw,68px);line-height:1.02;letter-spacing:-2.7px;max-width:620px}.bellevue-hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--muted);max-width:500px;margin:22px 0 25px}.bellevue-hero-copy .button{min-width:260px}.bellevue-hero-phone{display:block;width:max-content;margin-top:17px;font-size:13px;text-underline-offset:4px}.bellevue-hero-phone:hover{text-decoration:underline}.bellevue-hero-image{position:relative;margin:0;height:430px;overflow:hidden;background:#dce5d6}.bellevue-hero-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 52%}.bellevue-hero-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,32,27,.42));pointer-events:none}.bellevue-hero-image figcaption{position:absolute;z-index:1;bottom:17px;left:19px;color:white;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.bellevue-page-nav{display:flex;gap:28px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}.bellevue-page-nav a{display:flex;gap:9px;align-items:center}.bellevue-page-nav a:hover{text-decoration:underline;text-underline-offset:4px}.bellevue-scope-section,.bellevue-resources-section{padding:64px 0 58px}.bellevue-section-heading{max-width:650px}.bellevue-section-heading h2,.bellevue-checklist-section h2,.bellevue-help-cta h2{font-size:clamp(32px,3.5vw,46px);line-height:1.1;letter-spacing:-1.6px;margin-top:12px}.bellevue-section-heading>p:last-child,.bellevue-checklist-section>div>p:last-child,.bellevue-help-cta>div>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin-top:16px}.bellevue-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;border:1px solid var(--line)}.bellevue-scope-grid article{padding:25px 24px 27px;min-height:235px}.bellevue-scope-grid article+article{border-left:1px solid var(--line)}.bellevue-card-number{font-size:11px;color:var(--sage)}.bellevue-scope-grid h3{font-size:20px;line-height:1.25;margin-top:25px}.bellevue-scope-grid p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:12px;min-height:70px}.bellevue-scope-grid a{display:block;width:max-content;font-size:12px;font-weight:600;margin-top:13px;text-decoration:underline;text-underline-offset:4px}.bellevue-resources-section{background:#eff2e7;padding-left:clamp(22px,5vw,70px);padding-right:clamp(22px,5vw,70px);margin:0 calc(clamp(22px,5vw,70px)*-1)}.bellevue-resource-list{margin-top:30px;border-top:1px solid #d7dece}.bellevue-resource-list>a{display:grid;grid-template-columns:42px 1fr 25px;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #d7dece}.bellevue-resource-icon{font-size:11px;color:var(--sage)}.bellevue-resource-list strong,.bellevue-resource-list small{display:block}.bellevue-resource-list strong{font-size:15px}.bellevue-resource-list small{font-size:12px;color:var(--muted);margin-top:5px}.bellevue-resource-arrow{font-size:20px}.bellevue-resource-list>a:hover strong{text-decoration:underline;text-underline-offset:3px}.bellevue-resource-note{font-size:11px;line-height:1.65;color:var(--muted);margin-top:18px}.bellevue-checklist-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:70px 0}.bellevue-checklist-section>div>p:last-child{max-width:410px}.bellevue-checklist-section ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.bellevue-checklist-section li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.bellevue-checklist-section li span{font-size:10px;color:var(--sage)}.bellevue-help-cta{display:flex;justify-content:space-between;align-items:center;gap:35px;background:#173f35;color:#fff;padding:38px 42px;margin:0 0 20px}.bellevue-help-cta>div{max-width:630px}.bellevue-help-cta .eyebrow{color:#cad7bf}.bellevue-help-cta h2{font-size:34px}.bellevue-help-cta>div>p:last-child{color:#d2ddd5}.bellevue-help-cta .button{background:#f8f8f3;color:#173f35;flex-shrink:0;min-width:235px}.bellevue-help-cta .button:hover{background:#e7ebdf}
@media(max-width:900px){.bellevue-hero{grid-template-columns:1fr 1fr;gap:26px;min-height:410px}.bellevue-hero-image{height:370px}.bellevue-hero-copy h1{font-size:clamp(42px,5.8vw,56px)}.bellevue-scope-grid article{padding:20px 18px}.bellevue-scope-grid p{min-height:92px}}
@media(max-width:700px){.bellevue-guide{padding-top:16px}.bellevue-hero{grid-template-columns:1fr;gap:24px;padding-top:26px;min-height:0}.bellevue-hero-copy h1{font-size:clamp(42px,11vw,56px)}.bellevue-hero-copy>p:not(.eyebrow){font-size:15px;margin:16px 0 20px}.bellevue-hero-copy .button{width:100%}.bellevue-hero-image{height:auto;aspect-ratio:4/3}.bellevue-page-nav{gap:12px;justify-content:space-between;font-size:10px}.bellevue-page-nav a{gap:4px}.bellevue-scope-section,.bellevue-resources-section{padding-top:45px;padding-bottom:42px}.bellevue-scope-grid{grid-template-columns:1fr}.bellevue-scope-grid article{min-height:0;padding:22px}.bellevue-scope-grid article+article{border-left:0;border-top:1px solid var(--line)}.bellevue-scope-grid h3{margin-top:14px}.bellevue-scope-grid p{min-height:0}.bellevue-checklist-section{grid-template-columns:1fr;gap:24px;padding:48px 0}.bellevue-help-cta{display:block;padding:28px 22px}.bellevue-help-cta h2{font-size:30px}.bellevue-help-cta .button{width:100%;margin-top:23px}.bellevue-resource-list>a{grid-template-columns:28px 1fr 18px;gap:12px}.bellevue-resource-list small{line-height:1.6}}


/* Bellevue departments and permit guide */
.bellevue-local-resource-cards h3{margin-top:20px}.bellevue-local-resource-cards p{min-height:92px}.bellevue-departments-section{padding:64px 0}.bellevue-department-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}.bellevue-department-grid article{padding:23px 25px;background:var(--paper)}.bellevue-department-grid h3{font-size:19px}.bellevue-department-grid p{font-size:12px;line-height:1.7;color:var(--muted);min-height:42px;margin-top:10px}.bellevue-department-grid a{display:block;width:max-content;font-size:12px;margin-top:8px;text-decoration:underline;text-underline-offset:3px}.bellevue-department-grid a:hover{text-decoration-thickness:2px}.bellevue-resource-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.bellevue-local-resource-cards p{min-height:116px}}
@media(max-width:700px){.bellevue-local-resource-cards p{min-height:0}.bellevue-departments-section{padding:45px 0}.bellevue-department-grid{grid-template-columns:1fr}.bellevue-department-grid article{padding:20px}.bellevue-department-grid p{min-height:0}}


/* All-city permit and property resource guides */
.city-local-note{display:block;margin-top:27px;padding:15px 17px;background:#eff2e7;border-left:2px solid var(--sage);max-width:520px}.city-local-note strong,.city-local-note span{display:block}.city-local-note strong{font-size:12px;line-height:1.5;color:var(--ink)}.city-local-note span{font-size:11px;line-height:1.65;color:var(--muted);margin-top:5px}.bellevue-hero-copy .city-local-note{margin-top:23px}.bellevue-hero{align-items:start;padding-top:44px;padding-bottom:38px}.bellevue-hero-copy{padding-top:22px}.bellevue-hero-image{height:480px}.bellevue-hero-copy .button{display:flex;align-items:center;justify-content:space-between}.bellevue-local-resource-cards p{min-height:84px}.bellevue-department-grid a{overflow-wrap:anywhere}
@media(max-width:900px){.bellevue-hero{padding-top:26px}.bellevue-hero-copy{padding-top:8px}.bellevue-hero-image{height:420px}.bellevue-local-resource-cards p{min-height:112px}}
@media(max-width:700px){.bellevue-hero{padding-top:20px}.bellevue-hero-copy{padding-top:0}.bellevue-hero-image{height:auto}.bellevue-hero-copy .city-local-note{margin-top:20px}.bellevue-local-resource-cards p{min-height:0}}


/* City guide resource label spacing */
.bellevue-resource-list>a{grid-template-columns:minmax(112px,14%) minmax(0,1fr) 28px;column-gap:22px}.bellevue-resource-icon{line-height:1.45;overflow-wrap:normal;word-break:normal}.bellevue-resource-list>a>span:nth-child(2){min-width:0}.bellevue-resource-arrow{justify-self:end}
@media(max-width:700px){.bellevue-resource-list>a{grid-template-columns:minmax(100px,29%) minmax(0,1fr) 20px;column-gap:12px}.bellevue-resource-icon{font-size:10px}}

/* Bathroom spotlight: two full photographs, without a construction-phase panel. */
.bathroom-before-after{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px;gap:22px}
.bathroom-before-after .timeline-crop{aspect-ratio:4/3}
.bathroom-before-after .timeline-crop>img{position:static;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.bathroom-before-after{grid-template-columns:1fr;gap:18px}.bathroom-before-after .timeline-crop{aspect-ratio:4/3}}

/* Bathroom before/after comparison uses the same accessible slider as other projects. */
.bathroom-slider{aspect-ratio:3/2}
@media(max-width:760px){.bathroom-slider{aspect-ratio:4/3}}

/* Basement before/after comparison. */
.basement-slider{aspect-ratio:3/2}
@media(max-width:760px){.basement-slider{aspect-ratio:4/3}}

/* Wide comparison frame lets the two-car garage read at a glance. */
.garage-slider{aspect-ratio:16/9}
@media(max-width:760px){.garage-slider{aspect-ratio:4/3}}

/* Full-width commercial reception Before/After comparison. */
.commercial-slider{aspect-ratio:3/2}
@media(max-width:760px){.commercial-slider{aspect-ratio:4/3}}

/* Wide Before/After view for the flooring and finish-carpentry spotlight. */
.flooring-slider{aspect-ratio:16/9}
@media(max-width:760px){.flooring-slider{aspect-ratio:4/3}}


/* Compact side-by-side kitchen photos, without the pixel-comparison slider. */
.kitchen-before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;margin:26px 0 0}.kitchen-before-after figure{margin:0;min-width:0}.kitchen-before-after img{display:block;width:100%;height:auto;object-fit:contain}.kitchen-before-after figcaption{padding-top:9px;font-size:12px;font-weight:600;color:var(--ink)}@media(max-width:760px){.kitchen-before-after{gap:12px}}

/* Full-frame Before/After photos for service project spotlights. */
.service-before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;margin:26px 0 0}.service-before-after figure{margin:0;min-width:0}.service-before-after img{display:block;width:100%;height:auto;object-fit:contain}.service-before-after figcaption{padding-top:9px;font-size:12px;font-weight:600;color:var(--ink)}@media(max-width:760px){.service-before-after{gap:12px}}

/* Preserve the original portrait and landscape photos in the owner-home spotlight. */
.whole-home-owner-pair{grid-template-columns:minmax(0,.5fr) minmax(0,1fr);align-items:start}.whole-home-owner-pair img{height:auto;aspect-ratio:auto;object-fit:contain}@media(max-width:760px){.whole-home-owner-pair{grid-template-columns:1fr}}

/* Full-frame paired outdoor Before/After photos. */
.outdoor-before-after{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);gap:24px;width:100%;margin:26px 0 0;align-items:start}.outdoor-before-after figure{margin:0;min-width:0}.outdoor-before-pair,.outdoor-after-pair{display:grid;grid-template-columns:1fr;gap:16px}.outdoor-before-pair img,.outdoor-after-pair img{display:block;width:100%;height:auto;object-fit:contain}.outdoor-before-after figcaption{padding-top:9px;font-size:12px;font-weight:600;color:var(--ink)}@media(max-width:760px){.outdoor-before-after{grid-template-columns:1fr;gap:18px}.outdoor-before-pair,.outdoor-after-pair{gap:10px}}

/* Match the differing portrait and landscape source photos without cropping. */
.adu-conversion-pair{grid-template-columns:minmax(0,.5fr) minmax(0,1fr)}@media(max-width:760px){.adu-conversion-pair{grid-template-columns:1fr}}

/* Preserve full portrait and landscape Bathroom Remodeling photos. */
.bathroom-user-pair{grid-template-columns:minmax(0,.5fr) minmax(0,1fr)}@media(max-width:760px){.bathroom-user-pair{grid-template-columns:1fr}}

/* Keep the portrait Before and landscape After kitchen photos uncropped. */
.kitchen-owner-pair{grid-template-columns:minmax(0,.5fr) minmax(0,1fr)}@media(max-width:760px){.kitchen-owner-pair{grid-template-columns:1fr}}

/* User-provided fire restoration project photos. */
.restoration-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;margin:26px 0 0}.restoration-photo-grid figure{margin:0;min-width:0}.restoration-photo-grid img{display:block;width:100%;height:clamp(320px,32vw,520px);object-fit:contain;background:var(--paper)}.restoration-photo-grid figcaption{padding-top:9px;font-size:12px;font-weight:600;color:var(--ink)}@media(max-width:760px){.restoration-photo-grid{grid-template-columns:1fr;gap:18px}}

/* Family garage project: keep the before and after evidence aligned without cropping details. */
.garage-family-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 0}.garage-family-photos figure{margin:0;min-width:0}.garage-family-photos img{display:block;width:100%;height:clamp(220px,24vw,360px);object-fit:contain;background:var(--paper)}.garage-family-photos figcaption{padding-top:9px;font-size:12px;font-weight:600;color:var(--ink)}@media(max-width:760px){.garage-family-photos{grid-template-columns:1fr;gap:18px}.garage-family-photos img{height:clamp(260px,70vw,420px)}}

/* Active build spotlight: identify the current stage without implying completion. */
.active-build .evidence-heading{justify-content:space-between}.build-status{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:650;color:var(--ink)}.active-build-photo{margin:22px 0 0}.active-build-photo img{display:block;width:100%;height:clamp(300px,48vw,620px);object-fit:contain;background:var(--paper)}.active-build-photo figcaption{padding-top:9px;font-size:12px;font-weight:600;color:var(--ink)}.active-build-note{max-width:680px;margin:14px 0 0;color:var(--muted);font-size:14px}

.active-build-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0 0}.active-build-gallery figure{margin:0;min-width:0}.active-build-gallery img{display:block;width:100%;height:clamp(260px,36vw,470px);object-fit:contain;background:var(--paper)}.active-build-gallery figcaption{padding-top:9px;font-size:12px;font-weight:600;color:var(--ink)}@media(max-width:760px){.active-build-gallery{grid-template-columns:1fr;gap:18px}.active-build-gallery img{height:clamp(260px,70vw,420px)}}

.footer-privacy{font-size:11px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* Consistent, accessible treatment for Hill Ridge phone links. */
.phone-icon{display:inline-block;width:.88em;height:.88em;fill:currentColor;vertical-align:-.08em;margin-right:.42em;flex:none}

.service-photo{position:relative}
.service-photo-badge{position:absolute;z-index:1;top:12px;left:12px;padding:6px 9px;background:rgba(23,63,53,.9);color:#fffefa;font-size:9px;font-weight:650;line-height:1;letter-spacing:.8px;text-transform:uppercase}
.service-photo-portrait img{object-position:50% 42%}

/* Zoho inquiry form, styled to match the Hill Ridge contact section. */
#crmWebToEntityForm{width:100%;max-width:none!important;padding:0!important;margin:0!important;background:transparent!important;color:var(--ink)!important;font:inherit!important}
#crmWebToEntityForm form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;align-items:start}
#crmWebToEntityForm .zcwf_title{grid-column:1/-1;padding:0 0 16px;color:var(--ink)!important;font:500 16px/1.4 'DM Sans',Arial,sans-serif!important}
#crmWebToEntityForm .zcwf_row{display:block;float:none;width:auto;margin:0 0 16px;padding:0;min-width:0}
#crmWebToEntityForm .zcwf_col_lab,#crmWebToEntityForm .zcwf_col_fld{float:none;width:100%;padding:0;margin:0;min-height:0}
#crmWebToEntityForm .zcwf_col_lab{font:550 12px/1.45 'DM Sans',Arial,sans-serif!important;color:var(--ink)}
#crmWebToEntityForm .zcwf_col_lab label{display:block;margin:0 0 6px;font:inherit!important;color:inherit}
#crmWebToEntityForm .zcwf_col_lab label span{color:#9b3d2d!important}
#crmWebToEntityForm .zcwf_col_fld input[type=text],#crmWebToEntityForm .zcwf_col_fld input[type=tel],#crmWebToEntityForm .zcwf_col_fld input[type=email],#crmWebToEntityForm .zcwf_col_fld select,#crmWebToEntityForm .zcwf_col_fld textarea{display:block;float:none;width:100%;min-width:0;max-width:none;margin:0;padding:10px 12px;border:1px solid #d7dfd1!important;border-radius:3px;background:#fffefa;color:var(--ink);font:14px/1.5 'DM Sans',Arial,sans-serif;box-shadow:none}
#crmWebToEntityForm .zcwf_col_fld select{height:43px}
#crmWebToEntityForm .zcwf_col_fld textarea{min-height:82px;resize:vertical}
#crmWebToEntityForm input:focus-visible,#crmWebToEntityForm select:focus-visible,#crmWebToEntityForm textarea:focus-visible{outline:2px solid #7b9b37;outline-offset:1px}
#crmWebToEntityForm .wfrm_fld_dpNn,#crmWebToEntityForm input[type=hidden],#crmWebToEntityForm .zoho-honeypot{display:none!important}
#crmWebToEntityForm .zoho-description-row,#crmWebToEntityForm .zoho-privacy-row,#crmWebToEntityForm .zoho-submit-row{grid-column:1/-1}
#crmWebToEntityForm .zcwf_privacy{display:flex;align-items:flex-start;gap:10px;padding:0;color:var(--ink)}
#crmWebToEntityForm .zcwf_privacy label{margin:0}
#crmWebToEntityForm .zcwf_privacy input[type=checkbox]{width:17px;height:17px;margin:2px 0 0;accent-color:var(--ink)}
#crmWebToEntityForm .zcwf_privacy_txt{width:auto;display:inline;font:12px/1.65 'DM Sans',Arial,sans-serif;color:var(--muted)!important}
#crmWebToEntityForm .zcwf_privacy_txt a{text-decoration:underline;text-underline-offset:2px;color:var(--ink)}
#crmWebToEntityForm #privacyErr7299789000000821239{display:none;color:#9b3d2d;font-size:12px}
#crmWebToEntityForm #privacyErr7299789000000821239.is-visible{display:block}
#crmWebToEntityForm .zoho-submit-row .zcwf_col_lab{display:none}
#crmWebToEntityForm .zoho-submit-row .zcwf_col_fld{display:flex;align-items:center}
#crmWebToEntityForm .formsubmit.zcwf_button{width:auto;max-width:none;padding:13px 20px;border:1px solid var(--ink)!important;border-radius:3px;background:var(--ink)!important;color:#fff!important;font:500 13px 'DM Sans',Arial,sans-serif;cursor:pointer}
#crmWebToEntityForm .formsubmit.zcwf_button:hover{background:#315c49!important}
#crmWebToEntityForm .zcwf_row:after,#crmWebToEntityForm .zcwf_col_fld:after{display:none}
@media(max-width:600px){#crmWebToEntityForm form{grid-template-columns:minmax(0,1fr);column-gap:0}#crmWebToEntityForm .zcwf_title,#crmWebToEntityForm .zoho-description-row,#crmWebToEntityForm .zoho-privacy-row,#crmWebToEntityForm .zoho-submit-row{grid-column:1}#crmWebToEntityForm .zcwf_col_fld input[type=text],#crmWebToEntityForm .zcwf_col_fld input[type=tel],#crmWebToEntityForm .zcwf_col_fld input[type=email],#crmWebToEntityForm .zcwf_col_fld select,#crmWebToEntityForm .zcwf_col_fld textarea{font-size:16px}}

#crmWebToEntityForm .zcwf_col_help{position:relative;margin-top:5px;font-size:11px;color:var(--muted)}#crmWebToEntityForm .zcwf_tooltip_over{display:none;position:relative;margin-top:5px}#crmWebToEntityForm .zcwf_tooltip_over.is-visible{display:block}
