.media-shell{isolation:isolate;background:#f3f3ef;position:relative}.media-element{opacity:0;z-index:1;transition:opacity .22s;position:relative}.media-shell[data-media-state=ready] .media-element{opacity:1}.media-loader{pointer-events:none;z-index:2;background:#f3f3ef;justify-content:center;align-items:center;transition:opacity .16s,visibility .16s;display:flex;position:absolute;inset:0}.media-spinner{border:2px solid #1111111f;border-top-color:#11111152;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite media-spin}.media-load-error{color:#1111117a;letter-spacing:.04em;font-size:10px;display:none}.media-shell[data-media-state=ready] .media-loader{opacity:0;visibility:hidden}.media-shell[data-media-state=failed] .media-spinner{display:none}.media-shell[data-media-state=failed] .media-load-error{display:block}@keyframes media-spin{to{transform:rotate(360deg)}}:root{color-scheme:light;--paper:#faf9f6;--ink:#242421;--muted:#6a6a64;--line:#deddd7;--surface:#efeee8;--blue:#174bdf}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:4px}button:disabled{cursor:default}.portfolio{max-width:1264px;margin:0 auto;padding:52px 32px 26px}.profile{padding-bottom:68px}.portrait{object-fit:cover;width:160px;height:160px;display:block}.portrait-placeholder{text-align:center;background:#e8e7e1;place-content:center;gap:18px;display:grid;position:relative}.portrait-placeholder>span:first-child{letter-spacing:-3px;color:#aaa9a1;font-size:36px;line-height:1}.portrait-placeholder>span:last-child{color:var(--muted);font-size:10px;position:absolute;inset:auto 0 10px}.profile-name{flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin-top:23px;display:flex}h1{letter-spacing:-.3px;margin:0;font-size:18px;font-weight:500;line-height:1.4}.profile-name>span{color:var(--muted);font-size:14px}.profile-intro{letter-spacing:-.35px;text-wrap:pretty;max-width:580px;margin:16px 0 0;font-size:20px;line-height:1.4}.work{scroll-margin-top:24px}.work-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:40px;margin-bottom:23px;display:flex}.project-filters{flex-wrap:wrap;gap:8px;display:flex}.project-filters button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:5px;padding:8px 15px;font-size:13px;line-height:1.4}.project-filters button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.project-filters button:hover:not([aria-pressed=true]):not(:disabled){border-color:var(--muted);color:var(--ink)}.project-count{color:var(--muted);white-space:nowrap;font-size:12px}.portfolio-row{border-top:1px solid var(--line);min-width:0;padding:26px 0 18px;scroll-margin-top:24px}.project-copy{min-width:0}.project-title-row{align-items:baseline;gap:14px;min-height:26px;display:flex}.project-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}h2{letter-spacing:-.25px;margin:0;font-size:17px;font-weight:500;line-height:1.5}.project-description{color:#53534e;text-wrap:pretty;max-width:560px;min-height:4.5em;margin:12px 0 14px;font-size:14px;line-height:1.5}.project-tags{gap:7px;min-height:25px;margin:0 0 22px;padding:0;list-style:none;display:flex}.project-tags li{border:1px solid var(--line);color:var(--muted);border-radius:3px;padding:3px 8px;font-size:11px;line-height:17px}.media-carousel{min-width:0}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#cecdc5 transparent;overscroll-behavior-x:contain;gap:14px;padding-bottom:9px;display:flex;position:relative;overflow-x:auto}.carousel-slide{scroll-snap-align:start;flex:0 0 400px;min-width:0;margin:0}.carousel-visual{background:var(--surface);height:286px;overflow:hidden}.carousel-visual img,.carousel-visual video{object-fit:contain;width:100%;height:100%;display:block}.media-placeholder{color:#7e7e75;flex-direction:column;justify-content:center;align-items:center;gap:17px;height:100%;font-size:11px;display:flex}.placeholder-mark{color:#c0bfb5;font-size:55px;font-weight:400;line-height:1}.carousel-slide:nth-child(3n+2) .carousel-visual{background:#e8ebe6}.carousel-slide:nth-child(3n+3) .carousel-visual{background:#e9e8ed}figcaption{color:var(--muted);justify-content:space-between;gap:16px;padding-top:9px;font-size:11px;display:flex}.media-index{font-variant-numeric:tabular-nums;color:#8a8a83}.carousel-footer{justify-content:space-between;align-items:center;min-height:38px;margin-top:4px;display:flex}.carousel-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px}.carousel-controls{gap:6px;display:flex}.carousel-controls button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:3px;width:38px;height:32px;font-size:19px;line-height:1}.carousel-controls button:disabled{opacity:.3}.carousel-controls button:hover:not(:disabled){border-color:var(--ink)}.portfolio-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:24px;font-size:11px;display:flex}.skip-link{background:var(--paper);z-index:1;padding:8px;position:absolute;top:8px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:none}.no-script-note{color:var(--muted);font-size:13px}@media (width<=640px){.portfolio{padding:28px 20px 24px}.profile{padding-bottom:46px}.portrait{width:132px;height:132px}.profile-name{gap:4px 12px;margin-top:19px}h1{flex-basis:100%;font-size:18px}.profile-name>span{font-size:13px}.profile-intro{max-width:34ch;margin-top:15px;font-size:18px}.work-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:18px}.project-filters{gap:6px}.project-filters button{padding:8px 12px}.project-count{font-size:11px}.portfolio-row{padding-top:21px}h2{font-size:16px}.project-description{min-height:7.5em}.carousel-track{gap:10px}.carousel-slide{flex-basis:86%}.carousel-visual{height:224px}.project-tags{margin-bottom:19px}}@media (width<=360px){.project-description{min-height:9em}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
