:root{--ink:#163d3b;--aqua:#a5d7d8;--paper:#fff;--muted:#526966;--line:#dbe7e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0 0 1rem}h1,h2{font-weight:500;letter-spacing:-.055em;line-height:1.06}h1{font-size:clamp(3.2rem,6vw,6.3rem)}h2{font-size:clamp(2.4rem,4vw,4.6rem)}h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.025em}em{font-family:Georgia,serif;font-weight:400}p{color:var(--muted)}.topline{padding:9px 5%;background:var(--ink);color:white;font-size:.75rem;letter-spacing:.13em;display:flex;justify-content:space-between}.topline span{letter-spacing:0}header{padding:10px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#ffffffed;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand img{width:116px;height:68px;object-fit:contain}nav{display:flex;gap:32px;font-size:.92rem}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:17px 25px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:4px;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:#245f5b;transform:translateY(-2px)}.compact{padding:12px 20px}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:640px}.hero-copy{padding:65px 9% 40px 10%}.eyebrow{font-size:.73rem;font-weight:700;letter-spacing:.16em;margin-bottom:24px;color:var(--ink)}.hero-copy>p:not(.eyebrow){max-width:440px}.hero-photo{position:relative;overflow:hidden;min-height:580px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:47% center;animation:photo-in 1.3s ease-out}.photo-label{position:absolute;bottom:32px;left:30px;right:30px;background:#ffffffeb;padding:20px 25px;font:italic 1.6rem Georgia,serif;backdrop-filter:blur(12px)}.photo-label span{display:block;font:10px Arial;letter-spacing:.17em;margin-top:9px}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:28px 0}.secondary{border-bottom:1px solid var(--ink);font-size:.9rem}.hero-note{font-size:.8rem;padding-top:25px;border-top:1px solid var(--line);margin-top:35px;max-width:410px;color:var(--muted)}.hero-note span{float:left;margin-right:20px;color:var(--ink)}.ribbon{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;background:var(--aqua);padding:24px 5%;font-size:.88rem}.ribbon b{font-weight:400}.section{padding:95px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:30px}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:34px 22px;border-right:1px solid var(--line);transition:background .25s}.service-card:first-child{padding-left:0}.service-card:last-child{border:0}.service-card:hover{background:#f0f8f7}.number{font-family:Georgia;font-style:italic;display:block;margin-bottom:40px;color:#537d78}.service-card p{font-size:.93rem}.text-link{font-size:.9rem;font-weight:600}.results{background:#edf5f4;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;max-width:none}.results>div>p{max-width:400px}.comparison{position:relative;aspect-ratio:1.2;overflow:hidden;border-radius:5px}.comparison img{width:100%;height:100%;object-fit:cover;position:absolute}.comparison .before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.before-tag,.after-tag{position:absolute;top:20px;padding:5px 12px;background:white;font-size:.65rem;letter-spacing:.14em}.before-tag{left:15px}.after-tag{right:15px}.divider{position:absolute;left:var(--split);height:100%;border-left:2px solid white}.divider b{position:absolute;top:50%;transform:translate(-50%,-50%);background:white;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}.slider-label{display:block;font-size:.8rem;margin-top:15px}input[type=range]{accent-color:var(--ink);width:100%;cursor:ew-resize}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:45px}.step-grid article{border-top:1px solid var(--line);padding-top:25px}.step-grid span{font:italic 2.5rem Georgia;color:#5d9591;display:block;margin-bottom:25px}.area{background:var(--ink);text-align:center;max-width:none;color:white}.area p,.area .eyebrow{color:#c4dddb}.light{background:var(--aqua);color:var(--ink);margin:20px 0}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:65px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{font-weight:600;cursor:pointer;line-height:1.4}details p{font-size:.95rem;margin:15px 0 0}.quote{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#e3f1ef;max-width:none}.quote>div>p{max-width:440px}.phone{font-size:1.6rem;font-weight:600;display:block;margin-top:25px}.fine{font-size:.8rem;margin-top:12px}form{background:white;padding:35px;border:1px solid var(--line);border-radius:6px}label{font-size:.85rem;font-weight:600;display:block;margin:14px 0 7px}input,select,textarea{width:100%;padding:12px;background:#fff;border:1px solid #a8bfbb;border-radius:3px;color:var(--ink);min-width:0}textarea{resize:vertical}form .button{width:100%;margin-top:20px}.form-row{display:grid;grid-template-columns:1.1fr 1fr;gap:15px}footer{padding:60px 7% 30px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;font-size:.9rem}footer strong{font-size:1.5rem}footer a{display:block;margin-bottom:8px}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;font-size:.75rem}.mobile-contact{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:99;background:white;padding:15px}:focus-visible{outline:3px solid #168c95;outline-offset:4px}.service-intro{background:#edf5f4}.service-intro .eyebrow{margin-top:35px}.service-intro h1{max-width:1000px}.lead{font-size:1.3rem;max-width:750px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.service-detail img{height:450px;object-fit:cover;width:100%;border-radius:5px}.area-list{display:flex;flex-wrap:wrap;gap:15px;margin:35px 0}.area-list span{padding:12px 22px;background:white;border:1px solid var(--line)}@keyframes photo-in{from{transform:scale(1.04);opacity:.6}to{transform:scale(1);opacity:1}}@media(max-width:1000px){nav{gap:15px}.hero-copy{padding:50px 8%}.hero{min-height:580px}.services{grid-template-columns:1fr 1fr}.service-card:first-child{padding-left:22px}.service-card{border-bottom:1px solid var(--line)}.section{padding:70px 6%}.results,.quote,.faq{gap:35px}}@media(max-width:700px){.topline{font-size:.65rem;justify-content:center}.topline span{display:none}header{padding:6px 5%;gap:10px;flex-wrap:wrap}nav{order:3;width:100%;justify-content:space-between;font-size:.75rem;padding:5px 0 10px}.brand img{width:96px;height:56px}.compact{font-size:.8rem;padding:10px 16px}.hero{display:flex;flex-direction:column}.hero-copy{padding:38px 6% 30px}h1{font-size:3.7rem}.hero-photo{min-height:340px}.hero-note{margin-top:25px;padding-top:20px}.photo-label{bottom:20px;left:20px;right:20px;font-size:1.3rem}.ribbon{gap:14px;font-size:.75rem}.ribbon b{display:none}.section-heading{display:block}.section{padding:55px 6%}.services,.results,.step-grid,.faq,.quote,.service-detail{grid-template-columns:1fr}.services{border-bottom:0}.service-card{padding:25px 0!important;border-right:0}.number{margin-bottom:15px}.service-card h3{font-size:1.5rem}.results{gap:25px}.step-grid{gap:20px}.step-grid span{float:left;margin-right:20px;font-size:2rem}.step-grid p{clear:both}.quote{gap:25px}form{padding:22px}.form-row{grid-template-columns:1fr}.faq{gap:20px}.service-detail img{height:320px}footer{grid-template-columns:1fr 1fr;padding-bottom:100px}footer>div:first-child{grid-column:1/-1}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--ink);color:white;justify-content:space-around;padding:15px 5px calc(15px + env(safe-area-inset-bottom));font-size:.85rem;border-top:1px solid #6b9490}.mobile-contact a{padding:3px 10px}.lead{font-size:1.1rem}html{scroll-padding-top:145px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Leaf accent sampled from the original company logo: #82bec6. */
:root{--aqua:#82bec6} .button{background:var(--aqua);color:#123a39;border-color:var(--aqua)}.button:hover{background:#99cbd1;color:#123a39}.light{background:var(--aqua)}.hero-copy h1 em{color:#326f76}.number,.step-grid span{color:#387880}

.hero{position:relative}.hero-maple{position:absolute;z-index:2;left:48.78%;top:52%;width:150px;height:150px;transform:translate(-50%,-50%) rotate(-9deg);background:var(--aqua);mask:url('/marketing-assets/gallery-6ddc194b644d/maple-leaf.svg') center/contain no-repeat;-webkit-mask:url('/marketing-assets/gallery-6ddc194b644d/maple-leaf.svg') center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 5px 10px #123a3922)}.communities{padding:40px 7% 32px;text-align:center;border-bottom:1px solid var(--line);background:#f6faf9}.communities .eyebrow{margin-bottom:25px}.city-wordmarks{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 40px}.city-wordmarks a{font-size:1.5rem;font-weight:700;letter-spacing:-.045em;color:#496b69}.city-wordmarks a:nth-child(2n){font-family:Georgia,serif;font-weight:400;font-style:italic}.city-wordmarks a:hover{color:#163d3b}.communities .fine{margin-top:22px;font-size:.75rem}@media(max-width:700px){.hero-maple{left:auto;right:8px;top:auto;bottom:260px;width:120px;height:120px;transform:rotate(-9deg)}.city-wordmarks{gap:17px 26px}.city-wordmarks a{font-size:1.2rem}}

.hero-maple{background:#d62828}

.visual-hero{min-height:650px;position:relative;display:flex;align-items:center;isolation:isolate;background:#163d3b;color:white;overflow:hidden}.visual-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.visual-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,30,.84),rgba(9,31,30,.34) 65%,rgba(9,31,30,.08));z-index:-1}.visual-hero-copy{padding:80px 7%;max-width:930px}.visual-hero h1{font-size:clamp(3rem,5.8vw,5.8rem)}.visual-hero p{color:white;max-width:550px;font-size:1.1rem}.visual-hero .eyebrow{font-size:.75rem;color:#b9e0e3}.portfolio-credit{position:absolute;bottom:22px;right:5%;font-size:.65rem;letter-spacing:.15em;color:white}.portfolio-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:38px;align-items:start}.portfolio-item{margin:0}.portfolio-item:nth-child(even){margin-top:100px}.portfolio-item img{width:100%;height:530px;object-fit:cover;border-radius:3px}.portfolio-item:nth-child(3) img,.portfolio-item:nth-child(4) img{height:620px}.portfolio-item figcaption{padding:20px 0}.portfolio-item figcaption span{font-size:.68rem;letter-spacing:.14em;color:#537d78}.portfolio-item h2{font-size:2.4rem;margin-top:10px}.work-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.work-pair figure{margin:0}.work-pair img{width:100%;aspect-ratio:1;object-fit:cover}.work-pair figcaption{font-size:.9rem;padding-top:10px}@media(max-width:700px){.visual-hero{min-height:580px}.visual-hero-copy{padding:55px 6%}.visual-hero h1{font-size:3.3rem}.visual-hero:after{background:linear-gradient(90deg,#09201ed9,#09201e66)}.portfolio-grid{grid-template-columns:1fr;gap:24px}.portfolio-item:nth-child(even){margin-top:0}.portfolio-item img,.portfolio-item:nth-child(3) img,.portfolio-item:nth-child(4) img{height:420px}.work-pair{gap:12px}.portfolio-item h2{font-size:2rem}}

/* Curated work gallery */
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 16px}.gallery-filters button{border:1px solid #bdceca;background:white;color:#163e39;padding:12px 20px;border-radius:28px;font:inherit;cursor:pointer}.gallery-filters button[aria-pressed="true"]{background:#163e39;color:white}.curated-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px;align-items:start}.work-card{margin:0;min-width:0;background:#f4f7f5;border-radius:14px;overflow:hidden}.work-card[hidden]{display:none}.work-zoom{display:block;position:relative;overflow:hidden}.work-card img{width:100%;height:340px;object-fit:cover;display:block;transition:transform .25s}.work-zoom:hover img{transform:scale(1.025)}.work-zoom:focus-visible{outline:4px solid #82bec6;outline-offset:-4px}.zoom-hint{position:absolute;bottom:14px;right:14px;background:#fff;padding:8px 12px;border-radius:20px;font-size:12px}.work-card figcaption{padding:22px}.work-card figcaption>span{font-size:10px;letter-spacing:1.5px;color:#53716a}.work-card h3{font-size:23px;margin:10px 0}.work-card p{font-size:14px;margin:10px 0 0}.pair-card{grid-column:span 2}.pair-images{display:grid;grid-template-columns:1fr 1fr;gap:3px}.pair-images>div{position:relative}.pair-images img{object-fit:contain;background:#e8eeeb;height:350px}.pair-label{position:absolute;top:12px;left:12px;background:#fff;padding:7px 13px;border-radius:16px;font-size:13px}#work-lightbox{border:0;border-radius:16px;padding:20px;background:#f6f8f5;max-width:94vw;max-height:94vh;text-align:center}#work-lightbox::backdrop{background:#092522e8}#work-photo{display:block;max-width:85vw;max-height:72vh;width:auto;height:auto;margin:auto}#close-work-photo{display:block;margin:0 0 12px auto;border:0;background:#163e39;color:white;border-radius:20px;padding:10px 18px;cursor:pointer}body:has(#work-lightbox[open]){overflow:hidden}@media(max-width:900px){.curated-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card img{height:280px}}@media(max-width:560px){.curated-gallery{grid-template-columns:1fr}.pair-card{grid-column:auto}.work-card img{height:320px}.pair-images img{height:230px}.gallery-filters button{padding:10px 14px;font-size:14px}.work-card figcaption{padding:18px}}@media(prefers-reduced-motion:reduce){.work-card img{transition:none}}
.work-collection .section-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px}.work-collection .section-heading h2{font-size:clamp(32px,4vw,58px)}@media(max-width:700px){.work-collection .section-heading{grid-template-columns:1fr;gap:12px}}

.photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px auto 8px;max-width:520px}.photo-navigation[hidden]{display:none}.photo-navigation button{background:#163e39;color:white;border:0;border-radius:24px;padding:12px 18px;font:inherit;cursor:pointer}.photo-navigation button:focus-visible{outline:3px solid #82bec6;outline-offset:3px}#work-photo{max-height:62vh}
