:root{--paper:#f5f2ec;--ink:#302d27;--muted:#696257;--accent:#77543f;--line:#d5cfc4;--max:1260px;font-family:Arial,Helvetica,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.065em;line-height:1.03}h1{font-size:clamp(64px,6.4vw,94px)}h2{font-size:clamp(42px,4.2vw,62px)}h1 em,h2 em{font-weight:400;color:var(--accent)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.label{font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.6;margin-bottom:26px;color:var(--accent)}.demo-bar{display:flex;justify-content:center;gap:26px;padding:8px 20px;background:#e9e4db;font-size:10px;color:#5e574c;letter-spacing:.03em}.demo-bar a{text-decoration:underline;text-underline-offset:3px}.header{min-height:120px;display:flex;justify-content:space-between;align-items:center;gap:32px}.wordmark{font-family:Georgia,serif;font-size:52px;line-height:.95;letter-spacing:-.07em;display:inline-block}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:.19em;line-height:1.5;margin-top:11px}.header nav{display:flex;align-items:center;gap:35px;font-size:12px}.header nav a{padding:10px 0}.nav-contact{border-bottom:1px solid var(--ink);margin-left:26px;min-width:105px;display:flex;justify-content:space-between;gap:24px}.menu{padding:9px 13px;border:1px solid var(--line);background:none}.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;padding-top:25px;padding-bottom:92px}.hero-copy{padding:25px 0 25px}.hero .label{margin-bottom:30px}.intro{margin-top:30px;font-size:19px;line-height:1.5}.hero-description{font-size:13px;line-height:1.8;max-width:320px;color:var(--muted);margin-top:16px}.solid-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink);color:var(--paper);padding:16px 22px;font-size:12px;line-height:1.5;min-height:50px;border:1px solid var(--ink);transition:background .2s}.solid-link:hover{background:var(--accent);border-color:var(--accent)}.hero .solid-link{margin-top:27px}.hero-footnote{font-size:10px;line-height:1.65;letter-spacing:.03em;margin-top:46px;padding-left:15px;border-left:1px solid #a79b8d;color:var(--muted)}.hero-figure img{height:610px;object-fit:cover;object-position:54% center}.hero-figure figcaption{display:flex;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:.06em;padding-top:15px}.section{padding-block:90px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:45px}.section-heading>p{max-width:285px;font-size:13px;line-height:1.8;color:var(--muted);padding-bottom:7px}.projects{border-top:1px solid var(--line)}.filters{display:flex;gap:26px;margin:0 0 34px;border-bottom:1px solid var(--line)}.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:14px 0;font-size:12px;white-space:nowrap}.filters button[aria-pressed=true]{border-bottom-color:var(--ink);font-weight:700}.filters span{font-size:9px;color:var(--muted);margin-left:7px;vertical-align:super}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 35px;align-items:start}.project-featured{grid-column:1/-1}.project-photo{display:block;position:relative;overflow:hidden;background:#e6dfd5}.project-photo img{aspect-ratio:1.2;object-fit:cover;transition:transform .6s}.project-featured .project-photo img{aspect-ratio:2.2;object-position:center 56%}.project-photo:hover img{transform:scale(1.025)}.photo-arrow{position:absolute;bottom:18px;right:18px;background:var(--paper);width:42px;height:42px;display:grid;place-items:center}.project-caption{padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:24px}.project-caption .label{font-size:9px;margin-bottom:9px}.project-caption h3{font-family:Georgia,serif;font-size:30px;line-height:1.2;letter-spacing:-.035em}.project-caption p:not(.label){font-size:12px;color:var(--muted);margin-top:7px}.project-open{font-size:10px;white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 0}.project-open:hover{border-color:var(--ink)}.project-grid.is-filtered .project-featured{grid-column:auto}.project-grid.is-filtered .project-featured .project-photo img{aspect-ratio:1.2}.disclosure{font-size:10px;color:var(--muted);margin-top:38px;max-width:660px}.about{background:#eae5dc}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.about-copy{padding-top:43px}.about-copy .lead{font-family:Georgia,serif;font-size:30px;line-height:1.35;color:var(--ink);letter-spacing:-.025em}.about-copy p{font-size:13px;color:var(--muted);margin-bottom:22px;max-width:460px}.line-link{font-size:12px;display:inline-block;border-bottom:1px solid #a59a89;padding:7px 0;line-height:1.5}.line-link:hover{color:var(--accent);border-color:var(--accent)}.material-palette{display:flex;gap:17px;margin-top:42px}.material-palette>span{font-size:10px;color:var(--muted);text-align:center}.swatch{display:block;width:54px;height:54px;border-radius:50%;border:1px solid #d0c6b6;margin-bottom:10px}.chalk{background:#e7e1d6}.linen{background:#cfc3ae}.oak{background:#987654}.clay{background:#a66e50}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}.service-list summary{list-style:none;display:grid;grid-template-columns:60px 1fr 30px;align-items:center;gap:20px;padding:30px 0;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.service-no{font-size:11px;color:var(--muted)}.service-list h3{font-family:Georgia,serif;font-size:30px;letter-spacing:-.025em;line-height:1.2}.details-plus{font-size:23px}.service-list details[open] .details-plus{transform:rotate(45deg)}.service-body{margin-left:80px;display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:0 0 32px;font-size:13px;color:var(--muted)}.service-body p{max-width:400px}.service-body ul{padding-left:16px;margin:0}.process{padding-top:25px}.process ol{list-style:none;padding:0;margin:45px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process li{border-top:1px solid var(--line);padding-top:22px}.process li>span{font-size:10px;color:var(--accent)}.process h3{font-family:Georgia,serif;font-size:27px;margin:20px 0 12px}.process li p{font-size:13px;color:var(--muted);max-width:285px}.contact{background:#383b32;color:#f5f2ec}.contact .label{color:#c7c3ae}.contact h2 em{color:#d5c6b0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.contact-grid>div>p:not(.label){font-size:14px;max-width:340px}.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:17px;margin-top:25px}.contact .solid-link{background:var(--paper);color:var(--ink);border-color:var(--paper)}.contact .solid-link:hover{background:#d5c6b0}.contact .line-link{border-color:#878b7c}.contact .line-link:hover{color:#d5c6b0}.contact-grid .contact-note{font-size:10px!important;line-height:1.7;color:#c7c3b9;margin-top:23px}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:45px}.footer .wordmark{font-size:42px}.footer p{font-size:10px;color:var(--muted)}.footer .line-link{font-size:10px}.contact-fallback{font-size:12px;border-top:1px solid var(--line);padding-block:22px}.contact-fallback a{text-decoration:underline}.js .contact-fallback{display:none}.skip{position:fixed;top:-150px;left:16px;z-index:10;padding:12px 20px;background:var(--ink);color:white}.skip:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:35px;width:570px;max-width:calc(100% - 32px);max-height:90dvh}dialog::backdrop{background:#23221ed9}.dialog-close{display:block;border:0;background:none;margin:0 0 25px auto;padding:8px;font-size:12px}.contact-dialog h2{font-size:43px;margin-bottom:25px}.contact-dialog>p:not(.label){font-size:14px;color:var(--muted);margin-bottom:20px}.contact-dialog .dialog-note{font-size:11px!important}.modal-open{overflow:hidden}.case-header{padding:40px 0 45px}.breadcrumb{font-size:11px;display:inline-block;margin-bottom:42px;text-decoration:underline;text-underline-offset:4px}.case-title{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.case-title h1{font-size:clamp(60px,7vw,104px)}.case-title>p{font-size:15px;color:var(--muted);max-width:270px}.case-hero{margin-bottom:60px}.case-hero img{aspect-ratio:1.9;object-fit:cover}.case-hero figcaption{font-size:10px;color:var(--muted);padding-top:12px}.case-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:95px;padding-block:20px 90px}.case-specs{margin:0}.case-specs>div{border-top:1px solid var(--line);padding-block:16px}.case-specs dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.case-specs dd{margin:6px 0 0;font-size:13px}.case-copy h2{font-size:42px;margin-bottom:23px}.case-copy p{font-size:14px;color:var(--muted);margin-bottom:22px}.case-copy h3{font-family:Georgia,serif;font-size:26px;margin:32px 0 16px}.materials{display:flex;gap:10px;flex-wrap:wrap;padding:0;list-style:none;font-size:11px}.materials li{border:1px solid var(--line);padding:7px 12px}.case-next{border-top:1px solid var(--line);padding-block:40px 70px;display:flex;justify-content:space-between;align-items:center;gap:30px}.case-next .label{margin-bottom:12px}.case-next h2{font-size:40px}.case-next>a{font-size:35px;padding:10px}.case-contact{padding-block:60px}.case-contact h2{font-size:46px}
@media(min-width:801px){.menu{display:none!important}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:32px}.hero-figure img{height:560px}.header nav{gap:22px}.nav-contact{margin-left:0}.about-grid{gap:50px}.project-caption{display:block}.project-open{margin-top:10px}.contact-grid{gap:40px}.hero h1{font-size:70px}.case-grid{gap:50px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.demo-bar{justify-content:space-between;gap:12px;font-size:8px;padding:8px 20px}.header{min-height:96px;flex-wrap:wrap;padding-block:22px;gap:20px}.wordmark{font-size:43px}.wordmark span{font-size:7px}.header nav{width:100%;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px}.js .header nav{display:none}.js .header nav.is-open{display:flex}.js .menu{display:block;font-size:11px}.nav-contact{min-width:80px}.hero{grid-template-columns:1fr;padding-top:20px;padding-bottom:55px;gap:35px}.hero-copy{padding:0}.hero .label{font-size:9px;margin-bottom:24px}.hero h1{font-size:clamp(59px,12vw,86px)}.intro{font-size:18px;margin-top:23px}.intro br{display:none}.hero-description{max-width:360px}.hero-footnote{display:none}.hero-figure img{height:auto;aspect-ratio:1.08;object-position:55% center}.hero-figure figcaption{font-size:8px}.section{padding-block:58px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:380px;margin-top:24px}h2{font-size:44px}.label{font-size:9px;margin-bottom:21px}.filters{gap:22px;margin-bottom:28px}.filters button{font-size:11px}.project-grid{grid-template-columns:1fr;gap:36px}.project-featured{grid-column:auto}.project-featured .project-photo img,.project-photo img{aspect-ratio:1.22}.project-caption{display:flex;gap:16px;padding-top:18px}.project-caption h3{font-size:28px}.project-caption .label{font-size:8px}.project-open{font-size:9px}.disclosure{font-size:9px;margin-top:30px}.about-grid{grid-template-columns:1fr;gap:35px}.about-copy{padding:0}.about-copy .lead{font-size:28px}.material-palette{margin-top:30px}.swatch{width:46px;height:46px}.service-list summary{grid-template-columns:24px 1fr 22px;gap:12px;padding:23px 0}.service-list h3{font-size:25px}.service-body{margin-left:36px;grid-template-columns:1fr;gap:18px}.process{padding-top:8px}.process ol{grid-template-columns:1fr;gap:25px;margin-top:32px}.process li{display:grid;grid-template-columns:28px 1fr;gap:10px 12px;padding-top:20px}.process li>span{margin-top:7px;grid-row:1/3}.process h3{font-size:25px;margin:0}.process li p{grid-column:2;max-width:400px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact h2{font-size:43px}.contact-actions{gap:16px}.footer{flex-wrap:wrap;padding-block:35px}.footer .line-link{width:100%;margin-top:8px}.case-header{padding-top:18px}.breadcrumb{margin-bottom:32px}.case-title{display:block}.case-title h1{font-size:62px}.case-title>p{margin-top:22px;max-width:100%}.case-hero{margin-bottom:35px}.case-hero img{aspect-ratio:1.15}.case-grid{grid-template-columns:1fr;gap:35px;padding-bottom:45px}.case-specs{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.case-copy h2{font-size:38px}.case-next h2{font-size:34px}.case-next{padding-block:30px 45px}.contact-dialog{padding:24px}.contact-dialog h2{font-size:37px}}
@media(max-width:370px){.demo-bar{font-size:7px;gap:8px}.wrap{width:calc(100% - 32px)}.hero h1{font-size:55px}.contact h2{font-size:38px}.filters{gap:16px}.project-caption{display:block}.header nav{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
