/* Work index: a colour-led introduction followed by an open editorial archive. */
@property --peek-radius{syntax:'<length>';inherits:false;initial-value:0px}
.collection-page{overflow-anchor:none}
:root{--paper:#fff;--ink:#151916;--muted:#747b74;--line:#b8bdb7;--gutter:clamp(24px,4.5vw,88px);font-family:"Avenir Next",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0px}body{margin:0;-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #6b9479;outline-offset:7px}[hidden]{display:none!important}::selection{background:#cce1a8;color:#10241b}
.collection-skip{position:fixed;top:-90px;left:20px;z-index:90;padding:15px;background:#fff}.collection-skip:focus{top:10px}
.collection-header{position:absolute;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:28px var(--gutter);color:#fff}
/* Keep the homepage wordmark's font stack, glyph metrics and registration mark. */
.collection-brand.wordmark{display:flex;align-items:flex-end;gap:12px;width:max-content;line-height:1}
.collection-brand.wordmark strong{position:relative;font-size:36px;font-weight:760;letter-spacing:-.08em}
.collection-brand.wordmark strong span{position:absolute;top:1px;right:-8px;font-size:12px;font-weight:400;letter-spacing:0}
.collection-brand.wordmark>span{font-size:9px;letter-spacing:.12em;margin-bottom:3px;margin-left:5px}
.collection-header nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:600}.collection-header nav a{position:relative;padding:8px 0}.collection-header nav a::after{content:"";position:absolute;bottom:1px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.collection-header nav a:hover::after,.collection-header nav a[aria-current]::after{transform:scaleX(1)}
.collection-motion{display:grid;place-items:center;border:1px solid #ffffff65;border-radius:50%;width:40px;height:40px;background:transparent;color:#fff;font-size:14px}.collection-motion:hover{background:#ffffff20}
.collection-opening{position:relative;isolation:isolate;overflow:hidden;min-height:530px;height:70svh;max-height:780px;padding:132px var(--gutter) 54px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:#061b14}
.collection-flow{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 20% 95%,#b5d589,transparent 56%),radial-gradient(ellipse at 90% 0%,#008c71,transparent 53%),#071910}.collection-flow canvas{width:100%;height:100%;display:block}.flow-fallback .collection-flow canvas{display:none}.collection-flow::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020b0645,transparent 65%);pointer-events:none}
.collection-eyebrow{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.09em;color:#ffffffb8}.collection-title-row{display:grid;grid-template-columns:1.4fr .9fr 40px;align-items:end;gap:40px;margin-top:26px}
.collection-title-row h1{font-size:clamp(64px,6.6vw,115px);font-weight:400;line-height:1.06;letter-spacing:-.055em}.collection-title-row h1>span{display:block;transform-origin:left center}.collection-title-arrow{display:inline-block;line-height:.7;margin-left:.16em;font-weight:300}.collection-title-row>p{max-width:330px;font-size:13px;line-height:1.8;border-left:1px solid #ffffff90;padding-left:14px;margin-bottom:6px}.collection-scroll{font-size:46px;font-weight:300;line-height:1;margin-bottom:5px;transition:transform .35s}.collection-scroll:hover{transform:translateY(7px)}
.collection-layout{position:relative;display:grid;grid-template-columns:20% minmax(0,1fr);column-gap:5%;padding:120px var(--gutter) 155px;align-items:start;scroll-margin-top:0px;background:#fff}
.collection-sidebar{position:sticky;top:95px;align-self:start;max-width:172px}.collection-filters{position:relative;padding-left:30px;--filter-index:0}.collection-ruler{position:absolute;left:10px;top:22px;bottom:22px;width:7px}.collection-ruler i{position:absolute;left:0;top:calc(var(--tick)*100%);height:1px;width:1px;background:#717a71}.collection-ruler i.is-major{width:5px;background:#303830}.collection-filter-marker{position:absolute;left:0;top:calc(19px + var(--filter-index)*48px);width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:5px solid #17281b;transition:top .45s cubic-bezier(.2,.7,.2,1)}
.collection-filters button{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;min-height:48px;width:100%;padding:10px 0 10px 3px;background:none;border:0;text-align:left;font-size:13px;font-weight:400;line-height:1.3;color:#747c74;transition:color .2s,transform .25s}.collection-filters button small{font-size:10px;font-weight:400;font-variant-numeric:tabular-nums;opacity:.8}.collection-filters button:hover{color:#17281b;transform:translateX(3px)}.collection-filters button[aria-pressed=true]{color:#111a14;font-weight:600}.collection-status{margin:34px 0 0 33px;font-size:10px;color:var(--muted);line-height:1.6}
.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,6.5vw,126px);row-gap:105px;padding-bottom:105px;align-items:start}.collection-item{min-width:0;--card-offset:0px;transform:translateY(var(--card-offset))}.collection-item.is-right{--card-offset:105px}.collection-project{display:block}.collection-image{position:relative;overflow:hidden;background:#f0f0ed;isolation:isolate}.collection-image>img{transition:transform .9s cubic-bezier(.2,.6,.2,1);transform:scale(1);object-fit:contain}.collection-project:hover .collection-image>img{transform:scale(1.035)}
.collection-cover-title{position:absolute;left:6%;top:17%;width:32%;font-size:clamp(23px,2.4vw,42px);font-weight:600;line-height:1.2;letter-spacing:-.055em;color:#151b17;pointer-events:none}.collection-cover-title small{display:block;margin-top:12px;font-size:9px;font-weight:500;letter-spacing:0}
.collection-project:focus-visible .collection-image{outline:2px solid #315c40;outline-offset:4px}
.collection-caption{margin-top:24px;padding-top:12px;border-top:1px solid #252c26}.collection-category{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:9px;letter-spacing:.04em;color:#7a8079;line-height:1.6}.collection-category>span:first-child{font-size:9px}.collection-concept{font-size:9px;color:#5e765c;border:1px solid #cdd4c9;padding:0 5px;margin-left:3px}.collection-caption-title{display:flex;gap:18px;align-items:start;justify-content:space-between;margin-top:15px}.collection-caption h2{font-size:clamp(18px,1.75vw,29px);font-weight:400;line-height:1.42;letter-spacing:-.045em;text-wrap:balance}.collection-arrow{font-size:24px;line-height:1.25;opacity:0;transform:translate(-5px,5px);transition:transform .3s,opacity .3s}.collection-project:hover .collection-arrow,.collection-project:focus-visible .collection-arrow{opacity:1;transform:translate(0,0)}
.collection-empty{padding:60px 0}.collection-empty button{border:0;border-bottom:1px solid currentColor;background:none;padding:15px 0;margin-top:15px}
.collection-contact{position:relative;overflow:hidden;padding:70px var(--gutter) 90px;background:#081810;color:#fff}.collection-contact>p{display:flex;justify-content:space-between;font-size:11px;color:#becdbf;line-height:1.6;letter-spacing:.02em}.collection-contact>p span{font-size:10px;letter-spacing:.1em}.collection-contact>a{position:relative;display:block;margin-top:60px;padding-right:90px;font-size:clamp(48px,6.6vw,112px);font-weight:400;line-height:1.12;letter-spacing:-.05em}.collection-contact-arrow{position:absolute;right:0;bottom:5px;display:grid;place-items:center;width:84px;height:84px;font-size:44px;border:1px solid #bfcebc70;border-radius:50%;transition:background .35s,color .35s,transform .35s}.collection-contact>a:hover .collection-contact-arrow{background:#dcebb8;color:#19352c;transform:rotate(45deg)}.collection-footer{display:flex;justify-content:space-between;gap:20px;padding:28px var(--gutter);background:#081810;color:#b9c6b9;border-top:1px solid #ffffff28;font-size:10px;letter-spacing:.02em}
@media(min-width:1800px){.collection-layout{padding-top:150px}.collection-grid{row-gap:140px}}
@media(max-width:1100px){.collection-layout{grid-template-columns:17% minmax(0,1fr);column-gap:5%;padding-top:90px}.collection-grid{column-gap:35px;row-gap:75px}.collection-title-row{grid-template-columns:1.35fr 1fr 30px;gap:24px}.collection-title-row h1{font-size:72px}.collection-title-row>p{font-size:12px}.collection-sidebar{max-width:145px}.collection-filters{padding-left:24px}.collection-filters button{font-size:11px}.collection-filters button small{font-size:8px}.collection-status{margin-left:27px}}
@media(max-width:767px){html{scroll-padding-top:22px}.collection-header{padding:24px var(--gutter)}.collection-header nav{gap:19px;font-size:11px}.collection-header nav a:first-child{display:none}.collection-motion{width:32px;height:32px;font-size:12px}.collection-opening{height:auto;min-height:570px;max-height:none;padding-top:121px;padding-bottom:36px}.collection-eyebrow{font-size:8px}.collection-title-row{grid-template-columns:1fr 32px;gap:28px 12px;margin-top:35px}.collection-title-row h1{grid-column:1/-1;font-size:clamp(53px,10vw,78px);line-height:1.1;letter-spacing:-.055em}.collection-title-row>p{font-size:11px;max-width:270px;padding-left:11px;line-height:1.8}.collection-scroll{font-size:36px}.collection-layout{display:block;padding-top:42px;padding-bottom:72px}.collection-sidebar{position:relative;top:auto;max-width:none;margin-bottom:39px}.collection-filters{padding:0;display:flex;gap:19px;border-bottom:1px solid #d9ded6}.collection-ruler,.collection-filter-marker{display:none}.collection-filters button{width:auto;min-height:42px;gap:5px;padding:8px 0;font-size:11px;white-space:nowrap}.collection-filters button small{font-size:8px}.collection-filters button[aria-pressed=true]::after{content:"";position:absolute;bottom:-1px;left:0;right:0;background:#19352c;height:2px}.collection-filters button:hover{transform:none}.collection-status{margin:13px 0 0;font-size:9px}.collection-grid{grid-template-columns:1fr;gap:55px;padding-bottom:0}.collection-item.is-right{--card-offset:0px}.collection-caption{margin-top:18px;padding-top:11px}.collection-caption-title{margin-top:10px}.collection-caption h2{font-size:22px}.collection-arrow{opacity:1;transform:none;font-size:22px}.collection-cover-title{font-size:clamp(24px,6.5vw,40px)}.collection-contact{padding-top:42px;padding-bottom:52px}.collection-contact>p{font-size:9px;gap:10px}.collection-contact>p span{font-size:8px}.collection-contact>a{margin-top:46px;font-size:clamp(34px,7.7vw,56px);padding-right:40px}.collection-contact-arrow{width:38px;height:38px;font-size:25px}.collection-footer{font-size:8px;padding-top:22px;padding-bottom:22px}}
@media(max-width:600px){.collection-brand.wordmark strong{font-size:31px}.collection-brand.wordmark>span{font-size:8px}}
@media(pointer:coarse){.collection-project:hover .collection-image>img{transform:none}.collection-arrow{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.collection-project:hover .collection-image>img{transform:none}}
/* An alternate project image is revealed through a pointer-following aperture. */
.collection-peek{position:absolute;inset:0;z-index:3;pointer-events:none;--peek-radius:0px;clip-path:circle(var(--peek-radius) at var(--cursor-x,50%) var(--cursor-y,50%));transition:--peek-radius .45s cubic-bezier(.16,1,.3,1);background:#f3f3ef}
.collection-peek>img{display:block;width:100%;height:100%;object-fit:cover}
.collection-image.is-hovered .collection-peek{--peek-radius:clamp(68px,6.2vw,105px)}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.collection-peek{display:none}}
