@font-face{font-family:"Fraunces";font-style:normal;font-weight:400 600;font-display:swap;src:url("/fonts/fraunces-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Fraunces";font-style:italic;font-weight:400 600;font-display:swap;src:url("/fonts/fraunces-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 600;font-display:swap;src:url("/fonts/source-sans-3-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #f7f4ee;--color-surface: #ffffff;--color-line: #e3ddd2;--color-ink: #1d2320;--color-muted: #5a615d;--color-brand: #2e9966;--color-brand-strong: #23744f;--color-brand-tint: #e4f1ea;--color-dark: #1b1c20;--color-dark-soft: #26282d;--color-on-dark: #f2efe9;--color-on-dark-muted: #b3b5b8;--focus-color: var(--color-brand-strong);--font-display: 'Fraunces', Georgia, 'Times New Roman', serif;--font-body: 'Source Sans 3', 'Segoe UI', Arial, sans-serif;--container-width: 1200px;--container-narrow: 760px;--gutter: 20px;--section-space: 64px;--header-height: 72px;--radius: 6px;--radius-large: 14px;--ease-out: cubic-bezier(0.22, 1, 0.36, 1)}@media(min-width: 768px){:root{--gutter: 32px;--section-space: 96px;--header-height: 84px}}@media(min-width: 1200px){:root{--gutter: 40px;--section-space: 128px}}html,body,div,span,header,footer,main,nav,section,article,aside,figure,figcaption,blockquote,dialog,a,img,picture,video,iframe,ul,ol,li,dl,dt,dd,p,h1,h2,h3,h4,h5,h6,table,th,td,form,fieldset,input,textarea,select,button{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-height)}@media(prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}body{display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.65}body:has(dialog[open]){overflow:hidden}main{flex-grow:1}h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote{margin:0}img,video,iframe{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse}::selection{background:var(--color-brand-tint);color:var(--color-ink)}:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;border-radius:2px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.15;letter-spacing:-0.01em}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.375rem}h4{font-size:1.1875rem}@media(min-width: 768px){h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.5rem}}@media(min-width: 1200px){h1{font-size:3.75rem}h2{font-size:2.75rem}}a{color:var(--color-brand-strong);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}.text-muted{color:var(--color-muted)}.text-center{text-align:center}.text-lead{font-size:1.1875rem;line-height:1.6}@media(min-width: 768px){.text-lead{font-size:1.3125rem}}.container{width:100%;max-width:calc(var(--container-width) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:calc(var(--container-narrow) + 2*var(--gutter))}.section{padding-block:var(--section-space)}.section--tight{padding-block:calc(var(--section-space)/2)}.section--line{border-top:1px solid var(--color-line)}.section--dark{--focus-color: #ffffff;background:var(--color-dark);color:var(--color-on-dark)}.section--brand{--focus-color: #ffffff;background:var(--color-brand-strong);color:#fff}.grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:32px}@media(min-width: 640px){.grid-cols-2\@sm{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3\@sm{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-7-5\@sm{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}.grid-2-1\@sm{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}}@media(min-width: 768px){.grid-cols-2\@md{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3\@md{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-7-5\@md{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}.grid-2-1\@md{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}}@media(min-width: 960px){.grid-cols-2\@lg{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3\@lg{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-7-5\@lg{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}.grid-2-1\@lg{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}}@media(min-width: 1200px){.grid-cols-2\@xl{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3\@xl{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-7-5\@xl{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}.grid-2-1\@xl{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}}@media(min-width: 1280px){.grid-cols-2\@xxl{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3\@xxl{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-7-5\@xxl{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}.grid-2-1\@xxl{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}}.gap-s{gap:16px}.gap-m{gap:32px}.gap-l{gap:40px}@media(min-width: 768px){.gap-l{gap:48px}}@media(min-width: 1200px){.gap-l{gap:80px}}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-start{align-items:start}.items-center{align-items:center}.items-end{align-items:end}.justify-between{justify-content:space-between}@media(min-width: 960px){.self-end\@lg{justify-self:end}}.flow>:where(p,ul,ol,dl,div,h2,h3,figure,blockquote)+:where(p,ul,ol,dl,div,h2,h3,figure,blockquote){margin-top:1em}.list-reset{padding:0;list-style:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.skip-link{--focus-color: #ffffff;position:absolute;top:-100px;left:var(--gutter);z-index:100;padding:10px 16px;background:var(--color-ink);color:#fff;border-radius:var(--radius)}.skip-link:focus{top:12px}.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border:1px solid rgba(0,0,0,0);border-radius:999px;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}.btn svg{width:18px;height:18px}.btn--primary{background:var(--color-brand-strong);color:#fff}.btn--primary:hover{background:var(--color-ink)}.btn--light{background:#fff;color:var(--color-brand-strong)}.btn--light:hover{background:var(--color-ink);color:#fff}.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none}.link-arrow svg{flex-shrink:0;width:18px;height:18px;transition:transform .25s var(--ease-out)}.link-arrow:hover svg{transform:translateX(4px)}.link-arrow--back:hover svg{transform:translateX(-4px)}.scroll-sentinel{position:absolute;top:0;width:1px;height:1px}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,244,238,.92);border-bottom:1px solid rgba(0,0,0,0);transition:background-color .3s,border-color .3s,box-shadow .3s}.site-header.is-scrolled{border-bottom-color:var(--color-line);box-shadow:0 6px 24px rgba(29,35,32,.06)}@supports(backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:var(--header-height)}.site-logo{display:inline-flex;flex-shrink:0}.site-logo img{width:76px;height:44px}.site-logo__inverse{display:none}.site-nav__list{display:flex;flex-wrap:wrap;gap:4px}.site-nav__link{position:relative;display:block;padding:10px 14px;color:var(--color-ink);font-size:1rem;font-weight:600;text-decoration:none}.site-nav__link::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--color-brand);transform:scaleX(0);transition:transform .25s var(--ease-out)}.site-nav__link:hover::after,.site-nav__link[aria-current]::after{transform:scaleX(1)}.site-nav__link[aria-current]{color:var(--color-brand-strong)}.nav-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-12px;padding:0;background:none;border:0;border-radius:50%;cursor:pointer}.nav-toggle svg{width:26px;height:26px}.js .site-header__inner{flex-wrap:nowrap;height:var(--header-height)}.js .site-nav{display:none}.js .nav-toggle{display:inline-flex}@media(min-width: 960px){.js .site-nav{display:block}.js .nav-toggle{display:none}}.js .site-header--overlay:not(.is-past-hero){--focus-color: #ffffff;background:rgba(0,0,0,0);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.js .site-header--overlay:not(.is-past-hero) .site-logo__default{display:none}.js .site-header--overlay:not(.is-past-hero) .site-logo__inverse{display:block}.js .site-header--overlay:not(.is-past-hero) .site-nav__link,.js .site-header--overlay:not(.is-past-hero) .nav-toggle{color:#fff}.js .site-header--overlay:not(.is-past-hero) .site-nav__link::after{background:#fff}.js .site-header--overlay.is-scrolled:not(.is-past-hero){background:rgba(20,24,22,.45);border-bottom-color:rgba(255,255,255,.12)}@supports(backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.js .site-header--overlay.is-scrolled:not(.is-past-hero){-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.nav-drawer{--focus-color: #ffffff;width:100%;max-width:420px;height:100%;max-height:none;margin:0 0 0 auto;padding:0;border:0;background:var(--color-dark);color:var(--color-on-dark)}.nav-drawer::backdrop{background:rgba(27,28,32,.55)}@media(prefers-reduced-motion: no-preference){.nav-drawer[open]{animation:drawer-in .35s var(--ease-out)}}@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}.nav-drawer__header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding-inline:var(--gutter)}.nav-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-12px;padding:0;background:none;border:0;color:var(--color-on-dark);cursor:pointer}.nav-drawer__close svg{width:26px;height:26px}.nav-drawer__list{padding:24px var(--gutter)}.nav-drawer__link{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);color:var(--color-on-dark);font-family:var(--font-display);font-size:1.75rem;text-decoration:none}.nav-drawer__link[aria-current]{color:var(--color-brand);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25em}.site-footer{--focus-color: #ffffff;padding-block:64px 32px;background:var(--color-dark);color:var(--color-on-dark)}@media(min-width: 768px){.site-footer__grid{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto}}.site-footer__logo img{width:104px;height:60px}.site-footer__title{margin-bottom:16px;font-family:var(--font-body);font-size:.875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-on-dark-muted)}.contact-list{display:grid;grid-template-columns:auto minmax(0, 1fr);gap:6px 16px}.contact-list dt{color:var(--color-on-dark-muted)}.contact-list dd{overflow-wrap:anywhere}.contact-list a{color:var(--color-on-dark);text-decoration:none}.contact-list a:hover{color:var(--color-brand);text-decoration:underline}.site-footer__text{margin-top:24px;color:var(--color-on-dark-muted)}.site-footer__text a{color:var(--color-on-dark)}.to-top{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:var(--color-on-dark);transition:background-color .2s,border-color .2s}.to-top:hover{background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.to-top svg{width:20px;height:20px}@media(prefers-reduced-motion: no-preference){.reveal-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal-ready .reveal.is-visible{opacity:1;transform:none}}.hero{position:relative;display:flex;align-items:flex-end;min-height:500px;padding-block:calc(var(--header-height) + 48px) 56px;overflow:hidden;background:var(--color-dark);color:#fff}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20, 24, 22, 0.55) 0%, rgba(20, 24, 22, 0) 28%),linear-gradient(20deg, rgba(14, 22, 18, 0.85) 0%, rgba(14, 22, 18, 0.45) 45%, rgba(14, 22, 18, 0) 75%)}@media(min-width: 768px){.hero{min-height:70vh;min-height:70svh;padding-bottom:96px}}.js .hero{margin-top:calc(-1*var(--header-height))}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__content{position:relative;z-index:1;max-width:680px}.hero__text{max-width:560px;margin-top:20px;color:rgba(255,255,255,.9);font-size:1.125rem}@media(min-width: 768px){.hero__text{margin-top:28px;font-size:1.3125rem}}.media-frame{display:block;overflow:hidden;aspect-ratio:910/560;background:var(--color-dark);border-radius:var(--radius-large)}.media-frame img{width:100%;height:100%;object-fit:cover}.media-frame--natural{aspect-ratio:auto}.media-frame--natural img{height:auto}@media(prefers-reduced-motion: no-preference){.media-frame img{transition:transform .7s var(--ease-out)}.project:hover .media-frame img,.project-card:hover .media-frame img{transform:scale(1.04)}}.project+.project{margin-top:72px}@media(min-width: 768px){.project:nth-child(even){grid-template-columns:minmax(0, 5fr) minmax(0, 7fr)}.project:nth-child(even) .project__media{order:2}.project+.project{margin-top:112px}}.project__title{margin-bottom:14px}.project__summary{color:var(--color-muted)}.project__link{margin-top:24px}.project-card{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-large);transition:box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.project-card:hover{box-shadow:0 18px 40px rgba(29,35,32,.1)}.project-card .media-frame{border-radius:0}@media(prefers-reduced-motion: no-preference){.project-card:hover{transform:translateY(-3px)}}.project-card__body{display:flex;flex-direction:column;flex-grow:1;padding:24px}@media(min-width: 768px){.project-card__body{padding:28px 32px 32px}}.project-card__title{margin-bottom:12px;font-size:1.375rem}@media(min-width: 768px){.project-card__title{font-size:1.5rem}}.project-card__summary{color:var(--color-muted)}.project-card__link{margin-top:auto;padding-top:24px}.cta-band__title{margin-bottom:20px}.cta-band__text{max-width:720px;color:rgba(255,255,255,.92)}.page-intro{padding-block:56px 48px;border-bottom:1px solid var(--color-line)}@media(min-width: 768px){.page-intro{padding-block:96px 72px}}.page-intro__quote{padding-left:24px;border-left:3px solid var(--color-brand);font-family:var(--font-display);font-size:1.25rem;font-style:italic;line-height:1.45;color:var(--color-muted)}@media(min-width: 768px){.page-intro__quote{font-size:1.5rem}}.article{padding-block:48px var(--section-space)}@media(min-width: 768px){.article{padding-top:72px}}.article__back{margin-bottom:32px}.article__title{margin-bottom:24px}@media(min-width: 768px){.article__title{margin-bottom:32px}}.article__figure{margin-bottom:40px}.article__figure img{width:100%;border-radius:var(--radius-large)}@media(min-width: 768px){.article__figure{margin-bottom:56px}}.article__aside{max-width:320px}.article__aside img{border-radius:var(--radius-large)}@media(min-width: 960px){.article__aside{max-width:none;padding-top:8px}}@media(min-width: 960px)and (min-height: 800px){.article__aside{position:sticky;top:calc(var(--header-height) + 24px);align-self:start}}.article__actions{margin-top:40px}.prose{overflow-wrap:break-word}.prose>:where(p,ul,ol,h2,h3,h4,figure,blockquote,table)+:where(p,ul,ol,h2,h3,h4,figure,blockquote,table){margin-top:1em}.prose>:where(p,ul,ol,figure,blockquote,table)+:where(h2,h3,h4){margin-top:1.75em}.prose>:where(h2,h3,h4)+:where(p,ul,ol){margin-top:.5em}.prose h2{font-size:1.625rem}.prose h3{font-size:1.3125rem}.prose h4{font-size:1.125rem}@media(min-width: 768px){.prose h2{font-size:1.875rem}.prose h3{font-size:1.4375rem}}.prose :is(h2,h3,h4) strong{font-weight:inherit}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--color-brand)}.prose img{height:auto;border-radius:var(--radius)}.prose blockquote{padding-left:20px;border-left:3px solid var(--color-brand);font-family:var(--font-display);font-style:italic;color:var(--color-muted)}.prose table{width:100%}.prose th,.prose td{padding:8px 12px 8px 0;border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top}.prose--inverse a{color:inherit}.pager__link{display:flex;flex-direction:column;gap:6px;height:100%;padding:24px 28px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-large);color:var(--color-ink);text-decoration:none;transition:border-color .2s,box-shadow .3s var(--ease-out)}.pager__link:hover{border-color:var(--color-brand);box-shadow:0 12px 32px rgba(29,35,32,.08)}.pager__link svg{width:16px;height:16px}.pager__link--next{align-items:end;text-align:right}@media(min-width: 768px){.pager__link--next{grid-column:2}}.pager__label{display:inline-flex;align-items:center;gap:8px;color:var(--color-brand-strong);font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pager__title{font-family:var(--font-display);font-size:1.25rem;line-height:1.3}@media(min-width: 768px){.pager__title{font-size:1.375rem}}body #cc_window.cc__box{--cc-br: var(--radius-large);--cc-header-fs: 1.375rem;--cc-header-fw: 500;--cc-message-fs: 1rem;--cc-link-fs: 1rem;--cc-btn-br: 999px;--cc-btn-fs: 1rem;--cc-btn-fw: 600;padding:24px;font-family:var(--font-body);line-height:1.6}body #cc_window.cc__box .cc__header{font-family:var(--font-display);line-height:1.15;letter-spacing:-0.01em}body #cc_window.cc__box .cc__link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}body #cc_window.cc__box .cc__link:hover{text-decoration-thickness:2px}body #cc_window.cc__box .cc__btn{min-height:48px;padding:12px 24px}body #cc_window.cc__box .cc__btn:focus-visible,body #cc_window.cc__box .cc__link:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}body #cc_window.cc__theme-light{--cc-bg-color: var(--color-surface);--cc-header-color: var(--color-ink);--cc-message-color: var(--color-muted);--cc-link-color: var(--color-brand-strong);--cc-link-color-hover: var(--color-ink);--cc-btn-accept-bg: var(--color-brand-strong);--cc-btn-accept-color: #ffffff;--cc-btn-accept-bg-hover: var(--color-ink);--cc-btn-accept-color-hover: #ffffff;border:1px solid var(--color-line);box-shadow:0 18px 40px rgba(29,35,32,.12)}body #cc_window.cc__theme-dark{--focus-color: #ffffff;--cc-bg-color: var(--color-dark);--cc-header-color: var(--color-on-dark);--cc-message-color: var(--color-on-dark);--cc-link-color: var(--color-on-dark);--cc-link-color-hover: var(--color-brand);--cc-btn-accept-bg: var(--color-brand-strong);--cc-btn-accept-color: #ffffff;--cc-btn-accept-bg-hover: #ffffff;--cc-btn-accept-color-hover: var(--color-brand-strong);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,0,0,.3)}@media(min-width: 601px){body #cc_window .cc__btn-box .cc__btn{width:auto}}@media print{.site-header,.nav-drawer,.skip-link,.to-top,.pager,.article__back,.hero__image{display:none !important}body,.hero,.section--dark,.section--brand,.site-footer{background:none !important;color:#000 !important}.hero{min-height:0;margin-top:0;padding-block:0 24px}.hero::after{display:none}.hero__text,.cta-band__text{color:#000 !important}.reveal{opacity:1 !important;transform:none !important}.article__aside{position:static !important}}/*# sourceMappingURL=site.min.css.map */
