/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.\!grid{display:grid!important}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.text-wrap{text-wrap:wrap}.overline{text-decoration-line:overline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--ink:#18181b;--ink-secondary:#71717a;--ink-tertiary:#a1a1aa;--ink-on-alt:#52525b;--ink-faint:#d4d4d8;--surface:#fff;--surface-alt:#f4f4f5;--nav-bg:#18181be6;--wash-hover:#18181b0d;--wash-hover-on-fixed:#f4f4f514;--line:#e4e4e7;--focus:#0071e3;--radius-card:12px;--radius-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--hover-dur:.4s;--hover-dur-surface:.6s;--ease-hover:cubic-bezier(.4, 0, .2, 1);--press-dur:.15s;--bar-line:#27272a;--surface-fixed:#18181b;--ink-on-fixed:#f4f4f5;--ink-on-fixed-secondary:#a1a1aa;--ink-on-fixed-tertiary:#d4d4d8;--ink-on-fixed-faint:#3f3f46;--focus-on-fixed:#2997ff;--surface-alt-hover:#e4e4e7;--measure:min(80%, 78ch);--space-section-xl:168px;--max:1024px;--space-section:96px;--space-section-lg:144px;--space-page-top:128px}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light dark;background:var(--surface-fixed)}@font-face{font-family:Newsreader Display;src:url(/fonts/newsreader-display-opsz72-wght600-700.woff2)format("woff2");font-weight:600 700;font-style:normal;font-display:swap}@font-face{font-family:Newsreader Text;src:url(/fonts/newsreader-text-opsz24-wght700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Newsreader Display Fallback;src:local(Georgia Bold),local(Georgia-Bold);font-weight:600 700;size-adjust:92.5%;ascent-override:73.5%;descent-override:26.5%;line-gap-override:0%}@font-face{font-family:Newsreader Text Fallback;src:local(Georgia Bold),local(Georgia-Bold);font-weight:700;size-adjust:84%;ascent-override:73.5%;descent-override:26.5%;line-gap-override:0%}:root{--font-serif-display:"Newsreader Display", "Newsreader Display Fallback", Georgia, "Times New Roman", serif;--font-serif-text:"Newsreader Text", "Newsreader Text Fallback", Georgia, "Times New Roman", serif}body{background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;text-wrap:pretty;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5}h1,h2,h3,.lede,.closer-title,.closer-sub,.hero-sub,figcaption{text-wrap:balance}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}[tabindex="-1"]:focus-visible{outline:none}.nav :focus-visible,.case-bar :focus-visible,.contact-band :focus-visible,.lightbox :focus-visible{outline-color:var(--focus-on-fixed)}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}}.wrap{max-width:var(--max);padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));margin:0 auto}.skip-link{z-index:200;border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);clip-path:inset(100%);padding:10px 20px;font-size:14px;font-weight:500;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #00000026}.skip-link:focus-visible{clip-path:none}#work,#about,#experience,#contact,#page-home .hero h1{scroll-margin-top:56px}.page-title{scroll-margin-top:104px}::selection{background:var(--ink);color:var(--surface)}.contact-band ::selection{background:var(--ink-on-fixed);color:var(--surface-fixed)}.case-bar ::selection{background:var(--ink-on-fixed);color:var(--surface-fixed)}.nav ::selection{background:var(--ink-on-fixed);color:var(--surface-fixed)}@supports (corner-shape:squircle){.portrait-card,.work-card,.work-card .visual,.intro-stat,.cap,.figure .frame,.figure-portrait .frame,.case-adj,.lb-stage img,.portrait-card:after,.work-card:after,.intro-stat:after,.cap:after,.case-adj:after,.figure .frame:after{corner-shape:squircle}}.nav{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);position:sticky;top:0}.nav:after{content:"";background:var(--bar-line);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}@supports (animation-timeline:scroll()){.on-home .nav:after{animation:linear both hairlineIn;animation-timeline:scroll(root);animation-range:0 64px}}@keyframes hairlineIn{0%{opacity:0}to{opacity:1}}.nav-inner{max-width:var(--max);height:56px;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav a{color:var(--ink-on-fixed-tertiary);letter-spacing:-.01em;transition:color var(--hover-dur) var(--ease-hover);padding:18px 12px;font-size:14px;font-weight:500}.nav a:hover,.nav a:focus-visible,.nav a.active{color:var(--ink-on-fixed)}.nav .nav-brand{color:var(--ink-on-fixed);padding-left:0;font-size:15px;font-weight:600}.nav-links{align-items:center;display:flex}.nav-links a:last-child{margin-right:-12px}.nav-toggle,.mobile-close{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:relative}.nav-toggle:after,.mobile-close:after{content:"";position:absolute;inset:-12px}.nav-toggle{color:var(--ink-on-fixed);display:none}.icon-bars{width:18px;height:16px;display:block;position:relative}.icon-bars .bar{background:currentColor;border-radius:1px;width:18px;height:2px;transition:transform .3s,top .3s;position:absolute;left:0}.icon-bars .bar-1{top:3px}.icon-bars .bar-2{top:11px}.mobile-menu.open .bar-1{top:7px;transform:rotate(45deg)}.mobile-menu.open .bar-2{top:7px;transform:rotate(-45deg)}.mobile-menu{z-index:200;background:var(--surface);padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));visibility:hidden;opacity:0;transition:opacity .3s,visibility 0s linear .3s;position:fixed;inset:0;overflow-y:auto}.mobile-menu-bar{justify-content:flex-end;align-items:center;height:56px;display:flex}.mobile-menu.open{visibility:visible;opacity:1;transition:opacity .3s}.mobile-close{color:var(--ink)}.mobile-links{margin-top:32px;display:grid}.mobile-links a{letter-spacing:-.02em;color:var(--ink);padding:14px 0;font-size:clamp(44px,13vw,64px);font-weight:700;line-height:1.1}.mobile-menu.open .mobile-links a{animation:linkIn .35s var(--ease-out) both}.mobile-links a:nth-child(2){animation-delay:40ms}.mobile-links a:nth-child(3){animation-delay:80ms}.mobile-links a:nth-child(4){animation-delay:.12s}.mobile-links a:nth-child(5){animation-delay:.16s}@keyframes linkIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.page{display:none}.page.visible{animation:pageIn .35s var(--ease-out) backwards;display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero{text-align:center;padding:112px max(24px,env(safe-area-inset-right)) 64px max(24px,env(safe-area-inset-left))}.hero h1,.t-display{font-family:var(--font-serif-display);letter-spacing:-.01em;font-size:clamp(39px,6vw,72px);font-weight:650;line-height:1.1}.hero h1 .h1-line2{display:block}.hero h1 .h1-br-phone,.hero h1 .h1-join-phone{display:none}.hero .hero-sub{max-width:672px;color:var(--ink-secondary);letter-spacing:-.01em;margin-top:24px;margin-left:auto;margin-right:auto;font-size:17px}.hero .hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:40px;display:flex}.hero .hero-actions .btn{min-width:180px}#page-notfound .hero{padding-bottom:var(--space-section-lg)}.page-title,.t-header-one{font-family:var(--font-serif-display);letter-spacing:-.01em;font-size:clamp(36px,5vw,64px);font-weight:650;line-height:1.1}.case-bar{z-index:90;background:var(--nav-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);transition:transform .25s var(--ease-out);position:sticky;top:56px}.case-bar:after{content:"";background:var(--bar-line);pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}@supports (animation-timeline:view()){body{timeline-scope:--case-h1}.page-title{view-timeline-name:--case-h1;view-timeline-inset:104px 0}.case-bar-title{animation:linear both barTitleIn;animation-timeline:--case-h1;animation-range:exit}}@keyframes barTitleIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.case-bar.bar-hidden{pointer-events:none;visibility:hidden;transition:transform .25s var(--ease-out),visibility 0s linear .25s;transform:translateY(-100%)}.case-bar .wrap{align-items:center;gap:16px;height:48px;display:flex}.case-bar-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;min-width:0;color:var(--ink-on-fixed-secondary);margin-left:auto;font-size:14px;font-weight:500;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-head{padding:var(--space-page-top) max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left));max-width:var(--max);margin:0 auto}.page-head .eyebrow+.page-title{margin-top:16px}.page-head .lede,.t-lede{max-width:672px;color:var(--ink-secondary);letter-spacing:-.01em;margin-top:24px;font-size:19px;line-height:1.5}.eyebrow,.t-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);font-size:13px;font-weight:600}.btn{letter-spacing:-.01em;border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--press-dur) ease,opacity var(--hover-dur) var(--ease-hover),background var(--hover-dur) var(--ease-hover);border:none;padding:13px 28px;font-size:16px;font-weight:500;display:inline-block}.btn-primary{background:var(--ink);color:var(--surface)}.btn-primary:hover,.btn-primary:focus-visible{background:#3f3f46}.btn-secondary{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:0 0}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--wash-hover)}@keyframes heroIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes heroInFade{0%{opacity:0}to{opacity:1}}.page.hero-enter.visible{animation:none}.hero-enter-chrome{--arrive:.3s;--step:.14s;--rise:.7s;--hold:.28s;--lines:2;--h1-end:calc(var(--arrive) + (var(--lines) - 1) * var(--step));--rest:calc(var(--h1-end) + var(--hold))}.hero-enter .hero h1 .h1-l{animation:heroIn var(--rise) var(--ease-out) backwards;animation-delay:calc(var(--arrive) + var(--ln,0) * var(--step));display:inline-block}.hero-enter .hero h1 .h1-l[data-lw="1"]{--ln:1}.hero .h1-l{display:inline}.hero-enter .hero h1.arrived .h1-l{animation:none;display:inline}.hero-enter .hero .hero-sub{animation:heroIn .7s var(--ease-out) var(--rest) backwards}.hero-enter .hero .hero-actions{animation:heroIn .7s var(--ease-out) calc(var(--rest) + .14s) backwards}.hero-enter .portrait-card{animation:heroInFade .7s var(--ease-out) calc(var(--rest) + .22s) backwards}.hero-enter .portrait-card img{animation:portraitSettle 3.2s var(--ease-out) calc(var(--rest) + .22s) backwards}@keyframes portraitSettle{0%{transform:scale(1.16)}}@keyframes navDown{0%{transform:translateY(-100%)}to{transform:none}}.hero-enter-chrome .nav{animation:navDown .7s var(--ease-out) calc(var(--rest) + .14s) backwards}.hero-enter>section,.hero-enter .intro-stats{animation:heroInFade .6s var(--ease-out) calc(var(--rest) + .45s) backwards}html[data-entrance]:not(.hero-enter-chrome) .nav,html[data-entrance] .page:not(.hero-enter) .hero h1,html[data-entrance] .page:not(.hero-enter) .hero .hero-sub,html[data-entrance] .page:not(.hero-enter) .hero .hero-actions,html[data-entrance] .page:not(.hero-enter) .portrait-card,html[data-entrance] .page:not(.hero-enter)>section,html[data-entrance] .page:not(.hero-enter) .intro-stats{opacity:0}.portrait-card{border-radius:var(--radius-card);aspect-ratio:4/3;background:var(--surface-fixed);margin:0 auto;position:relative;overflow:hidden}.portrait-card svg,.portrait-card img{object-fit:cover;width:100%;height:100%;display:block}.intro-stats{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px;display:grid}.intro-stat{background:var(--surface-alt);border-radius:var(--radius-card);text-align:center;padding:32px 28px}.intro-stat .num{letter-spacing:-.03em;font-size:clamp(28px,3.4vw,40px);font-weight:700;line-height:1.1}.intro-stat .label{max-width:24ch;color:var(--ink-on-alt);letter-spacing:-.005em;text-wrap:balance;margin:6px auto 0;font-size:14px;line-height:1.4}section{padding:var(--space-section) 0}#page-home section{padding:var(--space-section-lg) 0}.back-link{color:var(--ink-on-fixed-tertiary);transition:color var(--hover-dur) var(--ease-hover);align-self:stretch;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.back-link .chev{width:7px;height:7px;transition:transform var(--hover-dur) var(--ease-hover);border-bottom:1.5px solid;border-left:1.5px solid;flex:none;transform:rotate(45deg)}.back-link:hover{color:var(--ink-on-fixed)}.back-link:hover .chev{transform:translate(-3px)rotate(45deg)}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;display:flex}.row-between>div{flex:auto;min-width:0}.exp-resume-mobile{display:none}.section-intro{margin-bottom:48px}.section-h2,.t-section-header{font-family:var(--font-serif-display);letter-spacing:-.01em;max-width:var(--measure);margin-top:12px;font-size:clamp(28px,3.4vw,44px);font-weight:600;line-height:1.15}.work-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.work-card{background:var(--surface-alt);border-radius:var(--radius-card);overflow:hidden}a.work-card{transition:background var(--hover-dur-surface) var(--ease-hover),transform var(--press-dur) ease}a.work-card.reveal.in:not(.settled):not(.instant){transition:opacity .55s var(--ease-out) var(--reveal-delay,0s),transform .55s var(--ease-out) var(--reveal-delay,0s),background var(--hover-dur-surface) var(--ease-hover)}.work-card .visual{position:relative;overflow:hidden}a.work-card:hover{background:var(--surface-alt-hover)}a.work-card:active,.btn:active{transform:scale(.985)}.toast{z-index:200;border-radius:var(--radius-pill);background:var(--ink-on-fixed);color:var(--surface-fixed);letter-spacing:-.01em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s var(--ease-out);padding:12px 20px;font-size:14px;font-weight:500;position:fixed;transform:translate(-50%,6px);box-shadow:0 8px 24px #00000059}.toast.show{opacity:1;transform:translate(-50%)}.work-card .visual{aspect-ratio:16/10;border-radius:var(--radius-card) var(--radius-card) 0 0}.work-card .visual svg,.work-card .visual img{object-fit:cover;width:100%;height:100%;display:block}.work-card .meta{padding:24px 28px 32px}.work-card h3,.t-header-three{letter-spacing:-.015em;font-size:21px;font-weight:600;line-height:1.25}.work-card .card-co{color:var(--ink-on-alt);margin-bottom:6px;font-size:13px;font-weight:500}.work-card p,.t-meta{color:var(--ink-on-alt);margin-top:6px;font-size:15px;line-height:1.5}.vt .page.visible,html[data-entrance] .page.visible{animation:none}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.nav{view-transition-name:site-nav}.case-bar{view-transition-name:case-bar}::view-transition-old(root){animation:none}::view-transition-new(root){animation:vtIn .35s var(--ease-out) both}@keyframes vtIn{0%{opacity:0;transform:translateY(8px)}}html[data-vt-dir=next]::view-transition-new(root){animation-name:vtInNext}html[data-vt-dir=prev]::view-transition-new(root){animation-name:vtInPrev}@keyframes vtInNext{0%{opacity:0;transform:translate(24px)}}@keyframes vtInPrev{0%{opacity:0;transform:translate(-24px)}}#work{transition:padding-bottom .6s var(--ease-out)}#work.is-folded{padding-bottom:56px}.work-fold{transition:height .6s var(--ease-out);position:relative}.work-fold.is-collapsed{clip-path:inset(-8px -8px 0)}.work-fold.is-collapsed:after{content:"";pointer-events:none;background:linear-gradient(to bottom,transparent,var(--surface) 78%,var(--surface));height:220px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.work-fold.is-expanding:after{opacity:0}.work-more{z-index:2;box-sizing:border-box;transition:height .6s var(--ease-out),padding-bottom .6s var(--ease-out),margin-top .6s var(--ease-out),opacity .2s ease;justify-content:center;margin-top:-40px;padding-bottom:32px;display:flex;position:relative}.work-more.is-leaving{opacity:0;pointer-events:none;margin-top:0;padding-bottom:0;overflow:hidden;height:0!important}.work-more[hidden]{display:none}.work-more .btn{background:var(--surface);min-width:180px}.work-more .btn:hover,.work-more .btn:focus-visible{background:var(--surface-alt)}.work-grid .work-card:nth-child(2n){--reveal-delay:80ms}.cap-grid .cap:nth-child(2){--reveal-delay:60ms}.cap-grid .cap:nth-child(3){--reveal-delay:.12s}.intro-stats .intro-stat:nth-child(2){--reveal-delay:60ms}.intro-stats .intro-stat:nth-child(3){--reveal-delay:.12s}.js .section-intro.reveal{opacity:1;transition:none;transform:none}.js .section-intro .eyebrow,.js .section-intro .section-h2,.js .row-between.section-intro>.section-cta{opacity:0;transition:opacity .55s var(--ease-out) var(--reveal-delay,0s),transform .55s var(--ease-out) var(--reveal-delay,0s);transform:translateY(16px)}.js .section-intro.in .eyebrow,.js .section-intro.in .section-h2,.js .row-between.section-intro.in>.section-cta{opacity:1;transform:none}.js .section-intro.in .section-h2{--reveal-delay:60ms}.js .row-between.section-intro.in>.section-cta{--reveal-delay:.12s}.js .section-intro.instant .eyebrow,.js .section-intro.instant .section-h2,.js .row-between.section-intro.instant>.section-cta{transition:none}.about-solo{max-width:var(--measure)}.bio-band{background:var(--surface-alt)}.bio-band .eyebrow{color:var(--ink-on-alt);margin-bottom:20px}.about-solo .about-h2{font-family:var(--font-serif-display);letter-spacing:-.01em;margin-top:0;font-size:clamp(32px,4.5vw,56px);font-weight:600;line-height:1.18}.prose p{color:var(--ink);letter-spacing:-.005em;font-size:17px;line-height:1.65}.prose p+p,.about-solo .prose h2+p{margin-top:20px}.about-solo .prose p{color:var(--ink-on-alt)}.about-section{margin-top:var(--space-page-top)}.about-story .about-section:first-child{margin-top:0}.about-h2,.t-header-two{font-family:var(--font-serif-text);letter-spacing:0;margin-top:8px;font-size:clamp(22px,2.6vw,28px);font-weight:700;line-height:1.2}.exp-list{border-top:1px solid var(--line);margin-top:12px}.exp-row{border-bottom:1px solid var(--line);grid-template-columns:220px 1fr;align-items:baseline;column-gap:32px;padding:28px 0;display:grid}.exp-row .company{letter-spacing:-.015em;font-size:clamp(20px,2.2vw,24px);font-weight:600;line-height:1.2}.exp-row .roles{gap:16px;padding:0;list-style:none;display:grid}.exp-row .roles li{grid-template-columns:1fr auto;align-items:baseline;column-gap:24px;display:grid}.role-title{color:var(--ink);letter-spacing:-.005em;font-size:15px;font-weight:500}.role-team{color:var(--ink-secondary);grid-column:1;margin-top:2px;font-size:14px}.role-date{color:var(--ink-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:500}.cap-grid-plain{gap:48px 32px}.cap-grid-plain .cap{background:0 0;border-radius:0;padding:0}@media(max-width:1023px){.cap-grid-plain .cap{max-width:var(--measure)}}.cap-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.cap{background:var(--surface-alt);border-radius:var(--radius-card);padding:28px}.cap h3{letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:1.25}.cap ul{border-top:1px solid var(--line);gap:6px;margin-top:16px;padding-top:14px;padding-left:18px;list-style:outside;display:grid}.cap li::marker{color:var(--ink-tertiary)}.cap li{color:var(--ink-on-alt);font-size:14px;line-height:1.5}.cap p{color:var(--ink-on-alt);margin-top:8px;font-size:14px;line-height:1.55}.faq-list{border-top:1px solid var(--line)}.faq{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;letter-spacing:-.01em;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:17px;font-weight:600;line-height:1.25;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:hover .faq-icon:before,.faq summary:hover .faq-icon:after,.faq summary:focus-visible .faq-icon:before,.faq summary:focus-visible .faq-icon:after{background:var(--ink)}.faq-icon{flex:none;width:14px;height:14px;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:var(--ink-secondary);transition:transform .3s ease,background var(--hover-dur) var(--ease-hover);border-radius:1px;position:absolute}.faq-icon:before{width:14px;height:2px;top:6px;left:0}.faq-icon:after{width:2px;height:14px;top:0;left:6px}.faq[open] .faq-icon:after{transform:scaleY(0)}.faq-a{max-width:var(--measure);color:var(--ink-secondary);padding:0 40px 22px 0;font-size:15px;line-height:1.6}@supports (interpolate-size:allow-keywords){.faq{interpolate-size:allow-keywords}.faq::details-content{block-size:0;transition:block-size .3s ease,content-visibility .3s allow-discrete;overflow:clip}.faq[open]::details-content{block-size:auto}}.faq .faq-a{opacity:0;transition:opacity .3s ease 80ms,transform .3s var(--ease-out) 80ms;transform:translateY(4px)}.faq[open] .faq-a{opacity:1;transform:none}.faq:not([open]) .faq-a{transition-delay:0s}.contact-band{background:var(--surface-fixed);text-align:center;padding:var(--space-section-xl) 0 calc(28px + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:center;display:flex}#page-home .contact-band{padding:var(--space-section-xl) 0 calc(28px + env(safe-area-inset-bottom,0px))}.closer-title{font-family:var(--font-serif-display);letter-spacing:-.01em;color:var(--ink-on-fixed);font-size:clamp(36px,5vw,64px);font-weight:650;line-height:1.1}.closer-sub{letter-spacing:-.01em;max-width:672px;color:var(--ink-on-fixed-secondary);margin-top:24px;margin-inline:auto;font-size:17px}.closer-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:40px;display:flex}.closer-actions .btn{min-width:180px}.contact-band .btn-primary,.on-fixed .btn-primary{background:var(--ink-on-fixed);color:var(--surface-fixed)}.contact-band .btn-primary:hover,.on-fixed .btn-primary:hover,.contact-band .btn-primary:focus-visible,.on-fixed .btn-primary:focus-visible{background:#d4d4d8}.contact-band .btn-secondary,.on-fixed .btn-secondary{color:var(--ink-on-fixed);box-shadow:inset 0 0 0 1px #71717a}.contact-band .btn-secondary:hover,.on-fixed .btn-secondary:hover,.contact-band .btn-secondary:focus-visible,.on-fixed .btn-secondary:focus-visible{background:var(--wash-hover-on-fixed)}.contact-band .eyebrow{color:var(--ink-on-fixed-secondary);margin-bottom:20px}.contact-band .closer-title{--reveal-delay:60ms}.contact-band .closer-sub{--reveal-delay:.12s}.contact-band .closer-actions{--reveal-delay:.18s}.closer-legal{padding:var(--space-section-xl) max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));color:var(--ink-on-fixed-secondary);margin-top:auto;font-size:13px}body{flex-direction:column;min-height:100svh;display:flex}main.page{flex:1}#page-notfound,#page-colophon{flex-direction:column;display:flex}#page-colophon .page-head,#page-colophon .colophon-body{width:100%}#page-colophon>.contact-band{flex:1}.case-note{max-width:576px;color:var(--ink-secondary);margin-top:16px;font-size:14px;line-height:1.5}.case-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 2fr;gap:24px;margin-top:56px;padding:28px 0;display:grid}.case-meta.has-team{grid-template-columns:1fr 1fr 1fr 2fr}.meta-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);font-size:13px;font-weight:600}.case-meta dd{margin-top:6px;font-size:15px;font-weight:500}.meta-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.meta-tag{color:var(--ink);background:var(--surface-alt);border-radius:var(--radius-pill);padding:6px 12px;font-size:13px;font-weight:500;line-height:1}.case-body{max-width:var(--max);padding:72px max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));margin:0 auto}.case-body h2,.case-body p{max-width:var(--measure)}.case-body h2{font-family:var(--font-serif-text);letter-spacing:0;margin-top:72px;font-size:clamp(22px,2.6vw,28px);font-weight:700;line-height:1.2}.case-body>:first-child{margin-top:0}.case-body p{color:var(--ink);letter-spacing:-.005em;margin-top:20px;font-size:17px;line-height:1.65}.case-body p.muted{color:var(--ink-secondary)}.case-body ul,.case-body ol{max-width:var(--measure);margin-top:20px;padding-left:22px}.case-body ul{list-style:outside}.case-body ol{list-style:decimal}.case-body li{color:var(--ink);margin-top:8px;font-size:17px;line-height:1.65}.case-body li::marker{color:var(--ink-tertiary)}.case-body h3{max-width:var(--measure);letter-spacing:-.01em;margin-top:40px;font-size:19px;font-weight:600}.case-body blockquote{max-width:var(--measure);border-left:2px solid var(--line);color:var(--ink-secondary);margin-top:24px;padding-left:20px;font-size:19px;line-height:1.6}.figure{max-width:var(--max);padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));margin:72px auto 0}.figure .frame{border-radius:var(--radius-card);aspect-ratio:4/3;background:var(--surface-alt);position:relative;overflow:hidden}.figure .frame svg,.figure .frame img{object-fit:cover;width:100%;height:100%;display:block}.figure-auto .frame{aspect-ratio:auto}.figure-auto .frame img,.figure-auto .frame svg{object-fit:contain;height:auto}.figure-full{max-width:none;padding:0}.figure-full .frame{border-radius:0}.figure-full figcaption{max-width:var(--max);margin-left:auto;margin-right:auto;padding:0 24px}.figure-portrait .frame{aspect-ratio:3/4;max-width:480px;margin:0 auto}.figure figcaption,.t-caption{color:var(--ink-secondary);font-size:13px}.figure figcaption{text-align:center;margin-top:14px}.figure.case-opener{margin-top:24px}.case-opener .frame{aspect-ratio:2}.case-opener.reveal.in .frame img{animation:openerSettle 3.2s var(--ease-out) backwards}@keyframes openerSettle{0%{transform:scale(1.16)}}.case-summary{max-width:var(--max);padding:72px max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));grid-template:"overview impact""stats stats"/1fr 1fr;gap:0 48px;margin:0 auto;display:grid}.cs-overview{grid-area:overview}.cs-impact{grid-area:impact}.case-summary p:not(.eyebrow){letter-spacing:-.005em;color:var(--ink-secondary);margin-top:16px;font-size:17px;line-height:1.65}.case-stats-band{grid-area:stats;margin-top:48px}.case-stats-band .intro-stats,.case-links{margin-top:0}.case-links ul{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.case-links a{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:500;line-height:1.35;text-decoration:none;display:inline-flex}.case-links a svg{color:var(--ink-secondary);flex:none}.case-links a:hover{background:var(--wash-hover);box-shadow:inset 0 0 0 1px var(--ink-secondary)}.case-links-wrap{max-width:var(--max);margin:var(--space-section) auto 0;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left))}.case-links-wrap+.contact-band{margin-top:var(--space-section)}.frame-carousel .car-frame{opacity:0;transition:opacity 1.8s;position:absolute;inset:0}.frame-carousel .car-frame.is-active{opacity:1}.case-gallery-head{max-width:var(--max);margin:var(--space-section) auto 0;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left))}.case-gallery{margin-top:64px}.case-gallery-head+.case-gallery{margin-top:32px}.case-gallery+.contact-band{margin-top:var(--space-section)}.case-gallery .figure{margin-top:32px}.case-gallery>:first-child{margin-top:0}.figure-duo{max-width:var(--max);padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin:32px auto 0;display:grid}.figure-duo .figure{max-width:none;margin:0;padding:0}.figure-duo .frame{aspect-ratio:4/3}.case-next{max-width:var(--max);margin:var(--space-section) auto 0;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));display:block}.case-next .wrap-inner{border-top:1px solid var(--line);padding:48px 0 var(--space-section);grid-template-columns:1fr 1fr;gap:24px;display:grid}.case-adj .eyebrow{color:var(--ink-on-alt)}.case-adj{background:var(--surface-alt);border-radius:var(--radius-card);transition:background var(--hover-dur-surface) var(--ease-hover),transform var(--press-dur) ease;padding:32px;display:flex}.case-adj:hover,.case-adj:focus-visible{background:var(--surface-alt-hover)}.case-adj:active{transform:scale(.985)}.case-adj-next{text-align:right;order:1}.adj-text{flex:1}.adj-text,.adj-text>span{display:block}.case-adj .t-header-three{margin-top:8px}.case-gallery .frame{cursor:zoom-in}.case-gallery .frame img{transition:transform var(--hover-dur-surface) var(--ease-hover)}.case-gallery .frame:hover img{transform:scale(1.04)}.lightbox{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink-on-fixed);background:0 0;border:none;padding:0;position:fixed;inset:0}.lightbox[open]{flex-direction:column;display:flex}.lightbox::backdrop{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#09090bd1}.lb-stage{min-height:0;padding:56px max(56px,env(safe-area-inset-right)) 0 max(56px,env(safe-area-inset-left));flex:1;justify-content:center;align-items:center;display:flex}.lb-media{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative}.lb-media picture{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex}.lb-media .lb-layer{transition:opacity 1.8s}.lb-media .lb-layer:not(.is-active){opacity:0;position:absolute;inset:0}.lb-stage img{border-radius:var(--radius-card);outline:1px solid var(--bar-line);outline-offset:-1px;width:auto;max-width:min(100%,90vw);height:auto;max-height:min(100%,80dvh)}.lb-foot{max-width:var(--max);width:100%;padding:20px max(24px,env(safe-area-inset-right)) max(24px,calc(16px + env(safe-area-inset-bottom,0px))) max(24px,env(safe-area-inset-left));align-items:center;gap:24px;margin:0 auto;display:flex}.lb-caption{color:var(--ink-on-fixed-secondary);flex:1;font-size:13px;line-height:1.5}.lb-count{color:var(--ink-on-fixed-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.lb-controls{align-items:center;gap:12px;display:flex}.lb-btn{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--ink-on-fixed);cursor:pointer;transition:background var(--hover-dur) var(--ease-hover),opacity var(--hover-dur) var(--ease-hover),transform var(--press-dur) ease;background:#3f3f4699;border:none;place-items:center;display:grid}.lb-btn:hover{background:#52525bbf}.lb-btn:active{transform:scale(.985)}.lb-close{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:1;position:absolute}body.lb-open{overflow:hidden}html{scrollbar-gutter:stable}html:has(#page-notfound){scrollbar-gutter:auto}.lightbox{transition:opacity .25s ease,transform .25s var(--ease-out)}.lightbox.is-closing{opacity:0;transform:scale(.985)}.lightbox.is-closing::backdrop{opacity:0;transition:opacity .25s}.lb-media.is-stepping .lb-layer{transition:opacity .25s}@media(prefers-reduced-motion:no-preference){.lightbox[open]{animation:lbIn .35s var(--ease-out)}.lightbox[open]::backdrop{animation:.35s lbFade}}@keyframes lbIn{0%{opacity:0;transform:scale(.985)}}@keyframes lbFade{0%{opacity:0}}.js .reveal{opacity:0;transform:translateY(16px)}.js .reveal:not(.settled){transition:opacity .55s var(--ease-out) var(--reveal-delay,0s),transform .55s var(--ease-out) var(--reveal-delay,0s)}.js .reveal.instant:not(.settled){transition:none}.intro-stats .reveal.hold{opacity:0;transform:translateY(16px)}.reveal.in{opacity:1;transform:none}@media(min-width:1024px)and (max-height:900px){.hero{padding:80px 24px 48px}.hero .hero-actions{margin-top:32px}}@media(max-width:1023px){:root{--space-section:80px;--space-section-lg:112px;--space-page-top:104px}.cap-grid{grid-template-columns:1fr}.case-summary{grid-template:"overview""impact""stats"/1fr}.case-summary h2,.case-summary p:not(.eyebrow){max-width:var(--measure)}.cs-impact,.case-summary>.case-stats-band{margin-top:40px}.figure-duo{grid-template-columns:1fr;gap:32px}.figure-duo .figure.reveal:nth-child(2){--reveal-delay:0s}.exp-row{display:block}.case-links a{padding:13px 14px}.exp-row .roles{margin-top:14px}}@media(max-width:639px){.hero h1 .h1-line2{display:inline}.hero h1 .h1-br-wide,.hero h1 .h1-join-wide{display:none}.hero h1 .h1-br-phone,.hero h1 .h1-join-phone{display:inline}.hero-enter-chrome{--lines:3}.hero-enter .hero h1 .h1-l[data-lp="0"]{--ln:0}.hero-enter .hero h1 .h1-l[data-lp="1"]{--ln:1}.hero-enter .hero h1 .h1-l[data-lp="2"]{--ln:2}.hero h1{font-size:min(40px,10.2564vw - 4.92308px)}:root{--space-section:64px;--space-section-lg:88px;--space-page-top:80px;--space-section-xl:112px}.nav-links{display:none}.nav-toggle{display:flex}.hero{padding:88px max(24px,env(safe-area-inset-right)) 48px max(24px,env(safe-area-inset-left))}.hero .hero-actions{flex-direction:column;align-items:stretch}.hero .hero-actions .btn{min-width:0}.closer-actions{flex-direction:column;align-items:stretch}.closer-actions .btn{min-width:0}.work-grid{grid-template-columns:1fr}.intro-stats{grid-template-columns:1fr;gap:16px;margin-top:16px}.case-body h2,.case-body p,.about-solo,.section-h2,.case-body ul,.case-body ol,.case-body h3,.case-body blockquote,.cap-grid-plain .cap,.faq-a,.case-summary h2,.case-summary p:not(.eyebrow){max-width:none}.case-body h2{margin-top:48px}.contact-band,#page-home .contact-band{padding:var(--space-section-xl) 0 calc(28px + env(safe-area-inset-bottom,0px))}.closer-legal{padding-top:var(--space-section-xl)}.case-meta{grid-template-columns:1fr;gap:20px;margin-top:40px}.case-links ul{grid-auto-rows:1fr;display:grid}.case-links li{display:flex}.case-links a{justify-content:space-between;width:100%;height:100%}.case-body{padding-top:48px}.figure{margin-top:48px}.case-summary{padding-top:48px}.figure.case-opener{margin-top:8px}.case-gallery{margin-top:40px}.case-gallery-head+.case-gallery{margin-top:24px}.lb-stage{padding:48px 16px 0}.case-next .wrap-inner{grid-template-columns:1fr;gap:16px;padding-top:32px}.case-adj,.case-adj-next{text-align:center;justify-content:center}.exp-resume-desktop{display:none}.exp-resume-mobile{margin-top:32px;display:block}.exp-resume-mobile .btn{text-align:center;width:100%}.case-adj-next{order:0}.case-bar-title{display:none}.hero .hero-sub,.contact-band .closer-sub{text-wrap:wrap}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ink:#f4f4f5;--ink-secondary:#a1a1aa;--ink-tertiary:#71717a;--ink-on-alt:#a1a1aa;--ink-faint:#3f3f46;--focus:#2997ff;--surface:#000;--surface-alt:#18181b;--line:#27272a;--surface-alt-hover:#27272a;--wash-hover:#f4f4f514}.btn-primary:hover{background:#d4d4d8}.skip-link{box-shadow:0 2px 12px #00000080,0 0 0 1px var(--line)}}.portrait-card:after,.work-card:after,.intro-stat:after,.cap:after,.case-adj:after,.figure .frame:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none;position:absolute;inset:0}.work-card,.intro-stat,.cap,.case-adj{position:relative}.cap-grid-plain .cap:after{content:none}.case-gallery .frame{transition:transform var(--press-dur) ease}.case-gallery .frame:active{transform:scale(.985)}.case-links a{transition:box-shadow var(--hover-dur) var(--ease-hover),background var(--hover-dur) var(--ease-hover),transform var(--press-dur) ease}.case-links a:active{transform:scale(.985)}@keyframes focusSettle{0%{outline-offset:6px}}:focus-visible{animation:focusSettle .25s var(--ease-out)}a.work-card:focus-visible{background:var(--surface-alt-hover)}.case-gallery .frame:focus-visible img{transform:scale(1.04)}.back-link:focus-visible{color:var(--ink-on-fixed)}.back-link:focus-visible .chev{transform:translate(-3px)rotate(45deg)}.case-links a:focus-visible{background:var(--wash-hover);box-shadow:inset 0 0 0 1px var(--ink-secondary)}@media(prefers-reduced-motion:reduce){.case-gallery .frame:focus-visible img{transform:none}}.case-links a svg{transition:transform var(--hover-dur) var(--ease-hover)}.case-links a:hover svg,.case-links a:focus-visible svg{transform:translate(1px,-1px)}html{scrollbar-color:var(--ink-tertiary) var(--surface)}.figure-duo .figure:nth-child(2){--reveal-delay:80ms}.faq-a a,.closer-legal a,.case-body a,.colophon-body dd a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint);text-underline-offset:3px;transition:color var(--hover-dur) var(--ease-hover),text-decoration-color var(--hover-dur) var(--ease-hover)}.closer-legal a{-webkit-text-decoration-color:var(--ink-on-fixed-faint);text-decoration-color:var(--ink-on-fixed-faint)}.faq-a a:hover,.case-body a:hover,.colophon-body dd a:hover{color:var(--ink);text-decoration-color:currentColor}.closer-legal a:hover{color:var(--ink-on-fixed);text-decoration-color:currentColor}.closer-legal span{white-space:nowrap}.print-contact{display:none}.colophon-body{max-width:var(--max);padding:64px max(24px,env(safe-area-inset-right)) 96px max(24px,env(safe-area-inset-left));margin:0 auto}.colophon-body dl{border-top:1px solid var(--line)}.colophon-body dl>div{border-bottom:1px solid var(--line);grid-template-columns:220px 1fr;align-items:baseline;column-gap:32px;padding:28px 0;display:grid}.colophon-body dt{letter-spacing:-.02em;font-size:clamp(22px,2.6vw,28px);font-weight:700;line-height:1.15}.colophon-body dd,.t-body{letter-spacing:-.005em;color:var(--ink-secondary);margin:0;font-size:17px;line-height:1.65}@media(max-width:1023px){.colophon-body dl>div{display:block}.colophon-body dd{margin-top:8px}}@media print{:root{--ink:#18181b;--ink-secondary:#71717a;--ink-tertiary:#a1a1aa;--ink-on-alt:#52525b;--ink-faint:#d4d4d8;--surface:#fff;--surface-alt:#f4f4f5;--line:#e4e4e7}html,body{background:#fff}.nav,.mobile-menu,.toast,.skip-link,.lightbox,.case-bar,.hero-actions,.closer-actions{display:none!important}.reveal{opacity:1!important;transform:none!important}.portrait-card{width:100%!important}.contact-band{color:#18181b;background:#fff;padding:32px 0 0}.contact-band .eyebrow,.closer-sub{color:#71717a}.closer-title{color:#18181b}.closer-legal{color:#71717a;padding:16px 24px}.closer-legal a{color:#71717a}.print-contact{text-align:center;color:#18181b;margin-top:8px;font-size:14px;display:block}.case-links a[href^=http]:after{content:" (" attr(href) ")";color:#71717a;font-size:11px}.hero{padding:24px}.intro-stat,.work-card,.cap,figure,.case-opener,.exp-row{break-inside:avoid}}#page-notfound .hero{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}#page-notfound .hero h1{letter-spacing:-.005em;color:var(--ink-secondary);font-family:inherit;font-size:17px;font-weight:400;line-height:1.65}.nf-404{text-align:center;--nf-shear: calc(clamp(7px, 1.5vw, 15px) + 1px) ;margin-top:8px;position:relative}.nf-404 span{letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(110px,24vw,220px);font-weight:700;line-height:1;display:block;position:relative}.nf-404 .nf-top{clip-path:inset(-5% -50% 50%)}.nf-404 .nf-bot{clip-path:inset(calc(50% - .5px) -50% -5%);position:absolute;inset:0}.nf-404 .nf-top{animation:nfShearR .5s var(--ease-out) 1.5s forwards}.nf-404 .nf-bot{animation:nfShearL .5s var(--ease-out) 1.5s forwards}@keyframes nfShearR{to{transform:translate(var(--nf-shear))}}@keyframes nfShearL{to{transform:translate(calc(var(--nf-shear) * -1))}}.nf-404 .nf-top:after,.nf-404 .nf-bot:after{content:"404";color:#0000;opacity:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch' seed='7'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.nf-404 .nf-top:after{animation:6s step-end 2.3s 8 nfBlipA}.nf-404 .nf-bot:after{animation:6s step-end 2.3s 8 nfBlipB}@keyframes nfBlipA{0%{opacity:0;background-position:0 0;transform:none}8%{opacity:1;background-position:-37px 18px;transform:translate(3px)}10%{opacity:0;transform:none}38%{opacity:.75;background-position:24px -51px}39.6%{opacity:0}63%{opacity:1;background-position:-12px -29px;transform:translate(2px)}65.2%{opacity:0;transform:none}85%{opacity:.6;background-position:41px 33px}86.2%{opacity:0}to{opacity:0}}@keyframes nfBlipB{0%{opacity:0;background-position:0 0;transform:none}8.4%{opacity:1;background-position:19px -44px;transform:translate(-3px)}10.6%{opacity:0;transform:none}27%{opacity:.8;background-position:-33px 27px;transform:translate(2px)}28.8%{opacity:0;transform:none}47%{opacity:.7;background-position:8px 49px}48.6%{opacity:0}75%{opacity:.85;background-position:-25px -16px;transform:translate(-2px)}77%{opacity:0;transform:none}to{opacity:0}}@media(prefers-reduced-motion:reduce){.nf-404 .nf-top,.nf-404 .nf-bot,.nf-404 .nf-top:after,.nf-404 .nf-bot:after{animation-delay:0s}}::target-text{background:var(--ink);color:var(--surface)}.contact-band ::target-text{background:var(--ink-on-fixed);color:var(--surface-fixed)}.case-bar ::target-text{background:var(--ink-on-fixed);color:var(--surface-fixed)}.nav ::target-text{background:var(--ink-on-fixed);color:var(--surface-fixed)}@media(min-width:640px){.prose p,.case-summary p,.faq-a,.colophon-body dd{hanging-punctuation:first}}@supports (text-box:trim-both cap alphabetic){.hero h1,.closer-title,.page-title{text-box:trim-both cap alphabetic}}@media(prefers-contrast:more)and (prefers-color-scheme:light){:root{--ink:#000;--ink-secondary:#3f3f46;--ink-on-alt:#3f3f46;--line:#a1a1aa;--ink-faint:#71717a}}@media(prefers-contrast:more)and (prefers-color-scheme:dark){:root{--ink:#fff;--ink-secondary:#d4d4d8;--ink-on-alt:#d4d4d8;--line:#52525b;--ink-faint:#a1a1aa}}@media(prefers-contrast:more){:root{--ink-on-fixed:#fff;--ink-on-fixed-secondary:#d4d4d8;--ink-on-fixed-tertiary:#e4e4e7;--ink-on-fixed-faint:#71717a}}@media(prefers-reduced-motion:reduce){#work,.work-fold{transition:none}.case-opener.reveal.in .frame img,.case-bar-title,.on-home .nav:after{animation:none}.js .section-intro .eyebrow,.js .section-intro .section-h2,.js .row-between.section-intro>.section-cta{opacity:1;transition:none;transform:none}.mobile-menu .mobile-links a{animation-delay:0s}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
