@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#eeece6;--ink:#292f29;--muted:#70756c;--line:#cecec3;--green:#4a5547}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #8b704c;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;font-weight:500}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}button{border:0}section[id]{scroll-margin-top:32px}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:14px;z-index:100}.skip:focus{top:10px}.header{margin:0 4.5%;height:117px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:1.5}.brand>span{font-family:'Manrope',sans-serif;font-size:28px;letter-spacing:4px;line-height:1;font-weight:650}.brand small{display:block;font-size:9px;letter-spacing:4.7px;padding-top:7px}.header nav{display:flex;align-items:center;gap:36px;font-size:12px}.header nav>a{padding:10px 0}.header nav>a:hover{color:#818768}.nav-contact{margin-left:39px;border-bottom:1px solid var(--ink)}.nav-contact span{margin-left:33px;font-size:20px}.menu-toggle{display:none}.hero{padding:35px 4.5% 0}.hero-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:500}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink);margin-right:8px;vertical-align:middle}.hero-note{font-size:12px;color:var(--muted)}h1{font-size:clamp(70px,9.2vw,154px);letter-spacing:-.065em;line-height:1.15;margin:30px 0 39px;white-space:nowrap}h1 em{letter-spacing:-.06em}.hero-image{position:relative;height:min(49vw,640px);min-height:340px;overflow:hidden}.hero-image>img{height:100%;object-position:center 53%}.hero-shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,#101a145c)}.hero-caption{position:absolute;bottom:40px;left:39px;right:39px;color:#fff;display:flex;justify-content:space-between;align-items:end}.hero-caption p{font-family:'Manrope',sans-serif;font-size:clamp(25px,2.8vw,43px);line-height:1.24;letter-spacing:-1px}.round-link{width:66px;height:66px;border:1px solid #ffffff85;display:grid;place-items:center;border-radius:50%;font-size:30px;transition:.2s}.round-link:hover{background:var(--paper);color:var(--ink)}.image-label{position:absolute;right:22px;top:22px;color:white;font-size:8px;letter-spacing:1.5px;padding:9px 11px;background:#17201c40;backdrop-filter:blur(5px)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding:23px 0 38px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1px}.hero-bottom p{font-size:13px;letter-spacing:0;line-height:1.6}.hero-bottom a{justify-self:end;font-size:9px;display:flex;align-items:center;gap:35px}.hero-bottom a span{font-size:24px}.section{padding:100px 4.5%}.section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;font-weight:500;margin-bottom:55px}.section-label>span:last-child{color:var(--muted)}h2{font-size:clamp(35px,4.3vw,68px);letter-spacing:-2.4px;line-height:1.16}h2 em{letter-spacing:-1.9px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.about-copy{max-width:510px;padding-top:5px}.about-copy p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:15px}.about-copy .lead{font-size:23px;line-height:1.55;letter-spacing:-.5px;color:var(--ink);margin-bottom:23px}.text-link{display:flex;justify-content:space-between;align-items:center;font-size:12px;border-bottom:1px solid var(--ink);padding:14px 0;max-width:245px;margin-top:22px}.text-link span{font-size:22px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:74px}.principles>div{border-top:1px solid var(--line);padding-top:21px}.principles span{font-size:10px;color:var(--muted)}.principles h3{font-size:19px;margin:28px 0 12px;letter-spacing:-.5px}.principles p{font-size:12px;color:var(--muted);line-height:1.8}.projects{background:#e3e2d9}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.filters{display:flex;gap:8px;padding-bottom:4px}.filters button{background:transparent;padding:11px 20px;font-size:11px;border:1px solid #bfc2b6;border-radius:25px;white-space:nowrap}.filters .active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.filters sup{font-size:8px;margin-left:8px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.project{background:transparent;text-align:left;padding:0;min-width:0}.project[hidden]{display:none}.project-wide{grid-column:1/-1}.project-photo{display:block;overflow:hidden;position:relative}.project-photo img{aspect-ratio:1.33;transition:transform .6s}.project-wide .project-photo img{aspect-ratio:2.45}.project:hover .project-photo img{transform:scale(1.035)}.project-open{position:absolute;right:20px;bottom:20px;background:var(--paper);width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:23px}.project-info{display:flex;justify-content:space-between;align-items:start;padding-top:18px}.project-info strong{font-family:'Manrope',sans-serif;display:block;font-size:24px;font-weight:500;letter-spacing:-.8px}.project-info small{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-top:11px}.project-info>span:last-child{font-size:11px;color:var(--muted);padding-top:7px}.portfolio-note{font-size:10px;line-height:1.8;color:var(--muted);max-width:610px;margin-top:37px}.services-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:12%}.services-intro>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:320px;margin-top:27px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:25px;list-style:none;cursor:pointer;padding:25px 0}summary::-webkit-details-marker{display:none}summary>span:first-child{font-size:10px;color:var(--muted)}summary h3{font-size:22px;letter-spacing:-.7px;flex:1}.plus{font-size:25px;font-weight:400;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}details>p{font-size:13px;line-height:1.9;color:var(--muted);padding:0 35px 26px 40px}.detail-image{position:relative;height:540px;color:white;overflow:hidden}.detail-image:after{content:'';position:absolute;inset:0;background:#15231b38}.detail-image img{height:100%;object-position:center 60%}.detail-image>div{position:absolute;z-index:1;left:8%;bottom:65px}.detail-image p{font-size:9px;letter-spacing:2px;margin-bottom:24px}.detail-image h2{font-size:clamp(34px,4vw,62px)}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.process ol{margin:0;padding:0;list-style:none}.process li{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.process li:first-child{padding-top:5px}.process li>span{font-size:10px;color:var(--muted);padding-top:7px}.process h3{font-size:20px;margin-bottom:11px}.process li p{font-size:13px;line-height:1.8;color:var(--muted);max-width:340px}.contact{background:var(--ink);color:var(--paper)}.contact .section-label>span:last-child{color:#a7ad9f}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14%}.contact h2{font-size:clamp(65px,8vw,120px);margin:25px 0 50px;position:relative;letter-spacing:-5px;line-height:1.05}.contact h2 em{letter-spacing:-5px}.contact h2>span{position:absolute;right:0;bottom:5px;font-size:72px;font-weight:400}.social-link{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:19px 0;border-top:1px solid #626a5e;max-width:400px}.social-link>span{color:#c1c8b9;font-size:11px}.contact form{padding-top:5px}.contact label{display:block;font-size:11px;margin-bottom:11px}.contact input,.contact select,.contact textarea{color:var(--paper);border:0;border-bottom:1px solid #626a5e;border-radius:0;background:transparent;width:100%;padding:12px 0 17px;font-size:13px;margin-bottom:28px;outline-offset:5px}.contact textarea{resize:vertical;min-height:85px}.contact input::placeholder,.contact textarea::placeholder{color:#afb5a8;opacity:1}.contact select option{color:var(--ink);background:var(--paper)}.submit{display:flex;justify-content:space-between;align-items:center;background:var(--paper);color:var(--ink);width:100%;padding:19px 23px;font-size:12px;transition:background .2s}.submit:hover{background:#c9cdbb}.submit span{font-size:22px}.form-note{font-size:10px;line-height:1.8;color:#bac2b3;margin-top:15px}.message-actions{display:flex;gap:20px;align-items:center;font-size:12px;flex-wrap:wrap}.message-actions button{padding:12px 16px;background:var(--paper)}#message-result{margin-top:25px}#form-status{font-size:12px;line-height:1.8;margin-top:18px;color:#d1dbbf}footer{padding:50px 4.5% 25px}.footer-brand{font-family:'Manrope',sans-serif;font-weight:650;font-size:clamp(56px,13vw,198px);letter-spacing:-.065em;line-height:1}.footer-brand>span{font-weight:400;font-size:.32em;letter-spacing:.06em;margin-left:20px}footer>div{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:38px;padding-top:22px}dialog{border:0;background:var(--paper);color:var(--ink);padding:0;width:min(1100px,92vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#101710cf;backdrop-filter:blur(5px)}dialog>img{max-height:57vh;object-fit:contain;background:#182019}.dialog-close{position:absolute;right:16px;top:16px;width:42px;height:42px;border-radius:50%;background:var(--paper);z-index:2;font-size:18px}.dialog-copy{padding:30px}.dialog-copy h2{font-size:34px;margin:12px 0 16px;letter-spacing:-1px}.dialog-copy>p:last-of-type{font-size:13px;line-height:1.8;color:var(--muted);max-width:700px}.dialog-copy .text-link{margin-top:12px}
@media(min-width:1700px){body{max-width:1920px;margin:auto}}@media(max-width:950px){.header nav{gap:21px}.nav-contact{margin-left:0}.nav-contact span{margin-left:10px}.section{padding:75px 5%}.about-grid,.services-grid,.process-grid{gap:7%}.contact-grid{gap:8%}.contact h2>span{font-size:55px}.section-label{margin-bottom:40px}.principles{gap:25px}.detail-image{height:440px}.hero-caption{left:25px;right:25px;bottom:25px}.hero-bottom{grid-template-columns:1fr 1fr}.hero-bottom>a{display:none}.hero-bottom p{justify-self:end}.section-heading{align-items:start;flex-direction:column}.project-info strong{font-size:21px}summary{gap:15px}summary h3{font-size:20px}}
@media(max-width:650px){.header{height:89px;margin:0 5%}.brand svg{width:34px;height:34px}.brand>span{font-size:23px}.brand small{font-size:7px;letter-spacing:4px}.menu-toggle{display:flex;align-items:center;gap:20px;background:none;padding:10px 0;font-size:12px}.menu-toggle span{font-size:25px}.header nav{display:none;position:absolute;top:88px;left:0;right:0;z-index:5;background:var(--paper);padding:25px 5% 30px;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:10px}.nav-contact{display:flex;justify-content:space-between}.hero{padding:26px 5% 0}.hero-top .eyebrow{font-size:8px;letter-spacing:1px}.hero-note{display:none}h1{font-size:clamp(38px,10vw,65px);margin:27px 0;letter-spacing:-2.6px}h1 em{letter-spacing:-2.2px}.hero-image{height:510px;min-height:0}.hero-image>img{object-position:54% center}.hero-caption p{font-size:30px}.round-link{width:48px;height:48px;font-size:25px}.image-label{font-size:7px;right:15px;top:15px}.hero-caption{left:22px;right:22px;bottom:25px}.hero-bottom{padding:20px 0 25px;font-size:8px;letter-spacing:.8px}.hero-bottom p{font-size:10px}.section{padding:58px 5%}.section-label{font-size:8px;letter-spacing:1px;margin-bottom:35px;gap:20px}.section-label>span:last-child{max-width:135px;text-align:right;line-height:1.7}h2{font-size:40px;letter-spacing:-1.7px}h2 em{letter-spacing:-1.5px}.about-grid,.services-grid,.process-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.about-copy{max-width:none}.about-copy .lead{font-size:21px}.about-copy p{font-size:13px}.principles{grid-template-columns:1fr;margin-top:40px;gap:22px}.principles>div{display:grid;grid-template-columns:30px 1fr;padding-top:19px;gap:10px}.principles span{grid-row:1/3;padding-top:5px}.principles h3{margin:0;font-size:19px}.principles p{grid-column:2}.section-heading{gap:25px;margin-bottom:28px}.filters button{font-size:10px;padding:9px 17px}.project-grid{grid-template-columns:1fr;gap:30px}.project-wide{grid-column:auto}.project-photo img,.project-wide .project-photo img{aspect-ratio:1.25}.project-wide .project-photo img{object-position:65% center}.project-info strong{font-size:23px}.project-info small{font-size:7px;letter-spacing:.7px}.portfolio-note{margin-top:28px;font-size:9px}.services-intro>p{max-width:none}.service-list{margin-top:10px}.detail-image{height:420px}.detail-image img{object-position:38% center}.detail-image>div{left:6%;bottom:40px;right:5%}.detail-image h2{font-size:34px}.detail-image p{font-size:8px}.process li:first-child{padding-top:20px;border-top:1px solid var(--line)}.contact .eyebrow{font-size:9px}.contact h2{font-size:80px;letter-spacing:-4px;margin:22px 0 35px}.contact h2 em{letter-spacing:-4px}.contact h2>span{right:12px;font-size:65px}.social-link{max-width:none}.contact-grid{gap:45px}footer{padding:38px 5% 24px}.footer-brand{font-size:20vw}.footer-brand>span{font-size:.24em;margin-left:12px}footer>div{margin-top:28px;font-size:9px}.dialog-copy{padding:24px}.dialog-copy h2{font-size:28px}.dialog-close{right:10px;top:10px;width:36px;height:36px}dialog>img{min-height:220px;object-fit:cover}}
.project-photo img{height:auto}
.contact-grid>div,.contact-grid>form{min-width:0}
@media(max-width:360px){.contact h2{font-size:65px}.contact h2>span{font-size:45px;right:0}.contact h2 em{letter-spacing:-4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
