:root{--green:#243b30;--ink:#25392e;--muted:#536355;--rust:#825437;--cream:#f8f6ef;--line:#d5dacd;--serif:Georgia,'Times New Roman',serif}html{scroll-padding-top:110px}.header{position:sticky;top:0;z-index:20;max-width:none;background:var(--cream);border-bottom:1px solid var(--line);min-height:96px;padding:22px max(5%,calc((100vw - 1440px)/2));gap:30px}.header nav{font-size:14px;gap:26px}.header nav>a{min-height:44px;display:flex;align-items:center}.header nav .nav-contact{color:var(--cream);background:var(--green);border:0;white-space:nowrap;padding:14px 18px}.header nav .nav-contact:hover{color:white;background:#3d5546}.wordmark{letter-spacing:-1px;font-size:30px}.button{min-height:52px;font-size:15px;padding:16px 21px;gap:28px}.button-green{background:var(--green);color:var(--cream)}.button-green:hover{background:#3d5546}.text-link{font-size:15px;min-height:44px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:600}.hero-copy{padding:55px 9% 28px}.hero h1{font-size:clamp(49px,4.6vw,74px);line-height:1.05;letter-spacing:-1.8px;margin:5px 0 25px}.hero-description{font-size:16px;max-width:440px;color:#e1e7dc;line-height:1.65;margin-bottom:28px}.hero-art{min-height:625px}.hero-art figcaption{font-size:13px;backdrop-filter:none}.hero-art figcaption small{font-size:11px;color:#475447}.hero-bottom{font-size:10px;color:#dde3d5;margin-top:auto}.hero-number{color:#edf0e6;font-size:14px;letter-spacing:0}.proof-strip{padding:30px 5%;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.proof-strip>div{border-left:1px solid #a6b19f;padding-left:22px}.proof-strip b{display:block;font-size:15px;font-weight:600;line-height:1.5}.proof-strip span{font-size:13px;color:var(--muted);display:block;margin-top:5px;line-height:1.5}.section{padding-top:85px;padding-bottom:85px}.section-aside{font-size:15px;line-height:1.7;max-width:345px}.section-heading{margin-bottom:38px}h2{font-size:clamp(38px,4vw,58px)}.featured-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 36px}.featured-service{border-top:1px solid #9baa98;padding:26px 0 16px;display:flex;flex-direction:column;gap:14px}.featured-service .service-number{font-size:11px;color:var(--rust)}.featured-service h3{font:29px/1.15 var(--serif);letter-spacing:-.5px;margin:0}.featured-service p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.featured-service .text-link{align-self:flex-start;margin-top:auto}.all-services{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px}.directory-heading h3{font:30px/1.2 var(--serif);margin:0 0 10px}.directory-heading p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.search-field{display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:10px;width:min(100%,390px)}input,select,textarea{font:16px/1.4 Arial,Helvetica,sans-serif;border:1px solid #a9b2a3;background:#fffef9;border-radius:2px;color:var(--ink);min-height:48px;padding:13px 14px;max-width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #946941;outline-offset:3px}input::placeholder,textarea::placeholder{color:#667263;opacity:1}.search-status{font-size:13px;color:var(--muted);line-height:1.5}.service-groups{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.disclosure{border-top:1px solid var(--line);padding:0}.disclosure summary{padding:21px 44px 21px 0;min-height:60px;font-size:17px;line-height:1.5;cursor:pointer;color:var(--ink)}.disclosure summary:focus-visible{outline:3px solid var(--rust);outline-offset:3px}.service-list{margin:0 0 25px;display:block}.service-list dt{font-weight:600;font-size:16px;margin:20px 0 7px;scroll-margin-top:125px}.service-list dd{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.about-photo{position:relative;min-height:570px;overflow:hidden;background:#d6d4c9}.about-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 45%}.about-photo>span{position:absolute;left:24px;right:24px;bottom:24px;background:#f8f6eff0;color:var(--ink);padding:15px;font-size:10px;letter-spacing:1px;line-height:1.6}.about-copy{padding:70px 12%}.about-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted)}.photo-gallery .project-image{display:block;height:365px;border:0}.project-image b{position:absolute;right:12px;top:12px;background:#f8f6eff0;padding:10px 12px;font-size:10px;font-weight:500;color:var(--ink);opacity:0;transition:opacity .2s}.project-image:hover b,.project-image:focus-visible b{opacity:1}.project-image:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.project-image>span{font-size:9px;letter-spacing:1px;padding:10px;line-height:1.5}.photo-gallery h3{font-size:25px;line-height:1.2}.photo-gallery p{font-size:13px;line-height:1.7}.gallery-note{margin-top:30px;color:var(--muted);font-size:13px;line-height:1.6}.planner{background:#eeeede;max-width:1440px}.planner-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:start}.form-intro{font-size:15px;color:var(--muted);margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.form-grid label{display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.6;font-weight:600}.form-grid .wide{grid-column:1/-1}.form-grid textarea{resize:vertical}.form-grid+button{margin-top:25px;cursor:pointer}.privacy-note{font-size:13px;line-height:1.7;color:var(--muted);max-width:520px}.brief-side{border-left:1px solid #bfc7b5;padding-left:40px}.brief-side .eyebrow{color:var(--muted);margin-bottom:20px}.checklist{list-style:none;padding:0;margin:0}.checklist li{border-bottom:1px solid #cbd1bd;padding:15px 0;font-size:15px;line-height:1.5}.checklist li:before{content:'✓';margin-right:12px;color:var(--rust)}#brief-result{padding-top:25px}#brief-result h3{font:30px/1.2 var(--serif);margin:0 0 18px}#brief-output{width:100%;font-size:14px;line-height:1.65;resize:vertical}.brief-actions{display:flex;gap:12px;margin-top:15px;flex-wrap:wrap}.brief-actions button,.brief-actions a{border:1px solid #899781;background:none;min-height:44px;padding:12px 16px;font-size:14px;color:var(--green);cursor:pointer}.brief-actions button:hover,.brief-actions a:hover{background:#dce3cc}#brief-status{font-size:13px;line-height:1.6}.planning-steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.planning-steps li{border-top:1px solid #a7b49e;padding-top:25px}.planning-steps span{font-size:12px;color:var(--rust)}.planning-steps h3{font:25px/1.2 var(--serif);margin:25px 0 14px}.planning-steps p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.area-search{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.area-search .search-field{width:min(100%,480px)}.area-regions{border-bottom:1px solid var(--line)}.place-list{grid-template-columns:repeat(4,1fr);gap:18px 30px;padding-bottom:28px}.place-list li{font-size:15px;line-height:1.6}.place-list a{text-decoration:underline;text-underline-offset:4px}.area-disclosure summary{font:24px/1.3 var(--serif);padding-top:25px;padding-bottom:25px}.surrey-feature{display:flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid #b7c2ac;margin-top:40px;padding:30px}.surrey-feature .eyebrow{margin-bottom:12px}.surrey-feature h3{font:29px/1.25 var(--serif);margin:0 0 10px}.surrey-feature p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.7;margin:0}.surrey-feature .button{flex-shrink:0}.faq{padding-top:30px}.faq-list{border-bottom:1px solid var(--line);max-width:970px}.faq-item summary{font-size:18px;padding-top:23px;padding-bottom:23px}.faq-item>p{font-size:15px;line-height:1.8;max-width:850px;padding:0 40px 25px 0;margin:0;color:var(--muted)}.faq-item a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.contact{padding:70px 8%;gap:55px}.contact p:not(.eyebrow){font-size:15px;line-height:1.8}.contact-details .contact-link{font:clamp(28px,3vw,44px)/1.5 var(--serif)}.footer{align-items:flex-start;padding:35px 5%}.footer>div{display:flex;flex-direction:column;gap:5px}.footer>div a{font-size:13px;min-height:36px;display:flex;align-items:center}.footer p{font-size:12px;line-height:1.7;max-width:175px}.mobile-contact{display:none}.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}[hidden]{display:none!important}dialog{padding:0;border:0;background:#f8f6ef;color:var(--ink);width:min(94vw,1000px);max-height:92vh;border-radius:2px}dialog::backdrop{background:#102019dd}.photo-dialog-inner{padding:24px;position:relative}.photo-close{position:absolute;right:35px;top:35px;z-index:1;min-height:44px;padding:12px 18px;border:1px solid #b0baa3;background:var(--cream);color:var(--green);font-size:14px;cursor:pointer}#large-photo{width:100%;height:68vh;object-fit:contain;background:#14271e}.photo-dialog-caption{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:20px}.photo-dialog-caption h2{font:28px/1.3 var(--serif);letter-spacing:-.4px}.photo-dialog-caption p{font-size:14px;line-height:1.6;margin:7px 0 0;color:var(--muted)}.photo-controls{display:flex;align-items:center;gap:15px;flex-shrink:0}.photo-controls button{height:44px;width:44px;border:1px solid #98a88f;background:none;cursor:pointer;font-size:21px;color:var(--green)}#photo-count{font-size:13px;min-width:42px;text-align:center}.breadcrumbs{display:flex;gap:14px;align-items:center;font-size:13px;margin-bottom:32px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.local-hero{padding-top:36px;padding-bottom:40px}.local-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.local-hero h1{font:clamp(48px,5.3vw,77px)/1.08 var(--serif);letter-spacing:-2px;margin:0 0 28px}.local-hero h1 em{color:var(--rust);font-weight:400}.local-intro{font-size:18px;line-height:1.7;max-width:580px}.local-note{font-size:13px;line-height:1.7;color:var(--muted);margin-top:27px;max-width:540px}.local-hero figure{margin:0}.local-hero figure img{height:470px;width:100%;object-fit:cover;object-position:50% 40%}.local-hero figcaption{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.5}.page-jumps{margin-top:38px;border-top:1px solid var(--line);display:flex;gap:38px;flex-wrap:wrap;padding-top:22px}.page-jumps a{font-size:14px;min-height:44px;display:flex;align-items:center;border-bottom:1px solid #a6b39f}.local-services{padding-top:45px}.scope-section{background:#eeeede}.scope-grid,.questions-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 60px}.scope-grid h3,.questions-grid h3{font:28px/1.2 var(--serif);margin:0 0 17px}.scope-grid p,.questions-grid p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.resource-grid article{border-top:1px solid #a7b29e;padding-top:25px;display:flex;flex-direction:column}.resource-grid span{font-size:10px;letter-spacing:1.3px;color:var(--rust)}.resource-grid h3{font:29px/1.2 var(--serif);margin:22px 0 15px}.resource-grid p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 20px}.resource-grid a{font-size:14px;line-height:1.7;text-decoration:underline;text-underline-offset:5px;margin-top:auto;min-height:44px;padding-top:10px}.source-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:28px}.questions-grid{margin-bottom:35px}.scope-grid article,.questions-grid article{border-top:1px solid #b4beaa;padding-top:25px}
@media(min-width:1600px){.hero-art{min-height:660px}.hero-copy{padding-top:70px}.hero h1{font-size:76px}}
@media(max-width:1100px){.header nav{gap:16px;font-size:13px}.header{gap:15px}.wordmark{font-size:27px}.hero-copy{padding:45px 8% 25px}.hero-art{min-height:620px}.featured-services{gap:24px}.hero h1{font-size:clamp(48px,5vw,64px)}.hero-bottom{flex-wrap:wrap}.proof-strip{gap:20px}.proof-strip span{font-size:12px}.photo-gallery .project-image{height:430px}.planner-layout{gap:35px}.brief-side{padding-left:25px}.planning-steps{grid-template-columns:1fr 1fr;gap:35px}.surrey-feature{align-items:flex-start;flex-direction:column}.local-hero-grid{gap:35px}.local-hero .hero-actions{flex-direction:column;align-items:flex-start}.local-hero figure img{height:530px}.contact{gap:35px}.footer{gap:35px}}
@media(max-width:900px) and (min-width:761px){.header{flex-wrap:wrap;justify-content:center}.header nav{justify-content:center;width:100%;flex-wrap:wrap}.header nav .nav-contact{padding:10px 14px}.header nav>a{padding:6px 0}.header{padding:14px 5%}html{scroll-padding-top:160px}}
@media(max-width:760px){html{scroll-padding-top:90px}body{padding-bottom:68px}.header{min-height:80px;padding:18px 6%;justify-content:space-between;gap:0}.header nav{font-size:15px}.header nav>a{padding:14px 4px}.header nav .nav-contact{display:flex;justify-content:center;margin:12px 0 0;padding:14px}.wordmark{font-size:27px}.menu-toggle{display:block;min-height:44px;min-width:66px;font-size:13px;padding:10px 15px}.hero-copy{padding:39px 7% 27px;min-height:540px}.hero h1{font-size:clamp(48px,12vw,70px);letter-spacing:-1.4px;margin:10px 0 24px}.hero-description{font-size:16px;line-height:1.65;margin-bottom:25px}.hero .eyebrow{font-size:10px;letter-spacing:1.1px}.hero-bottom{margin-top:32px;gap:15px;padding-top:21px}.hero-actions{gap:15px;align-items:center;flex-direction:row}.hero-art{min-height:0;height:410px}.hero-art figcaption{font-size:11px;padding:14px}.hero-art figcaption small{font-size:10px}.proof-strip{grid-template-columns:1fr;padding:27px 7%;gap:20px}.proof-strip>div{padding-left:18px}.proof-strip b{font-size:15px}.proof-strip span{font-size:13px}.section{padding:58px 7%}.section-heading{gap:22px;margin-bottom:30px}.section-aside{font-size:15px;max-width:100%}h2{font-size:42px}.featured-services{grid-template-columns:1fr;gap:12px}.featured-service{padding:25px 0;gap:13px}.featured-service h3{font-size:30px}.featured-service p{font-size:15px}.featured-service .text-link{margin-top:0}.all-services{margin-top:22px;padding-top:27px}.directory-heading{flex-direction:column;align-items:stretch;gap:26px}.directory-heading h3{font-size:30px}.search-field{width:100%}.service-groups{grid-template-columns:1fr}.disclosure summary{font-size:17px;padding-top:20px;padding-bottom:20px}.service-list dt{font-size:16px}.service-list dd{font-size:14px}.about{grid-template-columns:1fr}.about-photo{min-height:420px}.about-copy{padding:45px 7%}.about-copy>p:not(.eyebrow){font-size:16px}.photo-gallery .project-image{height:auto;aspect-ratio:3/4}.project-image b{opacity:1}.photo-gallery h3{font-size:28px}.photo-gallery p{font-size:14px}.planner-layout{grid-template-columns:1fr;gap:32px}.form-grid{grid-template-columns:1fr;gap:21px}.brief-side{border-left:0;border-top:1px solid #bdc6b1;padding:30px 0 0}.planning-steps{grid-template-columns:1fr;gap:30px}.planning-steps h3{margin-top:16px}.planning-steps p{font-size:15px}.area-search{flex-direction:column;align-items:stretch;gap:10px}.area-search .search-field{width:100%}.area-disclosure summary{font-size:24px}.place-list{grid-template-columns:1fr 1fr;gap:15px 20px}.place-list li{font-size:14px}.surrey-feature{padding:24px;gap:22px}.surrey-feature h3{font-size:28px}.surrey-feature .button{width:100%;font-size:14px;gap:12px}.faq-item summary{font-size:17px}.faq-item>p{font-size:15px;padding-right:0}.contact{padding:50px 7%;grid-template-columns:1fr;gap:25px}.contact h2{font-size:46px}.contact p:not(.eyebrow){font-size:15px}.contact-details{padding:25px 0 0}.contact-details .contact-link{font-size:36px}.footer{padding:32px 7%;gap:24px;flex-direction:column}.footer .footer-brand{width:auto}.footer p{max-width:none;margin:0}.mobile-contact{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1.4fr 1fr;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid #c9d2be;z-index:25;gap:8px}.mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--green);color:var(--cream);font-size:12px;padding:9px}.mobile-contact a:last-child{background:transparent;color:var(--green);border:1px solid #98a88f}.photo-dialog-inner{padding:12px}.photo-close{top:23px;right:23px}.photo-dialog-caption{flex-direction:column;align-items:flex-start;gap:15px;padding-top:17px}.photo-dialog-caption h2{font-size:26px}#large-photo{height:56vh}.photo-controls{width:100%;justify-content:space-between}.local-hero{padding-top:25px;padding-bottom:35px}.local-hero-grid{grid-template-columns:1fr;gap:30px}.local-hero h1{font-size:51px;letter-spacing:-1.5px}.local-intro{font-size:17px}.local-hero figure img{height:430px}.local-hero .hero-actions{flex-direction:row}.local-hero .button{font-size:14px;gap:15px}.page-jumps{gap:16px 25px;margin-top:28px}.page-jumps a{font-size:13px}.scope-grid,.questions-grid,.resource-grid{grid-template-columns:1fr;gap:30px}.scope-grid p,.questions-grid p{font-size:15px}.resource-grid p{font-size:15px}.local-services{padding-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.header,.mobile-contact,.hero-art,.about-photo,#brief-form,.photo-gallery,dialog{display:none}body{padding:0;background:white;color:black}.section{padding:30px 0}.planner-layout{display:block}.brief-side{border:0;padding:0}#brief-result{display:block}#brief-output{height:auto;min-height:350px}a{text-decoration:underline}.contact{background:white;color:black}.contact *{color:black!important}}
.hero-copy a:focus-visible,.contact a:focus-visible{outline-color:#e6bf87}
