@font-face{font-family:Inter;src:url('/fonts/Inter-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Bodoni Moda';src:url('/fonts/BodoniModa-Variable.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--white:#fff;--ink:#101312;--graphite:#626864;--line:#e2e6e3;--mist:#f5f7f6;--green:#123f2c;--green-soft:#eaf0ec;--display:'Bodoni Moda',Didot,'Times New Roman',serif;--sans:Inter,Arial,sans-serif;--pad:clamp(20px,4.4vw,72px);--ease:cubic-bezier(.2,.75,.25,1);color-scheme:light;scrollbar-color:#9da6a0 #fff;scrollbar-width:thin}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:#fff}body::-webkit-scrollbar-thumb{background:#9da6a0;border:3px solid #fff;border-radius:10px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--green);outline-offset:4px}.skip{position:fixed;top:10px;left:10px;z-index:200;padding:10px 15px;background:var(--green);color:#fff;transform:translateY(-160%)}.skip:focus{transform:none}
.nl-header{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px;padding:0 var(--pad);background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nl-logo{display:flex;flex-direction:column;width:max-content;font-size:15px;line-height:1;letter-spacing:.28em}.nl-logo small{margin-top:7px;font-size:8px;letter-spacing:.34em}.nl-nav{display:flex;gap:34px;font-size:13px}.nl-nav a{position:relative;padding:9px 0}.nl-nav a::after{content:'';position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--green);transition:right .25s}.nl-nav a:hover::after,.nl-nav a[aria-current=page]::after{right:0}.nl-contact{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;font-size:13px;transition:background .25s,color .25s,transform .25s}.nl-contact:hover{background:#fff;color:var(--green);transform:translateY(-1px)}.nl-menu{display:none}
.nl-hero{min-height:calc(100svh - 78px);display:grid;grid-template-columns:minmax(330px,.78fr) minmax(520px,1.22fr);grid-template-rows:1fr auto;align-items:center;padding:clamp(48px,7vh,84px) var(--pad) 0;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,transparent calc(50% - .5px),rgba(226,230,227,.65) calc(50% - .5px),rgba(226,230,227,.65) calc(50% + .5px),transparent calc(50% + .5px))}.nl-hero__copy{position:relative;z-index:2;padding:30px 0}.nl-hero h1{max-width:600px;margin:0;font:400 clamp(66px,7vw,118px)/.86 var(--display);letter-spacing:-.055em}.nl-hero h1 em{display:block;color:var(--green);font-weight:400}.nl-hero__copy>p{max-width:500px;margin:36px 0 0;color:var(--graphite);font-size:clamp(16px,1.4vw,20px)}.nl-hero__image{align-self:stretch;display:grid;place-items:center;min-width:0}.nl-hero__image img{width:100%;height:auto;object-fit:contain;transform-origin:55% 55%;animation:bike-in 1.1s var(--ease) both}.capability-rail{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:rgba(255,255,255,.92)}.capability-rail div{min-height:104px;padding:22px;border-right:1px solid var(--line)}.capability-rail div:last-child{border:0}.capability-rail strong{display:block;margin-bottom:6px;font-size:13px;font-weight:400}.capability-rail span{color:var(--graphite);font-size:12px;line-height:1.45}
.nl-section{padding:clamp(90px,11vw,170px) var(--pad);border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:7vw;align-items:start;margin-bottom:clamp(70px,9vw,130px)}.section-heading h2,.page-hero h1{margin:0;font:400 clamp(64px,9vw,144px)/.82 var(--display);letter-spacing:-.055em}.section-heading p{max-width:560px;margin:12px 0 0;color:var(--graphite);font-size:18px}.statement{display:grid;grid-template-columns:1fr 2fr 1fr}.statement p{grid-column:2;margin:0;font:400 clamp(42px,6vw,92px)/.98 var(--display);letter-spacing:-.035em}.statement em{color:var(--green);font-weight:400}.nl-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:260px;margin-top:38px;padding:16px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:13px}.nl-link span{transition:transform .25s}.nl-link:hover span{transform:translate(4px,-4px)}
.page-hero{min-height:62svh;display:grid;grid-template-columns:1fr 3fr;align-content:end;gap:4vw;padding:clamp(110px,14vw,190px) var(--pad) 7vw;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,transparent calc(25% - .5px),var(--line) calc(25% - .5px),var(--line) calc(25% + .5px),transparent calc(25% + .5px)),linear-gradient(to right,transparent calc(50% - .5px),var(--line) calc(50% - .5px),var(--line) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to right,transparent calc(75% - .5px),var(--line) calc(75% - .5px),var(--line) calc(75% + .5px),transparent calc(75% + .5px))}.page-hero h1{grid-column:2;max-width:1150px}.page-hero p{grid-column:2;max-width:580px;margin:20px 0 0;color:var(--graphite);font-size:18px}.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}.process-media{position:sticky;top:112px}.process-media img{width:100%;aspect-ratio:4/3;object-fit:cover}.process-media p{max-width:420px;margin:16px 0 0;color:var(--graphite);font-size:12px}.process-list{border-top:1px solid var(--ink)}.process-step{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:32px 0;border-bottom:1px solid var(--line)}.process-step span{color:var(--green);font-size:12px}.process-step h2{margin:0 0 12px;font:400 clamp(36px,4vw,62px)/.92 var(--display);letter-spacing:-.035em}.process-step p{max-width:580px;margin:0;color:var(--graphite)}
.filter-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:64px}.filter-bar button{min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;transition:background .25s,border-color .25s,color .25s}.filter-bar button:hover,.filter-bar button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw 4vw}.project-tile{margin:0}.project-tile:nth-child(even){margin-top:10vw}.project-tile[hidden]{display:none}.project-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .65s var(--ease)}.project-tile:hover img{transform:scale(1.015)}.project-tile h2{margin:17px 0 4px;font:400 clamp(38px,5vw,68px)/.9 var(--display);letter-spacing:-.035em}.project-tile p{margin:0;color:var(--graphite);font-size:13px}.gallery-media{overflow:hidden;background:var(--mist)}
.workshop-hero{position:relative;min-height:82svh;display:grid;align-items:end;overflow:hidden}.workshop-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.workshop-hero::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(7,18,13,.62))}.workshop-hero__copy{position:relative;z-index:1;max-width:1050px;padding:8vw var(--pad);color:#fff}.workshop-hero h1{margin:0;font:400 clamp(64px,7.7vw,124px)/.84 var(--display);letter-spacing:-.05em}.workshop-hero p{max-width:520px;margin:28px 0 0;font-size:18px}.craft-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:center}.craft-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.craft-copy h2{margin:0 0 35px;font:400 clamp(52px,7vw,108px)/.86 var(--display);letter-spacing:-.05em}.craft-copy p{max-width:520px;margin:0 0 20px;color:var(--graphite);font-size:18px}
.contact-page{min-height:calc(100svh - 78px);display:grid;grid-template-columns:1.25fr .75fr;align-items:end;padding:clamp(110px,14vw,190px) var(--pad) 7vw;background:var(--green);color:#fff}.contact-page h1{max-width:1100px;margin:0;font:400 clamp(82px,13vw,205px)/.75 var(--display);letter-spacing:-.06em}.contact-page__aside{padding-bottom:12px}.contact-page__aside p{max-width:400px;margin:0 0 38px;color:#d7e2dc;font-size:18px}.contact-page__aside a{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45)}
.contact-band{min-height:72svh;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(90px,10vw,150px) var(--pad) 32px;background:var(--green);color:#fff}.contact-band h2{max-width:1250px;margin:0;font:400 clamp(72px,12vw,190px)/.76 var(--display);letter-spacing:-.055em}.contact-band a{display:flex;justify-content:space-between;padding:22px 0;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);font-size:18px}.nl-footer{display:flex;justify-content:space-between;gap:28px;padding:28px var(--pad);border-top:1px solid var(--line);color:var(--graphite);font-size:11px}.nl-footer a{color:var(--ink)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@keyframes bike-in{from{opacity:0;transform:translateX(30px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:900px){.nl-header{grid-template-columns:1fr auto}.nl-nav,.nl-contact{display:none}.nl-menu{display:block;width:44px;height:44px;border:0;background:transparent;font-size:0}.nl-menu::before,.nl-menu::after{content:'';display:block;width:24px;height:1px;margin:7px auto;background:var(--ink);transition:transform .25s}.nl-menu[aria-expanded=true]::before{transform:translateY(4px) rotate(45deg)}.nl-menu[aria-expanded=true]::after{transform:translateY(-4px) rotate(-45deg)}.nl-nav.is-open{position:absolute;top:78px;left:0;right:0;display:flex;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--line)}.nl-nav.is-open a{padding:17px var(--pad);border-top:1px solid var(--line)}.nl-nav.is-open a::after{display:none}.nl-hero{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:auto;padding-top:70px;background-image:none}.nl-hero__copy{padding-bottom:0}.nl-hero__image{min-height:48vw}.capability-rail{grid-column:1;grid-template-columns:repeat(2,1fr);margin-top:20px}.capability-rail div:nth-child(2){border-right:0}.capability-rail div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading,.page-hero,.process-layout,.craft-grid,.contact-page{grid-template-columns:1fr}.section-heading h2,.page-hero h1,.page-hero p{grid-column:1}.statement{grid-template-columns:1fr}.statement p{grid-column:1}.process-media{position:static}.project-grid{gap:70px 24px}.contact-page__aside{margin-top:70px}.nl-footer{flex-direction:column}}
@media(max-width:560px){.nl-logo{font-size:13px}.nl-hero h1{font-size:18vw}.nl-hero__image{min-height:72vw}.capability-rail div{min-height:96px;padding:17px}.page-hero{min-height:60svh;padding-top:120px}.page-hero h1{font-size:17vw}.project-grid{grid-template-columns:1fr}.project-tile:nth-child(even){margin-top:0}.workshop-hero{min-height:72svh}.workshop-hero__copy{padding-bottom:70px}.contact-page h1{font-size:19vw}.contact-band{min-height:620px}.nl-footer{padding-bottom:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.nl-hero__image img{animation:none}.project-tile img,.nl-link span,.nl-contact{transition:none}}@media(forced-colors:active){:root{scrollbar-color:auto}}
.detail-story{--story-progress:0;--story-title-x:0px;--component-y:0px;--component-rotate:0deg;--workshop-y:0px;--workshop-rotate:-2deg;position:relative;min-height:150svh;padding:clamp(88px,10vw,150px) var(--pad) clamp(100px,13vw,190px);overflow:clip;border-bottom:1px solid rgba(255,255,255,.16);background:var(--green);color:#fff}.detail-story::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(25% - .5px),rgba(255,255,255,.1) calc(25% - .5px),rgba(255,255,255,.1) calc(25% + .5px),transparent calc(25% + .5px)),linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.1) calc(50% - .5px),rgba(255,255,255,.1) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(90deg,transparent calc(75% - .5px),rgba(255,255,255,.1) calc(75% - .5px),rgba(255,255,255,.1) calc(75% + .5px),transparent calc(75% + .5px))}.detail-story__intro{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end}.detail-story__intro h2{max-width:980px;margin:0;font:400 clamp(76px,10vw,162px)/.76 var(--display);letter-spacing:-.06em;transform:translate3d(var(--story-title-x),0,0)}.detail-story__intro h2 em{display:block;color:#cbd9d1;font-weight:400}.detail-story__intro p{max-width:490px;margin:0 0 8px;color:#d6e0da;font-size:clamp(16px,1.35vw,20px);line-height:1.6}.detail-story__stage{position:relative;z-index:1;min-height:clamp(680px,72vw,1060px);margin-top:clamp(72px,8vw,120px)}.detail-card{position:absolute;margin:0;opacity:.01;clip-path:inset(0 0 100% 0);transition:clip-path 1.15s var(--ease),opacity .45s ease}.detail-story.is-visible .detail-card{opacity:1;clip-path:inset(0)}.detail-card--component{top:0;left:0;width:68%}.detail-card--workshop{top:clamp(210px,24vw,370px);right:0;width:37%;transition-delay:.14s}.detail-card__media{overflow:hidden;background:#eef1ef;will-change:transform}.detail-card--component .detail-card__media{transform:translate3d(0,var(--component-y),0) rotate(var(--component-rotate))}.detail-card--workshop .detail-card__media{border:10px solid #f7f7f4;transform:translate3d(0,var(--workshop-y),0) rotate(var(--workshop-rotate));box-shadow:0 30px 80px rgba(0,0,0,.25)}.detail-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.detail-card--component img{aspect-ratio:16/10}.detail-card--workshop img{aspect-ratio:3/4}.detail-card figcaption{display:flex;justify-content:space-between;gap:24px;margin-top:14px;color:#cbd6cf;font-size:12px}.detail-card--workshop figcaption{padding:0 10px}.detail-card:hover img{transform:scale(1.018)}.detail-story__note{position:absolute;right:var(--pad);bottom:clamp(48px,6vw,90px);width:min(31vw,460px);margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.34);color:#d6e0da;font-size:13px;line-height:1.6}
@media(max-width:900px){.detail-story{min-height:auto}.detail-story__intro{grid-template-columns:1fr}.detail-story__intro p{margin-top:28px}.detail-story__stage{min-height:105vw}.detail-card--component{width:78%}.detail-card--workshop{top:32vw;width:43%}.detail-story__note{position:relative;right:auto;bottom:auto;width:min(70%,520px);margin:70px 0 0 auto}}
@media(max-width:560px){.detail-story{padding-top:78px;padding-bottom:88px}.detail-story__intro h2{font-size:20vw}.detail-story__stage{min-height:151vw;margin-top:58px}.detail-card--component{width:100%}.detail-card--workshop{top:64vw;width:68%}.detail-card--workshop .detail-card__media{border-width:6px}.detail-card figcaption{display:block;font-size:11px}.detail-card figcaption span{display:block}.detail-card figcaption span+span{margin-top:3px;color:#95aa9e}.detail-story__note{width:80%;margin-top:52px}}
@media(prefers-reduced-motion:reduce){.detail-card{opacity:1;clip-path:none;transition:none}.detail-story__intro h2,.detail-card__media{transform:none}.detail-card img{transition:none}}
.detail-card--component figcaption{padding-right:92px}
.nl-hero h1 em,.statement em{font-style:normal}
