@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(./instrument-sans-latin-ext-standard-normal-C5E2Gvlv.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(./instrument-sans-latin-standard-normal-BVScPF0l.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(./instrument-sans-latin-ext-standard-italic-Bgl-Q8lL.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(./instrument-sans-latin-standard-italic-Dc9nmmPR.woff2)format("woff2-variations");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:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(./instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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}@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink:#eee9de;--color-ink-raised:#e3ded3;--color-paper:#171713;--color-paper-muted:#6d6961;--color-line:#17171333;--color-line-strong:#1717139e;--color-accent:#0d0d0b;--color-chrome:#eee9deeb;--color-shadow:#36302529;--font-display:"Instrument Sans Variable", "Helvetica Neue", sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-mono:"IBM Plex Mono", monospace;--color-surface-canvas:var(--color-ink);--color-surface-raised:var(--color-ink-raised);--color-text-primary:var(--color-paper);--color-text-muted:var(--color-paper-muted);--color-border-subtle:var(--color-line);--color-border-strong:var(--color-line-strong);--color-text-on-media:#f4f4f0;--color-text-on-media-muted:#f4f4f0b8;--color-text-on-media-subtle:#f4f4f06b;--type-size-display:clamp(2rem, 4vw, 4.6rem);--type-size-section-title:clamp(2.4rem, 5.5vw, 6.5rem);--type-size-body:clamp(1rem, 1.25vw, 1.125rem);--type-size-lead:clamp(1.25rem, 1.65vw, 1.5rem);--type-size-meta:.7rem;--type-size-control-compact:.6875rem;--type-size-caption:.625rem;--type-leading-body:1.5;--type-leading-lead:1.38;--type-leading-title:.94;--type-tracking-body:-.01em;--type-tracking-lead:-.02em;--type-tracking-title:-.025em;--type-tracking-meta:.055em;--type-font-meta:500 var(--type-size-meta) / 1.45 var(--font-mono);--type-font-control:500 var(--type-size-meta) / 1.2 var(--font-mono);--type-font-control-compact:500 var(--type-size-control-compact) / 1.3 var(--font-mono);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--measure-title:12ch;--measure-intro:44ch;--measure-body:68ch;--section-padding-start:clamp(1rem, 4vh, 3rem);--page-gutter:clamp(1rem, 2.4vw, 2.5rem);--transition-fast:.18s cubic-bezier(.2, .8, .2, 1);--transition-main:.52s cubic-bezier(.16, 1, .3, 1);--transition-dossier:.7s cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#0a0a09;--color-ink-raised:#131311;--color-paper:#e9e9e5;--color-paper-muted:#9d9d99;--color-line:#e9e9e533;--color-line-strong:#e9e9e59e;--color-accent:#fffefa;--color-chrome:#0a0a09eb;--color-shadow:#00000052}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#0a0a09;--color-ink-raised:#131311;--color-paper:#e9e9e5;--color-paper-muted:#9d9d99;--color-line:#e9e9e533;--color-line-strong:#e9e9e59e;--color-accent:#fffefa;--color-chrome:#0a0a09eb;--color-shadow:#00000052}}}@layer reset{*,:before,:after{box-sizing:border-box}html{background:var(--color-surface-canvas)}body{background:var(--color-surface-canvas);min-width:320px;min-height:100dvh;color:var(--color-text-primary);font-family:var(--font-display);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-weight:400;font-stretch:100%}button,a{color:inherit}button{font:inherit;background:0 0;border:0;padding:0}a{text-decoration:none}p,h1,h2,h3{margin:0}button:not(:disabled),a{cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}::selection{background:var(--color-accent);color:var(--color-ink)}}@layer base{body{line-height:var(--type-leading-body)}:where(p){line-height:inherit;overflow-wrap:break-word;text-wrap:pretty}:where(h1,h2,h3){text-wrap:balance}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(img,picture,video,canvas,svg){max-width:100%;display:block}}@layer compositions{.section-heading{align-self:start;gap:var(--space-5);display:grid}.section-heading--primary{padding-top:var(--section-padding-start)}.section-heading--primary>h1{max-width:var(--measure-title);font-size:var(--type-size-display);letter-spacing:var(--type-tracking-title);font-weight:440;font-stretch:100%;line-height:var(--type-leading-title)}.section-heading--information>h2{max-width:var(--measure-title);font-size:var(--type-size-section-title);letter-spacing:-.03em;font-weight:440;font-stretch:100%;line-height:.92}.section-heading>p{max-width:var(--measure-intro);color:var(--color-text-muted);font-size:var(--type-size-body);letter-spacing:var(--type-tracking-body);line-height:var(--type-leading-body)}.prose{gap:var(--space-5);max-width:var(--measure-body);font-size:var(--type-size-body);letter-spacing:var(--type-tracking-body);line-height:var(--type-leading-body);display:grid}.prose>*{margin:0}.prose--intro>p:first-child{max-width:var(--measure-intro);font-size:var(--type-size-lead);letter-spacing:var(--type-tracking-lead);line-height:var(--type-leading-lead)}.meta-text{font:var(--type-font-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.control-text{font:var(--type-font-control);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.text-action{color:var(--color-accent);font:var(--type-font-control-compact);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.text-action:hover{text-underline-offset:.25em;text-decoration:underline}.ui-arrow{font-family:var(--font-mono);font-style:normal;font-weight:inherit;font-variant-emoji:text;-webkit-user-select:none;user-select:none;line-height:1;text-decoration:none;display:inline-block}.ui-arrow--redirect{transform:rotate(45deg)}.ui-arrow--left{transform:rotate(-90deg)}.ui-arrow--right,.ui-arrow--command{transform:rotate(90deg)}}@layer components{.site-shell{height:100dvh;min-height:0;padding:1.25rem var(--page-gutter) 1.5rem;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(1rem,2.2vh,1.75rem);display:grid;overflow:hidden}.masthead{z-index:2;font:500 .7rem/1 var(--font-mono);letter-spacing:.075em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:.9rem;display:grid;position:relative}.identity{align-items:center;gap:.65rem;width:fit-content;display:inline-flex}.identity__mark{flex:none;width:.75rem;height:.5rem;display:inline-block;position:relative}.identity__mark-image{width:2rem;max-width:none;height:2rem;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.identity__mark-image--dark,:root[data-theme=dark] .identity__mark-image--light{display:none}:root[data-theme=dark] .identity__mark-image--dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .identity__mark-image--light{display:none}:root:not([data-theme]) .identity__mark-image--dark{display:block}}.masthead__role{color:var(--color-text-muted);text-align:center}.masthead__profession{white-space:nowrap}.masthead__actions{justify-self:end;align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);display:flex}.theme-toggle{text-align:right;white-space:nowrap;min-width:9ch}.theme-toggle:hover{text-underline-offset:.25em;text-decoration:underline}.stage{min-height:0;display:grid}.projects-panel{grid-template-columns:minmax(13rem,.72fr) minmax(0,2fr);gap:clamp(1.5rem,3vw,3.5rem);min-height:0;display:grid}.scroll-area{--scroll-area-size:.55rem;--scroll-area-shadow-size:clamp(1.5rem, 4vw, 3.5rem);--scroll-area-surface:var(--color-surface-canvas);min-width:0;min-height:0;position:relative}.scroll-area__viewport{min-width:0;min-height:0}@supports not selector(::-webkit-scrollbar){.scroll-area__viewport{scrollbar-color:currentColor transparent;scrollbar-width:thin}}.scroll-area[data-axis=horizontal]>.scroll-area__viewport{overscroll-behavior-inline:contain;overflow:auto hidden}.scroll-area[data-axis=vertical]>.scroll-area__viewport{overscroll-behavior-block:contain;height:100%;overflow:hidden auto}.scroll-area__viewport::-webkit-scrollbar{height:var(--scroll-area-size);width:var(--scroll-area-size)}.scroll-area__viewport::-webkit-scrollbar-track{background:0 0}.scroll-area__viewport::-webkit-scrollbar-corner{background:0 0}.scroll-area__viewport::-webkit-scrollbar-thumb{background:currentColor;border:0;border-radius:0}.scroll-area__viewport::-webkit-scrollbar-button{display:none}.scroll-area:before,.scroll-area:after{z-index:2;content:"";opacity:0;pointer-events:none;transition:opacity var(--transition-fast);position:absolute}.scroll-area--no-shadow:before,.scroll-area--no-shadow:after{display:none}.scroll-area[data-axis=horizontal]:before,.scroll-area[data-axis=horizontal]:after{top:0;bottom:var(--scroll-area-size);width:var(--scroll-area-shadow-size)}.scroll-area[data-axis=horizontal]:before{background:linear-gradient(90deg, var(--scroll-area-surface) 0%, color-mix(in srgb, var(--scroll-area-surface) 78%, transparent) 42%, transparent 100%);left:0}.scroll-area[data-axis=horizontal]:after{background:linear-gradient(270deg, var(--scroll-area-surface) 0%, color-mix(in srgb, var(--scroll-area-surface) 78%, transparent) 42%, transparent 100%);right:0}.scroll-area[data-axis=vertical]:before,.scroll-area[data-axis=vertical]:after{right:var(--scroll-area-size);height:var(--scroll-area-shadow-size);left:0}.scroll-area[data-axis=vertical]:before{background:linear-gradient(180deg, var(--scroll-area-surface) 0%, color-mix(in srgb, var(--scroll-area-surface) 78%, transparent) 42%, transparent 100%);top:0}.scroll-area[data-axis=vertical]:after{background:linear-gradient(0deg, var(--scroll-area-surface) 0%, color-mix(in srgb, var(--scroll-area-surface) 78%, transparent) 42%, transparent 100%);bottom:0}.scroll-area[data-scroll-start]:before,.scroll-area[data-scroll-end]:after{opacity:1}.content-panel[hidden]{display:none}.information-panel{grid-template-columns:minmax(15rem,.72fr) minmax(0,2fr);gap:clamp(2rem,5vw,6rem);min-height:0;padding-top:clamp(1rem,4vh,3rem)}.information-panel.is-current{animation:.42s cubic-bezier(.16,1,.3,1) both panel-in;display:grid}.career-panel>.scroll-area{align-self:stretch;width:100%;height:100%;overflow:hidden}.career-panel>.scroll-area>.scroll-area__viewport{display:grid}.career-record{place-self:center;width:min(100%,60rem)}.career-record__header{border-top:1px solid var(--color-border-strong);justify-content:space-between;gap:1rem;padding-block:.75rem;display:flex}.career-record__list{margin:0;padding:0;list-style:none}.career-entry{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(7rem,.42fr) minmax(0,1.58fr);gap:clamp(1rem,2vw,2rem);padding:clamp(1rem,2.2vh,1.5rem) 0;display:grid}.career-entry__period{color:var(--color-text-muted);padding-top:.24rem}.career-entry__body h3{letter-spacing:-.012em;font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:440}.career-entry__context{color:var(--color-text-muted);margin-top:.35rem}.career-entry__description{max-width:52ch;margin-top:.85rem;font-size:clamp(.95rem,1.15vw,1.1rem);line-height:1.45}.career-entry__meta{grid-template-columns:minmax(5.5rem,.28fr) minmax(0,1fr);gap:1rem;margin-top:.9rem;display:grid}.career-entry__meta>p:first-child,.career-record__practice>p:first-child{color:var(--color-text-muted)}.evidence-links{color:var(--color-accent);justify-items:start;gap:.45rem;display:grid}.career-record__practice{grid-template-columns:minmax(7rem,.42fr) minmax(0,1.58fr);gap:clamp(1rem,2vw,2rem);padding-top:.85rem;display:grid}.career-capabilities{flex-wrap:wrap;gap:.35rem 0;display:flex}.career-capabilities span:not(:last-child):after{content:"/";color:var(--color-text-muted);margin-inline:.55rem}.evidence-links a:hover{text-underline-offset:.25em;text-decoration:underline}.about-panel{isolation:isolate;color:var(--color-text-on-media);grid-template-columns:minmax(15rem,.8fr) minmax(18rem,.7fr);position:relative}.about-panel.is-current{animation-name:about-panel-in}.about-panel__media{z-index:-2;background:#000;position:fixed;inset:0;overflow:hidden}.about-panel__media:after{content:"";background:linear-gradient(#00000080,#0000 22% 76%,#00000094),linear-gradient(90deg,#000000d1 0%,#00000094 34%,#00000014 50%,#000000ad 62%,#000000e6 100%);position:absolute;inset:0}.about-panel__media img,.about-panel__media video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--transition-fast);position:absolute;inset:0}.about-panel__media[data-fish-state=video] video,.about-panel__media[data-fish-state=image] img{opacity:1}.about-panel .section-heading,.about-panel>.scroll-area,.about-panel__controls{z-index:1;position:relative}.about-panel>.scroll-area{--scroll-area-surface:#000;grid-column:2;place-self:stretch end;width:min(100%,48rem);height:100%;overflow:hidden}.about-panel>.scroll-area>.scroll-area__viewport{display:grid}.about-panel__copy{width:100%;padding-bottom:clamp(3.5rem,7vh,4.5rem)}.about-panel__controls{right:var(--page-gutter);bottom:calc(1.5rem + 2.625rem + var(--space-4));left:var(--page-gutter);pointer-events:none;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex;position:fixed}.about-panel__caption,.about-panel__play{color:var(--color-text-on-media-muted);font:var(--type-font-control-compact);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.about-panel__caption{flex-wrap:wrap;flex:auto;gap:.35rem 0;min-width:0;max-width:min(23rem,60vw);display:flex}.about-panel__caption span:not(:last-child):after{content:"/";color:var(--color-text-on-media-subtle);margin-inline:.55rem}.about-panel__play{pointer-events:auto;flex:none}.about-panel__play:hover{color:var(--color-text-on-media);text-underline-offset:.25em;text-decoration:underline}.site-shell.is-about-current .masthead{color:var(--color-text-on-media)}.site-shell.is-about-current .masthead__role{color:#f4f4f0a3}.site-shell.is-about-current .identity__mark{color:var(--color-text-on-media)}.site-shell.is-about-current .identity__mark-image--light{display:none}.site-shell.is-about-current .identity__mark-image--dark{display:block}.contact-panel__body{place-self:end;gap:clamp(var(--space-6), 4vh, var(--space-10));width:min(100%,48rem);display:grid}.about-panel__copy{align-self:end}.contact-panel__intro{letter-spacing:-.035em;max-width:34ch;font-size:clamp(1.2rem,2.2vw,2rem);line-height:1.15}.contact-panel__primary{gap:var(--space-3);display:grid}.contact-panel__address{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-strong);display:flex}.contact-panel__email{letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0;font-size:clamp(1rem,1.8vw,1.45rem)}.contact-panel__copy,.contact-panel__channels{font:var(--type-font-control-compact);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.contact-panel__copy{flex:none}.contact-panel__copy:hover,.contact-panel__email:hover,.contact-panel__channels a:hover{text-underline-offset:.25em;text-decoration:underline}.contact-panel__send{justify-self:start}.contact-panel__status{min-height:1.45em;color:var(--color-text-muted)}.contact-panel__channels{gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}@keyframes project-folio-open{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:none}}@keyframes project-sheet-open{0%{clip-path:inset(0 100% 0 0);opacity:0;transform:translate(-.45rem)}to{clip-path:inset(0);opacity:1;transform:none}}@keyframes project-sheet-open-mobile{0%{clip-path:inset(0 0 100%);opacity:0;transform:translateY(.35rem)}to{clip-path:inset(0);opacity:1;transform:none}}.project-page__header{min-height:3.4rem;padding:0 var(--page-gutter);border-bottom:1px solid var(--color-border-subtle);font:500 .68rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.project-page__header nav,.project-page__controls,.project-page__actions{align-items:center;gap:1.3rem;display:flex}.project-page a:hover{text-underline-offset:.25em;text-decoration:underline}.project-content{--project-tone:var(--color-border-strong);--project-tone-visible:color-mix(in srgb, var(--project-tone) 72%, var(--color-text-primary));grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(16rem,.72fr) minmax(0,2.28fr);min-height:100%;display:grid}.project-content__mobile-heading{display:none}.project-content__dossier{min-width:0;padding:clamp(1.5rem, 3.2vw, 3.25rem) var(--page-gutter) clamp(1.5rem, 3.2vw, 3.25rem);border-right:1px solid var(--color-border-subtle);border-bottom:.3rem solid var(--project-tone);border-bottom-color:var(--project-tone-visible);background:var(--color-surface-raised);color:var(--color-text-primary);grid-row:1/-1}.project-content--page .project-content__dossier{animation:.36s cubic-bezier(.16,1,.3,1) both project-folio-open}.project-content__identity{grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(1.25rem,3vh,2.5rem);height:100%;min-height:0;display:grid}.project-content__coordinate{justify-content:space-between;display:flex}.project-content__edition-mark{min-height:0;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.015em;white-space:nowrap;align-content:center;justify-items:center;gap:clamp(.35rem,.9vh,.75rem);font-size:clamp(1rem,1.8vw,1.8rem);font-weight:500;line-height:1;display:grid;overflow:hidden}.project-content__folio-caption{gap:.65rem;display:grid}.project-content__folio-caption h2{overflow-wrap:anywhere;max-width:100%;font:500 clamp(1rem, 1.35vw, 1.3rem) / 1.15 var(--font-mono);letter-spacing:.01em;margin:0}.project-content__folio-caption p{color:var(--color-text-muted);margin:0}.project-content__story{border-bottom:1px solid var(--color-border-subtle);grid-column:2;grid-template-columns:minmax(11rem,.38fr) minmax(0,1.62fr);min-height:0;display:grid}.project-content--page .project-content__story{animation:.9s cubic-bezier(.65,0,.35,1) .22s both project-sheet-open}.project-content__story>.scroll-area[data-axis=horizontal]{border-right:1px solid var(--color-border-subtle);min-height:0}.project-content__story>.scroll-area[data-axis=vertical]{min-width:0;min-height:0;overflow:hidden}.project-content__index{grid-template-rows:repeat(6,minmax(3.5rem,1fr));width:100%;height:100%;min-height:0;display:grid}.project-content__tab{width:100%;padding:1rem var(--page-gutter);color:var(--color-text-muted);text-align:left;transition:color var(--transition-fast), background var(--transition-fast);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:clamp(.7rem,1.5vw,1.25rem);display:grid}.project-content__tab+.project-content__tab{border-top:1px solid var(--color-border-subtle)}.project-content__tab:hover,.project-content__tab.is-active{color:var(--color-text-primary)}.project-content__tab.is-active{background:color-mix(in srgb, currentColor 4%, transparent)}.project-content__tab-number{opacity:.72}.project-content__tab-marker{visibility:hidden;font-size:.65rem}.project-content__tab.is-active .project-content__tab-marker{visibility:visible}.project-content__panels{min-width:0;height:100%;min-height:100%;display:grid}.project-content__panel{min-width:0;min-height:0;padding:clamp(1.5rem, 3.5vw, 3.5rem) var(--page-gutter);font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.55}.project-content__panel.is-active{animation:.26s cubic-bezier(.16,1,.3,1) both project-panel-in}.project-content__panel[hidden]{display:none}.project-content__prose{width:min(100%, var(--measure-body));gap:1.15em;display:grid}.project-content__summary{gap:.85rem;display:grid}.project-content__summary-label{color:var(--color-text-muted);margin:0}.project-content__standfirst{border-bottom:1px solid var(--color-border-subtle);font-family:var(--font-serif);letter-spacing:.005em;padding-bottom:1em;font-size:clamp(1.3rem,1.9vw,1.7rem);font-weight:400;line-height:1.3}.project-content__prose :where(p,ul,ol,blockquote,h3){margin:0}.project-content__prose>:last-child{margin-bottom:var(--space-8)}.project-content__panel--practice{height:100%;padding:0;overflow:auto}.practice-map{--practice-map-gap:clamp(2.5rem, 5vw, 5rem);width:100%;min-height:100%;padding:clamp(1.5rem, 3.5vw, 3.5rem) var(--page-gutter);grid-template-rows:auto auto minmax(min-content,1fr);align-content:start;gap:clamp(2rem,4vh,3.5rem);display:grid}.practice-map__header{border-bottom:1px solid var(--color-border-subtle);padding-bottom:1rem}.practice-map__header p{color:var(--color-text-muted)}.practice-map__tree{gap:var(--practice-map-gap);grid-template-columns:minmax(11rem,.48fr) minmax(0,1.52fr);align-items:start;display:grid}.practice-map__root{align-content:center;gap:.65rem;min-width:0;display:grid;position:relative}.practice-map__root:after{width:var(--practice-map-gap);background:var(--color-border-strong);content:"";height:1px;position:absolute;top:50%;left:100%}.practice-map__root .meta-text{color:var(--color-text-muted)}.practice-map__root>p:last-child{max-width:28ch;font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.35}.practice-map__branches,.practice-map__technologies{margin:0;padding:0;list-style:none}.practice-map__branches{padding-block:.5rem;border-left:1px solid var(--color-border-strong);gap:clamp(1rem,2vh,1.5rem);padding-left:clamp(1.25rem,2.5vw,2rem);display:grid}.practice-map__branch{grid-template-columns:minmax(8.5rem,.42fr) minmax(0,1.58fr);align-items:start;gap:clamp(1rem,2.5vw,2rem);display:grid;position:relative}.practice-map__branch:before{background:var(--color-border-strong);content:"";width:clamp(1.25rem,2.5vw,2rem);height:1px;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.practice-map__branch:after{background:var(--color-text-primary);content:"";width:.32rem;height:.32rem;position:absolute;top:50%;right:calc(100% + clamp(1.25rem,2.5vw,2rem) - .18rem);transform:translateY(-50%)}.practice-map__capability,.practice-map__technologies{font:500 var(--type-size-caption) / 1.45 var(--font-mono);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.practice-map__capability{color:var(--color-text-muted)}.practice-map__technologies{flex-wrap:wrap;gap:.45rem .8rem;display:flex}.practice-map__technologies li{white-space:nowrap}.practice-map__footer{align-self:end;gap:clamp(1.5rem,3vh,2.5rem);width:100%;margin-top:clamp(2.5rem,6vh,6rem);display:grid}.practice-map__cover-credit,.practice-map__resource-section{gap:.85rem;min-width:0;display:grid}.practice-map__cover-credit>h3,.practice-map__resource-section>h3{color:var(--color-text-muted);pointer-events:none;margin:0}.practice-map__cover-credit-card{border:1px solid var(--color-border-strong)}.practice-map__cover-credit-row{gap:.65rem;min-width:0;min-height:clamp(5.5rem,10vh,7rem);padding:clamp(1rem,2vw,1.5rem);display:grid;position:relative}.practice-map__cover-credit-row>.meta-text{color:var(--color-text-muted);pointer-events:none}.practice-map__cover-credit-row strong{min-width:0;font:500 clamp(.9rem, 1.45vw, 1.15rem) / 1.35 var(--font-mono);letter-spacing:var(--type-tracking-meta);overflow-wrap:anywhere;margin:0}.practice-map__cover-credit-link{min-width:0;color:var(--color-text-primary);padding-right:5rem;text-decoration:none;display:block}.practice-map__cover-credit-link>span{font:var(--type-font-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;white-space:nowrap;position:absolute;top:50%;right:clamp(1rem,2vw,1.5rem);transform:translateY(-50%)}.practice-map__cover-credit-link .practice-map__resource-arrow{margin-left:.3rem}.project-page .practice-map__cover-credit-link:is(:hover,:focus-visible){color:var(--project-tone-visible);text-decoration:none}.project-page .practice-map__cover-credit-link:is(:hover,:focus-visible) strong{text-underline-offset:.25em;text-decoration:underline}.practice-map__cover-credit-link:focus-visible{outline:2px solid var(--project-tone-visible);outline-offset:.25rem}.practice-map__resources{border:1px solid var(--color-border-strong);width:100%;display:grid}.practice-map__release-link,.practice-map__provenance-link{min-width:0;min-height:clamp(5.5rem,10vh,7rem);color:var(--color-text-primary);transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:.7rem 1rem;padding:clamp(1rem,2vw,1.5rem);text-decoration:none;display:grid}.practice-map__release-link{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.practice-map__release-link strong{min-width:0;font:500 clamp(.9rem, 1.45vw, 1.15rem) / 1.35 var(--font-mono);letter-spacing:var(--type-tracking-meta);grid-column:1}.practice-map__release-action{font:var(--type-font-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;grid-area:1/2/-1;align-self:center}.practice-map__provenance{grid-template-columns:minmax(0,1.5fr) minmax(12rem,.5fr);display:grid}.practice-map__release-link+.practice-map__provenance{border-top:1px solid var(--color-border-strong)}.practice-map__provenance-link+.practice-map__provenance-link{border-left:1px solid var(--color-border-strong)}.practice-map__provenance-link:only-child{grid-column:1/-1}.practice-map__release-link .meta-text,.practice-map__provenance-link .meta-text{color:var(--color-text-muted)}.practice-map__provenance-link strong{min-width:0;font:500 clamp(.82rem, 1.25vw, 1rem) / 1.35 var(--font-mono);letter-spacing:var(--type-tracking-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-map__provenance-link--source strong{font-size:clamp(.9rem,1.45vw,1.15rem)}.practice-map__resource-arrow{font:500 1rem / 1 var(--font-mono);grid-area:1/-2/-1;align-self:center;display:inline-block;transform:rotate(45deg)}.project-page :is(.practice-map__release-link,.practice-map__provenance-link):is(:hover,:focus-visible){color:var(--project-tone-visible);background:color-mix(in srgb, var(--project-tone-visible) 9%, transparent);text-decoration:none}.project-page :is(.practice-map__release-link,.practice-map__provenance-link):is(:hover,:focus-visible) strong{text-underline-offset:.25em;text-decoration:underline}.practice-map__release-link:focus-visible,.practice-map__provenance-link:focus-visible{outline:2px solid var(--project-tone-visible);outline-offset:-2px}.project-content__prose :where(ul,ol){gap:.55em;padding-left:1.35em;display:grid}.project-content__prose ul{list-style-type:square}.project-content__prose hr{color:currentColor;text-align:center;border:0;place-items:center;width:100%;height:auto;min-height:2rem;margin:0;display:grid;overflow:visible}.project-content__prose hr:after{content:"*";font-size:1.8rem;line-height:1;display:block}.project-content__prose blockquote{color:var(--color-text-muted);border-left:1px solid;padding-left:1em}.project-content__prose h3{font-size:1em;font-weight:600}.project-content__prose a{color:var(--color-accent);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.project-content__prose a:hover{text-decoration-thickness:2px}.project-content__external-marker{font-family:var(--font-mono);white-space:nowrap;font-size:.72em;font-style:normal}.project-content__panel--gallery{height:100%;min-height:28rem;padding:0;overflow:hidden}.project-gallery{height:100%;min-height:inherit;grid-template-rows:minmax(0,1fr) auto;display:grid}.project-gallery__viewport{cursor:grab;touch-action:pan-y pinch-zoom;min-width:0;min-height:0;overflow:hidden}.project-gallery__viewport:active{cursor:grabbing}.project-gallery__track{height:100%;min-height:0;display:flex}.project-gallery__slide{flex:0 0 100%;grid-template-rows:minmax(0,1fr) auto;min-width:0;height:100%;margin:0;display:grid}.project-gallery__media{background:var(--color-surface-raised);grid-template-rows:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.project-gallery__media--noted{grid-template-rows:auto minmax(0,1fr)}.project-gallery__image-frame{place-items:center;min-height:0;padding:clamp(.85rem,2vw,1.75rem);display:grid;position:relative;overflow:hidden}.project-gallery__image{border:1px solid var(--color-border-subtle);object-fit:contain;object-position:center;width:auto;max-width:82%;height:auto;max-height:78%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-gallery__image--portrait{max-height:min(78%,34rem)}.project-gallery__caption{padding:.85rem var(--page-gutter);border-top:1px solid var(--color-border-subtle);font:400 .65rem/1.45 var(--font-mono);letter-spacing:.02em;justify-content:space-between;align-items:center;gap:.45rem clamp(1rem,2vw,2rem);display:flex}.project-gallery__label{color:var(--color-text-muted);letter-spacing:.055em;text-transform:uppercase;font-weight:500}.project-gallery__note{padding:.65rem var(--page-gutter);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-muted);font:400 .62rem/1.4 var(--font-mono);letter-spacing:.02em}.project-gallery__note span{color:var(--color-text-primary);font-weight:500}.project-gallery__controls,.project-gallery__controls>div{align-items:center;display:flex}.project-gallery__controls{min-height:2.75rem;padding:.65rem var(--page-gutter);border-top:1px solid var(--color-border-subtle);font:500 .65rem/1.2 var(--font-mono);letter-spacing:.055em;text-transform:uppercase;justify-content:space-between}.project-gallery__controls>div{gap:clamp(.9rem,1.8vw,1.6rem)}.project-gallery__controls [data-gallery-counter]{color:var(--color-accent)}.project-gallery__controls button:disabled{color:var(--color-text-muted);cursor:default}.project-image-viewer{border:1px solid var(--color-border-strong);background:var(--color-surface-canvas);width:calc(100vw - 2rem);max-width:none;height:calc(100dvh - 2rem);max-height:none;color:var(--color-text-primary);border-radius:0;padding:0;overflow:hidden}.project-image-viewer::backdrop{background:#000000e6}.project-image-viewer__frame{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.project-image-viewer__header{min-height:3rem;padding:0 var(--page-gutter);border-bottom:1px solid var(--color-border-subtle);font:500 .65rem/1 var(--font-mono);letter-spacing:.055em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.project-image-viewer__media{background:var(--color-surface-raised);min-width:0;min-height:0;padding:clamp(.75rem,2vw,1.5rem);overflow:hidden}.project-image-viewer__media>.scroll-area{--scroll-area-surface:var(--color-surface-raised);width:100%;height:100%}.project-image-viewer__media .scroll-area__viewport{place-items:safe center center;display:grid}.project-image-viewer__media img{border:1px solid var(--color-border-subtle);object-fit:contain;width:auto;max-width:100%;height:auto;display:block}.project-image-viewer__header button:hover{text-underline-offset:.25em;text-decoration:underline}.project-page{min-height:100dvh}.project-page main,.project-page .project-content{height:calc(100dvh - 3.4rem);min-height:calc(100dvh - 3.4rem)}.project-page__header{z-index:2;background:var(--color-chrome);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.project-content--page{grid-template-columns:minmax(18rem,.78fr) minmax(0,2.22fr)}.project-content--page .project-content__story{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.project-content--page .project-content__story>.scroll-area[data-axis=horizontal]{border-right:0;border-bottom:1px solid var(--color-border-subtle)}.project-content--page .project-content__index{grid-template-rows:none;grid-template-columns:repeat(6,minmax(10rem,1fr));width:max-content;min-width:100%;height:auto}.project-content--page .project-content__tab+.project-content__tab{border-top:0;border-left:1px solid var(--color-border-subtle)}@keyframes panel-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes about-panel-in{0%{opacity:0}to{opacity:1}}@keyframes project-panel-in{0%{opacity:0}to{opacity:1}}.command-bar{z-index:2;border:1px solid var(--color-border-strong);background:var(--color-chrome);box-shadow:0 .8rem 2.5rem var(--color-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:500 .68rem/1 var(--font-mono);letter-spacing:.065em;text-transform:uppercase;grid-template-columns:repeat(4,auto);justify-self:center;display:grid}.command-bar a{padding:.9rem clamp(.85rem,1.8vw,1.65rem);position:relative}.command-bar a+a{border-left:1px solid var(--color-border-subtle)}.command-bar a.is-current{background:var(--color-paper);color:var(--color-ink)}@media (width<=900px){.site-shell{overflow-x:clip}.masthead{grid-template-columns:auto minmax(0,1fr) auto}.masthead__profession{display:none}.projects-panel{scrollbar-width:none;grid-template-rows:auto auto;grid-template-columns:1fr;align-content:start;overflow:hidden auto}.projects-panel::-webkit-scrollbar{display:none}.information-panel,.about-panel{grid-template-columns:1fr}.career-panel{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.career-record{place-self:start stretch}.about-panel__copy{grid-column:1;justify-self:end}.section-heading--primary h1{max-width:16ch}}@media (width<=620px){.site-shell{height:100dvh;min-height:0;padding-bottom:5.5rem;overflow:hidden}.site-shell:has(.projects-panel.is-current){height:auto;min-height:100dvh;overflow:visible}.projects-panel{overflow:visible}.masthead__role{display:none}.masthead{grid-template-columns:minmax(0,1fr) auto}.masthead .identity{grid-column:1;min-height:2rem;line-height:1.25rem}.masthead__actions{grid-column:2;min-height:2rem}.masthead .theme-toggle{line-height:1.25rem}.about-panel,.contact-panel{grid-template-rows:auto minmax(0,1fr);gap:1.5rem;padding-top:1rem}.contact-panel__body{gap:var(--space-5)}.contact-panel__intro{font-size:clamp(1.05rem,5vw,1.35rem)}.contact-panel__body{align-self:end;width:min(100%,29rem)}.about-panel>.scroll-area{grid-column:1;justify-self:end;width:min(100%,29rem)}.about-panel__copy{align-self:safe end;padding-bottom:clamp(4rem,10vh,5rem)}.about-panel__caption{display:none}.about-panel .section-heading,.about-panel>.scroll-area,.about-panel__controls{text-shadow:0 1px 2px #000000e6,0 0 14px #000000ad}.about-panel__media:after{background:linear-gradient(#00000047,#00000047),linear-gradient(#000000bd,#0000 32% 58%,#000000d1),linear-gradient(90deg,#0000006b,#0000 75%)}.about-panel__controls{right:.75rem;bottom:calc(.75rem + 2.625rem + var(--space-4));justify-content:flex-end;left:.75rem}.projects-panel{gap:clamp(.75rem,2vh,1rem)}.section-heading--primary{padding-top:0}.section-heading--primary h1{max-width:17ch;font-size:clamp(1.75rem,9vw,2.8rem)}.career-panel .section-heading h2{max-width:14ch;font-size:clamp(2.4rem,11vw,4.6rem)}.career-entry,.career-record__practice{grid-template-columns:1fr;gap:.55rem}.career-entry__period{padding-top:0}.career-record{padding-bottom:1rem}.project-content{grid-template-rows:auto auto;grid-template-columns:1fr;height:auto;min-height:0;overflow:visible}.project-content__dossier{display:none}.project-content__mobile-heading{border-bottom:.22rem solid var(--project-tone);border-bottom-color:var(--project-tone-visible);min-height:2.75rem;font:500 .65rem/1.2 var(--font-mono);letter-spacing:.055em;text-transform:uppercase;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .75rem;display:grid}.project-content--page .project-content__mobile-heading{animation:.26s cubic-bezier(.16,1,.3,1) both project-folio-open}.project-content__mobile-heading strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.project-content__story{grid-area:2/1;grid-template-rows:auto auto;grid-template-columns:1fr;height:auto;overflow:visible}.project-content--page .project-content__story{animation:.6s cubic-bezier(.65,0,.35,1) .13s both project-sheet-open-mobile}.project-content__story>.scroll-area[data-axis=horizontal]{border-right:0;border-bottom:1px solid var(--color-border-subtle)}.project-content__index{grid-template-rows:none;grid-template-columns:repeat(6,minmax(6.5rem,1fr));width:max-content;min-width:100%;height:auto}.project-content__tab{grid-template-columns:minmax(0,1fr) auto;gap:.35rem;padding:.85rem .6rem;font-size:.62rem}.project-content__tab+.project-content__tab{border-top:0;border-left:1px solid var(--color-border-subtle)}.project-content__tab-number{display:none}.project-content__panel{min-height:0;padding:clamp(1rem,4vw,1.5rem) .75rem;font-size:clamp(.88rem,3.8vw,1rem);line-height:1.42;display:flex;overflow:visible}.project-content__prose{margin-block:0}.project-content__prose>:last-child{margin-bottom:0}.project-content__standfirst{font-size:clamp(1.05rem,4.8vw,1.3rem);line-height:1.35}.project-content__panel--practice{height:auto;padding:0;display:block;overflow:visible}.practice-map{align-content:start;gap:1.5rem;padding:1.25rem .75rem 2rem}.practice-map__header{display:block}.practice-map__tree{grid-template-columns:1fr;align-items:start;gap:1.5rem}.practice-map__root{padding-bottom:0}.practice-map__root:after{width:1px;height:1.5rem;top:100%;left:.16rem}.practice-map__branches{padding-block:.35rem;gap:1.15rem;margin-left:.16rem;padding-left:1.25rem}.practice-map__branch{grid-template-columns:1fr;gap:.45rem}.practice-map__branch:before{width:1.25rem}.practice-map__branch:after{right:calc(100% + 1.07rem)}.practice-map__cover-credit-row{min-height:5rem;padding:1rem}.practice-map__provenance{grid-template-columns:1fr}.practice-map__release-link,.practice-map__provenance-link{min-height:5rem;padding:1rem}.practice-map__release-link{grid-template-columns:minmax(0,1fr) auto}.practice-map__release-link strong{overflow-wrap:anywhere}.practice-map__release-action{display:none}.practice-map__provenance-link+.practice-map__provenance-link{border-top:1px solid var(--color-border-strong);border-left:0}.practice-map__provenance-link strong{overflow-wrap:anywhere;text-overflow:initial;white-space:normal}.project-content__panel--gallery{height:auto;min-height:0;padding:0;display:block;overflow:hidden}.project-content__story>.scroll-area[data-axis=vertical],.project-content__story>.scroll-area[data-axis=vertical]>.scroll-area__viewport{height:auto;min-height:0;overflow:visible}.project-content__panels{touch-action:pan-y pinch-zoom;height:auto;min-height:0;overflow:visible}.project-content__panels.is-swiping{position:relative;overflow:clip}.project-content__panel.is-swipe-active,.project-content__panel.is-swipe-preview,.project-content__panel.is-active.is-swipe-selected{animation:none}.project-content__panel.is-swipe-active{transform:translate3d(var(--swipe-offset), 0, 0)}.project-content__panel.is-swipe-preview{background:var(--color-surface-canvas);width:100%;min-height:100%;transform:translate3d(calc(var(--swipe-origin) + var(--swipe-offset)), 0, 0);position:absolute;top:0;left:0}.project-content__panels.is-swipe-settling .project-content__panel{transition:transform .2s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.project-content__panels.is-swipe-settling .project-content__panel{transition:none}}.project-gallery{grid-template-rows:auto auto;height:auto;min-height:0}.project-gallery__viewport{height:min(68svh,32rem);min-height:22rem}.project-gallery__track,.project-gallery__slide,.project-gallery__media{min-height:0}.project-gallery__image-frame{padding:.7rem}.project-gallery__caption{min-height:0;font-size:var(--type-size-caption);grid-template-columns:1fr;gap:.2rem;padding:.6rem .75rem;line-height:1.35}.project-gallery__image{max-width:100%;max-height:100%}.project-gallery__note,.project-gallery__controls{font-size:var(--type-size-caption);padding:.55rem .75rem}.project-gallery__controls>div{gap:.65rem}.project-image-viewer{border-left:0;border-right:0;width:100vw;height:100dvh}.project-image-viewer__header{font-size:var(--type-size-caption);padding-inline:.75rem}.project-image-viewer__media{padding:.5rem}.project-page main,.project-page .project-content{min-height:0}.project-page{height:auto;min-height:100dvh;overflow:visible}.project-page main,.project-page .project-content{height:auto}.project-page__header{padding-inline:.75rem}.project-page__header nav,.project-page__controls,.project-page__actions{gap:.7rem}.command-bar{grid-template-columns:repeat(4,1fr);position:fixed;bottom:.75rem;left:.75rem;right:.75rem}.command-bar a{text-align:center;padding-inline:.5rem}}@media (pointer:coarse){.projects-panel:focus-visible{outline:none}}@media (width<=360px){.project-page__header{flex-wrap:wrap;gap:.65rem;padding-block:.7rem}.project-page__actions{justify-content:space-between;width:100%;margin-left:auto}}@media (width<=620px) and (height<=700px){.site-shell{gap:var(--space-3);padding-top:.9rem}.masthead{padding-bottom:var(--space-2)}.projects-panel,.section-heading{gap:var(--space-2)}.section-heading--primary h1{font-size:clamp(1.65rem,7.8vw,2.2rem)}.section-heading>p{max-width:38ch;font-size:.875rem;line-height:1.35}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-content--page .project-content__dossier,.project-content--page .project-content__mobile-heading,.project-content--page .project-content__story{clip-path:none;opacity:1;transform:none;animation:none!important}}.project-archive{grid-template-columns:minmax(0,12.5rem) minmax(0,1fr);place-self:center end;gap:clamp(1rem,2vw,1.75rem);width:min(100%,53rem);min-width:0;height:min(100%,40rem);min-height:0;display:grid}.project-archive__stack{flex-direction:column;grid-area:1/1;justify-content:center;min-width:0;min-height:0;display:flex}.project-archive__explore{display:none}.project-archive__label,.project-archive__folder,.project-archive__case-tab,.project-archive__case-meta,.project-archive__case-footer,.project-archive__floating{font:var(--type-font-control-compact);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.project-archive__label{color:var(--color-text-muted);white-space:nowrap;margin-bottom:1.25rem}.project-archive__folders{height:17rem;min-height:0;position:relative}.project-archive__folders:has(>:nth-child(5)){height:20rem}.project-archive__folder{--folder-order:0;z-index:calc(1 + var(--folder-order));top:calc(var(--folder-order) * 3.25rem);left:calc(var(--folder-order) * .25rem);width:calc(100% - var(--folder-order) * .25rem);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);text-align:left;touch-action:none;height:6.25rem;transition:transform var(--transition-fast);padding:0;display:flex;position:absolute}.project-archive__folder:nth-child(2){--folder-order:1}.project-archive__folder:nth-child(3){--folder-order:2}.project-archive__folder:nth-child(4){--folder-order:3}.project-archive__folder:nth-child(5){--folder-order:4}.project-archive__folder:before{border:1px solid var(--color-border-strong);background:var(--color-surface-raised);content:"";border-bottom:0;width:42%;height:.75rem;position:absolute;bottom:100%;left:-1px}.project-archive__folder:hover{transform:translateY(-.25rem)}.project-archive__folder.is-lifted{opacity:0;pointer-events:none}.project-archive__folder-line{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;gap:.25rem;width:100%;min-width:0;height:max-content;padding:.65rem .55rem;display:flex}.project-archive__folder-line span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-archive__cases{grid-area:1/2;min-width:0;min-height:0}.project-archive__case{border:1px solid var(--color-border-strong);background:var(--color-surface-raised);grid-template-rows:auto minmax(0,1fr) auto auto;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative}.project-archive__case:not(.is-current){display:none}.project-archive__case-tab{border:1px solid var(--color-border-strong);background:var(--color-surface-raised);border-bottom:0;justify-content:space-between;align-items:center;width:10rem;height:1.5rem;padding:0 .65rem;display:flex;position:absolute;bottom:100%;left:-1px}.project-archive__case-heading{min-width:0;padding:clamp(.75rem,2vh,1.25rem) clamp(.75rem,1.5vw,1.2rem) .9rem}.project-archive__case-meta{color:var(--color-text-muted);justify-content:space-between;gap:.75rem;display:flex}.project-archive__case-heading>.project-archive__case-meta:first-child{margin-bottom:.75rem}.project-archive__case-heading h2{letter-spacing:-.045em;font-size:clamp(1.8rem,2.7vw,2.9rem);font-weight:440;line-height:1.05}.project-archive__case-description{max-width:52ch;color:var(--color-text-muted);margin-top:.55rem;font-size:clamp(.9rem,1.15vw,1.08rem);line-height:1.35}.project-archive__case-category{margin-top:.9rem}.project-archive__case-category span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-archive__case-cover{border:1px solid var(--color-border-strong);background:var(--color-surface-canvas);min-height:0;margin-inline:clamp(.55rem,1.4vw,1.1rem);position:relative;overflow:hidden}.project-archive__case-carousel-viewport{cursor:grab;touch-action:pan-y pinch-zoom;position:absolute;inset:0;overflow:hidden}.project-archive__case-carousel-viewport:active{cursor:grabbing}.project-archive__case-carousel-track{height:100%;display:flex}.project-archive__case-cover-slide{min-width:0;height:100%;color:inherit;flex:0 0 100%;display:block;position:relative}.project-archive__case-cover-slide:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.project-archive__case-cover-image{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.project-archive__case-fallback{height:100%;color:var(--color-text-muted);place-items:center;display:grid}.project-archive__case-caption{justify-content:space-between;align-items:center;padding:.95rem clamp(.75rem,1.5vw,1.2rem) 1.1rem;display:flex}.project-archive__case-caption a{white-space:nowrap}.project-archive__case-carousel-controls{font:var(--type-font-control-compact);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;align-items:center;gap:.45rem;line-height:1;display:flex}.project-archive__case-carousel-controls button{white-space:nowrap;width:2rem;height:2rem;color:var(--color-text-primary);transition:color var(--transition-fast);place-items:center;padding:0;display:grid}.project-archive__case-carousel-controls button:not(:disabled):is(:hover,:focus-visible){color:var(--color-text-muted)}.project-archive__case-carousel-controls .ui-arrow{font-size:1.2em}.project-archive__case-carousel-controls button:disabled{color:var(--color-text-muted);cursor:default}.project-archive__case-footer{border-top:1px solid var(--color-border-strong);color:var(--color-text-muted);justify-content:space-between;gap:.75rem;padding:.75rem clamp(.75rem,1.5vw,1.2rem);display:flex}.project-archive__case-stack{white-space:nowrap;gap:.45rem;min-width:0;display:flex;overflow:hidden}.project-archive__case-stack abbr{text-decoration:none}.project-archive__floating{z-index:20;border:1px solid var(--color-border-strong);background:var(--color-surface-raised);border-top:0;width:min(16rem,100vw - 1.5rem);position:fixed}.project-archive__floating.is-returning{transition:left .42s cubic-bezier(.16,1,.3,1),top .42s cubic-bezier(.16,1,.3,1),width .42s cubic-bezier(.16,1,.3,1)}.project-archive__floating.is-closing{pointer-events:none;transition:width .18s cubic-bezier(.16,1,.3,1),height .18s cubic-bezier(.16,1,.3,1)}.project-archive__floating.is-closing.is-returning{transition:left .42s cubic-bezier(.16,1,.3,1),top .42s cubic-bezier(.16,1,.3,1),width .42s cubic-bezier(.16,1,.3,1)}.project-archive__floating.is-closed{border-top:1px solid var(--color-border-strong)}.project-archive__floating.is-closed:before{border:1px solid var(--color-border-strong);background:var(--color-surface-raised);content:"";border-bottom:0;width:42%;height:.75rem;position:absolute;bottom:100%;left:-1px}.project-archive__floating.is-closed .project-archive__floating-head{cursor:default;touch-action:auto;-webkit-user-select:auto;user-select:auto;min-height:0;padding:0;display:block}.project-archive__floating.is-closed .project-archive__floating-count,.project-archive__floating.is-closed .project-archive__floating-head>button,.project-archive__floating.is-closed .project-archive__floating-sheet,.project-archive__floating-closed-line{display:none}.project-archive__floating.is-closed .project-archive__floating-closed-line{display:flex}.project-archive__floating[hidden],.project-archive__floating-files[hidden]{display:none}.project-archive__floating-divider{z-index:1;width:calc(100% + 2px);color:var(--color-text-primary);font:var(--type-font-control-compact);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;pointer-events:none;align-items:center;gap:.35rem;display:flex;position:absolute;top:0;left:-1px;transform:translateY(-50%)}.project-archive__floating-divider:before,.project-archive__floating-divider:after{border-top:1px solid var(--color-border-strong);content:""}.project-archive__floating-divider:before{flex:0 0 .3rem}.project-archive__floating-divider:after{flex:1}.project-archive__floating-divider span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-archive__floating.is-closed .project-archive__floating-divider{display:none}.project-archive__floating-head{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;min-height:2.75rem;padding:.5rem .65rem;display:flex}.project-archive__floating-head:active{cursor:grabbing}.project-archive__floating-count{color:var(--color-text-muted);white-space:nowrap}.project-archive__floating-head button{flex:none;padding:0}.project-archive__floating-head button:hover{text-underline-offset:.2em;text-decoration:underline}.project-archive__floating-sheet{border-top:1px solid var(--color-border-strong);max-height:0;transition:max-height .42s cubic-bezier(.16,1,.3,1);overflow:auto}.project-archive__floating.is-open .project-archive__floating-sheet{max-height:min(19rem,100dvh - 6rem)}.project-archive__floating-note{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-muted);padding:.5rem .65rem;font-size:.56rem}.project-archive__floating-files button{border-bottom:1px solid var(--color-border-subtle);text-align:left;grid-template-columns:.65rem minmax(0,1fr);align-items:center;gap:.45rem;width:100%;min-height:2.3rem;padding:.5rem .65rem;display:grid}.project-archive__floating-files button:hover{background:var(--color-surface-canvas)}.project-archive__file-marker{visibility:hidden;color:var(--color-text-primary);font-size:.65rem}.project-archive__floating-files button[aria-current=true] .project-archive__file-marker{visibility:visible}.project-archive__floating-files button span:last-child{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;text-transform:none;min-width:0;font-size:.64rem;overflow:hidden}@media (width<=900px){.project-archive{align-self:start;height:auto}.project-archive__case{grid-template-rows:auto auto auto auto;height:auto}.project-archive__case-cover{aspect-ratio:3/2}}@media (width<=700px){.project-archive{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);gap:0;width:min(100%,30rem)}.project-archive__explore{text-align:left;grid-area:1/1;justify-self:start;min-height:2.75rem;display:block}.project-archive__cases{grid-area:2/1;margin-top:1.2rem}.project-archive__stack{grid-area:3/1;justify-content:start;margin-top:2rem}.project-archive__label{margin-bottom:.6rem;font-size:.58rem}.project-archive__folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .4rem;height:auto;padding-top:.5rem;display:grid}.project-archive__folders:has(>:nth-child(5)){height:auto}.project-archive__folder{z-index:auto;width:100%;height:2.75rem;position:relative;top:auto;left:auto}.project-archive__folder:before,.project-archive__floating.is-closed:before{height:.5rem}.project-archive__folder-line{padding:.7rem .4rem .35rem;font-size:.625rem}.project-archive__case-tab{width:7rem;height:1.15rem;font-size:.55rem}.project-archive__case-heading{padding:.55rem .65rem .5rem}.project-archive__case-heading>.project-archive__case-meta:first-child{margin-bottom:.3rem}.project-archive__case-heading h2{font-size:clamp(1.35rem,5.5vw,1.7rem)}.project-archive__case-description{margin-top:.4rem;font-size:.875rem}.project-archive__case-meta{font-size:.5rem}.project-archive__case-category{margin-top:.4rem}.project-archive__case-cover{margin-inline:.55rem}.project-archive__case-caption{padding:.55rem .65rem}.project-archive__case-caption a{font-size:.54rem}.project-archive__case-footer{padding:.5rem .65rem;font-size:.5rem}}@media (width<=360px){.project-archive__folder-line{font-size:.55rem}}}
