@layer system{@font-face{font-family:Urbanist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/urbanist-latin-ext-wght-normal.Bdxck5Au.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Urbanist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/urbanist-latin-wght-normal.D69JTELx.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Funnel Display Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/funnel-display-latin-ext-wght-normal.DxkvHKaa.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Funnel Display Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/_astro/funnel-display-latin-wght-normal.h7i3A3FI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-white:#fff;--color-paper:#faf8f7;--color-mist:#f0edeb;--color-stone:#dedad7;--color-silver:#b8b8b8;--color-pewter:#747474;--color-graphite:#343432;--color-charcoal:#222320;--color-ink:#161715;--color-night:#0f100e;--color-orange:#f25a30;--color-orange-light:#ff6b42;--color-ink-64:#161715a3;--color-ink-16:#16171529;--color-ink-8:#16171514;--color-paper-64:#faf8f7a3;--color-paper-10:#faf8f71a;--color-paper-8:#faf8f714}:root,[data-theme=light],[data-color-zone=light]{--color-bg-section:var(--color-ink);--color-text-primary:var(--color-ink);--color-text-primary-hover:var(--color-graphite);--color-text-secondary:var(--color-ink-64);--color-text-on-primary:var(--color-white);--color-bg-canvas:var(--color-paper);--color-bg-surface:var(--color-white);--color-bg-surface-subtle:var(--color-mist);--color-border-default:var(--color-ink-8);--color-interactive-accent:var(--color-orange);--color-video-track:var(--color-ink-16);--color-rain-icon:var(--color-ink);--color-footer-icon:var(--color-silver);color-scheme:light}:root,[data-theme],[data-color-zone],:where(.skill-tag--accent),:where(.case-study-decision-card__icon){--color-bg-accent-subtle:color-mix(in srgb, var(--color-interactive-accent) 12%, var(--color-bg-surface))}:root,[data-theme],[data-color-zone]{--color-border-control:var(--color-text-primary);--color-media-frame:var(--color-bg-canvas);--color-focus-ring:var(--color-text-primary);--color-backdrop:#0000002e}[data-theme=dark],[data-color-zone=dark]{--color-bg-section:var(--color-night);--color-text-primary:var(--color-paper);--color-text-primary-hover:var(--color-stone);--color-text-secondary:var(--color-paper-64);--color-text-on-primary:var(--color-ink);--color-bg-canvas:var(--color-ink);--color-bg-surface:var(--color-charcoal);--color-bg-surface-subtle:var(--color-graphite);--color-border-default:var(--color-paper-8);--color-interactive-accent:var(--color-orange-light);--color-video-track:var(--color-paper-10);--color-rain-icon:var(--color-stone);--color-footer-icon:var(--color-pewter);color-scheme:dark}[data-zone-keep~=surface]{--color-bg-surface:inherit}[data-zone-keep~=focus-ring]{--color-focus-ring:inherit}[data-zone-keep~=section]{--color-bg-section:inherit}:root{--font-heading:"Funnel Display Variable", "Funnel Display", Arial, sans-serif;--font-body:"Urbanist Variable", Urbanist, Arial, sans-serif;--font-heading-xl:var(--font-heading);--font-weight-heading-xl:400;--text-heading-xl:2.5rem;--line-height-heading-xl:.909091;--letter-spacing-heading-xl:-.045em;--font-heading-l:var(--font-heading);--font-weight-heading-l:400;--text-heading-l:1.625rem;--line-height-heading-l:1.14286;--letter-spacing-heading-l:-.042em;--font-heading-m:var(--font-heading);--font-weight-heading-m:500;--text-heading-m:1.375rem;--line-height-heading-m:1.33333;--letter-spacing-heading-m:-.032em;--font-body-l:var(--font-body);--font-weight-body-l:400;--text-body-l:1.125rem;--line-height-body-l:1.5;--letter-spacing-body-l:0em;--font-body-m:var(--font-body);--font-weight-body-m:400;--text-body-m:1rem;--line-height-body-m:1.5;--letter-spacing-body-m:0em;--font-body-m-strong:var(--font-body);--font-weight-body-m-strong:500;--text-body-m-strong:1rem;--line-height-body-m-strong:1.5;--letter-spacing-body-m-strong:0em;--font-body-s:var(--font-body);--font-weight-body-s:400;--text-body-s:.875rem;--line-height-body-s:1.42857;--letter-spacing-body-s:0em;--font-label-m:var(--font-heading);--font-weight-label-m:500;--text-label-m:.875rem;--line-height-label-m:1.42857;--letter-spacing-label-m:-.036em;--font-label-s:var(--font-body);--font-weight-label-s:500;--text-label-s:.75rem;--line-height-label-s:1.33333;--letter-spacing-label-s:0em}@media (width>=768px){:root{--text-heading-xl:3rem;--letter-spacing-heading-xl:-.046em;--text-heading-l:2.25rem;--letter-spacing-heading-l:-.044em}}@media (width>=1024px){:root{--text-heading-xl:4.75rem;--letter-spacing-heading-xl:-.048em;--text-heading-l:3.5rem;--letter-spacing-heading-l:-.047em;--text-heading-m:1.5rem;--letter-spacing-heading-m:-.034em;--text-body-l:1.25rem}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--gutter:var(--space-6);--header-inset:var(--space-6);--grid-gap:var(--space-4);--section-space:var(--space-16);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--gutter-left:calc(var(--gutter) + var(--safe-left));--gutter-right:calc(var(--gutter) + var(--safe-right))}@media (width>=768px){:root{--gutter:max(var(--space-16), calc((100vw - 1200px) / 2));--header-inset:var(--space-8);--grid-gap:var(--space-6);--section-space:var(--space-24)}}:root{--radius-xs:8px;--radius-small:12px;--radius-medium:24px;--radius-large:24px;--radius-xlarge:40px;--radius-full:999px}@media (width>=768px){:root{--radius-large:40px;--radius-xlarge:clamp(40px, 5.8vw, 100px)}}:root,[data-theme=light],[data-color-zone=light],[data-fixed-shadow=light]{--shadow-small:0 8px 24px #1617151a;--shadow-large:0 8px 24px #1617151a, 0 24px 56px #1617151f}[data-theme=dark],[data-color-zone=dark]{--shadow-small:0 2px 8px #00000029, 0 12px 32px #00000047;--shadow-large:0 8px 24px #00000061, 0 24px 64px #00000085}[data-zone-keep~=shadows]{--shadow-small:inherit;--shadow-large:inherit}[data-zone-keep~=large-shadow]{--shadow-large:inherit}:root{--duration-button-fill:.45s;--duration-tooltip-opacity:.32s;--duration-tooltip-scale:.44s;--duration-case-open:.7s;--duration-case-close:.4s;--duration-case-caption-exit:.2s;--duration-case-caption-enter:.6s;--duration-case-body-enter:.35s;--duration-case-radius:.26s;--duration-entrance:.9s;--duration-title-reveal:.9s;--duration-copy-reveal:.9s;--duration-role-hold:1s;--duration-role-exit:.45s;--duration-logo-wave:.935s;--duration-skills-loop:13.075s;--duration-toggle-enter:.6s;--duration-header-enter:.56s;--duration-header-exit:.24s;--duration-toggle-return:.6s;--duration-fast:.16s;--duration-navigation:.42s;--duration-layout:.5s;--duration-work-stage:.8s;--duration-filter-exit:.14s;--duration-filter-enter:.2s;--duration-filter-layout:.42s;--duration-press:.1s;--duration-close-turn:.35s;--duration-tool-icon:.52s;--duration-section-scroll:.65s;--duration-about-reveal:.62s;--delay-case-caption-enter:.1s;--delay-case-body-enter:.35s;--stagger-tag-reveal:.15s;--stagger-title-reveal:35ms;--stagger-copy-reveal:.1s;--delay-work-filter-scroll-return:80ms;--delay-filter-enter:.14s;--stagger-about-reveal:.16s;--delay-service-tooltip:.16s;--delay-footer-tooltip:1s;--delay-walkthrough-pill:1s;--delay-walkthrough-pill-start:4s;--ease-entrance:cubic-bezier(.22, .61, .36, 1);--ease-out:ease-out;--ease-case-travel:cubic-bezier(.22, .75, .25, 1);--ease-in-out:ease-in-out;--ease-header-pill:cubic-bezier(.333333, 0, .666667, 1);--ease-toggle-rotation:cubic-bezier(.4, 0, .2, 1);--ease-filter-enter:cubic-bezier(.25, .46, .45, 1);--ease-button-fill:cubic-bezier(.785,.135,.15,.86);--ease-role-swap:cubic-bezier(.37, 0, .63, 1);--ease-linear:linear;--ease-in:ease-in;--distance-icon-shift:3px;--distance-case-copy:16px;--rotation-case-control:225deg;--distance-text-reveal:8px;--distance-title-reveal:16px;--scale-filter:.9;--scale-filter-exit:.97;--distance-filter-enter:24px;--scale-icon-hover:1.1;--scale-press:.92;--scale-button-press:.98;--scale-button-arrow-start:.35;--distance-button-arrow-diagonal:14px;--distance-navigation-dot:6px;--rotation-icon-turn:180deg;--scale-cursor-start:.8;--scale-tool-icon:1.08;--distance-button-arrow:20px;--scale-tooltip-start:.82;--scale-logo-wave:1.05;--work-stage-collapse-scroll-y:1;--work-stage-trigger-viewport-ratio:.02;--section-reveal-trigger-viewport-ratio:.9;--intro-stage-progress:.5;--work-filter-magnet-spring-speed:14;--work-filter-magnet-inside-spring-speed:2;--work-filter-scroll-lag:32;--work-filter-scroll-spring-speed:10;--work-filter-scroll-return-speed:20;--project-tilt-angle:6;--project-tilt-perspective:1000px;--ease-spring-wave:linear(0 0%, .020288 1.28342%, .075828 2.56684%, .158625 3.85027%, .260927 5.13369%, .375491 6.41711%, .495784 7.70053%, .616125 8.98396%, .731763 10.2674%, .838919 11.5508%, .934769 12.8342%, 1.0174 14.1177%, 1.08573 15.4011%, 1.13943 16.6845%, 1.17879 17.9679%, 1.20463 19.2513%, 1.21814 20.5348%, 1.22109 21.5212%, 1.22084 21.8182%, 1.21439 23.1016%, 1.20056 24.385%, 1.18111 25.6685%, 1.15773 26.9519%, 1.13198 28.2353%, 1.10528 29.5187%, 1.07883 30.8021%, 1.05363 32.0856%, 1.03047 33.369%, 1.00992 34.6524%, .992371 35.9358%, .97801 37.2193%, .966882 38.5027%, .958891 39.7861%, .953836 41.0695%, .951432 42.3529%, .951338 43.6364%, .953176 44.9198%, .956556 46.2032%, .96109 47.4866%, .96641 48.7701%, .972177 50.0535%, .97809 51.3369%, .983893 52.6203%, .989373 53.9037%, .99437 55.1872%, .998765 56.4706%, 1.00249 57.754%, 1.00549 59.0374%, 1.00779 60.3209%, 1.0094 61.6043%, 1.01038 62.8877%, 1.01079 64.1711%, 1.0107 65.4546%, 1.01021 66.738%, 1.00939 68.0214%, 1.00834 69.3048%, 1.00714 70.5882%, 1.00585 71.8717%, 1.00454 73.1551%, 1.00327 74.4385%, 1.00208 75.7219%, 1.00101 77.0054%, 1.00007 78.2888%, .999282 79.5722%, .998654 80.8556%, .998182 82.139%, .997859 83.4225%, .997674 84.7059%, .997611 85.9893%, .997652 87.2727%, .997779 88.5562%, .997973 89.8396%, .998215 91.123%, .998487 92.4064%, .998774 93.6898%, .999062 94.9733%, .999339 96.2567%, .999597 97.5401%, .999828 98.8235%, 1 100%);--icon-size:24px;--icon-size-compact:20px;--icon-stroke-regular:1.5;--icon-stroke-strong:2;--icon-linecap:round;--icon-linejoin:round;--rotation-icon-close:45deg;--control-height-small:36px;--layer-behind:-1;--layer-base:0;--layer-content:1;--layer-raised:2;--layer-controls:10;--layer-tooltip:20;--layer-header:30;--layer-cursor:40;--layer-overlay:100;--control-height:48px;--control-icon:44px;--opacity-disabled:.4;--header-clearance:112px;--scroll-clearance:100px;--work-rail-offset:206px;--hero-bottom-desktop:150px;--hero-marquee-height-compact:130px;--hero-bottom-compact:70px;--button-padding-inline-small:14px;--media-frame-radius-outset:2px;--header-height:64px;--player-thumb-size:16px;--player-track-height:4px;--navigation-dot-size:6px;--project-logo-size:32px;--opacity-case-guides:.44;--hero-gutter:var(--space-6);--hero-visual-gutter:var(--space-6);--work-preview-height:120px;--project-identity-tags-gap:var(--space-6);--case-hero-fit:contain}@media (width>=768px){:root{--scroll-clearance:var(--header-clearance);--hero-gutter:max(var(--space-16), calc((100vw - 1328px) / 2));--hero-visual-gutter:calc(var(--hero-gutter) - var(--space-1));--work-preview-height:200px}}:where(h1,h2,h3,h4,h5,h6,strong,b,small,button,input,select,textarea){font:inherit;letter-spacing:inherit}.text-heading-xl{font-family:var(--font-heading-xl);font-size:var(--text-heading-xl);font-weight:var(--font-weight-heading-xl);line-height:var(--line-height-heading-xl);letter-spacing:var(--letter-spacing-heading-xl)}.text-heading-l,.case-study-heading,:where(.case-study-narrative .stat-value),:where(.ds-item-header h1),.stat-value,.vox-solution-stats strong{font-family:var(--font-heading-l);font-size:var(--text-heading-l);font-weight:var(--font-weight-heading-l);line-height:var(--line-height-heading-l);letter-spacing:var(--letter-spacing-heading-l)}.text-heading-m,.cravus-case .cravus-page-title,:where(.cravus-grid-card dd),:where(.dc-copy>.text-heading-m),:where(.ds-dashboard-title),.project-identity,:where(.index-grid-card dd),.sternfit-brand-name,.sternfit-quote,.vox-section-title,.vox-goal p:last-child,.vox-hypotheses li>span,:where(.vox-solution-stats span){font-family:var(--font-heading-m);font-size:var(--text-heading-m);font-weight:var(--font-weight-heading-m);line-height:var(--line-height-heading-m);letter-spacing:var(--letter-spacing-heading-m)}.text-body-l,.case-study-content--editorial .case-study-section-title,:where(.ds-specimens),.hero-description,.accent-stat,.section-description,.project-outcome,body,.dg-lede,.contact-description,.text-body-l :where(strong,b){font-family:var(--font-body-l);font-size:var(--text-body-l);font-weight:var(--font-weight-body-l);line-height:var(--line-height-body-l);letter-spacing:var(--letter-spacing-body-l)}.text-body-m,.project--compact .project-outcome,:where(.case-study-decision-card--media h3),:where(.case-study-decision-card__copy),:where(.case-study-narrative),:where(.case-study-narrative :where(ul:not([class]),ol:not([class]),.case-study-list)),:where(),:where(.ds-media-controls),:where(.project-description),:where(.stat dd),:where(.contact-links),:where(.hk-pipeline li),:where(.hk-camp),:where(.hk-camp h4),:where(.hk-flowline){font-family:var(--font-body-m);font-size:var(--text-body-m);font-weight:var(--font-weight-body-m);line-height:var(--line-height-body-m);letter-spacing:var(--letter-spacing-body-m)}.text-body-m-strong,:where(.identity),:where(.case-study-narrative) :where(th),:where(.case-study-narrative .stat-label),:where(.ds-tile-link strong),:where(.ds-color-card-heading strong),:where(.ds-stroke-card>strong),:where(.stat-label),:where(.hk-stxt :is(h3,.hk-n)),:where(.hk-v),:where(.kc-dish),:where(.promshyna-specs dd),:where(.promshyna-badge),:where(.vox-accent),:where(.vox-subhead),:where(.vox-problem blockquote),:where(.vox-goal p:first-child),:where(.vox-hypotheses p strong),:where(:where(.case-study-narrative) :where(h3,h4):not(:where(.case-study-heading,.text-heading-m,[data-typography-exclusion],[data-typography-exclusion] *))),:where(:where(.case-study-narrative) :where(strong,b):not(:where([data-typography-exclusion],[data-typography-exclusion] *))){font-family:var(--font-body-m-strong);font-size:var(--text-body-m-strong);font-weight:var(--font-weight-body-m-strong);line-height:var(--line-height-body-m-strong);letter-spacing:var(--letter-spacing-body-m-strong)}.text-body-s,:where(.case-study-narrative .stat dd),:where(.dg-testimonials figcaption),:where(.ds-main),:where(.ds-item-description),:where(.ds-spec-list li),:where(.ds-spec-list strong),:where(.ds-colors),:where(.ds-stroke-values),:where(.project--compact .project-description),:where(.index-palette>li>div:last-child),:where(.index-specimen-size),:where(.peak-color-label),:where(.promshyna-palette p),:where(.yellow-brand-card figcaption),:where(.yellow-equation span),:where(.yellow-colour-label),:where(figcaption),.text-body-s :where(strong,b),[data-small-work-type] .navigation-item{font-family:var(--font-body-s);font-size:var(--text-body-s);font-weight:var(--font-weight-body-s);line-height:var(--line-height-body-s);letter-spacing:var(--letter-spacing-body-s)}.text-label-m,:where(.case-study-eyebrow,.case-study-narrative .eyebrow),.hero-eyebrow,.eyebrow,.case-study-eyebrow{font-family:var(--font-label-m);font-size:var(--text-label-m);font-weight:var(--font-weight-label-m);line-height:var(--line-height-label-m);letter-spacing:var(--letter-spacing-label-m);text-transform:uppercase}.text-label-s,:where(.hk-code,.hk-c),:where(.case-study-marker>span),.case-video-time,:where(.case-video-preview),:where(.cravus-grid-card dt),:where(.ds-nav-group>p),:where(.ds-breadcrumb),:where(.ds-props-table table),:where(.ds-props-table th,.ds-props-table td),:where(.ds-props-table th),:where(.ds-tile-link>span),:where(.button.button--catalog),:where(.ds-color-strip>div),:where(.ds-stroke-card>p),.skill-tag,:where(.footer>p),:where(.hk-svc),:where(.hk-k),:where(.hk-match),:where(.index-grid-card dt),:where(.kc-note),:where(.vox-persona-group){font-family:var(--font-label-s);font-size:var(--text-label-s);font-weight:var(--font-weight-label-s);line-height:var(--line-height-label-s);letter-spacing:var(--letter-spacing-label-s)}.text-caps-centred{text-box-trim:trim-both;text-box-edge:cap alphabetic;display:block}.title-align-text,.title-align-control{display:contents}.section-index>:is(.title-align-text,.title-align-control){display:block}@media (width>=768px){.title-align-line{font-family:var(--font-heading-l);font-size:var(--text-heading-l);font-weight:var(--font-weight-heading-l);line-height:var(--line-height-heading-l);letter-spacing:var(--letter-spacing-heading-l)}.title-align-line:after{content:"​"}.title-align-line>:is(.title-align-text,.title-align-control){vertical-align:baseline;inline-size:100%;font-family:var(--font-body-m);font-size:var(--text-body-m);font-weight:var(--font-weight-body-m);line-height:var(--line-height-body-m);letter-spacing:var(--letter-spacing-body-m);display:inline-grid}.title-align-line>:is(.title-align-text,.title-align-control):before{content:"";block-size:1cap;inline-size:0;font-family:var(--font-heading-l);font-size:var(--text-heading-l);font-weight:var(--font-weight-heading-l);line-height:var(--line-height-heading-l);grid-area:1/1}.title-align-line>:is(.title-align-text,.title-align-control)>*{grid-area:1/1}.title-align-line>.title-align-text>*{align-self:start}.title-align-line>.title-align-text>:first-child,.title-align-line>.title-align-text>:first-child>p:first-child{text-box-trim:trim-start;text-box-edge:cap alphabetic}.title-align-line>.title-align-control{grid-template-rows:max-content;line-height:0}.title-align-line>.title-align-control:before,.title-align-line>.title-align-control>*{align-self:center}.title-align-line>.title-align-control>*{justify-self:start}.experience-row .title-align-line,.experience-row .title-align-text:before{font-family:var(--font-body-m-strong);font-size:var(--text-body-m-strong);font-weight:var(--font-weight-body-m-strong);line-height:var(--line-height-body-m-strong);letter-spacing:var(--letter-spacing-body-m-strong)}.title-pair:has(.text-heading-xl) .title-align-line,.title-pair:has(.text-heading-xl) .title-align-text:before{font-family:var(--font-heading-xl);font-size:var(--text-heading-xl);font-weight:var(--font-weight-heading-xl);line-height:var(--line-height-heading-xl)}}:root{font-synthesis:none;color:var(--color-text-primary);background:var(--color-bg-canvas)}*,:before,:after{box-sizing:border-box}img[data-responsive-image]{aspect-ratio:var(--responsive-original-ratio)}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--scroll-clearance) + var(--safe-top));overscroll-behavior-y:none;overflow-x:clip}html[data-scroll-restore-pending] body{visibility:hidden}html.lenis{scroll-behavior:auto}body{overscroll-behavior-y:none;margin:0;overflow-x:clip}html,body,.case-study-scroll{touch-action:pan-y pinch-zoom;overscroll-behavior-x:none}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a[href]{cursor:pointer}:is(.button,.icon-button,.navigation-item,.text-link,.identity)>*{pointer-events:none}:where(button,a,summary,input,select,textarea,[tabindex]:not([tabindex="-1"])){border-radius:var(--radius-small)}:where(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:4px}:is(button,a,summary,input,select,textarea,[tabindex]):focus-visible:not(.video-saver-control,.ds-motion-replay){z-index:var(--layer-raised)}.project-surface:focus-visible{box-shadow:0 0 0 calc(var(--space-1) + 2px) var(--color-bg-canvas)}:is(.project-surface,.project-cursor.is-case-control .icon-button)[data-case-pointer-focus]:focus{outline:none}.project-surface[data-case-pointer-focus]:focus{box-shadow:none}[tabindex="-1"]:focus{outline:none}h1,h2,h3,p{margin:0}h1,h2,h3,h4,h5,h6,.text-heading-l{text-wrap:balance}h3{margin:0}img,svg{max-width:100%;display:block}video[data-poster]:has(+noscript>video),picture:has(+noscript>picture)>img[data-deferred-image],img[data-deferred-image]:has(+noscript>img),[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:calc(100% - var(--gutter-left) - var(--gutter-right));margin-inline:var(--gutter-left) var(--gutter-right)}.chapter{margin-top:var(--section-space)}.icon{width:var(--icon-size);height:var(--icon-size);stroke-width:var(--icon-stroke-regular);stroke-linecap:var(--icon-linecap);stroke-linejoin:var(--icon-linejoin);flex-shrink:0}.icon--strong{stroke-width:var(--icon-stroke-strong)}.icon--close{transform:rotate(var(--rotation-icon-close))}.arrow{width:var(--icon-size);height:var(--icon-size);transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0}.arrow--up{rotate:calc(-1 * var(--rotation-icon-close))}.button{justify-content:center;align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:calc(var(--space-3) - 1px) var(--space-6);border-radius:var(--radius-full);transition:background-color var(--duration-fast), color var(--duration-fast), transform var(--duration-fast);border:1px solid #0000;display:inline-flex}.hit-area:after{content:"";opacity:0;width:100%;height:100%;min-width:var(--control-icon);min-height:var(--control-icon);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button.hit-area:after{width:var(--control-icon);height:var(--control-icon);top:auto;left:auto;transform:none}.identity.hit-area:after{left:auto;right:0;transform:translateY(-50%)}.button--primary{color:var(--color-text-on-primary);background:var(--color-text-primary)}.button .arrow{color:var(--color-interactive-accent)}.button .arrow path{stroke-width:var(--icon-stroke-strong)}@media (hover:hover) and (pointer:fine){.button--primary:hover{background:var(--color-text-primary-hover)}}.button--secondary{border-color:var(--color-border-control);background:0 0}@media (hover:hover) and (pointer:fine){.button--secondary:not(.button--comparison):hover{--color-text-primary:var(--color-ink);--color-bg-surface:var(--color-white);color:var(--color-text-primary);background:var(--color-bg-surface)}}.button--secondary:not(.button--comparison):focus-visible{--color-text-primary:var(--color-ink);--color-bg-surface:var(--color-white);color:var(--color-text-primary);background:var(--color-bg-surface)}.button--comparison.button--secondary{border-color:#0000}@media (hover:hover) and (pointer:fine){.button--comparison.button--secondary:hover{color:var(--color-text-primary);background:var(--color-bg-surface-subtle)}}.button--comparison.button--secondary:focus-visible{color:var(--color-text-primary);background:var(--color-bg-surface-subtle)}@media (hover:hover) and (pointer:fine){.button:hover .arrow,[data-icon-hover=arrow]:is(:hover,:focus-visible) .arrow{transform:translateX(var(--distance-icon-shift))}}.button:active{transform:scale(var(--scale-button-press))}.button--arrow-fill{--button-orb:var(--control-height-small);--button-orb-inset:5px;--button-arrow-enter-x:calc(var(--distance-button-arrow) * -1);--button-arrow-enter-y:0px;--button-arrow-exit-x:var(--distance-button-arrow);--button-arrow-exit-y:0px;isolation:isolate;gap:var(--space-3);padding:var(--button-orb-inset) var(--button-orb-inset) var(--button-orb-inset) var(--space-6);white-space:nowrap;position:relative;overflow:hidden}.button--arrow-fill.button--arrow-up{--button-arrow-enter-x:calc(var(--distance-button-arrow-diagonal) * -1);--button-arrow-enter-y:var(--distance-button-arrow-diagonal);--button-arrow-exit-x:var(--distance-button-arrow-diagonal);--button-arrow-exit-y:calc(var(--distance-button-arrow-diagonal) * -1)}.button--arrow-fill.button--small{--button-orb:calc(var(--control-height-small) - 2 * var(--space-1));--button-orb-inset:calc(var(--space-1) - 1px);padding:var(--button-orb-inset) var(--button-orb-inset) var(--button-orb-inset) var(--button-padding-inline-small)}.button--arrow-fill.button--small .button-arrow-icon .icon{width:var(--icon-size-compact);height:var(--icon-size-compact)}.button--arrow-fill:before{content:"";z-index:var(--layer-base);background:var(--color-text-on-primary);clip-path:inset(var(--button-orb-inset) var(--button-orb-inset) var(--button-orb-inset) calc(100% - var(--button-orb) - var(--button-orb-inset)) round var(--radius-full));transition:clip-path var(--duration-button-fill) var(--ease-button-fill);pointer-events:none;position:absolute;inset:0}.button--arrow-fill .button-fill-label{z-index:var(--layer-content);transition:color var(--duration-button-fill) var(--ease-button-fill);position:relative}.button--arrow-fill .button-arrow-orb{z-index:var(--layer-raised);flex:0 0 var(--button-orb);width:var(--button-orb);height:var(--button-orb);border-radius:var(--radius-full);color:var(--color-interactive-accent);background:var(--color-text-on-primary);place-items:center;display:grid;position:relative;overflow:hidden}.button--arrow-fill .button-arrow-icon{transition:transform var(--duration-button-fill) var(--ease-button-fill), opacity var(--duration-button-fill) var(--ease-button-fill);grid-area:1/1;place-items:center;display:grid}.button--arrow-fill .button-arrow-icon--in{opacity:0;transform:translate(var(--button-arrow-enter-x), var(--button-arrow-enter-y)) scale(var(--scale-button-arrow-start))}@media (hover:hover) and (pointer:fine){.button--arrow-fill:hover{background:var(--color-text-primary)}}.button--arrow-fill:is(:focus-visible,:active){background:var(--color-text-primary)}@media (hover:hover) and (pointer:fine){.button--arrow-fill:hover:before{clip-path:inset(0 0 0 0 round var(--radius-full))}}.button--arrow-fill:is(:focus-visible,:active):before{clip-path:inset(0 0 0 0 round var(--radius-full))}@media (hover:hover) and (pointer:fine){.button--arrow-fill:hover .button-fill-label{color:var(--color-text-primary)}}.button--arrow-fill:is(:focus-visible,:active) .button-fill-label{color:var(--color-text-primary)}@media (hover:hover) and (pointer:fine){.button--arrow-fill:hover .button-arrow-icon--out{opacity:0;transform:translate(var(--button-arrow-exit-x), var(--button-arrow-exit-y)) scale(var(--scale-button-arrow-start))}}.button--arrow-fill:is(:focus-visible,:active) .button-arrow-icon--out{opacity:0;transform:translate(var(--button-arrow-exit-x), var(--button-arrow-exit-y)) scale(var(--scale-button-arrow-start))}@media (hover:hover) and (pointer:fine){.button--arrow-fill:hover .button-arrow-icon--in{opacity:1;transform:translate(0)scale(1)}}.button--arrow-fill:is(:focus-visible,:active) .button-arrow-icon--in{opacity:1;transform:translate(0)scale(1)}@media (hover:hover) and (pointer:fine){.button--arrow-fill:hover .arrow{transform:none}}.button--arrow-fill .arrow{transform:none}.icon-button{width:var(--control-icon);height:var(--control-icon);padding:calc((var(--control-icon) - var(--icon-size)) / 2);border-radius:var(--radius-full);background:0 0;border:0;flex-shrink:0;place-items:center;display:inline-grid}.icon-button--small{--icon-layer-shift:calc(var(--distance-icon-shift) * 1.2);width:var(--control-height-small);height:var(--control-height-small);padding:calc((var(--control-height-small) - var(--icon-size-compact)) / 2);position:relative}.icon-button--small>.icon{width:var(--icon-size-compact);height:var(--icon-size-compact)}.icon-button--secondary{border:1px solid var(--color-border-control)}.icon-button--secondary.icon-button--small{padding:calc((var(--control-height-small) - var(--icon-size-compact)) / 2 - 1px)}.icon-button--secondary>.icon{overflow:visible}.icon-button [data-icon-layer],[data-icon-hover=layers] [data-icon-layer]{transition:transform var(--duration-fast) var(--ease-out)}@media (hover:hover) and (pointer:fine){.icon-button--secondary:hover{background:0 0}.icon-button:hover [data-icon-layer=top],[data-icon-hover=layers]:hover [data-icon-layer=top]{transform:translateY(calc(-1 * var(--icon-layer-shift,var(--distance-icon-shift))))}.icon-button:hover [data-icon-layer=bottom],[data-icon-hover=layers]:hover [data-icon-layer=bottom]{transform:translateY(var(--icon-layer-shift,var(--distance-icon-shift)))}}.icon-button:focus-visible [data-icon-layer=top],[data-icon-hover=layers]:focus-visible [data-icon-layer=top]{transform:translateY(calc(-1 * var(--icon-layer-shift,var(--distance-icon-shift))))}.icon-button:focus-visible [data-icon-layer=bottom],[data-icon-hover=layers]:focus-visible [data-icon-layer=bottom]{transform:translateY(var(--icon-layer-shift,var(--distance-icon-shift)))}@media (prefers-reduced-motion:reduce){.icon-button [data-icon-layer],[data-icon-hover=layers] [data-icon-layer]{transition:none;transform:none!important}}.icon-button[data-magnet-ready=true]{will-change:translate}@media (hover:hover) and (pointer:fine){.icon-button:not(.icon-button--secondary,.icon-button--raised):hover{background:var(--color-bg-surface-subtle)}}.theme-moon,[data-theme=dark] .theme-sun{display:none}[data-theme=dark] .theme-moon{display:block}.theme-toggle{transition:background-color var(--duration-fast) var(--ease-out)}.theme-toggle-glyph{width:var(--icon-size);height:var(--icon-size);place-items:center;display:grid}.theme-icon-glyph{transform-origin:50%;transition:transform var(--duration-toggle-return) var(--ease-toggle-rotation);transform:translateY(0)rotate(0)scale(1)}@media (hover:hover) and (pointer:fine){.theme-icon-control:hover .theme-icon-glyph,[data-icon-hover=theme]:focus-visible .theme-icon-glyph{transform:rotate(var(--rotation-icon-turn));transition-duration:var(--duration-toggle-enter)}}.theme-icon-control:active .theme-icon-glyph{transform:translateY(0) rotate(0deg) scale(var(--scale-press));transition-duration:var(--duration-press);transition-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){.theme-icon-control .theme-icon-glyph{transition:none;transform:none!important}}.wordmark{white-space:nowrap;align-items:baseline;display:inline-flex}.wordmark-dot{color:var(--color-interactive-accent)}.wordmark [data-logo-glyphs]{visibility:hidden}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.wordmark{transition:overflow calc(var(--duration-logo-wave) * 0) var(--duration-logo-wave) allow-discrete}.wordmark [data-logo-letter]{transform-box:fill-box;transform-origin:50%;transition:transform var(--duration-logo-wave) var(--ease-spring-wave);transition-delay:calc(var(--stagger-title-reveal) * 0);transform:translateY(0)scale(1)}.wordmark :is([data-logo-rest],[data-logo-glyphs]){transition:visibility calc(var(--duration-logo-wave) * 0) var(--duration-logo-wave)}a:is(:hover,:focus-visible) .wordmark{transition-delay:calc(var(--stagger-title-reveal) * 0);overflow:visible}a:is(:hover,:focus-visible) .wordmark [data-logo-rest]{visibility:hidden;transition-delay:calc(var(--stagger-title-reveal) * 0)}a:is(:hover,:focus-visible) .wordmark [data-logo-glyphs]{visibility:visible;transition-delay:calc(var(--stagger-title-reveal) * 0)}a:is(:hover,:focus-visible) .wordmark [data-logo-letter]{transform:translateY(calc(var(--distance-icon-shift) * -1)) scale(var(--scale-logo-wave));transition-delay:calc(var(--stagger-title-reveal) * var(--logo-letter-index))}:is(html[data-home-intro],.site-header[data-pill-state=expanding],.site-header[data-pill-state=hiding]) .wordmark{transition:none;overflow:hidden}:is(html[data-home-intro],.site-header[data-pill-state=expanding],.site-header[data-pill-state=hiding]) .wordmark :is([data-logo-rest],[data-logo-glyphs],[data-logo-letter]){transition:none}:is(html[data-home-intro],.site-header[data-pill-state=expanding],.site-header[data-pill-state=hiding]) .wordmark [data-logo-rest]{visibility:visible}:is(html[data-home-intro],.site-header[data-pill-state=expanding],.site-header[data-pill-state=hiding]) .wordmark [data-logo-glyphs]{visibility:hidden}:is(html[data-home-intro],.site-header[data-pill-state=expanding],.site-header[data-pill-state=hiding]) .wordmark [data-logo-letter]{transform:translateY(0)scale(1)}}#page-content{position:relative}.hero-backdrop{height:var(--waterfall-height,800px);pointer-events:none;position:absolute;inset:0 0 auto;overflow:hidden}.hero-waterfall{width:min(800px,100%);height:100%;position:absolute;top:0;left:50%;translate:-50%}.hero-waterfall-canvas{left:calc(-1 * var(--waterfall-bleed,160px));width:calc(100% + var(--waterfall-bleed,160px) * 2);height:100%;display:block;position:absolute}main,.footer{position:relative}.site-header{--pill-progress:0;top:calc(var(--header-inset) + var(--safe-top));height:var(--header-height);z-index:var(--layer-header);pointer-events:none;position:absolute;left:0;right:0}.site-header.is-docking{position:fixed}.identity,.header-controls{pointer-events:auto}.identity{left:calc(var(--header-inset) + var(--safe-left));min-height:var(--control-icon);align-items:center;display:inline-flex;position:absolute;top:0}.header-controls{right:calc(var(--header-inset) + var(--safe-right));align-items:center;gap:var(--space-3);display:flex;position:absolute;top:0}.desktop-nav{align-items:center;gap:var(--space-3);display:flex}@media (width<335px){html:not(.enhanced) .site-header .desktop-nav{display:none}}.navigation-item{--navigation-item-padding-inline:var(--space-3);--navigation-item-shift:var(--space-3);min-height:var(--control-icon);padding:var(--space-2) var(--navigation-item-padding-inline);border-radius:var(--radius-full);color:var(--color-text-primary);text-align:left;white-space:nowrap;background:0 0;border:0;align-items:center;display:inline-flex;position:relative}.navigation-item-indicator{left:var(--navigation-item-padding-inline);width:var(--navigation-dot-size);height:var(--navigation-dot-size);border-radius:var(--radius-full);background:var(--color-interactive-accent);opacity:0;transform:translate3d(calc(var(--distance-navigation-dot) * -1),-50%,0) scale(0);transform-origin:50%;transition:opacity var(--duration-navigation) var(--ease-entrance), transform var(--duration-navigation) var(--ease-entrance);position:absolute;top:50%}.navigation-item[aria-current=page]{padding-inline-end:calc(var(--navigation-item-padding-inline) + var(--navigation-item-shift))}.navigation-item-label{transition:transform var(--duration-navigation) var(--ease-entrance);display:inline-block;transform:translate(0,0)}@media (hover:hover) and (pointer:fine){.navigation-item:hover .navigation-item-indicator{opacity:1;transform:translateY(-50%)scale(1)}}.navigation-item:is(:focus-visible,[aria-current],[aria-pressed=true]) .navigation-item-indicator{opacity:1;transform:translateY(-50%)scale(1)}@media (hover:hover) and (pointer:fine){.navigation-item:hover .navigation-item-label{transform:translate3d(var(--navigation-item-shift),0,0)}}.navigation-item:is(:focus-visible,[aria-current],[aria-pressed=true]) .navigation-item-label{transform:translate3d(var(--navigation-item-shift),0,0)}.hero{--hero-logo-row-adjustment:calc(var(--text-body-m-strong) * 0);--hero-process-top:calc(var(--header-inset) + (var(--control-icon) + var(--text-body-m-strong) * var(--line-height-body-m-strong)) / 2 - var(--hero-logo-baseline-outset) - var(--hero-logo-row-adjustment) + var(--space-4) + var(--safe-top));min-height:max(800px,100svh);padding-block:calc(208px + var(--safe-top)) var(--hero-bottom-desktop);position:relative}@media (width>=335px){body:has(.site-header .desktop-nav:not([hidden])) .hero{--hero-logo-row-adjustment:calc(var(--text-body-m-strong) * (var(--line-height-body-m-strong) - 1) / 2)}}@media (prefers-reduced-motion:no-preference){html[data-home-intro=pending] :is(.site-header,.hero-content,.hero-cta-entrance,.process-tags,.skill-marquee),html[data-home-intro] :is(.hero-backdrop,.work-content,.work-rail,#main>.chapter:not(.work),.footer){opacity:0}html[data-home-intro] :is(.site-header,.hero-content,.process-tags,.skill-marquee,.work-content,.work-rail):has(:focus-visible){opacity:1}}.hero-content{z-index:var(--layer-content);pointer-events:none;position:relative}.hero-cta-slot{margin-top:var(--space-8);width:max-content;min-width:var(--cta-width,0px);min-height:var(--cta-height,var(--control-height))}.hero-cta-slot .button{pointer-events:auto}.hero-cta-entrance{display:flex}.hero-eyebrow{margin-bottom:var(--space-8)}.hero-title{text-wrap:wrap;overflow-wrap:anywhere;width:max-content;max-width:100%}.type-line{grid-template-columns:minmax(0,1fr);display:grid}.type-line--display,.role-cycle{transform:translate(-.06em)}.hero-title .type-line+.type-line{text-wrap:wrap;margin-top:0}.type-reserve,.type-content{grid-area:1/1}.type-reserve{visibility:hidden}.type-content{display:block}.reveal-word{white-space:nowrap;display:inline-block;position:relative}.reveal-word-text{visibility:hidden}.reveal-letter{top:0;left:var(--glyph-x);display:inline-block;position:absolute}.reveal-line{display:block}.role-phrases{grid-template-columns:minmax(0,1fr);display:grid}.role-phrase{grid-area:1/1}.role-cycle{isolation:isolate;color:var(--color-interactive-accent);position:relative}.hero-description{max-width:600px;margin-top:var(--space-6)}.accent-stat{color:var(--color-interactive-accent);white-space:nowrap}.skill-tag{width:max-content;max-width:100%;min-height:calc(var(--text-label-s) + var(--space-1) + var(--space-3));min-height:calc(round(var(--text-label-s) * var(--line-height-label-s), var(--space-1)) + var(--space-3));padding:var(--space-1) calc(var(--space-3) - 1px);border:1px solid var(--color-border-default);border-radius:var(--radius-full);white-space:normal;overflow-wrap:anywhere;text-align:center;background:var(--color-bg-surface);justify-content:center;align-items:center;display:inline-flex}.process-tag{white-space:normal;overflow-wrap:anywhere;width:max-content;max-width:100%;color:var(--color-text-secondary);text-align:left;justify-content:center;align-items:center;display:inline-flex}.skill-tag--accent{color:var(--color-interactive-accent);background:var(--color-bg-accent-subtle);text-transform:uppercase;box-shadow:none;border-color:#0000}.process-tags{left:calc(var(--header-inset) + var(--safe-left));top:var(--hero-process-top);justify-items:start;gap:var(--space-2);display:grid;position:absolute}.hero-cta-entrance:has(:focus-visible){opacity:1!important;filter:none!important;transform:none!important}.enhanced .hero-cta-entrance.is-restored{opacity:1;transform:none}.skill-marquee{right:calc(var(--header-inset) + var(--safe-right));top:calc(230px + var(--safe-top));width:180px;height:340px;mask-image:linear-gradient(transparent, var(--color-ink) 27%, var(--color-ink) 70%, transparent);position:absolute;overflow:hidden}.skill-track{flex-direction:column;width:100%;display:flex}.skill-group{align-items:flex-end;gap:var(--space-2);padding-bottom:var(--space-2);flex-direction:column;display:flex}.enhanced .hero.is-tags-ready .skill-track{animation:skills-up var(--duration-skills-loop) var(--ease-linear) infinite}.hero.is-motion-paused *,.hero.is-motion-paused :before,.hero.is-motion-paused :after{animation-play-state:paused!important}@keyframes skills-up{to{transform:translateY(-50%)}}.work{isolation:isolate;margin-top:0;position:relative}.work-stage-surface{isolation:isolate;width:100%;padding-top:var(--space-24);position:relative}html[data-work-preview-layout=true] .work{margin-top:calc(-1 * var(--work-preview-height))}html[data-work-stage-motion=true] .work-panel{transform:translate(var(--hero-visual-gutter), 0)}html[data-work-stage-motion=true] .work-rail{opacity:0;transform:translate3d(0, var(--distance-text-reveal), 0)}.work-panel{inset:calc(-1 * var(--work-preview-height)) auto 284px 0;z-index:var(--layer-base);background:var(--color-bg-section);border-radius:0;width:100%;position:absolute}html[data-work-preview-layout=true] .work-panel{top:0}html[data-work-stage-layout=true] .work-panel{border-radius:var(--radius-xlarge) 0 0 var(--radius-xlarge)}html[data-work-stage-layout=true]:not([data-work-stage-motion=true]) .work-panel{border-radius:0}.enhanced .work-stage-can-shift.is-work-shifting .work-panel{will-change:transform, border-radius}.enhanced .work-stage-can-shift.is-work-rail-moving .work-rail{will-change:transform, opacity}.work-content{z-index:var(--layer-content);position:relative}.section-heading h2{text-wrap:wrap}@media (width<1440px){.chapter .section-heading h2{text-wrap:balance}}.work #work-title{text-wrap:balance}.section-heading{margin-bottom:var(--space-16);grid-template-columns:1fr 1fr;gap:0;display:grid}.section-index{padding-top:0}.section-description{margin-top:var(--space-6)}.work .section-heading{color:var(--color-text-primary);margin-bottom:calc(var(--space-16) + var(--space-6))}.work .section-index{color:var(--color-interactive-accent)}.work .section-description{color:var(--color-text-secondary)}.work-rail{--work-filter-half-height:78px;top:366px;bottom:0;left:calc(var(--gutter) - var(--work-rail-offset));z-index:var(--layer-raised);width:180px;display:none;position:absolute}.icon-button--raised,.floating-control-theme{color:var(--color-text-primary)}.floating-navigation-theme,.site-header.is-docking{color:var(--color-text-primary);color-scheme:inherit}.icon-button--raised,.floating-control-surface,.floating-navigation-surface{background:var(--color-bg-surface);box-shadow:var(--shadow-large)}.section-navigation{top:calc(var(--header-clearance) + var(--safe-top));padding:var(--space-3);border-radius:var(--radius-medium);display:grid;position:sticky}.section-navigation[data-magnet-ready=true]{will-change:transform}.work-rail .section-navigation{top:calc((100vh - var(--safe-top) - var(--safe-bottom)) / 2 + var(--safe-top) - var(--work-filter-half-height))}.section-navigation .navigation-item{width:100%;transition:padding-inline-end var(--duration-navigation) var(--ease-entrance)}.section-navigation .navigation-item[aria-pressed=true]{padding-inline-end:calc(var(--navigation-item-padding-inline) + var(--navigation-item-shift))}.projects{overflow-anchor:none;position:relative}.project-collection{gap:var(--grid-gap);grid-template-columns:minmax(0,1fr);width:100%;display:grid}.project-collection--bento{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.project-collection--bento[data-masonry-ready]{display:block;position:relative}.project-collection--bento[data-masonry-ready]>.project{position:absolute}.project-collection.is-filter-leaving{pointer-events:none;position:absolute;inset:0 0 auto}.project-surface{--color-media-frame:var(--color-bg-canvas);transform-origin:50%;border-radius:inherit;background:var(--color-media-frame);overflow:hidden}.work-filter-pill{inset:calc(var(--header-inset) / 2 + var(--safe-top)) var(--safe-right) auto var(--safe-left);z-index:var(--layer-header);visibility:hidden;transform:translateY(calc(-100% - var(--header-inset) / 2 - var(--space-6) - var(--space-4) - var(--safe-top)));transition:transform var(--duration-header-exit) var(--ease-header-pill), visibility var(--duration-header-exit) var(--ease-header-pill);pointer-events:none;justify-content:center;display:flex;position:fixed}.work-filter-pill[data-visible=true]{visibility:visible;transition-duration:var(--duration-header-enter);transform:translateY(0)}.work-filter-pill[data-visible=true] .section-navigation{pointer-events:auto}.work-filter-pill[data-keyboard=true]{transition:none}@media (prefers-reduced-motion:reduce){.work-filter-pill{transition:none}}.section-navigation--compact{max-width:100%;padding:var(--space-2);flex-wrap:wrap;display:flex;position:static}.section-navigation--compact .navigation-item{width:auto}.section-navigation-theme{margin-inline:calc(var(--space-3) - (var(--control-icon) - var(--icon-size)) / 2);display:none}.section-navigation--pill{width:max-content;max-width:calc(100vw - var(--space-4) * 2 - var(--safe-left) - var(--safe-right));min-height:var(--space-16);padding-block:calc((var(--space-16) - var(--control-icon)) / 2);border-radius:var(--radius-full);flex-wrap:nowrap;flex-shrink:0;position:relative;top:0}.section-navigation--pill:not([data-theme-fit=false]) .section-navigation-theme{display:flex}.project{color-scheme:inherit;min-width:0;color:var(--color-text-primary);border-radius:calc(var(--radius-large) + var(--media-frame-radius-outset));background:0 0}.project-surface{display:block}.project-cursor{z-index:var(--layer-cursor);pointer-events:none;visibility:hidden;position:fixed;top:0;left:0}.project-cursor .icon-button{pointer-events:none;opacity:0;transform:scale(var(--scale-cursor-start));transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-entrance)}.icon-button--raised>.icon{transform-box:fill-box;transform-origin:50%}@media (hover:hover) and (pointer:fine){.project-cursor{visibility:visible}.project-cursor.is-visible .icon-button{opacity:1;transform:scale(1)}.project.is-cursor-active,.project.is-cursor-active *{cursor:none}}@media (prefers-reduced-motion:reduce){.project-cursor .icon-button{transition:none;transform:none}}.project[data-tilt-ready]{background:0 0;position:relative}.project[data-tilt-ready]>.project-surface{background:var(--color-media-frame);position:relative}:root[data-theme=dark] .project-surface:not([data-theme=light] .project-surface,[data-color-zone=light] .project-surface){--color-media-frame:var(--color-bg-surface)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project.is-tilting{z-index:var(--layer-content)}.project.is-tilting[data-tilt-ready]>.project-surface{transform:perspective(var(--project-tilt-perspective)) rotateX(var(--project-rotate-x,0deg)) rotateY(var(--project-rotate-y,0deg))}}.project-caption{padding:var(--space-8);grid-template-columns:1fr 1fr;min-height:136px;display:grid}.project-heading{align-items:center;gap:var(--space-4);display:flex}.project-heading .arrow{margin-left:auto;margin-right:var(--space-6)}.project-identity{align-items:center;gap:var(--space-2);display:inline-flex}.project-identity .svg-asset{width:var(--project-logo-size);height:var(--project-logo-size);flex:0 0 var(--project-logo-size);object-fit:contain}.project-identity__logo--white{border-radius:var(--radius-xs);box-shadow:var(--shadow-small)}.project-tags{gap:var(--space-2);padding-right:var(--space-6);margin-top:var(--project-identity-tags-gap);flex-wrap:wrap;display:flex}.project-description{margin-top:var(--space-2);color:var(--color-text-secondary)}.project-media{position:relative}.project-media picture{display:block}.project-media :is(img,video){width:100%;height:auto;aspect-ratio:var(--media-ratio);object-fit:var(--case-hero-fit);display:block}.skill-tag--raised{background:var(--color-bg-surface);box-shadow:var(--shadow-small);border-color:#0000}.project--compact .project-caption{padding:var(--space-8);gap:var(--space-6);min-height:0}.project--compact .project-details,.project--compact .project-copy{overflow-wrap:break-word;min-width:0}.project--compact .project-tags{padding-right:0}@media (width>=768px) and (width<=1100px){.project--compact .project-caption{padding:var(--space-6);gap:var(--space-4);grid-template-columns:1fr}}.impact{margin-top:var(--space-24)}.impact .section-heading{margin-bottom:var(--space-16)}.impact .section-description,.about-details .section-description{margin-top:var(--space-4)}.impact-groups{gap:var(--space-8);display:grid}.impact-group{gap:var(--space-6);grid-template-columns:284px minmax(0,1fr);display:grid}.impact-group h3{align-self:start}.impact-company-line,.impact-company-cap{display:contents}@media (width>=1024px){.impact-company-line{display:block}.impact-company-cap{vertical-align:middle;line-height:0;display:inline-block;translate:0 calc(.5ex - .5cap)}}.impact-metrics{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.stat{min-width:0}.stat dt{gap:var(--space-1);display:grid}.stat-value{color:var(--color-interactive-accent)}.metric-value-parts{white-space:nowrap}.metric-value-arrow{vertical-align:baseline;width:1cap;height:1cap;stroke-width:var(--icon-stroke-strong);display:inline-block}.stat dd{margin:var(--space-1) 0 0;color:var(--color-text-secondary)}.about-details{--section-item-reveal-duration:var(--duration-about-reveal);--section-item-reveal-interval:var(--stagger-about-reveal);isolation:isolate;color:var(--color-text-primary);padding-block:var(--space-24);position:relative}.about-details:before{content:"";z-index:var(--layer-behind);background:var(--color-bg-section);border-radius:0;position:absolute;inset:0}html[data-work-stage-layout=true] .about-details:before{left:max(0px, calc(var(--gutter) - var(--space-16)));border-radius:var(--radius-xlarge) 0 0 var(--radius-xlarge)}.about-details .section-heading{margin-bottom:var(--space-16)}.about-details .section-description{color:var(--color-text-secondary)}.experience-list{margin:0;padding:0;list-style:none}.experience-row{--experience-duration-width:80px;grid-template-columns:160px 392px minmax(0,1fr) var(--experience-duration-width);gap:var(--space-6);min-height:90px;padding-block:var(--space-4);border-bottom:1px solid var(--color-border-default);display:grid}.experience-row:last-child{border-bottom:0}.experience-row h3{margin:0}.experience-company,.experience-period,.experience-duration{color:var(--color-text-secondary)}.experience-duration{text-align:right}.tools-section{margin-top:var(--space-16)}.tools-grid{gap:var(--space-8);margin:var(--space-16) 0 0;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;list-style:none;display:grid}.tools-grid>li{min-width:0}.tool-card{aspect-ratio:236/220;padding:calc(var(--space-1) / 4);border-radius:var(--radius-large);box-shadow:var(--shadow-small);border:0;place-items:center;display:grid;position:relative}.tool-card-inner{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative}:root[data-theme=dark] .tool-card:not([data-theme=light] .tool-card,[data-color-zone=light] .tool-card),.about-details .tool-card{background:var(--color-charcoal)}.tool-card .svg-asset{pointer-events:none;transform-origin:50%;width:auto;max-width:42%;height:min(70px,35%);transition:transform var(--duration-tool-icon) var(--ease-entrance)}.tool-card:focus-visible .svg-asset{transform:scale(var(--scale-tool-icon))}@media (hover:hover) and (pointer:fine){.tool-card.is-pointer-hovered .svg-asset{transform:scale(var(--scale-tool-icon))}}.contact{margin-top:var(--section-space)}.contact-layout{gap:var(--space-16);grid-template-columns:minmax(0,720px) 1fr;display:grid}.contact h2{margin-top:var(--space-6);text-wrap:initial}.contact-description{margin-top:var(--space-6);color:var(--color-text-secondary)}.contact-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.contact-links{place-self:end;gap:var(--space-1);min-width:178px;display:grid}.text-link{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:var(--control-icon);display:flex}.text-link--compact{justify-content:flex-start;gap:var(--space-2)}.text-link--inline{text-underline-offset:.15em;min-height:0;text-decoration:underline from-font;display:inline}.text-link--accent{color:var(--color-interactive-accent)}.text-link .arrow{width:var(--icon-size-compact);height:var(--icon-size-compact)}.text-link .arrow path{stroke-width:var(--icon-stroke-strong)}@media (hover:hover) and (pointer:fine){.text-link:hover .arrow{transform:translateX(var(--distance-icon-shift))}}.footer{align-items:center;gap:var(--space-6);border-top:1px solid var(--color-border-default);margin-top:var(--section-space);padding-block:var(--space-6) calc(var(--space-6) + var(--safe-bottom));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.footer>p{color:var(--color-text-secondary)}.footer>p:nth-child(2){justify-self:center}.footer>.icon-button{justify-self:end}.footer-icon-pile-layer{top:calc(-1 * var(--pile-above) - 1px);bottom:0;left:calc(-1 * var(--gutter-left));right:calc(-1 * var(--gutter-right));pointer-events:none;position:absolute}.footer-icon-pile{top:var(--pile-above);left:var(--gutter-left);right:var(--gutter-right);height:0;position:absolute}.footer-icon-pile-rest{height:var(--pile-height);position:absolute;inset:auto 0 0}.footer-icon-pile-rest svg{left:var(--pile-x);bottom:var(--pile-y);transform:rotate(var(--pile-angle));width:var(--pile-icon-size);height:var(--pile-icon-size);max-width:none;color:var(--color-footer-icon);position:absolute}.footer-icon-pile canvas{left:calc(-1 * var(--pile-bleed));width:calc(100% + var(--pile-bleed) * 2);max-width:none;display:none;position:absolute}.footer-icon-pile[data-ready=true] canvas{display:block}.footer-icon-pile[data-ready=true] .footer-icon-pile-rest{visibility:hidden}.button--small{min-height:var(--control-height-small);padding:6px var(--button-padding-inline-small)}.button--small .arrow{width:var(--icon-size-compact);height:var(--icon-size-compact)}@media (width<=1439px){.process-tags{gap:var(--space-2);margin:0 var(--gutter-right) var(--space-8) calc(var(--header-inset) + var(--safe-left));flex-wrap:wrap;display:flex;position:static}.hero{--hero-process-rise:calc(var(--header-inset) + var(--control-icon) + var(--space-8) + var(--safe-top) - var(--hero-process-top));padding-top:var(--hero-process-top);padding-bottom:calc(var(--hero-bottom-desktop) + var(--space-8) + var(--space-2) + var(--hero-process-rise))}.hero-description{max-width:min(625px,100%)}.skill-marquee{width:170px}}@media (width<=1023px){.skill-marquee{margin:var(--space-8) var(--gutter-right) 0 auto;height:var(--hero-marquee-height-compact);width:100%;max-width:240px;position:relative;top:auto;right:auto}.hero{padding-bottom:calc(var(--hero-bottom-compact) + var(--space-8) + var(--space-2) + var(--hero-process-rise))}.tools-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){html{scroll-padding-top:calc(var(--scroll-clearance) + var(--safe-top))}.header-controls{gap:var(--space-3)}.hero{padding-bottom:calc(var(--hero-bottom-compact) + var(--space-8) + var(--hero-process-rise));min-height:800px}.hero-eyebrow{margin-bottom:var(--space-8)}.hero-description{margin-top:var(--space-6)}.process-tags{margin-bottom:var(--space-8)}.skill-marquee{margin-top:var(--space-6)}.work-stage-surface{padding-top:var(--space-12)}.work-panel{bottom:var(--space-24)}.section-heading{gap:var(--space-6);grid-template-columns:1fr}.work .section-heading,.impact .section-heading,.about-details .section-heading{margin-bottom:var(--space-12)}.project-caption{gap:var(--space-6);padding:var(--space-6);grid-template-columns:1fr;min-height:0}.project-tags{padding-right:0}.project-collection--bento{grid-template-columns:minmax(0,1fr)}.project--compact .project-caption{padding:var(--space-6)}.impact{margin-top:var(--space-16)}.impact-group{gap:var(--space-6);grid-template-columns:1fr}.impact-groups{gap:var(--space-16)}.impact-metrics{gap:var(--space-6);grid-template-columns:1fr}.stat{border-top:1px solid var(--color-border-default);padding-top:var(--space-4)}.impact .stat{border-top:0;padding-top:0}.about-details{padding-block:var(--space-12)}.experience-row{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(0,1fr) auto}.experience-period{grid-column:1}.experience-row>div{grid-area:2/1/auto/-1}.experience-summary{margin-top:var(--space-2);grid-area:3/1/auto/-1}.experience-duration{grid-area:1/2}.tools-section{margin-top:var(--space-12)}.tools-grid{gap:var(--space-4);margin-top:var(--space-8)}.contact{margin-top:var(--section-space)}.contact-layout{gap:var(--space-8);grid-template-columns:1fr}.contact-description{margin-top:var(--space-6)}.contact-links{justify-self:stretch}.footer{grid-template-columns:max-content minmax(0, 1fr) var(--control-height-small);margin-top:var(--section-space);padding-block:var(--space-6) calc(var(--space-6) + var(--safe-bottom));gap:var(--space-4);display:grid}.footer>p:nth-child(2){text-align:right;justify-self:end;margin-left:auto}.footer-icon-pile-rest .icon{left:var(--pile-mobile-x);bottom:var(--pile-mobile-y);transform:rotate(var(--pile-mobile-angle))}.footer-icon-pile-rest .footer-pile-desktop-only{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}.skill-marquee{height:auto;mask-image:none}.skill-group[aria-hidden]{display:none}@media (hover:hover) and (pointer:fine){.button:hover .arrow,.text-link:hover .arrow,[data-icon-hover=arrow]:is(:hover,:focus-visible) .arrow{transform:none}}.button:active,.tool-card.is-pointer-hovered .svg-asset,.tool-card:focus-visible .svg-asset{transform:none}}.button.cta-morph-managed{transition-property:background-color}.header-pill-surface{height:var(--header-height);border-radius:var(--radius-full);opacity:0;pointer-events:none;position:absolute;top:0}.header-full-logo{display:inline-flex}@media (width>=335px){.site-header:has(.desktop-nav:not([hidden])) .header-full-logo{height:calc(var(--text-body-m-strong) * var(--line-height-body-m-strong));display:block}.site-header:has(.desktop-nav:not([hidden])) .header-full-logo .wordmark{margin-top:calc(var(--text-body-m-strong) * -1);vertical-align:calc(var(--wordmark-baseline-outset) * -1);display:inline-block}}.header-compact-logo{width:100%;min-height:var(--control-icon);opacity:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:0;left:0}.header-cta{pointer-events:auto;white-space:nowrap;z-index:var(--layer-content);transition:background-color var(--duration-fast);margin:0;position:absolute;top:0;left:0}@media (width>=1440px){.hero-content{width:calc(100% - var(--hero-gutter) * 2 - var(--safe-left) - var(--safe-right));margin-inline:calc(var(--hero-gutter) + var(--safe-left)) calc(var(--hero-gutter) + var(--safe-right))}}html[data-work-stage-layout=true] .work-rail{left:calc(max(var(--space-4), var(--gutter) - var(--work-rail-offset)) + var(--safe-left));display:block}html[data-work-stage-layout=true] .work-filter-pill{display:none}html[data-work-stage-layout=true] .work-content{width:calc(100% - max(220px, var(--gutter)) - var(--gutter) - var(--safe-left) - var(--safe-right));margin-left:calc(max(220px, var(--gutter)) + var(--safe-left));margin-right:var(--gutter-right)}@media (width>=768px) and (width<=1327px){.experience-row{--experience-period-width:120px;--experience-row-gap:var(--space-4);grid-template-columns:var(--experience-period-width) minmax(0,calc(50% - var(--experience-period-width) - var(--experience-row-gap) * 2)) minmax(0,1fr) var(--experience-duration-width);gap:var(--experience-row-gap)}.experience-duration{white-space:nowrap}.impact-group{grid-template-columns:200px minmax(0,1fr)}.impact-metrics{gap:var(--space-6)}.contact-layout{gap:var(--space-8);grid-template-columns:minmax(0,2fr) minmax(178px,1fr)}}@media (width>=768px) and (width<=1023px){.impact-group{grid-template-columns:1fr}.impact-groups{gap:var(--space-16)}}@media (prefers-reduced-motion:no-preference){html[data-section-reveal-motion=true] [data-section-reveal] :is(h2,.section-index>*,[data-section-index],.section-description,.contact-description),html[data-section-reveal-motion=true] :is([data-section-item],[data-reveal]){opacity:0}}html.case-study-open{scrollbar-gutter:stable;overflow:hidden}.case-study-dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--color-text-primary);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.case-study-dialog::backdrop{background:var(--color-backdrop)}.case-study-dialog.is-closing{z-index:var(--layer-overlay);pointer-events:none;display:block}.case-study-dialog.is-closing .case-study-panel{overflow:visible}.case-study-dialog.is-closing .case-study-scroll{display:none}.case-study-panel{background:var(--color-bg-canvas);position:absolute;overflow:hidden}.case-study-scroll{overscroll-behavior-y:contain;overscroll-behavior-x:none;border-radius:0;width:100vw;height:100dvh;position:absolute;top:0;left:0;overflow:hidden auto}.case-study-page{overscroll-behavior-x:none;overflow-x:clip}.case-study-scroll[data-scroll-locked]{touch-action:none;pointer-events:none;overflow:hidden}.case-study-body{display:flow-root}.case-study-media{min-width:0;margin:0}.case-study-media picture{display:block}.case-study-media :is(img,video){object-fit:contain;border-radius:var(--case-media-radius,var(--radius-medium));width:100%;height:auto;display:block}.case-study-media video[data-source-ratio-ready]{aspect-ratio:var(--media-ratio,var(--video-source-ratio,auto))}.case-study-media--bare :is(img,video){border-radius:0}.case-study-media__sequence{border-radius:var(--case-media-radius,var(--radius-medium));overflow:hidden}.case-study-media--canvas :is(img,video){aspect-ratio:var(--media-ratio);background:var(--media-canvas)}.media-canvas-fade{-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-ink) 12%, var(--color-ink) 88%, transparent), linear-gradient(180deg, transparent, var(--color-ink) 8%, var(--color-ink) 92%, transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg, transparent, var(--color-ink) 12%, var(--color-ink) 88%, transparent), linear-gradient(180deg, transparent, var(--color-ink) 8%, var(--color-ink) 92%, transparent);mask-composite:intersect;mask-size:var(--media-fade-size,100% 100%);mask-position:50%;mask-repeat:no-repeat}.case-study-media--shadow{border-radius:var(--case-media-radius,var(--radius-medium));box-shadow:var(--shadow-small)}.case-study-media--floating{--media-stroke:var(--space-1);--media-stroke-half:2px;border-radius:var(--case-media-radius,var(--radius-medium));box-shadow:var(--shadow-small);display:block;position:relative}.case-study-media--wide-stroke{--media-stroke:var(--space-2);--media-stroke-half:var(--space-1)}.case-study-media--floating:after{content:"";inset:calc(-1 * var(--media-stroke-half));border:var(--media-stroke) solid var(--color-bg-surface);border-radius:calc(var(--case-media-radius,var(--radius-medium)) + var(--media-stroke-half));pointer-events:none;z-index:var(--layer-content);position:absolute}.case-study-media--outside-stroke{--media-stroke-half:var(--media-stroke);margin-block:var(--media-stroke)}.case-study-origin{pointer-events:none;background:0 0;position:absolute;top:0;left:0}.case-study-origin .project-surface{transform:none!important}.case-study-transition-artwork{z-index:var(--layer-raised);pointer-events:none;position:absolute}.case-study-transition-artwork picture{width:100%;height:100%;display:block}.case-study-transition-artwork :is(img,video){object-fit:var(--case-hero-fit);width:100%;height:100%;display:block}.case-study-content{--case-content-top-inset:calc(var(--space-24) + var(--space-4));max-width:1328px;padding:calc(var(--case-content-top-inset) + var(--safe-top)) calc(var(--space-16) + var(--safe-right)) calc(var(--space-24) + var(--safe-bottom)) calc(var(--space-16) + var(--safe-left));margin:0 auto}.case-study-artwork{position:relative}.case-study-artwork :is(img,video){object-fit:var(--case-hero-fit);width:100%;height:auto;display:block}.case-study-artwork.case-study-media :is(img,video){object-fit:var(--case-hero-fit)}:is(.project-media,.case-study-transition-artwork,.case-study-artwork){border:4px solid var(--color-media-frame);border-radius:calc(var(--radius-large) + var(--media-frame-radius-outset));overflow:hidden}.case-study-artwork.case-study-media :is(img,video){border-radius:0}.case-media-frame{display:contents}[data-video-saver-frame]{position:relative}.video-saver-control{z-index:var(--layer-controls);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.case-media-frame.media-crop{aspect-ratio:var(--media-ratio);border-radius:var(--case-media-radius,0px);display:block;overflow:hidden}.case-study-artwork .media-crop{border-radius:0}:is(.project-media,.case-study-media,.case-study-transition-artwork) :is(img,video).media-crop-content{width:var(--media-crop-width);max-width:none;height:auto;aspect-ratio:var(--media-source-ratio);margin:var(--media-crop-offset) 0 0 var(--media-crop-offset);border-radius:0}.project-cursor.is-case-control{visibility:visible;z-index:var(--layer-overlay)}.project-cursor.is-case-control .icon-button{pointer-events:auto;opacity:1;transition:none;transform:scale(1)}.case-study-direct-close{left:calc(50% + (var(--safe-left) - var(--safe-right)) / 2);top:calc(var(--space-4) + var(--safe-top));z-index:var(--layer-controls);position:fixed;transform:translate(-50%)}@media (width<=767px){.case-study-content{--case-content-top-inset:var(--space-24);padding:calc(var(--case-content-top-inset) + var(--safe-top)) calc(var(--space-6) + var(--safe-right)) calc(var(--space-16) + var(--safe-bottom)) calc(var(--space-6) + var(--safe-left))}}.icon-button--raised:focus-visible{background:var(--color-bg-surface)}.icon-button--raised[data-icon=close] svg>g,[data-icon-hover=close] svg>g{transform-box:fill-box;transform-origin:50%;transform:rotate(0)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.icon-button--raised[data-icon=close] svg>g,[data-icon-hover=close] svg>g{transition:transform var(--duration-close-turn) var(--ease-toggle-rotation)}.icon-button--raised[data-icon=close]:hover svg>g,[data-icon-hover=close]:is(:hover,:focus-visible) svg>g{transform:rotate(var(--rotation-icon-turn))}}.metric-grid{gap:var(--space-8);display:grid}.metric-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid--impact{row-gap:var(--space-16)}@media (width<=1023px){.metric-grid--four{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.metric-grid{gap:var(--space-6)}.metric-grid--four{grid-template-columns:1fr}}}@layer project;
