:root{--cedar:#203f36;--dark:#17332b;--sage:#e5ebe2;--paper:#fafbf7;--stone:#dedbcf;--bronze:#997a50;--ink:#23372e;--muted:#5b695f;--line:#d6ddd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 'Avenir Next',Avenir,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.1}h1,h2{font-family:'Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif}h2{font-size:clamp(36px,4.4vw,61px);letter-spacing:-1.7px}h3{font-size:27px;letter-spacing:-.6px}p+p{margin-top:18px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:650;margin-bottom:22px}.preview{background:#e8e3d6;color:#435247;text-align:center;padding:7px 20px;font-size:10px;letter-spacing:1px}.preview span{letter-spacing:.15px;margin-left:14px}header{height:106px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--paper);position:relative;z-index:5}.brand{width:285px;height:72px;overflow:hidden;display:block;flex-shrink:0}.brand img{width:285px;max-width:none;height:auto;transform:translateY(-19px)}nav{display:flex;gap:31px;align-items:center;font-size:13px;font-weight:550}nav>a:not(.button):hover{color:var(--bronze)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--cedar);padding:17px 23px;background:var(--cedar);color:white;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--dark);transform:translateY(-2px)}.button.small{padding:13px 18px;gap:20px}.button.light{background:var(--paper);border-color:var(--paper);color:var(--cedar)}.button.light:hover{background:var(--sage)}.button span{font-size:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:615px}.hero-copy{background:var(--cedar);color:var(--paper);padding:76px 10% 60px}.hero-copy .eyebrow{color:#d4dccc;font-size:10px}.hero h1{font-size:clamp(52px,5.25vw,80px);line-height:1.08;letter-spacing:-2.8px}.hero h1 em{font-weight:400;color:#d3dcc5}.intro{font-size:17px;max-width:400px;margin:28px 0 31px;color:#e0e6da;line-height:1.75}.hero-note{display:flex;gap:12px;align-items:center;font-size:10px;color:#d5dfd1;margin-top:44px}.little-line{display:block;width:25px;height:1px;background:#bdc5b1}.hero-photo{position:relative;min-width:0}.hero-photo>img{position:absolute;width:100%;height:100%;object-position:45% center}.photo-caption{position:absolute;bottom:23px;left:24px;right:24px;background:rgba(250,251,247,.94);padding:17px 22px;display:flex;flex-direction:column;gap:4px}.photo-caption>span{font-size:9px;font-weight:650;letter-spacing:1.5px}.photo-caption>a{font-size:14px}.service-area{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 5%;border-bottom:1px solid var(--line)}.service-area>span{font-size:10px;font-weight:600;letter-spacing:1.1px}.service-area p{font-size:14px}.service-area b{margin:0 21px;font-weight:400;color:var(--bronze)}.section{padding:94px max(5%,calc((100vw - 1320px)/2));scroll-margin-top:20px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:end;margin-bottom:45px}.section-heading>p,.section-heading>div>p:not(.eyebrow){max-width:450px;color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{background:#edf0e9;padding:35px 31px;display:flex;flex-direction:column}.service.featured{background:var(--cedar);color:var(--paper)}.service-label{font-size:10px;letter-spacing:1.5px;margin-bottom:29px;font-weight:600;color:#5c705b}.featured .service-label{color:#c5d3b7}.service p{font-size:14px;margin:21px 0;color:var(--muted)}.featured p{color:#d9e1d4}.service ul{list-style:none;padding:0;margin:1px 0 31px;font-size:13px}.service li{padding:8px 0;border-bottom:1px solid #d4dbcf}.featured li{border-color:#50675a}.service a{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:650;margin-top:auto}.commercial{font-size:12px;margin-top:25px;color:var(--muted)}.project{background:#e8e8de}.status{font-size:9px!important;letter-spacing:1.1px;font-weight:600;margin-top:21px;display:flex;align-items:center;gap:8px}.status span{width:6px;height:6px;border-radius:50%;background:#647b50}.gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:230px 230px;gap:18px}.gallery button{position:relative;padding:0;border:0;overflow:hidden;background:var(--stone)}.gallery .gallery-main{grid-row:span 2}.gallery img{width:100%;height:100%;transition:transform .45s}.gallery button:hover img{transform:scale(1.025)}.gallery button>span{position:absolute;bottom:15px;left:15px;right:15px;display:flex;align-items:center;justify-content:space-between;color:white;font-size:10px;letter-spacing:1px;text-shadow:0 1px 5px #000;background:#203f36e8;padding:9px 13px}.gallery b{font-size:10px;font-weight:450;letter-spacing:0}.project-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:22px;align-items:center;font-size:12px;color:var(--muted)}.text-button{border:0;border-bottom:1px solid var(--cedar);background:none;padding:7px 0;color:var(--cedar);font-size:12px;white-space:nowrap}.text-button span{margin-left:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.experience{background:var(--sage);padding:45px 45px 0;overflow:hidden;position:relative;min-height:400px}.years{font-family:Palatino,Georgia,serif;font-size:112px;line-height:1.2;letter-spacing:-4px}.years span{font-size:27px;letter-spacing:-.5px;padding-left:12px}.experience>p:last-of-type{font-size:14px;margin-top:12px}.contours{height:96px;position:relative;margin:25px -80px -15px}.contours i{position:absolute;display:block;border:1px solid #8d9c82;width:135%;height:150px;border-radius:50%;transform:rotate(-8deg);top:25px;left:-20%}.contours i:nth-child(2){top:43px}.contours i:nth-child(3){top:63px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:485px}.about-copy h2{margin-bottom:26px}.process{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:11%;padding-top:75px;padding-bottom:80px}.process h2{font-size:46px}.process ol{list-style:none;margin:0;padding:0}.process li{display:flex;gap:27px;margin-bottom:30px}.process li:last-child{margin-bottom:0}.process li>span{font-size:12px;color:var(--bronze);padding-top:4px}.process h3{font-size:18px;letter-spacing:-.2px;margin-bottom:9px}.process p{font-size:13px;color:var(--muted)}.estimate{background:var(--cedar);color:var(--paper);display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.estimate-copy>p:not(.eyebrow){font-size:14px;color:#d8e1d3;max-width:375px;margin-top:26px}.areas{border-top:1px solid #6c7c6d;margin-top:36px;padding-top:25px;max-width:350px}.areas>span{font-size:10px;letter-spacing:1.4px;color:#d3ddc9}.areas p{font-size:16px;margin-top:10px}.estimate-copy .contact-pending{font-size:12px!important;max-width:320px!important;color:#bdcdb9!important}form{background:var(--paper);color:var(--ink);padding:31px}.form-notice{font-size:11px;line-height:1.55;background:#eceadf;padding:12px 14px;margin-bottom:22px;color:#52604f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:block;font-size:11px;font-weight:600;margin-bottom:17px}input,textarea,select{display:block;width:100%;background:white;border:1px solid #cdd5ca;border-radius:0;padding:10px 11px;margin-top:7px;font-size:13px;min-width:0;color:var(--ink)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#767f73}form>.button{width:100%;font-size:12px}button:disabled{opacity:.65;cursor:not-allowed;transform:none}.form-footnote{font-size:10px;text-align:center;margin-top:12px;color:var(--muted)}footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:35px;padding:44px 5% 25px}footer strong{font-family:Palatino,Georgia,serif;font-size:25px;letter-spacing:1px}footer div>span{display:block;font-size:8px;letter-spacing:2px;color:#705e40}footer p{font-size:12px;color:var(--muted)}footer>a{font-size:12px}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:var(--muted)}dialog{width:min(1040px,94vw);max-height:94vh;padding:25px;background:var(--paper);border:0;color:var(--ink)}dialog::backdrop{background:#10271fda}dialog h2{font:16px 'Avenir Next',sans-serif;letter-spacing:0;margin:0 40px 18px 0}dialog>img{height:min(65vh,660px);width:100%;object-fit:contain;background:#e5e6dc}.close{position:absolute;top:8px;right:16px;background:none;border:0;font-size:30px;color:var(--cedar)}.viewer-controls{display:flex;align-items:center;justify-content:space-between;margin-top:15px;font-size:12px}.viewer-controls button{padding:9px 16px;background:var(--cedar);border:0;color:white;font-size:12px}.viewer-note{font-size:10px;color:var(--muted);text-align:center;margin-top:12px}body.modal-open{overflow:hidden}:focus-visible{outline:3px solid #b99351;outline-offset:5px}.skip{position:absolute;top:-80px;left:10px;z-index:99;background:white;padding:10px}.skip:focus{top:10px}@media(min-width:1600px){.hero-copy{padding-left:max(12%,calc((100vw - 1320px)/2))}}@media(max-width:1050px){header{padding:0 4%;gap:15px}.brand{width:245px}.brand img{width:245px;transform:translateY(-11px)}nav{gap:18px;font-size:11px}.hero-copy{padding:65px 9% 45px}.hero h1{font-size:60px}.hero{min-height:600px}.hero-note{font-size:9px}.service-area b{margin:0 12px}.service{padding:28px 24px}.section{padding:75px 5%}.service h3{font-size:25px}.experience{padding:35px 30px 0}.estimate{gap:6%}}@media(max-width:760px){html{scroll-padding-top:20px}.preview{font-size:9px;padding:6px 12px}.preview span{display:block;margin-left:0;font-size:9px}header{height:87px;padding:0 6%}.brand{width:240px;height:62px}.brand img{width:240px;transform:translateY(-15px)}.menu-toggle{display:flex;gap:10px;padding:8px 0;background:none;border:0;color:var(--cedar);font-size:12px}.menu-toggle span{font-size:17px}nav{display:none;position:absolute;top:87px;left:0;right:0;background:var(--paper);padding:22px 6%;border-top:1px solid var(--line);box-shadow:0 12px 20px #203f3615;align-items:stretch;gap:18px;font-size:14px}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 7% 42px}.hero h1{font-size:clamp(52px,10.5vw,70px);letter-spacing:-2px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:24px}.intro{font-size:15px;max-width:440px;margin:24px 0 27px}.hero-note{margin-top:28px;font-size:10px}.hero-photo{height:355px}.hero-photo>img{object-position:center 48%}.photo-caption{left:18px;right:18px;bottom:18px;padding:13px 16px}.service-area{display:block;padding:22px 7%;text-align:center}.service-area>span{font-size:9px}.service-area p{font-size:12px;line-height:1.9;margin-top:8px}.service-area b{margin:0 7px}.section{padding:60px 7%}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:18px}h2{font-size:42px;letter-spacing:-1.1px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:14px}.service-grid{grid-template-columns:1fr;gap:16px}.service{padding:30px}.service h3{font-size:29px}.service-label{margin-bottom:22px}.service p{margin:19px 0}.commercial{line-height:1.7}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 170px;gap:10px}.gallery .gallery-main{grid-row:auto;grid-column:span 2}.gallery button>span{left:8px;right:8px;bottom:8px;padding:6px 9px;font-size:8px}.project-bottom{align-items:flex-start;flex-direction:column;gap:10px;font-size:11px}.about{grid-template-columns:1fr;gap:40px}.experience{min-height:340px}.years{font-size:95px}.about-copy>p:not(.eyebrow){max-width:none}.process{grid-template-columns:1fr;gap:35px}.process h2{font-size:41px}.process li{gap:20px}.estimate{grid-template-columns:1fr;gap:36px}.estimate-copy>p:not(.eyebrow){max-width:100%}.contact-pending{margin-top:20px!important}form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.estimate .button{font-size:11px;padding:14px 15px;gap:15px}footer{grid-template-columns:1fr auto;padding:36px 7% 22px;gap:20px}footer p{grid-row:2;grid-column:1/-1;font-size:11px}footer small{font-size:9px}dialog{padding:17px}dialog>img{height:56vh}.viewer-controls button{padding:10px}.viewer-note{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Approved square logo: show the whole supplied artwork without cropping. */
header{height:188px;background:#fff}.brand{width:168px;height:168px;overflow:visible}.brand img{width:100%;height:100%;max-width:100%;object-fit:contain;transform:none}footer{background:#fff}.footer-brand{display:block;width:160px}.footer-brand img{width:100%;height:auto;object-fit:contain}@media(max-width:760px){header{height:164px}.brand{width:148px;height:148px}nav{top:164px;background:#fff}.footer-brand{width:145px}}

.preview a{color:inherit;text-underline-offset:3px}.contact-options{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:30px}.contact-options a{color:inherit;font-size:1rem;text-underline-offset:5px;overflow-wrap:anywhere}#estimate-status{font-size:.9rem;line-height:1.6}#estimate-status:empty{display:none}
