@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root{--paper:#f4f3ed;--ink:#181b19;--muted:#666b63;--lime:#d9ff62;--line:#d5d7ce;--font:'Plus Jakarta Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;--gutter:clamp(22px,4.7vw,76px);--max:1440px;--radius:6px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #566b14;outline-offset:5px}.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:var(--lime);z-index:20}.skip-link:focus{top:10px}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.eyebrow,.tag,.small-label,.meta-label{font-family:var(--mono);font-size:12px;line-height:1.7;letter-spacing:.045em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:8px;height:8px;background:var(--ink);border-radius:50%}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:32px}.wordmark{font-size:19px;font-weight:800;letter-spacing:-.8px;white-space:nowrap}.wordmark small{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:0;margin-left:12px;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.site-nav a{padding:10px 0}.site-nav a:hover{text-decoration:underline;text-underline-offset:5px}.site-nav .nav-contact{border:1px solid var(--ink);border-radius:30px;padding:12px 20px;display:flex;align-items:center;gap:18px}.menu-toggle{display:none;align-items:center;justify-content:center;background:transparent;border:1px solid var(--ink);border-radius:30px;padding:11px 15px;font-size:12px}.icon{width:19px;height:19px;flex-shrink:0}.hero{padding-top:63px;padding-bottom:76px}.hero .eyebrow{margin:0 0 30px}.hero h1{font-size:clamp(60px,7.7vw,114px);letter-spacing:-.075em;line-height:1.03;font-weight:700;margin:0;max-width:1200px}.highlight{position:relative;display:inline-block;z-index:0}.highlight:before{position:absolute;content:'';inset:51% -4px 4px;background:var(--lime);z-index:-1}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:44px;align-items:end}.hero-copy{max-width:600px;font-size:19px;line-height:1.6;letter-spacing:-.4px;margin:0}.hero-copy strong{font-weight:700}.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:18px 25px;border-radius:100px;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,color .15s}.button:hover{background:var(--lime);color:var(--ink)}.button-light{background:transparent;color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;padding:7px 0;border-bottom:1px solid currentColor}.hero-note{margin:35px 0 0;font:12px var(--mono);color:var(--muted);text-align:right}.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-top:43px;border-top:1px solid var(--ink);margin-bottom:34px}.section-head h2{margin:10px 0 0;font-size:43px;font-weight:600;letter-spacing:-2px;line-height:1.1}.section-head .small-label{color:var(--muted)}.featured-project{display:grid;grid-template-columns:1fr .33fr;gap:0;background:#e8e9e1;border-radius:var(--radius);overflow:hidden;margin-bottom:65px}.featured-project .project-visual{aspect-ratio:1.49;background:#e3e5db;overflow:hidden}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.2,1)}a:hover .project-visual img{transform:scale(1.025)}.featured-info{display:flex;flex-direction:column;justify-content:space-between;padding:36px 30px}.featured-info h3{font-size:41px;letter-spacing:-2px;margin:36px 0 16px}.featured-info p{font-size:15px;line-height:1.6}.project-cta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #b8bdb0;padding-top:20px;font-size:12px;font-weight:700}.round-arrow{width:39px;height:39px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center}.projects-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;row-gap:56px}.project-card .project-visual{aspect-ratio:1.42;border-radius:var(--radius);overflow:hidden;background:#dcded5}.project-card:nth-child(even){margin-top:76px}.project-card .card-meta{display:flex;justify-content:space-between;gap:16px;padding-top:22px}.project-card h3{font-size:29px;letter-spacing:-1.3px;line-height:1.2;margin:0 0 8px}.project-card p{font-size:12px;line-height:1.6;margin:0;color:var(--muted)}.project-card .tag{display:block;margin-bottom:5px;font-size:12px}.project-card .round-arrow{background:transparent;color:var(--ink);border:1px solid var(--line);margin-top:3px}.projects-end{padding:70px 0 112px;text-align:center}.projects-end p{margin:0;font:12px var(--mono);color:var(--muted)}.services{padding-bottom:104px}.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:36px}.services-intro h2{font-size:clamp(38px,4vw,56px);letter-spacing:-2.5px;margin:0;font-weight:600;line-height:1.13}.services-intro p{font-size:17px;line-height:1.65;max-width:500px;margin:3px 0 0}.service-row{display:grid;grid-template-columns:60px 1fr 1fr 35px;gap:20px;align-items:center;border-top:1px solid var(--line);padding:30px 0}.service-row:last-child{border-bottom:1px solid var(--line)}.service-index{font:12px var(--mono);color:var(--muted)}.service-row h3{font-size:25px;letter-spacing:-1px;font-weight:600;margin:0}.service-row p{font-size:12px;line-height:1.75;color:var(--muted);margin:0;max-width:410px}.service-row>a{display:flex;padding:8px}.about{background:var(--ink);color:var(--paper);padding-block:88px}.about .eyebrow:before{background:var(--lime)}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.about h2{font-size:clamp(45px,4.8vw,70px);line-height:1.14;letter-spacing:-3px;font-weight:500;margin:30px 0 0}.about h2 span{color:var(--lime)}.about-copy{padding-top:47px}.about-copy p{font-size:16px;line-height:1.8;margin:0 0 22px;color:#cdd1c7}.about .text-link{color:var(--lime);margin-top:10px}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid #42463e;margin-top:56px;padding-top:28px}.about-facts strong{font-size:27px;font-weight:500;display:block;letter-spacing:-1px;margin-bottom:7px}.about-facts .small-label{color:#b2b9a8;font-size:11px}.contact{padding-top:101px;padding-bottom:72px}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:clamp(46px,7.9vw,112px);letter-spacing:-.07em;line-height:1.08;margin:25px 0 35px;font-weight:600}.contact-cta{width:112px;height:112px;background:var(--lime);border-radius:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-cta .icon{width:47px;height:47px}.contact-email{font-size:clamp(15px,1.7vw,24px);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px;overflow-wrap:anywhere}.site-footer{padding-block:25px 30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--muted);font:12px var(--mono)}.footer-links{display:flex;gap:25px}.footer-links a:hover{color:var(--ink)}.case-hero{padding-top:55px;padding-bottom:58px}.breadcrumb{font:12px var(--mono);color:var(--muted);display:flex;gap:13px;margin-bottom:52px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.case-hero h1{font-size:clamp(65px,8vw,116px);letter-spacing:-.07em;line-height:1;margin:18px 0 27px;font-weight:700}.case-subtitle{font-size:clamp(23px,2.7vw,37px);letter-spacing:-1.3px;line-height:1.4;max-width:910px;margin:0}.case-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;padding-top:28px;margin-top:43px;border-top:1px solid var(--line)}.case-meta .meta-label{font-size:11px;color:var(--muted);display:block;margin-bottom:9px}.case-meta p{font-size:12px;line-height:1.6;margin:0}.case-main-image{border-radius:var(--radius);overflow:hidden;position:relative;background:#e4e6dc}.case-main-image img{width:100%;aspect-ratio:1.5;object-fit:cover}.case-caption{margin:14px 0 0;font:12px/1.7 var(--mono);color:var(--muted);max-width:850px}.case-story{display:grid;grid-template-columns:1fr 1.55fr;column-gap:110px;margin-top:98px;margin-bottom:84px}.case-story h2{font-size:42px;letter-spacing:-2px;margin:20px 0 0;font-weight:500;line-height:1.2}.case-story .story-text p{font-size:17px;line-height:1.8;max-width:760px;margin:0 0 25px}.case-story .story-text p:last-child{margin-bottom:0}.contribution{margin-bottom:96px}.contribution-head{font-size:34px;letter-spacing:-1.6px;font-weight:500;margin:0 0 31px}.contribution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line);padding-top:29px}.contribution-grid .small-label{color:var(--muted);margin:0 0 23px}.contribution-grid h3{font-size:21px;line-height:1.3;letter-spacing:-.7px;font-weight:600;margin:0 0 15px}.contribution-grid p{font-size:13px;line-height:1.8;margin:0;color:var(--muted)}.source-gallery{padding-bottom:87px}.source-gallery .section-head{margin-bottom:30px}.source-gallery .section-head h2{font-size:34px}.source-intro{font-size:13px;line-height:1.8;color:var(--muted);max-width:760px;margin:0 0 35px}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.source-grid figure{margin:0}.source-image{display:flex;align-items:center;justify-content:center;min-height:320px;background:#e7e8e0;padding:20px;border-radius:var(--radius);overflow:hidden}.source-image img{max-height:475px;object-fit:contain;width:auto;max-width:100%}.source-image.mobile{min-height:470px;background:#e4e6dd}.source-image.mobile img{height:455px;width:auto;max-height:none}.source-grid figcaption{font:12px/1.8 var(--mono);color:var(--muted);margin-top:14px}.case-next{padding:37px 0 43px;border-top:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:30px}.case-next .small-label{color:var(--muted)}.case-next h2{font-size:43px;letter-spacing:-2px;font-weight:500;margin:12px 0 0}.case-next .round-arrow{width:66px;height:66px;background:var(--lime);color:var(--ink)}.case-next .icon{width:28px;height:28px}.case-contact{padding-top:64px}.case-contact h2{font-size:clamp(40px,6vw,83px)}.case-contact .contact-cta{width:90px;height:90px}.project-card:focus-visible,.featured-project:focus-visible{outline-offset:9px}
@media(min-width:1600px){.hero h1{font-size:114px}}
@media(max-width:1000px){.wordmark small{display:none}.site-nav{gap:21px}.hero{padding-top:48px}.hero-bottom{grid-template-columns:1.1fr 1fr;gap:24px}.hero-copy{font-size:16px}.hero-actions{gap:15px}.button{padding:16px 20px;gap:15px}.featured-project{grid-template-columns:1fr .45fr}.featured-info{padding:26px 22px}.featured-info h3{font-size:32px;margin:20px 0 14px}.featured-info p{font-size:13px}.about-grid{gap:45px}.case-story{column-gap:65px}.case-story .story-text p{font-size:15px}.contact-cta{width:88px;height:88px}.contact-cta .icon{width:36px;height:36px}}
@media(max-width:767px){.site-header{min-height:88px;position:relative;gap:15px}.wordmark{font-size:18px}.menu-toggle{display:flex}.site-nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--paper);z-index:10;padding:20px var(--gutter) 26px;border-bottom:1px solid var(--ink);align-items:stretch;gap:8px;box-shadow:0 18px 25px #181b190d}.site-nav.is-open{display:flex;flex-direction:column}.site-nav a{font-size:15px;padding:13px 0}.site-nav .nav-contact{align-self:flex-start;margin-top:8px}.hero{padding-top:38px;padding-bottom:50px}.hero h1{font-size:clamp(49px,9.8vw,74px);letter-spacing:-.075em}.hero .eyebrow{font-size:11px;margin-bottom:27px}.hero-bottom{display:block;margin-top:29px}.hero-copy{font-size:16px;max-width:530px;line-height:1.7}.hero-actions{justify-content:flex-start;margin-top:29px;gap:23px}.hero-note{text-align:left;margin-top:24px;line-height:1.8;font-size:11px}.section-head{padding-top:27px;margin-bottom:26px;align-items:start;gap:20px}.section-head h2{font-size:32px;letter-spacing:-1.5px}.section-head>.small-label{font-size:11px;max-width:135px;text-align:right;padding-top:2px}.featured-project{display:block;margin-bottom:38px}.featured-project .project-visual{aspect-ratio:1.32}.featured-info{padding:22px}.featured-info>.small-label{font-size:11px}.featured-info h3{font-size:29px;letter-spacing:-1.2px;margin:18px 0 12px}.featured-info p{font-size:13px;margin-bottom:23px;max-width:440px}.project-cta{padding-top:16px}.projects-grid{gap:35px 22px}.project-card:nth-child(even){margin-top:35px}.project-card .project-visual{aspect-ratio:1.18}.project-card h3{font-size:23px;letter-spacing:-1px}.project-card .tag{font-size:11px;line-height:1.8}.project-card p{font-size:12px}.project-card .round-arrow{width:30px;height:30px}.project-card .card-meta{padding-top:15px;gap:10px}.project-card .icon{width:16px;height:16px}.projects-end{padding:44px 0 69px}.projects-end p{font-size:11px;line-height:1.8}.services{padding-bottom:67px}.services-intro{display:block;margin-bottom:29px}.services-intro h2{font-size:37px;letter-spacing:-1.7px;max-width:500px}.services-intro p{font-size:14px;margin-top:24px}.service-row{grid-template-columns:28px 1fr 23px;gap:12px;padding:24px 0}.service-row h3{font-size:21px;letter-spacing:-.8px}.service-row p{grid-column:2;grid-row:2;font-size:12px}.service-row>a{grid-column:3;grid-row:1;align-self:start;padding:0}.service-index{align-self:start;margin-top:5px}.about{padding-block:63px}.about-grid{display:block}.about h2{font-size:43px;letter-spacing:-2px;max-width:530px}.about-copy{padding-top:29px;max-width:580px}.about-copy p{font-size:14px;line-height:1.8}.about-facts{margin-top:37px;gap:25px}.about-facts strong{font-size:22px}.contact{padding-top:66px;padding-bottom:48px}.contact h2{font-size:clamp(42px,8.2vw,62px);letter-spacing:-.06em;margin:21px 0 29px}.contact-top{gap:20px;align-items:center}.contact-cta{width:65px;height:65px}.contact-cta .icon{width:29px;height:29px}.contact-email{font-size:15px;text-underline-offset:5px}.site-footer{align-items:flex-start;flex-direction:column;gap:17px;font-size:11px}.footer-links{gap:20px}.case-hero{padding-top:22px;padding-bottom:37px}.breadcrumb{margin-bottom:39px;font-size:11px}.case-hero h1{font-size:65px;margin:18px 0 24px}.case-subtitle{font-size:26px;letter-spacing:-1px;line-height:1.4}.case-meta{grid-template-columns:1fr 1fr;gap:23px;margin-top:31px;padding-top:23px}.case-meta>div:last-child{grid-column:1/-1}.case-main-image img{aspect-ratio:1.15}.case-caption{font-size:11px;margin-top:13px}.case-story{display:block;margin-top:60px;margin-bottom:53px}.case-story h2{font-size:34px;letter-spacing:-1.5px;margin:13px 0 28px}.case-story .story-text p{font-size:14px;line-height:1.8}.contribution{margin-bottom:61px}.contribution-head{font-size:28px;letter-spacing:-1.2px;margin-bottom:24px}.contribution-grid{grid-template-columns:1fr;gap:27px;padding-top:25px}.contribution-grid .small-label{margin-bottom:10px}.contribution-grid h3{font-size:21px;margin-bottom:10px}.contribution-grid p{font-size:13px}.source-grid{gap:26px;grid-template-columns:1fr}.source-image{min-height:260px;padding:13px}.source-image img{max-height:460px}.source-image.mobile{min-height:450px}.source-image.mobile img{height:430px}.source-gallery{padding-bottom:53px}.source-gallery .section-head h2{font-size:28px}.source-intro{font-size:12px;margin-bottom:27px}.case-next{padding:27px 0 32px}.case-next h2{font-size:34px;margin-top:9px}.case-next .round-arrow{width:51px;height:51px}.case-contact{padding-top:41px}.case-contact .contact-cta{width:65px;height:65px}.case-contact h2{font-size:43px}}
@media(max-width:450px){.projects-grid{grid-template-columns:1fr;gap:34px}.project-card:nth-child(even){margin-top:0}.project-card .project-visual{aspect-ratio:1.4}.project-card h3{font-size:27px}.project-card .tag{font-size:11px}.hero h1{font-size:49px}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;padding:15px 19px}.hero-actions .text-link{font-size:12px;gap:8px}.contact-top{align-items:start}.contact-cta{margin-top:28px;width:55px;height:55px}.contact h2{font-size:43px}.case-contact h2{font-size:37px}.case-meta p{font-size:12px}.case-hero h1{font-size:59px}.about h2{font-size:38px}.section-head>.small-label{max-width:110px}.source-gallery .section-head{display:block}.source-gallery .section-head>.small-label{max-width:none;text-align:left;display:block;margin-top:16px}}
/* Readable editorial scale across desktop, tablet and mobile. */
.site-nav,.button,.text-link,.project-cta{font-size:14px}
.hero-copy{font-size:20px}.featured-info p{font-size:18px}
.project-card p,.service-row p,.contribution-grid p,.source-intro,.case-meta p{font-size:16px}
.project-card .tag,.eyebrow,.small-label,.meta-label,.case-meta .meta-label,.source-grid figcaption,.case-caption,.breadcrumb,.hero-note,.about-facts .small-label,.projects-end p,.site-footer{font-size:12px}
.case-story .story-text p{font-size:19px}.about-copy p{font-size:18px}
.project-card .project-visual,.featured-project .project-visual{aspect-ratio:1.5}
.case-main-image img{aspect-ratio:auto;height:auto;object-fit:contain}
.source-grid>figure:only-child{grid-column:1/-1}.source-grid>figure:only-child .source-image img{max-height:620px}
@media(max-width:1000px){.hero-bottom{display:block}.hero-actions{justify-content:flex-start;margin-top:29px}.hero-note{text-align:left}.featured-info p{font-size:16px}.featured-info{padding:26px 22px}.service-row{grid-template-columns:38px 1fr 1.3fr 24px}.case-story .story-text p{font-size:17px}}
@media(max-width:767px){.hero-copy,.featured-info p,.project-card p,.service-row p,.services-intro p,.about-copy p,.case-story .story-text p,.contribution-grid p,.source-intro,.case-meta p{font-size:16px}.hero-actions{flex-wrap:wrap;gap:18px 25px}.hero-actions .button,.hero-actions .text-link,.menu-toggle{font-size:14px}.eyebrow,.small-label,.project-card .tag,.section-head>.small-label,.featured-info>.small-label,.projects-end p,.source-grid figcaption,.case-caption,.case-meta .meta-label,.breadcrumb,.hero-note,.site-footer,.about-facts .small-label{font-size:12px}.service-row{grid-template-columns:28px 1fr 23px}.project-card .card-meta{padding-top:17px}.project-card .project-visual,.featured-project .project-visual{aspect-ratio:1.5}.case-meta{grid-template-columns:1fr;gap:20px}.case-meta>div:last-child{grid-column:auto}.case-meta .meta-label{margin-bottom:6px}.section-head{align-items:start}.section-head>.small-label{max-width:145px}}
@media(max-width:450px){.hero-actions .button,.hero-actions .text-link{font-size:14px}.hero-actions .button{padding:16px 21px}.project-card p{max-width:290px}.section-head>.small-label{max-width:128px}.case-hero h1{font-size:54px;overflow-wrap:normal}.contact-email{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.project-visual img{transform:none!important}}

.project-visual picture{display:block;height:100%;width:100%}.case-main-image picture{display:block}
@media(max-width:767px){html:not(.js) .menu-toggle{display:none}html:not(.js) .site-header{flex-wrap:wrap;padding-block:20px}html:not(.js) .site-nav{position:static;display:flex;flex-wrap:wrap;box-shadow:none;border:0;padding:0;gap:8px 22px;width:100%}html:not(.js) .site-nav .nav-contact{margin-top:0}}

.footer-links{flex-wrap:wrap;row-gap:12px}
