@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500&display=swap');
:root{--paper:#f3f1ec;--ink:#2b2e2f;--sand:#b6a58f;--muted:#6b6e6c;--line:rgba(43,46,47,.17);--gx:112px;--gr:56px}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font:300 16px/1.85 Jost,'Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;left:64px;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}::selection{background:var(--sand);color:var(--ink)}:focus-visible{outline:2px solid #82776a;outline-offset:6px}[hidden]{display:none!important}
.page-pad{padding-left:var(--gx);padding-right:var(--gr)}.interior h1,.interior h2,.interior h3{font-weight:300;margin:0;line-height:1.13;text-wrap:balance}.interior h1{font-size:clamp(38px,5.1vw,76px);letter-spacing:.015em}.interior em,.interior-footer em{color:#82776a;font-style:normal}.interior p{margin:0}.interior figure figcaption{font-size:10px;letter-spacing:1.7px;color:var(--muted);padding-top:16px}.page-opening{padding:110px var(--gr) 86px var(--gx);animation:opening-in .7s cubic-bezier(.16,1,.3,1) both}.opening-description{max-width:470px;color:#4e5152;font-size:17px;line-height:1.8;margin-top:36px!important}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:10px 0;border-bottom:1px solid var(--sand);font-size:11px;font-weight:400;letter-spacing:1.6px}.text-link svg{width:25px;height:25px;flex-shrink:0;transition:transform .25s ease}.small-rule{display:block;width:50px;height:1px;background:var(--sand);margin-bottom:28px}
.portfolio-opening{display:grid;grid-template-columns:1.8fr 1fr;align-items:end;gap:8%}.portfolio-opening h1{font-size:clamp(38px,4.7vw,70px)}.portfolio-opening h1 em{display:block;margin-top:12px;max-width:750px}.opening-note{padding-bottom:6px;max-width:310px}.opening-note p{color:#4e5152;margin-bottom:23px}.portfolio-collection{padding-bottom:120px}.filters{display:flex;flex-wrap:wrap;gap:12px 32px;border-top:1px solid var(--line);padding-top:20px}.filters button{appearance:none;background:none;border:0;border-bottom:1px solid transparent;padding:10px 0;min-height:44px;font-size:11px;letter-spacing:1.5px;color:var(--muted)}.filters button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.filter-status{font-size:11px;color:var(--muted);letter-spacing:1px;padding:18px 0 25px}.projects{display:grid;grid-template-columns:1fr 1fr;column-gap:6%;row-gap:90px;align-items:start}.project{min-width:0;scroll-margin-top:30px}.project:first-child{grid-column:1/-1}.project>img{width:100%;aspect-ratio:4/3;object-fit:cover}.project:first-child>img{aspect-ratio:16/8}.project:nth-child(3)>img,.project:nth-child(5)>img{aspect-ratio:4/5}.project:nth-child(3){padding-top:90px}.project-copy{padding-top:25px}.project h2{font-size:clamp(24px,2.5vw,36px);letter-spacing:.03em}.project-copy>p{font-size:13px;color:var(--muted);margin:7px 0 20px}.project summary{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:15px 0;min-height:48px;list-style:none;font-size:10px;letter-spacing:1.5px}.project summary::-webkit-details-marker{display:none}.project summary svg{width:24px;height:24px;transition:transform .25s ease}.project details[open] summary svg{transform:rotate(90deg)}.project details>p{font-size:14px;margin:12px 0;color:var(--muted)}.projects.is-filtered .project{grid-column:auto;padding-top:0}.projects.is-filtered .project>img{aspect-ratio:4/3}
.service-opening{display:grid;grid-template-columns:1.05fr 1fr;gap:1%;align-items:center;padding-bottom:100px}.technical-figure{mix-blend-mode:multiply}.technical-figure img{width:100%;aspect-ratio:3/2;object-fit:contain}.technical-figure figcaption{text-align:center}.service-workbench{background:#3f3f3f;color:#edeae3;display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:85px;padding-bottom:85px}.service-context h2{font-size:clamp(30px,3.3vw,48px);letter-spacing:.02em;margin-bottom:50px}.service-context figure img{width:100%;aspect-ratio:4/5;object-fit:cover}.service-context figure figcaption{color:#c6c3bd}.services{border-top:1px solid rgba(237,234,227,.25)}.service{border-bottom:1px solid rgba(237,234,227,.25);scroll-margin-top:35px}.service summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 0;min-height:90px;list-style:none}.service summary::-webkit-details-marker{display:none}.service summary h3{font-size:clamp(20px,2vw,28px);letter-spacing:.035em}.service-mark{width:20px;height:20px;flex-shrink:0;position:relative}.service-mark:before,.service-mark:after{content:"";position:absolute;left:0;top:9px;width:20px;height:1px;background:#c6c3bd}.service-mark:after{transform:rotate(90deg);transition:transform .2s ease}.service[open] .service-mark:after{transform:rotate(0)}.service-body{padding:0 40px 30px 0}.service-body p{color:#c6c3bd;max-width:390px}.service-body .text-link{margin-top:20px}.consulting{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-top:100px;padding-bottom:110px}.consulting h2{font-size:clamp(36px,4.5vw,64px);letter-spacing:.02em}.consulting p{max-width:300px;margin-bottom:23px}
.experience-opening{display:grid;grid-template-columns:1.7fr 1fr;gap:8%;align-items:end}.experience-opening .opening-description{margin:0!important}.experience-opening h1{font-size:clamp(38px,4.6vw,68px)}.method{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;padding-bottom:120px}.method-visual{position:sticky;top:40px}.method-visual img{width:100%;aspect-ratio:4/3;object-fit:cover}.method-visual h2{font-size:clamp(25px,2.6vw,38px);margin:40px 0 20px;letter-spacing:.025em}.process{list-style:none;counter-reset:stage;margin:0;padding:0}.process li{position:relative;counter-increment:stage;padding:40px 0 44px 78px;border-top:1px solid var(--line)}.process li:before{content:"0" counter(stage);position:absolute;left:0;top:32px;color:#82776a;font-size:36px;font-weight:300;font-variant-numeric:tabular-nums;line-height:1.3}.process h2{font-size:28px;letter-spacing:.025em;margin-bottom:18px}.process p{max-width:360px;color:#4e5152}.process li:last-child{border-bottom:1px solid var(--line)}
.about-opening{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;align-items:center}.brand-signature{display:flex;align-items:center;flex-direction:column;gap:35px}.brand-signature svg{width:min(65%,250px);height:auto;color:var(--ink)}.brand-signature span{font-size:9px;letter-spacing:1.7px;color:var(--muted);text-align:center}.about-story{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:9%;padding-bottom:110px}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.about-copy .statement{font-size:clamp(24px,2.5vw,36px);line-height:1.5;color:var(--ink);margin-bottom:32px}.about-copy>p{max-width:490px;color:#4e5152}.about-copy .text-link{margin-top:32px}.principles{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-top:75px;padding-bottom:90px;background:#3f3f3f;color:#edeae3}.principles h2{font-size:32px;letter-spacing:.025em}.principles p{margin-top:30px;color:#c6c3bd}.principles ul{margin:0;padding:0;list-style:none}.principles li{font-size:clamp(38px,4.7vw,70px);line-height:1.2;font-weight:300;padding:18px 0;border-bottom:1px solid rgba(237,234,227,.2);letter-spacing:.02em}.principles li:first-child{padding-top:0}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:0;padding-top:80px;padding-bottom:100px}.contact-intro{position:relative;background:#3f3f3f;color:#edeae3;padding:60px 12%;overflow:hidden}.contact-intro h1{font-size:clamp(38px,4.4vw,66px)}.contact-intro h1 em{color:#b6a58f}.contact-intro>p{margin-top:38px;font-size:15px;color:#edeae3}.contact-address{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:46px;position:relative;z-index:1}.email{display:flex;gap:22px;align-items:center;font-size:clamp(20px,2vw,27px);border-bottom:1px solid #b6a58f;padding-bottom:8px}.email svg{width:25px;height:25px}.contact-address>span{font-size:12px;color:#c6c3bd}.contact-signature{width:180px;margin:70px 0 0 auto;color:#b6a58f;opacity:.6}.contact-signature svg{display:block;width:100%;height:auto}.contact-form-panel{padding:35px 0 30px 12%}.contact form{display:flex;flex-direction:column;gap:45px;min-width:0}fieldset{margin:0;padding:0;border:0;display:flex;gap:10px;flex-wrap:wrap;min-width:0}legend{font-size:12px;letter-spacing:1.2px;font-weight:400;margin-bottom:22px}.choice{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);font-size:13px;cursor:pointer;min-height:44px}.choice:has(input:checked){border-color:var(--ink);background:var(--ink);color:var(--paper)}.choice input{accent-color:#b6a58f;margin:0;width:13px;height:13px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}.fields>label{font-size:11px;letter-spacing:1px}.fields input,.fields textarea{width:100%;display:block;margin-top:8px;appearance:none;background:transparent;border:0;border-bottom:1px solid rgba(43,46,47,.4);border-radius:0;padding:10px 0;font-size:16px;font-weight:300;line-height:1.6;caret-color:var(--ink)}.fields textarea{resize:vertical;min-height:125px}.fields input:focus,.fields textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 1px 0 var(--ink)}.full{grid-column:1/-1}.submit{display:flex;justify-content:space-between;align-items:center;gap:20px;grid-column:1/-1;background:var(--ink);color:var(--paper);border:0;padding:16px 23px;min-height:54px;font-size:12px;letter-spacing:1.5px}.submit svg{width:27px;height:27px}.fields .note{font-size:12px;color:var(--muted);line-height:1.7;letter-spacing:0}
.interior-footer{padding-top:65px;padding-bottom:30px;border-top:1px solid var(--line)}.footer-invitation{display:flex;align-items:center;justify-content:space-between;gap:40px;font-size:clamp(35px,5vw,72px);font-weight:300;line-height:1.15;letter-spacing:.02em;margin-bottom:80px}.footer-invitation>svg{width:clamp(50px,9vw,130px);height:auto;flex-shrink:0;color:#82776a;transition:transform .25s ease}.footer-bottom{border-top:1px solid var(--line);padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px;letter-spacing:1.6px}.footer-logo svg{width:135px!important;height:auto;display:block}.footer-bottom>a:last-child{display:flex;align-items:center;gap:12px;min-height:44px}.footer-bottom>a:last-child svg{width:24px;height:24px;transform:rotate(-90deg)}
@media(hover:hover) and (pointer:fine){.text-link:hover svg,.footer-invitation:hover>svg{transform:translateX(6px)}.filters button:hover,.text-link:hover,.project summary:hover{color:#82776a}.service-body .text-link:hover{color:#b6a58f}.submit:hover{background:#3f3f3f}}
@keyframes opening-in{from{transform:translateY(14px)}to{transform:translateY(0)}}
@media(min-width:1800px){.interior,.interior-footer{max-width:1800px;margin-left:auto;margin-right:auto}}
@media(max-width:1280px){:root{--gx:72px;--gr:40px}.page-opening{padding-top:90px}.contact-intro{padding:45px 10%}.contact-form-panel{padding-left:9%}.service-workbench{gap:7%}}
@media(max-width:900px){:root{--gx:40px;--gr:32px}body:before{display:none}.portfolio-opening,.experience-opening{grid-template-columns:1fr;gap:35px}.portfolio-opening h1{max-width:660px}.opening-note{max-width:480px}.small-rule{display:none}.opening-note p{margin-bottom:15px}.experience-opening .opening-description{max-width:500px}.contact{grid-template-columns:1fr}.contact-intro{padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-intro>p{align-self:end;margin:0}.contact-address{margin-top:0}.contact-signature{width:90px;margin:0 0 0 auto;grid-column:2;grid-row:2}.contact-form-panel{padding:50px 0 0}.method{gap:7%}.process li{padding-left:58px}.process h2{font-size:24px}.about-story{gap:6%}.about-copy .statement{font-size:25px}.footer-bottom{flex-wrap:wrap}.brand-signature span{max-width:180px}.service-opening{grid-template-columns:1fr}.technical-figure{max-width:530px;justify-self:end;width:65%;margin-top:-40px}.service-opening .opening-description{max-width:460px}.service-context h2{font-size:30px}}
@media(max-width:620px){:root{--gx:22px;--gr:22px}.page-opening{padding-top:62px;padding-bottom:44px}.interior h1{font-size:clamp(32px,8.8vw,50px);line-height:1.16;letter-spacing:.015em}.portfolio-opening{gap:27px}.portfolio-opening h1 em{margin-top:9px}.opening-note p,.opening-description{font-size:15px}.opening-description{margin-top:25px!important}.filters{gap:4px 22px;padding-top:15px}.filters button{font-size:10px;letter-spacing:1px}.filter-status{padding:13px 0 22px}.projects{grid-template-columns:1fr;gap:44px}.project:first-child{grid-column:auto}.project:nth-child(3){padding-top:0}.project>img,.project:first-child>img,.project:nth-child(3)>img,.project:nth-child(5)>img{aspect-ratio:4/3}.project-copy{padding-top:19px}.project h2{font-size:25px}.project-copy>p{margin-bottom:15px}.portfolio-collection{padding-bottom:60px}.technical-figure{width:100%;margin:20px 0 0;max-width:none}.technical-figure img{aspect-ratio:1.8}.service-workbench{grid-template-columns:1fr;gap:30px;padding-top:45px;padding-bottom:45px}.service-context{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.service-context h2{font-size:26px;margin:0}.service-context figure img{aspect-ratio:1}.service-context figure figcaption{font-size:8px;padding-top:10px}.service summary{padding:23px 0;min-height:78px}.service summary h3{font-size:22px}.service-body{padding-right:10px;font-size:15px}.consulting{grid-template-columns:1fr;gap:28px;padding-top:50px;padding-bottom:60px}.consulting h2{font-size:36px}.consulting p{margin-bottom:16px}.experience-opening{gap:25px}.method{grid-template-columns:1fr;gap:40px;padding-bottom:60px}.method-visual{position:static}.method-visual h2{font-size:27px;margin-top:27px}.process li{padding:30px 0 30px 62px}.process li:before{top:24px;font-size:32px}.process h2{font-size:24px;margin-bottom:12px}.process p{font-size:15px}.about-opening{grid-template-columns:1fr;gap:35px}.brand-signature{display:none}.about-story{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.about-photo img{aspect-ratio:4/3}.about-copy .statement{font-size:25px;line-height:1.5;margin-bottom:23px}.about-copy>p{font-size:15px}.about-copy .text-link{margin-top:24px}.principles{grid-template-columns:1fr;gap:32px;padding-top:42px;padding-bottom:50px}.principles h2{font-size:27px}.principles>div{display:flex;align-items:start;justify-content:space-between;gap:20px}.principles p{margin:0;font-size:12px}.principles li{font-size:40px;padding:14px 0}.contact{padding-top:44px;padding-bottom:60px}.contact-intro{display:block;padding:32px 26px}.contact-intro h1{font-size:clamp(32px,10vw,42px)}.contact-intro>p{margin-top:25px;font-size:14px}.contact-address{margin-top:28px}.contact-signature{display:none}.contact-form-panel{padding-top:35px}.contact form{gap:32px}.choice{font-size:12px;padding:8px 10px}.fields{gap:23px 18px}.fields>label{font-size:10px}.contact .email{font-size:23px}.interior-footer{padding-top:40px;padding-bottom:22px}.footer-invitation{font-size:34px;margin-bottom:42px;gap:16px}.footer-invitation>svg{width:47px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;font-size:8px;letter-spacing:1px}.footer-logo svg{width:115px!important}.footer-bottom>a:last-child{justify-self:end}.footer-bottom>a:nth-child(2){justify-self:end}.text-link{font-size:10px;gap:12px}.project .text-link{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-opening{animation:none}.interior *, .interior-footer *{transition:none!important}}
