@font-face{font-family:Fraunces;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/fraunces-latin.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper:#faf9f6;--surface:#f2f0ea;--ink:#1b1a17;--ink-soft:#4e4b45;--muted:#6e6960;--line:#e3dfd7;--line-strong:#c9c4ba;--font-serif:"Fraunces", "Times New Roman", serif;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--space-section:clamp(5.5rem, 11vw, 9.5rem);--header-h:72px}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.65}img,svg,iframe{max-width:100%;display:block}img{height:auto}figure,h1,h2,h3,p,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.container{width:min(100% - clamp(2.5rem,8vw,6rem),72rem);margin-inline:auto}.label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;font-weight:600;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:.6rem 1rem;font-size:.875rem;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}html.js .reveal{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}html.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transition:none;transform:none}}.headline{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(2rem,4.2vw,3.25rem);font-weight:360;line-height:1.12}.lead{color:var(--ink-soft);max-width:38rem;font-size:clamp(1.0625rem,1.6vw,1.1875rem);line-height:1.7}.body-text{color:var(--ink-soft);max-width:38rem}.text-link{border-bottom:1px solid var(--line-strong);padding-bottom:2px;font-size:.9375rem;font-weight:500;transition:border-color .2s;display:inline-block}.text-link:hover{border-color:var(--ink)}.header{z-index:40;background:#faf9f6db;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #0000;transition:border-color .3s;position:fixed;inset:0 0 auto}.header--scrolled{border-bottom-color:var(--line)}.header__inner{height:var(--header-h);align-items:center;gap:2rem;display:flex}.brand__inner{align-items:center;gap:.75rem;display:flex}.logo{flex:none;width:30px;height:30px}.brand__copy{flex-direction:column;line-height:1.25;display:flex}.brand__name{letter-spacing:.06em;text-transform:uppercase;font-size:.875rem;font-weight:600}.brand__role{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.6875rem}.intro{padding-top:calc(var(--header-h) + clamp(3.5rem, 9vw, 7rem));padding-bottom:clamp(3rem,7vw,5.5rem)}.masthead{flex-direction:column;gap:.75rem;display:flex}.masthead__pre{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-size:.8125rem;font-weight:600}.masthead__name{font-family:var(--font-serif);letter-spacing:0;text-transform:uppercase;font-size:clamp(3.25rem,10.5vw,8rem);font-weight:340;line-height:.98}.infoline{border-top:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.6rem .75rem;margin-top:clamp(1.25rem,3vw,2rem);padding-top:1rem;font-size:.75rem;font-weight:500;display:flex}.infoline__item:not(:last-child):after{content:"·";margin-left:.75rem}.intro__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,5rem);margin-top:clamp(3rem,7vw,5.5rem);display:grid}.manifesto{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(2.1rem,4.6vw,3.75rem);font-weight:340;line-height:1.18}.manifesto__line{display:block}.intro__lead{margin-top:clamp(1.75rem,3.5vw,2.5rem)}.intro__plate{justify-self:end;width:100%;max-width:30rem}.intro__plate img{width:100%}.intro__caption{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:.35rem 1.5rem;margin-top:.75rem;padding-top:.9rem;font-size:.8125rem;display:flex}.intro__actions{flex-wrap:wrap;gap:1.5rem;margin-top:2rem;display:flex}@media (width<=860px){.intro__grid{grid-template-columns:1fr}.intro__plate{justify-self:start}}.facts-band{border-block:1px solid var(--line);background:var(--surface)}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.facts__item{padding:1.4rem 0}.facts__item dd{font-family:var(--font-serif);margin-top:.4rem;font-size:1.1875rem}@media (width<=720px){.facts{grid-template-columns:1fr;gap:0}.facts__item{padding:1rem 0}.facts__item+.facts__item{border-top:1px solid var(--line)}}.section{padding-block:var(--space-section)}.section--surface{background:var(--surface);border-block:1px solid var(--line)}.section-head{margin-bottom:clamp(3rem,6vw,4.5rem)}.section-head__meta{border-bottom:1px solid var(--line);align-items:baseline;gap:1rem;margin-bottom:clamp(1.75rem,4vw,2.75rem);padding-bottom:1rem;display:flex}.section-head__index{font-family:var(--font-serif);color:var(--muted);font-size:1rem}.section-head__body{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 4rem;display:flex}.section-head .headline{max-width:24ch}.section-head .lead{max-width:30rem}.service-blocks{flex-direction:column;gap:clamp(3.5rem,8vw,6.5rem);display:flex}.service-block{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.service-block--flip .service-block__media{order:2}.service-block__media img{filter:grayscale();width:100%}.service-block__copy{flex-direction:column;gap:1.1rem;display:flex}.service-block__num{font-family:var(--font-serif);color:var(--muted);font-size:clamp(1.75rem,3vw,2.25rem);line-height:1}.service-block__title{font-family:var(--font-serif);letter-spacing:-.005em;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400;line-height:1.2}.service-block__list{flex-direction:column;margin-block:.5rem;display:flex}.service-block__list li{color:var(--ink-soft);border-bottom:1px solid var(--line);padding:.65rem 0;font-size:.9375rem}.service-block__list li:first-child{border-top:1px solid var(--line)}@media (width<=860px){.service-block{grid-template-columns:1fr}.service-block--flip .service-block__media{order:0}}.service-index{margin-top:clamp(4rem,9vw,7rem)}.service-index__head{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:baseline;padding-bottom:1rem;display:flex}.service-index__count{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.index-list{columns:2;column-gap:clamp(2rem,6vw,5rem)}.index-list li{break-inside:avoid;border-bottom:1px solid var(--line);color:var(--ink-soft);align-items:baseline;gap:1.1rem;padding:.8rem 0;font-size:.9375rem;display:flex}.index-list__num{letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.6875rem}@media (width<=720px){.index-list{columns:1}}.ambiti-list{border-top:1px solid var(--line-strong);flex-direction:column;margin-bottom:clamp(4rem,9vw,7rem);display:flex}.ambiti-list li{border-bottom:1px solid var(--line);align-items:baseline;gap:clamp(1.25rem,4vw,3rem);padding:clamp(.9rem,2vw,1.3rem) 0;display:flex}.ambiti-list__num{letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.ambiti-list__label{font-family:var(--font-serif);letter-spacing:-.005em;font-size:clamp(1.375rem,3.2vw,2.25rem);font-weight:360;line-height:1.2}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,6vw,4.5rem) clamp(2rem,5vw,4rem);display:grid}.project--lead{grid-column:1/-1}.project__figure img{filter:grayscale();width:100%}.project__body{flex-direction:column;gap:.6rem;margin-top:1.25rem;display:flex}.project__meta{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;font-size:.75rem;font-weight:500;display:flex}.project__title{font-family:var(--font-serif);font-size:clamp(1.375rem,2.4vw,1.75rem);font-weight:400;line-height:1.22}@media (width<=720px){.project-grid{grid-template-columns:1fr}}.drawings{margin-top:clamp(4rem,9vw,7rem)}.drawings__head{max-width:44rem;margin-bottom:clamp(1.5rem,3vw,2.25rem)}.drawings__title{font-family:var(--font-serif);margin:.75rem 0;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:360;line-height:1.2}.studio-layout{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2.5rem,6vw,5.5rem);display:grid}.studio__rail{top:calc(var(--header-h) + 2rem);align-self:start;position:sticky}.rail-list{border-top:1px solid var(--line);margin-top:1.1rem}.rail-list li{border-bottom:1px solid var(--line);color:var(--ink-soft);align-items:baseline;gap:1rem;padding:.6rem 0;font-size:.875rem;display:flex}.rail-list__num{letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.6875rem}.studio__main{flex-direction:column;gap:2rem;display:flex}.studio__intro{font-family:var(--font-serif);letter-spacing:-.005em;max-width:28ch;font-size:clamp(1.5rem,2.8vw,2.125rem);font-weight:360;line-height:1.3}.studio__bio{flex-direction:column;gap:1.1rem;display:flex}.datasheet{border-top:1px solid var(--line-strong)}.datasheet__row{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,10rem) 1fr;gap:1.5rem;padding:.7rem 0;display:grid}.datasheet__row dt{align-self:baseline}.datasheet__row dd{font-size:.9375rem}.studio-photo{margin-top:clamp(3.5rem,8vw,6rem)}.studio-photo img{filter:grayscale();width:100%}.studio-photo__caption{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:.5rem 2.5rem;max-width:44rem;margin-top:1rem;padding-top:1rem;font-size:.875rem;display:flex}@media (width<=860px){.studio-layout{grid-template-columns:1fr}.studio__rail{position:static}}.method{border-top:1px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.75rem,4vw,3rem);padding-top:clamp(1.75rem,4vw,2.75rem);display:grid}.method__num{font-family:var(--font-serif);color:var(--muted);font-size:1.125rem}.method__title{font-family:var(--font-serif);margin-top:.8rem;font-size:1.375rem;font-weight:400}.method__text{color:var(--ink-soft);margin-top:.6rem;font-size:.9375rem}@media (width<=860px){.method{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.method{grid-template-columns:1fr}}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.contact-list{flex-direction:column;display:flex}.contact-item{border-bottom:1px solid var(--line);flex-direction:column;gap:.35rem;padding:1.4rem 0;display:flex}.contact-item:first-child{border-top:1px solid var(--line-strong)}.contact-item__value{font-family:var(--font-serif);font-size:clamp(1.25rem,2.2vw,1.625rem);line-height:1.3}a.contact-item__value{transition:opacity .2s}a.contact-item__value:hover{opacity:.65}.contact-item__value--break{overflow-wrap:anywhere}.contact-item__note{color:var(--muted);font-size:.8125rem}.map{border:1px solid var(--line);background:var(--surface)}.map__frame{aspect-ratio:4/3;filter:grayscale()contrast(1.04);border:0;width:100%}.map__links{justify-content:space-between;align-items:baseline;gap:1.5rem;margin-top:1rem;display:flex}@media (width<=860px){.contact-grid{grid-template-columns:1fr}}.footer{background:var(--ink);color:#efede8;padding-block:clamp(3.5rem,8vw,6rem) 2.5rem}.footer :focus-visible{outline-color:#efede8}.footer .label{color:#908c83}.footer__grid,.footer__meta{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(2rem,4vw,3.5rem);display:grid}.footer__grid{border-bottom:1px solid #3a3833;row-gap:2.5rem;padding-bottom:clamp(2.5rem,6vw,4rem)}.footer__col ul{color:#b9b5ad;flex-direction:column;gap:.55rem;margin-top:1.1rem;font-size:.875rem;line-height:1.5;display:flex}.footer__name{letter-spacing:.06em;text-transform:uppercase;color:#efede8;font-weight:500}.footer__col a{transition:color .2s}.footer__col a:hover{color:#fff}.footer__break{overflow-wrap:anywhere}.footer__meta{color:#908c83;row-gap:.6rem;padding-top:1.75rem;font-size:.8125rem}.footer__meta-wide{grid-column:span 2}.footer__meta-name{text-transform:uppercase}.footer__meta a{color:#d6d3cc;border-bottom:1px solid #57544d;padding-bottom:1px;transition:color .2s,border-color .2s}.footer__meta a:hover{color:#fff;border-color:#fff}@media (width<=860px){.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__meta{grid-template-columns:1fr}.footer__meta-wide{grid-column:auto}}@media (width<=560px){.footer__grid{grid-template-columns:1fr}}.viewer{--viewer-stage-h:clamp(20rem, 70vw, 42rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.viewer__meta,.viewer__item-n,.viewer__status{letter-spacing:.16em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--muted);font-size:.6875rem;font-weight:600}.viewer__stage{height:var(--viewer-stage-h);background:var(--paper);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;place-items:center;display:grid;position:relative;overflow:hidden}.viewer__stage:focus-visible{box-shadow:inset 0 0 0 1px var(--ink)}.viewer.is-ready .viewer__stage{cursor:grab}.viewer.is-dragging .viewer__stage{cursor:grabbing}.viewer.is-zoomed .viewer__stage{touch-action:none}.viewer__sheet{max-width:calc(100% - 3rem);height:calc(100% - 3rem);aspect-ratio:var(--ratio);box-shadow:0 0 0 1px var(--line), 0 24px 48px -32px #1b1a1759;background:#fff;position:relative}.viewer.is-ready .viewer__sheet{aspect-ratio:auto;transform-origin:0 0;max-width:none;height:auto;position:absolute;top:0;left:0}.viewer.is-moving .viewer__sheet{will-change:transform}.viewer__img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.viewer__layer{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .32s;display:block;position:absolute;inset:0}.viewer__layer.is-in,.viewer__layer--detail{opacity:1}.viewer__layer--detail{transition:none;inset:auto}.viewer__layer[hidden]{display:none}.viewer__status,.viewer__hint{z-index:2;border:1px solid var(--line);pointer-events:none;background:#faf9f6f0;margin:0;padding:.4rem .7rem;position:absolute}.viewer__status{top:.75rem;left:.75rem}.viewer__hint{color:var(--ink-soft);opacity:0;font-size:.8125rem;transition:opacity .2s;top:50%;left:50%;translate:-50% -50%}.viewer.is-hinting .viewer__hint{opacity:1}.viewer__foot{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,5vw,4rem);padding-top:1.5rem;padding-bottom:1.75rem;display:grid}.viewer__meta{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.viewer__title{font-family:var(--font-serif);margin-top:.6rem;font-size:1.375rem;line-height:1.25}.viewer__note{max-width:38rem;color:var(--ink-soft);margin-top:.5rem;font-size:.9375rem}.viewer__list ol{border-top:1px solid var(--line)}.viewer__item{border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--ink-soft);flex-direction:column;gap:.2rem;padding:.8rem 0;transition:color .2s;display:flex}.viewer__item:hover,.viewer__item[aria-current]{color:var(--ink)}.viewer__item-title{font-size:.9375rem}.viewer__item[aria-current] .viewer__item-title{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}@media (width<=860px){.viewer__foot{grid-template-columns:1fr}}
