@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f6f4ef;--ink:#252923;--muted:#696b62;--line:#d9d9ce;--accent:#b9b59f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a27a3e;outline-offset:5px}.skip{position:absolute;top:-80px;background:white;padding:20px;z-index:10}.skip:focus{top:0}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-family:Georgia,serif;letter-spacing:2px;font-size:17px;line-height:1.2}.brand small{font-size:12px}.monogram{font-size:55px;font-style:italic;line-height:1}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:19px 25px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.dark{color:white;background:var(--ink)}.dark:hover{background:#41483b}.hero{display:grid;grid-template-columns:48% 52%;min-height:710px}.hero-copy{padding:66px 10% 28px 10.4%;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;margin:0 0 27px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-2px}h1{font-size:clamp(62px,6.6vw,105px);line-height:1.02;margin-bottom:24px}em{font-weight:400;color:#82846f}h2{font-size:64px;line-height:1.05;margin-bottom:24px}h3{font-weight:500;font-size:24px;margin-bottom:10px}.intro{max-width:330px;font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:27px}.text-link{display:inline-block;font-size:12px;padding:22px 0}.hero-note{display:flex;justify-content:space-between;gap:20px;width:100%;border-top:1px solid var(--line);padding-top:22px;margin-top:auto;font-size:10px;color:var(--muted)}.hero-image{position:relative;min-height:710px;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 56%}.image-tag{position:absolute;bottom:25px;left:25px;right:25px;background:#f6f4efed;padding:17px 20px;display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1px}.ribbon{display:flex;justify-content:space-around;gap:20px;padding:25px 5%;background:#eae9e1;font-size:11px;letter-spacing:1px}.section{padding:100px 7%}.section-top{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:35px;align-items:start}.section-top>p:last-child{font-size:14px;line-height:1.9;color:var(--muted);padding-top:8px}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.material-photo{height:390px;overflow:hidden}.material-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.material-photo:hover img{transform:scale(1.035)}.material-caption{display:flex;justify-content:space-between;align-items:center;padding-top:22px}.material-caption p{font-size:13px;color:var(--muted);margin-bottom:0}.material-caption a{font-size:25px;border:1px solid var(--line);border-radius:50%;padding:12px 18px}.projects{background:#e9e8e0}.projects-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.projects-heading p{font-size:13px;line-height:1.8}.projects-heading .eyebrow{font-size:10px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{border:0;padding:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}.project img{height:330px;width:100%;object-fit:cover}.project-label{display:flex;justify-content:space-between;font-size:12px;padding:13px 0 22px}.gallery-hint{font-size:11px;color:var(--muted);margin-top:15px}.outline{border-color:#8b8c7e;background:transparent}.process{display:grid;grid-template-columns:1fr 1fr;gap:10%}.process>div>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);max-width:390px}ol{padding:0;margin:0;list-style:none}li{display:flex;gap:28px;border-top:1px solid var(--line);padding:25px 0}li>span{font-size:12px;color:var(--muted)}li h3{font-size:20px}li p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:0}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact h2{font-size:73px}.contact em{color:#c2bda4}.contact>div>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:350px;color:#c6c9be}.phone{font-size:23px;display:inline-block;margin-top:25px}form{display:flex;flex-direction:column;align-self:center}label{font-size:12px;margin-bottom:10px}label span{color:#c6c9be}input,select,textarea{width:100%;border:1px solid #686d60;background:#30362d;color:white;padding:13px 14px;border-radius:0;margin-bottom:22px;font-size:14px}input::placeholder,textarea::placeholder{color:#b4baac}.light{background:#e5e2d4;color:var(--ink);width:100%}.form-note{font-size:10px;color:#c6c9be;margin:12px 0 0}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faq h2{font-size:52px}details{border-bottom:1px solid var(--line);padding:22px 0}details:first-child{padding-top:0}summary{cursor:pointer;font-size:15px}details p{font-size:13px;line-height:1.8;margin:18px 0 0;color:var(--muted)}details a{text-decoration:underline}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 7%;padding:35px 0 80px;border-top:1px solid var(--line)}footer p,footer>a:last-child{font-size:11px;color:var(--muted);margin:0}.floating{position:fixed;bottom:22px;right:25px;padding:15px 22px;border-radius:30px;background:#344b38;color:white;font-size:12px;box-shadow:0 3px 20px #0002;z-index:5}dialog{padding:15px;background:var(--paper);border:0;max-width:90vw;max-height:94vh}dialog::backdrop{background:#151713df}dialog img{display:block;max-width:82vw;max-height:78vh;object-fit:contain}dialog p{font-size:12px;margin:12px 0 0}dialog button{position:absolute;right:20px;top:20px;border:0;background:var(--paper);border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer}@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:18px}.hero{min-height:650px}.hero-image{min-height:650px}.hero-copy{padding-top:50px}.section{padding:75px 5%}h2{font-size:52px}.section-top{grid-template-columns:1fr 1.5fr}.section-top>.eyebrow{grid-column:1/-1;margin-bottom:0}.material-photo{height:320px}.project img{height:260px}.contact{gap:7%}.contact h2{font-size:60px}.image-tag{flex-direction:column}.hero-note{margin-top:30px}}@media(max-width:680px){header{height:80px;padding:0 6%}.brand{font-size:13px;gap:8px}.brand small{font-size:10px}.monogram{font-size:44px}nav{display:none}.navcta{padding:13px;font-size:10px;gap:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 7% 30px}h1{font-size:65px;letter-spacing:-2px}.hero-copy .eyebrow{font-size:9px}.intro{font-size:14px;max-width:340px}.hero-note{display:none}.hero-image{min-height:460px}.image-tag{flex-direction:row;left:16px;right:16px;font-size:8px;padding:14px}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:9px;text-align:center}.section{padding:60px 7%}h2{font-size:47px}.section-top{display:block}.section-top>.eyebrow{margin-bottom:22px}.section-top>p:last-child{max-width:340px}.material-grid{grid-template-columns:1fr;gap:32px}.material-photo{height:330px}.projects-heading{display:block}.project-grid{grid-template-columns:1fr 1fr;gap:14px}.project img{height:230px}.project-label{font-size:10px}.process,.contact,.faq{grid-template-columns:1fr;gap:35px}.contact h2{font-size:58px}.phone{margin-top:10px}.faq h2{font-size:45px}footer{flex-wrap:wrap;margin:0 7%;padding-bottom:100px}footer p{max-width:150px;line-height:1.8}.floating{right:16px;bottom:15px}dialog img{max-width:80vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original supplied logo: frame the surrounding whitespace without altering the artwork. */
.brand{position:relative;display:block;width:128px;height:96px;overflow:hidden;flex-shrink:0;mix-blend-mode:multiply}
.brand .original-logo{position:absolute;display:block;width:150%;height:auto;max-width:none;left:-25%;top:-50%}
@media(max-width:680px){.brand{width:96px;height:72px}}


