@font-face{font-family:Bricolage;src:url('../assets/fonts/bricolage-800.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-700.ttf') format('truetype');font-weight:700 800;font-style:normal;font-display:swap}html,body{overflow-x:hidden}
:root{--paper:#f3efe5;--white:#fffcf6;--teal:#0c3b3a;--ink:#172423;--lime:#c7f36b;--coral:#f06c51;--muted:#52706d;--rule:#c8d1c8;--shadow:0 18px 45px rgba(12,59,58,.16);--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.68 Manrope,Arial,sans-serif}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-underline-offset:.2em}img{display:block;max-width:100%;object-fit:cover}button,input,textarea,select{font:inherit}h1,h2,h3{font-family:Bricolage,Georgia,serif;line-height:1.03;letter-spacing:-.032em;margin:0 0 .55em}h1{font-size:clamp(3.2rem,7vw,5.9rem);max-width:11ch}h2{font-size:clamp(2.2rem,4.2vw,4rem)}h3{font-size:1.55rem}p{max-width:70ch}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.skip{position:fixed;left:1rem;top:-5rem;background:var(--lime);padding:.7rem 1rem;z-index:99}.skip:focus{top:1rem}.review-bar{min-height:34px;background:var(--teal);color:#dff3ec;padding:.35rem max(1.2rem,calc((100% - 1240px)/2));display:flex;justify-content:space-between;gap:1rem;font-size:.76rem;letter-spacing:.04em}.site-header{height:84px;position:sticky;top:0;z-index:50;background:rgba(243,239,229,.96);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 max(1.2rem,calc((100% - 1240px)/2));backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:800;font-size:1.2rem;line-height:1}.brand small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.28rem}.brand-roll{width:42px;height:42px;border-radius:50%;border:7px solid var(--teal);display:grid;place-items:center;position:relative}.brand-roll:after{content:'';width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--teal)}.brand-roll i{position:absolute;width:20px;height:7px;background:var(--lime);right:-12px;bottom:0;transform:rotate(18deg)}.site-header nav{display:flex;align-items:center;gap:1.45rem}.site-header nav>a,.nav-group>a{text-decoration:none;font-weight:750;font-size:.88rem}.nav-group{display:flex;align-items:center;position:relative}.submenu-toggle{border:0;background:none;font-weight:800;color:var(--teal);padding:.55rem;cursor:pointer}.submenu{display:none;position:absolute;top:100%;left:-1rem;width:320px;background:var(--white);box-shadow:var(--shadow);padding:.65rem;border-radius:var(--radius)}.submenu a{display:block;text-decoration:none;padding:.7rem .8rem;border-radius:9px;font-size:.84rem}.submenu a:hover,.submenu a:focus-visible{background:#e7eee6}.nav-group:hover .submenu,.nav-group:focus-within .submenu,.nav-group.open .submenu{display:block}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;text-decoration:none;font-weight:800;padding:.88rem 1.25rem;min-height:46px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:transform .18s ease-out,background .18s ease-out}.button:hover{background:#14514f;transform:translateY(-2px)}.button.mini{padding:.67rem .9rem;min-height:40px}.button.light{background:var(--lime);color:var(--ink)}.text-link{font-weight:800;color:var(--teal)}.menu-toggle{display:none}.hero,.page-hero{max-width:1240px;margin:auto;padding:5.5rem 1.2rem;display:grid;grid-template-columns:.88fr 1.12fr;gap:5rem;align-items:center}.hero-copy{padding-bottom:1rem}.market-line{color:var(--teal);font-weight:800;letter-spacing:.11em;text-transform:uppercase;font-size:.78rem}.lead{font-size:clamp(1.08rem,1.8vw,1.36rem);line-height:1.52;color:#334745}.actions{display:flex;align-items:center;gap:1.2rem;margin:1.7rem 0 2rem}.scope-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);margin:2rem 0 0}.scope-strip div{padding:1rem .8rem 0 0}.scope-strip dt{font-weight:800;color:var(--coral);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.scope-strip dd{margin:.25rem 0 0;font-size:.8rem}.hero-board{position:relative;min-height:560px;padding:1.15rem 1.15rem 3rem;background:var(--white);box-shadow:var(--shadow);transform:rotate(.7deg)}.hero-board>img{height:520px;width:100%}.clip{position:absolute;top:-13px;left:44%;width:82px;height:30px;background:#c3c8bf;box-shadow:0 3px 9px #0002;transform:rotate(-3deg)}.scope-tab{position:absolute;left:-20px;bottom:28px;background:var(--lime);padding:1rem 1.35rem;transform:rotate(-2deg);box-shadow:0 10px 25px #0c3b3a22}.scope-tab b,.scope-tab span{display:block}.scope-tab span{font-size:.74rem;margin-top:.25rem}.work-line{position:absolute;right:-20px;bottom:-36px;width:62%;overflow:visible}.work-line path{fill:none;stroke:var(--coral);stroke-width:4;stroke-linecap:round;stroke-dasharray:640;animation:draw 1.2s .2s ease-out both}@keyframes draw{from{stroke-dashoffset:640}to{stroke-dashoffset:0}}.handoff{max-width:1240px;margin:0 auto 2rem;padding:0 1.2rem;display:grid;grid-template-columns:repeat(3,1fr)}.handoff>div{background:var(--teal);color:#fff;padding:2rem;border-right:1px solid #ffffff30}.handoff span{color:var(--lime);font-weight:800}.handoff h2{font:750 1.25rem Manrope,sans-serif;letter-spacing:-.02em;margin:.65rem 0 .3rem}.handoff p{margin:0;color:#d5e5e2;font-size:.9rem}.section{max-width:1240px;margin:auto;padding:5.5rem 1.2rem}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:6rem}.intro-grid p:first-child{font-size:1.22rem}.services-panel{background:var(--white);max-width:none;padding-left:max(1.2rem,calc((100% - 1240px)/2));padding-right:max(1.2rem,calc((100% - 1240px)/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.service-list{margin-top:2rem;border-top:1px solid var(--rule)}.service-list>a{display:grid;grid-template-columns:42px 42px 1fr 30px;gap:1.2rem;align-items:center;text-decoration:none;padding:1.25rem .2rem;border-bottom:1px solid var(--rule)}.service-list>a:hover{background:#f6f8ef}.service-list>a>span{font-weight:800;color:var(--coral)}.service-list h3{font-family:Manrope,sans-serif;font-size:1.15rem;margin:0}.service-list p{margin:.25rem 0 0;color:var(--muted);font-size:.88rem}.service-icon{width:34px;height:34px;object-fit:contain}.split-photo,.detail-spread,.guide-link,.city-service{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}.split-photo>img,.detail-spread>img,.guide-link>img,.city-service>img{width:100%;height:520px}.ruled-list{padding:0;margin:1.5rem 0;list-style:none;border-top:1px solid var(--rule)}.ruled-list li{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule)}.ruled-list b{color:var(--coral)}.areas{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;background:var(--teal);color:#fff;max-width:none;padding-left:max(1.2rem,calc((100% - 1240px)/2));padding-right:max(1.2rem,calc((100% - 1240px)/2))}.areas p{color:#d6e5e1}.areas .text-link{color:var(--lime)}.city-grid{display:grid;grid-template-columns:1fr 1fr}.city-grid a{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #ffffff2b;text-decoration:none}.city-grid small{color:#a9c9c3}.cta{margin:2rem auto 0;max-width:1240px;background:var(--coral);padding:3rem;display:flex;justify-content:space-between;align-items:center;gap:3rem;clip-path:polygon(0 0,96% 0,100% 26%,100% 100%,0 100%)}.cta h2{font-size:clamp(2.1rem,4vw,3.6rem);margin-bottom:.2rem}.cta p{margin:0}.page-hero{padding-top:4.5rem}.page-hero>img{height:560px;width:100%;box-shadow:var(--shadow)}.crumb{display:inline-block;color:var(--coral);font-weight:800;margin-bottom:1.25rem}.boundary{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.boundary>div{padding:2.3rem;background:var(--white);border-radius:var(--radius)}.boundary .caution{background:#fff1ec}.boundary h2{font-size:2.2rem}.boundary li{margin:.7rem 0}.detail-spread{grid-template-columns:1.05fr .95fr}.detail-spread ol{list-style:none;padding:0;margin:1.5rem 0}.detail-spread li{display:grid;grid-template-columns:44px 1fr;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--rule)}.detail-spread li span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lime);font-weight:800}.process{background:var(--teal);color:#fff;max-width:none;padding-left:max(1.2rem,calc((100% - 1240px)/2));padding-right:max(1.2rem,calc((100% - 1240px)/2))}.process>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2rem}.process article{padding:1.5rem;border-top:1px solid #ffffff42;border-right:1px solid #ffffff42}.process article b{color:var(--lime)}.process article p{color:#d4e2df;font-size:.9rem}.guide-link{background:var(--white)}.guide-link>div>span{color:var(--coral);font-weight:800;text-transform:uppercase;font-size:.76rem;letter-spacing:.08em}.faq-band{max-width:920px}.faq-band.wide{max-width:1000px}.faq-band details{border-top:1px solid var(--rule);padding:1.1rem 0}.faq-band details:last-child{border-bottom:1px solid var(--rule)}.faq-band summary{font-weight:800;cursor:pointer}.faq-band p{color:var(--muted)}.page-hero.local{grid-template-columns:1fr .72fr}.map-note{background:var(--lime);padding:3rem;min-height:340px;display:flex;flex-direction:column;justify-content:end;clip-path:polygon(0 0,88% 0,100% 16%,100% 100%,0 100%)}.map-note img{width:54px;height:54px;margin-bottom:auto}.map-note b{font:700 clamp(3rem,7vw,5.5rem) Bricolage,serif}.local-facts{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.local-facts h2{font-size:2.5rem}.simple-hero{max-width:1240px;margin:auto;padding:5.5rem 1.2rem 2rem}.simple-hero h1{max-width:13ch}.service-directory{display:grid;gap:1.5rem}.service-directory>a{display:grid;grid-template-columns:360px 1fr;text-decoration:none;background:var(--white)}.service-directory>a>img{height:270px;width:100%}.service-directory>a>div{padding:2rem}.service-directory h2{font-size:2rem;margin:.5rem 0}.service-directory span{font-weight:800;color:var(--teal)}.city-directory{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);padding:1px}.city-directory a{background:var(--white);padding:1.6rem;text-decoration:none}.city-directory a>span{display:block;color:var(--coral);font-size:.8rem;margin:.2rem 0}.city-directory p{font-size:.87rem;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.blog-grid article{background:var(--white)}.blog-grid img{height:280px;width:100%}.blog-grid article>div{padding:1.6rem}.blog-grid time{font-size:.75rem;color:var(--coral);font-weight:800}.blog-grid h2{font-size:1.8rem;margin:.4rem 0}.article{max-width:1120px;margin:auto;padding:4.5rem 1.2rem}.article>header{text-align:center}.article>header h1{margin-left:auto;margin-right:auto;max-width:14ch}.article>header .lead{margin-left:auto;margin-right:auto}.byline{display:flex;justify-content:center;gap:1rem;color:var(--muted);font-size:.84rem;margin:1.5rem 0}.article>header>img{width:100%;height:540px}.article-grid{display:grid;grid-template-columns:230px 1fr;gap:4rem;margin-top:4rem}.toc{position:sticky;top:120px;height:max-content;display:grid;gap:.7rem;font-size:.83rem}.toc a{color:var(--muted)}.prose{max-width:730px}.answer{font-size:1.25rem;color:var(--teal)}.prose section{margin-top:2.5rem}.prose h2{font-size:2.25rem}.field-check{background:var(--white);padding:2rem}.field-check>div{display:grid;grid-template-columns:55px 1fr;border-bottom:1px solid var(--rule);padding:.7rem 0}.field-check>div span{color:var(--coral);font-weight:800}.field-check p{margin:0}.sources{font-size:.9rem}.article-next{background:var(--lime);padding:2rem}.article-next h2{font-size:2.2rem}.estimate-board{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);padding:1px}.estimate-board>div{background:var(--white);padding:2rem}.estimate-board h2{font-size:2.1rem}.contact-sheet{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-status{background:var(--teal);color:#fff;padding:2.5rem}.contact-status span{display:block;color:var(--lime);text-transform:uppercase;font-size:.75rem;font-weight:800}.contact-status b{display:block;font:700 2.3rem/1.1 Bricolage,serif;margin:.6rem 0}.utility{max-width:820px}.site-footer{margin-top:6rem;background:var(--ink);color:#fff;padding:4rem max(1.2rem,calc((100% - 1240px)/2)) 1.5rem}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:3rem}.footer-grid h2{font:800 .78rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#aac2be}.footer-grid a{display:block;text-decoration:none;margin:.45rem 0}.footer-grid p{color:#bdcbc8;font-size:.86rem}.footer-brand{margin-bottom:1rem}.footer-brand .brand-roll{border-color:#fff}.footer-brand .brand-roll:after{border-color:#fff;background:var(--ink)}.footer-base{border-top:1px solid #ffffff28;margin-top:3rem;padding-top:1.1rem;display:flex;justify-content:space-between;gap:1rem;color:#aabbb8;font-size:.78rem}
@media(max-width:950px){.site-header{height:74px}.menu-toggle{display:block;border:0;background:var(--teal);color:#fff;padding:.6rem .8rem}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1rem 1.2rem;border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.nav-group{display:grid;grid-template-columns:1fr auto}.submenu{position:static;grid-column:1/-1;width:auto;box-shadow:none}.hero,.page-hero,.intro-grid,.split-photo,.detail-spread,.guide-link,.areas,.local-facts,.city-service,.contact-sheet{grid-template-columns:1fr}.hero{gap:3rem}.hero-board{min-height:500px}.hero-board>img{height:460px}.scope-tab{left:.3rem}.process>div{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.service-directory>a{grid-template-columns:280px 1fr}.article-grid{grid-template-columns:1fr}.toc{position:static;grid-template-columns:1fr 1fr}.cta{margin-left:1rem;margin-right:1rem}.scope-strip{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){body{font-size:16px}.review-bar{justify-content:center}.review-bar span:last-child{display:none}.brand small{display:none}.hero,.page-hero{padding-top:3rem;gap:2rem}.hero-board{min-height:330px;padding:.7rem .7rem 2.2rem}.hero-board>img{height:300px}.scope-tab{left:.3rem;bottom:.4rem}.work-line{display:none}.scope-strip{grid-template-columns:1fr}.scope-strip div{border-bottom:1px solid var(--rule);padding-bottom:.7rem}.handoff{grid-template-columns:1fr}.section{padding-top:4rem;padding-bottom:4rem}.section-heading{align-items:flex-start;flex-direction:column}.service-list>a{grid-template-columns:34px 34px 1fr}.service-list>a>b{display:none}.split-photo>img,.detail-spread>img,.guide-link>img,.city-service>img,.page-hero>img{height:330px}.boundary,.process>div,.city-grid,.city-directory,.blog-grid,.estimate-board,.footer-grid{grid-template-columns:1fr}.cta{padding:2rem;align-items:flex-start;flex-direction:column;clip-path:none}.service-directory>a{grid-template-columns:1fr}.service-directory>a>img{height:230px}.article{padding-top:3rem}.article>header>img{height:310px}.toc{grid-template-columns:1fr}.article-grid{gap:2rem}.local-facts{gap:2rem}.page-hero.local{grid-template-columns:1fr}.map-note{min-height:260px}.footer-base{flex-direction:column}.actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.work-line path{animation:none!important;stroke-dasharray:none}}
.scope-strip dt,.service-list>a>span,.ruled-list b,.crumb,.guide-link>div>span,.city-directory a>span,.blog-grid time,.field-check>div span{color:#9b3b2d}
h1,h2,h3,.contact-status b,.map-note b{font-family:Bricolage,Georgia,serif}.simple-hero h1,.article>header h1{font-size:clamp(2.65rem,5vw,4.9rem)}.nav-group:not(.open):focus-within .submenu{display:none}
