@font-face{font-family:Season Sans;src:url(/fonts/season-sans-300.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Season Sans;src:url(/fonts/season-sans-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Season Sans;src:url(/fonts/season-sans-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Season Mix;src:url(/fonts/season-mix-300.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Season Mix;src:url(/fonts/season-mix-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Season Mix;src:url(/fonts/season-mix-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Season Mix;src:url(/fonts/season-mix-300-italic.woff2)format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Season Mix;src:url(/fonts/season-mix-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--ink:#0c0e11;--ink-2:#14171c;--bone:#e7e3dc;--ash:#8b8f97;--hair:#e7e3dc1f;--sunstone:#e0814f;--slate:#34505a;--display:"Season Sans", "Helvetica Neue", Arial, sans-serif;--serif:"Season Mix", Georgia, serif;--ease:cubic-bezier(.7, 0, .2, 1);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--ink)}body{background:var(--ink);color:var(--bone);font:400 17px/1.6 var(--display);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--sunstone);outline-offset:3px}img{max-width:100%;display:block}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}#gl{z-index:0;outline:none;width:100vw;height:100lvh;display:block;position:fixed;inset:0}html:not(.is-home) #gl{visibility:hidden}html.is-home #gl{cursor:default}html.is-pointer #gl{cursor:pointer}.grain{z-index:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:.9s steps(4,end) infinite grain;position:fixed;inset:-50%}html.is-home .grain,html[data-page=works] .grain{display:none}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}to{transform:translate(0)}}.nav{z-index:50;padding:calc(18px + env(safe-area-inset-top,0px)) 28px 40px;pointer-events:none;font:400 15px/1 var(--display);letter-spacing:-.005em;color:var(--bone);text-shadow:0 1px 12px #00000059;background:linear-gradient(#080a0c6b,#080a0c00);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;display:grid;position:fixed;inset:0 0 auto}.nav a{pointer-events:auto;color:inherit;text-decoration:none}.nav .brand{font:600 21px/1 var(--serif);letter-spacing:-.015em;justify-self:start}.nav .clock{color:#e7e3dcbf;font-variant-numeric:tabular-nums;font-size:14px}.nav .links{justify-self:end;align-items:center;gap:28px;display:flex}.nav .links a:not(.talk){opacity:.8;padding:6px 0;transition:opacity .2s;position:relative}.nav .links a:not(.talk):after{content:"";transform-origin:100%;height:1px;transition:transform .35s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav .links a:not(.talk):hover,.nav .links a[aria-current=page]{opacity:1}.nav .links a:not(.talk):hover:after,.nav .links a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.nav .talk{background:var(--bone);text-shadow:none;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-weight:500;transition:background .25s,transform .25s;display:inline-flex;color:var(--ink)!important}.nav .talk span{transition:transform .25s var(--ease)}.nav .talk:hover{background:var(--sunstone)}.nav .talk:hover span{transform:translate(3px)}.lbl{font:400 15px/1.4 var(--display);letter-spacing:0;color:var(--ash)}.lbl.c{color:var(--sunstone)}.loader{--p:0;--edge:28px;z-index:60;background:var(--ink);padding:24px var(--edge) 0;font:400 14px/1.2 var(--display);color:var(--ash);transition:opacity .9s var(--ease), visibility .9s;grid-template-rows:auto 1fr auto auto auto;display:grid;position:fixed;inset:0}.loader-row{justify-content:space-between;gap:16px;display:flex}.loader-meta{grid-row:3;justify-content:space-between;align-items:baseline;gap:16px;padding:0 2px 12px;display:flex}.loader-status{color:var(--bone)}.loader-pct{font-variant-numeric:tabular-nums;color:var(--bone)}.loader-pct b{font-weight:400}.loader-bar{background:var(--hair);grid-row:4;height:1px;overflow:hidden}.loader-bar i{background:var(--sunstone);transform-origin:0;height:100%;transform:scaleX(var(--p));display:block}.loader-name{--fs:calc((100vw - var(--edge) * 2) / 5.43);padding:10px 0 calc(34px + var(--fs) * .16);grid-row:5;justify-content:center;display:flex}.loader-name span{white-space:nowrap;font:300 var(--fs)/.88 var(--serif);letter-spacing:-.025em;color:#0000;-webkit-text-stroke:1px #e7e3dc33;display:block;position:relative}.loader-name span:after{content:attr(data-text);color:var(--bone);-webkit-text-stroke:0;clip-path:inset(calc((1 - var(--p)) * 100%) -.2em -.3em -.2em);position:absolute;inset:0}html.loaded .loader{opacity:0;visibility:hidden;pointer-events:none}html:not(.is-home) .loader{display:none}[data-barba=container]{z-index:1;position:relative}.home-scroll{height:1250vh}.page{min-height:100vh;padding:calc(140px + env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) 0 max(20px, env(safe-area-inset-left,0px));background:linear-gradient(180deg, #0c0e118c, #0c0e11e0 40vh, var(--ink) 90vh)}.page-inner{gap:28px;max-width:1120px;margin:0 auto;display:grid}.page h1{font:300 clamp(44px, 8vw, 112px)/.98 var(--display);letter-spacing:-.045em;text-wrap:balance;margin:0}.page h1.name{font-family:var(--serif);letter-spacing:-.025em;font-weight:300}.page h1 em,.page h2 em{font-family:var(--serif);color:var(--sunstone);letter-spacing:-.01em;font-style:italic;font-weight:400}.page h2{font:300 clamp(30px, 4vw, 48px)/1.05 var(--display);letter-spacing:-.035em;text-wrap:balance;margin:0}.page h3{font:400 22px/1.2 var(--display);letter-spacing:-.02em;margin:0}.page p{max-width:64ch;margin:0}.page .lead{color:var(--ash);max-width:52ch;font-size:20px}.page section{gap:22px;padding-top:96px;display:grid}.rows{border-top:1px solid var(--hair)}.row{border-bottom:1px solid var(--hair);transition:padding .5s var(--ease), color .3s;grid-template-columns:56px 1.2fr 1.6fr auto;align-items:baseline;gap:24px;padding:24px 0;text-decoration:none;display:grid}.row:hover{color:var(--sunstone);padding-left:12px}.row .i{font:400 15px var(--display);color:var(--ash);font-variant-numeric:tabular-nums}.row h3{font-size:24px}.row p{color:var(--ash);font-size:15px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{font:400 13px/1 var(--display);letter-spacing:0;border:1px solid var(--hair);color:var(--bone);white-space:nowrap;border-radius:999px;padding:6px 9px}.tag.sample{border-color:var(--sunstone);color:var(--sunstone)}.row .hl{font:300 28px/1.1 var(--display);letter-spacing:-.03em;color:var(--bone);margin-bottom:6px;display:block}.row .hl span{font:400 15px var(--display);letter-spacing:0;color:var(--ash);margin-left:6px}.grid3{background:var(--hair);border:1px solid var(--hair);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.grid3>div{background:var(--ink);align-content:start;gap:14px;min-width:0;padding:28px;display:grid}.grid3 .n{font:400 15px var(--display);color:var(--sunstone)}.grid3 p{color:var(--ash)}.btn{cursor:pointer;background:var(--bone);color:var(--ink);font:500 15px var(--display);transition:transform .4s var(--ease), background .3s;border:0;border-radius:999px;justify-self:start;align-items:center;gap:10px;padding:14px 22px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--sunstone);transform:translateY(-2px)}.footer{padding:0 0 calc(28px + env(safe-area-inset-bottom,0px));color:var(--ash);gap:clamp(48px,6vw,88px);margin-top:clamp(120px,14vw,200px);display:grid}.footer a{color:var(--bone);text-decoration:none;transition:color .3s}.footer a:hover{color:var(--sunstone)}.ft-top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:40px 64px;display:flex}.ft-cta{justify-items:start;gap:14px;display:grid}.footer .ft-lead{font:300 clamp(26px, 2.6vw, 38px)/1.15 var(--display);letter-spacing:-.02em;color:var(--bone);max-width:22ch;margin:0}.footer .ft-mail{text-underline-offset:5px;font-size:clamp(17px,1.4vw,20px);text-decoration:underline #e7e3dc4d}.footer .ft-cta .btn{background:var(--sunstone);color:var(--ink);margin-top:8px}.footer .ft-cta .btn:hover{background:var(--bone)}.ft-cols{gap:clamp(40px,6vw,96px);display:flex}.ft-cols h4{font:400 15px var(--display);color:#e7e3dc99;margin:0 0 14px}.ft-cols ul{gap:8px;margin:0;padding:0;font-size:17px;list-style:none;display:grid}.ft-mark{--mx:50%;--my:50%;--r:clamp(180px, 22vw, 340px);--on:0;white-space:nowrap;user-select:none;cursor:default;width:100%;min-width:0;margin:0;line-height:.92;position:relative;max-width:none!important}.ft-mark span{width:max-content;font:300 var(--fs,10.4vw)/.92 var(--serif);letter-spacing:-.035em;padding-bottom:.08em;display:block}.ft-base{color:#e7e3dc09;-webkit-text-stroke:1px #e7e3dc29}.ft-lit{pointer-events:none;color:#0000;-webkit-text-stroke:1px #9a3d15;background:radial-gradient(circle var(--r) at var(--mx) var(--my), #fff1df 0%, #ffbf8a 18%, #f39a5e 38%, #e0814f 58%, #b0501f 82%, #7a3313 100%);-webkit-mask-image:radial-gradient(circle var(--r) at var(--mx) var(--my), #000 0%, #000 42%, transparent 78%);mask-image:radial-gradient(circle var(--r) at var(--mx) var(--my), #000 0%, #000 42%, transparent 78%);opacity:var(--on);-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.ft-glow{pointer-events:none;color:#f5904f;filter:blur(18px);-webkit-mask-image:radial-gradient(circle calc(var(--r) * .8) at var(--mx) var(--my), #000 0%, transparent 78%);mask-image:radial-gradient(circle calc(var(--r) * .8) at var(--mx) var(--my), #000 0%, transparent 78%);opacity:calc(var(--on) * .95);position:absolute;inset:0}.ft-bottom{color:#e7e3dc99;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;font-size:14px;display:flex}.ft-credits{flex-wrap:wrap;gap:4px 18px;display:flex}html.no-webgl .home-scroll{display:none}html.no-webgl .home-copy{clip:auto!important;white-space:normal!important;width:auto!important;height:auto!important;margin:0!important;position:static!important;overflow:visible!important}.home-copy{max-width:900px;margin:0 auto;padding:140px 20px 60px}.home-copy h1{font:300 clamp(48px, 10vw, 120px)/1 var(--display);letter-spacing:-.045em;margin:0 0 12px}@media (width<=760px){.nav{padding:calc(14px + env(safe-area-inset-top,0px)) 16px 32px;grid-template-columns:1fr auto;gap:12px}.nav .clock{display:none}.nav .brand{white-space:nowrap;font-size:18px}.nav .links{gap:14px;font-size:14px}.nav .talk{white-space:nowrap;padding:9px 12px}.row{grid-template-columns:36px 1fr}.row p,.row .tags{grid-column:2}.grid3{grid-template-columns:1fr}.loader{--edge:16px;padding-top:18px}.loader-name{padding-bottom:calc(40px + var(--fs) * .16)}}@media (prefers-reduced-motion:reduce){.grain{animation:none}.row,.btn{transition:none}}.cs-back{flex-wrap:wrap;gap:10px 28px;margin-bottom:clamp(36px,5vw,64px);display:flex}.cs-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:24px clamp(32px,5vw,88px);display:grid}.cs .pf-name{text-wrap:balance;font-size:clamp(56px,8.6vw,148px)}.cs-intro{gap:20px;display:grid}.pf .cs-facts{color:var(--sunstone);font-size:16px}.pf .cs-note{color:#e7e3dca8;font-size:16px}.cs-media{margin:clamp(48px, 6vw, 88px) calc(-1 * var(--edge)) 0;aspect-ratio:1280/656;background:var(--bg,#15130f);overflow:hidden}.cs-media video,.cs-media img{object-fit:cover;width:100%;height:100%;display:block}.cs-logo{place-content:center;justify-items:center;gap:28px;height:100%;display:grid}.cs-logo img{mix-blend-mode:lighten;width:min(46%,560px);height:auto}.cs-logo span{color:#e7e3dcb8;font-size:17px}.cs-prose{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:18px 32px;display:grid}.pf .cs-prose>*{grid-column:2;margin:0}.pf .cs-prose>h2{grid-column:1;margin-top:96px}.pf .cs-prose>h2:first-child{margin-top:0}.pf .cs-prose>h2+*{margin-top:96px}.pf .cs-prose>h2:first-child+*{margin-top:0}.cs-prose ul{gap:12px;padding-left:1.1em;display:grid}.cs-prose li{color:#e7e3dcdb;font-size:18px;line-height:1.6}.cs-prose li::marker{color:var(--sunstone)}.cs-prose strong{color:var(--bone);font-weight:500}.cs-stack h2,.cs-next h2{margin-bottom:40px}.cs-next-link{color:inherit;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(28px,4vw,64px);text-decoration:none;display:grid}.cs-next-link figure{aspect-ratio:16/10;background:var(--bg,#15130f);margin:0;overflow:hidden}.cs-next-link img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease);display:block}.cs-next-link img.is-logo{object-fit:contain;mix-blend-mode:lighten;padding:14% 18%}.cs-next-link:hover img{transform:scale(1.035)}.cs-next-link>div{gap:14px;display:grid}.pf .cs-next-link h3{font:300 clamp(40px, 4.4vw, 68px)/1 var(--serif);letter-spacing:-.025em;transition:color .3s}.cs-next-link:hover h3{color:var(--sunstone)}.pf .cs-next-link p{font:300 clamp(20px, 1.7vw, 24px)/1.3 var(--display);color:var(--bone)}.cs-next-link:hover .pf-more{transform:translate(6px)}.pf-more{color:var(--sunstone);transition:transform .4s var(--ease);justify-self:start;font-size:16px}@media (width<=900px){.cs-hero,.cs-prose,.cs-next-link{grid-template-columns:1fr}.pf .cs-prose>*,.pf .cs-prose>h2{grid-column:1}.pf .cs-prose>h2+*{margin-top:0}.pf .cs-prose>h2{margin-top:56px}.pf .cs-prose>h2:first-child{margin-top:0}}.fc{width:100%;position:relative;overflow:hidden}.fc__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.fc--drag .fc__canvas{cursor:grab;touch-action:pan-y}.fc--drag.fc--link .fc__canvas{cursor:pointer}.fc--drag[data-dragging] .fc__canvas{cursor:grabbing}.works{min-height:100svh;padding:calc(96px + env(safe-area-inset-top,0px)) 0 calc(32px + env(safe-area-inset-bottom,0px));align-content:center;gap:clamp(20px,4vh,48px);display:grid}.works-title{text-align:center;font:300 clamp(40px, 6vw, 88px)/1 var(--serif);letter-spacing:-.025em;color:var(--bone);margin:0}.works-row{width:100%}.works-drag{text-align:center;font:400 15px/1 var(--display);color:var(--ash);transition:opacity .6s var(--ease);margin:0}.works-drag .l,.works-drag .r{color:var(--sunstone);animation:nudge 1.6s var(--ease) infinite;display:inline-block}.works-drag .l{animation-name:nudge-l}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes nudge-l{0%,to{transform:translate(0)}50%{transform:translate(-6px)}}.works:has(.works-row[data-dragged]) .works-drag{opacity:0}@media (pointer:coarse){.works-drag .t:before{content:"Swipe to explore"}.works-drag .t{font-size:0}.works-drag .t:before{font-size:15px}}@media (prefers-reduced-motion:reduce){.works-drag .l,.works-drag .r{animation:none}}.fc-hint{z-index:45;pointer-events:none;white-space:nowrap;background:var(--bone);color:var(--ink);font:500 14px/1 var(--display);opacity:0;transition:opacity .2s, transform .3s var(--ease);border-radius:999px;padding:10px 16px;position:fixed;top:0;left:0;transform:translate(-50%,calc(-100% - 18px))scale(.9);box-shadow:0 8px 28px #00000059}.fc-hint.is-on{opacity:1;transform:translate(-50%,calc(-100% - 18px))scale(1)}.profile{--edge:28px;padding-left:0;padding-right:0}.pf{padding:0 var(--edge);display:grid}.profile>.page-inner{padding:0 var(--edge);max-width:none}.pf h2{font:300 clamp(36px, 4.2vw, 60px)/1 var(--serif);letter-spacing:-.02em;color:var(--bone);margin:0}.pf h3{font:400 clamp(20px, 1.7vw, 24px)/1.25 var(--display);letter-spacing:-.015em;color:var(--bone);margin:0}.pf p{color:#e7e3dcdb;margin:0;font-size:18px;line-height:1.6}.pf section{padding-top:clamp(112px,12vw,176px)}.pf-top{flex-wrap:wrap;align-items:center;gap:14px 28px;margin-bottom:clamp(36px,5vw,64px);display:flex}.pf-top .mode-switch{margin-bottom:0}.pf-top-status [data-when]{display:none}.profile[data-mode=project] .pf-top-status [data-when=project],.profile[data-mode=hire] .pf-top-status [data-when=hire]{animation:mode-in .5s var(--ease);display:inline}.mode-switch{background:#181a1f;border-radius:999px;grid-template-columns:1fr 1fr;justify-self:start;margin-bottom:clamp(36px,5vw,64px);padding:4px;display:grid;position:relative}.mode-switch button{z-index:1;cursor:pointer;color:#e7e3dcb8;font:400 16px/1 var(--display);transition:color .35s var(--ease);background:0 0;border:0;border-radius:999px;padding:13px 24px;position:relative}.mode-switch button:hover{color:var(--bone)}.mode-switch button[aria-selected=true]{color:var(--ink)}.mode-switch button:focus-visible{outline:2px solid var(--sunstone);outline-offset:2px}.mode-thumb{z-index:0;background:var(--bone);width:calc(50% - 4px);transition:transform .55s var(--ease);border-radius:999px;position:absolute;top:4px;bottom:4px;left:4px}.profile[data-mode=hire] .mode-thumb{transform:translate(100%)}.mode{display:grid}.mode[hidden]{display:none}.pf-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:clamp(32px,5vw,88px);display:grid}.pf-hero-text{align-content:end;gap:26px;display:grid}.pf-name{font:300 clamp(64px, 9.4vw, 156px)/.9 var(--serif);letter-spacing:-.035em;color:var(--bone);margin:0 0 6px}.pf-name-sm{text-wrap:balance;font-size:clamp(52px,6.6vw,112px);line-height:.95}.pf .pf-role{font:300 clamp(22px, 2vw, 28px)/1.3 var(--display);letter-spacing:-.015em;color:var(--bone);max-width:30ch}.pf .pf-body{max-width:56ch}.status{align-items:center;gap:10px;display:inline-flex;color:var(--bone)!important;font-size:16px!important}.status i{background:#6cd394;border-radius:50%;width:9px;height:9px;animation:2.2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #6cd39480}70%,to{box-shadow:0 0 0 10px #6cd39400}}.pf-actions{flex-wrap:wrap;align-items:center;gap:14px 28px;display:flex}.pf .btn{background:var(--sunstone);color:var(--ink);padding:15px 26px;font-size:16px}.pf .btn:hover{background:var(--bone)}.pf-link{color:var(--bone);text-underline-offset:5px;font-size:16px;text-decoration:underline 1px #0000;transition:color .3s,text-decoration-color .3s}.pf-link:hover{color:var(--sunstone);text-decoration-color:currentColor}.pf-photo{aspect-ratio:4/4.4;background:#15130f;margin:0;overflow:hidden}.pf-photo img,.pf-photo video{object-fit:cover;filter:brightness(.9)contrast(1.04);width:100%;height:100%;transition:transform 1.6s var(--ease);display:block}.pf-photo:hover img{transform:scale(1.03)}.pf-reel{aspect-ratio:16/11}.pf-figures{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:32px;display:grid}.pf-figures dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 32px;margin:0;display:grid}.pf-figures dt{white-space:nowrap;word-spacing:-.22em;font:300 clamp(44px, 4.6vw, 72px)/1 var(--serif);letter-spacing:-.03em;color:var(--bone);font-variant-numeric:tabular-nums}.pf-figures dd{color:#e7e3dccc;margin:10px 0 0;font-size:17px}.pf-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:32px;display:grid}.pf-job{gap:16px;display:grid}.pf .pf-job h3{font-size:clamp(24px,2.2vw,32px)}.pf .pf-meta{color:var(--sunstone);font-size:17px}.pf-job ul{gap:14px;margin:12px 0 0;padding-left:1.1em;display:grid}.pf-job li{color:#e7e3dcdb;font-size:18px;line-height:1.6}.pf-job li::marker{color:var(--sunstone)}.pf-job strong{color:var(--bone);font-weight:500}.pf-skills h2{margin-bottom:40px}.pf-lineup{display:grid}.pf-row{padding:28px var(--edge);margin:0 calc(-1 * var(--edge));grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;display:grid}.pf-row:nth-child(odd){background:#121418}.pf-row h3{color:#e7e3dcb8;font:300 clamp(22px, 2vw, 28px)/1.2 var(--serif)}.pf-row ul{flex-wrap:wrap;gap:14px 30px;margin:0;padding:0;list-style:none;display:flex}.pf-row li{font:400 clamp(18px, 1.5vw, 21px)/1.2 var(--display);color:var(--bone);align-items:center;gap:10px;display:inline-flex}.pf-row li:hover .skill-icon{color:var(--brand)}.pf-service{grid-template-columns:minmax(0,5fr) minmax(0,5fr) minmax(0,2fr);align-items:baseline}.pf-service h3{color:var(--bone)}.pf .pf-tools{color:#e7e3dca8;font-size:16px}.skill-icon{color:#e7e3dce0;place-items:center;width:24px;height:24px;transition:color .3s;display:grid}.skill-icon svg{fill:currentColor;width:21px;height:21px}.skill-icon .mono{font:600 9px/1 var(--display);color:var(--ink);background:var(--bone);text-align:center;border-radius:5px;min-width:24px;padding:5px 3px}.skill-icon .dot{background:var(--sunstone);border-radius:2px;width:7px;height:7px;transform:rotate(45deg)}.pf-details{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:56px 32px;display:grid}.pf-details>div{gap:16px;max-width:56ch;display:grid}.pf-details>div h2{margin-bottom:12px}.pf-details strong{color:var(--bone);font-weight:500}.pf-details-title{grid-column:1/-1}.pf-gallery h2{margin-bottom:40px}.pf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 24px;display:grid}.pf-tile{color:inherit;gap:10px;text-decoration:none;display:grid}.pf-tile figure{aspect-ratio:16/10;background:var(--bg,#15130f);margin:0 0 6px;overflow:hidden}.pf-tile img.is-logo{object-fit:contain;mix-blend-mode:lighten;padding:16% 20%}.pf-tile video{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease);display:block}.pf-tile:hover video{transform:scale(1.04)}.pf-tile img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease);display:block}.pf-tile:hover img{transform:scale(1.04)}.pf-tile:hover h3{color:var(--sunstone)}.pf-all{justify-self:start;margin-top:40px;display:inline-block}.pf .pf-tile p{color:#e7e3dcb8;font-size:16px;line-height:1.45}.pf-bento{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(190px,15.5vw,250px);grid-auto-flow:dense;gap:20px}.pf-bento .pf-tile{background:#15130f;display:block;position:relative;overflow:hidden}.pf-bento .pf-tile figure{aspect-ratio:auto;height:100%;margin:0;position:absolute;inset:0}.pf-bento .pf-tile:first-child{grid-area:span 2/1/auto/span 2}.pf-bento .pf-tile:nth-child(5){grid-area:span 2/2/auto/span 2}.pf-bento .pf-tile:nth-child(8){grid-column:span 2}.pf-bento .pf-tile h3,.pf-bento .pf-tile p{z-index:1;padding:0 22px;position:relative}.pf-bento .pf-tile:after{content:"";pointer-events:none;background:linear-gradient(#0a0b0d00,#0a0b0ddb);position:absolute;inset:45% 0 0}.pf-bento .pf-tile h3{z-index:2;position:absolute;bottom:46px;left:0;right:0}.pf-bento .pf-tile p{z-index:2;color:#e7e3dcd1;white-space:nowrap;text-overflow:ellipsis;position:absolute;bottom:20px;left:0;right:0;overflow:hidden}.pf-bento .pf-tile:is(:first-child,:nth-child(5)) h3{font:300 clamp(30px, 3vw, 46px)/1.05 var(--serif);letter-spacing:-.02em;bottom:54px}.pf-bento .pf-tile:is(:first-child,:nth-child(5)) p{font-size:18px;bottom:24px}.pf-bento .pf-tile:hover h3{color:var(--sunstone)}.pf-bento .pf-tile img.is-logo{padding:40px 26% 92px}.pf-github h2{margin-bottom:36px}.gh{gap:22px;display:grid}.gh-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;display:flex}.pf .gh-total{font:300 clamp(22px, 2vw, 28px)/1.3 var(--display);color:var(--bone)}.gh-total strong{font:300 1.6em/1 var(--serif);color:var(--sunstone);letter-spacing:-.02em;margin-right:4px}.gh-scroll{scrollbar-width:thin;overflow-x:auto}.gh-cal{--gap:4px;grid-template-rows:auto auto;grid-template-columns:40px minmax(0,1fr);gap:8px 10px;min-width:760px;display:grid}.gh-months{grid-column:2;grid-template-columns:repeat(var(--weeks), minmax(0, 1fr));column-gap:var(--gap);color:#e7e3dca8;font-size:14px;display:grid;overflow:hidden}.gh-months span{white-space:nowrap}.gh-days{row-gap:var(--gap);color:#e7e3dca8;grid-area:2/1;grid-template-rows:repeat(7,minmax(0,1fr));font-size:13px;display:grid}.gh-days span:first-child{grid-row:2}.gh-days span:nth-child(2){grid-row:4}.gh-days span:nth-child(3){grid-row:6}.gh-days span{align-self:center;line-height:1}.gh-days{z-index:1;background:var(--ink);position:sticky;left:0}.gh-grid{gap:var(--gap);grid-area:2/2;grid-template-rows:repeat(7,auto);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.gh-grid i,.gh-legend i{aspect-ratio:1;background:#1b1d22;border-radius:3px;display:block}.gh-grid i.pad{background:0 0}.gh .l1{background:#4a2c1f}.gh .l2{background:#7d4429}.gh .l3{background:#b4613a}.gh .l4{background:var(--sunstone)}.gh-grid i:not(.pad){transition:transform .2s var(--ease)}.gh-grid i:not(.pad):hover{outline:1px solid var(--bone);outline-offset:1px;transform:scale(1.35)}.gh-foot{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;display:flex}.gh-facts{flex-wrap:wrap;gap:20px 48px;margin:0;display:flex}.gh-facts dt{font:300 clamp(28px, 2.4vw, 36px)/1 var(--serif);color:var(--bone);letter-spacing:-.02em}.gh-facts dd{color:#e7e3dcbf;max-width:36ch;margin:6px 0 0;font-size:16px}.pf .gh-legend{color:#e7e3dca8;align-items:center;gap:5px;font-size:14px;display:inline-flex}.gh-legend i{width:13px}.pf-steps{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:32px;display:grid}.pf-steps ol{gap:40px;margin:0;padding:0;list-style:none;display:grid}.pf-steps li{gap:10px;display:grid}.pf .pf-steps h3{font:300 clamp(26px, 2.4vw, 34px)/1.15 var(--display);letter-spacing:-.02em}.pf-pricing h2{margin-bottom:40px}.pf-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.pf-plan{background:#121418;grid-template-rows:auto auto auto 1fr auto;gap:18px;padding:clamp(26px,2.6vw,40px);display:grid}.pf-plan:last-child{background:#1a1612}.pf .pf-price{font:300 clamp(34px, 3vw, 48px)/1.05 var(--serif);letter-spacing:-.02em;color:var(--bone)}.pf .pf-price span{font:400 16px/1 var(--display);letter-spacing:0;color:#e7e3dcb8}.pf .pf-price small{font:400 15px/1 var(--display);letter-spacing:0;color:#e7e3dcb8;margin-bottom:8px;display:block}.pf .pf-price sup{font:400 .5em/0 var(--display);color:var(--sunstone);vertical-align:.9em;margin-left:2px}.pf .pf-fineprint{color:#e7e3dca8;margin-top:18px;font-size:14px}.pf-plan ul{align-content:start;gap:10px;margin:6px 0 0;padding-left:1.1em;display:grid}.pf-plan li{color:#e7e3dcdb;font-size:17px;line-height:1.5}.pf-plan li::marker{color:var(--sunstone)}.pf-plan .btn{justify-self:start}.pf-close{justify-items:start;gap:22px;padding-bottom:40px;display:grid}.pf-close p{max-width:52ch}html.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0s);transform:translateY(26px)}html.js [data-reveal].in{opacity:1;transform:none}.mode:not([hidden]) .pf-hero{animation:mode-in .7s var(--ease)}@keyframes mode-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (width<=900px){.pf-hero,.pf-figures,.pf-split,.pf-steps,.pf-details{grid-template-columns:1fr}.pf-photo{order:-1;max-width:420px}.pf-split h2{position:static}.pf-row,.pf-service{grid-template-columns:1fr;gap:14px}.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-plans{grid-template-columns:1fr}.pf-bento{grid-template-columns:1fr;grid-auto-rows:auto}.pf-bento .pf-tile,.pf-bento .pf-tile:nth-child(n){aspect-ratio:16/10;grid-area:auto}}@media (width<=560px){.profile{--edge:16px}.mode-switch{justify-self:stretch}.pf-top .mode-switch{flex:100%}.mode-switch button{padding:13px 10px}.pf-figures dl{gap:32px 20px}.pf-grid{gap:32px 14px}.pf p,.pf-job li{font-size:17px}}@media (prefers-reduced-motion:reduce){html.js [data-reveal]{opacity:1;transition:none;transform:none}.status i,.mode:not([hidden]) .pf-hero{animation:none}}
