@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--pf-white:#fff;--pf-ink:#282828;--pf-wg-1:#d7d2cb;--pf-wg-3:#c0b7b0;--pf-wg-7:#968c83;--pf-wg-9:#83786f;--pf-wg-11:#6e6259;--pf-error:#9b2c1f;--color-bg:var(--pf-white);--color-text:var(--pf-ink);--color-text-muted:var(--pf-wg-11);--color-brand:var(--pf-wg-3);--color-on-brand:var(--pf-ink);--color-rule:var(--pf-wg-3);--color-border:var(--pf-wg-9);--color-placeholder:var(--pf-wg-1);--color-inverse-bg:var(--pf-ink);--color-inverse-text:var(--pf-white);--color-focus:var(--pf-ink);--color-error:var(--pf-error);--font-sans:"Montserrat", "Helvetica Neue", Arial, sans-serif;--weight-light:300;--weight-regular:400;--weight-strong:500;--text-meta:.875rem;--text-ui:1rem;--text-body:1.125rem;--text-lead:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--text-h3:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--text-h2:clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem);--text-h1:clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem);--text-display:clamp(2.75rem, 1.4rem + 5.4vw, 6rem);--leading-tight:1.08;--leading-head:1.2;--leading-body:1.6;--leading-ui:1.3;--tracking-display:-.025em;--tracking-head:-.01em;--tracking-body:0;--tracking-meta:.01em;--measure:36em;--measure-lead:30em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-section:clamp(4rem, 2rem + 8vw, 10rem);--page-max:105rem;--page-margin:clamp(1rem, .4rem + 3.2vw, 5rem);--grid-cols:12;--grid-gap:clamp(1rem, .7rem + 1.2vw, 2rem);--header-h:5.5rem;--radius-media:0;--radius-control:4px;--radius-round:50%;--hairline:1px;--stem:1.5px;--target-min:44px;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.24s;--dur-slow:.48s;--z-header:10;--z-menu:20;--z-skip:30}@media (width<=1023px){:root{--grid-cols:8;--header-h:4.75rem}}@media (width<=599px){:root{--grid-cols:4;--header-h:3.5rem}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--header-h)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-light);line-height:var(--leading-body);font-kerning:normal;font-variant-numeric:lining-nums proportional-nums;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}[hidden]{display:none!important}ul[class],ol[class]{padding:0;list-style:none}img,svg,video,canvas{max-width:100%;height:auto;display:block}strong,b{font-weight:var(--weight-strong)}h1,h2,h3{font-weight:var(--weight-light);text-wrap:balance}h1,h2,h3,.display{hyphens:auto;overflow-wrap:break-word}h1{font-size:var(--text-h1);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}h2{font-size:var(--text-h2);line-height:var(--leading-head);letter-spacing:var(--tracking-head)}h3{font-size:var(--text-h3);line-height:var(--leading-head);letter-spacing:var(--tracking-head)}p{max-width:var(--measure);text-wrap:pretty}p+p{margin-top:1em}a{color:inherit;text-decoration-line:underline;text-decoration-thickness:var(--hairline);text-underline-offset:.22em;transition:text-decoration-thickness var(--dur-fast) var(--ease-out)}a:hover{text-decoration-thickness:var(--stem)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.on-inverse :focus-visible{--color-focus:var(--color-inverse-text)}::selection{background:var(--color-brand);color:var(--color-on-brand)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.display{font-size:var(--text-display);font-weight:var(--weight-light);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-wrap:balance}.lead{font-size:var(--text-lead);max-width:var(--measure-lead);line-height:1.45}.meta{font-size:var(--text-meta);font-weight:var(--weight-regular);line-height:var(--leading-ui);letter-spacing:var(--tracking-meta);color:var(--color-text-muted)}.page{width:min(100% - 2 * var(--page-margin), var(--page-max));margin-inline:auto}.grid{grid-template-columns:repeat(var(--grid-cols), minmax(0, 1fr));gap:var(--grid-gap);display:grid}.section{padding-block:var(--space-section)}.section--brand{background:var(--color-brand);color:var(--color-on-brand)}.section--brand .meta{color:var(--color-on-brand)}.section--brand,.site-footer{font-weight:var(--weight-regular)}.section--brand .display,.section--brand h1,.section--brand h2{font-weight:var(--weight-light)}.section--inverse{background:var(--color-inverse-bg);color:var(--color-inverse-text)}.section--inverse .meta{color:var(--pf-wg-3)}.full-bleed{width:100%}.skip{left:var(--page-margin);z-index:var(--z-skip);padding:var(--space-2) var(--space-3);background:var(--color-inverse-bg);color:var(--color-inverse-text);font-size:var(--text-ui);font-weight:var(--weight-regular);position:absolute;top:-100px}.skip:focus{top:var(--space-2)}.logo{color:var(--color-brand);text-decoration:none;display:inline-flex}.logo svg{width:auto;height:100%}.logo--header{height:2.75rem}@media (width<=1023px){.logo--header{height:2.5rem}}.logo--mark{height:2.25rem}.on-brand .logo,.section--brand .logo{color:var(--color-bg)}.site-header{z-index:var(--z-header);background:var(--color-bg);border-bottom:var(--hairline) solid transparent;transition:border-color var(--dur-base) var(--ease-out);position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--color-rule)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:var(--header-h);display:flex}.nav{align-items:center;gap:var(--space-6);display:flex}.nav__list{gap:clamp(var(--space-4), 2.4vw, var(--space-7));display:flex}.nav__list a,.lang a{min-height:var(--target-min);font-size:var(--text-ui);background:linear-gradient(currentColor, currentColor) no-repeat 0 calc(50% + .95em) / 0 var(--stem);transition:background-size var(--dur-base) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.nav__list a:hover,.nav__list a[aria-current]{background-size:100% var(--stem)}.lang{gap:var(--space-3);font-size:var(--text-ui);display:flex}.lang a{color:var(--color-text-muted);font-weight:var(--weight-regular)}.lang a[aria-current],.lang a:hover{color:var(--color-text)}.menu-button{min-height:var(--target-min);padding:0 var(--space-4);border:var(--hairline) solid var(--color-text);border-radius:var(--radius-control);color:inherit;font:var(--weight-regular) var(--text-ui) / 1 var(--font-sans);cursor:pointer;background:0 0;display:none}.logo-desktop{display:inline-flex}.logo-mobile{display:none}@media (width<=899px){.menu-button{align-items:center;display:inline-flex}.nav{display:none}.nav.is-open{inset:var(--header-h) 0 0;z-index:var(--z-menu);padding:var(--space-6) var(--page-margin) var(--space-7);background:var(--color-bg);flex-direction:column;justify-content:space-between;align-items:flex-start;display:flex;position:fixed}.nav.is-open .nav__list{gap:var(--space-2);flex-direction:column}.nav.is-open .nav__list a{font-size:var(--text-h2);font-weight:var(--weight-light)}}@media (width<=599px){.logo-desktop{display:none}.logo-mobile{display:inline-flex}}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:3rem;padding:0 var(--space-5);border:var(--hairline) solid var(--color-text);border-radius:var(--radius-control);background:var(--color-text);color:var(--color-bg);font:var(--weight-regular) var(--text-ui) / var(--leading-ui) var(--font-sans);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);text-decoration:none;display:inline-flex}.button:hover{background:var(--color-bg);color:var(--color-text)}.button--secondary{color:var(--color-text);background:0 0}.button--secondary:hover{background:var(--color-text);color:var(--color-bg)}.section--brand .button:hover{background:var(--color-brand)}.filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-4);border:var(--hairline) solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);font:var(--weight-regular) var(--text-meta) / 1 var(--font-sans);letter-spacing:var(--tracking-meta);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;display:inline-flex}.chip:hover{border-color:var(--color-text)}.chip[aria-pressed=true]{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.chip__count{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.chip[aria-pressed=true] .chip__count{color:var(--pf-wg-3)}.project-card{gap:var(--space-3);text-decoration:none;display:grid}.project-card__media{aspect-ratio:3/2;border-radius:var(--radius-media);background:var(--color-placeholder);overflow:hidden}.project-card__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out)}.project-card:hover .project-card__media img{transform:scale(1.02)}.project-card__title{font-size:var(--text-h3);line-height:var(--leading-head);letter-spacing:var(--tracking-head)}.project-card:hover .project-card__title{text-decoration:underline var(--stem);text-underline-offset:.22em}.project-card--portrait .project-card__media{aspect-ratio:4/5}.index{border-collapse:collapse;width:100%;font-size:var(--text-ui)}.index th{padding:0 var(--space-4) var(--space-3) 0;text-align:left;font-size:var(--text-meta);font-weight:var(--weight-regular);color:var(--color-text-muted);letter-spacing:var(--tracking-meta)}.index td{padding:var(--space-4) var(--space-4) var(--space-4) 0;border-top:var(--hairline) solid var(--color-rule);vertical-align:baseline}.index tr:last-child td{border-bottom:var(--hairline) solid var(--color-rule)}.index td:first-child{font-size:var(--text-body)}.index td:first-child a{text-decoration:none}.index tbody tr:hover td:first-child a{text-decoration:underline var(--stem)}.index .num{font-variant-numeric:tabular-nums}@media (width<=699px){.index .hide-s{display:none}}.facts{column-gap:var(--space-5);font-size:var(--text-ui);grid-template-columns:minmax(7rem,max-content) 1fr;display:grid}.facts dt,.facts dd{padding-block:var(--space-3);border-top:var(--hairline) solid var(--color-rule)}.facts dt{font-size:var(--text-meta);font-weight:var(--weight-regular);color:var(--color-text-muted);line-height:calc(var(--text-ui) * var(--leading-body))}.phases{gap:var(--space-6);counter-reset:phase;display:grid;position:relative}.phases:before{content:"";width:var(--stem);background:var(--color-brand);position:absolute;inset:0 auto 0 0}.phase{column-gap:var(--space-5);counter-increment:phase;grid-template-rows:auto 1fr;grid-template-columns:2.75rem 1fr;align-items:start;display:grid}.phase:before{content:counter(phase);aspect-ratio:1;border:var(--stem) solid var(--color-brand);border-radius:var(--radius-round);background:var(--color-bg);width:2.75rem;font-size:var(--text-meta);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;color:var(--color-text);grid-row:span 2;place-items:center;display:grid}.phase__title{padding-top:calc((2.75rem - var(--text-h3) * var(--leading-head)) / 2);font-size:var(--text-h3);line-height:var(--leading-head)}.phase__text{margin-top:var(--space-2);max-width:var(--measure);grid-column:2}.phase--separate:before{content:"+"}.progress-stem{--progress:0;width:1.25rem;height:8rem;position:relative}.progress-stem:before{content:"";width:var(--stem);opacity:.35;background:currentColor;position:absolute;inset:0 auto 0 0}.progress-stem:after{content:"";left:0;top:calc(var(--progress) * (100% - 1.25rem));aspect-ratio:1;border:var(--stem) solid currentColor;border-radius:var(--radius-round);opacity:.35;width:1.25rem;position:absolute}.statement{gap:var(--space-8);display:grid}.statement__text{max-width:16em}.triad{gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.triad h3{margin-bottom:var(--space-3)}.person{gap:var(--space-3);align-content:start;display:grid}.person__photo{aspect-ratio:4/5;object-fit:cover;background:var(--color-placeholder);border-radius:var(--radius-media);width:100%}.person__name{font-size:var(--text-h3);line-height:var(--leading-head)}.person__role{margin-top:calc(-1 * var(--space-2))}.field{gap:var(--space-2);max-width:32rem;display:grid}.field label{font-size:var(--text-meta);font-weight:var(--weight-regular)}.field input,.field textarea{min-height:3rem;padding:var(--space-3) var(--space-4);border:var(--hairline) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);color:var(--color-text);font:var(--weight-light) var(--text-ui) / var(--leading-body) var(--font-sans);transition:border-color var(--dur-fast) var(--ease-out)}.field textarea{resize:vertical;min-height:9rem}.field input:hover,.field textarea:hover{border-color:var(--color-text)}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--color-text);outline-offset:0}.field__hint{font-size:var(--text-meta);color:var(--color-text-muted)}.field__error{font-size:var(--text-meta);font-weight:var(--weight-regular);color:var(--color-error)}.field [aria-invalid=true]{border-color:var(--color-error)}.site-footer{background:var(--color-brand);color:var(--color-on-brand);padding-block:var(--space-9) var(--space-6);font-size:var(--text-body);line-height:var(--leading-body)}.site-footer .meta{color:var(--color-on-brand)}.site-footer__mark{height:clamp(6rem,12vw,10rem);color:var(--color-bg)}.site-footer address{font-style:normal}.site-footer__social{gap:var(--space-1);display:grid}.site-footer__legal{gap:var(--space-2) var(--space-5);margin-top:var(--space-8);padding-top:var(--space-4);border-top:var(--hairline) solid color-mix(in srgb, var(--color-on-brand) 35%, transparent);font-size:var(--text-ui);font-weight:var(--weight-regular);flex-wrap:wrap;display:flex}
