@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;tab-size:4}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100dvh}img,picture,video,canvas,svg{max-width:100%;display:block}img,video{height:auto}input,button,textarea,select{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{padding:0;list-style:none}table{border-collapse:collapse}[hidden]{display:none!important}}@layer tokens{:root,[data-theme=light]{--bg-page:#ecefef;--bg-card:#fff;--bg-raised:#ebf0f0;--bg-subtle:#e6e6e6;--bg-glass:#fffc;--scrim-50:#ffffff80;--scrim-30:#ffffff4d;--text-primary:#191919;--text-90:#191919e6;--text-80:#191919cc;--text-secondary:#191919b3;--line-8:#19191914;--line-16:#19191929;--line-24:#1919193d;--accent:#ffb05c;--accent-fixed:#ffab2b;--effect-dot:#ff7300;--accent-30:#ffb05c4d;--accent-soft:#ffb05c40;--shadow:#0000002e;--focus-ring:var(--text-primary)}[data-theme=dark]{--bg-page:#0f0f0f;--bg-card:#191919;--bg-raised:#1e1e1e;--bg-subtle:#282828;--bg-glass:#191919cc;--scrim-50:#19191980;--scrim-30:#1919194d;--text-primary:#f5f5f5;--text-90:#ffffffe6;--text-80:#fffc;--text-secondary:#ffffffb3;--line-8:#e6e6e614;--line-16:#e6e6e629;--line-24:#e6e6e63d;--accent:#ff9524;--accent-30:#ff95244d;--accent-soft:#ff952433;--shadow:#000000b3;--focus-ring:var(--text-primary)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg-page:#0f0f0f;--bg-card:#191919;--bg-raised:#1e1e1e;--bg-subtle:#282828;--bg-glass:#191919cc;--scrim-50:#19191980;--scrim-30:#1919194d;--text-primary:#f5f5f5;--text-90:#ffffffe6;--text-80:#fffc;--text-secondary:#ffffffb3;--line-8:#e6e6e614;--line-16:#e6e6e629;--line-24:#e6e6e63d;--accent:#ff9524;--accent-30:#ff95244d;--accent-soft:#ff952433;--shadow:#000000b3;--focus-ring:var(--text-primary)}}:root{--space-2:2px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-40:40px;--space-56:56px;--space-80:80px;--space-100:100px;--space-120:120px;--space-140:140px;--space-4:4px;--space-20:20px;--space-48:48px;--space-64:64px;--space-72:72px;--radius-2:2px;--radius-4:4px;--radius-8:8px;--radius-12:12px;--radius-16:16px;--radius-24:24px;--radius-28:28px;--radius-40:40px;--radius-pill:1000px;--blur-8:8px;--blur-12:12px;--blur-16:16px;--blur-20:20px;--blur-24:24px;--blur-32:32px;--blur-40:40px;--blur-glass:8px;--blur-chip-hover:12px;--blur-header:40px;--link-rest:.64;--link-rest-dark:.5;--link-hover:.8;--surface-alpha:90%;--surface:color-mix(in srgb, var(--bg-card) var(--surface-alpha), transparent);--surface-raised:color-mix(in srgb, var(--bg-raised) var(--surface-alpha), transparent);--surface-subtle:color-mix(in srgb, var(--bg-subtle) var(--surface-alpha), transparent);--surface-blur:blur(var(--blur-glass));--surface-hover:light-dark(color-mix(in srgb, var(--text-primary) 6%, var(--surface)),var(--surface-raised));--ls-badge:.04em;--bp-desktop-xl:1600px;--bp-desktop:1200px;--bp-tablet:810px;--bp-mobile-lg:640px;--font-sans:"Onest", "Onest Fallback", system-ui, -apple-system, sans-serif;--fs-display:clamp(2.125rem, 2.0179rem + .4762vw, 2.375rem);--lh-display:1.2;--fw-display:500;--ls-display:-.01em;--text-display:var(--fw-display) var(--fs-display)/var(--lh-display) var(--font-sans);--fs-hero:clamp(1.625rem, 1.5179rem + .4762vw, 1.875rem);--lh-hero:1.2;--fw-hero:600;--ls-hero:-.01em;--text-hero:var(--fw-hero) var(--fs-hero)/var(--lh-hero) var(--font-sans);--fs-heading:clamp(1.375rem, 1.2679rem + .4762vw, 1.625rem);--lh-heading:1.2;--fw-heading:600;--ls-heading:0;--text-heading:var(--fw-heading) var(--fs-heading)/var(--lh-heading) var(--font-sans);--fs-title:clamp(1.125rem, 1.0714rem + .2381vw, 1.25rem);--lh-title:1.2;--fw-title:600;--ls-title:0;--text-title:var(--fw-title) var(--fs-title)/var(--lh-title) var(--font-sans);--fs-lead:clamp(1rem, .9464rem + .2381vw, 1.125rem);--lh-lead:1.5;--fw-lead:500;--ls-lead:0;--text-lead:var(--fw-lead) var(--fs-lead)/var(--lh-lead) var(--font-sans);--fs-label:clamp(.875rem, .8214rem + .2381vw, 1rem);--lh-label:1.5;--fw-label:500;--ls-label:0;--text-label:var(--fw-label) var(--fs-label)/var(--lh-label) var(--font-sans);--fs-body:clamp(.875rem, .8214rem + .2381vw, 1rem);--lh-body:1.5;--fw-body:400;--ls-body:0;--text-body:var(--fw-body) var(--fs-body)/var(--lh-body) var(--font-sans);--fs-caption:.875rem;--lh-caption:1.5;--fw-caption:400;--ls-caption:0;--text-caption:var(--fw-caption) var(--fs-caption)/var(--lh-caption) var(--font-sans);--fs-numeral:clamp(2.5rem, 2.0714rem + 1.9048vw, 3.5rem);--lh-numeral:1;--fw-numeral:600;--ls-numeral:-.01em;--text-numeral:var(--fw-numeral) var(--fs-numeral)/var(--lh-numeral) var(--font-sans);--fs-numeral-xl:clamp(4rem, 2.7143rem + 5.7143vw, 7rem);--lh-numeral-xl:1;--fw-numeral-xl:600;--ls-numeral-xl:-.01em;--text-numeral-xl:var(--fw-numeral-xl) var(--fs-numeral-xl)/var(--lh-numeral-xl) var(--font-sans);--fs-overline:clamp(.75rem, .6964rem + .2381vw, .875rem);--lh-overline:1.2;--fw-overline:400;--ls-overline:.1em;--text-overline:var(--fw-overline) var(--fs-overline)/var(--lh-overline) var(--font-sans);--ease-hb-out:cubic-bezier(.12, .23, .5, 1);--ease-hb-inout:cubic-bezier(.44, 0, .56, 1);--ease-page:cubic-bezier(.27, 0, .51, 1);--ease-hb-page:var(--ease-page);--dur-press:.1s;--dur-fast:.2s;--dur-base:.3s;--dur-slow:.4s;--dur-page:.3s;--dur-scroll:.8s;--spring-ui:linear(0, .0235, .083, .1647, .2582, .3557, .4517, .5423, .6252, .6991, .7636, .8186, .8647, .9025, .933, .9571, .9756, .9895, .9996, 1.0065, 1.0111, 1.0137, 1.0149, 1.0151, 1.0146, 1.0136, 1.0123, 1.0108, 1.0093, 1.0079, 1.0066, 1.0053, 1.0043, 1.0033, 1.0025, 1.0019, 1.0013, 1.0009, 1.0006, 1);--spring-ui-duration:.4s;--spring-logo:linear(0, .0474, .1673, .3287, .5056, .6777, .8309, .9567, 1.0514, 1.1151, 1.1507, 1.1629, 1.157, 1.1387, 1.1129, 1.0842, 1.0559, 1.0305, 1.0094, .9933, .9823, .9759, .9735, .9742, .9769, .981, .9857, .9903, .9945, .9981, 1.0008, 1.0027, 1.0038, 1.0043, 1.0042, 1.0038, 1.0032, 1.0024, 1.0017, 1);--spring-logo-duration:.4s;--spring-cover:linear(0, .1044, .2363, .3504, .4476, .5302, .6005, .6603, .7111, .7543, .7911, .8223, .8489, .8715, .8907, .9071, .921, .9328, .9428, .9514, .9587, .9648, .9701, .9746, .9784, .9816, .9844, .9867, .9887, .9904, .9918, .993, .9941, .995, .9957, .9964, .9969, .9974, .9978, 1);--spring-cover-duration:1.25s;--spring-panel:linear(0, .0422, .1338, .2417, .3491, .4482, .536, .6119, .6765, .7311, .7768, .8149, .8466, .873, .8949, .913, .928, .9404, .9507, .9592, .9663, .9721, .9769, .9809, .9842, .9869, .9892, .9911, .9926, .9939, .9949, .9958, .9965, .9971, .9976, .998, .9984, .9987, .9989, 1);--spring-panel-duration:.74s;--spring-stage:linear(0, .0247, .0847, .1637, .2509, .3392, .424, .5029, .5745, .6383, .6943, .743, .7849, .8207, .851, .8766, .8981, .9161, .931, .9434, .9537, .9622, .9692, .9749, .9796, .9834, .9866, .9891, .9912, .9929, .9943, .9954, .9963, .997, .9976, .9981, .9984, .9988, .999, 1);--spring-stage-duration:.72s;--spring-snap:linear(0, .06, .1754, .2973, .4089, .5059, .5881, .6571, .7147, .7628, .8027, .836, .8636, .8866, .9057, .9216, .9348, .9458, .9549, .9625, .9689, .9741, .9785, .9821, .9851, .9876, .9897, .9914, .9929, .9941, .9951, .9959, .9966, .9972, .9977, .998, .9984, .9986, .9989, 1);--spring-snap-duration:.72s;--spring-lightbox:linear(0, .024, .0823, .1594, .2448, .3315, .4152, .4934, .5646, .6282, .6844, .7334, .7758, .8122, .8432, .8694, .8916, .9102, .9258, .9388, .9496, .9586, .966, .9722, .9772, .9814, .9848, .9876, .9899, .9918, .9933, .9946, .9956, .9964, .9971, .9977, .9981, .9985, .9988, 1);--spring-lightbox-duration:.4s}@media (pointer:coarse){:root{--surface-alpha:100%;--surface-blur:none}}@media (width>=810px){:root{--ls-overline:.15em}}}@layer base{:root{color-scheme:light dark}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}html{background:var(--bg-page)}body{background:var(--bg-page);color:var(--text-primary);font:var(--text-body);letter-spacing:var(--ls-body);font-synthesis:none}::selection{background:var(--accent-30)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.display{font:var(--text-display);letter-spacing:var(--ls-display);text-wrap:balance}.hero{font:var(--text-hero);letter-spacing:var(--ls-hero);text-wrap:balance}.heading{font:var(--text-heading);letter-spacing:var(--ls-heading);text-wrap:balance}.title{font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:balance}.lead{font:var(--text-lead);letter-spacing:var(--ls-lead);text-wrap:pretty}.label{font:var(--text-label);letter-spacing:var(--ls-label)}.body{font:var(--text-body);letter-spacing:var(--ls-body);text-wrap:pretty}.numeral{font:var(--text-numeral);letter-spacing:var(--ls-numeral)}.numeral-xl{font:var(--text-numeral-xl);letter-spacing:var(--ls-numeral-xl)}.caption{font:var(--text-caption);letter-spacing:var(--ls-caption)}.overline{font:var(--text-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--text-secondary)}h1,h2,h3,h4{text-wrap:balance}p,li,blockquote{text-wrap:pretty}:where(table,[data-numeric]){font-variant-numeric:tabular-nums}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}[data-theme=dark]{--link-rest:var(--link-rest-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--link-rest:var(--link-rest-dark)}}html.lenis,html.lenis body{height:auto}html{scrollbar-gutter:stable}.lenis.lenis-stopped{overflow:clip}.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}:root{--case-pad:var(--space-40);--case-pad-y:var(--space-40);--case-text:400 var(--fs-lead) / 1.6 var(--font-sans);--anchor-offset:84px;--case-sticky-offset:var(--anchor-offset);--case-measure:56ch;--fig-h:min(80svh, 820px);--slide-h:clamp(260px, 46svh, 520px)}@media (width<=809.98px){:root{--case-pad:var(--space-24);--case-pad-y:var(--space-24);--slide-h:clamp(200px, 34svh, 320px)}}:root:has([data-case],[data-project]){scrollbar-gutter:stable}:root,[data-theme=light]{--syn-keyword:#7a3fc0;--syn-function:#1d5fb8;--syn-string:#17703f;--syn-constant:#0b6f7c;--syn-param:#8a3d5c;--syn-comment:#5e6a6a;--syn-punct:#4f5a5a}[data-theme=dark]{--syn-keyword:#c4a1f5;--syn-function:#7db4f5;--syn-string:#8fd19e;--syn-constant:#6fd0d8;--syn-param:#e3a3bd;--syn-comment:#8c9696;--syn-punct:#9aa3a3}@media (prefers-color-scheme:dark){:root:not([data-theme]){--syn-keyword:#c4a1f5;--syn-function:#7db4f5;--syn-string:#8fd19e;--syn-constant:#6fd0d8;--syn-param:#e3a3bd;--syn-comment:#8c9696;--syn-punct:#9aa3a3}}:root{--astro-code-foreground:var(--text-80);--astro-code-background:var(--bg-raised);--astro-code-token-constant:var(--syn-constant);--astro-code-token-string:var(--syn-string);--astro-code-token-comment:var(--syn-comment);--astro-code-token-keyword:var(--syn-keyword);--astro-code-token-parameter:var(--syn-param);--astro-code-token-function:var(--syn-function);--astro-code-token-string-expression:var(--syn-string);--astro-code-token-punctuation:var(--syn-punct);--astro-code-token-link:var(--syn-function);--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}}@layer layout{.layout{--layout-max:1760px;gap:var(--space-12);padding:var(--space-12);min-height:100dvh;max-width:var(--layout-max);grid-template-columns:minmax(0,1fr);margin-inline:auto;display:grid}@media (width>=1200px){.layout{grid-template-columns:minmax(0,1fr) clamp(380px,31vw,520px)}.layout__aside{top:var(--space-12);height:calc(100dvh - 2 * var(--space-12));align-self:start;position:sticky}}.stack{gap:var(--stack-gap,var(--space-24));flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--cluster-gap,var(--space-12));flex-wrap:wrap;display:flex}.cursor-field{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.cursor-field[hidden]{display:none}.shell{--panel-w:clamp(380px, 31vw, 520px);--panel-w-reading:clamp(300px, 24vw, 340px);z-index:1;align-items:start;position:relative}.shell[data-reading]{--panel-w:var(--panel-w-reading)}.shell__aside{z-index:2;gap:var(--space-12);flex-direction:column;min-width:0;display:flex}.shell__panel{flex-direction:column;min-width:0;display:flex}.shell__panel>.panel{flex:auto}.shell__col{gap:var(--space-12);flex-direction:column;min-width:0;display:flex}.shell__main{flex:auto;min-width:0}.shell__main:focus{outline:none}@media (width>=1200px){.layout.shell{grid-template-columns:minmax(0, 1fr) var(--panel-w-live,var(--panel-w))}.shell__aside{grid-area:1/2}.shell__col{min-height:calc(100dvh - 2 * var(--space-12));grid-area:1/1}.shell__panel{flex:auto;min-height:0}}@media (width>=1200px) and (height<=600px){.layout__aside{height:auto;position:static}}.home,.home__section{gap:var(--space-12);flex-direction:column;display:flex}.home-head{justify-content:space-between;align-items:baseline;gap:var(--space-16);padding:var(--space-40) var(--space-24) var(--space-4);display:flex}.cases-pair{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bento{gap:var(--space-12);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(340px,auto);display:grid}.bento__item{min-width:0;display:grid}.bento__item--big{grid-area:span 2/span 2}.bento__item--wide{grid-column:span 2}.bento__item--full{grid-column:1/-1}.notes-grid{gap:var(--space-12);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.notes-grid__item{display:grid}.exp{gap:var(--space-12);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.how{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(180px,auto);display:grid}.how-fact{grid-column:auto}.how-tile--iterator{grid-area:2/1}.how-tile--builder{grid-area:2/2}@media (width<=809.98px){.home-head{padding:var(--space-24) var(--space-12) var(--space-4)}.cases-pair{grid-template-columns:minmax(0,1fr)}.home__section:has(>.notes-grid){overflow:clip}.notes-grid{gap:var(--space-12);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-12));padding:var(--space-4) var(--space-12);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-12);scrollbar-width:none;display:flex;overflow-x:auto}.notes-grid::-webkit-scrollbar{display:none}.notes-grid__item{scroll-snap-align:start;flex:0 0 82%}.how{grid-template-columns:minmax(0,1fr)}.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(190px,auto)}.bento__item--big{grid-row:span 1}.bento__item--big,.bento__item--wide,.bento__item--full{grid-column:1/-1}.how{grid-auto-rows:auto}.how-tile--iterator,.how-tile--builder,.how-fact{grid-area:auto/1}}}@layer components{.surface,.card{background:var(--surface);backdrop-filter:var(--surface-blur);color:var(--text-primary)}:is(.surface,.card) :is(.surface,.card){backdrop-filter:none}.card{border-radius:var(--radius-40)}@supports (corner-shape:superellipse(1.5)){.card,.row,.nrow,.rstep,.reel,.cv__frame,.figure__zoom,.case-hero__cover,.dd__list{corner-shape:superellipse(1.5)}}:root{--inset-island:calc(var(--space-12) + var(--space-24))}.island{--surface:var(--surface-raised);--surface-hover:color-mix(in srgb, var(--text-primary) 6%, var(--surface-raised));isolation:isolate;padding:var(--space-12);border-radius:var(--radius-40);position:relative}.island:before{content:"";z-index:-1;border-radius:inherit;background:var(--bg-glass);backdrop-filter:var(--surface-blur);opacity:var(--island-a,1);pointer-events:none;position:absolute;inset:0}@supports (corner-shape:superellipse(1.5)){.island,.island:before{corner-shape:superellipse(1.5)}}.island :is(.card,.surface,.cover-card__link){border-radius:var(--radius-28)}.island :is(.card,.surface){backdrop-filter:none}.island>:is(.home-head,.work__head,.notes__head){padding:var(--space-32) var(--space-24) var(--space-4)}@media (width<=809.98px){.island>:is(.home-head,.work__head,.notes__head){padding-top:var(--space-24)}}.btn{justify-content:center;align-items:center;gap:var(--space-8);min-height:48px;padding:12px var(--space-24);border-radius:var(--radius-pill);background:var(--text-90);color:var(--bg-card);font:var(--text-label);letter-spacing:var(--ls-label);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;text-decoration:none;display:inline-flex}.btn:active{background:var(--text-secondary)}@media (hover:hover){.btn:hover{background:var(--text-80)}.btn:hover:active{background:var(--text-secondary)}}.btn.secondary{background:var(--line-8);color:var(--text-primary);backdrop-filter:var(--surface-blur)}.btn.secondary:active{background:var(--line-24)}@media (hover:hover){.btn.secondary:hover{background:var(--line-16)}.btn.secondary:hover:active{background:var(--line-24)}}.btn.wide{width:100%;min-height:64px;display:flex}.tag{min-height:32px;padding:var(--space-4) var(--space-16);border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--text-primary);font:var(--text-caption);letter-spacing:var(--ls-caption);white-space:nowrap;align-items:center;font-weight:500;display:inline-flex}.btn__swap{justify-items:center;display:inline-grid}.btn__swap>*{grid-area:1/1}.btn__swap-b,[data-copied]>.btn__swap>.btn__swap-a{opacity:0}[data-copied]>.btn__swap>.btn__swap-b{opacity:1}.talk-footer{gap:var(--space-12);flex-direction:column;display:flex}.talk-footer__title{font:var(--text-display);letter-spacing:var(--ls-display);text-wrap:balance}.talk-footer__card{align-items:flex-start;gap:var(--space-24);padding:var(--space-56) var(--inset-island) var(--space-32);flex-direction:column;display:flex}.talk-footer__text{max-inline-size:62ch;color:var(--text-secondary);font:var(--text-lead);letter-spacing:var(--ls-lead)}.talk-footer__actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.talk-footer__links{margin-inline:calc(-1 * var(--space-12));flex-wrap:wrap;display:flex}.talk-footer__link{min-height:44px;padding-inline:var(--space-12);border-radius:var(--radius-pill);color:var(--text-primary);font:var(--text-body);letter-spacing:var(--ls-body);opacity:var(--link-rest);-webkit-tap-highlight-color:transparent;align-items:center;text-decoration:none;display:inline-flex}.talk-footer__link:active{opacity:1}@media (hover:hover){.talk-footer__link:hover{opacity:var(--link-hover)}.talk-footer__link:hover:active{opacity:1}}.talk-footer__legal{justify-content:space-between;align-items:baseline;gap:var(--space-4) var(--space-24);inline-size:100%;color:var(--text-secondary);font:var(--text-caption);letter-spacing:var(--ls-caption);flex-wrap:wrap;margin-block-start:auto;padding-block-start:var(--space-40);font-weight:500;display:flex}.talk-footer__ds{min-height:0;font:inherit;letter-spacing:inherit;margin-inline-start:auto;padding-inline:0}@media (width<=809.98px){.talk-footer__ds{display:none}}@media (width>=810px){.talk-footer__card{min-height:22rem}}@media (width<=809.98px){.talk-footer__card{padding:var(--space-40) var(--inset-island) var(--space-24)}}.cv{gap:var(--space-12);flex-direction:column;display:flex}.cv__intro{align-items:flex-start;gap:var(--space-16);padding:var(--space-32) var(--inset-island) var(--space-24);flex-direction:column;display:flex}@media (width>=810px){.cv__intro{padding:var(--space-56) var(--inset-island) var(--space-40)}}.cv__lead{max-inline-size:62ch}.cv__actions{gap:var(--space-8);flex-wrap:wrap;margin-block-start:var(--space-8);display:flex}.cv__viewer{padding:var(--space-12)}.cv__frame{block-size:max(30rem, calc(100dvh - var(--space-12) * 4));border-radius:calc(var(--radius-40) - var(--space-12));background:var(--bg-raised);position:relative;overflow:hidden}.cv__iframe{pointer-events:auto;border:0;block-size:100%;inline-size:100%;position:absolute;inset:0}.cv__loader{place-content:center;justify-items:center;gap:var(--space-16);color:var(--text-secondary);font:var(--text-label);letter-spacing:var(--ls-label);display:grid;position:absolute;inset:0}.cv__sheet{aspect-ratio:1/1.35;border-radius:var(--radius-8);background:repeating-linear-gradient(to bottom, var(--bg-subtle) 0 6px, transparent 6px 16px) 16px 40px / calc(100% - 32px) calc(100% - 64px) no-repeat, var(--bg-card);inline-size:9rem}.cv__noscript{padding:var(--space-24);background:var(--bg-raised);color:var(--text-secondary);position:relative}@media (width<=809.98px){.cv__frame{block-size:max(28rem, calc(100dvh - var(--space-12) * 6))}}.skip-link{top:var(--space-12);left:var(--space-12);z-index:100;padding:var(--space-12) var(--space-24);border-radius:var(--radius-pill);background:var(--text-primary);color:var(--bg-card);font:var(--text-label);letter-spacing:var(--ls-label);transform:translateY(calc(-100% - var(--space-24)));text-decoration:none;position:fixed}.skip-link:focus-visible{transform:none}.nav-wrap{container:nav/inline-size}.nav{--nav-h:44px;--nav-pad:var(--space-12);--nav-tool:44px;align-items:center;gap:var(--space-4);padding:var(--space-8);border-radius:var(--radius-pill);background:var(--bg-card);color:var(--text-primary);font:var(--text-label);letter-spacing:var(--ls-label);display:flex;position:relative}@media (width<=1199.98px){.shell__aside{padding-top:calc(60px + var(--space-12))}.shell__aside:has(>.shell__panel>.panel--post){margin-bottom:calc(-1 * var(--space-12))}.nav-wrap{top:var(--space-12);inset-inline:var(--space-12);z-index:3;position:fixed}:root[data-nav-hidden] .nav-wrap{transform:translateY(calc(-100% - var(--space-12)));opacity:0;pointer-events:none;visibility:hidden}@media (prefers-reduced-motion:reduce){:root[data-nav-hidden] .nav-wrap{transform:none}}}@media (width<=809.98px){.shell__aside:has(>.shell__panel>:is(.panel--reading-case,.panel--reading-project,.panel--reading-cv)){margin-bottom:calc(-1 * var(--space-12))}}@container nav (width<=311.98px){.nav[data-links="2"]:not([data-fit]):not(:lang(ru)) .nav__links{display:none}.nav[data-links="2"]:not([data-fit]):not(:lang(ru)) .dd.nav__more{display:flex}}@container nav (width<=335.98px){.nav[data-links="2"]:not([data-fit]):lang(ru) .nav__links{display:none}.nav[data-links="2"]:not([data-fit]):lang(ru) .dd.nav__more{display:flex}}@container nav (width<=389.98px){.nav[data-links="3"]:not([data-fit]):not(:lang(ru)) .nav__links{display:none}.nav[data-links="3"]:not([data-fit]):not(:lang(ru)) .dd.nav__more{display:flex}}@container nav (width<=435.98px){.nav[data-links="3"]:not([data-fit]):lang(ru) .nav__links{display:none}.nav[data-links="3"]:not([data-fit]):lang(ru) .dd.nav__more{display:flex}}.nav__link[hidden],.nav__more .dd__list li[hidden]{display:none}.nav[data-overflow] .dd.nav__more,.nav[data-pinned] .dd.nav__more{display:flex}.nav__more .dd__list{transform-origin:0 0;left:0;right:auto}.nav__tool{width:var(--nav-tool);height:var(--nav-h);border-radius:var(--radius-pill);color:inherit;font:inherit;cursor:pointer;opacity:var(--link-rest);-webkit-tap-highlight-color:transparent;z-index:1;background:0 0;border:0;flex:none;place-items:center;padding:0;text-decoration:none;display:grid;position:relative}.nav__tool:active{opacity:1}@media (hover:hover){.nav__tool:hover{opacity:var(--link-hover)}.nav__tool:hover:active{opacity:1}}.nav__logo[aria-current]{opacity:1;background:var(--accent-soft)}.nav__tool[aria-expanded=true]:not(:active){opacity:var(--link-hover)}.nav__logo[aria-current=page],.nav__link[aria-current=page],.dd__item[aria-current=page],.seg__opt[aria-current=page]{cursor:default}.nav__links{z-index:1;height:var(--nav-h);align-items:center;margin-inline-start:var(--space-4);display:flex;position:relative}.nav__link{height:var(--nav-h);padding-inline:var(--nav-pad);border-radius:var(--radius-pill);color:inherit;white-space:nowrap;opacity:var(--link-rest);-webkit-tap-highlight-color:transparent;align-items:center;text-decoration:none;display:flex;position:relative}@media (hover:hover){.nav__link:hover{opacity:var(--link-hover)}}.nav__link[aria-current=page],.nav__link:active{opacity:1}.nav__link[aria-current]:before{content:"";z-index:-1;border-radius:var(--radius-pill);background:var(--accent-soft);position:absolute;inset:0}.nav__plate{z-index:0;top:var(--space-8);bottom:var(--space-8);opacity:0;pointer-events:none;position:absolute;left:0;right:0}.nav__plate:before{content:"";background:var(--accent-soft);clip-path:inset(0 var(--plate-r,0px) 0 var(--plate-l,0px) round 1000px);position:absolute;inset:0}.nav[data-plate=ready] .nav__plate{opacity:1}.nav[data-plate=ready] .nav__link[aria-current]:before{display:none}.nav[data-plate=ready] .nav__logo[aria-current]{background:0 0}.nav__tools{align-items:center;margin-inline-start:auto;display:flex}.dd.nav__more{display:none}.dd{flex:none;display:flex;position:relative}.nav__lang{align-items:center;gap:var(--space-4);width:auto;padding-inline:var(--space-8);font-weight:500;display:flex}.nav__lang-caret{opacity:.8;flex:none}.dd__list{z-index:5;min-width:152px;margin:var(--space-8) 0 0;padding:var(--space-4);border-radius:var(--radius-24);background:var(--surface);backdrop-filter:var(--surface-blur);box-shadow:0 12px 32px var(--shadow);color:var(--text-primary);font:var(--text-label);letter-spacing:var(--ls-label);visibility:hidden;opacity:0;transform-origin:100% 0;list-style:none;position:absolute;top:100%;right:0}.dd__list:before{content:"";inset:calc(-1 * var(--space-8)) 0 auto;height:var(--space-8);position:absolute}.dd__item{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:44px;padding-inline:var(--space-12);border-radius:var(--radius-pill);color:inherit;white-space:nowrap;-webkit-tap-highlight-color:transparent;text-decoration:none;display:flex}.dd__item[aria-current]{background:var(--accent-soft)}@media (hover:hover){.dd__item:not([aria-current]):hover{background:var(--bg-raised)}}.dd__item:not([aria-current]):active{background:var(--bg-subtle)}.dd[data-open] .dd__list,:root:not(.js) .dd:is(:hover,:focus-within) .dd__list{visibility:visible;opacity:1}.logo{flex:none;display:block}:is(.theme-toggle,.sound-toggle){opacity:var(--link-rest)}:is(.theme-toggle,.sound-toggle):active{opacity:1}@media (hover:hover){:is(.theme-toggle,.sound-toggle):hover{opacity:var(--link-hover)}:is(.theme-toggle,.sound-toggle):hover:active{opacity:1}:is(.theme-toggle,.sound-toggle):hover .icon{scale:1.1}}:is(.theme-toggle,.sound-toggle):active .icon,:is(.theme-toggle,.sound-toggle):hover:active .icon{scale:.95}.sound-toggle__off,:root[data-sound=off] .sound-toggle__on{display:none}:root[data-sound=off] .sound-toggle__off{display:block}.theme-toggle__sun,:root[data-theme=dark] .theme-toggle__moon{display:none}:root[data-theme=dark] .theme-toggle__sun{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .theme-toggle__moon{display:none}:root:not([data-theme]) .theme-toggle__sun{display:block}}.pgb{--pgb-h:120px;z-index:1;height:var(--pgb-h);pointer-events:none;position:fixed;inset:0 0 auto}.pgb__layer{opacity:0;backdrop-filter:blur(var(--blur));position:absolute;inset:0}.pgb__layer:first-child{-webkit-mask-image:linear-gradient(#0000 45%,#000 60% 75%,#0000 100%);mask-image:linear-gradient(#0000 45%,#000 60% 75%,#0000 100%)}.pgb__layer:nth-child(2){-webkit-mask-image:linear-gradient(#0000 30%,#000 45% 60%,#0000 85%);mask-image:linear-gradient(#0000 30%,#000 45% 60%,#0000 85%)}.pgb__layer:nth-child(3){-webkit-mask-image:linear-gradient(#0000 15%,#000 30% 45%,#0000 70%);mask-image:linear-gradient(#0000 15%,#000 30% 45%,#0000 70%)}.pgb__layer:nth-child(4){-webkit-mask-image:linear-gradient(#0000 0%,#000 15% 30%,#0000 55%);mask-image:linear-gradient(#0000 0%,#000 15% 30%,#0000 55%)}.pgb__layer:nth-child(5){-webkit-mask-image:linear-gradient(#000 0% 15%,#0000 40%);mask-image:linear-gradient(#000 0% 15%,#0000 40%)}.pgb[data-visible] .pgb__layer{opacity:1}.pgb__sentinel{pointer-events:none;width:1px;height:24px;position:absolute;top:0;left:0}@media (width<=809.98px){.pgb{--pgb-h:80px}}.panel{isolation:isolate;--panel-pad:var(--space-40);min-width:0;padding:var(--panel-pad);border-radius:var(--radius-40);background:var(--bg-glass);color:var(--text-primary);backdrop-filter:blur(var(--blur-glass));flex-direction:column;display:flex;position:relative;overflow:hidden}@supports (corner-shape:superellipse(1.5)){.panel{corner-shape:superellipse(1.5)}}.panel--me{--avatar-size:104px}.me__identity{align-items:center;gap:var(--space-16);margin-bottom:var(--space-24);display:flex}.me__who{min-width:0}.me__name{font-size:var(--fs-title);letter-spacing:var(--ls-title);text-wrap:balance;font-weight:600;line-height:1.2}.me__title{margin-top:var(--space-4);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary)}.me__text{gap:var(--space-24);flex-direction:column;display:flex}.me__actions{align-items:flex-start;gap:var(--space-12);padding-top:var(--space-24);flex-direction:column;margin-top:auto;display:flex}@media (width>=1200px){.panel--me{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);align-content:stretch;display:grid}.panel--me>.me__identity,.panel--me>.me__text,.panel--me>.me__actions{grid-column:1}.panel--me>.me__identity{grid-row:1}.panel--me>.me__text{grid-row:2}.panel--me>.me__actions{grid-row:4;margin-top:0}}@media (width>=1200px) and (height<=820px){.panel--me{--avatar-size:80px;--panel-pad:var(--space-32);padding:var(--panel-pad)}.me__identity{margin-bottom:var(--space-16)}.me__text{gap:var(--space-16)}.me__actions{padding-top:var(--space-16)}}@media (width>=810px) and (width<=1199.98px){.panel--me{--avatar-size:96px;align-items:start;column-gap:var(--space-40);row-gap:var(--space-24);grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"identity text""identity actions";display:grid}.me__identity{grid-area:identity;margin-bottom:0}.me__text{grid-area:text}.me__actions{flex-flow:wrap;grid-area:actions;margin-top:0;padding-top:0}}@media (width<=809.98px){.panel--me{--avatar-size:72px;--panel-pad:var(--space-24);border-radius:var(--radius-24)}.me__identity{gap:var(--space-16);margin-bottom:var(--space-24)}.me__title{margin-top:var(--space-4)}.me__text{gap:var(--space-16)}.me__actions{padding-top:calc(var(--space-24) + var(--space-72) + var(--space-8));flex-flow:wrap;margin-top:auto}.panel--me{touch-action:pan-y}}.avatar{--size:var(--avatar-size,104px);width:var(--size);height:var(--size);color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex:none;padding:0;display:block;position:relative}.avatar__disc{background:var(--bg-subtle);border-radius:50%;position:absolute;inset:0;overflow:hidden}.avatar__face{display:block;position:absolute;inset:0}.avatar__face picture,.avatar__img{width:100%;height:100%;display:block}.avatar__img{object-fit:cover;object-position:50% 30%}.sphere{z-index:-1;pointer-events:none;width:380px;height:380px;position:absolute;bottom:-70px;right:-50px}.panel:not(.panel--me,.panel--reading,.panel--post)>.sphere{display:none}.sphere .sphere__still.picture{background:0 0;width:118.4%;height:auto;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.sphere .sphere__still.picture:before{content:none}.sphere__canvas{opacity:0;max-width:none;position:absolute}.sphere[data-state=live] .sphere__canvas{opacity:1}.sphere[data-state=live] .sphere__still{opacity:0}html[data-sphere-hover] :is(.panel--me,.panel--reading,.panel--post){cursor:grab}html[data-sphere-hover] :is(.panel--me,.panel--reading,.panel--post) :is(a,button,summary){cursor:pointer}html[data-sphere-drag],html[data-sphere-drag] *{user-select:none;cursor:grabbing!important}@media (width>=810px) and (width<=1199.98px){.sphere{width:300px;height:300px;bottom:-110px;right:-100px}}@media (width<=809.98px){.sphere{width:260px;height:260px;bottom:-10px;right:-50px}}@media (width>=1200px){.panel--reading>.sphere,.panel--post>.sphere{width:300px;height:300px;bottom:-56px;right:-48px}}@media (width<=1199.98px){.panel--reading>.sphere,.panel--post>.sphere{display:none}}.panel__stage{display:none}@media (width>=1200px) and (hover:hover){.panel__stage{z-index:2;min-height:0;margin:calc(-1 * var(--panel-pad)) calc(-1 * var(--panel-pad)) 0;visibility:hidden;pointer-events:none;grid-area:1/1/4/2;display:block;position:relative}.panel__stage[data-open]{visibility:visible}.panel__stage>*{position:absolute;inset:0}.panel__stage>.stage-card{color:var(--text-primary);opacity:0;visibility:hidden;flex-direction:column;display:flex;inset:0 0 auto}.panel__stage>.stage-card[data-on]{visibility:visible}.panel__stage>.stage-card--below{inset-block-start:calc(var(--panel-pad) + var(--avatar-size) + var(--space-24))}.panel__stage>.stage-card--text:not(.stage-card--below) .stage-card__body{padding-top:var(--panel-pad)}}.stage-card__media{aspect-ratio:4/3;flex:none;position:relative;overflow:hidden}.stage-card__media :is(.picture,.picture__pic,.picture__img){aspect-ratio:auto;object-fit:cover;block-size:100%;inline-size:100%;display:block}.stage-card__body{gap:var(--space-8);padding:var(--space-24) var(--panel-pad,var(--space-40)) 0;flex-direction:column;flex:none;display:flex}.stage-card--below .stage-card__body{padding-top:0}.stage-card__overline{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);text-wrap:balance;font-weight:500;line-height:1.4}.stage-card__title{font:var(--text-heading);letter-spacing:var(--ls-heading);text-wrap:balance}.stage-card__text{-webkit-line-clamp:4;line-clamp:4;font-size:var(--fs-body);letter-spacing:var(--ls-body);color:var(--text-secondary);-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.stage-card__meta{gap:var(--space-4) var(--space-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.stage-card__meta li{padding:var(--space-2) var(--space-12);border-radius:var(--radius-pill);background:var(--line-8);font-size:var(--fs-caption);letter-spacing:var(--ls-caption);line-height:1.5}.stage-card__metrics{gap:var(--space-8) var(--space-24);margin:var(--space-8) 0 0;flex-wrap:wrap;display:flex}.stage-card__metric{gap:var(--space-2);flex-direction:column-reverse;display:flex}.stage-card__value{font:var(--text-heading);letter-spacing:var(--ls-heading);margin:0}.stage-card__label{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);line-height:1.3}.stage-card--below .stage-card__meta{margin-top:var(--space-16)}.stage-card--below .stage-card__metrics{margin-top:var(--space-32)}@media (height<=820px){.stage-card__body{gap:var(--space-4);padding-top:var(--space-16)}.stage-card--below .stage-card__body{padding-top:0}.panel__stage>.stage-card--below{inset-block-start:calc(var(--panel-pad) + var(--avatar-size) + var(--space-16))}.stage-card__metrics{margin-top:var(--space-4)}.stage-card--below .stage-card__meta{margin-top:var(--space-12)}.stage-card--below .stage-card__metrics{margin-top:var(--space-24)}}.panel--reading{gap:var(--space-24);padding:var(--space-24);min-height:0}.rd__head{gap:var(--space-4);flex-direction:column;display:flex}.rd__me{align-items:center;gap:var(--space-12);--avatar-size:44px;display:none}@media (width>=1200px){.rd__me{display:flex}}.rd__me-name{font:var(--text-label);letter-spacing:var(--ls-label);font-weight:600}.rd__back{margin-bottom:var(--space-8);color:var(--text-secondary);font:var(--text-label);letter-spacing:var(--ls-label);align-self:flex-start;align-items:center;gap:.28em;text-decoration:none;display:inline-flex}.rd__title{font:var(--text-heading);letter-spacing:var(--ls-heading);text-wrap:balance}.rd__tldr{font:var(--text-body);letter-spacing:var(--ls-body)}.rd__sub{font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary)}.rd__facts{gap:var(--space-8) var(--space-12);padding-top:var(--space-16);border-top:1px solid var(--line-8);font:var(--text-caption);letter-spacing:var(--ls-caption);grid-template-columns:76px minmax(0,1fr);margin:0;display:grid}.rd__facts dt{color:var(--text-secondary)}.rd__facts dd{overflow-wrap:anywhere;margin:0}.rd__block{gap:var(--space-8);padding-top:var(--space-16);border-top:1px solid var(--line-8);flex-direction:column;display:flex}.rd__tags,.rd__links{gap:var(--space-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.rd__links{gap:var(--space-4) var(--space-16);flex-direction:row}.rd__link{align-items:center;gap:var(--space-8);border-radius:var(--radius-pill);min-height:24px;font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-primary);opacity:var(--link-rest,.6);-webkit-tap-highlight-color:transparent;font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover){.rd__link:hover{opacity:var(--link-hover,.8)}}.rd__link:active{opacity:1}.rd__steps{min-height:0;margin-inline:calc(-1 * var(--space-12));padding:var(--space-16) var(--space-12) 0;border-top:1px solid var(--line-8);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-24) transparent;flex:1 1 0;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}.rd__steps-head{margin-bottom:var(--space-8)}.rd__list{padding:0 0 var(--space-4);margin:0;list-style:none}.rstep{--p:0;align-items:center;column-gap:var(--space-8);min-height:36px;padding-block:var(--space-4);border-radius:var(--radius-16);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);-webkit-tap-highlight-color:transparent;grid-template-columns:2px 24px minmax(0,1fr);font-weight:500;text-decoration:none;display:grid}.rstep__line{border-radius:var(--radius-2);background:var(--text-primary);width:2px;transform:scaleY(var(--p));transform-origin:top;align-self:stretch}.rstep__n{font-variant-numeric:tabular-nums}@media (hover:hover){.rstep:hover{color:var(--text-primary)}}.rstep:active{color:var(--text-primary);opacity:.8}.rstep[aria-current]{color:var(--text-primary)}.rstep:focus-visible{outline-offset:-2px}.rd__actions{align-items:flex-start;gap:var(--space-8);flex-direction:column;margin-top:auto;display:flex}@media (width>=1200px) and (height<=820px){.panel--reading{gap:var(--space-16)}.rd__facts{row-gap:var(--space-4);padding-top:var(--space-12)}}@media (width>=810px) and (width<=1199.98px){.panel--reading{align-items:start;column-gap:var(--space-40);row-gap:var(--space-16);padding:var(--space-24) var(--space-32);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.rd__head{grid-area:1/1/span 4}.rd__facts,.rd__block{border-top:0;grid-column:2;padding-top:0}.rd__steps,.rd__actions{display:none}}@media (width<=809.98px){.shell__panel:has(>:is(.panel--reading-case,.panel--reading-project,.panel--reading-cv)){display:none}.panel--reading{padding:var(--space-12) var(--inset-island);border-radius:var(--radius-24);grid-template-columns:minmax(0,1fr);grid-template-areas:"head";align-items:center;display:grid}.rd__head{padding-block:var(--space-8);grid-area:head}.rd__sub,.rd__facts,.rd__block,.rd__steps,.rd__actions{display:none}}.case-glass{background:var(--bg-glass);backdrop-filter:blur(var(--blur-glass));border-radius:var(--radius-24)}.case,.case-body{gap:var(--space-12);flex-direction:column;min-width:0;display:flex}.case-card{background:var(--surface);backdrop-filter:var(--surface-blur);color:var(--text-primary);border-radius:var(--radius-40);padding:var(--case-pad-y) var(--case-pad)}.case-hero{border-radius:var(--radius-40);background:var(--surface);backdrop-filter:var(--surface-blur);position:relative;overflow:hidden}.case-hero__cover{border-radius:inherit}.case-hero__chips{inset:auto var(--space-16) var(--space-16);justify-content:space-between;align-items:flex-end;gap:var(--space-12);pointer-events:none;flex-wrap:wrap;display:flex;position:absolute}.case-hero__chip{pointer-events:auto;color:var(--text-primary)}.case-hero__title{min-width:0;max-width:100%;padding:var(--space-16) var(--space-24) var(--space-16) var(--space-24)}.case-hero__sub{font:var(--text-label);letter-spacing:var(--ls-label);font-size:var(--fs-caption);color:var(--text-secondary)}.case-hero__h1{margin-top:var(--space-4);font:var(--text-display);letter-spacing:var(--ls-display);text-wrap:balance;font-weight:600;line-height:1.1}.case-hero__metrics{padding:var(--space-16) var(--space-24);margin-inline-start:auto}.metric-bar{gap:var(--space-24);margin:0;padding:0;list-style:none;display:flex}.metric-bar__m{text-align:center;flex-direction:column;min-width:96px;display:flex}.metric-bar__n{font:var(--text-hero);letter-spacing:var(--ls-hero);font-variant-numeric:tabular-nums;white-space:nowrap}.metric-bar__nda,.stat__nda{filter:blur(.28em);user-select:none}.metric-bar__u{letter-spacing:0;font-size:.5em;font-weight:500}.metric-bar__c{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-90);text-wrap:balance;line-height:1.5}.metric-bar--compact{gap:var(--space-24)}.metric-bar--compact .metric-bar__m{text-align:start;min-width:0}.metric-bar--compact .metric-bar__n{font-size:var(--fs-heading);letter-spacing:var(--ls-heading);line-height:1.2}.metric-bar--compact .metric-bar__c{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);line-height:1.35}.case-section{gap:var(--space-12);min-width:0;scroll-margin-top:var(--anchor-offset);flex-direction:column;display:flex}.case-section__head{justify-content:space-between;align-items:baseline;gap:var(--space-16);padding:var(--space-56) var(--space-24) var(--space-4);display:flex}.case-section__overline{margin-bottom:var(--space-8)}.case-section__title{font:var(--text-heading);letter-spacing:var(--ls-heading);text-wrap:balance}.case-section__body{gap:var(--space-12);flex-direction:column;min-width:0;display:flex;container:case-body/inline-size}.subhead{padding:var(--space-24) var(--space-24) 0}.subhead :is(h3,h4){font:var(--text-title);letter-spacing:var(--ls-title)}.prose{grid-template-columns:minmax(7rem, 12rem) minmax(0, var(--case-measure));justify-content:start;column-gap:var(--space-40);row-gap:var(--space-16);font:var(--case-text);color:var(--text-primary);min-width:0;display:grid}.prose>*{min-width:0;max-inline-size:var(--case-measure);text-wrap:pretty;grid-column:1/-1;margin:0}.prose>:is(h3,h4)~*{grid-column:2}.prose>:is(h3,h4){font:var(--text-label);letter-spacing:var(--ls-label);color:var(--text-secondary);text-wrap:balance;grid-column:1;align-self:start}.prose>:is(h3,h4):not(:first-child),.prose>:is(h3,h4):not(:first-child)+*{margin-top:var(--space-16)}.prose :is(ul,ol){gap:var(--space-8);flex-direction:column;padding-inline-start:1.25em;display:flex}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li::marker{color:var(--text-secondary)}.prose strong{font-weight:600}.prose em{font-style:italic}.prose code{border-radius:var(--radius-8);background:var(--bg-raised);overflow-wrap:anywhere;padding:.1em .4em;font:500 .875em/1.4 ui-monospace,SF Mono,Menlo,Consolas,monospace}#tldr .prose>p:first-child{font:var(--text-heading);letter-spacing:var(--ls-heading);text-wrap:pretty;max-inline-size:46ch;font-weight:500}@media (width>=810px){#tldr .case-card{padding:var(--space-40) var(--space-40)}}@container case-body (width<=720px){.prose{grid-template-columns:minmax(0, var(--case-measure));row-gap:var(--space-12)}.prose>*,.prose>:is(h3,h4),.prose>:is(h3,h4)~*{grid-column:1}.prose>:is(h3,h4):not(:first-child),.prose>:is(h3,h4):not(:first-child)+*{margin-top:0}.prose>:is(h3,h4):not(:first-child){margin-top:var(--space-32)}}@supports not (container-type:inline-size){@media (width<=1099.98px){.prose{grid-template-columns:minmax(0, var(--case-measure))}.prose>*,.prose>:is(h3,h4),.prose>:is(h3,h4)~*{grid-column:1}.prose>:is(h3,h4):not(:first-child){margin-top:var(--space-32)}}}.case-facts{gap:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin:0;display:grid}.case-facts__item{gap:var(--space-8);padding:var(--space-24) var(--space-32);border-radius:var(--radius-40);background:var(--surface);backdrop-filter:var(--surface-blur);flex-direction:column;display:flex}.case-facts__label{font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);font-weight:500}.case-facts__value{font:var(--text-lead);letter-spacing:var(--ls-lead);text-wrap:balance;margin:0;font-weight:500}.case-facts__note{margin-top:var(--space-4);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);display:block}.stat-grid{gap:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-auto-rows:1fr;display:grid}.stat{gap:var(--space-8);padding:var(--space-32);border-radius:var(--radius-40);background:var(--bg-card);color:var(--text-primary);flex-direction:column;min-width:0;margin:0;display:flex}.stat__figure{font:var(--text-display);letter-spacing:var(--ls-display);font-variant-numeric:tabular-nums;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.1}.stat--word .stat__figure{font-size:var(--fs-heading);letter-spacing:var(--ls-heading);line-height:1.2}.stat__unit{letter-spacing:0;color:var(--text-secondary);font-size:.5em;font-weight:500}.stat__label{font:var(--text-body);letter-spacing:var(--ls-body);color:var(--text-secondary);text-wrap:pretty;margin:0}.stat--inline{color:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;background:0 0;border-radius:0;padding:0;font-weight:600;display:inline}.stat--inline .stat__unit{font-size:inherit;font-weight:inherit;color:inherit}.step .stat:not(.stat--inline){padding:var(--space-24);border-radius:var(--radius-28);background:var(--bg-raised)}.key-decision{gap:var(--space-8);padding:var(--space-24) var(--space-32);border-radius:var(--radius-24);background:var(--bg-raised);color:var(--text-primary);flex-direction:column;min-width:0;margin:0;display:flex}.key-decision__overline{color:var(--text-secondary)}.key-decision__text{max-inline-size:44ch;font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:pretty;font-weight:500}.key-decision__text code{border-radius:var(--radius-8);background:color-mix(in srgb, var(--text-primary) 8%, transparent);padding:.1em .4em;font:500 .875em/1.4 ui-monospace,SF Mono,Menlo,Consolas,monospace}.key-decision__text>*+*{margin-top:var(--space-8)}.case-section__body>.key-decision{background:var(--surface);backdrop-filter:var(--surface-blur);border-radius:var(--radius-40);padding:var(--case-pad-y) var(--case-pad)}#results .stat-grid[data-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}#results .stat-grid[data-count="3"]>.stat:first-child{padding:var(--space-40);background:var(--text-primary);color:var(--bg-card);grid-row:span 2;justify-content:space-between}#results .stat-grid[data-count="3"]>.stat:first-child .stat__figure{font:var(--text-numeral);letter-spacing:var(--ls-numeral);margin-top:auto}#results .stat-grid[data-count="3"]>.stat:first-child .stat__unit,#results .stat-grid[data-count="3"]>.stat:first-child .stat__label{color:color-mix(in srgb, var(--bg-card) 75%, transparent)}#results .stat-grid[data-count="3"]>.stat:not(:first-child){justify-content:center}@media (width<=599.98px){#results .stat-grid[data-count="3"]{grid-template-columns:minmax(0,1fr)}#results .stat-grid[data-count="3"]>.stat:first-child{padding:var(--space-32);grid-row:auto}}.quote{gap:var(--space-16);padding:var(--space-40);border-radius:var(--radius-40);background:var(--surface);backdrop-filter:var(--surface-blur);flex-direction:column;margin:0;display:flex}.quote__bar{border-radius:var(--radius-4);background:var(--text-primary);width:32px;height:4px;display:block}.quote__text{font:var(--text-hero);letter-spacing:var(--ls-hero);text-wrap:balance;margin:0;font-weight:500}.quote__source{font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);font-weight:500}.figure{--tile-radius:var(--radius-40);align-items:flex-start;gap:var(--space-12);flex-direction:column;min-width:0;margin:0;display:flex}.step .figure,.step .slides,.step .before-after,.step .prototype{--tile-radius:var(--radius-28)}.figure__frame{inline-size:min(100%, calc(var(--fig-h) * var(--r,1.6)), calc(var(--nat,1600) * 1px));border-radius:var(--tile-radius);isolation:isolate;position:relative;overflow:hidden}.figure--tall{align-items:center}.figure--tall .figure__caption{text-align:center}.figure-row{--gap:var(--space-12);gap:var(--gap);inline-size:100%;max-inline-size:calc(var(--fig-h) * var(--sum,3) + var(--gap) * 2);align-items:flex-start;min-width:0;margin-inline:auto;display:flex}.figure-row>.figure{flex:var(--r,1.6) 1 0%;align-items:stretch;min-width:0}.figure-row .figure__frame{inline-size:100%}.figure-row .figure__caption{text-align:start}@media (width<=599.98px){.figure-row[data-orient=wide]{flex-direction:column;align-items:stretch}.figure-row[data-orient=wide]>.figure{flex:none}}.figure__pic.figure__pic{border-radius:var(--tile-radius)}.figure__caption{max-inline-size:var(--case-measure);padding-inline:var(--space-24);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);text-wrap:pretty}.step .figure__caption{padding-inline:var(--space-4)}.step__tile .figure__caption{padding-inline:var(--space-8)}.figure__zoom{z-index:2;border-radius:inherit;cursor:zoom-in;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.figure__zoom:focus-visible{outline-offset:-6px}.figure__zoom-icon{right:var(--space-12);bottom:var(--space-12);border-radius:var(--radius-pill);width:44px;height:44px;color:var(--text-primary);opacity:0;place-items:center;display:grid;position:absolute}@media (hover:hover){.figure__zoom:hover .figure__zoom-icon{opacity:1}}.figure__zoom:focus-visible .figure__zoom-icon{opacity:1}.figure__zoom:active .figure__zoom-icon{opacity:1;scale:.92}@media (hover:none){.figure__zoom-icon{opacity:.9}}.figure__todo,.figure[data-todo] .figure__todo{min-height:160px;padding:var(--space-24);border:1px dashed var(--line-24);border-radius:var(--tile-radius,var(--radius-24));color:var(--text-secondary);font:var(--text-caption);letter-spacing:var(--ls-caption);text-align:center;place-items:center;font-weight:500;display:grid}.slides{--tile-radius:var(--radius-24);gap:var(--space-12);flex-direction:column;min-width:0;display:flex;container-type:inline-size}.slides__track{align-items:flex-start;gap:var(--space-12);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius-40);display:flex;overflow-x:auto}.slides__track::-webkit-scrollbar{display:none}.slides__track>.figure{scroll-snap-align:start}.slides__rail{align-items:flex-start;gap:var(--space-12);will-change:transform;inline-size:max-content;display:flex}.slides__track[data-ready]{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000)}.slides__track[data-dragging]{cursor:grabbing}.slides .figure{inline-size:min(calc(var(--slide-h) * var(--r,1.6)), 77cqi);flex:none}.slides .figure__frame{inline-size:100%}.slides .figure__caption{padding-inline:var(--space-4)}.slides__hint{visibility:hidden;padding-inline:var(--space-4);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);text-align:end;display:block}.slides:has([data-ready]) .slides__hint{visibility:visible}.before-after{--tile-radius:var(--radius-40);align-items:flex-start;gap:var(--space-12);flex-direction:column;min-width:0;margin:0;display:flex}.ba{--pos:50%;inline-size:min(100%, calc(var(--fig-h) * var(--r,1.6)));aspect-ratio:var(--r,1.6);isolation:isolate;border-radius:var(--tile-radius);background:var(--bg-raised);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:ew-resize;position:relative;overflow:hidden}.ba[data-dragging]{cursor:grabbing}.ba__layer{isolation:isolate;position:absolute;inset:0}.ba__layer--after{z-index:1}.ba__layer>.picture.picture.picture{aspect-ratio:auto;position:absolute;inset:0}.ba__layer--after{clip-path:inset(0 0 0 var(--pos))}.ba__label{z-index:2;top:var(--space-16);padding:var(--space-4) var(--space-16);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-primary);pointer-events:none;border-radius:calc(var(--tile-radius,var(--radius-24)) - var(--space-16));font-weight:500;position:absolute}.ba__label--before{left:var(--space-16)}.ba__label--after{right:var(--space-16)}.ba__handle{z-index:3;top:0;bottom:0;left:var(--pos);cursor:ew-resize;-webkit-tap-highlight-color:transparent;outline:none;place-items:center;width:44px;margin-left:-22px;display:grid;position:absolute}.ba__line{background:var(--text-primary);outline:1px solid var(--bg-card);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.ba__knob{border-radius:var(--radius-pill);background:var(--text-primary);width:44px;height:44px;color:var(--bg-card);outline:2px solid var(--bg-card);place-items:center;display:grid;position:relative}@media (hover:hover){.ba__handle:hover .ba__knob{scale:1.08}}.ba[data-dragging] .ba__knob,.ba__handle:active .ba__knob{scale:.94}.ba__handle:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}.prototype{--tile-radius:var(--radius-40);gap:var(--space-12);flex-direction:column;min-width:0;margin:0;display:flex}.prototype__stage{aspect-ratio:var(--proto-ratio,16 / 10);inline-size:min(100%, var(--proto-max,100%));border-radius:var(--tile-radius);background:var(--bg-raised);margin-inline:auto;position:relative;overflow:hidden}.prototype__poster{justify-content:center;align-items:center;gap:var(--space-12);padding:var(--space-24);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.prototype__hint{max-width:36ch;font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);text-wrap:balance}.prototype__open{align-items:center;gap:var(--space-4);min-height:44px;padding-inline:var(--space-16);border-radius:var(--radius-pill);font:var(--text-label);letter-spacing:var(--ls-label);color:var(--text-primary);opacity:var(--link-rest,.6);text-decoration:none;display:inline-flex}@media (hover:hover){.prototype__open:hover{opacity:var(--link-hover,.8)}}.prototype__open:active{opacity:1}.prototype__stage[data-loading] [data-prototype-load]{pointer-events:none;opacity:.5}.prototype__frame{z-index:1;background:var(--bg-raised);border:0;width:100%;height:100%;position:absolute;inset:0}.phase{gap:var(--space-12);flex-direction:column;display:flex}.phase+.phase{margin-top:var(--space-24)}.phase__title{padding:var(--space-16) var(--space-24) var(--space-4);font:var(--text-title);letter-spacing:var(--ls-title)}.phase__n{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-inline-end:var(--space-4)}.phase__steps{gap:var(--space-12);flex-direction:column;display:flex}.step{gap:var(--space-12);padding:var(--space-12);border-radius:var(--radius-40);background:var(--surface);backdrop-filter:var(--surface-blur);color:var(--text-primary);scroll-margin-top:var(--case-sticky-offset);flex-direction:column;display:flex;position:relative;container:step/inline-size}.step__head{padding:var(--space-24) var(--space-24) var(--space-12);gap:var(--space-16) var(--space-40);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.step__id{align-items:baseline;gap:var(--space-4) var(--space-12);flex-wrap:wrap;min-width:0;display:flex}.step__num{min-width:2ch;font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.step__overline{margin:0}.step__title{margin-top:var(--space-4);font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:balance;flex:1 0 100%}.step .prose{font-size:var(--fs-body);letter-spacing:var(--ls-body);line-height:1.6;display:block}.step .prose>*{max-inline-size:var(--case-measure)}.step .prose>*+*{margin-top:var(--space-12)}.step .prose code,.step-note code{background:var(--bg-raised)}.step__intro{padding:var(--space-24);border-radius:var(--radius-28);background:var(--bg-raised)}.step__media{gap:var(--space-12);flex-direction:column;display:flex}.step__tile,.step__float{min-width:0}.step__media .figure--tall{padding-block:var(--space-8)}.step__notes{column-width:21rem;column-count:2;column-gap:var(--space-12)}.step-note{break-inside:avoid;margin-bottom:var(--space-12);padding:var(--space-24);border-radius:var(--radius-28);background:var(--bg-raised);font:400 var(--fs-body) / 1.6 var(--font-sans);min-width:0;display:flow-root}.step-note:last-child{margin-bottom:0}.step-note>:is(h3,h4,h5){margin:0 0 var(--space-8);font:var(--text-label);letter-spacing:var(--ls-label);color:var(--text-primary);text-wrap:balance;font-weight:600}.step-note>:not(:is(h3,h4,h5)){max-inline-size:var(--case-measure)}.step-note>*+:not(:is(h3,h4,h5)){margin-top:var(--space-12)}.step-note :is(ul,ol){gap:var(--space-8);flex-direction:column;padding-inline-start:1.25em;display:flex}.step-note ul{list-style:outside}.step-note ol{list-style:decimal}.step-note li::marker{color:var(--text-secondary)}.step-note strong{font-weight:600}.step__tail{gap:var(--space-12);flex-direction:column;display:flex}.step__decision .key-decision,.step__tail .key-decision{background:var(--bg-raised);border-radius:var(--radius-28);padding:var(--space-24)}@media (width<=809.98px){.case-section__head{padding:var(--space-40) var(--case-pad) var(--space-4)}.subhead{padding-inline:var(--case-pad)}.case-card,.quote,.case-facts__item{border-radius:var(--radius-24)}.stat:not(.stat--inline){padding:var(--space-24);border-radius:var(--radius-24)}.step{padding:var(--space-12);border-radius:var(--radius-24);gap:var(--space-12)}.step__head{padding:var(--space-16) var(--space-12) var(--space-8)}.step-note,.step__intro{padding:var(--space-16);border-radius:var(--radius-12)}.step .stat:not(.stat--inline),.step__decision .key-decision,.step__tail .key-decision{border-radius:var(--radius-12)}.key-decision,.case-section__body>.key-decision{padding:var(--space-16) var(--space-16);border-radius:var(--radius-24)}.figure,.slides,.before-after,.prototype{--tile-radius:var(--radius-24)}.step .figure,.step .slides,.step .before-after,.step .prototype{--tile-radius:var(--radius-12)}.figure__caption{padding-inline:var(--space-12)}}.case-questions{justify-content:space-between;align-items:center;gap:var(--space-24);margin-top:var(--space-40);flex-wrap:wrap;display:flex}.case-questions__title{font:var(--text-heading);letter-spacing:var(--ls-heading)}.case-questions__actions{gap:var(--space-12);flex-wrap:wrap;display:flex}.case-next{margin-bottom:var(--space-12)}.case-next__head{align-items:center}.case-next__all{min-height:44px;padding-inline:var(--space-12);margin-inline:calc(-1 * var(--space-12));border-radius:var(--radius-pill);font:var(--text-label);letter-spacing:var(--ls-label);color:var(--text-primary);opacity:var(--link-rest,.6);align-items:center;gap:.28em;text-decoration:none;display:inline-flex}@media (hover:hover){.case-next__all:hover{opacity:var(--link-hover,.8)}}.case-next__all:active{opacity:1}.case-next__list{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=699.98px){.case-next__list{grid-template-columns:minmax(0,1fr)}}.next-card{isolation:isolate;border-radius:var(--radius-40);background:var(--surface);backdrop-filter:var(--surface-blur);color:var(--text-primary);-webkit-tap-highlight-color:transparent;text-decoration:none;display:block;position:relative;overflow:hidden}.next-card__cover .picture__img{object-position:50% 38%}.next-card__chip{left:var(--space-16);bottom:var(--space-16);z-index:1;gap:var(--space-4);max-width:calc(100% - 2 * var(--space-16));padding:var(--space-16) var(--space-24);flex-direction:column;display:flex;position:absolute}.next-card__meta{font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);font-weight:500}.next-card__title{font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:balance}@media (hover:hover){.next-card:hover .next-card__chip{backdrop-filter:blur(var(--blur-chip-hover))}}.next-card:active .next-card__chip{background:var(--bg-card)}@media (width<=809.98px){.next-card{border-radius:var(--radius-24)}.next-card__chip{left:var(--space-12);bottom:var(--space-12);padding:var(--space-12) var(--space-16)}.case-hero{border-radius:var(--radius-24)}.case-hero__chips{margin:-56px var(--space-8) var(--space-8);flex-direction:column;align-items:stretch;position:relative;inset:auto}.case-hero__title{padding:var(--space-12) var(--space-16)}.case-hero__metrics{padding:var(--space-12) var(--space-16);margin-inline-start:0}.case-hero__metrics .metric-bar{justify-content:space-between;gap:var(--space-12);flex-wrap:wrap}.case-hero__metrics .metric-bar__m{flex:84px;min-width:0}.case-hero__metrics .metric-bar__n{font-size:var(--fs-heading);letter-spacing:var(--ls-heading)}.case-hero__metrics .metric-bar__c{font-size:var(--fs-caption);letter-spacing:var(--ls-caption)}}.lightbox{--lb-px:80px;--lb-pt:80px;--lb-pb:80px;width:100%;max-width:none;height:100%;max-height:none;color:var(--text-primary);touch-action:none;overscroll-behavior:contain;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.lightbox::backdrop{background:0 0}.lightbox__backdrop{background:var(--bg-glass);backdrop-filter:blur(var(--blur-glass));position:absolute;inset:0}.lightbox__stage{padding:var(--lb-pt) var(--lb-px) var(--lb-pb);cursor:zoom-out;touch-action:none;place-items:center;display:grid;position:absolute;inset:0}.lightbox__pic{width:min(calc(100vw - 2 * var(--lb-px)), calc((100dvh - var(--lb-pt) - var(--lb-pb)) * var(--lb-ratio,1.5)));border-radius:var(--radius-24);transform-origin:0 0;-webkit-user-select:none;user-select:none}.lightbox__pic.lightbox__pic--cutout{background:var(--bg-raised);border-radius:50%;max-inline-size:640px}.lightbox__pic.lightbox__pic--cutout:before{display:none}.lightbox__btn{z-index:2;border-radius:var(--radius-pill);background:var(--bg-glass);width:48px;height:48px;backdrop-filter:blur(var(--blur-glass));color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;place-items:center;padding:0;display:grid;position:absolute}@media (hover:hover){.lightbox__btn:hover{background:var(--bg-card)}}.lightbox__btn:active{background:var(--bg-card);scale:.94}.lightbox__close{top:var(--space-24);right:var(--space-24)}.lightbox__prev,.lightbox__next{margin-top:-24px;top:50%}.lightbox__prev{left:var(--space-24)}.lightbox__next{right:var(--space-24)}.lightbox[data-single] .lightbox__prev,.lightbox[data-single] .lightbox__next{display:none}.lightbox__caption{z-index:2;left:50%;bottom:var(--space-32);max-width:min(640px, calc(100vw - 2 * var(--space-24)));padding:var(--space-8) var(--space-16);font:var(--text-caption);letter-spacing:var(--ls-caption);text-align:center;text-wrap:balance;pointer-events:none;font-weight:500;position:absolute;translate:-50%}.lightbox__count{z-index:2;top:var(--space-24);left:var(--space-24);min-height:48px;padding-inline:var(--space-16);border-radius:var(--radius-pill);font:var(--text-caption);letter-spacing:var(--ls-caption);font-variant-numeric:tabular-nums;align-items:center;font-weight:500;line-height:1;display:flex;position:absolute}.lightbox__caption[hidden],.lightbox__count[hidden]{display:none}@media (width<=809.98px){.lightbox{--lb-px:16px;--lb-pt:80px;--lb-pb:96px}.lightbox__close{top:var(--space-12);right:var(--space-12)}.lightbox__count{top:var(--space-12);left:var(--space-12)}.lightbox__prev,.lightbox__next{top:auto;bottom:var(--space-16);margin-top:0}.lightbox__prev{left:var(--space-12)}.lightbox__next{right:var(--space-12)}.lightbox__caption{bottom:var(--space-24);max-width:calc(100vw - 144px)}.next-card__chip{border-radius:var(--radius-12)}.case-hero__chip{border-radius:var(--radius-16)}}.step .slides__track{border-radius:var(--tile-radius)}.case-nda{padding:var(--space-4) var(--space-24);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);text-wrap:balance;margin:0}.case-links{display:none}@media (width<=809.98px){.case-links{gap:var(--space-12);flex-wrap:wrap;display:flex}.case-links .btn{flex:auto}:is(.case-links,.project__actions) .btn .icon{width:16px;height:16px}}.work{--thumb-radius:var(--radius-8);gap:var(--space-12);flex-direction:column;display:flex}.work__intro{padding:var(--space-32) var(--space-20) var(--space-24)}@media (width>=810px){.work__intro{padding:var(--space-56) calc(var(--space-12) + var(--space-24)) var(--space-40)}}@media (width<=809.98px){.work__intro{padding-inline:calc(var(--space-12) + var(--space-24))}}.work__intro .lead{margin-top:var(--space-12);max-inline-size:62ch}.work__filters{gap:var(--space-8);margin-top:var(--space-32);flex-wrap:wrap;display:none}.js .work__filters{display:flex}.chip{min-height:44px;padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);background:var(--line-8);color:var(--text-primary);font:var(--text-label);letter-spacing:var(--ls-label);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;align-items:center;display:inline-flex}.chip:active{background:var(--line-24)}@media (hover:hover){.chip:hover{background:var(--line-16)}.chip:hover:active{background:var(--line-24)}}.chip[aria-pressed=true]{background:var(--text-primary);color:var(--bg-card)}.chip[aria-pressed=true]:active{background:var(--text-secondary)}@media (hover:hover){.chip[aria-pressed=true]:hover{background:var(--text-80)}.chip[aria-pressed=true]:hover:active{background:var(--text-secondary)}}.work[data-kind=cases] .work__group:not([data-group=cases]),.work[data-kind=projects] .work__group:not([data-group=projects]),.work[data-kind=earlier] .work__group:not([data-group=earlier]),.work[data-kind=live] .work__group:not([data-group=live]){display:none}.work__group{gap:var(--space-12);scroll-margin-top:var(--space-12);flex-direction:column;display:flex}.work__head{justify-content:space-between;align-items:baseline;gap:var(--space-16);padding:var(--space-40) var(--space-24) var(--space-4);display:flex}@media (width<=809.98px){.work__head{padding:var(--space-32) var(--space-12) 0}}.work__list{margin:0;padding:0;list-style:none}.work__sites{gap:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=810px){.work__sites{grid-template-columns:repeat(2,minmax(0,1fr))}.work__sites>li:last-child:nth-child(odd){grid-column:1/-1}}.site-tile{align-items:start;column-gap:var(--space-12);block-size:100%;min-block-size:120px;padding:var(--space-24);color:inherit;-webkit-tap-highlight-color:transparent;grid-template-columns:minmax(0,1fr) 24px;text-decoration:none;display:grid}a.site-tile:focus-visible{background:var(--surface-hover)}a.site-tile:active{background:var(--bg-subtle)}@media (hover:hover){a.site-tile:hover{background:var(--surface-hover)}a.site-tile:hover:active{background:var(--bg-subtle)}}.site-tile__text{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.site-tile__title{font:var(--text-title);letter-spacing:var(--ls-title)}.site-tile__sphere{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);line-height:1.4}.site-tile__chips{gap:var(--space-8);margin-top:var(--space-12);flex-wrap:wrap;display:flex}.site-tile__chip{padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);background:var(--line-8);color:var(--text-secondary);font-size:var(--fs-caption);letter-spacing:var(--ls-caption);white-space:nowrap;align-items:center;line-height:1.4;display:inline-flex}.site-tile__arrow,.row__arrow{color:var(--text-secondary);line-height:1}.site-tile__arrow{padding-top:var(--space-2)}.site-tile__arrow .icon,.row__arrow .icon{display:block}a.site-tile:hover .site-tile__arrow,a.site-tile:focus-visible .site-tile__arrow,a.row:hover .row__arrow,a.row:focus-visible .row__arrow{color:var(--text-primary)}.row{align-items:center;column-gap:var(--space-20);padding:var(--space-20) var(--space-24);border-radius:var(--radius-28);color:inherit;-webkit-tap-highlight-color:transparent;grid-template-columns:minmax(0,1fr) auto;text-decoration:none;display:grid}.row__ext{align-items:center;gap:var(--space-8);display:inline-flex}.row__arrow{place-items:center;display:grid}a.row:focus-visible{background:var(--surface-hover)}a.row:active{background:var(--bg-subtle)}@media (hover:hover){a.row:hover{background:var(--surface-hover)}a.row:hover:active{background:var(--bg-subtle)}}.row__aside{align-items:flex-end;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.row__year{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);white-space:nowrap;line-height:1.4}.row__text{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.row__title{font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:balance}.row__line{max-inline-size:62ch;font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);line-height:1.4}.row__metric{max-inline-size:26ch;font:var(--text-label);letter-spacing:var(--ls-label);text-align:end;text-wrap:balance}.row__thumb{inline-size:64px;display:none}.row__thumb .picture{border-radius:var(--thumb-radius)}@media (width<=1199.98px),(hover:none){.row:not(.row--plain){grid-template-columns:64px minmax(0,1fr) auto}.row__thumb{order:-1;display:block}}@media (width<=809.98px){.row{column-gap:var(--space-12);row-gap:var(--space-2);padding:var(--space-12) var(--space-24);--thumb-radius:var(--radius-12);grid-template-columns:64px minmax(0,1fr);grid-template-areas:"thumb text""thumb aside"}.row__thumb{grid-area:thumb}.row__text{grid-area:text}.work .row:not(.row--plain){grid-template-columns:minmax(0,1fr);grid-template-areas:"text""aside"}.work .row__thumb{display:none}.row--plain{column-gap:var(--space-12);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text aside";align-items:center}.row--plain .row__aside{align-items:center}.row__aside{align-items:baseline;gap:0 var(--space-8);flex-flow:wrap;grid-area:aside}.row__metric{max-inline-size:none;font-size:var(--fs-caption);letter-spacing:var(--ls-caption);text-align:start}}.project{gap:var(--space-12);flex-direction:column;min-width:0;display:flex;container:project/inline-size}.project__hero{position:relative;overflow:hidden}.project__cover{inline-size:100%}.project__video{z-index:2;object-fit:cover;opacity:0;block-size:100%;inline-size:100%;position:absolute;inset:0}.project__video[data-playing]{opacity:1}.project__chip{z-index:3;max-inline-size:calc(100% - 2 * var(--space-16));padding:var(--space-16) var(--space-24);border-radius:var(--radius-24);background:var(--bg-glass);backdrop-filter:blur(var(--blur-glass));position:absolute;inset-block-end:var(--space-16);inset-inline-start:var(--space-16)}@supports (corner-shape:superellipse(1.5)){.project__chip{corner-shape:superellipse(1.5)}}.project__subtitle{font:var(--text-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.project__h1{margin-top:var(--space-4)}@media (width<=809.98px){.project__chip{padding:var(--space-12) var(--space-16)}}.project__intro{justify-content:space-between;align-items:center;gap:var(--space-24);padding:var(--case-pad-y,var(--space-40)) var(--case-pad,var(--space-40));flex-wrap:wrap;display:flex}.project__lead{max-inline-size:var(--case-measure,56ch);color:var(--text-primary)}.project__actions{gap:var(--space-12);flex-wrap:wrap;display:flex}@media (width<=809.98px){.project__actions{inline-size:100%}.project__actions .btn{flex:auto}}.project__content{gap:var(--space-12);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}@container project (width>=880px){.project__content{grid-template-columns:repeat(2,minmax(0,1fr))}.project__content>*{grid-column:1/-1}.project__content>#tech-stack:has(+:is(#impact,#highlights)),.project__content>#tech-stack+:is(#impact,#highlights){grid-column:auto}.project__content>#tech-stack:has(+:is(#impact,#highlights)) .case-section__body,.project__content>#tech-stack+:is(#impact,#highlights) .case-section__body,.project__content>#tech-stack:has(+:is(#impact,#highlights)) .case-card,.project__content>#tech-stack+:is(#impact,#highlights) .case-card{flex:1}}:where(.project__content) :where(.case-section){gap:var(--space-12);flex-direction:column;min-width:0;display:flex}:where(.project__content) :where(.case-section__head){padding:var(--space-40) var(--space-24) var(--space-4)}:where(.project__content) :where(.case-section__title){font:var(--text-heading);letter-spacing:var(--ls-heading)}:where(.project__content) :where(.case-section__body){gap:var(--space-12);flex-direction:column;min-width:0;display:flex}:where(.project__content) :where(.case-card){padding:var(--space-32) var(--space-20);border-radius:var(--radius-40);background:var(--surface);backdrop-filter:var(--surface-blur)}@media (width>=810px){:where(.project__content) :where(.case-card){padding:var(--space-40)}}:where(.project__content) :where(.prose){gap:var(--space-16);font-size:var(--fs-lead);letter-spacing:var(--ls-lead);flex-direction:column;line-height:1.6;display:flex}:where(.project__content) :where(.prose) :where(ul,ol){gap:var(--space-8);flex-direction:column;margin:0;padding-inline-start:1.25em;display:flex}:where(.project__content) :where(figure){margin:0}:where(.project__content) :where(img){block-size:auto;max-inline-size:100%}.notes{gap:var(--space-12);flex-direction:column;display:flex}.shell__main:has(>.notes){flex-direction:column;display:flex}.shell__main>.notes,.notes__year:last-of-type{flex:auto}.notes__intro{justify-content:space-between;align-items:flex-end;gap:var(--space-24);padding:var(--space-32) var(--inset-island) var(--space-24);flex-wrap:wrap;display:flex}@media (width>=810px){.notes__intro{padding:var(--space-56) var(--inset-island) var(--space-40)}}.notes__intro-text{min-width:0;flex:320px;max-inline-size:560px}.notes__intro .lead{margin-top:var(--space-12)}.notes__filters{gap:var(--space-8);margin-top:var(--space-32);flex-wrap:wrap;display:none}.js .notes__filters{display:flex}.notes__follow{gap:var(--space-8);flex-wrap:wrap;display:flex}.notes__year{gap:var(--space-12);flex-direction:column;display:flex}.notes__head{justify-content:space-between;align-items:baseline;gap:var(--space-16);padding:var(--space-40) var(--space-24) var(--space-4);display:flex}.notes__count{font:var(--text-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}@media (width<=809.98px){.notes__head{padding:var(--space-32) var(--space-12) 0}}.notes__list{margin:0;padding:0;list-style:none}.notes__empty{gap:var(--space-8);padding:var(--space-32) var(--space-20);flex-direction:column;display:flex}@media (width>=810px){.notes__empty{padding:var(--space-56)}}.nrow{align-items:center;column-gap:var(--space-20);padding:var(--space-20) var(--space-24);border-radius:var(--radius-28);color:inherit;-webkit-tap-highlight-color:transparent;grid-template-columns:minmax(0,1fr) auto;text-decoration:none;display:grid}.nrow:focus-visible{background:var(--surface-hover)}.nrow:active{background:var(--bg-subtle)}@media (hover:hover){.nrow:hover{background:var(--surface-hover)}.nrow:hover:active{background:var(--bg-subtle)}}.nrow__date{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);white-space:nowrap;line-height:1.4}.nrow__text{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.nrow__title{min-width:0;max-inline-size:62ch;font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:balance}.nrow__meta{font-size:var(--fs-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);line-height:1.4}.nrow__badge{padding:0 var(--space-8);border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--text-secondary);font:var(--text-caption);letter-spacing:var(--ls-badge);vertical-align:2px;white-space:nowrap;margin-inline-start:var(--space-8);font-weight:500;line-height:1.6;display:inline-block}.nrow__badge--draft{outline:1px solid var(--line-24);outline-offset:-1px;background:0 0}@media (width<=809.98px){.nrow{align-items:start;column-gap:var(--space-12);padding:var(--space-12) var(--space-24)}.nrow__date{display:none}}.post{--post-measure:680px;padding:var(--space-32) var(--space-20) var(--space-48);flex-direction:column;display:flex}@media (width>=810px){.post{padding:var(--space-64) var(--space-56) var(--space-72)}}.post__header,.post__body>*{max-inline-size:var(--post-measure)}.post__meta{align-items:center;gap:var(--space-4) var(--space-8);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);flex-wrap:wrap;font-weight:500;display:flex}.post__title{margin-top:var(--space-16);font:var(--text-display);letter-spacing:var(--ls-display);text-wrap:balance;font-weight:600;line-height:1.1}.post__lead{margin-top:var(--space-24);font:var(--text-title);letter-spacing:var(--ls-title);color:var(--text-secondary);text-wrap:pretty;font-weight:500}.post__cover{margin:var(--space-40) 0}@media (width>=810px){.post__cover{margin:var(--space-48) 0}}.post__cover .picture{border-radius:var(--radius-24)}.post__header+.post__body{margin-top:var(--space-40)}.post__body{font:var(--text-lead);letter-spacing:var(--ls-lead);min-width:0;font-weight:400;line-height:1.65}@media (width>=810px){.post__body{font-size:var(--fs-lead);letter-spacing:var(--ls-lead)}}.post__body>*+*{margin-top:var(--space-24)}.post__body h2{margin-top:var(--space-56);margin-bottom:calc(-1 * var(--space-8));font:var(--text-heading);letter-spacing:var(--ls-heading);scroll-margin-top:var(--anchor-offset,84px)}.post__body h3{margin-top:var(--space-40);margin-bottom:calc(-1 * var(--space-8));font:var(--text-title);letter-spacing:var(--ls-title);scroll-margin-top:var(--anchor-offset,84px)}.post__body ul,.post__body ol{padding-inline-start:1.4em}.post__body li+li{margin-top:var(--space-8)}.post__body li>p{margin:0}.post__body strong{font-weight:600}.post__body hr{max-inline-size:64px;margin-block:var(--space-40);border:0;border-top:4px solid var(--text-primary);border-radius:var(--radius-4);margin-inline-start:0}.post__body :not(pre)>code{border-radius:var(--radius-8);background:var(--bg-raised);font:400 .88em / 1 var(--font-mono);padding:.12em .4em}.post__body blockquote{margin-block:var(--space-40);font:var(--text-heading);letter-spacing:var(--ls-heading);text-wrap:balance;padding:0;font-weight:500}.post__body blockquote:before{content:"";width:32px;height:4px;margin-bottom:var(--space-24);border-radius:var(--radius-4);background:var(--text-primary);display:block}.post__body blockquote p{font:inherit;margin:0}.post__body blockquote p+p{margin-top:var(--space-16)}.post__body pre{max-inline-size:none;padding:var(--space-24);border-radius:var(--radius-24);font:400 .875rem / 1.65 var(--font-mono);tab-size:2;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line-24) transparent;overflow-x:auto}.post__body pre code{font:inherit}.post__body pre:focus-visible{outline-offset:-2px}.post__body sup a{font-variant-numeric:tabular-nums;padding-inline:.15em;text-decoration:none}.post__body section[data-footnotes]{margin-top:var(--space-56);padding-top:var(--space-24);border-top:1px solid var(--line-8);font-size:var(--fs-body);letter-spacing:var(--ls-body);color:var(--text-secondary);line-height:1.55}.post__body section[data-footnotes] ol{margin:0}.post__body .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.post__body>.pfig{max-inline-size:none;margin-block:var(--space-40)}.pfig{--tile-radius:var(--radius-24);gap:var(--space-12);flex-direction:column;min-width:0;margin:0;display:flex}.pfig__row{gap:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.pfig--duo .pfig__row{grid-template-columns:repeat(2,minmax(0,1fr))}}.pfig--trio .pfig__row{grid-template-columns:repeat(3,minmax(0,1fr));max-inline-size:640px}.pslot__frame{align-content:center;gap:var(--space-8);min-block-size:220px;padding:var(--space-24);border:1px dashed var(--line-16);border-radius:var(--radius-24);color:var(--text-secondary);text-align:center;display:grid}.pslot__file{font:var(--text-label);color:var(--text-primary)}.pslot__brief{font:var(--text-caption);letter-spacing:var(--ls-caption);text-wrap:balance}.pfig__caption{max-inline-size:var(--post-measure);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);text-wrap:pretty}.post-next{margin-top:var(--space-12);gap:var(--space-12);flex-direction:column;display:flex}.nnext{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-20) var(--space-24);border-radius:var(--radius-28);color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none;display:flex}.nnext:focus-visible{background:var(--surface-hover)}.nnext:active{background:var(--bg-subtle)}@media (hover:hover){.nnext:hover{background:var(--surface-hover)}.nnext:hover:active{background:var(--bg-subtle)}}.nnext__text{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.nnext__meta{font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary)}.nnext__title{font:var(--text-heading);letter-spacing:var(--ls-heading);text-wrap:balance}.nnext__arrow{font-size:var(--fs-heading);letter-spacing:var(--ls-heading);color:var(--text-secondary);flex:none;line-height:1}.nnext:hover .nnext__arrow,.nnext:focus-visible .nnext__arrow{color:var(--text-primary)}.post-topbar{z-index:60;pointer-events:none;height:3px;display:none;position:fixed;inset:0 0 auto}.post-topbar>span{background:var(--text-primary);transform-origin:0;height:100%;transform:scaleX(var(--p,0));display:block}@media (width<=1199.98px){.post-topbar{display:block}}.panel--post{--avatar-size:44px;gap:var(--space-24);padding:var(--space-32);min-height:0}.ppost__me{align-items:center;gap:var(--space-12);display:flex}.ppost__who{flex:auto;min-width:0}.ppost__name{font:var(--text-label);letter-spacing:var(--ls-label);font-weight:600}.ppost__head{gap:var(--space-4);flex-direction:column;display:flex}.ppost__title{font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:balance}.ppost__progress{gap:var(--space-8);flex-direction:column;display:flex}.ppost__track{border-radius:var(--radius-4);background:var(--line-8);height:4px;overflow:hidden}.ppost__fill{background:var(--text-primary);transform-origin:0;height:100%;transform:scaleX(var(--p,0));display:block}.ppost__stats{justify-content:space-between;gap:var(--space-12);font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-secondary);display:flex}.ppost__toc{min-height:0;margin-inline:calc(-1 * var(--space-12));padding:var(--space-4) var(--space-12) 0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-24) transparent;flex:1 1 0;overflow-y:auto}.ppost__toc-head{margin-bottom:var(--space-8)}.ptoc__list{padding:0 0 var(--space-4);margin:0;list-style:none}.ptoc{--p:0;align-items:center;column-gap:var(--space-12);min-height:36px;padding-block:var(--space-4);border-radius:var(--radius-8);font:var(--text-label);letter-spacing:var(--ls-label);color:var(--text-secondary);-webkit-tap-highlight-color:transparent;grid-template-columns:2px minmax(0,1fr);text-decoration:none;display:grid}.ptoc__line{border-radius:var(--radius-2);background:var(--text-primary);width:2px;transform:scaleY(var(--p));transform-origin:top;align-self:stretch}@media (hover:hover){.ptoc:hover{color:var(--text-primary)}}.ptoc:active{color:var(--text-primary);opacity:.8}.ptoc[aria-current]{color:var(--text-primary)}.ptoc:focus-visible{outline-offset:-2px}.ppost__actions{align-items:flex-start;gap:var(--space-8);flex-direction:column;margin-top:auto;display:flex}.ppost__follow+.ppost__actions{margin-top:0}.ppost__follow{align-items:flex-start;gap:var(--space-8);padding:var(--space-20);border-radius:var(--radius-24);background:var(--bg-raised);flex-direction:column;margin-top:auto;display:flex}.ppost__follow-title{font:var(--text-label);letter-spacing:var(--ls-label);text-wrap:balance;font-weight:600}.ppost__follow-link{min-height:32px;font:var(--text-caption);letter-spacing:var(--ls-caption);color:var(--text-primary);opacity:var(--link-rest,.6);-webkit-tap-highlight-color:transparent;align-items:center;gap:.28em;font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover){.ppost__follow-link:hover{opacity:var(--link-hover,.8)}}.ppost__follow-link:active{opacity:1}@media (width>=1200px) and (height<=820px){.panel--post{gap:var(--space-16);padding:var(--space-24)}.ppost__follow{padding:var(--space-16)}}@media (width>=810px) and (width<=1199.98px){.shell__panel:has(>.panel--post){display:none}.panel--post{align-items:start;row-gap:var(--space-24);grid-template-columns:minmax(0,1fr);grid-template-areas:"me""head""follow";display:grid}.ppost__me{grid-area:me}.ppost__head,.ppost__title,.ppost__progress,.ppost__toc,.ppost__actions{display:none}.ppost__follow{grid-area:follow;margin-top:0}}@media (width<=809.98px){.shell__panel:has(>.panel--post){display:none}.panel--post{--avatar-size:48px;gap:var(--space-12);padding:var(--space-12);border-radius:var(--radius-24)}.ppost__head{gap:0}.ppost__title,.ppost__progress,.ppost__toc,.ppost__follow,.ppost__actions{display:none}}.gallery{gap:var(--space-12);flex-direction:column;display:flex}.gallery__intro{padding:var(--space-32) var(--inset-island) var(--space-24)}@media (width>=810px){.gallery__intro{padding:var(--space-56) var(--inset-island) var(--space-40)}}.gallery__intro .lead{margin-top:var(--space-12);max-inline-size:560px}.gallery__soon{gap:var(--space-8);padding:var(--space-32) var(--space-20);flex-direction:column;display:flex}@media (width>=810px){.gallery__soon{padding:var(--space-56)}}.gallery__series{gap:var(--space-12);flex-direction:column;display:flex}.gallery__head{justify-content:space-between;align-items:baseline;gap:var(--space-16);padding:var(--space-40) var(--space-24) var(--space-4);display:flex}@media (width<=809.98px){.gallery__head{padding:var(--space-32) var(--space-12) 0}}.gallery__grid{--tile-radius:8px;columns:1;column-gap:var(--space-8)}@media (width>=810px){.gallery__grid{--tile-radius:var(--radius-24);columns:3;column-gap:var(--space-12)}}.gtile{margin:0 0 var(--space-8);break-inside:avoid;display:block}@media (width>=810px){.gtile{margin-bottom:var(--space-12)}}:root:has([data-gallery]) .lightbox__caption{display:none}.gtile .figure__frame{background:var(--bg-card)}.about,.about-section{gap:var(--space-12);flex-direction:column;display:flex}.about-bento{gap:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=810px){.about-bento{grid-template-columns:repeat(12,minmax(0,1fr))}.about-bento>.about-intro{grid-column:span 7}.about-bento>.about-gallery{grid-column:span 5}}@media (width>=1600px){.about-bento>.about-intro,.about-bento>.about-gallery{grid-column:span 6}}.about-intro{justify-content:space-between;gap:var(--space-40);padding:var(--space-32) var(--inset-island);flex-direction:column;display:flex}@media (width>=810px){.about-intro{padding:var(--space-56) var(--inset-island)}}.about-intro__head{gap:var(--space-16);flex-direction:column;display:flex}.about-intro__lead{text-wrap:balance;max-inline-size:28em}.about-intro__summary{gap:var(--space-12);flex-direction:column;display:flex}.about-intro__prose{gap:var(--space-12);max-inline-size:62ch;font:var(--text-body);letter-spacing:var(--ls-body);color:var(--text-90);flex-direction:column;display:flex}.about-intro__prose p{margin:0}.about-gallery{aspect-ratio:1;min-width:0;color:var(--text-primary);-webkit-tap-highlight-color:transparent;text-decoration:none;display:block;position:relative;overflow:hidden}@media (width>=810px){.about-gallery{aspect-ratio:auto;min-block-size:360px}}.about-gallery__pic.about-gallery__pic.about-gallery__pic{border-radius:0;block-size:100%;inline-size:100%;position:absolute;inset:0;aspect-ratio:auto!important}.about-gallery__pic .picture__img{object-position:50% 40%}.about-gallery__chip{z-index:2;inset:auto var(--space-16) var(--space-16);justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-12) var(--space-12) var(--space-24);color:var(--text-primary);display:flex;position:absolute}.about-gallery__label{flex-direction:column;gap:2px;min-width:0;display:flex}.about-gallery__title{font:var(--text-title);letter-spacing:var(--ls-title)}.about-gallery__go{border-radius:var(--radius-pill);background:var(--text-primary);block-size:44px;inline-size:44px;color:var(--bg-card);font-size:var(--fs-lead);letter-spacing:var(--ls-lead);flex:none;place-items:center;display:grid}.about-gallery:focus-visible .about-gallery__chip{background:var(--bg-card)}.about-gallery:active .about-gallery__chip{background:var(--bg-raised)}@media (hover:hover){.about-gallery:hover .about-gallery__chip{background:var(--bg-card)}.about-gallery:hover:active .about-gallery__chip{background:var(--bg-raised)}}@media (width<=809.98px){.about-gallery__chip{inset-inline:var(--space-12);border-radius:var(--radius-28);inset-block-end:var(--space-12)}}.about-facts__grid{gap:var(--space-12);grid-template-columns:minmax(0,1fr);margin:0;display:grid}@media (width>=560px){.about-facts__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.about-facts{container-type:inline-size}@container (width>=1000px){.about-facts__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.about-fact{justify-content:space-between;gap:var(--space-24);min-width:0;min-block-size:132px;padding:var(--space-24) var(--inset-island);flex-direction:column;display:flex}@media (width>=810px){.about-fact{padding:var(--space-32) var(--inset-island)}}@container (width>=1000px){.about-fact{padding-inline:var(--inset-island)}}.about-fact dt,.about-fact__sub{color:var(--text-secondary)}.about-fact dd{font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:balance;margin:0}.about-now__tile{min-block-size:360px;max-inline-size:640px;display:grid}.about-now__tile>.bento__item{display:grid}.about-card{padding:var(--space-32) var(--inset-island)}.island .about-card{padding:var(--space-32) var(--space-24)}@media (width>=810px){.about-card{align-items:start;gap:var(--space-40);padding:var(--space-56) var(--inset-island);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.island .about-card{padding:var(--space-32) var(--space-24)}.about-card--tools{display:block}}.about-card__kicker{margin:0 0 var(--space-16)}@media (width>=810px){.about-card__kicker{margin:0}}.about-card__prose{gap:var(--space-16);max-inline-size:62ch;font:var(--text-lead);letter-spacing:var(--ls-lead);color:var(--text-90);flex-direction:column;display:flex}.about-card__prose p{margin:0}.toolbox{gap:var(--space-24);flex-direction:column;display:flex}.toolbox__group{gap:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=810px){.toolbox__group{align-items:start;gap:var(--space-16);grid-template-columns:168px minmax(0,1fr)}}.toolbox__label{padding-block:var(--space-8);font:var(--text-label);letter-spacing:var(--ls-label);color:var(--text-secondary)}.toolbox__list{gap:var(--space-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tool{align-items:center;gap:var(--space-8);min-height:40px;padding:var(--space-4) var(--space-16) var(--space-4) var(--space-12);border-radius:var(--radius-pill);font:var(--text-label);letter-spacing:var(--ls-label);white-space:nowrap;display:inline-flex}.tool[data-hint]{cursor:default;position:relative}.tool__hint{z-index:2;inline-size:max-content;max-inline-size:min(300px, calc(100vw - 2 * var(--space-16)));padding:var(--space-8) var(--space-12);border-radius:var(--radius-12);background:var(--bg-card);box-shadow:0 12px 32px var(--shadow);color:var(--text-primary);font:var(--text-caption);letter-spacing:var(--ls-caption);white-space:normal;text-wrap:pretty;transform:translateX(var(--hint-dx,0px));opacity:0;pointer-events:none;display:none;position:absolute;inset-block-end:calc(100% + var(--space-8));inset-inline-start:0}.tool[data-flip] .tool__hint{inset-block-start:calc(100% + var(--space-8));inset-block-end:auto}.tool[data-hint]:is(:hover,:focus-visible,[data-open]) .tool__hint{opacity:1;display:block}.tool{--tool-bg:var(--bg-raised);background:var(--tool-bg);user-select:none;-webkit-tap-highlight-color:transparent}.tool:is(:focus-visible,[data-open]){--tool-bg:color-mix(in srgb, var(--text-primary) 9%, var(--bg-raised))}.tool:active{--tool-bg:color-mix(in srgb, var(--text-primary) 15%, var(--bg-raised))}@media (hover:hover){.tool:hover{--tool-bg:color-mix(in srgb, var(--text-primary) 9%, var(--bg-raised))}.tool:hover:active{--tool-bg:color-mix(in srgb, var(--text-primary) 15%, var(--bg-raised))}}.tool__icon{flex:none;width:24px;height:24px;display:block}[data-theme=dark] .tool__icon--mono{filter:invert()}@media (prefers-color-scheme:dark){:root:not([data-theme]) .tool__icon--mono{filter:invert()}}.nf{gap:var(--space-12);flex-direction:column;display:flex}.nf__hero{gap:var(--space-32);padding:var(--space-32) var(--space-20);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=810px){.nf__hero{align-items:center;gap:var(--space-40);padding:var(--space-56);grid-template-columns:minmax(0,1fr) minmax(220px,340px)}}.nf__text{align-items:flex-start;gap:var(--space-16);flex-direction:column;display:flex}.nf__dots{order:-1}@media (width>=810px){.nf__dots{order:0}}.nf__code{font:var(--text-numeral-xl);letter-spacing:var(--ls-numeral-xl);color:var(--text-secondary)}.nf__joke{max-inline-size:24em}.nf__actions{margin-top:var(--space-8)}.nf__dots canvas{aspect-ratio:2;inline-size:100%;color:var(--text-primary);touch-action:pan-y;display:block}@media (width>=810px){.nf__hero{grid-template-columns:minmax(0,1fr) minmax(280px,1.1fr)}}.nf__code{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.home-link{min-height:44px;margin-block:calc(-1 * var(--space-8));padding-inline:var(--space-16);border-radius:var(--radius-pill);color:var(--text-primary);font:var(--text-label);letter-spacing:var(--ls-label);white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:.28em;margin-inline-end:calc(-1 * var(--space-16));text-decoration:none;display:inline-flex}.home-link:active{background:var(--surface-subtle)}@media (hover:hover){.home-link:hover{background:var(--surface-hover)}.home-link:hover:active{background:var(--surface-subtle)}}.home-head__short{display:none}@media (width<=809.98px){.home-head__long{display:none}.home-head__short{display:inline}}.home-head__title{font:var(--text-heading);letter-spacing:var(--ls-heading)}.cover-card__link{aspect-ratio:var(--ratio);border-radius:var(--radius-40);isolation:isolate;color:var(--text-primary);background:var(--bg-raised);-webkit-tap-highlight-color:transparent;text-decoration:none;display:block;position:relative;overflow:hidden}@supports (corner-shape:superellipse(1.5)){.cover-card__link{corner-shape:superellipse(1.5)}}.cover-card__media{transform-origin:50%;position:absolute;inset:0}.cover-card__media>.picture.picture{width:100%;height:100%}.home-case__chip{inset:auto auto var(--space-12) var(--space-12);max-inline-size:calc(100% - 2 * var(--space-12));gap:var(--space-4);padding:var(--space-12) var(--space-24) var(--space-12) var(--space-12);border-radius:var(--radius-16);background:var(--scrim-30);backdrop-filter:blur(var(--blur-glass));flex-direction:column;display:flex;position:absolute}@supports (corner-shape:superellipse(1.5)){.home-case__chip{corner-shape:superellipse(1.5)}}.home-case__title{font:var(--text-title);letter-spacing:var(--ls-title)}.home-case__metric{color:var(--text-secondary);font:var(--text-body);letter-spacing:var(--ls-body)}.home-case__value{color:var(--text-primary);font-weight:600}.home-case{container:home-case/inline-size}@container home-case (width>=640px){.home-case__chip{padding:var(--space-12) var(--space-32) var(--space-12) var(--space-12)}.home-case--featured .home-case__title{font:var(--text-heading);letter-spacing:var(--ls-heading)}.home-case--featured .home-case__metric{font:var(--text-lead);letter-spacing:var(--ls-lead)}}@media (width<=809.98px){.home-case--featured .home-case__link{aspect-ratio:4/3}.home-case__chip{inset:auto auto var(--space-12) var(--space-12);max-inline-size:calc(100% - 2 * var(--space-12))}}.home-case__link:focus-visible .home-case__chip,.home-case__link:active .home-case__chip{background:var(--scrim-50);backdrop-filter:blur(var(--blur-chip-hover))}@media (hover:hover){.home-case__link:hover .home-case__chip{background:var(--scrim-50);backdrop-filter:blur(var(--blur-chip-hover))}}.reel{border-radius:var(--radius-40);position:relative}.reel__card{background:var(--bg-card)}.reel__stage{z-index:1;isolation:isolate;background:var(--bg-card);position:absolute;inset:0}.reel__tag{z-index:2;inset:auto auto var(--space-16) var(--space-16);min-height:44px;padding:var(--space-8) var(--space-24);border-radius:var(--radius-pill);background:var(--bg-glass);backdrop-filter:blur(var(--blur-glass));color:var(--text-primary);font:var(--text-label);letter-spacing:var(--ls-label);align-items:center;display:inline-flex;position:absolute}.reel__loop{z-index:2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.reel__btn{z-index:3;inset:auto auto var(--space-16) var(--space-16);align-items:center;gap:var(--space-12);min-height:52px;padding:var(--space-8) var(--space-24) var(--space-8) var(--space-12);border-radius:var(--radius-pill);background:var(--bg-glass);backdrop-filter:blur(var(--blur-glass));color:var(--text-primary);font:var(--text-label);letter-spacing:var(--ls-label);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;display:inline-flex;position:absolute}.reel__btn:active{background:var(--scrim-50)}@media (hover:hover){.reel__btn:hover{background:var(--scrim-50)}}.reel__play{background:var(--text-primary);width:36px;height:36px;color:var(--bg-card);border-radius:50%;place-items:center;display:grid}.reel__dialog{width:min(100vw - 2 * var(--space-24), 1200px);border-radius:var(--radius-24);background:var(--bg-card);color:var(--text-primary);border:0;padding:0;overflow:hidden}.reel__dialog::backdrop{background:var(--bg-glass);backdrop-filter:blur(var(--blur-glass))}.reel__dialog video{aspect-ratio:16/9;background:var(--bg-subtle);width:100%;display:block}.reel__close{top:var(--space-12);right:var(--space-12);min-height:44px;padding:0 var(--space-16);border-radius:var(--radius-pill);background:var(--bg-glass);color:var(--text-primary);font:var(--text-label);letter-spacing:var(--ls-label);cursor:pointer;border:0;position:absolute}.project-tile{min-width:0;color:var(--text-primary);isolation:isolate;-webkit-tap-highlight-color:transparent;flex-direction:column;padding:0;text-decoration:none;display:flex;position:relative;overflow:hidden}.project-tile__text{gap:var(--space-4);padding:var(--space-24) var(--space-24) var(--space-16);flex-direction:column;display:flex}.project-tile__label{color:var(--text-secondary);font:var(--text-caption);letter-spacing:var(--ls-caption);font-weight:500}.project-tile__title{font:var(--text-title);letter-spacing:var(--ls-title)}.project-tile__media{flex:1 1 0;min-height:120px;position:relative}.project-tile__media>.picture.picture{width:100%;height:100%;position:absolute;inset:0}.bento__item--big .project-tile__title{font:var(--text-heading);letter-spacing:var(--ls-heading)}.bento__item .project-tile--static{background:var(--surface-subtle)}.project-tile--static .project-tile__title{font:var(--text-title);letter-spacing:var(--ls-title)}.project-tile__media--shots{justify-content:center;align-items:flex-start;gap:var(--space-12);display:flex;overflow:hidden}.project-tile__shot{flex:0 0 36%;min-width:0}.project-tile__shot:nth-child(odd){margin-top:var(--space-16)}.project-tile__shot>.picture{width:100%}a.project-tile:active{background:var(--surface-subtle)}@media (hover:hover){a.project-tile:hover{background:var(--surface-hover)}a.project-tile:hover:active{background:var(--surface-subtle)}}@media (width<=809.98px){.project-tile__text,.bento__item--big .project-tile__text{padding:var(--space-24) var(--space-24) var(--space-16)}.bento__item--big .project-tile{min-height:380px}.bento__item--wide .project-tile{min-height:280px}.project-tile__media{min-height:160px}.project-tile__media--shots{min-height:200px}}.note-card{min-width:0;color:var(--text-primary);-webkit-tap-highlight-color:transparent;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.note-card__media{aspect-ratio:16/10;background:var(--bg-raised);position:relative;overflow:hidden}.note-card__media>.picture.picture{width:100%;height:100%}.note-card__ph{inset:auto auto var(--space-16) var(--space-24);color:var(--text-secondary);font:var(--text-label);letter-spacing:var(--ls-label);position:absolute}.note-card__body{gap:var(--space-8);padding:var(--space-24);flex-direction:column;flex:auto;display:flex}.note-card__meta{color:var(--text-secondary);font:var(--text-caption);letter-spacing:var(--ls-caption);font-weight:500}.note-card__title{max-inline-size:62ch;font:var(--text-title);letter-spacing:var(--ls-title);text-wrap:balance}.note-card__text{max-inline-size:62ch;color:var(--text-secondary);font:var(--text-body);letter-spacing:var(--ls-body)}.note-card:active{background:var(--surface-subtle)}@media (hover:hover){.note-card:hover{background:var(--surface-hover)}.note-card:hover:active{background:var(--surface-subtle)}}.exp-row{justify-content:space-between;align-items:center;gap:var(--space-8) var(--space-24);min-height:96px;padding:var(--space-24);border-radius:var(--radius-28);color:inherit;cursor:default;-webkit-tap-highlight-color:transparent;flex-wrap:wrap;text-decoration:none;display:flex}.exp-row:focus-visible{background:var(--surface-hover)}.exp-row:active{background:var(--surface-subtle)}@media (hover:hover){.exp-row:hover{background:var(--surface-hover)}.exp-row:hover:active{background:var(--surface-subtle)}}.exp-row__who,.exp-row__meta{align-items:center;gap:var(--space-4) var(--space-12);flex-wrap:wrap;display:flex}.exp-row__meta{gap:var(--space-4) var(--space-24)}.exp-row__company{font:var(--text-lead);letter-spacing:var(--ls-lead)}.exp-row__role{font:var(--text-caption);letter-spacing:var(--ls-caption);font-weight:600}.exp-row__years{color:var(--text-secondary);font:var(--text-caption);letter-spacing:var(--ls-caption);white-space:nowrap}@media (width<=809.98px){.exp-row{padding:var(--space-16) var(--space-24);min-height:88px}}.how-tile{justify-content:flex-start;gap:var(--space-16);padding:var(--space-24);flex-direction:column;display:flex}.how-tile__icon{border-radius:var(--radius-pill);background:var(--surface-subtle);block-size:44px;inline-size:44px;color:var(--text-primary);place-items:center;display:inline-grid}.how-tile__title{font:var(--text-title);letter-spacing:var(--ls-title);margin-top:auto}.how-tile__text{max-inline-size:36ch;color:var(--text-secondary);font:var(--text-body);letter-spacing:var(--ls-body);text-wrap:pretty}.how-fact{justify-content:flex-end;gap:var(--space-4);padding:var(--space-32) var(--space-24);color:var(--text-primary);-webkit-tap-highlight-color:transparent;flex-direction:column;text-decoration:none;display:flex}.how-fact__value{font:var(--text-display);letter-spacing:var(--ls-display);white-space:nowrap}.how-fact__label{font:var(--text-lead);letter-spacing:var(--ls-lead)}.how-fact__case{gap:var(--space-2);margin-top:var(--space-8);color:var(--text-secondary);font:var(--text-caption);letter-spacing:var(--ls-caption);flex-direction:column;font-weight:500;display:flex}.how-fact__link{color:var(--text-primary);align-items:center;gap:.28em;display:inline-flex}.how-fact:active{background:var(--surface-subtle)}@media (hover:hover){.how-fact:hover{background:var(--surface-hover)}.how-fact:hover:active{background:var(--surface-subtle)}}@media (width<=809.98px){.how-tile{padding:var(--space-24)}}.picture[data-astro-cid-tkmdcksz]{background:var(--bg-raised) var(--lqip) center / cover no-repeat;display:block;position:relative;overflow:hidden}.picture[data-astro-cid-tkmdcksz]:before{content:"";background:inherit;filter:blur(var(--blur-16));z-index:0;position:absolute;inset:-16px}.picture[data-astro-cid-tkmdcksz] .picture__pic{z-index:1;display:block;position:absolute;inset:0}.picture[data-astro-cid-tkmdcksz] .picture__img{object-fit:var(--fit,cover);block-size:100%;inline-size:100%;display:block}.picture[data-astro-cid-tkmdcksz] .picture__pic[data-variant=dark]{display:none}[data-theme=dark] .picture[data-astro-cid-tkmdcksz] .picture__pic[data-variant=dark]{display:block}[data-theme=dark] .picture[data-astro-cid-tkmdcksz] .picture__pic[data-variant=light]{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme]) .picture[data-astro-cid-tkmdcksz] .picture__pic[data-variant=dark]{display:block}:root:not([data-theme]) .picture[data-astro-cid-tkmdcksz] .picture__pic[data-variant=light]{display:none}}.arw[data-astro-cid-twx32vo6]{vertical-align:.04em;flex:none;block-size:.6em;inline-size:.701em;display:inline-block;overflow:visible}}@layer utilities{:is(.link,.prose a,.post__body a,.step-note a,.talk-footer__link,.rd__link,.ppost__follow-link,.prototype__open,.case-next__all){--link-fx:1;text-underline-offset:.32em;-webkit-tap-highlight-color:transparent;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1px}:is(.link,.prose a,.post__body a,.step-note a){text-decoration-color:var(--line-24);text-underline-offset:.2em}.link--bare{text-underline-offset:.32em;text-decoration-color:#0000}:is(.link,.prose a,.post__body a,.step-note a,.talk-footer__link,.rd__link,.ppost__follow-link,.prototype__open,.case-next__all):focus-visible{text-underline-offset:.2em;opacity:1;text-decoration-color:currentColor}@media (hover:hover){:is(.link,.prose a,.post__body a,.step-note a,.talk-footer__link,.rd__link,.ppost__follow-link,.prototype__open,.case-next__all):hover{text-underline-offset:.2em;opacity:1;text-decoration-color:currentColor}}[data-magnet-inline]{display:inline-block}.tabular{font-variant-numeric:tabular-nums}.balance{text-wrap:balance}.pretty{text-wrap:pretty}.nowrap{white-space:nowrap}.text-secondary{color:var(--text-secondary)}.text-90{color:var(--text-90)}.text-80{color:var(--text-80)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@layer motion{.pgb__layer{transition:opacity var(--dur-base) var(--ease-hb-inout)}.nav__settings{display:none;position:static}.settings__row{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:44px;padding-inline:var(--space-12) var(--space-4);display:flex}.seg{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-pill);background:var(--bg-subtle);display:flex}.seg__opt{min-width:44px;min-height:36px;padding-inline:var(--space-12);border-radius:var(--radius-pill);color:inherit;opacity:var(--link-rest);-webkit-tap-highlight-color:transparent;place-items:center;font-weight:500;text-decoration:none;display:grid}.seg__opt[aria-current]{opacity:1;background:var(--accent-soft)}.seg__opt:not([aria-current]):active{opacity:1;background:var(--bg-raised)}@media (hover:hover){.seg__opt:not([aria-current]):hover{opacity:var(--link-hover);background:var(--bg-raised)}}.shell[data-reading] .nav__tools{display:none}.shell[data-reading] .nav__settings{margin-inline-start:auto;display:flex}@media (width>=810px){.shell[data-reading] .nav[data-tools=on] .nav__tools{display:flex}.shell[data-reading] .nav[data-tools=on] .nav__settings{display:none}}.shell[data-reading] .nav__settings .dd__list{transform-origin:top;min-width:0;left:0;right:0}@media (width<=809.98px){.nav__tools{display:none}.nav__settings{margin-inline-start:auto;display:flex}.nav__settings .dd__list{transform-origin:top;min-width:0;left:0;right:0}}@media (prefers-reduced-motion:no-preference){.avatar__face{transition:transform var(--dur-fast) var(--ease-hb-out)}@media (hover:hover){.avatar:hover .avatar__face{transform:scale(1.06)}}.avatar:active .avatar__face{transform:scale(1)}.rd__link{transition:background-color var(--dur-fast) var(--ease-hb-out), opacity var(--dur-fast) var(--ease-hb-out), transform var(--dur-press) var(--ease-hb-out)}.rstep{transition:color var(--dur-fast) var(--ease-hb-out), opacity var(--dur-press) var(--ease-hb-out)}.rstep__line{transition:transform var(--spring-ui-duration) var(--spring-ui)}:root[data-vt=page]::view-transition-group(hb-panel){border-radius:var(--radius-40);overflow:clip}@supports (corner-shape:superellipse(1.5)){:root[data-vt=page]::view-transition-group(hb-panel){corner-shape:superellipse(1.5)}}:root[data-vt=page]::view-transition-old(hb-panel){object-fit:none;object-position:top right;block-size:auto;inline-size:auto;max-inline-size:none}:root[data-vt=page]::view-transition-new(hb-panel){block-size:100%;inline-size:100%}}.figure__zoom-icon{transition:opacity var(--dur-press) var(--ease-hb-out)}@media (prefers-reduced-motion:no-preference){.lightbox__btn{transition:background-color var(--dur-press) var(--ease-hb-out), scale var(--dur-press) var(--ease-hb-out)}.figure__zoom-icon{transition:opacity var(--dur-press) var(--ease-hb-out), scale var(--dur-press) var(--ease-hb-out)}.ba__knob{transition:scale var(--dur-press) var(--ease-hb-out)}.case-next__all,.prototype__open{transition:opacity var(--dur-fast) var(--ease-hb-out)}.next-card__cover{transition:transform var(--spring-cover-duration) var(--spring-cover)}@media (hover:hover){.next-card:hover .next-card__cover{transform:scale(1.025)}}.next-card:active .next-card__cover{transform:scale(1.01)}.next-card__chip{transition:background-color var(--dur-base) var(--ease-hb-out), backdrop-filter var(--dur-base) var(--ease-hb-out)}.next-card__title>.arw{transition:transform var(--dur-fast) var(--ease-hb-out);margin-inline-start:.1em}@media (hover:hover){.next-card:hover .next-card__title>.arw{transform:translate(4px)}}.chip{transition:background-color var(--dur-fast) var(--ease-hb-out), color var(--dur-fast) var(--ease-hb-out), transform var(--dur-press) var(--ease-hb-out)}.chip:active{transform:scale(.98)}a.row,a.site-tile{transition:background-color var(--dur-fast) var(--ease-hb-out)}.site-tile__arrow,.row__arrow{transition:color var(--dur-fast) var(--ease-hb-out), transform var(--dur-fast) var(--ease-hb-out)}a.site-tile:hover .site-tile__arrow,a.site-tile:focus-visible .site-tile__arrow,a.row:hover .row__arrow,a.row:focus-visible .row__arrow{transform:translate(2px,-2px)}.project__video{transition:opacity var(--dur-base) var(--ease-hb-out)}.nrow,.nnext{transition:background-color var(--dur-fast) var(--ease-hb-out)}.nnext__arrow{transition:color var(--dur-fast) var(--ease-hb-out), transform var(--dur-fast) var(--ease-hb-out)}@media (hover:hover){.nnext:hover .nnext__arrow{transform:translate(4px)}}.nnext:focus-visible .nnext__arrow{transform:translate(4px)}.ppost__follow-link{transition:opacity var(--dur-fast) var(--ease-hb-out)}.ptoc{transition:color var(--dur-fast) var(--ease-hb-out), opacity var(--dur-press) var(--ease-hb-out)}.ptoc__line{transition:transform var(--spring-ui-duration) var(--spring-ui)}.post__body a{transition:text-decoration-color var(--dur-fast) var(--ease-hb-out), opacity var(--dur-press) var(--ease-hb-out)}.gtile .picture{transition:transform var(--spring-cover-duration) var(--spring-cover)}@media (hover:hover){.gtile:hover .picture{transform:scale(1.025)}}.gtile:active .picture{transform:scale(1.01)}.tool__hint{transition:opacity var(--dur-fast) var(--ease-hb-out)}.tool{transition:background-color var(--dur-press) var(--ease-hb-out)}.tool__icon{transition:transform var(--spring-ui-duration) var(--spring-ui)}.tool:is(:focus-visible,[data-open]) .tool__icon{transform:scale(1.12)rotate(-5.3deg)}@media (hover:hover){.tool:hover .tool__icon{transform:scale(1.12)rotate(-5.3deg)}.tool:hover:active .tool__icon{transform:scale(.92)rotate(0)}}.tool:active .tool__icon{transform:scale(.92)rotate(0)}.about-gallery .picture{transition:transform var(--spring-cover-duration) var(--spring-cover)}.about-gallery__chip{transition:background-color var(--dur-base) var(--ease-hb-out)}.about-gallery__go{transition:transform var(--dur-fast) var(--ease-hb-out)}@media (hover:hover){.about-gallery:hover .picture{transform:scale(1.025)}.about-gallery:hover .about-gallery__go{transform:scale(1.08)}}.about-gallery:active .picture{transform:scale(1.01)}.about-gallery:active .about-gallery__go{transform:scale(.96)}.about-gallery:focus-visible .about-gallery__go{transform:scale(1.08)}.cover-card__media{transition:transform var(--spring-cover-duration) var(--spring-cover)}.cover-card__link:focus-visible .cover-card__media{transform:scale(1.025)}@media (hover:hover){.cover-card__link:hover .cover-card__media{transform:scale(1.025)}}.cover-card__link:active .cover-card__media,.cover-card__link:hover:active .cover-card__media{transition-duration:var(--dur-press);transition-timing-function:var(--ease-hb-out);transform:scale(1.012)}.home-case__chip{transition:background-color var(--dur-base) var(--ease-hb-out), -webkit-backdrop-filter var(--dur-base) var(--ease-hb-out), backdrop-filter var(--dur-base) var(--ease-hb-out)}.home-link,a.project-tile,.note-card,.how-fact{transition:background-color var(--dur-fast) var(--ease-hb-out)}.project-tile__media .picture,.note-card__media .picture{transition:transform var(--spring-cover-duration) var(--spring-cover)}@media (hover:hover){a.project-tile:hover .project-tile__media .picture,.note-card:hover .note-card__media .picture{transform:scale(1.025)}}a.project-tile:focus-visible .project-tile__media .picture,.note-card:focus-visible .note-card__media .picture{transform:scale(1.025)}a.project-tile:active .project-tile__media .picture,.note-card:active .note-card__media .picture{transition-duration:var(--dur-press);transition-timing-function:var(--ease-hb-out);transform:scale(1.012)}.exp-row{transition:background-color var(--dur-fast) var(--ease-hb-out)}.reel__btn{transition:background-color var(--dur-fast) var(--ease-hb-out), transform var(--dur-press) var(--ease-hb-out)}.reel__btn:active{transform:scale(.98)}:is(.link,.prose a,.post__body a,.step-note a,.talk-footer__link,.rd__link,.ppost__follow-link,.prototype__open,.case-next__all){transition:opacity var(--dur-fast) var(--ease-hb-out), text-decoration-color var(--dur-base) var(--ease-hb-out), text-underline-offset var(--dur-base) var(--ease-hb-out), translate var(--spring-ui-duration) var(--spring-ui);translate:var(--mx,0) var(--my,0)}.btn{transition:background-color var(--dur-fast) var(--ease-hb-out), transform var(--dur-press) var(--ease-hb-out)}.btn:active{transform:scale(.98)}@media (width<=1199.98px){.nav-wrap{transition:transform var(--dur-base) var(--ease-hb-out), opacity var(--dur-base) var(--ease-hb-out), visibility 0s linear var(--dur-base)}:root:not([data-nav-hidden]) .nav-wrap{transition-delay:0s,0s,0s}}.nav__link,.nav__tool,.talk-footer__link{transition:opacity var(--dur-fast) var(--ease-hb-out)}.cv__sheet{animation:hb-cv-breathe calc(var(--dur-scroll) * 2) var(--ease-hb-inout) infinite alternate}@keyframes hb-cv-breathe{0%{opacity:.55}}.btn__swap-a,.btn__swap-b{transition:opacity var(--dur-fast) var(--ease-hb-out)}:is(.theme-toggle,.sound-toggle) .icon{transition:scale var(--spring-ui-duration) var(--spring-ui)}:is(.theme-toggle,.sound-toggle):active .icon{transition-duration:var(--dur-press);transition-timing-function:var(--ease-hb-out)}.dd__list{transition:opacity var(--dur-fast) var(--ease-hb-out), transform var(--spring-ui-duration) var(--spring-ui), visibility 0s linear var(--dur-fast);transform:translateY(-4px)scale(.98)}.dd[data-open] .dd__list,:root:not(.js) .dd:is(:hover,:focus-within) .dd__list{transition-delay:0s;transform:none}.nav__lang-caret{transition:rotate var(--spring-ui-duration) var(--spring-ui)}.nav__lang[aria-expanded=true] .nav__lang-caret{rotate:180deg}.seg__opt{transition:opacity var(--dur-fast) var(--ease-hb-out), background-color var(--dur-fast) var(--ease-hb-out)}.dd__item{transition:background-color var(--dur-fast) var(--ease-hb-out)}.nav__logo .logo{transition:transform var(--spring-logo-duration) var(--spring-logo)}@media (hover:hover){.nav__logo:not([aria-current=page]):hover .logo{transform:rotate(-30deg)}}.nav__logo:not([aria-current=page]):active .logo{transform:rotate(-35deg)}.avatar{transition:transform var(--dur-press) var(--ease-hb-out)}.avatar:active{transform:scale(.97)}.sphere__canvas,.sphere__still{transition:opacity var(--dur-base) var(--ease-hb-out)}:root[data-vt=theme]::view-transition-old(root),:root[data-vt=theme]::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-vt=theme] *{view-transition-name:none!important}}@keyframes hb-page-out{to{opacity:0}}@keyframes hb-page-in{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){:root[data-vt=page] .nav-wrap{view-transition-name:hb-nav}@media (width>=1200px){:root[data-vt=page] .shell__panel{view-transition-name:hb-panel}}:root[data-vt=page]::view-transition{background:var(--bg-page)}:root[data-vt=page]::view-transition-group(root){animation-duration:0s}:root[data-vt=page]::view-transition-old(root){animation:hb-page-out var(--dur-page) var(--ease-page) both;mix-blend-mode:normal}:root[data-vt=page]::view-transition-new(root){animation:hb-page-in var(--dur-page) var(--ease-page) var(--dur-page) both;mix-blend-mode:normal}:root[data-vt=page]::view-transition-group(hb-nav){animation-duration:0s}:root[data-vt=page]::view-transition-old(hb-nav){display:none}:root[data-vt=page]::view-transition-new(hb-nav){animation:none}:root[data-vt=page]::view-transition-group(hb-panel){animation-duration:0s}:root[data-vt=page]::view-transition-old(hb-panel){animation:hb-page-out var(--dur-page) var(--ease-page) var(--dur-page) both}:root[data-vt=page]::view-transition-new(hb-panel){animation:hb-page-in var(--dur-page) var(--ease-page) var(--dur-page) both}:root[data-vt=page]::view-transition-group(hb-cover){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-page)}:root[data-vt=page]::view-transition-image-pair(hb-cover){border-radius:var(--vt-cover-r1,var(--radius-40));animation:hb-cover-corner var(--dur-slow) var(--ease-page) both;overflow:clip}@supports (corner-shape:superellipse(1.5)){:root[data-vt=page]::view-transition-image-pair(hb-cover){corner-shape:superellipse(1.5)}}@keyframes hb-cover-corner{0%{border-radius:var(--vt-cover-r0,var(--radius-40))}to{border-radius:var(--vt-cover-r1,var(--radius-40))}}:root[data-vt=page]::view-transition-old(hb-cover),:root[data-vt=page]::view-transition-new(hb-cover){object-fit:cover;width:100%;height:100%;animation-duration:var(--dur-slow);animation-timing-function:var(--ease-page)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:var(--dur-fast)}}@media (prefers-reduced-motion:no-preference){.js [data-appear]:not([data-appeared]):not([data-appear=island]){filter:opacity(.001)}.js .island[data-appear=island]:not([data-appeared]){--island-a:.001}.js .island[data-appear=island]:not([data-appeared])>*{filter:opacity(.001)}}.preloader{display:none}html.hb-pl .preloader{z-index:1000;animation:0s linear 12s forwards hb-pl-failsafe;display:block;position:fixed;inset:0}.preloader__veil{background:var(--bg-page);position:absolute;inset:0}.hbpl-frame canvas{visibility:hidden;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}@keyframes hb-pl-failsafe{to{visibility:hidden}}@media (prefers-reduced-motion:reduce) and (width<=1199.98px){.nav-wrap{transition:opacity var(--dur-fast) var(--ease-hb-out), visibility 0s linear var(--dur-fast)}:root:not([data-nav-hidden]) .nav-wrap{transition-delay:0s,0s}}}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/onest-cyrillic-ext.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:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/onest-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/onest-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/onest-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/onest-symbols.woff2)format("woff2");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB}@font-face{font-family:Onest Fallback;font-style:normal;font-weight:100 500;src:local(Arial),local(ArialMT),local(Helvetica),local(Liberation Sans),local(Arimo);size-adjust:105%;ascent-override:92.4%;descent-override:29%;line-gap-override:0%}@font-face{font-family:Onest Fallback;font-style:normal;font-weight:600 900;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Bold),local(Liberation Sans Bold),local(Arimo Bold);size-adjust:99%;ascent-override:98%;descent-override:30.8%;line-gap-override:0%}@supports (corner-shape:superellipse(1.5)){@layer components{.case-card,.case-hero,.case-facts__item,.stat,.quote,.figure__frame,.ba,.prototype__stage,.step,.step-note,.key-decision,.next-card,.slides__track,.case-glass,.figure__pic{corner-shape:superellipse(1.5)}}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.arrow-word[data-astro-cid-6fyvuloj]{white-space:nowrap}
