:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111;--ink:#ededed;--muted:#aaa;--faint:#8a8a8a;--line:#292929;--surface:#1d1d1d;--hover:#242424;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--ink:#202020;--muted:#646464;--faint:#727272;--line:#e8e8e8;--surface:#f5f5f5;--hover:#ebebeb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{background:var(--bg);color:var(--muted);margin:0;line-height:1.6}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:var(--ink)}a{color:var(--ink);text-decoration:none}button:not(:disabled),summary{cursor:pointer}button:disabled{opacity:.25;cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ink);outline-offset:5px}::selection{background:var(--ink);color:var(--bg)}p{margin:0 0 20px}h1,h2,h3{font-size:inherit;margin:0;font-weight:400}.page{width:min(440px,100% - 48px);margin:0 auto}header{justify-content:space-between;align-items:flex-start;height:145px;padding-top:39px;display:flex}.signature{letter-spacing:-3px;font-size:31px;font-weight:500;line-height:44px}.icon{background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:background .18s,transform .18s;display:inline-flex}.icon:hover:not(:disabled){background:var(--hover)}.icon:active:not(:disabled){transform:scale(.92)}.theme{margin-right:-10px;position:relative}.theme svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:17px;height:17px;transition:opacity .2s,transform .25s;position:absolute}.theme .moon{fill:currentColor;stroke:none}.sun{opacity:0;transform:rotate(-60deg)scale(.6)}[data-theme=light] .sun{opacity:1;transform:rotate(0)scale(1)}[data-theme=light] .moon{opacity:0;transform:rotate(60deg)scale(.6)}.intro h1{color:var(--muted);margin-bottom:23px}.intro h1 a{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--faint);-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.intro h1 a:hover{-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.hello{border:1px solid var(--line);background:var(--surface);border-radius:24px;align-items:center;gap:17px;min-height:42px;margin-top:7px;padding:9px 16px;transition:background .18s,transform .18s;display:inline-flex;box-shadow:inset 0 1px #ffffff08}.hello:hover{background:var(--hover)}.portfolio-icon{vertical-align:-.2em;flex:none;display:inline-block}.hello .portfolio-icon{transition:transform .18s}.hello:hover .portfolio-icon{transform:translate(2px,-2px)}.hello:active{transform:scale(.97)}section+section{margin-top:58px}h2{color:var(--muted);margin-bottom:20px;font-size:13px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.section-heading h2{margin:0}.controls{margin-right:-10px;display:flex}.controls .icon{width:34px;height:34px;font-size:18px}.gallery{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;width:calc(50vw + 220px);max-width:calc(100vw - 24px);margin-left:-2px;padding:2px 24px 8px 2px;display:flex;overflow-x:auto}.gallery::-webkit-scrollbar{display:none}.shot{scroll-snap-align:start;flex:0 0 530px;min-width:0;max-width:calc(100vw - 48px);margin:0}.image-stage,.process-stage{background:#222321;border:0;border-radius:3px;justify-content:center;align-items:center;width:100%;height:338px;padding:34px;display:flex;position:relative;overflow:hidden}.image-stage img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .4s cubic-bezier(.2,.7,.2,1);display:block}.image-stage{padding:0}.model-stage img{object-position:center}.live-website{background:#fff;width:100%;min-width:0;height:100%;position:relative;overflow:hidden}.live-website iframe{transform-origin:0 0;border:0;display:block}.live-loading{color:#646464;place-items:center;height:100%;font-size:12px;display:grid}.live-stage .expand{z-index:1;border:0;width:40px;height:40px}.live-help{color:var(--faint);font-size:11px}.image-stage:hover img{transform:scale(1.015)}.expand{color:#fff;background:#111b;border-radius:50%;place-items:center;width:30px;height:30px;font-size:17px;display:grid;position:absolute;bottom:9px;right:12px}.shot figcaption{color:var(--faint);justify-content:space-between;gap:12px;padding:12px 1px;font-size:11px;display:flex}.shot figcaption span:first-child{color:var(--muted)}.process-stage{background:var(--surface);color:var(--ink);padding:32px 42px}.workflow-note{width:100%}.workflow-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.workflow-mark{color:var(--ink);letter-spacing:-2px;font-size:31px}.workflow-note h3{letter-spacing:-.6px;margin:28px 0 12px;font-size:25px;font-weight:400;line-height:1.25}.workflow-note p{max-width:32ch;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.workflow-bottom{border-top:1px solid var(--line);color:var(--faint);margin-top:24px;padding-top:18px;font-size:11px}.project-notes{margin-top:22px}.project-row,summary{color:var(--ink);justify-content:space-between;align-items:flex-start;gap:18px;padding:16px 0;font-size:13px;line-height:1.5;list-style:none;display:flex}.project-row,details{border-bottom:1px solid var(--line)}summary::-webkit-details-marker{display:none}.project-notes small{color:var(--faint);margin-top:4px;font-size:12px;display:block}.project-row>.portfolio-icon,.plus{color:var(--faint);font-size:18px;line-height:22px;transition:transform .2s,color .2s}.project-row>.portfolio-icon{margin-top:2px}.project-row:hover>.portfolio-icon{color:var(--ink);transform:translate(2px,-2px)}summary:hover .plus{color:var(--ink)}details[open] .plus{transform:rotate(45deg)}details p{margin:1px 24px 18px 0;font-size:13px}details[open] p{animation:.2s ease-out reveal}#about p:last-child{margin-bottom:0}.practice{color:var(--ink);margin:0;padding:0;line-height:2;list-style:none}#elsewhere p{font-size:13px}.contact{flex-wrap:wrap;gap:8px 22px;font-size:13px;display:flex}.contact a{align-items:center;gap:7px;min-height:32px;padding:4px 0;display:inline-flex}.contact .portfolio-icon{color:var(--faint);font-size:12px;transition:transform .18s;display:inline-block}.contact a:hover .portfolio-icon{color:var(--ink);transform:translateY(-2px)}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:64px;padding:26px 0 50px;font-size:11px;display:flex}footer .location{color:var(--faint)}footer .icon{margin-right:-10px;font-size:17px}.work-preview{border:1px solid var(--line);background:var(--bg);width:calc(100% - 48px);max-width:1100px;height:min(90dvh,1000px);max-height:90dvh;color:var(--ink);border-radius:8px;padding:0;overflow:hidden;box-shadow:0 30px 100px #0006}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000b}.work-preview[open]{grid-template-rows:auto minmax(0,1fr) auto;animation:.2s ease-out reveal;display:grid}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex}.dialog-header h2{color:var(--ink);margin:0}.dialog-header p{color:var(--faint);margin:4px 0 0;font-size:11px}.preview-scroll{overscroll-behavior:contain;background:var(--surface);min-height:0;overflow:auto}.preview-scroll:focus-visible{outline-offset:-3px}.preview-scroll img{width:100%;height:auto;display:block}.preview-scroll.is-zoomed img{width:max(100%,1440px);max-width:none}.preview-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.preview-footer a,.preview-zoom{align-items:center;gap:8px;min-height:36px;font-size:13px;display:inline-flex}.preview-zoom{color:var(--muted);background:0 0;border:0;padding:0}.preview-zoom:hover{color:var(--ink)}.preview-error{padding:24px}.skip:not(:focus){clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.note-visit{align-items:center;gap:8px;padding:8px 0 20px;font-size:13px;display:inline-flex}.model-count{color:#fff;background:#111b;border-radius:20px;padding:4px 10px;font-size:11px;position:absolute;bottom:14px;left:14px}.model-gallery[open]{animation:.3s cubic-bezier(.2,.7,.2,1) gallery-open}.model-picker{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;align-items:center;gap:20px;min-height:0;padding:28px;display:flex;overflow-x:auto}.model-choice{scroll-snap-align:center;text-align:left;background:0 0;border:0;flex-direction:column;flex:0 0 78%;gap:14px;min-width:0;height:100%;max-height:620px;padding:0;display:flex}.model-choice img{object-fit:cover;border-radius:3px;width:100%;height:calc(100% - 40px);min-height:0}.model-choice>span{justify-content:space-between;align-items:center;font-size:14px;display:flex}.model-renders{overscroll-behavior:contain;min-height:0;animation:.22s ease-out reveal;overflow-y:auto}.model-renders img{width:100%;height:auto;margin-bottom:12px;display:block}@keyframes gallery-open{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.model-picker{gap:14px;padding:16px}.model-choice{flex-basis:90%;height:auto}.model-choice img{object-fit:contain;aspect-ratio:4/3;height:auto}}.skip:focus{z-index:10;background:var(--ink);color:var(--bg);padding:10px;position:fixed;top:12px;left:12px}@keyframes reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width>=1600px){header{height:164px}.page{padding-top:12px}}@media (width<=600px){header{height:120px;padding-top:26px}.gallery{width:calc(100vw - 24px)}.shot{flex-basis:calc(100vw - 60px)}.image-stage,.process-stage{height:255px;padding:22px}.process-stage{padding:20px}.image-stage{padding:0}.work-preview{width:calc(100% - 24px);height:92dvh;max-height:92dvh}.dialog-header,.preview-footer{padding:10px 12px}.workflow-note h3{margin:16px 0 10px;font-size:20px}.workflow-bottom{margin-top:16px;padding-top:12px;font-size:10px}.shot figcaption{font-size:10px}.shot figcaption span:last-child{text-align:right}.section-heading h2{font-size:12px}section+section{margin-top:48px}.contact{gap:8px 25px}footer{margin-top:50px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
