@charset "UTF-8";
:root{--paper:#f3f1e9;--ink:#282c28;--muted:#777b70;--line:#bfc1b6;--accent:#69745b;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #7a8b66;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}p{line-height:1.65}h1,h2,h3{font-weight:400;letter-spacing:-.065em}em{font-family:var(--serif);font-weight:400}button{border:0}.wrap{width:min(1440px,calc(100% - 96px));margin:auto}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:var(--ink);color:white;padding:15px}.skip:focus{top:10px}.concept-bar{height:32px;background:#dedfd5;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:9px;letter-spacing:.04em}.concept-bar>span{font-size:7px;letter-spacing:.12em}.concept-bar>a:hover{text-decoration:underline}.nav{height:109px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;letter-spacing:-.075em;line-height:1;font-weight:600}.wordmark>span{font-family:var(--serif);font-weight:400;padding:0 4px}.wordmark small{display:block;font-size:7px;letter-spacing:.28em;font-weight:400;margin-top:8px}.nav #nav-links{display:flex;gap:42px;font-size:12px;align-items:center}.nav a sup{font-size:7px;margin-left:4px;color:var(--muted)}.nav #nav-links a:hover{color:var(--accent)}.nav #nav-links a:last-child{border-bottom:1px solid var(--ink);padding:8px 0;display:flex;gap:22px}.menu{display:none}.hero-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;padding:27px 0}.hero-label>span+span{color:var(--muted)}.hero-heading{display:grid;grid-template-columns:2fr 1fr;gap:8vw;align-items:end;padding:19px 0 55px}.hero h1{font-size:clamp(58px,7.7vw,116px);line-height:.92}.hero h1 em{letter-spacing:-.07em}.hero-heading>div{padding-bottom:6px}.hero-heading p{font-size:13px;max-width:290px;margin-bottom:28px}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border-bottom:1px solid #5a6250;padding-bottom:9px;font-size:12px}.line-link span{font-size:18px;transition:transform .25s}.line-link:hover span{transform:translate(3px,-3px)}.hero-image{position:relative;overflow:hidden;aspect-ratio:1.9;background:#bab7a9}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 54%}.hero-image::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#10170f55);pointer-events:none}.hero-project-link{position:absolute;left:32px;bottom:32px;background:transparent;color:white;padding:0 45px 0 0;text-align:left;z-index:2}.hero-project-link>span{font-size:8px;letter-spacing:.13em}.hero-project-link b{display:block;font-size:25px;font-weight:400;letter-spacing:-.03em;margin-top:10px}.hero-project-link i{position:absolute;right:0;bottom:0;font-style:normal;font-size:28px}.hero-image figcaption{position:absolute;right:24px;bottom:32px;font-size:6px;letter-spacing:.1em;color:#fff9;z-index:2;writing-mode:vertical-rl}.section-no{font-size:8px;letter-spacing:.16em;color:var(--muted);line-height:1.6}.introduction{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding-top:110px;padding-bottom:110px}.introduction>.section-no{padding-top:7px}.introduction h2,.section-top h2,.services h2{font-size:clamp(44px,4.5vw,68px);line-height:1.02}.introduction h2 em{font-style:normal}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px}.intro-columns p{font-size:13px;max-width:300px;color:#63685e}.projects{padding-top:30px;border-top:1px solid var(--line);padding-bottom:90px}.section-top{display:grid;grid-template-columns:1fr 2fr;gap:25px 8vw}.section-top>.section-no{padding-top:10px}.section-top h2{font-size:56px}.filters{grid-column:2;display:flex;gap:7px;margin:12px 0 32px;flex-wrap:wrap}.filters button{font-size:11px;background:transparent;padding:9px 16px;border-radius:30px;border:1px solid transparent;transition:background .25s}.filters button:hover{background:#e6e7de}.filters button[aria-pressed=true]{border-color:#8f9685}.filters sup{font-size:7px;margin-left:4px}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;column-gap:7vw;row-gap:70px;align-items:start}.project button{padding:0;background:#c3bbaa;position:relative;display:block;width:100%;overflow:hidden}.project img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}.project button:hover img{transform:scale(1.035)}.project-large button{aspect-ratio:1.25}.project-tall{padding-top:140px}.project-tall button{aspect-ratio:.8}.project-studio{margin-top:-60px}.project-studio button{aspect-ratio:1.4}.project-open{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:10px;text-shadow:0 2px 5px #0008;opacity:0;translate:0 7px;transition:opacity .3s,translate .3s}.project button::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0004);opacity:0;transition:opacity .3s;pointer-events:none}.project button:hover .project-open,.project button:focus-visible .project-open{opacity:1;translate:0 0;z-index:2}.project button:hover::after,.project button:focus-visible::after{opacity:1}.project-open i{font-style:normal;font-size:24px}.project-caption{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:18px}.project-caption h3{font-size:24px;letter-spacing:-.055em}.project-caption span:first-of-type{grid-column:1;font-size:9px;color:var(--muted)}.project-caption span:last-child{grid-column:2;grid-row:1;font-size:9px;color:var(--muted);padding-top:7px}.project-aside{padding-top:55px}.cross{font-size:75px;font-weight:200;line-height:1;color:#8b927f}.project-aside p{font-size:25px;letter-spacing:-.035em;line-height:1.3;margin:28px 0}.project-aside .line-link{font-size:11px}.concept-note{font-size:9px;line-height:1.7;color:var(--muted);margin-top:50px;max-width:640px}.projects.is-filtered .project-grid{grid-template-columns:1fr 1fr}.projects.is-filtered .project{padding-top:0;margin-top:0}.projects.is-filtered .project-aside{display:none}.project[hidden]{display:none}.material-story{display:grid;grid-template-columns:1.15fr 1fr;background:#e4e5dc;align-items:stretch}.material-photo{overflow:hidden;min-height:650px}.material-photo img{height:100%;width:100%;object-fit:cover;object-position:38%}.material-copy{padding:80px 12% 60px}.material-copy h2{font-size:clamp(42px,4.7vw,70px);line-height:1.02;margin:30px 0}.material-copy h2 em{font-style:normal}.material-copy>p{font-size:13px;max-width:365px;color:#5f665a;margin:20px 0}.material-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:37px}.material-tags span{border:1px solid #a4ad9866;padding:7px 10px;font-size:8px;border-radius:20px}.services{display:grid;grid-template-columns:1fr 1.1fr;gap:9vw;padding-top:110px;padding-bottom:110px}.services h2{margin:28px 0}.services-intro p{font-size:12px;color:#697061;max-width:310px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}.service-list summary{display:flex;align-items:center;gap:25px;list-style:none;cursor:pointer;padding:28px 0;font-size:21px;letter-spacing:-.04em}.service-list summary::-webkit-details-marker{display:none}.service-list summary>span{font-size:9px;color:var(--muted);letter-spacing:0}.service-list summary>i{margin-left:auto;font-size:25px;font-style:normal;font-weight:300;transition:transform .25s}.service-list details[open] summary>i{transform:rotate(45deg)}.service-list p{font-size:12px;color:#697061;max-width:420px;padding:0 25px 28px 37px}.contact{background:#303a2e;color:#eef1e7;padding:70px 0 65px}.contact .section-no{color:#aab5a1}.contact h2{font-size:clamp(58px,7.5vw,110px);line-height:.99;margin:35px 0 55px}.contact h2 em{color:#c7d0ba}.contact-bottom{display:flex;justify-content:space-between;gap:40px;align-items:end;border-top:1px solid #e9f3dc33;padding-top:30px}.contact-bottom p{font-size:12px;color:#c1cbb5}.contact-link{font-size:14px;display:flex;align-items:center;gap:70px;border-bottom:1px solid #e9f3dc88;padding-bottom:10px}.contact-link span{font-size:30px;transition:transform .3s}.contact-link:hover span{transform:translate(4px,-4px)}footer{padding-top:45px;padding-bottom:25px}.footer-wordmark{font-size:32px;letter-spacing:-.065em}footer>div{display:flex;justify-content:space-between;font-size:9px;color:#737b6b;margin:25px 0}footer>div a{color:var(--ink)}footer>p{border-top:1px solid var(--line);padding-top:18px;font-size:8px;color:#8c9184;line-height:1.6}dialog{width:min(1000px,calc(100% - 32px));max-height:92vh;border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 40px 100px #0005}dialog::backdrop{background:#12190fc9;backdrop-filter:blur(7px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:4;background:var(--paper);padding:14px 25px;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:.1em}.dialog-top button{background:transparent;font-size:11px;padding:8px}.dialog-top+img{width:100%;max-height:530px;object-fit:cover}.dialog-copy{padding:42px 50px}.dialog-copy h2{font-size:55px;line-height:1.05;margin:15px 0 25px}.dialog-copy>p{font-size:14px;color:#606756;max-width:700px}.dialog-copy dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:30px 0}.dialog-copy dt{font-size:8px;color:var(--muted);margin-bottom:8px;letter-spacing:.09em;text-transform:uppercase}.dialog-copy dd{font-size:12px;margin:0;line-height:1.4}.dialog-copy p.dialog-note{font-size:9px;margin-bottom:25px;color:#7f8773}.dialog-open{overflow:hidden}.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}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{height:95px}.nav #nav-links{gap:28px}.hero-heading{gap:5vw;padding-bottom:40px}.hero-heading p{font-size:12px}.hero h1{font-size:7.9vw}.hero-project-link b{font-size:22px}.introduction{gap:5vw;padding-top:80px;padding-bottom:80px}.section-top{gap:20px 5vw}.section-top h2{font-size:48px}.project-grid{column-gap:5vw}.project-tall{padding-top:100px}.project-studio{margin-top:-30px}.project-aside{padding-top:20px}.project-aside p{font-size:22px}.material-copy{padding:60px 10%}.material-photo{min-height:560px}.services{gap:7vw;padding-top:80px;padding-bottom:80px}.service-list summary{font-size:18px;gap:20px}.service-list p{padding-left:33px}.contact-link{gap:35px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.concept-bar{padding:0 20px;font-size:8px}.concept-bar>span{font-size:6px;letter-spacing:.05em}.concept-bar>a:last-child{display:none}.wordmark{font-size:21px}.nav #nav-links{gap:25px;font-size:10px}.hero-label{font-size:6px;letter-spacing:.1em;padding:25px 0}.hero-heading{grid-template-columns:1.6fr 1fr;gap:40px;padding-top:10px;padding-bottom:35px}.hero h1{font-size:8.3vw}.hero-heading p{font-size:10px;margin-bottom:20px}.line-link{font-size:10px;gap:25px}.hero-image{aspect-ratio:1.55}.hero-project-link{left:25px;bottom:25px}.hero-project-link b{font-size:22px}.hero-project-link>span{font-size:7px}.hero-image figcaption{right:17px;bottom:25px;font-size:5px}.introduction{grid-template-columns:.65fr 2fr;gap:35px}.section-no{font-size:7px}.introduction h2,.services h2{font-size:43px}.intro-columns{gap:25px;margin-top:25px}.intro-columns p{font-size:11px}.section-top{grid-template-columns:.65fr 2fr;gap:20px 35px}.section-top h2{font-size:43px}.filters{margin-top:7px;margin-bottom:25px;gap:1px}.filters button{font-size:10px;padding:8px 11px}.project-grid{gap:45px 30px}.project-tall{padding-top:75px}.project-studio{margin-top:-15px}.project-caption h3{font-size:20px}.project-caption span:first-of-type{font-size:8px}.project-aside p{font-size:19px}.cross{font-size:60px}.concept-note{font-size:8px;margin-top:35px}.projects{padding-bottom:65px}.material-photo{min-height:520px}.material-copy{padding:45px 9%}.material-copy h2{font-size:40px;margin:25px 0}.material-copy>p{font-size:11px;margin:17px 0}.material-tags{gap:6px;margin-top:25px}.material-tags span{font-size:7px;padding:6px 8px}.services{gap:40px;padding-block:70px}.services h2{font-size:38px}.services-intro p{font-size:11px}.service-list summary{font-size:17px;gap:15px;padding-block:25px}.service-list p{font-size:11px;padding-left:27px;padding-right:0}.contact{padding:55px 0}.contact h2{font-size:67px;margin-bottom:40px}.contact-bottom p{font-size:10px}.contact-link{font-size:11px;gap:25px}.contact-link span{font-size:25px}.dialog-copy{padding:30px}.dialog-copy h2{font-size:45px}.dialog-copy>p{font-size:12px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.concept-bar{height:32px;padding:0 18px;font-size:8px}.concept-bar>span{max-width:145px;text-align:right;font-size:5px;line-height:1.4;letter-spacing:.04em}.nav{height:86px;position:relative}.wordmark{font-size:22px}.menu{display:flex;flex-direction:column;gap:6px;padding:10px 0 10px 10px;background:transparent}.menu i{width:25px;height:1px;background:var(--ink)}.nav #nav-links{display:none;position:absolute;left:0;right:0;top:85px;background:var(--paper);z-index:20;border:1px solid var(--line);padding:20px;box-shadow:0 18px 30px #0001}.nav.menu-open #nav-links{display:flex;flex-direction:column;align-items:stretch;gap:22px;font-size:13px}.nav #nav-links a:last-child{justify-content:space-between}.hero-label{font-size:6px;padding:22px 0}.hero-label>span+span{display:none}.hero-heading{display:block;padding:7px 0 30px}.hero h1{font-size:13.1vw;line-height:.98;letter-spacing:-.07em}.hero-heading>div{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-top:25px;padding:0}.hero-heading p{font-size:10px;max-width:205px;margin:0}.hero-heading p br{display:none}.hero-heading .line-link{font-size:9px;gap:12px;white-space:nowrap;padding-bottom:6px}.hero-image{aspect-ratio:.9;width:calc(100% + 36px);margin-left:-18px}.hero-image>img{object-position:53% 50%}.hero-project-link{bottom:27px;left:22px}.hero-project-link b{font-size:24px}.hero-project-link i{font-size:24px}.hero-image figcaption{right:12px;font-size:5px;bottom:28px}.introduction{grid-template-columns:1fr;gap:23px;padding-top:52px;padding-bottom:53px}.introduction h2{font-size:43px}.intro-columns{grid-template-columns:1fr;gap:17px;margin-top:25px}.intro-columns p{max-width:none;font-size:12px;line-height:1.7}.section-top{display:block}.section-top h2{font-size:43px;margin-top:22px}.filters{margin-top:25px;margin-bottom:28px;gap:2px}.filters button{font-size:10px;padding:9px 12px}.project-grid{grid-template-columns:1fr;gap:36px}.project-tall{padding-top:0}.project-tall button{aspect-ratio:1.1}.project-large button{aspect-ratio:1.15}.project-studio{margin-top:0}.project-studio button{aspect-ratio:1.1}.project-caption h3{font-size:23px}.project-caption span:first-of-type{font-size:8px}.project-caption{padding-top:15px}.project-open{opacity:1;translate:0 0;z-index:2;font-size:9px;left:16px;right:16px;bottom:15px}.project button::after{opacity:1}.project-aside{padding-top:5px;display:none}.projects.is-filtered .project-grid{grid-template-columns:1fr}.concept-note{font-size:8px;margin-top:28px}.projects{padding-top:24px;padding-bottom:45px}.material-story{grid-template-columns:1fr}.material-photo{min-height:0;height:330px}.material-photo img{object-position:40%}.material-copy{padding:37px 25px 42px}.material-copy h2{font-size:48px;line-height:1;margin:24px 0}.material-copy>p{font-size:12px;max-width:none}.material-tags{margin-top:25px;gap:8px}.material-tags span{font-size:8px;padding:7px 9px}.services{grid-template-columns:1fr;gap:33px;padding-top:49px;padding-bottom:50px}.services h2{font-size:43px;margin:22px 0}.services-intro p{font-size:12px;max-width:none}.service-list summary{font-size:20px;gap:24px;padding:24px 0}.service-list p{font-size:12px;padding:0 5px 24px 36px;line-height:1.7}.service-list summary>i{font-size:23px}.contact{padding:45px 0}.contact h2{font-size:14vw;margin:28px 0 33px;line-height:1.01}.contact-bottom{display:block;padding-top:25px}.contact-bottom p{font-size:12px;line-height:1.7}.contact-link{margin-top:25px;width:100%;font-size:12px;justify-content:space-between}.contact-link span{font-size:27px}footer{padding-top:33px;padding-bottom:20px}.footer-wordmark{font-size:31px}footer>div{flex-direction:column;gap:17px;font-size:8px;margin:22px 0}footer>div a{font-size:10px}footer>p{font-size:7px;line-height:1.7}.dialog-top{font-size:6px;padding:11px 13px}.dialog-top button{font-size:10px;padding:5px}.dialog-top+img{height:260px;object-fit:cover}.dialog-copy{padding:27px 23px}.dialog-copy h2{font-size:38px;margin:13px 0 20px}.dialog-copy>p{font-size:12px}.dialog-copy dl{grid-template-columns:1fr;gap:17px;margin:25px 0}.dialog-copy dt{font-size:7px;margin-bottom:5px}.dialog-copy dd{font-size:11px}.dialog-copy p.dialog-note{font-size:8px}.dialog-copy .line-link{font-size:11px}.projects .section-no,.introduction .section-no,.services .section-no,.material-copy .section-no,.contact .section-no{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Readable secondary text and resilient project details on narrow screens. */
:root{--muted:#626d58}
body{overflow-wrap:anywhere}
.hero-heading>*,.introduction>*,.intro-columns>*,.section-top>*,.project-grid>*,.material-story>*,.services>*,.dialog-copy dl>div{min-width:0}
.hero-image>img{animation:none}
.service-list summary{min-width:0}
.service-list summary>span,.service-list summary>i{flex-shrink:0}
.dialog-top{gap:12px}
.dialog-top button{min-height:44px;flex-shrink:0}
.services-intro p,.service-list p,footer>div,footer>p,.dialog-copy p.dialog-note{color:#606a55}
footer>.footer-legal{justify-content:flex-start;flex-direction:row;flex-wrap:wrap;gap:24px}
@media(max-width:600px){.menu{min-width:44px;min-height:44px;justify-content:center;align-items:center;padding:10px}.hero-heading>div{flex-wrap:wrap}.hero-heading .line-link{white-space:normal}.hero-project-link{right:35px}}