/* Complementary services, subordinate to our surface specialty. */
.expansion{display:grid;grid-template-columns:1.08fr 1fr;gap:7%;align-items:center;border-top:1px solid var(--line)}
.expansion h2{font-size:clamp(44px,4.5vw,68px)}
.expansion-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted)}
.expansion-copy .expansion-intro{font-size:15px;color:var(--ink)}
.expansion-services{list-style:none;margin:25px 0 30px;padding:0;border-top:1px solid var(--line)}
.expansion-services li{font-size:13px;padding:12px 0;gap:12px;border-top:0;border-bottom:1px solid var(--line);align-items:baseline}
.expansion-services li:before{content:'↗';color:#82846f}
.expansion-copy .expansion-scope{font-size:10px;line-height:1.7;max-width:440px;margin:18px 0 0}
.expansion-image{margin:0;min-width:0}.expansion-image img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.expansion-image figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;font-size:9px;letter-spacing:.5px;color:var(--muted)}
.expansion-image figcaption a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.expansion{gap:5%}.expansion h2{font-size:45px}header nav{gap:15px;font-size:11px}}
@media(max-width:680px){.expansion{grid-template-columns:1fr;gap:35px}.expansion h2{font-size:46px}.expansion-copy .expansion-intro{font-size:14px}.expansion-image{max-width:100%}}
