@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yygg_vb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fcfaf6;--fg:#09090b;--muted:#71717b;--border:#e6e4e0;--edge:#eeece8;--secondary:#f5f3f0;--dark:#18181b;--success:#00bb7f;--shadow:#413b31;color:var(--fg);background:var(--bg);font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html[data-theme=dark]{--border:#3f3f3a;--edge:#3f3f3a;--bg:#11110f}html{scroll-behavior:auto;-webkit-tap-highlight-color:transparent}body{background:var(--bg);min-width:320px;margin:0}.portfolio a{color:inherit;text-decoration:none}.portfolio button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.site{border-inline:1px solid var(--edge);background:linear-gradient(90deg,#0000 49.9%,#09090b06 50%,#0000 50.1%);width:min(1040px,100%);min-height:100vh;margin:auto}.shell{padding:18px 28px 108px}.nav{z-index:10;max-width:760px;box-shadow:0 10px 28px -18px var(--shadow), inset 0 0 0 1px #e6e4e0d9;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:#fcfaf6b8;border:1px solid #fffc;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto 48px;padding:8px 10px 8px 16px;display:flex;position:sticky;top:12px}.brand{letter-spacing:-.03em;font-size:13px;font-weight:700}.navlinks{align-items:center;gap:4px;display:flex}.navlink,.mode{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 11px;font-size:12px}.navlink:hover,.navlink.active,.mode:hover{color:var(--fg);background:#fff;box-shadow:0 1px 4px #d9d4cb}.hero{align-content:center;max-width:760px;min-height:530px;margin:auto;display:grid}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 17px;font-size:11px;font-weight:700}.portfolio h1{letter-spacing:-.08em;max-width:720px;margin:0;font-size:clamp(46px,8vw,92px);font-weight:600;line-height:.98}.lede{color:#4b4a48;letter-spacing:-.025em;max-width:470px;margin:27px 0;font-size:16px;line-height:1.7}.cta{background:var(--dark);color:#fff;width:max-content;box-shadow:0 10px 24px -14px var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:13px 17px;font-size:13px;font-weight:700;display:inline-flex}.cta:hover{transform:translateY(-1px)}.screenline{background:var(--edge);height:1px;margin:0 -28px}.section{max-width:760px;margin:0 auto;padding:76px 0}.section-head{justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px;display:flex}.portfolio h2{letter-spacing:-.065em;margin:0;font-size:clamp(27px,4vw,42px);line-height:1}.quiet-link{color:var(--muted);text-underline-offset:4px;font-size:12px;text-decoration:underline}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-card{border:1px solid var(--edge);background:#fff;border-radius:14px;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden}.project-card:hover{box-shadow:0 16px 28px -22px var(--shadow);transform:translateY(-3px)}.cover{aspect-ratio:1.48;border-bottom:1px solid var(--edge);align-items:end;padding:14px;display:flex}.cover-inner{background:#ffffff8c;border:1px solid #ffffffb3;border-radius:8px;width:100%;height:77%;box-shadow:0 12px 25px -18px #2d2a22}.cover.mint{background:linear-gradient(140deg,#b9e9dc,#eff4d5)}.cover.blue{background:linear-gradient(140deg,#c9d8ff,#dbf1f0)}.cover.peach{background:linear-gradient(140deg,#ffe0bd,#f8bfd3)}.cover.ink{background:linear-gradient(140deg,#393b44,#747789)}.card-copy{padding:15px}.card-meta,.row-meta{color:var(--muted);font-size:11px}.card-title{letter-spacing:-.04em;margin:6px 0;font-size:16px}.card-summary{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.panel{border-block:1px solid var(--edge);background:#ffffff73}.panel-inner{max-width:760px;margin:auto;padding:18px 0}.panel-header{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;padding-bottom:14px;font-size:11px;display:flex}.status{align-items:center;gap:7px;display:flex}.ping{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #00bb7f1f}.list{border-top:1px solid var(--edge)}.row{border-bottom:1px solid var(--edge);grid-template-columns:64px 1fr auto;align-items:center;gap:16px;padding:17px 0;display:grid}.row:hover .row-title{text-underline-offset:4px;text-decoration:underline}.row-title{letter-spacing:-.035em;font-size:15px}.row-meta{text-align:right}.filters{flex-wrap:wrap;gap:7px;margin-bottom:24px;display:flex}.filter{border:1px solid var(--edge);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:8px 11px;font-size:12px}.filter.active{border-color:var(--dark);background:var(--dark);color:#fff}.toolbar{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.article{max-width:650px;margin:auto;padding:80px 0}.article h1{font-size:clamp(42px,7vw,72px)}.article .lede{font-size:18px}.prose{color:#32312e;margin-top:60px;font-size:16px;line-height:1.85}.prose h2{margin:50px 0 14px;font-size:30px}.prose blockquote{border-left:2px solid var(--fg);color:var(--fg);letter-spacing:-.04em;margin:36px 0;padding-left:20px;font-size:23px;line-height:1.4}.metrics{background:var(--edge);border:1px solid var(--edge);grid-template-columns:repeat(3,1fr);gap:1px;margin:42px 0;display:grid}.metric{background:var(--bg);padding:18px}.metric strong{letter-spacing:-.06em;font-size:25px;display:block}.metric span{color:var(--muted);font-size:11px}.dock{z-index:20;box-shadow:0 12px 30px -14px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfaf6cc;border:1px solid #ffffffd9;border-radius:999px;gap:4px;padding:7px;transition:transform .22s;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.dock-hidden{transform:translate(-50%,90px)}.dock a{color:var(--muted);border-radius:99px;padding:9px 12px;font-size:11px}.dock a:hover{color:var(--fg);background:#fff}.masonry{columns:3 180px;column-gap:14px}.shot{break-inside:avoid;border:1px solid var(--edge);background:var(--secondary);border-radius:12px;margin-bottom:14px;padding:16px}.shot:nth-child(2n){min-height:220px}.shot:nth-child(3n){background:#d9e8ec;min-height:150px}.shot:nth-child(4n){background:#ebd7cf}.shot p{margin:0;font-size:12px}.empty{color:var(--muted);text-align:center;padding:48px 0}.personal h1{max-width:610px}.personal .hero{min-height:470px}.personal .cta{background:#f17643}@media (width<=650px){.shell{padding:14px 18px 95px}.site{border-inline:0}.nav{margin-bottom:32px;padding-left:13px}.navlink:nth-child(2),.navlink:nth-child(3){display:none}.hero{min-height:460px}.section{padding:56px 0}.screenline{margin:0 -18px}.card-grid{grid-template-columns:1fr}.row{grid-template-columns:42px 1fr}.row-meta{display:none}.masonry{columns:2 140px}.article{padding:54px 0}.metrics{grid-template-columns:1fr}.dock{bottom:10px}.dock a{padding:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.figma-reference-page{background:#fcfaf6;width:100%}.figma-reference-page picture,.figma-reference-page img{width:100%;height:auto;display:block}@media (width>=1024px){.figma-reference-page picture{max-width:1440px;margin:auto}}.portfolio{--content-inset:16px;color:#09090b;background:#fcfaf6;min-height:100vh}.portfolio-column{border-inline:1px solid #eeece8;width:min(784px,100%);min-height:100vh;margin:auto;padding:8px}.portfolio-header{height:56px;padding:8px 10px}.portfolio-nav{background:#ffffffdb;border:1px solid #eeece8;border-radius:999px;align-items:center;height:40px;padding:4px 4px 4px 14px;display:flex;box-shadow:0 8px 14px -12px #413b31}.wordmark{letter-spacing:-.15em;font-size:19px;font-weight:600;line-height:1}.portfolio-nav .wordmark{flex:1}.icon-button{color:#09090b;background:#fff;border:0;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.portfolio-hero{grid-template-columns:176px 1fr;gap:96px;min-height:264px;padding:16px;display:grid}.portrait-stack{width:176px;height:216px}.portrait-stack img{object-fit:cover;border-radius:26px;width:160px;height:200px;display:block}.portfolio-intro{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;display:flex}.portfolio-intro p{color:#71717b;letter-spacing:1.84px;margin:0;font-size:11.5px;line-height:18px}.portfolio-intro h1{letter-spacing:-1.2px;margin:0;font-size:32px;font-weight:600;line-height:32px}.portfolio-intro h1 u{text-underline-offset:4px;text-decoration-thickness:1px}.portfolio-intro>span{color:#71717b;max-width:360px;font-size:16px;line-height:24px}.portfolio-intro small{color:#71717b;align-items:center;gap:8px;margin-top:6px;font-size:12px;line-height:24px;display:flex}.portfolio-intro small i{box-sizing:content-box;background:#00bb7f;border:3px solid #b9eedc;border-radius:50%;width:10px;height:10px}.portfolio-divider{background:repeating-linear-gradient(45deg,#0000 0 3.243px,#eeece88f 3.243px 4.243px);border:0;height:32px;box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8}.portfolio-section,.portfolio-footer{border:0;box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8,inset 0 1px #eeece8,inset 0 -1px #eeece8}.portfolio-section h2,.contact-section h2,.portfolio-footer h2{letter-spacing:-1px;margin:0;font-size:32px;font-weight:600;line-height:48px}.about-section p{margin:8px 0 0;font-size:16px;line-height:24px}.about-section p:last-child{margin-top:12px}.work-section h2{padding:12px 16px}.portfolio-tabs{border-block:1px solid #eeece8;gap:4px;padding:10px 16px 14px;display:flex}.portfolio-tabs button{color:#71717b;background:#f2f1ee;border:1px solid #0000;border-radius:999px;height:36px;padding:0 16px;font-size:14px}.portfolio-tabs button:first-child{color:#09090b;background:#fff;border-color:#eeece8}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;display:grid}.work-card{background:#fff;border:1px solid #eeece8;border-radius:8px;overflow:hidden}.work-card header{align-items:center;gap:10px;min-height:78px;padding:12px;display:flex}.project-mark{background:#1e1e1e;border-radius:6px;width:24px;height:24px}.work-card header div{gap:2px;display:grid}.work-card header b{letter-spacing:-.48px;font-size:16px;line-height:24px}.work-card header small{color:#71717b;letter-spacing:1.6px;font-size:12px}.work-card header>span:last-child{color:#71717b;margin-left:auto}.work-mock{color:#6c6151;text-align:center;background:linear-gradient(130deg,#f6f5f2,#fff);place-content:center;gap:8px;height:164px;font-family:Georgia,serif;display:grid}.work-mock span{font-size:11px}.work-mock strong{font-size:16px}.work-card>p{min-height:48px;margin:10px 12px 8px;font-size:16px;line-height:24px}.work-card footer{gap:6px;padding:0 12px 12px;display:flex}.work-card em{border:1px solid #eeece8;border-radius:4px;padding:3px 8px;font-size:14px;font-style:normal;line-height:20px}.more-button{color:#71717b;background:0 0;border:0;margin:0 auto 12px;font-size:14px;display:block}.simple-section{padding:12px 16px}.simple-section>p{color:#71717b;align-items:center;margin:0 0 12px;display:flex}.exploration-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:104px;gap:6px;display:grid}.exploration-grid i{background:#f5f3f0;border:1px solid #eeece8;border-radius:6px}.simple-section>a{color:#71717b;text-align:center;padding-top:12px;font-size:12px;display:block}.blog-section h2,.connect-section h2{padding:12px 16px}.blog-section>a{border-top:1px solid #eeece8;grid-template-columns:56px 1fr 16px;align-items:center;gap:8px;padding:12px 16px;display:grid}.blog-section small{color:#71717b;letter-spacing:1px;font-size:12px}.blog-section b,.blog-section em{font-size:14px;font-style:normal;line-height:20px;display:block}.blog-section em,.blog-section strong{color:#71717b}.connect-section>div{border-top:1px solid #eeece8;grid-template-columns:repeat(3,1fr);display:grid}.connect-section a{border-right:1px solid #eeece8;justify-content:space-between;padding:18px 12px;display:flex}.connect-section b{color:#71717b}.contact-section{color:#fff;background:#0f0d09;border-radius:8px;margin:0;padding:52px 56px}.contact-section h2{max-width:450px;line-height:40px}.contact-section p{color:#bebbb3;max-width:500px;font-size:16px;line-height:24px}.contact-section a{border:1px solid #514d45;border-radius:4px;margin-right:6px;padding:7px 10px;font-size:13px;display:inline-block}.portfolio-footer{text-align:center;padding:48px 16px 0}.portfolio-footer .wordmark{font-size:48px}.portfolio-footer h2{line-height:40px}.portfolio-footer p{color:#71717b;margin:8px 0 0}.portfolio-footer small{color:#71717b;border-top:1px solid #eeece8;justify-content:space-between;margin-top:48px;padding:14px 16px;font-size:11px;display:flex}@media (width<=767px){.portfolio-column{padding:8px}.portfolio-hero{grid-template-columns:132px 1fr;gap:16px;min-height:264px;padding:16px}.portrait-stack{width:132px;height:162px}.portrait-stack img{border-radius:20px;width:120px;height:150px}.portfolio-intro{justify-content:flex-start;padding-top:22px}.portfolio-intro h1{font-size:26px;line-height:30px}.portfolio-intro>span{font-size:14px;line-height:20px}.portfolio-section h2,.contact-section h2,.portfolio-footer h2{font-size:26px;line-height:38px}.about-section p{font-size:14px;line-height:21px}.work-grid{grid-template-columns:1fr}.work-card>p{min-height:0}.connect-section>div{grid-template-columns:1fr}.contact-section{padding:40px 24px}.portfolio-footer small{line-height:2;display:block}.portfolio-footer small span{display:block}}.portfolio-header{z-index:30;width:min(784px,100%);padding:8px 18px;position:fixed;top:0;left:50%;transform:translate(-50%)}.portrait-stack{cursor:pointer;perspective:800px;background:0 0;border:0;padding:0}.portrait-stack img{transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s}.portfolio-intro h1 button{font:inherit;letter-spacing:inherit;white-space:nowrap;cursor:pointer;will-change:width, opacity, transform;background:0 0;border:0;border-bottom:1px solid;padding:0;overflow:hidden}.portfolio-intro small i{animation:1.35s ease-out infinite availability-ping}.portfolio-dock{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border:1px solid #ffffffd9;border-radius:999px;align-items:center;gap:4px;height:56px;padding:6px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px -14px #413b31}.portfolio-dock button,.portfolio-dock a{color:#71717b;background:0 0;border:0;border-radius:999px;height:42px;padding:0 14px;font-size:12px}.portfolio-dock button.active{color:#09090b;background:#fff;box-shadow:0 1px 4px #ddd}.portfolio-dock i{background:#09090b1a;width:1px;height:24px}.portfolio-dock a{color:#fff;background:#18181b;place-items:center;display:grid}@keyframes availability-ping{0%,to{box-shadow:0 0 #00bb7f52}60%{box-shadow:0 0 0 7px #00bb7f00}}@media (prefers-reduced-motion:reduce){.portrait-stack img,.portfolio-intro h1 button,.portfolio-intro small i{transition:none;animation:none}}.portfolio-nav,.portfolio-dock{-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08);background:linear-gradient(#ffffff94,#ffffff94) padding-box padding-box,linear-gradient(135deg,#fff,#ffffff59,#fffc) border-box;border:1px solid #0000}.portfolio-nav{box-shadow:0 0 0 .5px #413b3117,0 4px 12px -4px #413b311a,0 1px 2px #413b310d}.portfolio-dock{gap:6px;width:455px;height:56px;padding:6px;box-shadow:0 0 0 .5px #413b3117,0 10px 28px -8px #413b3129,0 2px 4px #413b310f}.portfolio-dock .mode-segment{background:#09090b0d;border-radius:999px;width:260px;height:44px;display:flex}.portfolio-dock .mode-segment :is(a,button){height:44px;padding:0;font-size:12px}.portfolio-dock .mode-segment :is(a,button):first-child{width:134px}.portfolio-dock .mode-segment :is(a,button):last-child{width:112px}.portfolio-dock .mode-segment .active{background:#fff;border:1px solid #fff9}.portfolio-dock>i{margin:0}.portfolio-dock .ask-ai{background:#09090b0d;border:1px solid #fff9;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.portfolio-dock svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.portfolio-dock .ask-ai svg{fill:#09090b;stroke:none}.portfolio-dock .cv-button{color:#fff;background:#18181b;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:120px;height:44px;padding:0;display:flex;box-shadow:0 2px 6px -2px #413b3129,inset 0 1px 1px #ffffff2e}.portfolio-dock .cv-button svg{stroke:#fff}@media (width<=500px){.portfolio-dock{width:358px;height:52px;padding:6px;bottom:10px}.portfolio-dock .mode-segment{width:247px;height:40px}.portfolio-dock .mode-segment :is(a,button){height:40px;font-size:11px}.portfolio-dock .mode-segment :is(a,button):first-child,.portfolio-dock .mode-segment :is(a,button):last-child{width:123.5px}.portfolio-dock .ask-ai{width:40px;height:40px}.portfolio-dock .cv-button{gap:0;width:40px;height:40px;font-size:0}.portfolio-dock .cv-button svg{width:18px;height:18px}}.portfolio-header{width:min(768px,100% - 16px);padding:8px 10px}.portfolio-hero{margin-top:56px}.about-section h2{height:72px;padding:12px}.about-body{padding:16px}.about-body p{margin:0 0 12px;font-size:16px;line-height:24px}.about-body p:last-child{margin:0}@media (width<=767px){.portfolio-header{width:calc(100% - 16px);padding:8px 6px}.portfolio-hero{flex-direction:column;gap:20px;height:399px;min-height:399px;padding:20px;display:flex}.portrait-stack{flex:0 0 162px;width:132px;height:162px}.portrait-stack img{border-radius:19px;width:120px;height:150px}.portfolio-intro{flex:0 0 177px;justify-content:flex-start;gap:10px;width:100%;height:177px;padding:0;display:flex}.portfolio-intro>p{flex:0 0 18px;height:18px;font-size:12px;line-height:18px}.portfolio-intro h1{flex:0 0 51px;height:51px;font-size:24px;line-height:31px}.portfolio-intro>span{flex:0 0 48px;max-width:342px;height:48px;font-size:15px;line-height:24px}.portfolio-intro small{flex:0 0 24px;height:24px;margin-top:6px}.about-section h2{height:61px;padding:12px;font-size:24px;line-height:37px}.about-body{padding:14px}.about-body p{margin:0 0 12px;font-size:15px;line-height:24px}.work-section>h2{height:61px;padding:12px;font-size:24px;line-height:37px}.portfolio-tabs{height:66px;padding:12px}.work-grid{grid-template-columns:1fr;gap:14px;padding:14px}.work-card{height:382px}.work-card header{height:78px}.work-card>p{font-size:15px;line-height:24px}.portfolio-dock{grid-template-columns:minmax(0,247px) 1px 40px 40px;width:calc(100% - 32px);max-width:358px}.portfolio-dock .mode-segment{width:100%;min-width:0}.portfolio-dock .mode-segment :is(a,button):first-child,.portfolio-dock .mode-segment :is(a,button):last-child{width:50%}}.figma-page{background:var(--bg);border-inline:1px solid var(--edge);color:#09090b;width:784px;margin:auto;padding:8px;font-size:11px;line-height:1.45}.figma-nav{border-bottom:1px solid var(--edge);align-items:center;height:56px;padding:0 10px;display:flex}.figma-nav>*{height:40px}.figma-logo{border:1px solid var(--edge);letter-spacing:-.16em;background:#ffffffb8;border-radius:999px 0 0 999px;flex:1;place-items:center;padding-left:8px;font-size:15px;font-weight:600;display:grid}.theme-button{border:1px solid var(--edge);width:40px;color:var(--muted);background:#ffffffb8;border-left:0;border-radius:0 999px 999px 0}.figma-hero{border-bottom:1px solid var(--edge);gap:48px;min-height:264px;padding:24px 16px;display:flex}.portrait{width:176px;min-width:176px;height:216px;display:flex;position:relative;overflow:hidden}.portrait img{z-index:1;object-fit:cover;border:1px solid #dad8d4;border-radius:18px;width:160px;height:200px;position:relative;box-shadow:10px 8px #e8e7e4}.portrait img:last-child{z-index:0;opacity:.35;position:absolute;top:8px;left:22px}.hero-copy{flex-direction:column;justify-content:center;padding-bottom:4px;display:flex}.hero-copy .role{color:#71717b;letter-spacing:.16em;margin:0 0 12px;font-size:9px}.hero-copy h1{letter-spacing:-.065em;margin:0 0 8px;font-size:28px;line-height:1}.hero-copy h1 u{text-underline-offset:3px;text-decoration-thickness:1px}.hero-copy>p:not(.role){color:#71717b;max-width:360px;margin:0 0 16px;font-size:12px}.hero-copy small{color:#71717b;align-items:center;gap:7px;display:flex}.hatch{border-bottom:1px solid var(--edge);background:repeating-linear-gradient(115deg,#0000 0 7px,#eeece8 7px 8px,#0000 8px 15px);height:32px}.figma-panel{border-bottom:1px solid var(--edge)}.figma-panel h2{letter-spacing:0;margin:0;font-size:32px;line-height:48px}.about{height:344px;padding:12px 16px 16px}.about h2{margin-bottom:9px}.about p{max-width:736px;margin:0 0 12px;font-size:16px;line-height:24px}.works{height:1000px}.works>h2{height:72px;padding:12px 16px}.tabs{border-bottom:1px solid var(--edge);gap:4px;height:68px;padding:10px 16px 14px;display:flex}.tabs button{color:#71717b;background:#f2f1ee;border:1px solid #0000;border-radius:999px;height:36px;padding:0 16px;font-size:13.5px}.tabs button:first-child{border-color:var(--edge);color:#09090b;background:#fff}.figma-cards{grid-template-columns:1fr 1fr;gap:16px;height:812px;padding:16px;display:grid}.figma-card{border:1px solid var(--edge);background:#fff;border-radius:8px;height:382px;min-height:0;overflow:hidden}.figma-card header{align-items:center;gap:10px;height:78px;padding:12px;display:flex}.figma-card header>span:last-child{color:var(--muted);margin-left:auto}.figma-card header b{letter-spacing:-.48px;font-size:16px;line-height:24px;display:block}.figma-card header small{color:var(--muted);letter-spacing:1.61px;font-size:12px;display:block}.figma-cover{color:#665c4e;text-align:center;background:linear-gradient(#f6f5f2,#fff);place-content:center;height:160px;font-family:Georgia,serif;font-size:14px;display:grid;position:relative;overflow:hidden}.figma-cover:before,.figma-cover:after{content:"";background:#111;border-radius:999px;width:18px;height:70px;position:absolute;top:40%}.figma-cover:before{left:-10px}.figma-cover:after{right:-10px}.figma-cover i{background:#302d25;border-radius:999px;width:52px;height:10px;margin:12px auto 0}.figma-card>p{min-height:0;margin:10px 12px 8px;font-size:16px;line-height:24px}.figma-card footer{gap:6px;padding:0 12px 10px;display:flex}.figma-card em{border:1px solid var(--edge);border-radius:4px;padding:3px 8px;font-size:14px;font-style:normal;line-height:20px}.show-more{color:#71717b;background:0 0;border:0;height:32px;margin:0 auto;font-size:14px;display:block}.exploration>header{justify-content:space-between;align-items:baseline;padding:17px 14px;display:flex}.exploration>header small{color:var(--muted)}.figma-masonry{grid-template-rows:100px 150px 140px;grid-template-columns:repeat(3,1fr);gap:5px;padding:0 6px;display:grid}.figma-masonry i{border:1px solid var(--edge);background:#f5f4f1;border-radius:5px}.figma-masonry i:first-child,.figma-masonry i:nth-child(4){grid-row:span 2}.exploration>a,.blog-preview .all{color:#71717b;text-align:center;padding:12px;font-size:10px;display:block}.blog-preview>h2{padding:17px 14px}.blog-preview>a:not(.all){border-top:1px solid var(--edge);grid-template-columns:48px 1fr 12px;gap:10px;padding:10px 14px;display:grid}.blog-preview small{color:#71717b;font-size:9px}.blog-preview b,.blog-preview em{font-size:10px;font-style:normal;display:block}.blog-preview em{color:#71717b;margin-top:2px}.connect>h2{padding:17px 14px}.connect>div{border-top:1px solid var(--edge);grid-template-columns:repeat(3,1fr);display:grid}.connect a{border-right:1px solid var(--edge);justify-content:space-between;padding:15px 10px;display:flex}.connect b{color:#71717b}.contact-card{color:#fff;background:#0e0c08;border-radius:9px;min-height:300px;padding:52px 56px}.contact-card h2{letter-spacing:-.065em;max-width:410px;font-size:27px}.contact-card p{color:#ccc9c1;max-width:480px}.contact-card a{border:1px solid #494640;border-radius:4px;margin:8px 4px 0 0;padding:5px 8px;font-size:10px;display:inline-block}.figma-footer{text-align:center;padding:48px 16px 0}.footer-logo{letter-spacing:-.2em;font-size:44px}.figma-footer h2{letter-spacing:-.065em;margin:3px 0;font-size:25px}.figma-footer p{color:#71717b;margin:0}.figma-footer small{border-top:1px solid var(--edge);color:#71717b;justify-content:space-between;margin-top:47px;padding:13px 0;font-size:9px;display:flex}.figma-footer small span{margin-left:auto}.figma-dock{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff94;border:1px solid #fff9;border-radius:999px;align-items:center;gap:6px;height:56px;padding:6px;transition:transform .22s;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 11px 18px -12px #413b31}.figma-dock.dock-hidden{transform:translate(-50%,90px)}.mode-switch{background:#09090b0d;border-radius:999px;height:44px;display:flex}.mode-switch a{color:#71717b;border-radius:999px;place-items:center;padding:0 15px;font-size:10px;display:grid}.mode-switch a:first-child{color:#09090b;background:#fff;box-shadow:0 1px 3px #ddd}.figma-dock>i{background:#09090b1a;width:1px;height:24px}.figma-dock button,.figma-dock .cv{background:#09090b0d;border:1px solid #fff9;border-radius:999px;place-items:center;height:44px;display:grid}.figma-dock button{width:44px}.figma-dock .cv{color:#fff;background:#18181b;grid-auto-flow:column;gap:7px;padding:0 15px;font-size:10px}@media (width<=650px){.figma-page{width:390px;max-width:100%;padding:8px}.figma-hero{min-height:399px;padding:20px 16px;display:block}.portrait{transform-origin:0 0;width:176px;height:156px;margin-bottom:-36px;transform:scale(.72)}.hero-copy{display:block}.hero-copy h1{font-size:24px}.hero-copy>p:not(.role){max-width:290px;font-size:11px}.about{padding:16px 14px}.about h2,.works>h2,.blog-preview>h2,.connect>h2{font-size:21px}.about p{font-size:10px}.figma-cards{grid-template-columns:1fr;padding:12px}.figma-card{min-height:0}.figma-card>p{min-height:auto}.figma-cover{height:135px}.figma-masonry{grid-template-rows:130px 110px 150px;grid-template-columns:1fr 1fr}.figma-masonry i:nth-child(4){grid-row:span 2}.connect>div{grid-template-columns:1fr}.connect a{border-bottom:1px solid var(--edge)}.contact-card{min-height:250px;padding:45px 28px}.contact-card h2{font-size:23px}.figma-footer{padding-top:42px}.figma-footer small{line-height:2;display:block}.figma-footer small span{display:block}.figma-dock{height:52px;bottom:10px}.mode-switch{height:40px}.mode-switch a{padding:0 10px}.figma-dock button{width:40px;height:40px}.figma-dock .cv{width:40px;height:40px;padding:0}.figma-dock .cv span{display:none}}.portfolio-column{background-image:linear-gradient(var(--edge), var(--edge)), linear-gradient(var(--edge), var(--edge));background-position:8px 0,right 8px top;background-repeat:no-repeat;background-size:1px 100%;border:0;width:min(784px,100%);padding:8px 8px 112px}.portfolio-nav .wordmark{background:url(/header-logo.svg) 50%/contain no-repeat;flex:none;width:49.56px;font-size:0}.portfolio-nav:after{content:"";flex:1}.icon-button{order:3;font-size:0}.portfolio-hero{height:264px;min-height:264px}.portrait-stack picture,.portrait-stack img{object-fit:contain;border-radius:0;width:100%;height:100%;display:block}.work-section{height:auto}.project-mark{background:url(/project-icon.png) 50%/contain no-repeat;flex:0 0 24px}.work-section>h2{height:72px}.portfolio-tabs{height:68px}.work-grid{height:auto}.work-mock{background:0 0;height:164px;display:block}.work-mock img{object-fit:cover;width:100%;height:100%;display:block}.more-button{width:100%;height:36px;margin:0}.simple-section{height:auto;padding:0}.simple-section>h2{height:66px;padding:17px 14px;font-size:32px;line-height:32px;display:inline-block}.simple-section>p{float:right;height:66px;margin:0;padding:22px 14px;font-size:12px}.exploration-grid{clear:both;height:574px;padding:0;display:block;position:relative}.exploration-grid i{border-radius:6px;width:calc(33.3333% - 10.6667px);position:absolute}.exploration-grid i:first-child{height:360px;top:8px;left:8px}.exploration-grid i:nth-child(2){height:200px;top:8px;left:calc(33.3333% + 5.33333px)}.exploration-grid i:nth-child(3){height:270px;top:8px;right:8px}.exploration-grid i:nth-child(4){height:190px;top:376px;left:8px}.exploration-grid i:nth-child(5){height:350px;top:216px;left:calc(33.3333% + 5.33333px)}.exploration-grid i:nth-child(6){height:280px;top:286px;right:8px}.simple-section>a{height:36px;padding:8px}.blog-section{height:auto}.blog-section h2{height:54px}.blog-section>a:not(.all-posts){height:78px}.blog-section .all-posts{text-align:center;height:37px;padding:10px;display:block}.connect-section{height:128px}.connect-section h2{height:54px}.connect-section>div{height:74px}.connect-section a{align-items:center;gap:12px}.connect-section a img{border-radius:10px;width:32px;height:32px}.connect-section a span{flex:1}.contact-section{height:300px}.portfolio-footer{padding:48px 0 0}.portfolio-footer .footer-logo{object-fit:contain;width:149px;height:48px;margin:0 auto 24px;display:block}@media (width<=767px){.portfolio-column{width:390px;max-width:100%;padding:8px 8px 100px}.portfolio-hero{height:399px;min-height:399px}.portrait-stack picture,.portrait-stack img{width:132px;height:162px}.work-section{height:auto}.portfolio-tabs{border-block:0;align-items:center;height:66px}.portfolio-tabs:before{content:"";background:#09090b;border-radius:999px;width:181px;height:42px;position:absolute}.portfolio-tabs button{z-index:1;color:#a1a1aa;background:0 0;border:0;height:34px;padding:0;font-size:12px;position:relative}.portfolio-tabs button:first-of-type{color:#09090b;background:#fff;width:80px;margin-left:4px}.portfolio-tabs button:last-of-type{width:93px}.work-grid{height:auto}.more-button{height:36px}.simple-section{height:auto}.simple-section>h2{height:56px;padding:12px;font-size:24px;line-height:32px}.simple-section>p{height:56px;padding:18px 12px;font-size:12px}.exploration-grid{height:564px;padding:0;display:block;position:relative}.exploration-grid i{border-radius:6px;width:calc(50% - 9px);position:absolute}.exploration-grid i:first-child{height:200px;top:6px;left:6px;right:auto}.exploration-grid i:nth-child(2){height:140px;top:6px;left:auto;right:6px}.exploration-grid i:nth-child(3){height:140px;top:212px;left:6px;right:auto}.exploration-grid i:nth-child(4){height:200px;top:152px;left:auto;right:6px}.exploration-grid i:nth-child(5){height:200px;top:358px;left:6px;right:auto}.exploration-grid i:nth-child(6){height:140px;top:358px;left:auto;right:6px}.simple-section>a{height:36px;padding:8px}.blog-section{height:auto}.blog-section h2{height:54px;padding:12px;font-size:24px;line-height:30px}.blog-section>a:not(.all-posts){grid-template-columns:1fr 16px;gap:8px;height:129px;padding:14px}.blog-section>a:not(.all-posts)>small,.blog-section>a:not(.all-posts)>span{grid-column:1}.blog-section>a:not(.all-posts)>strong{grid-area:1/2/span 2;align-self:center}.blog-section b{font-size:15px;line-height:22px}.blog-section em{font-size:13px;line-height:20px}.blog-section .all-posts{height:36px;padding:8px;font-size:12px}.connect-section{height:196px}.connect-section h2{height:54px;padding:12px;font-size:24px;line-height:30px}.connect-section>div{height:142px}.connect-section a{border-right:0;height:47.333px;padding:7.5px 16px}.connect-section a span{font-size:15px}.contact-section{border-radius:0;flex-wrap:wrap;align-content:center;height:250px;padding:30px 24px;display:flex}.contact-section h2{width:100%;font-size:24px;line-height:32px}.contact-section p{width:100%;margin:18px 0;font-size:15px;line-height:24px}.contact-section a{border-radius:8px;height:28px;padding:4px 8px}.portfolio-footer{padding:48px 0 0}.portfolio-footer .footer-logo{width:149px;height:48px;margin-bottom:20px}.portfolio-footer h2{font-size:24px;line-height:32px}.portfolio-footer small{height:auto;margin-top:40px;padding:8px 16px}}.figma-reference-page{overflow:hidden}.figma-reference-page picture{width:100%;max-width:none;display:block}.figma-reference-page picture>img{width:auto;max-width:none;height:auto;display:block;position:relative;left:50%;transform:translate(-50%)}.mode-switch a:first-child{color:#71717b;box-shadow:none;background:0 0}.mode-switch a.active{color:#09090b;background:#fff;box-shadow:0 1px 3px #ddd}.figma-dock{-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08);background:linear-gradient(#ffffff94,#ffffff94) padding-box padding-box,linear-gradient(135deg,#fff,#ffffff59,#fffc) border-box;border:1px solid #0000;border-radius:12px;box-shadow:0 0 0 .5px #413b3117,0 10px 28px -8px #413b3129,0 2px 4px #413b310f}.portfolio-dock .mode-segment>a{color:#71717b;background:0 0;place-items:center;height:44px;padding:0;font-size:12px;display:grid}.portfolio-dock .mode-segment>a.active{color:#09090b;background:#fff}.portfolio-dock .mode-segment>:first-child{width:134px}.portfolio-dock .mode-segment>:last-child{width:112px}@media (width<=767px){.portfolio-dock .mode-segment{flex:0 0 247px;width:247px}.portfolio-dock .mode-segment>a{height:40px;font-size:11px}.portfolio-dock .mode-segment>:first-child,.portfolio-dock .mode-segment>:last-child{width:50%}.figma-dock.personal-dock .mode-switch{width:293px}.figma-dock.personal-dock .mode-switch a{width:50%}}.portfolio-nav .wordmark{flex:0 0 49.56px;width:49.56px;height:16px;display:block}.portrait-stack{perspective:900px}.portrait-card{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;transition:transform .7s cubic-bezier(.4,0,.6,1);display:block;position:relative}.portfolio-intro{transition:opacity .26s,transform .26s}.is-personal .portfolio-intro{opacity:1;transition-delay:0s;transform:none}.portrait-face{backface-visibility:hidden;width:100%;height:100%;display:block;position:absolute;inset:0}.portrait-face.portrait-back,.is-personal .portrait-card{transform:rotateY(180deg)}.is-personal .portrait-stack img{filter:none;transform:none}.figma-reference-page{animation:.36s cubic-bezier(.22,1,.36,1) both mode-page-in}@keyframes mode-page-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.portrait-card{transition-duration:1ms}.figma-reference-page{animation:none}}.figma-dock.personal-dock{width:329px;height:56px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:url(/dock-personal-desktop.png) 50%/100% 100% no-repeat;border:0}.figma-dock.personal-dock>*{opacity:0}.figma-reference-page{position:relative}.figma-reference-page picture>img{width:1440px}.figma-reference-page.mask-baked-dock:after{z-index:2;content:"";background:#fcfaf6;width:390px;height:82px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.portrait-card{transform-style:flat;transition:none;transform:none}.portrait-stack{--portrait-back-x:45.426px;--portrait-back-y:5px;--portrait-back-angle:5.16deg}.portrait-face{opacity:1;transform-origin:50% 58%;backface-visibility:visible;will-change:transform;transition:scale .14s ease-out}.portrait-face.portrait-professional{z-index:2;transform:translate(0,0)rotate(0)}.portrait-face.portrait-personal{z-index:1;transform:translate3d(var(--portrait-back-x), var(--portrait-back-y), 0) rotate(var(--portrait-back-angle))}.is-personal .portrait-card{transform:none}.is-personal .portrait-face.portrait-professional{z-index:1;transform:translate3d(var(--portrait-back-x), var(--portrait-back-y), 0) rotate(var(--portrait-back-angle))}.is-personal .portrait-face.portrait-personal{z-index:2;transform:translate(0,0)rotate(0)}.portrait-stack:active .portrait-face{scale:.96}@media (width<=700px){.figma-reference-page picture>img{width:390px}.figma-dock.personal-dock{background-image:url(/dock-personal-mobile.png);width:358px;height:52px}.figma-reference-page.mask-baked-dock:after{height:76px;bottom:16px}}.personal-about h2,.personal-currently h2,.personal-writing h2{height:72px;padding:12px}.personal-currently small{color:#71717b;font-size:11px}.personal-currently b{font-size:14px}.personal-currently em{color:#71717b;font-size:11px;font-style:normal}.personal-writing>div{grid-template-columns:1fr 1fr;gap:16px;height:690px;padding:16px;display:grid}.personal-writing article{background:#fff;border:1px solid #eeece8;border-radius:8px;height:321px;padding:10px;position:relative;overflow:hidden}.personal-writing article .card-link,.currently-card .card-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.writing-cover{background:linear-gradient(145deg,#71536b,#315b78 55%,#91cbd0);height:164px;margin-bottom:10px}.personal-writing article b,.personal-writing article small{display:block}.personal-writing article b{font-size:15px;line-height:22px}.personal-writing article small{color:#71717b;font-size:11px}.personal-writing article p{color:inherit;margin:6px 0 0;font-size:12px;line-height:18px}.personal-writing>a,.personal-gallery>a{color:#71717b;text-align:center;height:48px;padding:15px;font-size:12px;display:block}.personal-gallery{height:auto}.personal-gallery>.gallery-grid{grid-template-rows:216px 216px;grid-template-columns:repeat(3,1fr);gap:8px;height:448px;padding:0 8px;display:grid}.personal-gallery i{background:#f5f3f0 50%/cover no-repeat;border:1px solid #eeece8;border-radius:8px}.personal-gallery .gallery-pro{background-image:url(/portrait-desktop.png)}.personal-gallery .gallery-personal{background-image:url(/portrait-personal-desktop.png)}.personal-footer{height:auto}@media (width<=767px){.personal-about h2,.personal-currently h2,.personal-writing h2{height:61px;padding:12px;font-size:24px;line-height:37px}.personal-about>div{padding:14px}.personal-about p{font-size:15px;line-height:24px}.personal-writing{height:auto}.personal-writing>div{grid-template-columns:1fr;gap:14px;height:auto;padding:14px}.personal-writing article{height:321px}.personal-gallery{height:auto}.personal-gallery>.gallery-grid{height:568px;padding:0;display:block;position:relative}.personal-gallery>a{height:36px;padding:8px}.personal-contact{height:226px;padding:24px}.personal-footer{height:auto}}.personal-sliced-page{background:#fcfaf6;min-height:3346px;overflow:hidden}.personal-sliced-column{width:784px;margin:auto;padding:8px 8px 112px}.personal-header-slot{width:768px;height:56px}.personal-slice,.personal-slice img{width:768px;height:auto;display:block}.personal-fixed-header{z-index:30;position:fixed;top:0;left:50%;transform:translate(-50%)}.personal-hatch{background:repeating-linear-gradient(115deg,#0000 0 7px,#eeece8 7px 8px,#0000 8px 15px);border-block:1px solid #eeece8;width:768px;height:32px}@media (width<=700px){.personal-sliced-page{min-height:4335px}.personal-sliced-column{width:390px;max-width:100%;padding:8px 8px 100px}.personal-header-slot,.personal-slice,.personal-slice img,.personal-hatch{width:374px}}.portfolio-section{border:0;box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8,inset 0 1px #eeece8,inset 0 -1px #eeece8}.portfolio-hero{align-items:start}.portfolio-intro{justify-content:center;align-self:start;width:464px;height:216px}.portfolio-intro>p{height:18px;font-size:12px;line-height:18px}.portfolio-intro h1{align-items:center;gap:.25em;height:51px;font-size:32px;line-height:32px;display:flex}.portfolio-intro>span{height:48px;font-size:16px;line-height:24px}.portfolio-intro small{height:24px;margin-top:6px;font-size:12px;line-height:24px}.portrait-stack,.portrait-card,.portrait-face{overflow:visible}.portrait-stack picture{width:176px;max-width:none;height:216px}.portrait-stack picture img{object-fit:fill;border-radius:25.6px;width:160px;height:200px;position:absolute;top:8px;left:8px}.portrait-ring{pointer-events:none;border:1px solid #e6e4e0;border-radius:28.6px;width:166px;height:206px;position:absolute;top:5px;left:5px}.about-section{padding:0}.about-section>h2{border-bottom:1px solid #eeece8;height:72px;padding:12px}.about-section .about-body{padding:16px}.about-section .about-body p{margin:0 0 12px;font-size:16px;line-height:24px}.work-section>h2{border-bottom:1px solid #eeece8;padding:12px}.portfolio-tabs{border:0;align-items:center;padding:12px;position:relative}.portfolio-tabs:before{content:"";background:#09090b0d;border-radius:999px;width:194px;height:44px;position:absolute}.portfolio-tabs button{z-index:1;background:0 0;border:0;height:36px;padding:0;font-size:14px;position:relative}.portfolio-tabs button:first-of-type{color:#09090b;background:#fff;border:0;width:86px;margin-left:4px}.portfolio-tabs button:last-of-type{width:100px}.work-grid{width:100%}.work-card{border-radius:14px;flex-direction:column;height:382px;display:flex}.work-card header{gap:16px;height:78px;min-height:78px;padding:0 16px}.work-card header div{flex:1;gap:4px}.work-card header b{font-size:16px;line-height:24px}.work-card header small{font-size:12px;line-height:18px}.work-card .work-mock{flex:0 0 164px;width:auto;height:164px;margin:16px 16px 0}.work-card>p{height:48px;min-height:48px;margin:16px 16px 0;font-size:16px;line-height:24px;overflow:hidden}.work-card footer{height:28px;margin:16px;padding:0}.work-card em{border-radius:8px;place-items:center;height:28px;padding:0 8px;font-size:14px;line-height:20px;display:grid}.simple-section>h2{height:66px;padding:12px;line-height:42px}.simple-section>p{height:66px;padding:21px 8px}.exploration-grid i{cursor:pointer;border-radius:10px}.blog-section h2,.connect-section h2{border-bottom:1px solid #eeece8;height:64px;padding:12px;line-height:40px}.blog-section>a:not(.all-posts){grid-template-columns:59px 1fr 15px;gap:16px;height:75px;padding:16px}.blog-section small{font-size:12px;line-height:18px}.blog-section b{font-size:15px;line-height:20px}.blog-section em{font-size:13px;line-height:20px}.blog-section .all-posts{height:36px;padding:8px;font-size:14px}.connect-section>div{border-top:0;height:64px}.connect-section a{gap:16px;height:64px;padding:16px 8px 16px 16px}.connect-section a span{font-size:16px}.contact-section{border:0;border-radius:0;width:766px;height:300px;margin:0;padding:0;display:block;position:relative;overflow:hidden;box-shadow:inset 1px 0 #eeece8,2px 0 0 -1px #eeece8}.contact-section:before{content:"";background:linear-gradient(#ffffff1a,#ffffff1a) 0 36px/100% 1px no-repeat,linear-gradient(#ffffff1a,#ffffff1a) 0 263px/100% 1px no-repeat,linear-gradient(#ffffff1a,#ffffff1a) 36px 0/1px 100% no-repeat,linear-gradient(#ffffff1a,#ffffff1a) 729px 0/1px 100% no-repeat;position:absolute;inset:0}.contact-section:after{content:"";pointer-events:none;background:linear-gradient(#fff3,#fff3) 30px 36px/12px 1px no-repeat,linear-gradient(#fff3,#fff3) 36px 30px/1px 12px no-repeat,linear-gradient(#fff3,#fff3) 723px 36px/12px 1px no-repeat,linear-gradient(#fff3,#fff3) 729px 30px/1px 12px no-repeat,linear-gradient(#fff3,#fff3) 30px 263px/12px 1px no-repeat,linear-gradient(#fff3,#fff3) 36px 257px/1px 12px no-repeat,linear-gradient(#fff3,#fff3) 723px 263px/12px 1px no-repeat,linear-gradient(#fff3,#fff3) 729px 257px/1px 12px no-repeat;position:absolute;inset:0}.contact-section h2{color:#fafafa;width:666px;max-width:none;height:45px;font-size:36px;line-height:45px;position:absolute;top:64px;left:57px}.contact-section p{color:#d4d4d8;width:666px;max-width:none;height:48px;margin:0;font-size:16px;line-height:24px;position:absolute;top:127px;left:57px}.contact-section a{color:#fafafa;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;width:76px;height:28px;margin:0;padding:0 12px 0 10px;font-size:13px;line-height:18px;position:absolute;top:193px;left:57px}.contact-section a+a{width:107px;margin:0;left:149px}.personal-contact a{top:183px}.personal-about{padding:0}.personal-about>h2{border-bottom:1px solid #eeece8;height:72px;padding:12px}.personal-about>div{padding:16px}.personal-about p{margin:0 0 12px;font-size:16px;line-height:24px}.personal-currently>h2{border-bottom:1px solid #eeece8;height:58px;padding:12px;line-height:34px}.personal-currently small{font-size:11px;line-height:16px}.personal-currently b{font-size:16px;line-height:22px}.personal-currently em{font-size:13px;line-height:18px}.personal-writing{height:auto}.personal-writing>h2{border-bottom:1px solid #eeece8;height:64px;padding:12px;line-height:40px}.personal-writing>div{grid-template-columns:repeat(2,360px);grid-auto-rows:329px;gap:16px;height:auto;padding:16px}.personal-writing article{border-radius:14px;height:329px;padding:16px}.writing-cover{background:#f5f3f0 url(/writing-cover-desktop.png) 50%/cover no-repeat;height:189px;margin:0}.personal-writing article b{margin:8px 8px 0;font-size:16px;line-height:24px}.personal-writing article small{margin:0 8px;font-size:14px;line-height:20px}.personal-writing article p{height:40px;margin:0 8px;font-size:14px;line-height:20px;overflow:hidden}.personal-writing>a{height:36px;padding:8px;font-size:14px}.personal-gallery>.gallery-grid{height:444px;padding:0;display:block;position:relative}.personal-gallery i{cursor:pointer;border-radius:10px;width:245.333px;position:absolute}.personal-gallery i:first-child{height:250px;top:8px;left:8px}.personal-gallery i:nth-child(2){height:170px;top:266px;left:8px}.personal-gallery i:nth-child(3){height:250px;top:186px;left:261.333px}.personal-gallery i:nth-child(4){height:170px;top:8px;left:261.333px}.personal-gallery i:nth-child(5){height:210px;top:8px;right:8px}.personal-gallery i:nth-child(6){height:210px;top:226px;right:8px}.personal-gallery>a{height:36px;padding:8px;font-size:14px}.personal-contact{height:300px}.portfolio-nav .wordmark{align-items:center;display:flex}.portfolio-nav .wordmark img{width:50px;height:16px;display:block}.open-link-icon{width:14px;height:14px;margin-left:auto}.arrow-icon,.simple-section>a img,.blog-section .all-posts img,.personal-writing>a img,.personal-gallery>a img,.source-link img{flex:0 0 16px;width:16px;height:16px}.more-button,.simple-section>a,.blog-section .all-posts,.personal-writing>a,.personal-gallery>a,.source-link{justify-content:center;align-items:center;gap:6px;display:flex}.more-button img{width:16px;height:16px}.blog-section>a:not(.all-posts)>.arrow-icon{align-self:center}.connect-section a>.arrow-icon{border-radius:0;width:16px;height:16px}.contact-section a{align-items:center;gap:6px;display:inline-flex}.contact-section a img{width:14px;height:14px}.source-link{justify-content:flex-end}.icon-button{-webkit-backdrop-filter:blur(8px)saturate(1.08);backdrop-filter:blur(8px)saturate(1.08);background:linear-gradient(#ffffff6b,#ffffff6b) padding-box padding-box,linear-gradient(#fffffff2,#ffffff8c) border-box;border:1px solid #0000;border-radius:999px;place-items:center;width:32px;height:32px;padding:0;display:grid;box-shadow:0 0 0 .5px #413b3117,0 2px 5px -2px #413b3114}.icon-button img{width:16px;height:16px;display:block}.portfolio-dock,.portfolio-dock.personal-mode-dock{-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08);background:linear-gradient(#ffffff94,#ffffff94) padding-box padding-box,linear-gradient(#fff,#ffffff59 50%,#fffc) border-box;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;width:439px;height:56px;padding:6px;display:flex;position:fixed;overflow:visible;box-shadow:0 0 0 .5px #413b3117,0 10px 28px -8px #413b3129,0 2px 4px #413b310f}.portfolio-dock:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(#ffffffbf,#0000);border-radius:999px;width:calc(100% - 12px);height:28px;position:absolute;top:6px;left:6px}.portfolio-dock>*{z-index:1;opacity:1;position:relative}.portfolio-dock .mode-segment{background:#09090b0d;border-radius:999px;flex:0 0 192px;width:192px;height:44px;display:flex}.portfolio-dock .mode-segment :is(a,button){color:#71717b;letter-spacing:-.14px;background:0 0;border:0;height:44px;padding:0;font-size:13.5px;font-weight:500;line-height:44px}.portfolio-dock .mode-segment :is(a,button):first-child,.portfolio-dock .mode-segment :is(a,button):last-child{flex:0 0 96px;width:96px}.portfolio-dock .mode-segment :is(a,button).active{color:#09090b;background:#fffffff2;border:1px solid #fff;box-shadow:0 2px 5px -1px #413b3124,0 1px 1px #413b3114}.portfolio-dock>i{background:#09090b1a;flex:0 0 1px;width:1px;height:24px;margin:0}.portfolio-dock .ask-ai{color:#18181b;letter-spacing:-.14px;background:#09090b0d;border:1px solid #fff9;border-radius:999px;flex:0 0 96px;justify-content:center;align-items:center;gap:8px;width:96px;height:44px;padding:0;font-size:14px;font-weight:500;line-height:20px;display:flex}.portfolio-dock .ask-ai picture,.portfolio-dock .ask-ai img{width:18px;height:18px;display:block}.portfolio-dock .cv-button{color:#fafafa;letter-spacing:-.14px;background:#18181b;border:1px solid #ffffff24;border-radius:999px;flex:0 0 120px;justify-content:center;align-items:center;gap:8px;width:120px;height:44px;padding:0;font-size:13.5px;font-weight:500;line-height:44px;display:flex;box-shadow:0 2px 6px -2px #413b3129,inset 0 1px 1px #ffffff2e}.portfolio-dock .cv-button img{width:18px;height:18px;display:block}.portfolio-dock.personal-mode-dock{width:313px}@media (width<=767px){.portfolio-dock,.portfolio-dock.personal-mode-dock{gap:6px;width:358px;height:52px;padding:6px}.portfolio-dock:before{height:26px}.portfolio-dock .mode-segment{flex-basis:195px;width:195px;height:40px}.portfolio-dock .mode-segment :is(a,button){height:40px;font-size:12.5px;line-height:40px}.portfolio-dock .mode-segment :is(a,button):first-child{flex-basis:98px;width:98px}.portfolio-dock .mode-segment :is(a,button):last-child{flex-basis:97px;width:97px}.portfolio-dock>i{height:22px}.portfolio-dock .ask-ai{flex-basis:84px;gap:5px;width:84px;height:40px}.portfolio-dock .ask-ai picture,.portfolio-dock .ask-ai img{width:14px;height:14px}.portfolio-dock .cv-button{flex-basis:48px;width:48px;height:40px;padding:0}.portfolio-dock .cv-verb,.portfolio-dock .cv-button img{display:none}.portfolio-dock.personal-mode-dock .mode-segment{flex-basis:249px;width:249px}.portfolio-dock.personal-mode-dock .mode-segment :is(a,button):first-child{flex-basis:125px;width:125px}.portfolio-dock.personal-mode-dock .mode-segment :is(a,button):last-child{flex-basis:124px;width:124px}.portrait-stack{--portrait-back-x:34.07px;--portrait-back-y:3.75px}.portfolio-intro{width:342px}.portfolio-intro h1{font-size:24px;line-height:31px}.portfolio-intro>span{font-size:15px;line-height:24px}.portrait-stack picture{width:132px;height:162px}.portrait-stack picture img{border-radius:19.2px;width:120px;height:150px;top:6px;left:6px}.portrait-ring{border-width:.75px;border-radius:21.45px;width:124.5px;height:154.5px;top:3.75px;left:3.75px}.about-section>h2{height:61px;padding:12px;font-size:24px;line-height:37px}.about-section .about-body{padding:14px}.about-section .about-body p{margin-bottom:12px;font-size:15px;line-height:24px}.portfolio-tabs:before{width:181px;height:42px}.portfolio-tabs button{height:34px;font-size:13px}.portfolio-tabs button:first-of-type{width:80px}.portfolio-tabs button:last-of-type{width:93px}.work-card{border-radius:14px;width:346px}.work-card header b,.work-card>p{font-size:15px}.work-card em{font-size:13px}.work-card .work-mock{width:auto}.blog-section h2,.connect-section h2{height:54px;font-size:24px;line-height:30px}.blog-section>a:not(.all-posts){grid-template-columns:1fr 15px;gap:12px;height:129px;padding:14px}.blog-section>a:not(.all-posts)>small,.blog-section>a:not(.all-posts)>span{grid-column:1}.blog-section>a:not(.all-posts)>strong{grid-area:1/2/span 2}.blog-section small{font-size:11px;line-height:16px}.blog-section b{font-size:15px;line-height:22px}.blog-section em{font-size:13px;line-height:20px}.connect-section a{height:47.33px;padding:7.5px 16px}.connect-section>div{height:142px}.connect-section a span{font-size:15px}.contact-section{width:374px;height:250px;margin:0;padding:0;display:block;box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8}.contact-section:before,.contact-section:after{display:none}.contact-section h2{width:326px;height:60px;font-size:24px;line-height:30px;top:28px;left:24px}.contact-section p{width:326px;height:72px;margin:0;font-size:15px;line-height:24px;top:106px;left:24px}.contact-section a{margin:0;top:196px;left:24px}.contact-section a+a{margin:0;left:116px}.personal-about>h2{height:61px;font-size:24px;line-height:37px}.personal-about>div{padding:14px}.personal-about p{font-size:15px;line-height:24px}.personal-currently>h2{height:49px;font-size:24px;line-height:25px}.personal-currently b{font-size:15px;line-height:20px}.personal-writing{height:auto}.personal-writing>h2{height:54px;font-size:24px;line-height:30px}.personal-writing>div{grid-template-columns:350px;grid-auto-rows:324px;gap:16px;height:auto;padding:14px 12px}.personal-writing article{width:350px;height:324px;padding:16px}.writing-cover{background-image:url(/writing-cover-mobile.png);height:184px}.personal-writing article b{font-size:15px}.personal-writing article small,.personal-writing article p{font-size:13px}.personal-writing>a{height:36px;font-size:13px}.personal-gallery>.gallery-grid{height:564px;padding:0;display:block;position:relative}.personal-gallery i{border-radius:10px;width:calc(50% - 9px);position:absolute}.personal-gallery i:first-child{height:200px;top:6px;left:6px}.personal-gallery i:nth-child(2){height:140px;top:212px;left:6px}.personal-gallery i:nth-child(3){height:200px;top:152px;left:auto;right:6px}.personal-gallery i:nth-child(4){height:200px;top:358px;left:6px}.personal-gallery i:nth-child(5){height:140px;top:6px;left:auto;right:6px}.personal-gallery i:nth-child(6){height:140px;top:358px;left:auto;right:6px}.personal-gallery>a{height:36px;font-size:13px}.personal-contact{height:226px}.personal-contact p{height:48px}.personal-contact a{top:166px}}.theme-curtain{z-index:100;pointer-events:none;visibility:hidden;will-change:transform;background:#11110f;position:fixed;inset:-2px 0;transform:translateY(-100%)}html[data-theme-transition=ipad]::view-transition-old(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.2,0,0,1)}html[data-theme-transition=ipad]::view-transition-new(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.2,0,0,1)}.icon-button span{width:16px;height:16px;display:block;position:relative}.icon-button img{transition:opacity .18s,transform .24s cubic-bezier(.2,0,0,1);position:absolute;inset:0}.icon-button .theme-icon-moon,html[data-theme=dark] .icon-button .theme-icon-sun{opacity:0;transform:rotate(-20deg)scale(.8)}html[data-theme=dark] .icon-button .theme-icon-moon{opacity:1;transform:none}.icon-button:active span{transform:scale(.86)rotate(12deg)}.icon-button:disabled{cursor:default}html[data-theme=dark] .portfolio{color:#f5f5f3;background:#11110f}html[data-theme=dark] .portfolio-column{color:#f5f5f3}html[data-theme=dark] .portfolio-section,html[data-theme=dark] .portfolio-footer{background:#11110f;box-shadow:inset 1px 0 #3f3f3a,inset -1px 0 #3f3f3a,inset 0 1px #3f3f3a,inset 0 -1px #3f3f3a}html[data-theme=dark] .portfolio-divider{background:repeating-linear-gradient(45deg,#0000 0 3.243px,#3f3f3ab8 3.243px 4.243px);box-shadow:inset 1px 0 #3f3f3a,inset -1px 0 #3f3f3a}html[data-theme=dark] .portfolio-nav,html[data-theme=dark] .portfolio-dock{background:linear-gradient(#181816c7,#181816c7) padding-box padding-box,linear-gradient(135deg,#ffffff47,#ffffff0f,#ffffff2e) border-box;border-color:#0000;box-shadow:0 0 0 .5px #ffffff1a,0 8px 22px -10px #000000b8}html[data-theme=dark] .portfolio-nav .wordmark img,html[data-theme=dark] .footer-logo{filter:invert()}html[data-theme=dark] .icon-button{color:#fafafa;background:#ffffff14}html[data-theme=dark] .portfolio-intro p,html[data-theme=dark] .portfolio-intro>span,html[data-theme=dark] .portfolio-intro small,html[data-theme=dark] .work-card small,html[data-theme=dark] .work-card>p,html[data-theme=dark] .personal-writing article>p,html[data-theme=dark] .simple-section>p,html[data-theme=dark] .simple-section>a,html[data-theme=dark] .blog-section small,html[data-theme=dark] .blog-section em,html[data-theme=dark] .blog-section strong,html[data-theme=dark] .portfolio-footer p,html[data-theme=dark] .portfolio-footer small,html[data-theme=dark] .personal-gallery small,html[data-theme=dark] .personal-gallery>a,html[data-theme=dark] .personal-writing small,html[data-theme=dark] .source-link,html[data-theme=dark] .personal-currently small,html[data-theme=dark] .personal-currently em{color:#b8b8b2}html[data-theme=dark] .about-section,html[data-theme=dark] .work-section,html[data-theme=dark] .simple-section,html[data-theme=dark] .blog-section,html[data-theme=dark] .connect-section,html[data-theme=dark] .personal-about,html[data-theme=dark] .personal-currently,html[data-theme=dark] .personal-writing,html[data-theme=dark] .personal-gallery{color:#f5f5f3}html[data-theme=dark] .work-card,html[data-theme=dark] .personal-writing article{color:#f5f5f3;background:#181816;border-color:#3f3f3a}html[data-theme=dark] .work-card em{color:#f5f5f3;border-color:#52524c}html[data-theme=dark] .work-mock,html[data-theme=dark] .exploration-grid i,html[data-theme=dark] .currently-swatch{background-color:#22221f;border-color:#3f3f3a}html[data-theme=dark] .portfolio-tabs,html[data-theme=dark] .about-section>h2,html[data-theme=dark] .work-section>h2,html[data-theme=dark] .blog-section>h2,html[data-theme=dark] .connect-section>h2,html[data-theme=dark] .personal-about>h2,html[data-theme=dark] .personal-currently>h2,html[data-theme=dark] .personal-writing>h2,html[data-theme=dark] .portfolio-footer small{border-color:#3f3f3a}html[data-theme=dark] .portfolio-tabs:before,html[data-theme=dark] .portfolio-dock .mode-segment,html[data-theme=dark] .portfolio-dock .ask-ai{background:#ffffff14}html[data-theme=dark] .portfolio-tabs button,html[data-theme=dark] .portfolio-dock button{color:#b8b8b2}html[data-theme=dark] .portfolio-tabs button:first-of-type,html[data-theme=dark] .portfolio-dock .mode-segment .active{color:#11110f;background:#f5f5f3;border-color:#ffffff2e;box-shadow:0 2px 6px #00000047}html[data-theme=dark] .portfolio-dock>i{background:#ffffff2e}html[data-theme=dark] .portfolio-dock .cv-button{color:#11110f;background:#f5f5f3;border-color:#ffffff2e}html[data-theme=dark] .portfolio-dock .cv-button img{filter:invert()}html[data-theme=dark] .blog-section>a,html[data-theme=dark] .connect-section a,html[data-theme=dark] .personal-currently article{border-color:#3f3f3a}html[data-theme=dark] .contact-section{box-shadow:inset 1px 0 #3f3f3a,2px 0 0 -1px #3f3f3a}html[data-theme=dark] :focus-visible{outline-color:#f5f5f3}html[data-theme=dark] .back-link{color:#b8b8b2}html[data-theme=dark] .index-header,html[data-theme=dark] .index-body,html[data-theme=dark] .blog-index-body,html[data-theme=dark] .exploration-masonry{border-color:#3f3f3a}html[data-theme=dark] .index-title-row span,html[data-theme=dark] .index-header>p,html[data-theme=dark] .work-category-description,html[data-theme=dark] .section-description>p,html[data-theme=dark] .index-card-title-row span,html[data-theme=dark] .index-card-meta>p,html[data-theme=dark] .blog-post-row>span:first-child,html[data-theme=dark] .blog-post-row p,html[data-theme=dark] .blog-year-header{color:#b8b8b2}html[data-theme=dark] .blog-post-row h3{color:#f5f5f3}html[data-theme=dark] .blog-year-header{background:#ffffff0d;border-color:#3f3f3a}html[data-theme=dark] .blog-post-row:not(:last-child){border-color:#3f3f3a}html[data-theme=dark] .filter-segmented,html[data-theme=dark] .view-toggle{background:#ffffff14}html[data-theme=dark] .filter-segmented button,html[data-theme=dark] .view-toggle button{color:#b8b8b2}html[data-theme=dark] .filter-segmented button.active,html[data-theme=dark] .view-toggle button.active{color:#11110f}html[data-theme=dark] .filter-segmented:after,html[data-theme=dark] .view-toggle:after{background:#f5f5f3;border-color:#ffffff2e}html[data-theme=dark] .index-card{background:#181816;border-color:#3f3f3a}html[data-theme=dark] .index-card-cover{background:#22221f}html[data-theme=dark] .index-card-title-row h3{color:#f5f5f3}html[data-theme=dark] .index-card-tags em{color:#b8b8b2;background:#22221f;border-color:#3f3f3a}html[data-theme=dark] .exploration-shot{background:#22221f;border-color:#ffffff24}html[data-theme=dark] .back-link img,html[data-theme=dark] .index-card-title-row img{filter:invert()}@media (prefers-reduced-motion:reduce){.theme-curtain{display:none}}.portfolio-header{box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8}.portfolio-header:after{pointer-events:none;content:"";height:16px;position:absolute;top:100%;left:0;right:0;box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8}.portfolio-hero{box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8,inset 0 -1px #eeece8}.portfolio-section,.portfolio-footer{box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8,inset 0 1px #eeece8,inset 0 -1px #eeece8}.portfolio-divider,.contact-section{box-shadow:inset 1px 0 #eeece8,inset -1px 0 #eeece8}html[data-theme=dark] .portfolio-header,html[data-theme=dark] .portfolio-header:after{box-shadow:inset 1px 0 #3f3f3a,inset -1px 0 #3f3f3a}html[data-theme=dark] .portfolio-hero{box-shadow:inset 1px 0 #3f3f3a,inset -1px 0 #3f3f3a,inset 0 -1px #3f3f3a}html[data-theme=dark] .portfolio-section,html[data-theme=dark] .portfolio-footer{box-shadow:inset 1px 0 #3f3f3a,inset -1px 0 #3f3f3a,inset 0 1px #3f3f3a,inset 0 -1px #3f3f3a}html[data-theme=dark] .portfolio-divider,html[data-theme=dark] .contact-section{box-shadow:inset 1px 0 #3f3f3a,inset -1px 0 #3f3f3a}.more-button,.simple-section>a,.blog-section .all-posts,.personal-writing>a,.personal-gallery>a,.portfolio-dock .mode-segment :is(a,button),.portfolio-dock .cv-button{font-size:14px;line-height:20px}html[data-theme=dark] .portfolio-nav,html[data-theme=dark] .portfolio-dock{-webkit-backdrop-filter:blur(20px)saturate(1.12);backdrop-filter:blur(20px)saturate(1.12);background:linear-gradient(#09090be6,#09090be6) padding-box padding-box,linear-gradient(135deg,#ffffff57,#ffffff14,#ffffff3d) border-box;box-shadow:0 0 0 .5px #ffffff24,0 12px 30px -12px #000000db,inset 0 1px #ffffff1a}html[data-theme=dark] .portfolio-dock .mode-segment{background:#ffffff0e;box-shadow:inset 0 0 0 1px #ffffff0a}html[data-theme=dark] .portfolio-dock .mode-segment :is(a,button){color:#d4d4d8}html[data-theme=dark] .portfolio-dock .ask-ai{color:#f5f5f3;background:#ffffff12;border-color:#ffffff2e}html[data-theme=dark] .portfolio-dock .ask-ai img{filter:invert()}html[data-theme=dark] .portfolio-dock .mode-segment .active,html[data-theme=dark] .portfolio-dock .cv-button{color:#11110f;background:#fafafa;border-color:#ffffff6b}.portfolio-dock{transition:width .36s}.portfolio-dock:before{transition:opacity .18s}html[data-theme=dark] .portfolio-dock:before{background:0 0}.portfolio-dock .mode-segment{--mode-pill-width:96px;--mode-pill-x:0px;isolation:isolate;position:relative}.portfolio-dock.personal-mode-dock .mode-segment{--mode-pill-width:96px;--mode-pill-x:96px}.portfolio-dock .mode-segment:after{z-index:0;width:var(--mode-pill-width);content:"";pointer-events:none;transform:translate3d(var(--mode-pill-x), 0, 0);will-change:width, transform;background:#fffffff2;border:1px solid #fff;border-radius:999px;transition:width .36s,transform .36s,background-color .18s,border-color .18s;position:absolute;inset:0 auto 0 0;box-shadow:0 2px 5px -1px #413b3124,0 1px 1px #413b3114}.portfolio-dock .mode-segment :is(a,button){z-index:1;transition:color .18s;position:relative}.portfolio-dock .mode-segment :is(a,button).active,html[data-theme=dark] .portfolio-dock .mode-segment :is(a,button).active{box-shadow:none;color:#11110f;background:0 0;border-color:#0000}html[data-theme=dark] .portfolio-dock .mode-segment:after{background:#f5f5f3;border-color:#ffffff47;box-shadow:0 2px 5px #00000047,inset 0 1px #ffffff73}@media (width<=767px){.portfolio-dock .mode-segment{--mode-pill-width:98px}.portfolio-dock.personal-mode-dock .mode-segment{--mode-pill-width:124px;--mode-pill-x:125px}.portfolio-dock .mode-segment :is(a,button),.portfolio-dock .ask-ai,.portfolio-dock .cv-button{font-size:13px;line-height:18px}}@keyframes ask-ai-twinkle{0%,55%,to{transform:none}25%{transform:rotate(20deg)scale(1.2)}40%{transform:rotate(-8deg)scale(.94)}}.portfolio-dock .ask-ai img{transition:transform .24s cubic-bezier(.34,1.56,.64,1);animation:1.6s cubic-bezier(.34,1.56,.64,1) 1.2s 2 ask-ai-twinkle}.portfolio-dock .ask-ai:hover img,.portfolio-dock .ask-ai:focus-visible img{transform:rotate(20deg)scale(1.15)}@media (prefers-reduced-motion:reduce){.portfolio-dock,.portfolio-dock .mode-segment:after{transition:none}.portfolio-dock .ask-ai img{transition:none;animation:none}}.portfolio-mode-content{position:relative}.portrait-stack .portrait-face img{backface-visibility:hidden;transform:translate(0,0)}.index-page{padding-top:72px;padding-bottom:32px}.back-link{width:fit-content;color:var(--muted);align-items:center;gap:6px;font-size:12.5px;font-weight:500;line-height:18px;display:flex}.back-link img{width:15px;height:15px}.index-header{border:1px solid var(--edge);flex-direction:column;gap:10px;padding:18px 16px;display:flex}.index-title-row{align-items:baseline;gap:12px;display:flex}.index-title-row h1{letter-spacing:-1.34px;margin:0;font-size:33.6px;font-weight:600;line-height:38px}.index-title-row span{color:var(--muted);flex:1;font-size:12.5px;line-height:20px}.index-header>p{max-width:560px;color:var(--muted);margin:0;font-size:14px;line-height:22px}.index-filters{justify-content:space-between;align-items:center;padding-top:6px;display:flex}.work-index-header .index-filters{margin-inline:calc(-1 * var(--content-inset));padding:calc(var(--content-inset) - 10px) var(--content-inset) var(--content-inset);border-bottom:1px solid var(--edge);flex-wrap:wrap;gap:10px}.work-index-header .filter-segmented{flex-shrink:0}.work-index-header .filter-segmented button{white-space:nowrap}.filter-segmented,.view-toggle{isolation:isolate;background:#09090b0d;border-radius:999px;align-items:center;display:inline-flex;position:relative}.filter-segmented{padding:4px}.view-toggle{padding:3px}.filter-segmented:after,.view-toggle:after{z-index:0;top:var(--pill-top,4px);width:var(--pill-width,0px);height:var(--pill-height,36px);content:"";pointer-events:none;transform:translate3d(var(--pill-x,0px), 0, 0);will-change:width, transform;background:#fffffff2;border:1px solid #fff;border-radius:999px;transition:width .3s,transform .3s;position:absolute;left:0;box-shadow:0 1px 1px #413b3114,0 2px 5px #413b3124}.view-toggle:after{--pill-top:3px;--pill-height:30px}.filter-segmented button,.view-toggle button{z-index:1;background:0 0;border:0;transition:color .18s;position:relative}.filter-segmented button{height:36px;color:var(--muted);letter-spacing:-.14px;border-radius:999px;padding:0 16px;font-size:13.5px;font-weight:500}.filter-segmented button.active{color:var(--fg)}.view-toggle button{width:34px;height:30px;color:var(--muted);border-radius:999px;place-items:center;display:grid}.view-toggle button.active{color:var(--fg)}.filter-segmented:not(.pill-ready) button.active,.view-toggle:not(.pill-ready) button.active{background:#fffffff2;border:1px solid #fff;box-shadow:0 1px 1px #413b3114,0 2px 5px #413b3124}html[data-theme=dark] .filter-segmented:not(.pill-ready) button.active,html[data-theme=dark] .view-toggle:not(.pill-ready) button.active{background:#f5f5f3;border-color:#ffffff2e}.filter-segmented:not(.pill-ready):after,.view-toggle:not(.pill-ready):after{display:none}.view-toggle svg{width:15px;height:15px}@media (prefers-reduced-motion:reduce){.filter-segmented:after,.view-toggle:after{transition:none}}.index-body{border:1px solid var(--edge);border-top:0;grid-template-columns:repeat(2,1fr);gap:14px;padding:14px;display:grid}.index-body.view-list{grid-template-columns:1fr;gap:8px}.index-body.view-list .index-card{flex-direction:row}.index-body.view-list .index-card-cover{border-radius:13px 0 0 13px;flex:0 0 120px;height:auto}.index-body.view-list .index-card-meta{flex:1;justify-content:center;min-width:0}.index-card{border:1px solid var(--edge);background:#fff9;border-radius:14px;flex-direction:column;display:flex}.index-card[hidden]{display:none}.index-card-cover{background:var(--secondary);border-radius:13px 13px 0 0;height:211px}.index-card-meta{flex-direction:column;gap:6px;padding:13px 12px 14px 14px;display:flex}.index-card-title-row{align-items:center;gap:8px;display:flex}.index-card-title-row h3{min-width:0;color:var(--fg);letter-spacing:-.15px;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:15px;font-weight:600;line-height:21px;overflow:hidden}.index-card-title-row span{color:var(--muted);letter-spacing:1.2px;flex-shrink:0;font-size:11.5px;line-height:18px}.index-card-title-row img{flex-shrink:0;width:14px;height:14px}.index-card-meta>p{color:var(--muted);margin:0;font-size:13px;line-height:19px}.index-card-tags{flex-wrap:wrap;gap:6px;padding-top:2px;display:flex}.index-card-tags em{border:1px solid var(--border);color:var(--muted);background:#fafafa;border-radius:8px;padding:2px 6px;font-size:11.5px;font-style:normal;line-height:16px}@media (width<=767px){.index-title-row{flex-direction:column;gap:2px}.index-title-row h1{letter-spacing:-.9571px;font-size:24px;line-height:29px}.index-header>p{max-width:100%;font-size:13.5px}.filter-segmented button{letter-spacing:-.1296px;font-size:12.5px}.index-body{grid-template-columns:1fr;gap:12px;padding:12px}.index-card-cover{height:203px}}.blog-index-body{border:1px solid var(--edge);flex-direction:column;display:flex}.index-header .index-title-row{margin-inline:calc(-1 * var(--content-inset));padding:0 var(--content-inset) 10px;border-bottom:1px solid var(--edge)}.blog-index-header+.blog-index-body,.index-header+.exploration-masonry{border-top:0}.index-header:not(.work-index-header) .index-filters{padding-top:calc(var(--content-inset) - 10px)}.blog-index-body>div:first-child>.blog-year-header{border-top:0}.blog-year-header{border-top:1px solid var(--edge);color:var(--muted);letter-spacing:1.84px;background:#09090b08;padding:14px 16px;font-size:11.5px;font-weight:500}.blog-post-row{align-items:center;gap:16px;padding:16px 10px 16px 16px;display:flex}.blog-post-row:not(:last-child){border-bottom:1px solid var(--edge)}.blog-post-row>span:first-child{width:62px;color:var(--muted);letter-spacing:.4px;flex-shrink:0;font-size:11.5px;line-height:20px}.blog-post-row>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.blog-post-row h3{color:var(--fg);letter-spacing:-.15px;margin:0;font-size:15px;font-weight:500;line-height:21px}.blog-post-row p{color:var(--muted);margin:0;font-size:13px;line-height:19px}.blog-post-row img{flex-shrink:0;width:16px;height:16px}@media (width<=767px){.blog-post-row{gap:12px;padding:16px 8px 16px 14px}.blog-post-row h3{letter-spacing:-.145px;font-size:14.5px}.blog-post-row p{font-size:12.5px}}.exploration-masonry{columns:3;border:1px solid var(--edge);column-gap:8px;padding:8px}.exploration-shot{break-inside:avoid;background:var(--secondary);cursor:pointer;border:1px solid #00000014;border-radius:10px;width:100%;margin-bottom:8px;padding:0;display:block}@media (width<=767px){.exploration-masonry{columns:2;column-gap:6px;padding:6px}.exploration-shot{margin-bottom:6px}}.article-header{border:1px solid var(--edge);flex-direction:column;gap:12px;padding:18px 16px 20px;display:flex}.article-eyebrow{color:var(--muted);letter-spacing:1.84px;margin:0;font-size:11.5px;line-height:18px}.article-header h1{letter-spacing:-1.34px;margin:0;font-size:33.6px;font-weight:600;line-height:40px}.article-dek{max-width:620px;color:var(--muted);letter-spacing:-.3px;margin:0;font-size:16px;line-height:25px}.article-meta{border:1px solid var(--edge);border-top:0;display:flex}.article-meta>div{border-right:1px solid var(--edge);flex-direction:column;flex:1;gap:4px;padding:14px 16px;display:flex}.article-meta>div:last-child{border-right:0}.article-meta span{color:var(--muted);letter-spacing:1.6px;font-size:10.5px}.article-meta strong{color:var(--fg);letter-spacing:-.13px;font-size:13px;font-weight:500}.article-body{border:1px solid var(--edge);border-top:0;flex-direction:column;gap:20px;padding:20px 16px 24px;display:flex}.article-hero,.article-image{aspect-ratio:4/3;background:var(--secondary);cursor:zoom-in;border:1px solid #00000014;border-radius:12px;width:100%;padding:0;display:block}.article-image:disabled{cursor:default}.article-body h2,.article-body h3{color:var(--fg);letter-spacing:-.4px;margin:0;font-size:19px;font-weight:600;line-height:26px}.about-expertise-link{text-underline-offset:2px;text-decoration:underline!important}.article-text p{color:#09090beb;margin:0 0 14px;font-size:15.7px;line-height:28px}.article-text p:last-child{margin-bottom:0}.article-body blockquote{max-width:600px;color:var(--fg);letter-spacing:-.36px;border-left:2px solid #09090b2e;margin:0;padding:4px 0 4px 20px;font-size:18px;font-style:normal;font-weight:500;line-height:28px}.article-link-card{border:1px solid var(--border);background:color-mix(in srgb, var(--fg) 2%, var(--bg));border-radius:12px;grid-template-columns:144px minmax(0,1fr) auto;align-items:center;min-height:116px;display:grid;overflow:hidden}.article-link-card:hover{border-color:color-mix(in srgb, var(--fg) 24%, var(--border));background:color-mix(in srgb, var(--fg) 4%, var(--bg))}.article-link-thumbnail{border-right:1px solid var(--border);object-fit:cover;align-self:stretch;width:100%;height:100%;min-height:116px}.article-link-thumbnail-empty{background:var(--secondary);color:var(--muted);justify-content:center;align-items:center;display:flex}.article-link-copy{flex-direction:column;gap:5px;min-width:0;padding:16px;display:flex}.article-link-copy strong{color:var(--fg);letter-spacing:-.15px;font-size:14.5px;font-weight:600;line-height:20px}.article-link-copy>span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:18px;display:-webkit-box;overflow:hidden}.article-link-cta{border:1px solid var(--border);color:var(--fg);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin-right:16px;padding:8px 11px;font-size:12px;font-weight:600;display:inline-flex}.article-link-card:hover .article-link-cta{border-color:var(--fg);background:var(--fg);color:var(--bg)}.website-preview{gap:8px;width:100%;min-width:0;display:grid}.website-preview-canvas{border:1px solid var(--border);background:#deddd9;border-radius:12px;width:100%;min-width:0;position:relative;overflow:hidden}.website-preview-stage{width:100%;min-height:1px;transition:height .18s;position:relative;overflow:hidden}.website-preview-viewport{transform-origin:top;background:#fff;transition:transform .18s;position:absolute;top:0;left:50%;overflow:hidden;box-shadow:0 18px 44px #09090b2e}.website-preview iframe{background:#fff;border:0;width:100%;height:100%;display:block}.website-preview-controls{z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.website-preview-control-group{color:#fafafa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#09090bd1;border:1px solid #ffffff2e;border-radius:9px;align-items:center;min-width:0;padding:4px;display:flex;box-shadow:0 6px 18px #09090b33}.website-preview-primary-controls{gap:7px}.website-preview-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;padding:0 7px;font-size:11.5px;font-weight:500;line-height:30px;overflow:hidden}.website-preview-device-switcher{gap:2px;display:flex}.website-preview button,.website-preview-actions a{color:#d4d4d8;cursor:pointer;height:30px;font:inherit;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:10.5px;text-decoration:none;display:inline-flex}.website-preview button svg,.website-preview-actions a svg{width:14px;height:14px}.website-preview-device-switcher button[aria-pressed=true]{color:#09090b;background:#fafafa;box-shadow:0 1px 3px #0003}.website-preview button:hover,.website-preview-actions a:hover{color:#fff;background:#ffffff1f}.website-preview-device-switcher button[aria-pressed=true]:hover{color:#09090b;background:#fff}.website-preview-actions{flex:none;gap:2px}.website-preview-actions button,.website-preview-actions a{width:30px;padding:0}.website-preview-loading{z-index:2;color:#3f3f46;pointer-events:none;background:#deddd9e0;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;inset:0}.website-preview-loading>span{border:2px solid #09090b33;border-top-color:#09090b;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite website-preview-spin}@keyframes website-preview-spin{to{transform:rotate(360deg)}}.website-preview-note{color:var(--muted);margin:0;font-size:10.5px;line-height:16px}.website-preview-empty{border:1px dashed var(--border);background:color-mix(in srgb, var(--fg) 2%, var(--bg));min-height:180px;color:var(--muted);text-align:center;border-radius:12px;place-items:center;padding:24px;font-size:12.5px}html[data-theme=dark] .website-preview-canvas{background:#22221f}html[data-theme=dark] .website-preview-loading{color:#e4e4e7;background:#22221fe6}html[data-theme=dark] .website-preview-loading>span{border-color:#fff #ffffff38 #ffffff38}@media (width<=620px){.website-preview-title{max-width:116px}.website-preview-device-switcher button{width:30px;padding:0}.website-preview-device-switcher button span{display:none}}@media (width<=430px){.website-preview-controls{top:8px;left:8px;right:8px}.website-preview-title{max-width:88px;padding-inline:4px}}@media (prefers-reduced-motion:reduce){.website-preview-stage,.website-preview-viewport{transition:none}.website-preview-loading>span{animation-duration:2s}}.article-tags{flex-wrap:wrap;gap:6px;display:flex}.article-tags em{border:1px solid var(--border);color:var(--muted);background:#fafafa;border-radius:8px;padding:3px 7px;font-size:11.5px;font-style:normal}.related-panel{border:1px solid var(--edge);border-top:0}.related-header{border-bottom:1px solid var(--edge);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.related-header h3{color:var(--fg);letter-spacing:-.4px;margin:0;font-size:19px;font-weight:600}.related-header a{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.related-header a img{width:15px;height:15px}.related-grid{grid-template-columns:repeat(2,1fr);gap:14px;padding:14px;display:grid}.related-card{border:1px solid var(--edge);background:#fff9;border-radius:14px;flex-direction:column;display:flex}.related-card-cover{background:var(--secondary);border-radius:13px 13px 0 0;height:182px}.related-card-meta{flex-direction:column;gap:5px;padding:12px 12px 14px 14px;display:flex}.related-card-title-row{align-items:center;gap:8px;display:flex}.related-card-title-row h4{min-width:0;color:var(--fg);letter-spacing:-.15px;flex:1;margin:0;font-size:14.5px;font-weight:600}.related-card-title-row span{color:var(--muted);letter-spacing:1.2px;flex-shrink:0;font-size:11.5px}.related-card-title-row img{flex-shrink:0;width:15px;height:15px}.related-card-meta>p{color:var(--muted);margin:0;font-size:12.5px;line-height:18px}@media (width<=767px){.article-header h1{letter-spacing:-.9px;font-size:24px;line-height:30px}.article-dek{max-width:100%;font-size:14px}.article-meta{flex-wrap:wrap}.article-meta>div{flex:50%}.article-meta>div:nth-child(2n){border-right:0}.article-meta[data-count="3"]>div:nth-child(-n+2),.article-meta[data-count="4"]>div:nth-child(-n+2){border-bottom:1px solid var(--edge)}.article-meta[data-count="1"]>div,.article-meta[data-count="3"]>div:last-child{border-right:0;flex-basis:100%}.article-link-card{grid-template-columns:92px minmax(0,1fr)}.article-link-thumbnail{grid-row:1/3;min-height:128px}.article-link-copy{padding:12px 12px 6px}.article-link-cta{justify-self:start;margin:0 12px 12px;padding:6px 9px}.related-grid{grid-template-columns:1fr}}html[data-theme=dark] .article-header,html[data-theme=dark] .article-meta,html[data-theme=dark] .article-body,html[data-theme=dark] .related-panel,html[data-theme=dark] .related-header,html[data-theme=dark] .article-meta>div,html[data-theme=dark] .related-card{border-color:#3f3f3a}html[data-theme=dark] .article-eyebrow,html[data-theme=dark] .article-dek,html[data-theme=dark] .article-meta span,html[data-theme=dark] .related-header a,html[data-theme=dark] .related-card-meta>p,html[data-theme=dark] .related-card-title-row span,html[data-theme=dark] .article-tags em{color:#b8b8b2}html[data-theme=dark] .article-header h1,html[data-theme=dark] .article-meta strong,html[data-theme=dark] .article-body h2,html[data-theme=dark] .article-body h3,html[data-theme=dark] .related-header h3,html[data-theme=dark] .related-card-title-row h4,html[data-theme=dark] .article-body blockquote{color:#f5f5f3}html[data-theme=dark] .article-text p{color:#f5f5f3db}html[data-theme=dark] .article-link-card{background:#181816}html[data-theme=dark] .article-link-copy strong,html[data-theme=dark] .article-link-cta{color:#f5f5f3}html[data-theme=dark] .article-link-copy>span{color:#b8b8b2}html[data-theme=dark] .article-link-card:hover .article-link-cta{color:#11110f;background:#f5f5f3;border-color:#f5f5f3}html[data-theme=dark] .article-hero,html[data-theme=dark] .article-image,html[data-theme=dark] .related-card-cover{background:#22221f;border-color:#ffffff24}html[data-theme=dark] .article-body blockquote{border-color:#ffffff2e}html[data-theme=dark] .article-tags em{background:#22221f;border-color:#3f3f3a}html[data-theme=dark] .related-card{background:#181816}html[data-theme=dark] .related-header a img,html[data-theme=dark] .related-card-title-row img{filter:invert()}.lightbox-scrim{z-index:200;background:#09090bd1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-chrome{justify-content:space-between;align-items:center;padding:22px 28px;display:flex;position:fixed;top:0;left:0;right:0}.lightbox-chrome p{color:#fafafa;letter-spacing:.6px;margin:0;font-size:13px;font-weight:500}.lightbox-close{cursor:pointer;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;place-items:center;width:38px;height:38px;display:grid}.lightbox-close img{width:18px;height:18px}.lightbox-nav{cursor:pointer;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;place-items:center;width:38px;height:38px;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav img{width:20px;height:20px}.lightbox-prev{left:40px}.lightbox-next{right:40px}.lightbox-content{flex-direction:column;gap:18px;width:min(760px,100vw - 120px);display:flex}.lightbox-shot{background:#e8e6e1;border:1px solid #ffffff24;border-radius:14px;justify-content:center;align-items:center;width:100%;height:min(470px,55vh);display:flex;overflow:hidden;box-shadow:0 24px 60px -12px #00000080}.lightbox-shot img{object-fit:contain;max-width:100%;max-height:100%}.lightbox-caption{flex-direction:column;gap:7px;margin:0 auto;display:flex}.lightbox-title-row{align-items:center;gap:10px;display:flex}.lightbox-title-row h3{color:#fafafa;letter-spacing:-.34px;flex:1;min-width:0;margin:0;font-size:17px;font-weight:600}.lightbox-chip{color:#d4d4d8;background:#ffffff1f;border-radius:8px;flex-shrink:0;padding:3px 8px;font-size:11px}.lightbox-caption p{color:#a1a1aa;margin:0;font-size:13.5px;line-height:21px}@media (width<=767px){.lightbox-chrome{padding:16px}.lightbox-nav{width:32px;height:32px}.lightbox-nav img{width:16px;height:16px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-content{width:calc(100vw - 32px)}.lightbox-shot{height:min(360px,45vh)}}.lightbox-zoom-controls{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:10px;padding:5px 8px;display:flex}.lightbox-zoom-controls button{color:#fafafa;cursor:pointer;background:#ffffff24;border:0;border-radius:999px;place-items:center;width:26px;height:26px;font-size:16px;line-height:1;display:grid}.lightbox-zoom-controls button:disabled{opacity:.4;cursor:not-allowed}.lightbox-zoom-controls span{color:#fafafa;text-align:center;min-width:38px;font-size:12px}.image-lightbox{z-index:200;background:#09090beb;flex-direction:column;gap:14px;padding:18px 24px 24px;display:flex;position:fixed;inset:0}.image-lightbox-bar{flex:none;justify-content:space-between;align-items:center;display:flex}.image-lightbox-stage{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;overflow:auto}.image-lightbox-stage img{object-fit:contain;border-radius:10px;max-width:100%;max-height:100%;box-shadow:0 24px 60px -12px #0000008c}.image-lightbox-stage.is-zoomed{justify-content:flex-start;align-items:flex-start}.image-lightbox-stage.is-zoomed img{border-radius:0;max-width:none;height:auto;max-height:none}@media (width<=767px){.image-lightbox{gap:10px;padding:12px 12px 16px}}.portfolio .more-button,.simple-section>a,.blog-section .all-posts,.personal-writing>a,.personal-gallery>a{border:0;border-top:1px solid var(--edge);height:36px;color:var(--fg);text-align:center;background:0 0;justify-content:center;align-items:center;gap:6px;margin:0;padding:8px;font-size:13px;font-style:normal;font-weight:400;display:flex}html[data-theme=dark] .more-button,html[data-theme=dark] .simple-section>a,html[data-theme=dark] .blog-section .all-posts,html[data-theme=dark] .personal-writing>a,html[data-theme=dark] .personal-gallery>a{border-top-color:#3f3f3a}.more-button svg,.simple-section>a svg,.blog-section .all-posts svg,.personal-writing>a svg,.personal-gallery>a svg{flex:0 0 16px;width:16px;height:16px}html[data-theme=dark] .more-button,html[data-theme=dark] .simple-section>a,html[data-theme=dark] .blog-section .all-posts,html[data-theme=dark] .personal-writing>a,html[data-theme=dark] .personal-gallery>a{color:#b8b8b2}.works-tabs-panel,.section-description{padding:var(--content-inset);border-bottom:1px solid var(--edge);justify-items:start;gap:10px;display:grid}.work-category-description,.section-description>p{max-width:560px;color:var(--muted);margin:0;font-size:14px;line-height:22px}.index-header .section-description{margin:-10px calc(-1 * var(--content-inset)) 0}.index-header .section-description:last-child{margin-bottom:calc(-1 * var(--content-inset));border-bottom:0}.work-category-description>span{display:block}.work-category-description>span[aria-hidden=true]{display:none}@media (width<=767px){.work-category-description,.section-description>p{font-size:13.5px}}html[data-theme=dark] .works-tabs-panel,html[data-theme=dark] .section-description{border-color:#3f3f3a}.back-to-top{z-index:30;border:1px solid var(--border);width:40px;height:40px;color:var(--fg);cursor:pointer;background:#fff;border-radius:999px;place-items:center;transition:opacity .16s,transform .16s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 20px -10px #413b3166}.back-to-top:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.back-to-top{transition:none}.back-to-top:hover{transform:none}}@media (width<=767px){.back-to-top{width:36px;height:36px;bottom:16px;right:16px}}.case-study-gate{z-index:1;border:1px solid var(--edge);background:var(--bg);text-align:center;border-radius:12px;max-width:420px;margin:-32px auto 24px;padding:28px 24px;position:relative;box-shadow:0 12px 30px -16px #413b3159}.case-study-gate h3{margin:0 0 8px;font-size:17px;font-weight:600}.case-study-gate>p{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.5}.case-study-gate form{gap:8px;display:flex}.case-study-gate-input{flex:1;position:relative}.case-study-gate input{border:1px solid var(--border);width:100%;height:40px;font:inherit;background:#fff;border-radius:8px;padding:0 40px 0 14px;font-size:14px}.case-study-gate-reveal{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;right:0}.case-study-gate button:not(.case-study-gate-reveal){background:var(--fg);height:40px;color:var(--bg);cursor:pointer;border:0;border-radius:8px;padding:0 16px;font-size:14px;font-weight:600}.case-study-gate button:disabled{opacity:.5;cursor:default}.case-study-gate>p.case-study-gate-error{color:#dc2626;margin:12px 0 0;font-size:13px}.case-study-gate>p.case-study-gate-hint{color:var(--muted);margin:20px 0 0;font-size:13px}.case-study-gate-hint a{color:inherit;text-decoration:underline}.case-study-locked{position:relative}.case-study-blur{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none;position:relative;-webkit-mask-image:linear-gradient(#000 0%,#0000 75%);mask-image:linear-gradient(#000 0%,#0000 75%)}@media (prefers-reduced-motion:reduce){.case-study-blur{filter:blur(4px)}}html[data-theme=dark] .back-to-top{color:#f5f5f3;background:#18181b;border-color:#3f3f3a}html[data-theme=dark] .case-study-gate{background:#11110f;border-color:#3f3f3a}html[data-theme=dark] .case-study-gate input{color:#f5f5f3;background:#18181b;border-color:#3f3f3a}html[data-theme=dark] .case-study-gate button:not(.case-study-gate-reveal){color:#11110f;background:#f5f5f3}html[data-theme=dark] .case-study-gate-reveal{color:#9c9c96}.exploration-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:8px;height:auto;padding:8px;display:grid}.exploration-grid i:nth-child(n){aspect-ratio:4/3;background-position:50%;background-size:cover;width:auto;height:auto;position:static;top:auto;left:auto;right:auto}.exploration-masonry{columns:auto;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.exploration-shot{aspect-ratio:4/3;height:auto;margin-bottom:0}@media (width<=767px){.exploration-grid,.exploration-masonry{grid-template-columns:repeat(2,1fr);gap:6px}}.lightbox-content{width:fit-content;max-width:min(1100px,100vw - 120px)}.lightbox-shot{width:fit-content;max-width:100%;height:auto;max-height:72vh;box-shadow:none;background:0 0;border:0;margin:0 auto}.lightbox-shot img{border-radius:14px;width:auto;max-height:72vh;box-shadow:0 24px 60px -12px #00000080}.lightbox-shot.is-zoomed{justify-content:flex-start;width:100%;overflow:auto}.lightbox-shot.is-zoomed img{border-radius:0;max-width:none;height:auto;max-height:none}.lightbox-chrome-right{align-items:center;gap:10px;display:flex}@media (width<=767px){.lightbox-content{gap:12px;width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.lightbox-shot,.lightbox-shot img{max-height:62vh}.lightbox-caption{max-height:22vh;overflow-y:auto}.lightbox-title-row h3{font-size:15px}.lightbox-caption p{font-size:12.5px;line-height:19px}.lightbox-prev{left:6px}.lightbox-next{right:6px}}.index-body,.index-body.view-list{grid-template-columns:minmax(0,1fr)}@media (width>=768px){.index-body{grid-template-columns:repeat(2,minmax(0,1fr))}.index-body.view-list{grid-template-columns:minmax(0,1fr)}}.index-card{min-width:0}.index-card-tags{flex-wrap:wrap}.lightbox-shot-wrap{max-width:100%;margin:0 auto;position:relative}.lightbox-zoom-dock{z-index:2;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.image-lightbox .lightbox-zoom-dock{bottom:28px}.lightbox-zoom-dock .lightbox-zoom-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18181bd1;border-color:#fff3;box-shadow:0 6px 20px -6px #0009}.lightbox-zoom-controls button{padding:0;font-size:0;line-height:0}.lightbox-zoom-controls button svg{display:block}.lightbox-shot.is-zoomed,.image-lightbox-stage.is-zoomed{cursor:grab;touch-action:none}.lightbox-shot.is-grabbing,.image-lightbox-stage.is-grabbing{cursor:grabbing}.lightbox-shot.is-zoomed img,.image-lightbox-stage.is-zoomed img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media (width<=767px){.lightbox-zoom-dock{bottom:8px}}.lightbox-shot.is-zoomed,.image-lightbox-stage.is-zoomed{justify-content:flex-start;align-items:flex-start}.lightbox-shot.is-zoomed img,.image-lightbox-stage.is-zoomed img{margin:auto}.lightbox-nav,.lightbox-chrome{z-index:3}.lightbox-zoom-dock{justify-content:center;margin-top:10px;display:flex;position:static;transform:none}.image-lightbox .lightbox-zoom-dock{margin-top:12px;bottom:auto}.lightbox-zoom-dock .lightbox-zoom-controls{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:#ffffff1a;border:1px solid #ffffff29}@media (width<=767px){.lightbox-zoom-dock{margin-top:8px}}.about-section h2,.work-section>h2,.works>h2,.simple-section>h2,.blog-section h2,.connect-section h2,.blog-section>a:not(.all-posts){height:auto}.lightbox-nav,.lightbox-close,.image-lightbox .lightbox-close{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09090bcc;border-color:#ffffff4d;box-shadow:0 4px 16px -4px #0000008c}.lightbox-nav:hover,.lightbox-close:hover{background:#09090beb}.personal-gallery>.gallery-grid{grid-template-rows:auto;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:8px;height:auto;padding:8px;display:grid;position:static}.personal-gallery i:nth-child(n){aspect-ratio:4/3;background-position:50%;background-size:cover;width:auto;height:auto;position:static;inset:auto}@media (width<=767px){.personal-gallery>.gallery-grid{grid-template-columns:repeat(2,1fr);gap:6px}}.blog-post-row p,.blog-index-row>p,.blog-section>a:not(.all-posts)>span,.blog-section>a:not(.all-posts)>em,.related-card-meta>p,.personal-writing-card p,.index-card-meta>p{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.blog-post-thumb{aspect-ratio:4/3;border:1px solid var(--edge);background-position:50%;background-size:cover;border-radius:8px;flex-shrink:0;width:96px;display:block}html[data-theme=dark] .blog-post-thumb{border-color:#3f3f3a}@media (width<=767px){.blog-post-thumb{width:64px}}.article-text a{color:inherit;text-underline-offset:2px;text-decoration:underline}.article-text code{background:#09090b0f;border-radius:5px;padding:1px 5px;font-size:.92em}html[data-theme=dark] .article-text code{background:#ffffff1a}.article-header-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-button{border:1px solid var(--border);height:32px;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;display:inline-flex}.share-button:hover{background:#09090b0a}html[data-theme=dark] .share-button{color:#f5f5f3;border-color:#3f3f3a}html[data-theme=dark] .share-button:hover{background:#ffffff12}.personal-writing article>p{margin-top:6px;line-height:1.55}.personal-writing article>small{margin-top:4px}.personal-writing article{height:auto;overflow:visible}.personal-writing article>p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;line-height:1.55;display:-webkit-box;overflow:hidden}.personal-writing article>b{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.personal-writing,.personal-writing>div{height:auto}.personal-writing>div{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.personal-writing article{width:auto;min-width:0}@media (width>=768px){.personal-writing>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.portfolio-intro,.work-card,.contact-section{width:auto;min-width:0;max-width:100%}.portfolio-nav{padding-left:14px;padding-right:14px}.portfolio-intro>span,.contact-section h2{height:auto}.portfolio-intro>span{flex:none;max-width:none;height:auto}.contact-section p{height:auto}.contact-section,.personal-contact{padding:64px 57px 0}.contact-section h2,.contact-section p,.contact-section a,.contact-section a+a,.personal-contact a{position:relative;top:auto;left:auto}.contact-section h2,.contact-section p{width:auto}.contact-section p,.contact-section a,.contact-section a+a{margin:18px 0 0}.contact-section a+a{margin-left:16px}@media (width<=767px){.contact-section,.personal-contact{height:auto;padding:28px 24px 26px}}.blog-post-row{padding-left:14px;padding-right:14px}@media (width>=768px){.blog-post-row{padding-left:16px;padding-right:16px}}.connect-section a{padding-left:16px;padding-right:16px}.article-figure{flex-direction:column;gap:8px;margin:0;display:flex}.article-figcaption{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:12.5px;line-height:18px;display:flex}.media-source{color:var(--muted);opacity:.75;font-size:12px}.lightbox-caption .media-source{color:#a1a1aa;margin:0}html[data-theme=dark] .article-figcaption,html[data-theme=dark] .media-source{color:#9c9c96}.work-card>.work-mock{margin-top:0}.work-card>p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.work-card{height:auto}.article-metrics{border:1px solid var(--edge);background:#09090b05;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin:0;padding:18px 16px;display:grid}.article-metrics>div{flex-direction:column;gap:4px;min-width:0;display:flex}.article-metrics dt{color:var(--fg);letter-spacing:-.6px;font-size:24px;font-weight:600;line-height:30px}.article-metrics dd{color:var(--muted);margin:0;font-size:12.5px;line-height:18px}html[data-theme=dark] .article-metrics{background:#ffffff0a;border-color:#3f3f3a}html[data-theme=dark] .article-metrics dt{color:#f5f5f3}html[data-theme=dark] .article-metrics dd{color:#b8b8b2}@media (width<=767px){.article-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.article-metrics dt{font-size:20px;line-height:26px}}.article-image.has-image{aspect-ratio:auto;background:var(--secondary);height:auto;padding:0;line-height:0;overflow:hidden}.article-image.has-image img{width:100%;display:block}.article-image.has-image{max-height:min(522px,70svh)}@media (width<=767px),(height<=500px){.article-image.has-image{max-height:min(382px,55svh)}}.article-image-frame{position:relative}.article-figure.is-cropped .article-image.has-image{scrollbar-width:thin;overflow:hidden auto}.image-lightbox-stage.is-tall.has-overflow{align-items:flex-start}.image-lightbox-stage.is-tall img{width:100%;max-width:min(900px,100%);max-height:none;margin-inline:auto}.image-lightbox-stage.is-tall.is-zoomed img{max-width:none}.image-lightbox-note{text-align:center;flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:6px 12px;padding:0 24px;display:flex}.image-lightbox-hint{color:#e6e6e3;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.image-lightbox-caption{color:#a1a1aa;font-size:12.5px;line-height:18px}.article-figure{position:relative}.article-image.has-image{cursor:zoom-in;position:relative}.article-image-expand{z-index:2;color:#fff;width:30px;height:30px;font:inherit;cursor:zoom-in;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09090b9e;border:1px solid #ffffff38;border-radius:999px;place-items:center;padding:0;transition:transform .14s,background .14s;display:grid;position:absolute;bottom:12px;right:12px}.article-image-frame:hover .article-image-expand{background:#09090bd1;transform:scale(1.08)}.article-figure.is-cropped .article-image-frame:after{content:"";pointer-events:none;background:linear-gradient(#fcfaf600,#fcfaf6eb);border-radius:0 0 11px 11px;height:96px;position:absolute;bottom:1px;left:1px;right:1px}html[data-theme=dark] .article-figure.is-cropped .article-image-frame:after{background:linear-gradient(#11110f00,#11110feb)}@media (prefers-reduced-motion:reduce){.article-image-expand{transition:none}.article-image-frame:hover .article-image-expand{transform:none}}.image-lightbox-hint{align-items:center;gap:7px;display:inline-flex}.image-lightbox-chevron{animation:1.8s ease-in-out infinite lightbox-nudge}@keyframes lightbox-nudge{0%,60%,to{opacity:.75;transform:translateY(0)}30%{opacity:1;transform:translateY(3px)}}.image-lightbox-progress{z-index:5;background:linear-gradient(to right, #fff var(--progress,0%), #09090b73 var(--progress,0%));pointer-events:none;height:3px;position:absolute;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.image-lightbox-chevron{animation:none}}.article-image-expand-label{letter-spacing:-.01em;white-space:nowrap;padding-right:3px;font-size:12px;font-weight:500;display:none}.article-figure.is-cropped .article-image-expand{grid-auto-flow:column;gap:7px;width:auto;height:32px;padding:0 13px}.article-figure.is-cropped .article-image-expand-label{display:block}.article-figure .article-image-expand{color:#fff}.article-image-error{display:none}.article-figure.is-broken .article-image.has-image{cursor:default;place-items:center;min-height:200px;display:grid;overflow:hidden}.article-figure.is-broken .article-image.has-image img,.article-figure.is-broken .article-image-expand,.article-figure.is-broken .article-image-scroll-hint,.article-figure.is-broken .article-image-frame:after{display:none}.article-figure.is-broken .article-image-error{color:#52525b;align-items:center;gap:8px;font-size:13px;line-height:20px;display:inline-flex}html[data-theme=dark] .article-figure.is-broken .article-image-error{color:#a1a1aa}.article-figure.is-scroll-end .article-image-frame:after{opacity:0}.article-image-scroll-hint{z-index:2;color:#fff;letter-spacing:-.01em;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#09090b9e;border:1px solid #ffffff38;border-radius:999px;align-items:center;height:32px;padding:0 12px;font-size:12px;font-weight:500;display:none;position:absolute;bottom:12px;left:12px}.article-figure.is-cropped:not(.is-scrolled) .article-image-scroll-hint{display:inline-flex}.route-progress{z-index:200;background:var(--ink,#11110f);transform-origin:0;pointer-events:none;height:2px;animation:8s cubic-bezier(.1,.8,.2,1) forwards route-progress-creep;position:fixed;top:0;left:0;right:0}@keyframes route-progress-creep{0%{opacity:1;transform:scaleX(0)}to{opacity:1;transform:scaleX(.9)}}.exploration-shot[style],.exploration-grid>i[style],.gallery-grid>i[style],.index-card-cover[style],.related-card-cover[style],.blog-post-thumb[style],.article-image.has-image{background-color:#11110f0d}html[data-theme=dark] .exploration-shot[style],html[data-theme=dark] .exploration-grid>i[style],html[data-theme=dark] .gallery-grid>i[style],html[data-theme=dark] .index-card-cover[style],html[data-theme=dark] .related-card-cover[style],html[data-theme=dark] .blog-post-thumb[style],html[data-theme=dark] .article-image.has-image{background-color:#ffffff12}.lightbox-loading{color:#ffffffd9;letter-spacing:-.01em;flex-direction:column;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lightbox-spinner{border:2px solid #ffffff38;border-top-color:#ffffffe6;border-radius:50%;width:26px;height:26px;animation:.7s linear infinite lightbox-spin}@keyframes lightbox-spin{to{transform:rotate(360deg)}}.image-lightbox-stage img{opacity:0;transition:opacity .22s}.image-lightbox-stage img.is-loaded{opacity:1}@media (prefers-reduced-motion:reduce){.route-progress{animation-duration:.01ms;transform:scaleX(.9)}.lightbox-spinner{animation-duration:2s}.image-lightbox-stage img{transition:none}}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:56px 24px;display:flex}.empty-state-art{opacity:.32;width:88px;height:64px;margin-bottom:18px}.empty-state-title{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.empty-state-text{max-width:34ch;color:color-mix(in srgb, currentColor 62%, transparent);margin:0;font-size:13.5px;line-height:1.55}.empty-state-action{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;margin-top:14px;padding:7px 14px}.index-body>.empty-state,.exploration-masonry>.empty-state{grid-column:1/-1}@media (width<=700px){.empty-state{padding:44px 20px}}.work-card>p{box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;height:40px;min-height:40px;font-size:14px;line-height:20px;display:-webkit-box;overflow:hidden}.work-card footer,.index-card-tags{flex-wrap:nowrap;overflow:hidden}.work-card footer em,.index-card-tags em{flex:none}.tag-overflow{color:color-mix(in srgb, currentColor 60%, transparent);flex:none;font-style:normal}.is-skeleton{background:color-mix(in srgb, currentColor 7%, transparent);min-height:64px;box-shadow:none;pointer-events:none;border:0}.is-skeleton *{visibility:hidden}@media (prefers-reduced-motion:no-preference){.is-skeleton{animation:1.4s ease-in-out infinite skeleton-pulse}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.skeleton-tile{aspect-ratio:4/3;border-radius:10px}.skeleton-row{border-radius:10px;height:64px;margin-bottom:12px}.skeleton-card{border-radius:12px;height:220px}.index-body.view-grid .index-card.is-skeleton{height:354px}.index-body.view-list .index-card.is-skeleton{height:124px}.blog-index-body .blog-post-row.is-skeleton{height:105px}@media (width<=767px){.index-body.view-grid .index-card.is-skeleton{height:346px}.blog-index-body .blog-post-row.is-skeleton{height:135px}}.theme-curtain:before{content:"";opacity:.06;background:repeating-linear-gradient(45deg,#0000 0 3.243px,currentColor 3.243px 4.243px);position:absolute;inset:0}.theme-curtain:after{content:"";opacity:0;background-position:50%;background-repeat:no-repeat;background-size:contain;width:76px;height:76px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.86)}.theme-curtain[data-to]:after{animation:.88s cubic-bezier(.33,0,.2,1) both theme-mark}.theme-curtain[data-to=dark]:after{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22%3E%3Cpath d=%22M13.3 10.1A5.8 5.8 0 0 1 5.9 2.7 5.8 5.8 0 1 0 13.3 10.1Z%22 stroke=%22%23f5f5f3%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E")}.theme-curtain[data-to=light]:after{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22%3E%3Cpath d=%22M8 10.667A2.667 2.667 0 1 0 8 5.333a2.667 2.667 0 0 0 0 5.334Z%22 stroke=%22%2311110f%22 stroke-width=%221%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M8 1.333v1.334M8 13.333v1.334M3.267 3.267l.933.933M11.8 11.8l.933.933M1.333 8h1.334M13.333 8h1.334M3.267 12.733l.933-.933M11.8 4.2l.933-.933%22 stroke=%22%2311110f%22 stroke-width=%221%22 stroke-linecap=%22round%22/%3E%3C/svg%3E")}@keyframes theme-mark{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)rotate(-18deg)}35%{opacity:.26;transform:translate(-50%,-50%)scale(1)rotate(0)}70%{opacity:.26;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1.06)rotate(10deg)}}@media (prefers-reduced-motion:reduce){.theme-curtain:after{opacity:.2;animation:none}}.article-code{border:1px solid var(--border);background:color-mix(in srgb, currentColor 3%, transparent);border-radius:12px;margin:28px 0;overflow:hidden}.article-code>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 14px;list-style:none;display:flex}.article-code>summary::-webkit-details-marker{display:none}.article-code-caret{color:color-mix(in srgb, currentColor 55%, transparent);flex:none;transition:transform .16s}.article-code[open]>summary .article-code-caret{transform:rotate(90deg)}.article-code-title{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:14px;font-weight:600;overflow:hidden}.article-code-meta{color:color-mix(in srgb, currentColor 52%, transparent);flex:none;font-size:12px}.article-code-body{border-top:1px solid var(--border);position:relative}.article-code-copy{z-index:1;border:1px solid var(--border);background:var(--bg);color:inherit;cursor:pointer;font:inherit;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:500;position:absolute;top:10px;right:10px}.article-code-copy:hover{background:color-mix(in srgb, currentColor 8%, var(--bg))}.article-code-body pre{white-space:pre-wrap;word-break:break-word;tab-size:2;margin:0;padding:16px 16px 18px;font-size:12.5px;line-height:1.65;overflow-x:auto}.article-code-body code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}html[data-theme=dark] .article-code,html[data-theme=dark] .article-code-body{border-color:#3f3f3a}html[data-theme=dark] .article-code-copy{background:#11110f;border-color:#3f3f3a}@media (width<=700px){.article-code-meta{display:none}.article-code-body pre{padding:44px 14px 16px}}.ask-ai-scrim{z-index:120;background:#09090b47;justify-content:center;align-items:flex-end;padding:0 0 104px;animation:.16s ask-ai-fade;display:flex;position:fixed;inset:0}.ask-ai-panel{border:1px solid var(--edge);background:var(--bg);border-radius:24px;flex-direction:column;width:min(460px,100% - 32px);height:min(720px,100dvh - 128px);max-height:min(720px,100dvh - 128px);animation:.22s cubic-bezier(.2,0,0,1) ask-ai-rise;display:flex;overflow:hidden;box-shadow:0 18px 48px #413b312e}.ask-ai-grabber{display:none}.ask-ai-header{border-bottom:1px solid var(--edge);align-items:center;gap:10px;padding:16px 14px 16px 18px;display:flex}.ask-ai-mark{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:999px;flex:none;place-items:center;width:28px;height:28px;display:grid}.ask-ai-title{letter-spacing:-.01em;flex:auto;font-size:14px;font-weight:600}.ask-ai-close{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.ask-ai-close:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.ask-ai-body{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:14px;min-height:0;padding:18px;display:flex;overflow-y:auto}.ask-ai-status{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.ask-ai-text{color:var(--muted);margin:0;font-size:13px;line-height:20px}.ask-ai-turn{gap:12px;animation:.18s ease-out ask-ai-message-in;display:grid}.ask-ai-message{align-items:flex-start;gap:8px;display:flex}.ask-ai-message-user{justify-content:flex-end;padding-left:48px}.ask-ai-message-assistant{padding-right:28px}.ask-ai-avatar{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:999px;flex:none;place-items:center;width:24px;height:24px;margin-top:2px;font-size:11px;display:grid}.ask-ai-bubble{border:1px solid var(--edge);background:color-mix(in srgb, currentColor 3%, transparent);border-radius:4px 14px 14px;max-width:calc(100% - 32px);padding:11px 13px}.ask-ai-message-user .ask-ai-bubble{color:#fff;background:#171714;border:0;border-radius:14px 14px 4px}.ask-ai-typing{justify-content:center;align-items:center;gap:4px;min-width:52px;display:flex}.ask-ai-typing span{color:var(--muted);font-size:8px;animation:.9s ease-in-out infinite ask-ai-typing}.ask-ai-typing span:nth-child(2){animation-delay:.12s}.ask-ai-typing span:nth-child(3){animation-delay:.24s}.ask-ai-answer{animation:.18s ease-out ask-ai-message-in}.ask-ai-bubble>p{white-space:pre-line;margin:0;font-size:13px;line-height:20px}.ask-ai-answer-copy{gap:10px;display:grid}.ask-ai-answer-copy p{margin:0;font-size:13px;line-height:20px}.ask-ai-suggestions{border-top:1px solid var(--edge);background:var(--bg);flex:none;padding:12px 18px 14px}.ask-ai-suggestions>p{color:var(--muted);margin:0;font-size:11px;font-weight:600}.ask-ai-questions{overscroll-behavior-x:contain;scrollbar-width:none;gap:8px;margin-top:8px;display:flex;overflow-x:auto}.ask-ai-questions::-webkit-scrollbar{display:none}.ask-ai-question{border:1px solid var(--edge);width:auto;max-width:280px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:999px;flex:none;align-items:center;padding:9px 12px;font-size:12px;line-height:16px;display:inline-flex}.ask-ai-question:hover,.ask-ai-question:focus-visible{border-color:color-mix(in srgb, currentColor 28%, var(--edge));background:color-mix(in srgb, currentColor 5%, transparent)}.ask-ai-question:disabled{opacity:.48;cursor:wait}.ask-ai-related{border-top:1px solid var(--edge);margin-top:14px;padding-top:14px}.ask-ai-related>p{color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.ask-ai-related>div{flex-wrap:wrap;gap:7px;display:flex}.ask-ai-related a{border:1px solid var(--edge);border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:500;display:inline-flex}.ask-ai-related a:hover{background:color-mix(in srgb, currentColor 5%, transparent)}.ask-ai-note{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:15px}.ask-ai-fallback{border:1px solid var(--border);color:inherit;cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-top:12px;padding:9px 14px;font-size:13px;font-weight:500;display:inline-flex}.ask-ai-fallback:hover{background:color-mix(in srgb, currentColor 6%, transparent)}.ask-ai-fallback img{width:12px;height:12px}@keyframes ask-ai-fade{0%{opacity:0}}@keyframes ask-ai-rise{0%{opacity:0;transform:translateY(12px)}}@keyframes ask-ai-message-in{0%{opacity:0;transform:translateY(6px)}}@keyframes ask-ai-typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (width<=700px){.ask-ai-scrim{padding:0}.ask-ai-panel{border-width:1px 0 0;border-radius:20px 20px 0 0;width:100%;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.ask-ai-grabber{background:color-mix(in srgb, currentColor 18%, transparent);border-radius:999px;width:38px;height:4px;margin:8px auto 0;display:block}}@media (prefers-reduced-motion:reduce){.ask-ai-scrim,.ask-ai-panel,.ask-ai-turn,.ask-ai-answer,.ask-ai-typing span{animation:none}}html[data-theme=dark] .ask-ai-panel,html[data-theme=dark] .ask-ai-suggestions{background:#11110f}html[data-theme=dark] .ask-ai-message-user .ask-ai-bubble{color:#171714;background:#f1efe9}html[data-theme=dark] .ask-ai-scrim{background:#00000080}html[data-theme=dark],html[data-theme=dark] body{background:#11110f}.skeleton-line{border-radius:6px;min-height:0}.skeleton-share{border-radius:999px;width:90px;height:32px;min-height:0}.skeleton-eyebrow{align-items:center;height:18px;display:flex}.skeleton-eyebrow .skeleton-line{width:38%;height:13px}.skeleton-title{width:64%;height:40px}.skeleton-dek{align-content:center;gap:10px;height:50px;display:grid}.skeleton-dek .skeleton-line{width:96%;height:15px}.skeleton-dek .skeleton-line:nth-child(2){width:88%}.skeleton-dek .skeleton-line:nth-child(3){width:72%;display:none}.skeleton-hero{aspect-ratio:4/3;border-radius:12px;width:100%}.article-meta .skeleton-line{min-height:0}@media (width<=767px){.skeleton-title{height:30px}.skeleton-dek{height:75px}.skeleton-dek .skeleton-line:nth-child(3){display:block}}@media (prefers-reduced-motion:no-preference){.exploration-shot[style],.exploration-grid>i[style],.gallery-grid>i[style],.index-card-cover[style],.related-card-cover[style],.blog-post-thumb[style],.writing-cover[style]{animation:1.6s ease-in-out infinite tile-pulse}}@keyframes tile-pulse{0%,to{background-color:color-mix(in srgb, currentColor 5%, transparent)}50%{background-color:color-mix(in srgb, currentColor 11%, transparent)}}.lightbox-shot img{opacity:0;transition:opacity .2s}.lightbox-shot img.is-loaded{opacity:1}@media (prefers-reduced-motion:reduce){.lightbox-shot img{transition:none}}.ask-ai-scrim.is-anchored{background:#09090b24;padding:0;display:block}.ask-ai-scrim.is-anchored .ask-ai-panel{transform-origin:bottom;animation:.2s cubic-bezier(.2,0,0,1) ask-ai-rise-anchored;position:fixed}@keyframes ask-ai-rise-anchored{0%{opacity:0;transform:translateY(8px)scale(.985)}}.ask-ai-panel{background:color-mix(in srgb, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);border-color:#ffffffd9}html[data-theme=dark] .ask-ai-panel{background:#11110fe0;border-color:#ffffff1a}.ask-ai-titles{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.ask-ai-subtitle{color:var(--muted);text-wrap:pretty;font-size:11.5px;line-height:16px}@media (prefers-reduced-motion:reduce){.ask-ai-scrim.is-anchored .ask-ai-panel{animation:none}}.ask-ai-questions{flex-direction:column;gap:8px;display:flex;overflow:visible}.ask-ai-question{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 70%, transparent);letter-spacing:-.01em;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:none;padding:11px 12px 11px 14px;font-size:13px;font-weight:500;line-height:18px;display:flex}.ask-ai-question>span{text-align:left;flex:auto}.ask-ai-question svg{color:color-mix(in srgb, currentColor 45%, transparent);flex:none}.ask-ai-question:hover:not(:disabled){background:color-mix(in srgb, currentColor 5%, var(--bg))}.ask-ai-question:disabled{cursor:default;opacity:.5}.ask-ai-pick{justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;display:flex}.ask-ai-left{color:var(--muted);font-weight:400}.ask-ai-panel{height:auto;max-height:min(720px,100dvh - 128px)}.ask-ai-suggestions .ask-ai-question{letter-spacing:-.01em;font-size:13px;font-weight:500;line-height:18px}.ask-ai-suggestions>p.ask-ai-pick{font-weight:500}.ask-ai-suggestions>p.ask-ai-note{font-size:10.5px;font-weight:400;line-height:15px}.ask-ai-suggestions>button.ask-ai-pick{background:color-mix(in srgb, currentColor 6%, transparent);width:100%;min-height:40px;color:inherit;cursor:pointer;font:inherit;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px 0 14px;font-size:13px;font-weight:500;line-height:18px;transition:background-color .16s;display:flex}.ask-ai-suggestions>button.ask-ai-pick:hover{background:color-mix(in srgb, currentColor 10%, transparent)}.ask-ai-pick .ask-ai-left{background:color-mix(in srgb, currentColor 12%, transparent);color:inherit;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px}.ask-ai-pick>span:first-child{text-align:left;flex:auto}.ask-ai-pick-caret{flex:none;transition:transform .16s}.ask-ai-pick[aria-expanded=false] .ask-ai-pick-caret{transform:rotate(-90deg)}.ask-ai-questions[hidden]{display:none}.ask-ai-questions:not([hidden]){margin-top:8px}@media (prefers-reduced-motion:reduce){.ask-ai-pick-caret{transition:none}}.ask-ai-related>div{flex-direction:column;align-items:flex-start}.ask-ai-related a.ask-ai-related-more{color:var(--muted);border:0;border-radius:0;align-self:flex-start;gap:5px;margin-top:1px;padding:7px 2px}.ask-ai-related a.ask-ai-related-more:hover{color:inherit;text-underline-offset:3px;background:0 0;text-decoration:underline}.ask-ai-contact{margin-top:12px}.ask-ai-contact a:focus-visible{outline-offset:2px;outline:2px solid}.ask-ai-suggestions>p.ask-ai-note{margin-top:12px}.ask-ai-arrow{flex:none}.about-section .about-body p:last-child,.personal-about p:last-child{margin-bottom:0}.portfolio-hero{height:auto}@media (width<=1024px) and (orientation:landscape) and (height<=820px){.ask-ai-scrim{align-items:center;padding:16px}.ask-ai-panel{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;width:min(680px,100% - 32px);max-height:calc(100dvh - 32px)}html[data-theme=dark] .ask-ai-panel{background:#11110f}.ask-ai-suggestions{overscroll-behavior:contain;min-height:0;max-height:calc(100dvh - 180px);overflow-y:auto}}@media (orientation:landscape) and (height<=820px){.lightbox-scrim{padding:52px 64px 18px}.lightbox-chrome{padding:14px 18px}.lightbox-content{grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center;gap:20px;width:min(1000px,100vw - 160px);max-width:none;max-height:calc(100dvh - 70px);display:grid}.lightbox-shot-wrap{flex-direction:column;align-items:center;min-width:0;display:flex;width:100%!important}.lightbox-shot{width:100%;max-height:calc(100dvh - 120px)}.lightbox-shot img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 168px)}.lightbox-caption{overscroll-behavior:contain;max-height:calc(100dvh - 112px);overflow-y:auto;width:auto!important}.lightbox-prev{left:18px}.lightbox-next{right:18px}.image-lightbox{gap:8px;padding:10px 16px 12px}.image-lightbox .lightbox-zoom-dock{margin-top:6px}}@media (width<=767px){.portfolio-header{width:min(374px,100% - 16px)}}.portfolio-section>.section-title{border-bottom:1px solid var(--edge);align-items:center;height:73px;min-height:73px;margin:0;padding:12px 16px;font-size:32px;line-height:48px;display:flex}.personal-currently,.connect-section{height:auto}.blog-section>a:not(.all-posts):first-of-type{border-top:0}@media (width<=767px){.portfolio{--content-inset:14px}.portfolio-section>.section-title{height:56px;min-height:56px;padding:12px 16px;font-size:24px;line-height:31px}}.personal-currently>.currently-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;height:auto;padding:16px;display:grid}.currently-list>.empty-state{grid-column:1/-1}.personal-currently .currently-card{border:1px solid var(--edge);border-radius:14px;align-items:center;gap:14px;height:auto;padding:14px;display:flex;position:relative}.currently-cover{object-fit:cover;border-radius:6px;flex:0 0 56px;width:56px;height:84px}.currently-content{overflow-wrap:anywhere;flex:1;gap:4px;min-width:0;display:grid}@media (width<=767px){.personal-currently>.currently-list{grid-template-columns:minmax(0,1fr)}}.about-section .about-body,.personal-about>div,.work-grid,.exploration-grid,.personal-writing>div,.personal-gallery>.gallery-grid,.personal-currently>.currently-list,.index-header,.index-body,.exploration-masonry,.article-header,.article-body,.article-meta>div,.related-header,.related-grid,.blog-year-header,.blog-post-row{padding:var(--content-inset)}.work-grid>.empty-state,.exploration-grid>.empty-state,.personal-writing>div>.empty-state,.personal-gallery>.gallery-grid>.empty-state{grid-column:1/-1}.currently-progress{appearance:none;background:var(--edge);width:100%;height:4px;color:inherit;border:0;border-radius:999px;margin:6px 0;display:block;overflow:hidden}.currently-progress::-webkit-progress-bar{background:var(--edge);border-radius:999px}.currently-progress::-webkit-progress-value{background:currentColor;border-radius:999px}.currently-progress::-moz-progress-bar{background:currentColor;border-radius:999px}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.error-state{border:1px solid var(--edge);text-align:center;flex-direction:column;align-items:center;padding:72px 24px 88px;display:flex}.article-header+.error-state{border-top:0}.error-state-art{width:240px;max-width:100%;height:auto;color:color-mix(in srgb, currentColor 55%, transparent);margin-bottom:28px}.error-state-art-fill{fill:#fcfaf6}html[data-theme=dark] .error-state-art-fill{fill:#11110f}.error-state-code{color:color-mix(in srgb, currentColor 55%, transparent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:500}.error-state h1{letter-spacing:-.02em;margin:0;font-size:32px;font-weight:600;line-height:1.15}.error-state-text{max-width:40ch;color:color-mix(in srgb, currentColor 62%, transparent);margin:12px 0 0;font-size:15px;line-height:1.6}.error-state-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.error-state-primary,.error-state-secondary{min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;padding:0 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.error-state .error-state-primary{color:#fafafa;background:#18181b}.error-state-secondary{border-color:color-mix(in srgb, currentColor 18%, transparent);color:inherit;background:0 0}html[data-theme=dark] .error-state .error-state-primary{color:#09090b;background:#f5f5f3}.error-state-primary:hover{opacity:.88}.error-state-secondary:hover{background:color-mix(in srgb, currentColor 6%, transparent)}@media (width<=700px){.error-state{padding:48px 24px 64px}.error-state-art{width:200px;margin-bottom:24px}.error-state h1{font-size:26px}}:root{--duration-micro:80ms;--duration-quick:.15s;--duration-fast:.25s;--duration-medium:.35s;--duration-slow:.4s;--duration-very-slow:.5s;--ease-smooth-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:ease-in-out;--ease-out:ease-out;--ease-linear:linear;--ease-bounce:cubic-bezier(.34, 1.36, .64, 1);--ease-bounce-strong:cubic-bezier(.34, 3.85, .64, 1);--scale-tiny:.99;--scale-small:.98;--scale-medium:.97;--scale-large:.96}.article-link-card,.article-link-cta,.ask-ai-question{transition:border-color var(--duration-fast) var(--ease-smooth-out), background var(--duration-fast) var(--ease-smooth-out), color var(--duration-fast) var(--ease-smooth-out)}.website-preview button,.website-preview-actions a,.website-preview-device-switcher button[aria-pressed=true],.ask-ai-related a,.ask-ai-related a.ask-ai-related-more{transition:background var(--duration-fast) var(--ease-smooth-out), color var(--duration-fast) var(--ease-smooth-out)}.share-button,.article-code-copy,.ask-ai-close,.ask-ai-fallback,.error-state-secondary{transition:background var(--duration-fast) var(--ease-smooth-out)}.lightbox-nav,.lightbox-close{transition:background var(--duration-quick) var(--ease-smooth-out)}.error-state .error-state-primary{transition:opacity var(--duration-fast) var(--ease-smooth-out)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ask-ai-body{gap:12px}.ask-ai-intro{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-size:12.5px;line-height:18px;display:flex}.ask-ai-intro>span:last-child{color:var(--muted)}.ask-ai-badge{background:color-mix(in srgb, currentColor 8%, transparent);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;line-height:16px}.ask-ai-faq{flex-direction:column;gap:8px;display:flex}.ask-ai-faq-item{border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 70%, transparent);transition:border-color var(--duration-quick) var(--ease-smooth-out);border-radius:12px}.ask-ai-faq-item.is-open{border-color:color-mix(in srgb, currentColor 22%, var(--border))}.ask-ai-faq-head{align-items:center;display:flex}.ask-ai-faq-item .ask-ai-question{min-width:0;color:inherit;letter-spacing:-.01em;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:auto;margin:0;padding:12px 12px 12px 14px;font-size:13px;font-weight:500;line-height:18px}.ask-ai-faq-item .ask-ai-question:hover:not(:disabled){background:0 0}.ask-ai-faq-item:not(.is-pending):hover{border-color:color-mix(in srgb, currentColor 22%, var(--border))}.ask-ai-faq-item .ask-ai-question svg{transition:transform var(--duration-quick) var(--ease-smooth-out)}.ask-ai-faq-item.is-open .ask-ai-question svg{transform:rotate(180deg)}.ask-ai-faq-answer{padding:0 14px 14px;animation:.18s ease-out ask-ai-message-in}.ask-ai-faq-answer[hidden]{display:none}.ask-ai-faq-answer .ask-ai-related{margin-top:12px;padding-top:12px}.ask-ai-faq-answer .ask-ai-typing{justify-content:flex-start;min-width:0}.ask-ai-yours{color:var(--muted);margin:0 0 6px;font-size:11px;font-weight:600}.ask-ai-faq-item .ask-ai-question>span:first-child{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ask-ai-faq-item.is-open .ask-ai-question>span:first-child{-webkit-line-clamp:unset;display:block}.ask-ai-question>.ask-ai-yours-tag{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--muted);border-radius:999px;flex:none;padding:1px 7px;font-size:10.5px;font-weight:600;line-height:15px}.ask-ai-remove{color:inherit;font:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px;cursor:pointer;transition:color var(--duration-quick) var(--ease-smooth-out);background:0 0;border:0;padding:0}.ask-ai-remove:hover,.ask-ai-remove:focus-visible{color:var(--fg)}html[data-theme=dark] .ask-ai-remove:hover,html[data-theme=dark] .ask-ai-remove:focus-visible{color:#f5f5f3}.ask-ai-faq-skeleton{background:color-mix(in srgb, currentColor 6%, transparent);border-radius:12px;height:44px;animation:1.4s ease-in-out infinite skeleton-pulse}.ask-ai-ask{border:1px solid var(--border);background:var(--bg);transition:border-color var(--duration-quick) var(--ease-smooth-out);border-radius:999px;align-items:center;gap:8px;padding:4px 4px 4px 14px;display:flex}.ask-ai-ask:focus-within{border-color:color-mix(in srgb, currentColor 40%, var(--border))}.ask-ai-ask input{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:auto;padding:6px 0;font-size:13px}.ask-ai-ask input::placeholder{color:var(--muted)}.ask-ai-ask button{color:#fafafa;cursor:pointer;width:32px;height:32px;transition:opacity var(--duration-quick) var(--ease-smooth-out);background:#18181b;border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:grid}html[data-theme=dark] .ask-ai-ask button{color:#09090b;background:#f5f5f3}.ask-ai-ask button:disabled{cursor:default;opacity:.3}.ask-ai-ask-message{margin:8px 0 0;font-size:12px;line-height:17px}.ask-ai-retry{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.ask-ai-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=700px){.ask-ai-ask input{font-size:16px}.ask-ai-ask input::placeholder{font-size:14px}}@media (prefers-reduced-motion:reduce){.ask-ai-faq-answer,.ask-ai-faq-skeleton{animation:none}}.motion-player{background:#18181b;border-radius:12px;width:100%;min-width:0;overflow:hidden}.motion-stage{aspect-ratio:16/9;place-items:center;width:100%;max-height:min(480px,70dvh);display:grid;position:relative;overflow:hidden}.motion-stage>video,.motion-stage>iframe,.motion-stage>img{object-fit:contain;border:0;width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;display:block}.motion-start{color:#fafafa;width:100%;height:100%;font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:16px;display:grid;position:relative}.motion-start img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.motion-play-label{color:#fafafa;background:#000c;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;line-height:20px;display:flex;position:relative}.motion-loading{color:#fff;pointer-events:none;background:#000c;padding:4px 8px;font-family:inherit;font-size:12px;line-height:20px;position:absolute;top:12px;left:12px}.motion-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px;display:flex}.motion-actions button,.motion-actions a{color:#f5f5f3;white-space:nowrap;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-smooth-out), background var(--duration-fast) var(--ease-smooth-out), color var(--duration-fast) var(--ease-smooth-out);background:0 0;border:1px solid #3f3f3a;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-family:inherit;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.motion-actions button:hover,.motion-actions a:hover{color:#11110f;background:#f5f5f3;border-color:#f5f5f3}.motion-player :focus-visible{outline-offset:-3px;outline:2px solid #fff}.motion-badge{color:#fff;background:#00000040;place-items:center;width:100%;height:100%;font:600 13px/20px Inter,sans-serif;display:grid}.lightbox-shot.has-motion{width:min(900px,100vw - 120px);max-height:none;display:block}.lightbox-shot.has-motion .motion-stage{aspect-ratio:auto;height:min(480px,52dvh)}.lightbox-shot.has-motion .motion-stage img{opacity:1;box-shadow:none;border-radius:0;max-height:100%}@media (width<=767px){.lightbox-shot.has-motion{width:calc(100vw - 24px)}}@media (orientation:landscape) and (height<=820px){.lightbox-shot.has-motion{width:100%}.lightbox-shot.has-motion .motion-stage{height:calc(100dvh - 150px)}}.letter-footer{--letter-guide:36px;--letter-line:#09090b0f;--letter-plus:#09090b33;--canvas-thread:#4135230e;--canvas-highlight:#ffffff59;--canvas-frame:#d8cbb7;--canvas-frame-edge:#9c8a70;--canvas-frame-highlight:#faf6ed;--canvas-frame-shadow:#b7a58a;background-color:#fafaf7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23808080' opacity='.12' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"), repeating-linear-gradient(0deg, var(--canvas-thread) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, var(--canvas-highlight) 0 1px, var(--canvas-thread) 1px 2px, transparent 2px 4px);box-shadow:none;color:#09090b;grid-template:"body art""sign art""ctas art"/minmax(0,372px) minmax(0,1fr);gap:28px 40px;padding:64px 57px;display:grid;position:relative}.letter-footer:before,.letter-footer:after{content:"";pointer-events:none;position:absolute;inset:0}.letter-footer:before{background:linear-gradient(var(--letter-line), var(--letter-line)) left 0 top var(--letter-guide) / 100% 1px no-repeat, linear-gradient(var(--letter-line), var(--letter-line)) left 0 bottom var(--letter-guide) / 100% 1px no-repeat, linear-gradient(var(--letter-line), var(--letter-line)) left var(--letter-guide) top 0 / 1px 100% no-repeat, linear-gradient(var(--letter-line), var(--letter-line)) right var(--letter-guide) top 0 / 1px 100% no-repeat}.letter-footer:after{z-index:2;box-shadow:inset 0 0 0 1px var(--canvas-frame-edge), inset 1px 1px 0 2px var(--canvas-frame-highlight), inset -1px -1px 0 2px var(--canvas-frame-shadow), inset 0 0 0 7px var(--canvas-frame), inset 0 0 0 8px var(--canvas-frame-edge), inset 0 10px 10px -7px #00000040;background:linear-gradient(var(--letter-plus), var(--letter-plus)) left calc(var(--letter-guide) - 6px) top var(--letter-guide) / 12px 1px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) left var(--letter-guide) top calc(var(--letter-guide) - 6px) / 1px 12px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) right calc(var(--letter-guide) - 6px) top var(--letter-guide) / 12px 1px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) right var(--letter-guide) top calc(var(--letter-guide) - 6px) / 1px 12px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) left calc(var(--letter-guide) - 6px) bottom var(--letter-guide) / 12px 1px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) left var(--letter-guide) bottom calc(var(--letter-guide) - 6px) / 1px 12px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) right calc(var(--letter-guide) - 6px) bottom var(--letter-guide) / 12px 1px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) right var(--letter-guide) bottom calc(var(--letter-guide) - 6px) / 1px 12px no-repeat}.letter-body{flex-direction:column;grid-area:body;gap:14px;min-width:0;display:flex}.letter-body p{color:#3f3f46;margin:0;font-size:16px;line-height:26px}.letter-sign{flex-direction:column;grid-area:sign;align-items:flex-start;min-width:0;display:flex}.letter-sign strong{letter-spacing:-.35px;font-size:14px;font-weight:500;line-height:20px}.letter-sign span{color:#606069;margin-top:2px;font-size:13px;line-height:20px}.letter-signature{flex:none;width:62px;height:108px;margin-bottom:12px;display:block;overflow:visible}.letter-signature path{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1.1;stroke-dashoffset:0}.letter-signature.is-armed path{stroke-dashoffset:1.05px}.letter-signature.is-drawing path{stroke-dashoffset:0;transition:stroke-dashoffset var(--stroke-time,.2s) cubic-bezier(.45, 0, .25, 1) var(--stroke-delay,0s)}.letter-signature path:first-child{--stroke-time:.9s}.letter-signature path:nth-child(2){--stroke-time:.45s;--stroke-delay:.9s}.letter-signature path:nth-child(3){--stroke-time:.3s;--stroke-delay:1.35s}.letter-signature path:nth-child(4){--stroke-time:.25s;--stroke-delay:1.65s}.letter-signature path:nth-child(5){--stroke-time:.15s;--stroke-delay:1.95s}.letter-signature path:nth-child(6){--stroke-time:.15s;--stroke-delay:2.15s}.letter-ctas{flex-wrap:wrap;grid-area:ctas;gap:12px;display:flex}.letter-ctas a{color:#09090b;background:#fff;border:1px solid #09090b1f;border-radius:8px;align-items:center;gap:6px;height:28px;padding:0 12px 0 10px;font-size:13px;font-weight:500;line-height:18px;display:inline-flex}.letter-ctas img{filter:invert();width:14px;height:14px}.letter-art{grid-area:art;min-width:0;min-height:0;margin:-24px -48px -40px 0;position:relative}.letter-art img{object-fit:contain;object-position:right bottom;width:100%;height:100%;position:absolute;inset:0}.letter-art-dark{opacity:0}html[data-theme=dark] .letter-footer{--letter-line:#ffffff0f;--letter-plus:#fff3;--canvas-thread:#0000003d;--canvas-highlight:#ffffff09;--canvas-frame:#38352e;--canvas-frame-edge:#625c4d;--canvas-frame-highlight:#817760;--canvas-frame-shadow:#171612;box-shadow:none;color:#f5f5f3;background-color:#11110f}html[data-theme=dark] .letter-sign span{color:#b8b8b2}html[data-theme=dark] .letter-body p{color:#e4e4df}html[data-theme=dark] .letter-ctas a{color:#fafafa;background:#ffffff14;border-color:#ffffff26}html[data-theme=dark] .letter-ctas img{filter:none}html[data-theme=dark] .letter-art-light{opacity:0}html[data-theme=dark] .letter-art-dark{opacity:1}.portfolio-column:not(.index-page):has(.letter-footer){padding-bottom:44px}@media (width<=767px){.portfolio-column:not(.index-page):has(.letter-footer){padding-bottom:42px}}@media (width<=500px){.portfolio-column:not(.index-page):has(.letter-footer){padding-bottom:36px}}@media (width<=767px){.letter-footer{--letter-guide:14px;grid-template:"body""sign""ctas"/minmax(0,1fr);row-gap:24px;padding:36px 28px;overflow:hidden}.letter-footer:after{background:linear-gradient(var(--letter-plus), var(--letter-plus)) left calc(var(--letter-guide) - 6px) top var(--letter-guide) / 12px 1px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) left var(--letter-guide) top calc(var(--letter-guide) - 6px) / 1px 12px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) right calc(var(--letter-guide) - 6px) top var(--letter-guide) / 12px 1px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) right var(--letter-guide) top calc(var(--letter-guide) - 6px) / 1px 12px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) left calc(var(--letter-guide) - 6px) bottom var(--letter-guide) / 12px 1px no-repeat, linear-gradient(var(--letter-plus), var(--letter-plus)) left var(--letter-guide) bottom calc(var(--letter-guide) - 6px) / 1px 12px no-repeat}.letter-body,.letter-sign,.letter-ctas{z-index:1;position:relative}.letter-art{aspect-ratio:2/3;grid-area:2/1/-1/-1;place-self:stretch end;margin:0 -52px -92px 0}.letter-art img{object-position:right bottom}.letter-body p{font-size:15px;line-height:24px}}.work-card header div{gap:0}.work-card header b{line-height:20px}.work-card header small{line-height:16px}.work-card footer{height:22px}.work-card em{border:1px solid var(--border);height:22px;color:var(--muted);background:#fafafa;border-radius:8px;padding:0 6px;font-size:11.5px;line-height:16px}html[data-theme=dark] .work-card em{color:#b8b8b2;background:#22221f;border-color:#3f3f3a}.index-card-meta>p{-webkit-line-clamp:2;line-clamp:2}.letter-footer.is-quiet{grid-template-rows:auto auto;grid-template-areas:"body art""sign art"}@media (width<=767px){.letter-footer.is-quiet{grid-template-rows:auto auto;grid-template-areas:"body""sign"}}.site-footer{padding:40px var(--content-inset);text-align:center;flex-direction:column;align-items:center;display:flex;box-shadow:inset 0 0 0 1px #eeece8}.site-footer .footer-logo{width:auto;height:24px;margin:0 0 12px;display:block}.site-footer p{letter-spacing:-.2px;margin:0;font-size:14px;font-weight:500;line-height:20px}.site-footer small{color:var(--muted);margin-top:2px;font-size:12px;line-height:18px}html[data-theme=dark] .site-footer{box-shadow:inset 0 0 0 1px #3f3f3a}html[data-theme=dark] .site-footer small{color:#b8b8b2}
