@font-face{font-family:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(../media/61b2b84ab35dead5-s.574b9b5f.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(../media/eba33977c8ed1a9d-s.c95e6cf0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a1997311f9003a9-s.62b69f7d.woff2)format("woff2");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:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2245c258b0d2c062-s.88d56c3c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8a4bb24664ac8500-s.p.12264977.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/61b2b84ab35dead5-s.574b9b5f.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/eba33977c8ed1a9d-s.c95e6cf0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a1997311f9003a9-s.62b69f7d.woff2)format("woff2");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:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2245c258b0d2c062-s.88d56c3c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8a4bb24664ac8500-s.p.12264977.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:900;font-display:swap;src:url(../media/61b2b84ab35dead5-s.574b9b5f.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:900;font-display:swap;src:url(../media/eba33977c8ed1a9d-s.c95e6cf0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:900;font-display:swap;src:url(../media/6a1997311f9003a9-s.62b69f7d.woff2)format("woff2");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:Libre Franklin;font-style:normal;font-weight:900;font-display:swap;src:url(../media/2245c258b0d2c062-s.88d56c3c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:900;font-display:swap;src:url(../media/8a4bb24664ac8500-s.p.12264977.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Franklin Fallback;src:local(Arial);ascent-override:92.61%;descent-override:23.58%;line-gap-override:0.0%;size-adjust:104.31%}.libre_franklin_1ac1a89a-module__drqupq__className{font-family:Libre Franklin,Libre Franklin Fallback;font-style:normal}.libre_franklin_1ac1a89a-module__drqupq__variable{--font-libre-franklin:"Libre Franklin","Libre Franklin Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-display-s:clamp(2.25rem,4vw + .5rem,3.75rem);--text-display:clamp(2.75rem,5vw + 1rem,5.25rem);--text-section:clamp(2rem,2.5vw + 1rem,3.5rem);--text-title:clamp(1.25rem,.75vw + .875rem,1.625rem);--text-lead:clamp(1.125rem,.35vw + 1rem,1.375rem);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--color-error:#be2323;--color-success:#21763c;--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:#f8f7f2;--color-paper-2:#ecebe6;--color-paper-3:#dedcd7;--color-ink:#040302;--color-ink-2:#0e0d0a;--color-muted:#494843;--color-rule:#040302;--color-accent:#f2e309;--color-accent-ink:#040302;--color-focus:#61620c;--font-display:var(--font-libre-franklin),"Libre Franklin",ui-sans-serif,system-ui,sans-serif;--font-body:var(--font-display);--font-outlier:var(--font-display);--radius-card:0;--radius-pill:0;--rule-hair:1px;--rule-bar:3px;--shadow-card:none;--tracking-display:-.03em;--display-weight:900;--color-hair:#040302;--text-mast:clamp(2.75rem,13.5vw,13rem);--nav-height:64px}@supports (color:lab(0% 0 0)){:root{--color-error:lab(42.4236% 59.8149 41.9956);--color-success:lab(43.5038% -36.3107 24.0307);--color-paper:lab(97.1376% -.18993 2.2796);--color-paper-2:lab(93.0837% -.219047 2.6612);--color-paper-3:lab(87.8698% -.24718 3.04363);--color-ink:lab(.910862% -.0242442 .490063);--color-ink-2:lab(3.72056% -.0833422 1.29321);--color-muted:lab(30.4483% -.22307 3.06075);--color-rule:lab(.910862% -.0242442 .490063);--color-accent:lab(89.4134% -8.53309 86.5016);--color-accent-ink:lab(.910862% -.0242442 .490063);--color-focus:lab(40.3226% -7.79301 43.2117);--color-hair:lab(.910862% -.0242442 .490063)}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:#0c0b07;--color-paper-2:#15140f;--color-paper-3:#1e1d17;--color-ink:#eeede7;--color-ink-2:#d9d7d2;--color-muted:#b3b1aa;--color-rule:#d2d1cb;--color-hair:#494842;--color-accent:#e8dd45;--color-accent-ink:#040302;--color-focus:#e0d653;--color-error:#f6857a;--color-success:#76c788}@supports (color:lab(0% 0 0)){[data-theme=dark]{--color-paper:lab(3.07416% -.0818223 1.65397);--color-paper-2:lab(6.24221% -.16214 2.97809);--color-paper-3:lab(10.7414% -.224799 4.27614);--color-ink:lab(93.6698% -.248194 3.04291);--color-ink-2:lab(86.1297% -.246793 3.04383);--color-muted:lab(72.2215% -.297427 3.81253);--color-rule:lab(83.8097% -.246346 3.04415);--color-hair:lab(30.4595% -.26533 3.83616);--color-accent:lab(87.0105% -8.20395 71.4507);--color-accent-ink:lab(.910862% -.0242442 .490063);--color-focus:lab(84.6318% -7.86454 63.5446);--color-error:lab(68.5213% 43.2546 26.5766);--color-success:lab(73.7023% -35.9264 23.3569)}}
*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted)var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:var(--color-accent);color:var(--color-accent-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg,var(--color-paper-2,var(--color-paper)),var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (max-width:60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (max-width:40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]:has(>img){isolation:isolate;background:var(--color-paper);outline:1px solid color-mix(in oklab,var(--color-ink)8%,transparent);outline-offset:-1px}[data-slot]>img{z-index:0;filter:grayscale()contrast(1.24);mix-blend-mode:multiply}[data-slot]:has(>img):before{content:"";z-index:1;background:var(--color-ink);mix-blend-mode:lighten;pointer-events:none;position:absolute;inset:0}
.flex{display:flex}.hidden{display:none}.min-h-screen{min-height:100vh}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + var(--space-lg))}body{font-size:1.125rem;line-height:1.5}h1,h2{text-transform:uppercase;line-height:1}h3{letter-spacing:-.01em;font-weight:700}ol,ul{margin:0;padding:0;list-style:none}dl,dd,figure,blockquote,fieldset{margin:0}fieldset{border:0;min-width:0;padding:0}button{color:inherit;cursor:pointer}.section-shell{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.focus-ring:focus-visible,:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;transition:none}.on-ink :focus-visible,.on-ink:focus-visible{outline-color:var(--color-accent)}.cta-pending{visibility:hidden}.label{font-size:var(--text-sm);color:var(--color-muted)}.skip-link{left:var(--space-md);top:var(--space-md);z-index:var(--z-tooltip);padding:var(--space-sm)var(--space-lg);background:var(--color-ink);color:var(--color-paper);font-weight:700;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.cells{gap:var(--rule-bar);background:var(--color-rule);border:var(--rule-bar)solid var(--color-rule);display:grid}.cells>*{background:var(--color-paper);min-width:0}.button{justify-content:center;align-items:center;gap:var(--space-xs);min-height:52px;padding:var(--space-sm)var(--space-lg);border:var(--rule-bar)solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-md);font-weight:700;line-height:1.2;text-decoration:none;transition:none;display:inline-flex}.button:hover,.button-primary{background:var(--color-ink);color:var(--color-paper)}.button-primary:hover{background:var(--color-paper);color:var(--color-ink)}.button:active,.button-primary:active{background:var(--color-accent);color:var(--color-accent-ink)}.button:disabled{opacity:.6;cursor:not-allowed}.text-link{text-underline-offset:.2em;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.text-link:hover,.text-link:active{background:var(--color-accent);color:var(--color-accent-ink)}.text-link:active{text-decoration-thickness:4px}.site-header{z-index:var(--z-sticky-nav);background:var(--color-paper);border-bottom:var(--rule-bar)solid var(--color-rule);position:sticky;top:0}.nav-shell{min-height:var(--nav-height);max-width:var(--container);padding-inline:var(--gutter);align-items:stretch;margin-inline:auto;display:flex}.wordmark{font-size:var(--text-xl);letter-spacing:var(--tracking-display);align-items:center;margin-right:auto;font-weight:900;text-decoration:none;display:flex}.wordmark:hover{background:var(--color-accent);color:var(--color-accent-ink)}.desktop-nav,.nav-actions{align-items:stretch;display:flex}.desktop-nav a,.theme-toggle,.nav-cta,.menu-toggle{align-items:center;gap:var(--space-xs);padding-inline:var(--space-lg);border:0;border-left:var(--rule-bar)solid var(--color-rule);font-size:var(--text-md);background:0 0;font-weight:700;text-decoration:none;display:flex}.nav-actions>:last-child{border-right:var(--rule-bar)solid var(--color-rule)}.desktop-nav a:hover,.theme-toggle:hover,.menu-toggle:hover{background:var(--color-accent);color:var(--color-accent-ink)}.desktop-nav a:active,.theme-toggle:active,.menu-toggle:active{background:var(--color-ink);color:var(--color-paper)}.nav-cta.button-primary{border-block:0;background:var(--color-ink);min-height:0;color:var(--color-paper);border-right:0}.nav-cta.button-primary:hover{background:var(--color-paper);color:var(--color-ink)}.nav-cta.button-primary:active{background:var(--color-accent);color:var(--color-accent-ink)}.menu-toggle{min-width:var(--nav-height);justify-content:center;display:none}.mobile-nav{border-top:var(--rule-bar)solid var(--color-rule);display:grid}.mobile-nav a{min-height:60px;padding-inline:var(--gutter);border-bottom:var(--rule-bar)solid var(--color-rule);font-size:var(--text-xl);text-transform:uppercase;letter-spacing:var(--tracking-display);align-items:center;font-weight:900;text-decoration:none;display:flex}.mobile-nav a:hover{background:var(--color-accent);color:var(--color-accent-ink)}.mobile-nav a:active{background:var(--color-ink);color:var(--color-paper)}.mobile-nav .button{margin:var(--space-md)var(--gutter);border-bottom:var(--rule-bar)solid var(--color-rule);font-size:var(--text-md);text-transform:none;letter-spacing:0}.mobile-nav .button:hover{background:var(--color-paper);color:var(--color-ink)}.hero-section{max-width:var(--container);padding:var(--space-lg)var(--gutter)0;margin-inline:auto}.name-banner{max-width:none;padding-bottom:var(--space-xs);font-size:var(--text-mast);letter-spacing:-.04em;text-wrap:nowrap;white-space:normal;border-bottom:var(--rule-bar)solid var(--color-rule);line-height:.84;overflow:clip}.name-banner span{animation:name-rise .64s var(--ease-out)both;display:inline-block}.name-banner span+span{animation-delay:90ms}@keyframes name-rise{0%{transform:translateY(104%)}}.hero-body{border-bottom:var(--rule-bar)solid var(--color-rule);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.hero-copy{justify-content:center;gap:var(--space-xl);padding:var(--space-xl)var(--space-xl)0 0;border-right:var(--rule-bar)solid var(--color-rule);flex-direction:column;display:flex}.hero-lead{letter-spacing:-.015em;max-width:17ch;font-size:clamp(1.75rem,1.6vw + 1rem,2.5rem);font-weight:700;line-height:1.15}.hero-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.hero-second{align-self:flex-start}.hero-author{align-items:center;gap:var(--space-md);padding-block:var(--space-md);border-top:var(--rule-bar)solid var(--color-rule);display:flex}.portrait{border:var(--rule-bar)solid var(--color-rule);filter:grayscale()contrast(1.15)}.hero-author p{font-weight:700;line-height:1.35}.hero-author span{color:var(--color-muted);font-weight:400}.interface-plane{flex-direction:column;min-width:0;display:flex}.interface-heading{border-bottom:var(--rule-bar)solid var(--color-rule);justify-content:space-between;align-items:stretch;display:flex}.interface-heading>span{padding:var(--space-sm)var(--space-lg);align-self:center}.interface-heading a{white-space:nowrap;padding-inline:var(--space-lg);border-left:var(--rule-bar)solid var(--color-rule);align-items:center;font-weight:700;display:flex}.interface-heading a:hover{background:var(--color-accent);color:var(--color-accent-ink)}.interface-heading a:active{background:var(--color-ink);color:var(--color-paper)}.annotated{--screen-h:clamp(22rem,calc(100svh - 24rem),31rem);flex:1;grid-template-columns:auto minmax(0,1fr);display:grid}.case-plane .annotated{--screen-h:36rem}.annotated-figure{padding:var(--space-md);background:var(--color-paper-2);border-right:var(--rule-bar)solid var(--color-rule);position:relative}.annotated-screen{height:var(--screen-h);width:fit-content;position:relative}.annotated-image{border:var(--rule-bar)solid var(--color-rule);width:auto;height:100%;transition:opacity var(--dur-short)var(--ease-out)}.annotated:has(.annotated-elsewhere) .annotated-image{opacity:.28}.annotated-spot{border:var(--rule-bar)solid var(--color-accent-ink);outline:var(--rule-bar)solid var(--color-accent);pointer-events:none;position:absolute}.annotated-elsewhere{padding:var(--space-md);place-items:center;display:grid;position:absolute;inset:0}.annotated-elsewhere-chip{gap:var(--space-2xs);max-width:15rem;padding:var(--space-md);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-lg);font-weight:700;line-height:1.2;display:grid}.annotated-elsewhere-chip span{font-size:var(--text-sm);font-weight:400}.annotated-dock{flex-direction:column;min-width:0;display:flex}.annotated-tabs{display:grid}.annotated-tabs button{align-items:center;column-gap:var(--space-md);min-height:60px;padding:var(--space-xs)var(--space-lg);border:0;border-bottom:var(--rule-bar)solid var(--color-rule);background:var(--color-paper);text-align:left;font-size:var(--text-md);grid-template-columns:auto minmax(0,1fr);font-weight:700;line-height:1.2;display:grid}.annotated-tabs .tab-number{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;grid-row:span 2;font-weight:900}.annotated-tabs .tab-surface{font-size:var(--text-sm);font-weight:400}.annotated-tabs button:hover{background:var(--color-paper-2)}.annotated-tabs button:active{background:var(--color-ink);color:var(--color-paper)}.annotated-tabs button[aria-selected=true]{background:var(--color-accent);color:var(--color-accent-ink)}.annotated-panel{gap:var(--space-xs);padding:var(--space-lg);display:grid}.annotated-panel h3,.annotated-rows h3{font-size:var(--text-lg)}.annotated-panel p{font-size:var(--text-md);line-height:1.5}.annotated-example{color:var(--color-muted)}.annotated-rows{display:none}.interface-caption{align-items:baseline;gap:var(--space-2xs)var(--space-md);padding:var(--space-md)var(--space-lg);border-top:var(--rule-hair)solid var(--color-hair);font-size:var(--text-sm);flex-wrap:wrap;margin-top:auto;display:flex}.interface-caption p{color:var(--color-muted);flex-basis:100%}.image-credit{text-underline-offset:.2em;text-decoration:underline}.image-credit:hover{background:var(--color-accent);color:var(--color-accent-ink)}.section-intro{gap:var(--gap-columns);padding-bottom:var(--space-lg);margin-bottom:var(--space-2xl);border-bottom:var(--rule-bar)solid var(--color-rule);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;display:grid}.section-intro p{max-width:48ch;font-size:var(--text-lead)}.work-section{padding-block:var(--section-gap)0}.project-story{margin-bottom:var(--space-2xl);grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"copy visual""facts facts";display:grid}.zing-story{grid-template-areas:"copy facts""visual visual"}.story-flip{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"visual copy""facts facts"}.project-copy{justify-content:center;gap:var(--space-md);padding:var(--space-xl);flex-direction:column;grid-area:copy;display:flex}.project-category{font-size:var(--text-sm);color:var(--color-muted)}.project-title{font-size:var(--text-section);text-transform:uppercase;letter-spacing:var(--tracking-display);max-width:16ch;font-weight:900;line-height:1}.project-bridge{padding-left:var(--space-md);border-left:var(--rule-bar)solid var(--color-rule);font-size:var(--text-md)}.project-links{align-items:center;gap:var(--space-sm)var(--space-lg);padding-top:var(--space-md);flex-wrap:wrap;display:flex}.project-facts{gap:var(--rule-bar);background:var(--color-rule);grid-area:facts;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-facts.has-four{grid-template-columns:repeat(4,minmax(0,1fr))}.zing-story .project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-facts>div{align-content:start;gap:var(--space-xs);padding:var(--space-lg);background:var(--color-paper);display:grid}.project-facts dt{font-size:var(--text-sm);color:var(--color-muted)}.project-facts dd{font-size:var(--text-md)}.quoteiq-visual,.zing-visual,.phones-visual{gap:var(--space-md);padding:var(--space-xl);background:var(--color-paper-2);flex-direction:column;grid-area:visual;display:flex}.quoteiq-visual figcaption,.zing-visual figcaption,.phones-visual figcaption{font-size:var(--text-sm);color:var(--color-muted);margin-top:auto}.quoteiq-visual figcaption a,.zing-visual figcaption a,.phones-visual figcaption a{color:var(--color-ink);font-weight:700}figcaption a:hover{background:var(--color-accent);color:var(--color-accent-ink)}.zing-screen img,.phone-screen img{border:var(--rule-bar)solid var(--color-rule);width:100%}.video-frame{aspect-ratio:16/9;border:var(--rule-bar)solid var(--color-rule);background:var(--color-ink);position:relative}.video-frame iframe,.video-facade{border:0;width:100%;height:100%;position:absolute;inset:0}.video-facade{cursor:pointer;background:0 0;padding:0}.video-facade img{object-fit:cover}.video-facade-label{padding:var(--space-sm)var(--space-lg);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-md);font-weight:700;position:absolute;bottom:0;left:0}.video-facade:hover .video-facade-label{background:var(--color-accent);color:var(--color-accent-ink)}.video-facade:active .video-facade-label{background:var(--color-paper);color:var(--color-ink)}.video-facade:focus-visible{outline-offset:-6px}.video-chapters{gap:var(--space-xs);display:grid}.video-chapters-label{font-size:var(--text-sm);color:var(--color-muted)}.video-chapters ul{gap:var(--rule-bar);background:var(--color-rule);border:var(--rule-bar)solid var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.video-chapters li{background:var(--color-paper);display:grid}.video-chapters button{align-items:baseline;gap:var(--space-sm);width:100%;height:100%;min-height:48px;padding:var(--space-xs)var(--space-md);background:var(--color-paper);text-align:left;font-size:var(--text-sm);border:0;font-weight:700;line-height:1.25;display:flex}.video-chapters .num{font-weight:900}.video-chapters button:hover{background:var(--color-paper-2)}.video-chapters button:active{background:var(--color-ink);color:var(--color-paper)}.video-chapters button.is-current{background:var(--color-accent);color:var(--color-accent-ink)}.video-chapters .is-mine{padding-inline:var(--space-2xs);background:var(--color-accent);color:var(--color-accent-ink);white-space:nowrap;margin-left:auto;font-weight:400}.zing-gallery{justify-content:center;gap:var(--space-xl);grid-template-columns:repeat(3,minmax(0,17.5rem));display:grid}.zing-screen,.phone-screen{gap:var(--space-sm);align-content:start;display:grid}.vt-waffir img{aspect-ratio:4/5;object-fit:contain;border:0}.zing-screen a{display:block}.zing-screen a:hover img{outline:var(--rule-bar)solid var(--color-accent)}.screen-annotation{gap:var(--space-3xs);font-size:var(--text-sm);line-height:1.35;display:grid}.screen-annotation strong{font-size:var(--text-md)}.phone-screen .screen-annotation span{color:var(--color-muted)}.zing-gallery-hint{font-size:var(--text-sm);color:var(--color-muted);display:none}.hint-touch{display:none}.phones-screens{grid-template-columns:repeat(var(--screens,2),minmax(0,16.25rem));justify-content:center;gap:var(--space-xl);display:grid}.project-index{gap:var(--space-xl);padding-top:var(--space-2xl);display:grid}.index-heading{gap:var(--gap-columns);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;display:grid}.index-heading h3{font-size:var(--text-section);text-transform:uppercase;letter-spacing:var(--tracking-display);font-weight:900;line-height:1}.index-table{border:var(--rule-bar)solid var(--color-rule)}.index-columns,.project-row{gap:var(--space-lg);padding:var(--space-md)var(--space-lg);grid-template-columns:5rem minmax(0,2.2fr) minmax(0,1.3fr) minmax(0,1.6fr) 4rem;display:grid}.index-columns{border-bottom:var(--rule-bar)solid var(--color-rule);font-size:var(--text-sm);color:var(--color-muted)}.index-list li+li{border-top:var(--rule-hair)solid var(--color-hair)}.project-row{align-items:baseline;text-decoration:none}.project-row:hover,.project-row:focus-visible{background:var(--color-accent);color:var(--color-accent-ink)}.project-row:active{background:var(--color-ink);color:var(--color-paper)}.project-row:hover .index-name span,.project-row:focus-visible .index-name span{color:var(--color-accent-ink)}.index-number{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.index-name{gap:var(--space-3xs);display:grid}.index-name h4{font-size:var(--text-lg);margin:0}.index-name span{font-size:var(--text-md);color:var(--color-muted)}.index-role,.index-stack{font-size:var(--text-md)}.index-open{font-size:var(--text-sm);text-underline-offset:.2em;justify-self:end;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.expertise-section{padding-top:var(--section-gap)}.statement-block{gap:var(--space-lg);display:grid}.statement{padding-bottom:var(--space-lg);border-bottom:var(--rule-bar)solid var(--color-rule);letter-spacing:var(--tracking-display);text-transform:uppercase;text-wrap:balance;overflow-wrap:break-word;font-size:clamp(1.75rem,5.2vw + .5rem,5.25rem);font-weight:900;line-height:.98}.author-signature{align-items:center;gap:var(--space-md);display:flex}.author-signature div{display:grid}.author-signature span{color:var(--color-muted)}.expertise-band{margin-top:var(--section-gap);padding-block:var(--section-gap-s);background:var(--color-paper-2);color:var(--color-ink);border-block:var(--rule-bar)solid var(--color-rule)}.expertise-layout{gap:var(--space-2xl);display:grid}.expertise-intro{gap:var(--gap-columns);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;display:grid}.expertise-note{font-size:var(--text-lead);max-width:48ch}.engineering-notes{grid-template-columns:repeat(3,minmax(0,1fr))}.engineering-notes>li{align-content:start;gap:var(--space-md);padding:var(--space-xl);display:grid}.note-number{font-size:var(--text-display-s);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.engineering-notes p{font-size:var(--text-md)}.engineering-notes a{justify-self:start}.reviews-section{padding-block:var(--section-gap)}.reviews-heading{justify-content:space-between;align-items:end;gap:var(--space-md)var(--gap-columns);padding-bottom:var(--space-lg);margin-bottom:var(--space-2xl);border-bottom:var(--rule-bar)solid var(--color-rule);flex-wrap:wrap;display:flex}.reviews-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-layout figure{gap:var(--space-lg);padding:var(--space-xl);flex-direction:column;display:flex}.reviews-layout .review-featured{align-items:end;gap:var(--space-xl);grid-column:1/-1;grid-template-columns:minmax(0,8fr) minmax(0,4fr);display:grid}.review-featured figcaption{padding-left:var(--space-lg);border-left:var(--rule-bar)solid var(--color-rule);font-size:var(--text-lg)}.reviews-layout blockquote{font-size:var(--text-lg);line-height:1.5}.review-featured blockquote{max-width:52ch;font-size:var(--text-xl);font-weight:700;line-height:1.35}.reviews-layout figcaption{margin-top:auto;font-weight:700;display:grid}.reviews-layout figcaption span{font-size:var(--text-sm);color:var(--color-muted);font-weight:400}.contact-section{padding-bottom:var(--section-gap)}.contact-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.contact-intro{gap:var(--space-lg);padding:var(--space-xl);flex-direction:column;display:flex}.contact-intro h2{font-size:var(--text-display-s)}.contact-intro__description{font-size:var(--text-lead)}.contact-intro__note{color:var(--color-muted)}.contact-profiles{margin-top:auto}.contact-profiles__label{padding-bottom:var(--space-xs);font-size:var(--text-sm);color:var(--color-muted)}.contact-profile-link{align-items:center;gap:var(--space-sm);border-top:var(--rule-hair)solid var(--color-hair);overflow-wrap:anywhere;min-height:48px;font-weight:700;text-decoration:none;display:flex}.contact-profile-link:hover{background:var(--color-accent);color:var(--color-accent-ink)}.contact-profile-link:active{background:var(--color-ink);color:var(--color-paper)}.contact-panel{gap:var(--rule-bar);background:var(--color-rule);display:grid}.contact-panel>*{background:var(--color-paper);color:var(--color-ink)}.inquiry-type legend{float:left;width:100%;padding:var(--space-md)var(--space-lg)0;font-size:var(--text-sm);color:var(--color-muted)}.inquiry-options{clear:both;margin-top:var(--space-sm);border-top:var(--rule-bar)solid var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inquiry-chip{min-height:96px;padding:var(--space-lg);font-size:var(--text-2xl);text-transform:uppercase;letter-spacing:var(--tracking-display);cursor:pointer;align-items:center;font-weight:900;line-height:1;display:flex;position:relative}.inquiry-chip+.inquiry-chip{border-left:var(--rule-bar)solid var(--color-rule)}.inquiry-chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.inquiry-chip:hover{background:var(--color-paper-2)}.inquiry-chip:has(input:checked){background:var(--color-accent);color:var(--color-accent-ink)}.inquiry-chip:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:-6px}.inquiry-chip:active{background:var(--color-ink);color:var(--color-paper)}.contact-panel__guidance{padding:var(--space-sm)var(--space-lg);font-size:var(--text-sm);color:var(--color-muted)}.contact-fields{gap:var(--rule-bar);background:var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-field{background:var(--color-paper);display:grid}.contact-field--wide{grid-column:1/-1}.contact-field label{padding:var(--space-md)var(--space-lg)0;font-size:var(--text-sm);color:var(--color-muted)}.contact-field__control{width:auto;min-height:52px;margin:0 var(--space-lg)var(--space-md);padding:var(--space-xs)0;border:0;border-bottom:2px solid var(--color-muted);border-radius:var(--radius-card);color:var(--color-ink);font-size:var(--text-lg);background:0 0}textarea.contact-field__control{resize:vertical;min-height:9rem}.contact-field__control::placeholder{color:var(--color-muted)}.contact-field:hover,.contact-field:focus-within{background:var(--color-paper-2)}.contact-field__control:hover{border-bottom-color:var(--color-ink)}.contact-field__control:focus-visible{outline-offset:2px;border-bottom-color:var(--color-ink)}.contact-field__control:disabled{opacity:.6;cursor:not-allowed}.contact-panel__message:empty{display:none}.contact-panel__message{gap:var(--space-2xs);padding:var(--space-md)var(--space-lg);font-weight:700;display:grid}.contact-panel__message.is-success{background:var(--color-ink);color:var(--color-paper);font-weight:400}.contact-panel__message.is-success strong{font-size:var(--text-2xl);text-transform:uppercase;font-weight:900}.contact-panel__message.is-error{color:var(--color-error)}.contact-submit{background:var(--color-ink);min-height:52px;color:var(--color-paper);font-size:var(--text-xl);text-transform:uppercase;letter-spacing:var(--tracking-display);border:0;font-weight:900}.contact-submit:hover{background:var(--color-accent);color:var(--color-accent-ink)}.contact-submit:active{background:var(--color-paper);color:var(--color-ink)}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.upwork-close{margin-bottom:var(--section-gap);padding-block:var(--section-gap-s);background:var(--color-ink);color:var(--color-paper)}.upwork-close-layout{gap:var(--gap-columns);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;display:grid}.upwork-close-layout h2{font-size:var(--text-display)}.upwork-close-layout div{gap:var(--space-lg);justify-items:start;display:grid}.upwork-close .button-primary{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-paper)}.upwork-close .button-primary:hover{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.site-footer{padding-bottom:var(--space-xl)}.footer-top{gap:var(--gap-columns);padding-block:var(--space-xl);border-top:var(--rule-bar)solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.footer-line{font-size:var(--text-section);text-transform:uppercase;letter-spacing:var(--tracking-display);font-weight:900;line-height:1}.footer-bottom{justify-content:space-between;gap:var(--space-md)var(--gap-columns);padding-top:var(--space-md);border-top:var(--rule-hair)solid var(--color-hair);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.footer-bottom nav{gap:var(--space-lg);flex-wrap:wrap;display:flex}.footer-bottom a,.back-top{font-weight:700}.footer-bottom a:hover,.back-top:hover{background:var(--color-accent);color:var(--color-accent-ink)}@view-transition{navigation:auto}.vt-quoteiq{view-transition-name:quoteiq-shots}.vt-zingdata{view-transition-name:zingdata-shots}.vt-arrive{view-transition-name:arrive-shots}.vt-listaise{view-transition-name:listaise-shots}.vt-waffir{view-transition-name:waffir-shots}.vt-batal{view-transition-name:batal-shots}::view-transition-group(*){animation-duration:.34s;animation-timing-function:var(--ease-out)}.case-intro{margin-top:var(--space-lg);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.case-copy{gap:var(--space-lg);padding:var(--space-xl);flex-direction:column;display:flex}.case-back{align-self:flex-start}.case-copy h1{max-width:none;font-size:clamp(2.25rem,3.6vw + .5rem,4.5rem)}.case-summary{font-size:var(--text-lead);max-width:40ch}.case-copy .text-link{align-self:flex-start;margin-top:auto}.case-lead{background:var(--color-paper-2);display:flex}.case-lead>figure{flex:1}.has-owned .case-intro{grid-template-areas:"copy lead""owned lead"}.has-owned .case-copy{grid-area:copy}.has-owned .case-lead{grid-area:lead}.case-owned-card{gap:var(--space-xs);padding:var(--space-xl);grid-area:owned;display:grid}.cells>.case-owned-card{background:var(--color-ink);color:var(--color-paper)}.case-owned-card p{font-size:var(--text-sm)}.case-owned-card strong{font-size:var(--text-lg)}.case-facts{width:calc(100% - 2*var(--gutter));max-width:calc(var(--container) - 2*var(--gutter));margin-top:var(--space-2xl);grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:0}.case-facts>div{align-content:start;gap:var(--space-xs);padding:var(--space-lg);display:grid}.case-facts dt,.case-sources dt,.case-decisions dt,.case-owned span{font-size:var(--text-sm);color:var(--color-muted)}.case-inside,.case-decisions,.case-scope,.case-sources{padding-top:var(--section-gap)}.case-heading{gap:var(--gap-columns);padding-bottom:var(--space-lg);margin-bottom:var(--space-2xl);border-bottom:var(--rule-bar)solid var(--color-rule);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;display:grid}.case-heading p{font-size:var(--text-lead);max-width:48ch}.case-plane{border:var(--rule-bar)solid var(--color-rule)}.case-decisions ol{display:grid}.case-decisions li{gap:var(--space-md)var(--space-lg);padding-block:var(--space-xl);border-top:var(--rule-bar)solid var(--color-rule);grid-template-columns:6rem minmax(0,1fr);display:grid}.case-number{font-size:var(--text-display-s);font-variant-numeric:tabular-nums;grid-row:span 2;font-weight:900;line-height:1}.case-decisions h3{font-size:var(--text-xl);max-width:none}.case-decisions dl{gap:var(--gap-columns);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case-decisions dl div{align-content:start;gap:var(--space-xs);display:grid}.case-decisions dd{font-size:var(--text-md)}.case-owned{gap:var(--space-xs);max-width:60ch;margin-bottom:var(--space-xl);font-size:var(--text-lead);display:grid}.case-scope ol{grid-template-columns:repeat(3,minmax(0,1fr))}.case-scope li{align-content:start;gap:var(--space-sm);padding:var(--space-xl);display:grid}.case-scope h3{font-size:var(--text-2xl);text-transform:uppercase;letter-spacing:var(--tracking-display);font-weight:900}.case-sources h2{max-width:none;padding-bottom:var(--space-lg);margin-bottom:var(--space-lg);border-bottom:var(--rule-bar)solid var(--color-rule)}.case-sources dl div{gap:var(--gap-columns);padding-block:var(--space-md);border-bottom:var(--rule-hair)solid var(--color-hair);grid-template-columns:12rem minmax(0,1fr);display:grid}.case-sources dd{max-width:70ch;font-size:var(--text-md)}.case-sources a{font-weight:700}.case-sources a:hover{background:var(--color-accent);color:var(--color-accent-ink)}.case-next{gap:var(--space-lg);padding-block:var(--section-gap);display:grid}.case-next-link{gap:var(--space-sm);padding:var(--space-xl);border:var(--rule-bar)solid var(--color-rule);text-decoration:none;display:grid}.case-next-label{font-size:var(--text-sm)}.case-next-title{font-size:var(--text-mast);letter-spacing:-.04em;text-transform:uppercase;overflow-wrap:break-word;min-width:0;font-weight:900;line-height:.86}.case-next-link:hover{background:var(--color-accent);color:var(--color-accent-ink)}.case-next-link:active{background:var(--color-ink);color:var(--color-paper)}.case-next-actions{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}@media (max-width:75rem){.hero-body{grid-template-columns:minmax(0,1fr)}.hero-copy{padding:var(--space-xl)0;border-right:0;border-bottom:var(--rule-bar)solid var(--color-rule)}.hero-author{margin-top:0;padding-bottom:0}.annotated{--screen-h:32rem}}@media (max-width:64rem){.desktop-nav,.nav-cta,.theme-toggle span{display:none}.menu-toggle{display:flex}.project-story,.zing-story,.story-flip{grid-template-columns:minmax(0,1fr);grid-template-areas:"visual""copy""facts"}.project-facts,.project-facts.has-four{grid-template-columns:repeat(2,minmax(0,1fr))}.engineering-notes,.case-scope ol{grid-template-columns:minmax(0,1fr)}.contact-layout,.case-intro,.has-owned .case-intro{grid-template-columns:minmax(0,1fr);grid-template-areas:none}.has-owned .case-copy,.has-owned .case-lead,.case-owned-card{grid-area:auto}.case-decisions dl{grid-template-columns:minmax(0,1fr)}}@media (max-width:47.5rem){.section-intro,.index-heading,.expertise-intro,.upwork-close-layout,.case-heading,.footer-top,.annotated{grid-template-columns:minmax(0,1fr)}.annotated-figure{border-right:0;border-bottom:var(--rule-bar)solid var(--color-rule);height:auto}.annotated-screen,.annotated-image{width:100%;height:auto}.annotated-tabs,.annotated-panel{display:none}.annotated-rows{display:grid}.annotated-rows details+details{border-top:var(--rule-bar)solid var(--color-rule)}.annotated-rows summary{align-items:center;gap:var(--space-md);min-height:60px;padding:var(--space-xs)var(--space-md);cursor:pointer;grid-template-columns:auto minmax(0,1fr);font-weight:700;line-height:1.25;list-style:none;display:grid}.annotated-rows summary::-webkit-details-marker{display:none}.annotated-rows summary span{font-size:var(--text-2xl);font-weight:900}.annotated-rows summary:hover{background:var(--color-paper-2)}.annotated-rows details[open] summary{background:var(--color-accent);color:var(--color-accent-ink)}.annotated-rows details p{padding:var(--space-md)var(--space-md)0;font-size:var(--text-md)}.annotated-rows details p:last-child{padding-bottom:var(--space-md)}.interface-heading>span,.interface-heading a,.interface-caption{padding-inline:var(--space-md)}.project-copy,.quoteiq-visual,.zing-visual,.phones-visual,.contact-intro,.case-copy,.case-owned-card,.engineering-notes>li,.reviews-layout figure,.case-scope li,.case-next-link{padding:var(--space-lg)var(--space-md)}.project-facts,.project-facts.has-four,.zing-story .project-facts,.reviews-layout,.case-facts,.contact-fields{grid-template-columns:minmax(0,1fr)}.project-facts>div,.case-facts>div{padding:var(--space-md)}.video-chapters ul{grid-template-columns:repeat(2,minmax(0,1fr))}.video-chapters button{align-content:start;justify-items:start;gap:var(--space-3xs);display:grid}.video-chapters .is-mine{margin-left:0}.video-facade-label{padding:var(--space-xs)var(--space-md);font-size:var(--text-sm)}.zing-gallery{justify-content:start;gap:var(--space-md);scroll-snap-type:x mandatory;padding-bottom:var(--space-xs);grid-template-columns:repeat(3,72%);overflow-x:auto}.zing-screen,.phone-screen{scroll-snap-align:start}.zing-gallery-hint{display:block}.phones-screens{grid-template-columns:repeat(var(--screens,2),60%);scroll-snap-type:x mandatory;padding-bottom:var(--space-xs);justify-content:start;gap:var(--space-md);overflow-x:auto}.index-columns{display:none}.project-row{gap:var(--space-2xs)var(--space-md);padding:var(--space-md);grid-template-columns:3rem minmax(0,1fr)}.index-number{grid-row:span 3}.index-role,.index-stack,.index-open{font-size:var(--text-sm);grid-column:2;justify-self:start}.reviews-layout .review-featured{grid-template-columns:minmax(0,1fr)}.review-featured figcaption{border-left:0;padding-left:0}.inquiry-chip{min-height:72px;padding:var(--space-md);white-space:nowrap;font-size:clamp(1.125rem,4.4vw,1.5625rem)}.case-decisions li{grid-template-columns:minmax(0,1fr)}.case-number{grid-row:auto}.case-sources dl div{gap:var(--space-2xs);grid-template-columns:minmax(0,1fr)}.hero-lead{font-size:var(--text-xl)}}@media (max-width:25rem){.role-link{font-size:var(--text-sm)}}@media (pointer:coarse){.hint-touch{display:inline}.hint-keys{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.name-banner span{animation:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}
