@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Italiana&display=swap');
:root{--cream:#f3f0e9;--ink:#32352c;--muted:#74766b;--line:#d5d5ca;--olive:#424b3b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--cream);position:relative;z-index:10}.wordmark{font-size:29px;letter-spacing:6px;font-weight:300}nav{display:flex;gap:35px;align-items:center;font-size:12px}nav a:hover,.text-link:hover{color:#9b7751}.nav-cta{border-bottom:1px solid;padding:12px 0;margin-left:25px}.nav-cta span{margin-left:30px}.menu{display:none}.skip{position:absolute;top:-80px}.skip:focus{top:10px;background:white;padding:15px;z-index:99}.hero{height:calc(100svh - 88px);min-height:650px;max-height:960px;position:relative;color:white;overflow:hidden}.hero>img{object-position:center 56%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,25,16,.57),rgba(15,25,16,.04) 80%),linear-gradient(0deg,rgba(10,20,10,.35),transparent 50%)}.hero-copy{position:absolute;inset:0;padding:7% 7% 5%;display:flex;flex-direction:column;justify-content:flex-end}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.8px;line-height:1.7;margin:0 0 28px}h1,h2,h3,p{margin-top:0}h1,h2,.project-quote p{font-family:'Italiana',Georgia,serif;font-weight:400}h1{font-size:clamp(72px,8vw,122px);line-height:.99;letter-spacing:-2px;margin-bottom:42px}em{font-family:Georgia,serif;font-weight:400}h1 em{font-size:.93em}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end}.hero-bottom p{font-size:14px;line-height:1.8;margin:0}.round-link{display:flex;gap:25px;align-items:center;font-size:11px}.round-link b{border:1px solid #ffffff70;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;font-size:20px;font-weight:300}.hero-note{position:absolute;right:25px;top:30px;font-size:8px;letter-spacing:2px;writing-mode:vertical-rl}.pad{padding:110px 7%}.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px}.intro>div{display:grid;grid-template-columns:1.4fr 1fr;gap:55px}h2{font-size:clamp(42px,4.3vw,68px);line-height:1.08;letter-spacing:-1.5px;margin-bottom:30px}.intro-body p,.material-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#676b60}.text-link{font-size:11px;font-weight:500;display:inline-block;border-bottom:1px solid;padding:12px 0}.text-link span{margin-left:25px}.spaces{padding-top:25px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px}.section-note{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:35px}.project-grid{display:grid;grid-template-columns:1.14fr 1fr;gap:65px 65px;align-items:start}.project{border:0;padding:0;background:none;text-align:left;color:inherit}.photo{height:460px;position:relative;overflow:hidden}.project-large .photo{height:600px}.project-offset{margin-top:-90px}.project-offset .photo{height:520px}.photo img{transition:transform .7s}.project:hover img{transform:scale(1.035)}.image-tag{position:absolute;left:20px;bottom:22px;color:white;font-size:8px;letter-spacing:2px;text-shadow:0 1px 8px #000}.circle-arrow{position:absolute;right:20px;bottom:20px;width:38px;height:38px;border-radius:50%;background:var(--cream);display:grid;place-items:center}.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:18px}.project-meta h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0}.project-meta>span{font-size:10px;color:var(--muted)}.project-quote{padding:75px 10%}.tiny-line{display:block;width:40px;height:1px;background:var(--ink);margin-bottom:30px}.project-quote p{font-size:55px;line-height:1.15}.project-quote .eyebrow{font-size:8px}.material{display:grid;grid-template-columns:1fr 1fr;background:#e7e4da}.material-photo{height:680px}.material-copy{align-self:center;padding:70px 14%}.material-copy h2{font-size:52px}.swatches{display:flex;gap:30px;margin-top:40px;font-size:10px;letter-spacing:1px}.swatches i{display:block;width:36px;height:36px;border-radius:50%;margin-bottom:12px}.services{display:grid;grid-template-columns:1fr 1.3fr;column-gap:10%}.services>.eyebrow{grid-column:1/-1}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:25px 0;display:flex;align-items:center;gap:22px;font-size:19px}summary::-webkit-details-marker{display:none}summary span{font-size:10px;color:var(--muted)}summary b{font-size:18px;font-weight:300;margin-left:auto}details p{font-size:13px;line-height:1.9;color:#73776b;padding:0 35px 20px;margin:0}.process{background:var(--olive);color:#f1eee3}.process .section-note{color:#c0c4b5}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}.steps article{border-top:1px solid #8f958355;padding-top:25px}.steps span{font-size:9px;letter-spacing:2px}.steps h3{font-size:20px;font-family:Georgia,serif;font-weight:400;margin:28px 0 17px}.steps p{font-size:12px;line-height:1.9;color:#c9cbbb}.evening{height:580px;position:relative}.evening img{object-position:center 56%;filter:brightness(.7)}.evening>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:white;text-align:center}.evening h2{font-size:76px}.light-button{border:1px solid #ffffff80;padding:16px 25px;font-size:11px}.light-button span{margin-left:40px}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:12%}.contact>div>p:not(.eyebrow){font-size:14px;line-height:1.8}.location{display:block;font-size:9px;letter-spacing:2px;margin-top:40px}.form-note{font-size:11px;line-height:1.7;color:var(--muted);max-width:460px;margin-bottom:30px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:30px 22px}label{display:block;font-size:11px;color:#4b5147}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #b9beb1;border-radius:0;background:transparent;padding:14px 0;color:var(--ink);font-size:13px;outline-offset:4px}textarea{resize:vertical}form>label{margin-top:30px}.submit{background:var(--olive);color:white;border:0;width:100%;padding:19px 23px;display:flex;justify-content:space-between;margin-top:28px;font-size:12px}#form-status{font-size:12px;line-height:1.7;margin-top:15px}.faq{padding-top:0;max-width:1100px;margin:auto}.faq summary{font-size:16px}.faq details p{padding-left:0}.faq>.eyebrow{margin-bottom:20px}footer{background:#e7e4da;padding:60px 7% 28px;text-align:center}footer>.wordmark{font-size:46px;letter-spacing:12px}footer>p{font-family:Georgia,serif;font-style:italic;margin:20px 0 60px;color:#6e7268}footer>div{display:flex;justify-content:space-between;border-top:1px solid #c7c9be;padding-top:22px;font-size:9px;letter-spacing:1px}dialog{max-width:950px;width:92%;padding:0;border:0;background:var(--cream);max-height:90svh;overflow:auto}dialog::backdrop{background:#172014b8}dialog>img{height:440px}.close-dialog{position:absolute;top:15px;right:15px;background:var(--cream);border:0;width:42px;height:42px;border-radius:50%;font-size:20px}.dialog-copy{padding:35px}.dialog-copy h2{font-size:44px}.dialog-copy>p:not(.eyebrow){line-height:1.8;font-size:14px}.concept-note{color:#75796b;font-size:10px!important}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #b59468;outline-offset:5px}@media(max-width:1000px){.intro{grid-template-columns:1fr}.intro>div{gap:30px}.project-grid{gap:40px}.project-meta{display:block}.project-meta>span{display:block;margin-top:8px}.material-copy{padding:50px 10%}.material-copy h2{font-size:42px}.services{gap:5%}.contact{gap:7%}.steps{gap:20px}}@media(max-width:700px){header{height:72px;padding:0 6%}.wordmark{font-size:23px;letter-spacing:4px}.menu{display:flex;gap:15px;background:none;border:0;font-size:12px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;align-items:stretch;gap:22px}nav.open{display:flex}.nav-cta{margin:0}.hero{height:calc(90svh - 72px);min-height:580px}.hero-copy{padding:40px 7%}.hero h1{font-size:72px}.hero .eyebrow{font-size:8px;letter-spacing:2px;max-width:240px}.hero-bottom{align-items:start;gap:20px}.hero-bottom p{font-size:12px}.round-link span{display:none}.hero-note{right:12px}.pad{padding:70px 7%}.intro>div{grid-template-columns:1fr}.intro h2{font-size:48px}.intro-body{max-width:450px}.section-top{display:block}.section-note{margin:0 0 25px}.project-grid{grid-template-columns:1fr;gap:40px}.project-large .photo,.photo,.project-offset .photo{height:480px}.project-offset{margin:0}.project-meta{display:flex}.project-meta h3{font-size:24px}.project-quote{padding:20px 8% 0}.project-quote p{font-size:45px}.material{grid-template-columns:1fr}.material-photo{height:470px}.material-copy{padding:55px 7%}.services{display:block}.service-list{margin-top:35px}summary{font-size:17px}.steps{grid-template-columns:1fr 1fr;gap:35px 20px}.steps h3{font-size:18px}.evening{height:480px}.evening h2{font-size:49px}.contact{grid-template-columns:1fr;gap:40px}.fields{grid-template-columns:1fr;gap:25px}.faq{padding-top:0}footer>.wordmark{font-size:30px;letter-spacing:6px}footer>div{gap:18px;flex-wrap:wrap;justify-content:center}dialog>img{height:340px}.dialog-copy{padding:25px}.dialog-copy h2{font-size:35px}.project-meta>span{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Consistent vector icons across desktop and iOS. */
.icon-arrow{display:inline-block;width:20px;height:20px;vertical-align:middle;flex-shrink:0}.round-link .icon-arrow{width:22px;height:22px}.circle-arrow .icon-arrow{width:19px;height:19px}.services-intro{max-width:610px;font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:42px}.project-grid{grid-template-columns:1fr 1fr;gap:55px 45px}.project .photo{height:510px}.service-pool .photo img{object-position:80% 100%;transform:scale(1.4);transform-origin:bottom right}.service-pool:hover .photo img{transform:scale(1.44)}.project-meta{display:block}.project-meta>span{display:block;margin-top:9px}dialog[data-service="pool"]>img{object-position:center bottom}.project:focus-visible .circle-arrow,.project:hover .circle-arrow{background:var(--olive);color:var(--cream)}@media(max-width:700px){.project-grid{grid-template-columns:1fr;gap:38px}.project .photo{height:430px}.services-intro{font-size:13px}.project-meta h3{font-size:25px}}@media(max-width:380px){.project .photo{height:360px}.steps{grid-template-columns:1fr}}

.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-style:normal;margin-top:28px;font-size:15px}.contact-links a{border-bottom:1px solid var(--line);padding-bottom:4px}.contact-links a:hover,footer a:hover{color:#9b7751}footer>div{flex-wrap:wrap;gap:20px}

.social-links{display:flex;gap:24px;margin-top:24px;font-size:12px;letter-spacing:.6px}.social-links a{border-bottom:1px solid var(--line);padding-bottom:5px}.social-links a:hover{color:#9b7751}

.form-honey{display:none!important}.submit:disabled{opacity:.65;cursor:wait}.thank-you{min-height:calc(100svh - 88px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:900px;margin:auto}.thank-you h1{font-family:'Italiana',serif;font-weight:400;font-size:clamp(48px,8vw,88px);line-height:1.1;margin:20px 0 28px}.thank-you p:not(.eyebrow){line-height:1.8;max-width:500px}.thank-you .text-link{margin-top:28px}
