@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--mono:"Geist Mono","Geist Mono Fallback"}

/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#fbfbf8;--bg-glow:#fff;--ink:#111;--muted:#757575;--line:#dadad4;--line-strong:#b8b8b0;--accent:#b8d8ff;--accent-strong:#6aa6ef;--paper:#fff;--soft:#efefea;--copy:#2f2f2f;--copy-strong:#303030;--copy-soft:#5f5f5f;--footer-ink:#b4b4b0;--nav-bg-start:#fbfbf8f5;--nav-bg-end:#fbfbf8c7;--mobile-nav-bg:#1111111f;--media-dark:#111;--preview-line:#e8e8e2;--preview-line-strong:#deded6;--preview-accent:#b8d8ffcc;--placeholder-accent:#b8d8ffa6;--placeholder-bg:#fafaf7;--pagination-ink:#8f8f8f;--tag-blue-bg:#cce4ff;--tag-purple-bg:#dcd0ff;--tag-pink-bg:#ffcce6;--tag-green-bg:#cfc;--tag-orange-bg:#ffe6cc;--tag-cyan-bg:#cff;--tag-red-bg:#fcc;--tag-ink:#111;--page-gutter:26px;--page-top-gutter:12px;--text-scale:.9;--text-block-scale:var(--text-scale);--index-time-scale:.9;--case-file-caption-scale:1.06;--intro-statement-max-width:22ch;--intro-statement-font-size:calc(56px * var(--text-scale));--intro-statement-line-height:.92;--case-hero-preview-height:570.78px;--case-hero-preview-overlay:#00000085;--route-transition-veil:var(--bg);--brand-logo-filter:none;color-scheme:light}[data-theme=dark]{--bg:#24262a;--bg-glow:#24262a;--ink:#e8e8e2;--muted:#a8a8a1;--line:#474a50;--line-strong:#71747a;--accent:#b8d2ea;--accent-strong:#86afd4;--paper:#2c2f34;--soft:#34373d;--copy:#d7d7d1;--copy-strong:#e2e2dc;--copy-soft:#bfc0ba;--footer-ink:#83857f;--nav-bg-start:#24262af5;--nav-bg-end:#24262ad1;--mobile-nav-bg:#e8e8e21a;--media-dark:#1c1e22;--preview-line:#3f4248;--preview-line-strong:#50545b;--preview-accent:#b8d2ea29;--placeholder-accent:#b8d2ea1f;--placeholder-bg:#292c31;--pagination-ink:#979991;--tag-blue-bg:#a9c4df;--tag-purple-bg:#bbb4db;--tag-pink-bg:#d8b0c4;--tag-green-bg:#aec9ad;--tag-orange-bg:#d7bea0;--tag-cyan-bg:#a4cbcf;--tag-red-bg:#d6a8a8;--tag-ink:#24262a;--case-hero-preview-overlay:#00000085;--brand-logo-filter:invert(1);color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body,html{color:var(--ink)}body{background:radial-gradient(circle at 50% 0,var(--bg-glow) 0,var(--bg) 420px);font-family:var(--sans);font-size:calc(15px * var(--text-scale));margin:0;line-height:1.35}.route-transition-veil{z-index:2147483647;pointer-events:none;background:var(--route-transition-veil);opacity:0;transition:opacity .52s cubic-bezier(.22,1,.36,1);position:fixed;inset:0}.route-transition-veil[data-visible=true]{opacity:1}@media (prefers-reduced-motion:reduce){.route-transition-veil{transition:none;display:none}}::view-transition-old(root){mix-blend-mode:normal;animation-duration:.36s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-new(root){mix-blend-mode:normal;animation-duration:.36s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-name:theme-fade-out}::view-transition-new(root){animation-name:theme-fade-in}@keyframes theme-fade-out{to{opacity:.72}}@keyframes theme-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}::selection{background:var(--accent);color:var(--ink)}a{color:inherit;text-decoration:none}iframe,img,video{max-width:100%;display:block}button,input,select,textarea{font:inherit}.site-shell{inline-size:100%;padding:0 var(--page-gutter) var(--page-gutter);margin:0}.site-nav{z-index:10;transition:background .3s;position:sticky;top:0}.site-nav,.site-nav--scrolled{background:var(--bg)}.site-nav__inner{inline-size:100%;min-height:calc(72px * var(--text-block-scale));padding:var(--page-top-gutter) var(--page-gutter) calc(18px * var(--text-block-scale));grid-template-columns:minmax(120px,1fr) minmax(320px,2fr);align-items:center;margin:0;display:grid}.wordmark{align-items:center;width:fit-content;line-height:0;display:inline-flex}.wordmark__logo{aspect-ratio:471/146;inline-size:calc(134px * var(--text-block-scale));block-size:auto;filter:var(--brand-logo-filter);display:block}.discipline-tag{border-radius:2px;margin-right:.25em;padding:.1em .5em;display:inline-block}.discipline-tag--default{background-color:var(--soft);color:var(--ink)}.discipline-tag--blue{background-color:var(--tag-blue-bg);color:var(--tag-ink)}.discipline-tag--purple{background-color:var(--tag-purple-bg);color:var(--tag-ink)}.discipline-tag--pink{background-color:var(--tag-pink-bg);color:var(--tag-ink)}.discipline-tag--green{background-color:var(--tag-green-bg);color:var(--tag-ink)}.discipline-tag--orange{background-color:var(--tag-orange-bg);color:var(--tag-ink)}.discipline-tag--cyan{background-color:var(--tag-cyan-bg);color:var(--tag-ink)}.discipline-tag--red{background-color:var(--tag-red-bg);color:var(--tag-ink)}.site-nav nav{gap:calc(16px * var(--text-block-scale));font-size:calc(14px * var(--text-scale));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.site-nav nav a{width:fit-content;padding:calc(6px * var(--text-block-scale)) calc(8px * var(--text-block-scale));border-radius:999px}.selection-link,.site-nav nav a:focus-visible,.site-nav nav a:hover{background:var(--accent);outline:0}.theme-toggle{top:calc(var(--page-top-gutter) + 11px);right:var(--page-gutter);z-index:2;inline-size:calc(24px * var(--text-block-scale));min-inline-size:22px;block-size:calc(24px * var(--text-block-scale));min-block-size:22px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;line-height:1;display:inline-grid;position:absolute}.theme-toggle__icon{inline-size:calc(16px * var(--text-block-scale));block-size:calc(16px * var(--text-block-scale));min-block-size:15px;min-inline-size:15px}.theme-toggle:focus-visible,.theme-toggle:hover{color:var(--accent-strong);background:0 0;outline:0}.theme-toggle:disabled{cursor:default;opacity:.72}.intro-grid{gap:calc(28px * var(--text-block-scale));padding:calc(22px * var(--text-block-scale)) 0 calc(82px * var(--text-block-scale));grid-template-columns:minmax(520px,.51fr) repeat(3,minmax(150px,.163fr));display:grid}.intro-panel{border-top:1px solid var(--line);padding-top:calc(10px * var(--text-block-scale))}.intro-panel--statement{padding-right:calc(24px * var(--text-block-scale))}.file-caption{margin:0 0 calc(20px * var(--text-block-scale));color:var(--muted);font-family:var(--mono);font-size:calc(12px * var(--text-scale));line-height:1.25}.file-caption:before{content:"› ";color:var(--line-strong)}.intro-panel h1{max-width:var(--intro-statement-max-width);font-family:var(--sans);font-size:var(--intro-statement-font-size);letter-spacing:0;font-weight:800;line-height:var(--intro-statement-line-height);text-transform:uppercase;text-wrap:balance;margin:0}.belief-list{gap:calc(22px * var(--text-block-scale));counter-reset:belief;margin:0;padding:0;list-style:none;display:grid}.belief-list li{color:var(--copy-strong)}.belief-list li:before{content:"(" counter(belief) ") ";counter-increment:belief;color:var(--muted);font-family:var(--mono)}.intro-panel p:not(.file-caption){max-width:24ch;margin:calc(16px * var(--text-block-scale)) 0 0;color:var(--copy)}.selection-link{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 calc(4px * var(--text-block-scale));display:inline}.social-list{align-items:flex-start;gap:calc(8px * var(--text-block-scale));flex-direction:column;display:flex}.index-header{align-items:start;gap:calc(24px * var(--text-block-scale));border-top:1px solid var(--line);padding:calc(3px * var(--text-block-scale)) 0 calc(26px * var(--text-block-scale));grid-template-columns:1fr auto;display:grid}.index-header time{color:var(--copy-strong);font-size:calc(15px * var(--text-scale) * var(--index-time-scale))}.index-header .file-caption{margin:0}.case-divider{border-top:1px solid var(--line);padding:calc(3px * var(--text-block-scale)) 0 calc(26px * var(--text-block-scale))}.case-divider .file-caption{text-align:right;margin:0}.work-index{width:auto;margin-left:-18px;display:flex}[data-order-ready=false] .work-index{visibility:hidden}.work-index_column{background-clip:padding-box;padding-left:18px}.work-index_column>.work-card,.work-index_column>.work-index__item{margin-bottom:18px}.work-index__item{contain-intrinsic-size:520px;content-visibility:auto;will-change:opacity,transform;min-width:0}.work-card{min-width:0;display:block}.work-card figure{background:var(--soft);margin:0;position:relative;overflow:hidden}.work-card img,.work-card__preview{width:100%;height:100%;transition:filter .18s;display:block}.work-card img{object-fit:cover}.work-card:hover .work-card__preview,.work-card:hover img{filter:contrast(1.08)}.work-card__preview{background:linear-gradient(135deg,var(--preview-accent),transparent 42%),repeating-linear-gradient(0deg,var(--preview-line) 0 1px,transparent 1px 18px),repeating-linear-gradient(90deg,var(--preview-line-strong) 0 1px,transparent 1px 18px),var(--paper);place-items:center;display:grid}.work-card__meta{padding-top:calc(9px * var(--text-block-scale))}.work-card h2{margin:0 0 calc(6px * var(--text-block-scale));font-size:calc(15px * var(--text-scale));font-weight:650;line-height:1.2}.work-card p{margin:0 0 calc(8px * var(--text-block-scale));color:var(--copy-soft);font-size:calc(13px * var(--text-scale));line-height:1.35}.work-card__disciplines-and-date{justify-content:space-between;align-items:center;gap:calc(5px * var(--text-block-scale)) calc(8px * var(--text-block-scale));color:var(--muted);font-family:var(--mono);font-size:calc(11px * var(--text-scale));flex-wrap:wrap;line-height:1.4;display:flex}.work-card__disciplines{gap:calc(4px * var(--text-block-scale));flex-wrap:wrap;display:flex}.site-footer{justify-items:center;gap:calc(2px * var(--text-block-scale));padding:calc(64px * var(--text-block-scale)) 0 calc(34px * var(--text-block-scale));color:var(--footer-ink);font-size:calc(14px * var(--text-scale));text-align:center;line-height:1.35;display:grid}.site-footer p{margin:0}.case-study{padding:calc(22px * var(--text-block-scale)) 0 0}.case-pagination{justify-content:center;gap:calc(18px * var(--text-block-scale));margin-top:clamp(calc(144px * var(--text-block-scale)),19vh,calc(220px * var(--text-block-scale)));color:var(--pagination-ink);font-size:calc(14px * var(--text-scale));grid-template-columns:repeat(3,max-content);line-height:1.2;display:grid}.case-pagination a{padding:calc(2px * var(--text-block-scale)) 0}.case-pagination a:focus-visible,.case-pagination a:hover{color:var(--ink);background:0 0;outline:0}.case-hero{gap:calc(26px * var(--text-block-scale));grid-template-columns:minmax(300px,1fr) minmax(260px,.45fr);display:grid}.case-hero--with-media{grid-template-columns:1fr}.case-hero__media{block-size:var(--case-hero-preview-height);background:var(--media-dark);isolation:isolate;grid-column:1/-1;position:relative;overflow:hidden}.case-hero__media:after{z-index:1;background:var(--case-hero-preview-overlay);content:"";position:absolute;inset:0}.case-hero__media img{object-fit:cover}.case-hero__copy{z-index:2;gap:calc(24px * var(--text-block-scale)) calc(26px * var(--text-block-scale));padding:calc(28px * var(--text-block-scale));color:#fff;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(300px,1fr) minmax(260px,.45fr);display:grid;position:absolute;inset:0}.case-hero .file-caption{font-size:calc(12px * var(--text-scale) * var(--case-file-caption-scale));grid-column:1/-1}.case-hero h1{max-width:10ch;font-family:var(--sans);font-size:calc(104px * var(--text-scale));letter-spacing:0;text-transform:uppercase;margin:0;font-weight:850;line-height:.9}.case-hero__copy h1{color:#fff;text-shadow:0 2px 18px #00000061;align-self:end}.case-hero>p{color:var(--copy-strong)}.case-hero>p,.case-hero__copy>p:not(.file-caption){max-width:36ch;font-size:calc(20px * var(--text-scale));align-self:end;margin:0;line-height:1.25}.case-hero__copy>p:not(.file-caption){color:#ffffffeb;-webkit-line-clamp:4;text-shadow:0 1px 14px #0000006b;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.case-hero dl{gap:calc(18px * var(--text-block-scale));margin:calc(36px * var(--text-block-scale)) 0 0;border-top:1px solid var(--line);padding-top:calc(12px * var(--text-block-scale));grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case-hero--with-media dl{margin-top:0}.case-hero dt{color:var(--muted);font-family:var(--mono);font-size:calc(11px * var(--text-scale))}.case-hero dd{margin:calc(4px * var(--text-block-scale)) 0 0}.case-blocks{gap:calc(38px * var(--text-block-scale));margin-top:calc(56px * var(--text-block-scale));display:grid}.case-text{max-width:760px}.case-text p:not(.file-caption){color:var(--copy);font-size:calc(18px * var(--text-scale));margin:0;line-height:1.5}.case-text :is(h1,h2,h3,h4){max-width:18ch;color:var(--copy-strong);font-family:var(--sans);letter-spacing:0;text-wrap:balance;margin:0;font-weight:800;line-height:.96}.case-text h1{font-size:calc(58px * var(--text-scale))}.case-text h2{font-size:calc(44px * var(--text-scale))}.case-text h3{font-size:calc(34px * var(--text-scale))}.case-text h4{font-size:calc(26px * var(--text-scale))}.case-text--lead p:not(.file-caption){font-size:calc(28px * var(--text-scale));line-height:1.2}.case-text--note{border-left:2px solid var(--accent-strong);max-width:560px;padding-left:calc(18px * var(--text-block-scale))}.case-image,.media-player,.three-d-block{margin:0}.case-image--narrow{max-width:720px}.case-image--wide{width:100%}.media-player{max-width:1120px}.case-image--full{width:100%}.embed-block iframe,.media-player audio,.media-player video,.placeholder-media,.three-d-block img,.wire-cube{border:1px solid var(--line);background:var(--paper)}.case-gallery__trigger{color:inherit;cursor:zoom-in;text-align:left;padding:0;display:block}.case-gallery__trigger,.case-gallery__trigger img{background:0 0;border:0}.case-image .case-gallery__trigger,.photo-grid .case-gallery__trigger{border:1px solid var(--line);background:var(--paper)}.case-image--display-fill .case-gallery__trigger,.case-image--display-fit .case-gallery__trigger,.embed-block iframe,.media-player audio,.media-player video,.placeholder-media,.three-d-block img,.wire-cube{width:100%}.case-image--display-original .case-gallery__trigger{max-width:100%;display:inline-block}.case-image--display-original img{width:auto;max-width:100%;height:auto}.case-image--display-fit img{width:100%;height:auto}.case-image--display-fill .case-gallery__trigger{aspect-ratio:16/9;overflow:hidden}.case-image--display-fill img{object-fit:cover;width:100%;height:100%}.placeholder-media{background:linear-gradient(135deg,var(--placeholder-accent),transparent 45%),repeating-linear-gradient(0deg,var(--preview-line) 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,var(--preview-line-strong) 0 1px,transparent 1px 22px),var(--placeholder-bg);place-items:center;min-height:420px;display:grid}.placeholder-media span{font-family:var(--mono);font-size:calc(13px * var(--text-scale))}figcaption{margin-top:calc(8px * var(--text-block-scale));color:var(--muted);font-family:var(--mono);font-size:calc(12px * var(--text-scale))}.photo-grid{gap:calc(16px * var(--text-block-scale));display:grid}.photo-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid--3,.photo-grid--masonry{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-grid__item{margin:0}.photo-grid .case-gallery__trigger{aspect-ratio:16/9;place-items:center;width:100%;display:grid;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-grid--display-fit img{object-fit:contain}.photo-grid--display-original img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.photo-grid .placeholder-media{aspect-ratio:16/9;width:100%;min-height:0}.case-lightbox{z-index:1000;gap:calc(18px * var(--text-block-scale));padding:calc(22px * var(--text-block-scale));color:#fbfbf8;background:#080808f0;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0}.case-lightbox__nav,.case-lightbox__toolbar{justify-content:space-between;align-items:center;gap:calc(12px * var(--text-block-scale));font-family:var(--mono);font-size:calc(12px * var(--text-scale));display:flex}.case-lightbox__figure,.case-lightbox__toolbar p{margin:0}.case-lightbox__control{color:inherit;cursor:pointer;font-family:var(--mono);font-size:calc(12px * var(--text-scale));padding:calc(8px * var(--text-block-scale)) calc(10px * var(--text-block-scale));background:#fbfbf814;border:1px solid #fbfbf857}.case-lightbox__figure{place-items:center;width:100%;height:100%;min-height:0;display:grid}.case-lightbox__image{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:calc(100dvh - 150px)}.case-lightbox figcaption{color:#fbfbf8b8}.case-lightbox__zone{z-index:1;top:calc(86px * var(--text-block-scale));bottom:calc(22px * var(--text-block-scale));width:30%;padding:calc(26px * var(--text-block-scale));color:#fbfbf89e;cursor:pointer;background:0 0;border:0;align-items:center;transition:color .18s;display:flex;position:absolute}.case-lightbox__zone--previous{justify-content:flex-start;left:0}.case-lightbox__zone--next{justify-content:flex-end;right:0}.case-lightbox__zone span{width:calc(34px * var(--text-block-scale));height:calc(34px * var(--text-block-scale));background:currentColor;display:block;-webkit-mask:url(/icons/next-button.svg) 50%/contain no-repeat;mask:url(/icons/next-button.svg) 50%/contain no-repeat}.case-lightbox__zone--previous span{transform:rotate(180deg)}.case-lightbox__zone:focus-visible,.case-lightbox__zone:hover{color:#fbfbf8f5}.media-player video{aspect-ratio:16/9;background:var(--media-dark)}.media-player audio{padding:calc(20px * var(--text-block-scale))}.embed-block{border:1px solid var(--line);background:var(--paper);max-width:1120px}.embed-toolbar{justify-content:space-between;gap:calc(16px * var(--text-block-scale));border-bottom:1px solid var(--line);padding:calc(10px * var(--text-block-scale)) calc(12px * var(--text-block-scale));font-family:var(--mono);font-size:calc(12px * var(--text-scale));display:flex}.embed-toolbar a{background:var(--accent);padding:0 calc(5px * var(--text-block-scale))}.embed-block iframe{border:0}.prototype-block{justify-content:space-between;align-items:center;gap:calc(24px * var(--text-block-scale));border:1px solid var(--line);max-width:860px;padding:calc(22px * var(--text-block-scale));background:var(--paper);display:flex}.prototype-block h2{font-size:calc(24px * var(--text-scale));margin:0;line-height:1.15}.prototype-block p:not(.file-caption){margin:calc(8px * var(--text-block-scale)) 0 0;color:var(--muted)}.custom-button,.prototype-block a{min-height:calc(44px * var(--text-block-scale));border:1px solid var(--ink);padding:0 calc(22px * var(--text-block-scale));border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.custom-button:hover,.prototype-block a:hover{background:var(--accent)}.wire-cube{place-items:center;min-height:420px;display:grid}.wire-cube span{border:2px solid var(--ink);width:140px;height:140px;transform:rotate(45deg)skew(8deg,8deg)}.custom-button-row{margin:0}.custom-button--primary{background:var(--ink);color:var(--paper)}.custom-button--primary:hover{color:var(--ink)}.custom-button--quiet{background:0 0}.case-quote{max-width:860px;margin:0}.case-quote blockquote{color:var(--copy-strong);font-family:var(--sans);font-size:calc(32px * var(--text-scale));text-wrap:balance;margin:0;font-weight:700;line-height:1.2}.case-quote blockquote:before{content:"“";color:var(--accent-strong);margin-right:.08em}.case-quote blockquote:after{content:"”"}.case-quote__attribution{align-items:center;gap:calc(14px * var(--text-block-scale));margin-top:calc(20px * var(--text-block-scale));display:flex}.case-quote__avatar{width:calc(48px * var(--text-block-scale));height:calc(48px * var(--text-block-scale));border:1px solid var(--line);object-fit:cover;border-radius:999px}.case-quote__meta{font-family:var(--mono);font-size:calc(13px * var(--text-scale));flex-direction:column;display:flex}.case-quote__author{color:var(--copy-strong);font-weight:700}.case-quote__role{color:var(--muted)}.case-before-after{max-width:1120px;margin:0}.before-after{border:1px solid var(--line);background:var(--paper);touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.before-after__image{width:100%;height:auto;display:block}.before-after__clip{position:absolute;inset:0}.before-after__label{top:calc(12px * var(--text-block-scale));padding:calc(3px * var(--text-block-scale)) calc(8px * var(--text-block-scale));background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:calc(11px * var(--text-scale));pointer-events:none;position:absolute}.before-after__label--before{left:calc(12px * var(--text-block-scale))}.before-after__label--after{right:calc(12px * var(--text-block-scale))}.before-after__handle{background:var(--paper);cursor:ew-resize;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.before-after__handle:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.before-after__grabber{width:calc(40px * var(--text-block-scale));height:calc(40px * var(--text-block-scale));border:2px solid var(--paper);background:var(--ink);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.case-stats{max-width:1120px}.case-stats .file-caption{margin-bottom:calc(20px * var(--text-block-scale))}.case-stats__grid{gap:calc(28px * var(--text-block-scale));margin:0;display:grid}.case-stats__grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.case-stats__grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.case-stats__grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.case-stats__item{border-top:1px solid var(--line);padding-top:calc(14px * var(--text-block-scale))}.case-stats__value{color:var(--copy-strong);font-family:var(--sans);font-size:calc(44px * var(--text-scale));margin:0;font-weight:800;line-height:1}.case-stats__label{gap:calc(4px * var(--text-block-scale));margin:calc(10px * var(--text-block-scale)) 0 0;color:var(--copy);font-size:calc(15px * var(--text-scale));flex-direction:column;display:flex}.case-stats__description{color:var(--muted);font-size:calc(13px * var(--text-scale));line-height:1.4}.case-columns{gap:calc(32px * var(--text-block-scale));grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;max-width:1120px;display:grid}.case-columns__text{min-width:0}.case-columns__text h3{margin:0 0 calc(14px * var(--text-block-scale));color:var(--copy-strong);font-family:var(--sans);font-size:calc(28px * var(--text-scale));text-wrap:balance;font-weight:800;line-height:1.05}.case-columns__text p{color:var(--copy);font-size:calc(17px * var(--text-scale));margin:0;line-height:1.5}.case-columns__media{min-width:0;margin:0}.case-columns__media img{border:1px solid var(--line);background:var(--paper);width:100%;height:auto;display:block}.case-columns__media figcaption{margin-top:calc(8px * var(--text-block-scale));color:var(--muted);font-family:var(--mono);font-size:calc(12px * var(--text-scale))}.case-columns--media-left .case-columns__text{order:2}@media (max-width:1180px){:root{--page-gutter:24px;--intro-statement-font-size:calc(48px * var(--text-scale));--case-hero-preview-height:491.4px}.intro-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.65fr)}.intro-panel--statement{grid-row:span 3}.case-hero h1{font-size:calc(78px * var(--text-scale))}}@media (max-width:760px){:root{--page-gutter:8px;--intro-statement-max-width:100%;--intro-statement-font-size:calc(39px * var(--text-scale));--intro-statement-line-height:.95;--case-hero-preview-height:340.2px}body{font-size:calc(14px * var(--text-scale))}.case-stats__grid[data-columns="3"],.case-stats__grid[data-columns="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.case-columns{grid-template-columns:minmax(0,1fr)}.case-columns--media-left .case-columns__text{order:0}.case-quote blockquote{font-size:calc(24px * var(--text-scale))}.site-nav__inner{gap:calc(14px * var(--text-block-scale));min-height:auto;padding:var(--page-top-gutter) var(--page-gutter) calc(12px * var(--text-block-scale));grid-template-columns:1fr}.wordmark{padding-left:calc(4px * var(--text-block-scale))}.wordmark__logo{inline-size:calc(125px * var(--text-block-scale))}.site-nav nav{gap:calc(8px * var(--text-block-scale));font-size:calc(12px * var(--text-scale));grid-template-columns:repeat(4,minmax(0,1fr))}.site-nav nav a{background:var(--mobile-nav-bg);text-align:center;width:100%}.intro-grid{padding:calc(11px * var(--text-block-scale)) 0 calc(60px * var(--text-block-scale));grid-template-columns:1fr}.intro-panel--statement{grid-row:auto;padding-right:0}.index-header{grid-template-columns:1fr}.work-index{margin-left:-8px}.work-index_column{padding-left:8px}.work-index_column>.work-card{margin-bottom:8px}.work-card{min-width:0}.work-card p{font-size:calc(12px * var(--text-scale))}.case-study{padding-top:calc(11px * var(--text-block-scale))}.case-hero,.case-hero__copy{grid-template-columns:1fr}.case-hero__copy{gap:calc(10px * var(--text-block-scale));padding:calc(14px * var(--text-block-scale));grid-template-rows:auto 1fr auto}.case-hero h1{font-size:calc(46px * var(--text-scale))}.case-hero__copy h1{max-width:16ch;font-size:calc(24px * var(--text-scale));align-self:end;line-height:.95}.case-hero>p{font-size:calc(18px * var(--text-scale))}.case-hero__copy>p:not(.file-caption){max-width:34ch;font-size:calc(12px * var(--text-scale));-webkit-line-clamp:3;line-height:1.2}.case-hero dl,.photo-grid--2,.photo-grid--3,.photo-grid--masonry{grid-template-columns:1fr}.case-text--lead p:not(.file-caption){font-size:calc(22px * var(--text-scale))}.case-text h1{font-size:calc(42px * var(--text-scale))}.case-text h2{font-size:calc(34px * var(--text-scale))}.case-text h3{font-size:calc(28px * var(--text-scale))}.case-text h4{font-size:calc(22px * var(--text-scale))}.prototype-block{flex-direction:column;align-items:stretch}.case-lightbox{gap:calc(12px * var(--text-block-scale));padding:calc(10px * var(--text-block-scale))}.case-lightbox__image{max-height:calc(100dvh - 130px)}.case-lightbox__zone{top:calc(64px * var(--text-block-scale));bottom:calc(10px * var(--text-block-scale));width:38%;padding:calc(14px * var(--text-block-scale))}.case-lightbox__zone span{width:calc(28px * var(--text-block-scale));height:calc(28px * var(--text-block-scale))}.placeholder-media,.wire-cube{min-height:280px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}