@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#08689d;--ink:#18394c;--cream:#f7fafc;--lime:#a5e6f5;--muted:#536c7b;--border:#d8e2e8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:5px}button,a{touch-action:manipulation}img{max-width:100%;display:block}.skip{position:absolute;left:15px;top:-100px;background:white;padding:15px;z-index:30}.skip:focus{top:10px}.topbar{background:var(--green);color:#fff;font-size:12px;letter-spacing:.03em;padding:11px 5%;display:flex;justify-content:space-between}.topbar a{color:var(--lime)}.header{height:99px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--border);background:var(--cream)}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;font-size:20px;letter-spacing:-.6px}.brand b{font-weight:500}.mark{font:italic 800 52px Georgia;letter-spacing:-8px;line-height:1;padding-right:9px}.mark span{color:#16a9d4}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav>a:not(.button):hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{background:var(--green);border:0;color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;font-weight:600;padding:19px 25px;border-radius:5px;font-size:14px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#07517b;transform:translateY(-2px)}.button.small{padding:15px 20px;font-size:12px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px;padding:29px 3% 30px 7%;gap:5%}.hero-copy{padding:40px 0 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 26px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:#16a9d4;border-radius:50%;margin-right:7px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(48px,5.4vw,83px);letter-spacing:-4px;line-height:1.07;font-weight:500;margin-bottom:25px}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#0788b7}.intro{max-width:375px;font-size:15px;line-height:1.8;color:#536c7b}.actions{display:flex;gap:28px;align-items:center;margin:30px 0 46px}.text-link{font-size:13px;font-weight:600}.hero-bottom{border-top:1px solid var(--border);display:flex;gap:34px;padding:20px 0;font-size:9px;letter-spacing:1.6px}.hero-photo{position:relative;overflow:hidden;border-radius:100px 5px 5px 5px;background:#e2ddd2;min-height:600px}.hero-photo img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:46% center}.photo-label{position:absolute;bottom:55px;left:25px;background:var(--cream);border-radius:3px;padding:17px 20px;font-family:Georgia;font-style:italic;font-size:19px}.photo-note{position:absolute;bottom:17px;left:26px;color:white;font-size:10px;text-shadow:0 1px 5px #000}.ribbon{display:flex;align-items:center;justify-content:space-evenly;gap:20px;background:#e4f2f8;font-size:12px;padding:24px 4%;color:#285b77}.ribbon i{font-style:normal;color:#16a9d4;font-size:20px}.section{padding:95px 7%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:42px}.section-heading p:last-child{color:var(--muted);line-height:1.8;font-size:14px}h2{font-size:clamp(34px,3.6vw,53px);letter-spacing:-2.1px;line-height:1.15;font-weight:500;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-number{font-size:11px;display:block;margin-bottom:14px;color:#808a7c}.service-art{height:205px;position:relative;overflow:hidden;margin-bottom:26px;background:#e7e0d3}.interior{background:linear-gradient(90deg,#d8d5c5 0 16%,#e9e4d7 16% 72%,#d1cebc 72%);border-bottom:19px solid #b3a38c}.interior:after{content:'';position:absolute;width:57%;height:55px;background:#bec3a0;bottom:0;left:22%;border-radius:20px 20px 0 0;box-shadow:0 7px 0 #8a9678}.interior span{position:absolute;width:52px;height:69px;top:24px;left:34%;background:#a0ac8a;border:8px solid #f8f4e9;box-shadow:0 1px 6px #a09e86}.exterior{background:#e2e8df}.exterior:before{content:'';position:absolute;width:66%;height:135px;background:repeating-linear-gradient(#b7c1a7 0 14px,#a4b298 14px 16px);bottom:0;left:17%;clip-path:polygon(0 34%,50% 0,100% 34%,100% 100%,0 100%)}.exterior:after{content:'';position:absolute;left:28%;bottom:24px;width:37px;height:44px;background:#788b80;border:5px solid #f3f1e6;box-shadow:75px 0 0 -5px #788b80,75px 0 0 0 #f3f1e6}.commercial{background:linear-gradient(90deg,#d8c8b5 0 9%,#e7dfd2 9% 65%,#b0bca6 65%);border-bottom:19px solid #b3a38c}.commercial:after{content:'';position:absolute;width:70%;height:12px;background:#9d8a70;bottom:53px;left:15%;box-shadow:0 12px 0 #c7b79f}.commercial span{position:absolute;top:20px;left:20%;width:38%;height:61px;background:#8c9c8d;border:7px solid #f8f4e9}.service h3{font-size:21px;letter-spacing:-.5px;margin-bottom:14px}.service p{font-size:13px;line-height:1.9;color:var(--muted);min-height:78px}.service>a{border-top:1px solid var(--border);padding-top:18px;display:flex;justify-content:space-between;font-size:12px;font-weight:600}.approach{background:#e7f3f9;padding:88px 7%;display:grid;grid-template-columns:1fr 1fr;gap:11%}.approach-intro>p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:350px;margin:25px 0}.steps{padding-top:15px}.steps article{display:flex;gap:25px;border-bottom:1px solid #c9dfe9;padding:24px 0}.steps article:first-child{padding-top:0}.steps article>span{font-size:12px;padding-top:5px;color:#48809b}.steps h3{font-size:19px;margin-bottom:10px;letter-spacing:-.5px}.steps p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:0}.areas{display:grid;grid-template-columns:1fr 1fr;gap:10%}.areas>div>p:last-child{margin:24px 0 0;color:var(--muted);font-size:14px;line-height:1.8;max-width:360px}.cities{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:0 24px}.cities>*{padding:22px 0;border-bottom:1px solid var(--border);font-size:14px}.cities>a{font-size:12px;color:#08689d}.quote-section{margin:0 3%;padding:65px 4.3%;border-radius:6px;background:var(--green);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9%}.quote-copy{padding-top:25px}.quote-copy h2{font-size:clamp(34px,3.6vw,52px)}.quote-copy h2 em{color:var(--lime)}.quote-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#d0e9f5;margin:25px 0}.contact-phone{font-size:29px;font-family:Manrope;letter-spacing:-1px;display:block;margin:32px 0 12px}.contact-email{font-size:14px;overflow-wrap:anywhere}.quote-note{font-size:12px;line-height:1.8;color:#c6e5f3;max-width:290px;margin-top:45px}form{background:var(--cream);border-radius:5px;padding:30px;color:var(--ink)}form h3{font-size:22px;letter-spacing:-.7px;margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px;font-weight:600;margin-bottom:15px}input,select,textarea{width:100%;border:1px solid #d0dfe8;border-radius:3px;padding:12px 10px;background:transparent;color:var(--ink);font-size:12px;margin-top:8px;min-width:0}textarea{resize:vertical}form button{width:100%}.form-help,#form-status{font-size:10px;color:var(--muted);line-height:1.7;margin:12px 0 0}#email-fallback{display:block;font-size:12px;text-decoration:underline;margin-top:8px}#email-fallback[hidden]{display:none}.faq{display:grid;grid-template-columns:1fr 2fr;gap:10%;padding-top:80px;padding-bottom:80px}.faq>.eyebrow{padding-top:21px}details{border-bottom:1px solid var(--border);padding:21px 0}summary{cursor:pointer;font-size:14px;font-weight:500}details p{margin:15px 0 0;font-size:13px;color:var(--muted);line-height:1.8}details p a{text-decoration:underline}footer{border-top:1px solid var(--border);padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:15px}footer .mark{font-size:40px}footer>span,footer small{font-size:10px;color:var(--muted)}@media(min-width:1500px){body{max-width:1800px;margin:auto}.hero{min-height:760px}.hero-photo{min-height:700px}}@media(max-width:900px){nav{gap:18px}.hero{gap:4%;padding-left:5%}h1{letter-spacing:-2.5px}.hero-photo{min-height:560px}.hero-bottom{gap:18px}.actions{gap:15px;flex-wrap:wrap}.section{padding:65px 5%}.approach{padding:65px 5%;gap:6%}.service-grid{gap:20px}.service p{min-height:122px}.quote-section{gap:5%;padding:45px 4%}.quote-section form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}footer>span{display:none}}@media(max-width:640px){.topbar{font-size:10px;padding:10px 5%}.topbar>a{white-space:nowrap}.header{height:80px;position:relative}.brand{font-size:17px}.mark{font-size:44px}.menu{display:block;border:1px solid var(--border);background:transparent;padding:10px;border-radius:4px;color:var(--green);font-size:12px}nav{display:none;position:absolute;top:80px;left:0;right:0;z-index:10;background:var(--cream);padding:25px;box-shadow:0 10px 20px #18394c17}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:24px}.hero{display:flex;flex-direction:column;padding:30px 5% 22px;gap:15px}.hero-copy{padding:0}.hero .eyebrow{margin-bottom:22px;font-size:9px}h1{font-size:59px;letter-spacing:-3px}.intro{font-size:14px;max-width:340px}.actions{margin:25px 0 28px;gap:24px}.hero-bottom{justify-content:space-between;padding:18px 0 5px}.hero-photo{min-height:350px;border-radius:65px 4px 4px 4px}.photo-label{font-size:16px;bottom:45px;left:18px;padding:13px}.photo-note{left:18px;bottom:15px;font-size:9px}.ribbon{font-size:10px;padding:18px 5%;gap:12px;flex-wrap:wrap}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.section{padding:57px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading p:last-child{margin:20px 0 0;font-size:13px}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:38px;letter-spacing:-1.7px}.service-grid{grid-template-columns:1fr;gap:38px}.service-art{height:205px}.service p{min-height:0}.service-number{margin-bottom:10px}.service h3{font-size:22px}.approach{grid-template-columns:1fr;padding:57px 6%;gap:24px}.approach h2{font-size:40px}.steps article{gap:20px;padding:22px 0}.areas{grid-template-columns:1fr;gap:25px}.cities>*{padding:19px 0}.quote-section{grid-template-columns:1fr;margin:0 3%;padding:32px 5%;gap:30px}.quote-copy{padding-top:10px}.quote-copy h2{font-size:37px}.quote-copy .contact-phone{font-size:28px;margin-top:23px}.quote-note{margin-top:22px}.quote-section form{padding:23px 18px}.form-row{grid-template-columns:1fr}input,select,textarea{font-size:16px;padding:12px 10px}label{font-size:12px}.faq{grid-template-columns:1fr;gap:0}.faq>.eyebrow{padding:0;margin-bottom:8px}summary{font-size:13px}footer{align-items:flex-start;flex-direction:column;padding:25px 6%;gap:15px}footer small{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Original uploaded business logo, displayed without cropping. */
.header{height:126px;background:#fff}.brand-logo{width:112px;height:112px;object-fit:contain;flex-shrink:0}footer{background:#fff}footer .brand-logo{width:100px;height:100px} @media(max-width:640px){.header{height:110px}.brand-logo{width:98px;height:98px}nav{top:110px}footer .brand-logo{width:90px;height:90px}}

.projects{padding-top:20px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-card{min-width:0}.project-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:5px;background:#e7f3f9;transition:filter .2s}.project-card a:hover img{filter:brightness(.93)}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 7px}.project-caption h3{margin:0;font-size:18px;letter-spacing:-.5px}.project-source{font-size:12px;color:var(--muted)}.hero-photo img{object-position:center}.hero-photo{min-height:540px}@media(max-width:900px){.project-grid{gap:20px}.project-caption h3{font-size:16px}}@media(max-width:640px){.projects{padding-top:0}.project-grid{grid-template-columns:1fr;gap:32px}.hero-photo{min-height:350px}}

/* Compact layout: introduction, project gallery, contact. */
.header{height:100px}.brand-logo{width:88px;height:88px}.hero{min-height:0;padding:28px 5% 36px;gap:6%;align-items:center}.hero-copy{padding:12px 0 0}.hero .eyebrow{margin-bottom:18px}h1{font-size:clamp(40px,4.4vw,64px);letter-spacing:-2.5px;line-height:1.1;margin-bottom:20px}.intro{max-width:400px;line-height:1.7}.actions{margin:23px 0 26px}.hero-bottom{padding:17px 0 0}.hero-photo{min-height:330px;max-height:380px;border-radius:45px 5px 5px 5px}.photo-label{font-size:16px;padding:12px 16px;bottom:20px}.section{padding:34px 5% 44px}.section-heading{margin-bottom:24px;align-items:center;gap:20px}.section-heading p:last-child{font-size:12px;max-width:280px;margin-bottom:0}h2{font-size:36px;letter-spacing:-1.4px}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.project-caption{padding:12px 0 0}.project-caption h3{font-size:14px;letter-spacing:-.3px}.project-source{display:none}.quote-section{margin:0 5%;padding:30px;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.quote-copy{padding:0}.quote-copy h2{font-size:34px}.quote-copy>p:not(.eyebrow){font-size:13px;line-height:1.7;margin:15px 0}.contact-phone{font-size:25px;margin:18px 0 10px}.contact-email{font-size:13px}.estimate-details{background:var(--cream);color:var(--ink);padding:0;border:0;border-radius:5px}.estimate-details>summary{display:flex;justify-content:space-between;align-items:center;padding:20px;font-size:14px;font-weight:600;list-style:none;min-height:60px}.estimate-details>summary::-webkit-details-marker{display:none}.estimate-details>summary span{font-size:23px}.estimate-details[open]>summary span{transform:rotate(45deg)}.estimate-details form{padding:0 20px 20px}.estimate-details form h3{display:none}footer{padding:20px 5%;margin-top:32px}footer .brand-logo{width:64px;height:64px}footer small{font-size:11px}@media(max-width:900px){.hero-photo{min-height:300px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-card img{max-height:280px}.quote-section{gap:24px;padding:25px}}@media(max-width:640px){html{scroll-padding-top:20px}.header{height:88px}.brand-logo{width:76px;height:76px}.menu{display:none}nav{display:flex;position:static;background:transparent;box-shadow:none;padding:0;flex-direction:row;align-items:center;gap:16px}nav>a:not(.button){font-size:12px}nav .button.small{font-size:11px;padding:12px;gap:8px}.hero{padding:25px 6% 28px;display:block}.hero-copy{padding:0}.hero h1{font-size:43px;letter-spacing:-2px}.hero .intro{font-size:14px;margin-bottom:0}.hero .eyebrow{font-size:9px;margin-bottom:16px}.hero .actions{margin:21px 0;gap:20px}.hero .button{padding:15px 18px;font-size:12px;gap:17px}.hero .text-link{font-size:13px}.hero-bottom{font-size:9px;padding-top:16px;gap:16px;justify-content:flex-start}.hero-photo{display:none}.section{padding:23px 6% 33px}.section-heading{display:block;margin-bottom:20px}.section-heading h2{font-size:29px}.section-heading p:last-child{font-size:11px;margin-top:9px;line-height:1.6;max-width:none}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.project-card img{aspect-ratio:1;max-height:none}.project-caption{gap:6px;padding-top:10px}.project-caption h3{font-size:12px;line-height:1.4}.project-caption>span{font-size:13px}.quote-section{margin:0 5%;padding:25px 20px;grid-template-columns:1fr;gap:22px}.quote-copy h2{font-size:29px}.quote-copy>p:not(.eyebrow){font-size:13px;margin:12px 0}.contact-phone{font-size:25px;margin:17px 0 9px}.contact-email{font-size:13px}.estimate-details>summary{font-size:13px;padding:15px;min-height:53px}.estimate-details form{padding:0 15px 18px}footer{margin-top:24px;padding:17px 6%;flex-direction:row;align-items:center;gap:12px}footer .brand-logo{width:54px;height:54px}footer small{font-size:10px}}

#project-5 img{object-position:center top}
