@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(./instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(./instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff")}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");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{--ink: #0b0b0a;--charcoal: #121211;--anthracite: #1d1c1a;--graphite: #2c2b28;--mineral: #8f8b83;--mist: #b9b5ad;--bone: #ebe7df;--stone: #b9a68a;--bg: var(--ink);--text: var(--bone);--text-muted: var(--mist);--text-faint: var(--mineral);--rule: color-mix(in srgb, var(--bone) 14%, transparent);--accent: var(--stone);--focus: var(--stone);--font-display: "Instrument Serif", "Iowan Old Style", "Times New Roman", serif;--font-sans: "Archivo Variable", "Helvetica Neue", Arial, sans-serif;--fs-label: .6875rem;--fs-small: .875rem;--fs-body: clamp(1rem, .95rem + .2vw, 1.125rem);--fs-lead: clamp(1.5rem, 1.05rem + 1.9vw, 2.875rem);--fs-h3: clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem);--fs-h2: clamp(2.75rem, 1.6rem + 4.8vw, 6.5rem);--fs-display: clamp(4.5rem, 1rem + 15vw, 16.5rem);--tracking-label: .16em;--leading-tight: .92;--columns: 12;--gutter: clamp(1rem, .6rem + 1.6vw, 2rem);--margin: clamp(1rem, .4rem + 3vw, 4rem);--max-width: 1680px;--section-space: clamp(6rem, 3rem + 12vw, 13rem);--header-h: 4.5rem;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .25s;--dur: .6s;--dur-slow: 1.2s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--header-h)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:380;line-height:1.6;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body:after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:var(--leading-tight);letter-spacing:-.02em;text-wrap:balance}em{font-style:italic}p{text-wrap:pretty}::selection{background:var(--stone);color:var(--ink)}a{color:inherit;text-decoration:none}:focus-visible{outline:1px solid var(--focus);outline-offset:4px}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--margin)}.section{padding-block:var(--section-space)}.label{font-family:var(--font-sans);font-size:var(--fs-label);font-weight:500;font-stretch:112%;letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.4;color:var(--text-faint)}.label em{font-style:normal;text-transform:none;letter-spacing:.04em}.section-label{display:flex;align-items:center;gap:1rem;margin-bottom:clamp(2.5rem,1.5rem + 4vw,5rem)}.section-label__index{color:var(--text)}.section-label__rule{width:3rem;height:1px;background:var(--rule)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:1rem;left:1rem;z-index:200;padding:.75rem 1rem;background:var(--bone);color:var(--ink);font-size:var(--fs-small);transform:translateY(-200%)}.skip-link:focus{transform:none}.link{background:linear-gradient(currentColor,currentColor) 0 100% / 100% 1px no-repeat;transition:background-size var(--dur) var(--ease-out),color var(--dur-fast);padding-bottom:.1em}.link:hover{background-size:0 1px;background-position:100% 100%}.button{display:inline-flex;align-items:center;gap:1.25rem;padding:1rem 1.5rem;border:1px solid color-mix(in srgb,var(--bone) 40%,transparent);font-size:var(--fs-label);font-weight:500;font-stretch:112%;letter-spacing:var(--tracking-label);text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.button:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bone);transform:scaleY(0);transform-origin:50% 100%;transition:transform var(--dur) var(--ease-out)}.button:hover,.button:focus-visible{color:var(--ink);border-color:var(--bone)}.button:hover:before,.button:focus-visible:before{transform:scaleY(1)}.button__arrow{transition:transform var(--dur) var(--ease-out);font-size:1rem;letter-spacing:0}.button:hover .button__arrow{transform:translate(.35rem)}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--margin);transition:transform var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.site-header.is-scrolled{background:color-mix(in srgb,var(--ink) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.site-header.is-hidden{transform:translateY(-100%)}.site-header__logo{font-size:.75rem;font-weight:560;font-stretch:125%;letter-spacing:.32em;white-space:nowrap}.site-nav__list{display:flex;gap:clamp(1.5rem,3vw,3rem)}.site-nav__link{display:inline-flex;gap:.5rem;font-size:var(--fs-label);font-weight:500;font-stretch:112%;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);transition:color var(--dur-fast);padding-block:.5rem}.site-nav__link:hover,.site-nav__link[aria-current=true]{color:var(--text)}.site-nav__index{color:var(--text-faint);font-variant-numeric:tabular-nums}.menu-toggle{display:none}@media(max-width:767px){.menu-toggle{display:inline-flex;align-items:center;gap:.75rem;position:relative;z-index:2;padding:.75rem 0;background:none;border:0;color:var(--text);font:inherit;font-size:var(--fs-label);font-weight:500;font-stretch:112%;letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer}.menu-toggle__icon{width:1.5rem;height:7px;border-block:1px solid currentColor;transition:transform var(--dur) var(--ease-out),height var(--dur) var(--ease-out)}.menu-toggle[aria-expanded=true] .menu-toggle__icon{height:1px;border-bottom:0;transform:scaleX(.6)}.site-nav{position:fixed;inset:0;display:flex;align-items:flex-end;padding:calc(var(--header-h) + 2rem) var(--margin) 3rem;background:var(--ink);visibility:hidden;opacity:0;transition:opacity var(--dur) var(--ease-out),visibility 0s linear var(--dur)}.site-header.is-open .site-nav{visibility:visible;opacity:1;transition:opacity var(--dur) var(--ease-out)}.site-header.is-open{background:transparent;backdrop-filter:none;transform:none}.site-nav__list{flex-direction:column;gap:.25rem;width:100%}.site-nav__link{font-family:var(--font-display);font-size:clamp(2.75rem,12vw,4rem);letter-spacing:-.01em;text-transform:none;font-stretch:100%;color:var(--text);line-height:1.1;align-items:baseline;gap:1rem}.site-nav__index{font-family:var(--font-sans);font-size:var(--fs-label);letter-spacing:var(--tracking-label)}}.site-footer{border-top:1px solid var(--rule);padding-block:2.5rem;font-size:var(--fs-small);color:var(--text-faint)}.site-footer__inner{display:grid;gap:1.5rem;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter);align-items:end}.site-footer__mark{grid-column:span 3;color:var(--text);font-size:.75rem;font-weight:560;font-stretch:125%;letter-spacing:.32em}.site-footer__note{grid-column:4 / span 6;line-height:1.5}.site-footer__meta{grid-column:10 / -1;display:flex;justify-content:space-between;gap:1rem}.credits{grid-column:1 / -1;border-top:1px solid var(--rule);padding-top:1.25rem}.credits summary{cursor:pointer;width:fit-content;list-style:none;padding-block:.25rem;color:var(--text-muted)}.credits summary::-webkit-details-marker{display:none}.credits summary:after{content:" +"}.credits[open] summary:after{content:" −"}.credits summary:hover{color:var(--text)}.credits__list{margin-top:1rem;columns:2 22rem;column-gap:var(--gutter);font-size:.8125rem;line-height:1.5}.credits__list li{break-inside:avoid;margin-bottom:.6rem}@media(max-width:899px){.site-footer__mark,.site-footer__note,.site-footer__meta{grid-column:1 / -1}}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;overflow:hidden;isolation:isolate}.hero__media{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--anthracite)}.hero__media-inner{position:absolute;inset:0;will-change:transform}.hero__img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero__shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgb(11 11 10 / .55),transparent 22%),linear-gradient(to top,rgb(11 11 10 / .88) 4%,rgb(11 11 10 / .25) 46%,transparent 70%)}.hero__inner{width:100%;max-width:var(--max-width);margin-inline:auto;padding:calc(var(--header-h) + 1.5rem) var(--margin) 2rem;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));grid-template-rows:auto 1fr auto auto auto;column-gap:var(--gutter)}.hero__kicker{grid-column:1 / span 6;grid-row:1;display:flex;gap:1rem;color:var(--text-muted)}.hero__kicker span{color:var(--text)}.hero__meta{grid-column:9 / -1;grid-row:1;display:flex;justify-content:flex-end;gap:clamp(1.5rem,3vw,3rem);font-size:var(--fs-small);color:var(--text-muted)}.hero__meta dt{margin-bottom:.25rem}.hero__meta em{font-style:normal;color:var(--text-faint)}.hero__title{grid-column:1 / -1;grid-row:3 / span 2;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;font-size:clamp(5rem,1rem + 17vw,21rem);line-height:.8;letter-spacing:-.035em;text-wrap:nowrap}.hero__line{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}.hero__line>span{display:inline-block;will-change:transform}.hero__line--1{grid-column:1 / -1;grid-row:1;margin-left:-.04em}.hero__line--2{grid-column:5 / -1;grid-row:2;font-style:italic}.hero__tagline{grid-column:1 / span 4;grid-row:4;align-self:end;max-width:22rem;padding-bottom:1.6em;font-size:var(--fs-body);line-height:1.45;color:var(--text-muted)}.hero__scroll{grid-column:1 / span 3;grid-row:5;margin-top:clamp(1.5rem,4vh,3rem);display:inline-flex;align-items:center;gap:1rem;justify-self:start;padding-block:.5rem}.hero__scroll .label{color:var(--text)}.hero__scroll-line{position:relative;width:4rem;height:1px;background:var(--rule);overflow:hidden}.hero__scroll-line:after{content:"";position:absolute;inset:0;background:var(--bone);transform-origin:0 50%;animation:hero-scroll 2.4s var(--ease-in-out) infinite}@keyframes hero-scroll{0%{transform:scaleX(0);transform-origin:0 50%}45%{transform:scaleX(1);transform-origin:0 50%}55%{transform:scaleX(1);transform-origin:100% 50%}to{transform:scaleX(0);transform-origin:100% 50%}}@media(prefers-reduced-motion:reduce){.hero__scroll-line:after{animation:none}}.hero__caption{position:absolute;right:var(--margin);bottom:2.6rem;max-width:18rem;text-align:right}.is-loading [data-hero-word]{transform:translateY(105%)}.is-loading [data-hero-fade]{opacity:0}.is-loading [data-hero-media]{clip-path:inset(12% 8% 12% 8%)}@media(max-width:899px){.hero__meta{display:none}.hero__kicker{grid-column:1 / -1}.hero__title{font-size:clamp(4.25rem,24vw,12rem)}.hero__line--2{grid-column:3 / -1}.hero__tagline{grid-column:1 / -1;grid-row:5;padding:1.5rem 0 0}.hero__scroll{grid-row:6}.hero__caption{display:none}}.manifesto{position:relative}.manifesto .container{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter)}.manifesto .section-label{grid-column:1 / -1}.manifesto__lead{grid-column:3 / span 9;font-family:var(--font-display);font-size:var(--fs-lead);line-height:1.18;letter-spacing:-.01em;text-indent:18%}.manifesto__lead .word{color:var(--text);text-indent:0}.manifesto__statement{grid-column:1 / -1;margin-top:clamp(6rem,3rem + 10vw,12rem);padding-top:2rem;border-top:1px solid var(--rule);font-family:var(--font-display);font-size:clamp(3rem,1rem + 8.4vw,10.5rem);line-height:.92;letter-spacing:-.03em}.manifesto__line{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.1em}.manifesto__line--em{padding-left:25%;color:var(--accent)}.manifesto__pillars{grid-column:1 / -1;margin-top:clamp(4rem,2rem + 6vw,8rem);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}.pillar{padding-top:1.25rem;border-top:1px solid var(--rule)}.pillar__index{display:block;margin-bottom:2.5rem}.pillar__title{font-size:var(--fs-h3);margin-bottom:.75rem}.pillar__text{color:var(--text-muted);font-size:var(--fs-small);max-width:18rem;line-height:1.6}@media(max-width:899px){.manifesto__lead{grid-column:1 / -1;text-indent:12%}.manifesto__line--em{padding-left:12%}.manifesto__pillars{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3rem}}@media(max-width:479px){.manifesto__pillars{grid-template-columns:1fr}.pillar__index{margin-bottom:1.25rem}}.story{position:relative;background:var(--charcoal);padding-top:var(--section-space)}.story__intro{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter);align-items:end;padding-bottom:clamp(3rem,2rem + 4vw,6rem)}.story__intro .section-label{grid-column:1 / -1}.story__title{grid-column:1 / span 8;font-size:var(--fs-h2)}.story__meta{grid-column:9 / -1;justify-self:end;text-align:right}.story__lede{grid-column:9 / -1;justify-self:end;text-align:right;max-width:18rem;margin-top:1rem;font-family:var(--font-display);font-size:1.5rem;line-height:1.2;color:var(--text-muted)}.story__stage{width:100%;max-width:var(--max-width);margin-inline:auto;padding:0 var(--margin) var(--section-space);display:grid;gap:clamp(4rem,2rem + 8vw,9rem)}.story__step{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter);row-gap:2rem;align-items:end}.story__figure{grid-column:1 / span 8}.story__step:nth-of-type(2n) .story__figure{grid-column:5 / -1;grid-row:1}.story__step:nth-of-type(2n) .story__text{grid-column:1 / span 4;grid-row:1}.story__image{position:relative;overflow:hidden;aspect-ratio:3 / 2;background:var(--anthracite)}.story__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story__beam{position:absolute;inset:-20% -10%;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(105deg,transparent 35%,rgb(255 244 222 / .55) 48%,transparent 60%);opacity:0}.story__caption{display:flex;gap:1rem;margin-top:1rem}.story__caption span{color:var(--text)}.story__text{grid-column:9 / -1;padding-bottom:2.5rem}.story__number{font-family:var(--font-display);font-size:clamp(4rem,2rem + 6vw,8rem);line-height:.8;color:var(--accent);margin-bottom:2rem;font-variant-numeric:lining-nums}.story__number span{font-size:.25em;color:var(--text-faint);margin-left:.5rem}.story__step-title{font-size:clamp(2.5rem,1.6rem + 3vw,4.75rem);margin-bottom:1.5rem}.story__body{color:var(--text-muted);max-width:26rem}.story__progress{display:none}@media(max-width:899px){.story__title,.story__meta,.story__lede{grid-column:1 / -1;justify-self:start;text-align:left}.story__meta{margin-top:1.5rem}.story__figure,.story__text,.story__step:nth-of-type(2n) .story__figure,.story__step:nth-of-type(2n) .story__text{grid-column:1 / -1;grid-row:auto}.story__image{aspect-ratio:4 / 5}.story__text{padding-bottom:0}.story__number{font-size:3.5rem;margin-bottom:1.25rem}}.story--pinned .story__stage{position:relative;display:block;max-width:none;height:100vh;padding:0;overflow:hidden}.story--pinned .story__step{position:absolute;inset:0;max-width:var(--max-width);margin-inline:auto;padding:calc(var(--header-h) + 1rem) var(--margin) 2rem;align-items:center;pointer-events:none}.story--pinned .story__figure,.story--pinned .story__step:nth-of-type(2n) .story__figure{grid-column:1 / span 8;grid-row:1;height:100%;display:grid;grid-template-rows:1fr auto}.story--pinned .story__image{aspect-ratio:auto;height:100%}.story--pinned .story__img{will-change:transform}.story--pinned .story__text,.story--pinned .story__step:nth-of-type(2n) .story__text{grid-column:9 / -1;grid-row:1;padding:0 0 4rem;align-self:center}.story--pinned .story__caption{background:var(--charcoal);margin-top:0;padding-top:1rem}.story--pinned .story__progress{position:absolute;z-index:5;right:max(var(--margin),calc((100vw - var(--max-width)) / 2 + var(--margin)));bottom:2.25rem;width:calc((min(100vw,var(--max-width)) - 2 * var(--margin)) * 4 / 12);display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.story__tick{display:grid;gap:.6rem}.story__tick-label{font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-stretch:112%;color:var(--text-faint)}.story__tick-bar{display:block;height:1px;background:var(--rule);overflow:hidden}.story__tick-bar span{display:block;height:100%;background:var(--bone);transform:scaleX(0);transform-origin:0 50%}.projects__head{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter);align-items:end;margin-bottom:clamp(4rem,2rem + 6vw,9rem)}.projects__head .section-label{grid-column:1 / -1}.projects__title{grid-column:1 / span 8;font-size:var(--fs-h2)}.projects__note{grid-column:9 / -1;justify-self:end;text-align:right;max-width:20rem}.projects__list{display:grid;gap:clamp(7rem,3rem + 12vw,15rem)}.project{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--margin);display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter);position:relative}.project__media,.project__detail{position:relative;overflow:hidden;background:var(--anthracite)}.project__frame{position:absolute;inset:-8% 0;will-change:transform}.project__img{width:100%;height:100%;object-fit:cover;transform:scale(1.001);transition:transform 1.4s var(--ease-out),filter 1.4s var(--ease-out);filter:brightness(.92)}.project__media:hover .project__img,.project__detail:hover .project__img{transform:scale(1.045);filter:brightness(1)}.project__number{font-family:var(--font-display);font-size:clamp(1rem,.8rem + .6vw,1.375rem);color:var(--accent);margin-bottom:1rem;transition:color var(--dur) var(--ease-out)}.project__name{font-size:clamp(2.5rem,1.4rem + 3.6vw,5.5rem);margin-bottom:2rem}.project__meta{display:grid;gap:.75rem;padding-block:1.25rem;border-block:1px solid var(--rule);margin-bottom:1.5rem;font-size:var(--fs-small)}.project__meta div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;align-items:baseline}.project__text{color:var(--text-muted);max-width:30rem}.project__caption{grid-column:1 / -1;margin-top:.9rem}.project--panorama .project__media{grid-column:1 / -1;aspect-ratio:21 / 9;margin-inline:calc(var(--margin) * -1)}.project--panorama .project__body{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;margin-top:2.5rem;align-items:start}.project--panorama .project__number{grid-column:1 / span 1}.project--panorama .project__name{grid-column:2 / span 6}.project--panorama .project__meta{grid-column:8 / -1;grid-row:1 / span 2}.project--panorama .project__text{grid-column:8 / -1}.project--offset .project__media{grid-column:7 / -1;grid-row:1 / span 2;aspect-ratio:4 / 5}.project--offset .project__detail{grid-column:4 / span 3;grid-row:2;align-self:end;aspect-ratio:9 / 11;margin-right:calc(var(--gutter) * -1 - 12%);margin-bottom:-34%;z-index:2;outline:clamp(.5rem,1vw,1rem) solid var(--ink)}.project--offset .project__body{grid-column:1 / span 5;grid-row:1;padding-top:4%}.project--column .project__media{grid-column:2 / span 6;grid-row:1;aspect-ratio:4 / 5}.project--column .project__vertical{grid-column:1;grid-row:1;writing-mode:vertical-rl;transform:rotate(180deg);justify-self:start;align-self:end}.project--column .project__body{grid-column:9 / -1;grid-row:1;align-self:end}@media(max-width:899px){.projects__title,.projects__note{grid-column:1 / -1;justify-self:start;text-align:left}.projects__note{margin-top:1.5rem}.project>*{grid-column:1 / -1!important;grid-row:auto!important}.project__body,.project--panorama .project__body{display:block;margin-top:2rem;padding-top:0}.project--panorama .project__media{aspect-ratio:4 / 3}.project--offset .project__detail{width:55%;justify-self:end;margin:-22% 0 0;order:2}.project--offset .project__body{order:3}.project--column .project__vertical{display:none}}.details{position:relative;overflow:hidden;background:var(--charcoal)}.details__backdrop{position:absolute;top:clamp(4rem,10vw,9rem);left:0;font-family:var(--font-display);font-style:italic;font-size:clamp(9rem,30vw,34rem);line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--bone) 9%,transparent);pointer-events:none;user-select:none;will-change:transform}.details__head{position:relative;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter);margin-bottom:clamp(4rem,2rem + 6vw,8rem)}.details__head .section-label{grid-column:1 / -1}.details__title{grid-column:1 / span 6;font-size:var(--fs-h2)}.details__text{grid-column:8 / span 4;align-self:end;color:var(--text-muted)}.details__grid{position:relative;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter);row-gap:clamp(3rem,2rem + 4vw,6rem);align-items:start}.detail__frame{position:relative;overflow:hidden;background:var(--anthracite)}.detail__img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}.detail:hover .detail__img{transform:scale(1.05)}.detail__caption{display:grid;grid-template-columns:4.5rem 1fr;gap:.75rem;margin-top:.9rem;font-size:var(--fs-small);line-height:1.45;color:var(--text-muted)}.detail__caption .label{color:var(--text);padding-top:.15em}.detail--1{grid-column:1 / span 4}.detail--1 .detail__frame{aspect-ratio:4 / 5}.detail--2{grid-column:6 / span 5;margin-top:30%}.detail--2 .detail__frame{aspect-ratio:4 / 3}.detail--3{grid-column:2 / span 3;margin-top:-4%}.detail--3 .detail__frame{aspect-ratio:1}.detail--4{grid-column:9 / span 3;margin-top:18%}.detail--4 .detail__frame{aspect-ratio:2 / 3}.detail--5{grid-column:4 / span 6}.detail--5 .detail__frame{aspect-ratio:16 / 10}@media(max-width:899px){.details__title,.details__text{grid-column:1 / -1}.details__text{margin-top:1.5rem}.details__grid{row-gap:2.5rem}.detail--1{grid-column:1 / span 7}.detail--2{grid-column:4 / -1;margin-top:0}.detail--3{grid-column:1 / span 6;margin-top:0}.detail--4{grid-column:7 / -1;margin-top:30%}.detail--5{grid-column:1 / -1}.detail__caption{grid-template-columns:1fr;gap:.25rem}}.process__grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter)}.process__aside{grid-column:1 / span 5;position:sticky;top:calc(var(--header-h) + 2rem);align-self:start}.process__title{font-size:clamp(2.5rem,1.5rem + 3.4vw,5rem);max-width:10em}.process__track{margin-top:3rem;width:1px;height:clamp(6rem,20vh,12rem);background:var(--rule);overflow:hidden}.process__track span{display:block;width:100%;height:100%;background:var(--accent);transform-origin:50% 0}.js .process--animated .process__track span{transform:scaleY(0)}.process__list{grid-column:7 / -1;counter-reset:step}.process__step{display:grid;grid-template-columns:minmax(4rem,1fr) 4fr;gap:var(--gutter);padding-block:clamp(2.5rem,1.5rem + 3vw,4.5rem);border-top:1px solid var(--rule);transition:opacity var(--dur) var(--ease-out)}.process__step:last-child{border-bottom:1px solid var(--rule)}.process__number{font-family:var(--font-display);font-size:clamp(3rem,2rem + 3vw,5rem);line-height:.85;color:var(--text-faint);transition:color var(--dur) var(--ease-out)}.process__step-title{font-size:var(--fs-h3);margin-bottom:1rem}.process__text{color:var(--text-muted);max-width:30rem}.process__duration{margin-top:1.5rem;color:var(--accent)}.process--animated .process__step{opacity:.38}.process--animated .process__step.is-active{opacity:1}.process__step.is-active .process__number{color:var(--bone)}@media(max-width:899px){.process__aside{position:static;grid-column:1 / -1;margin-bottom:3rem}.process__track{display:none}.process__list{grid-column:1 / -1}.process--animated .process__step{opacity:1}}.contact{padding-bottom:clamp(4rem,2rem + 6vw,8rem)}.contact__title{font-size:clamp(3.5rem,1rem + 11vw,13.5rem);line-height:.86;letter-spacing:-.035em;margin-bottom:clamp(3rem,2rem + 5vw,7rem)}.contact__line{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.08em}.contact__line--em{padding-left:16.6%;color:var(--accent)}.contact__grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));column-gap:var(--gutter);row-gap:3rem;padding-top:2.5rem;border-top:1px solid var(--rule)}.contact__lead{grid-column:1 / span 5}.contact__text{font-family:var(--font-display);font-size:clamp(1.5rem,1.2rem + 1vw,2.125rem);line-height:1.2;margin-bottom:2.5rem;max-width:24rem}.contact__demo{margin-top:1rem;max-width:24rem;text-transform:none;letter-spacing:.02em;font-size:.8125rem}.contact__info{grid-column:7 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem var(--gutter);font-size:var(--fs-body)}.contact__info dt{margin-bottom:.6rem}.contact__info dd{color:var(--text-muted);overflow-wrap:anywhere}.contact__info dd a{color:var(--text)}@media(max-width:899px){.contact__lead,.contact__info{grid-column:1 / -1}}@media(max-width:479px){.contact__info{grid-template-columns:1fr;gap:1.75rem}.contact__line--em{padding-left:0}}
