@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");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}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");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:#1c1c1f;--bg-deep:#161618;--card:#26262a;--card-glass:#26262ab8;--card-border:#ffffff12;--card-border-hover:#ffffff24;--shadow:0 1px 0 #ffffff0a inset, 0 2px 6px #00000038, 0 18px 40px -12px #0000008c;--shadow-lift:0 1px 0 #ffffff0d inset, 0 4px 10px #00000042, 0 28px 56px -14px #000000a6;--radius:18px;--ink:#edece9;--muted:#9a9995;--soft:#b9b8b3;--faint:#6c6b68;--line:#ffffff12;--accent:#cc1417;--accent-ink:#ff4044;--sans:"Geist Variable", system-ui, sans-serif;--mono:"Geist Mono Variable", ui-monospace, monospace;--gut:48px;--ease:cubic-bezier(.2, .7, .2, 1);--hero-h:100svh;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=1023px){:root{--gut:32px}}@media (width<=639px){:root{--gut:16px;--radius:16px}}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,p,ol,ul,dl,dd,fieldset{margin:0}ol,ul{padding:0;list-style:none}fieldset{border:0;min-width:0;padding:0}img{display:block}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}.mono{font-family:var(--mono);font-feature-settings:"tnum" 1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:6px}.skip{z-index:20;background:var(--ink);color:var(--bg);border-radius:10px;padding:10px 14px;position:absolute;top:-60px;left:16px}.skip:focus{top:16px}.wrap{width:min(100% - 2 * var(--gut), 1344px);margin-inline:auto}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero .card,.nav__card{background:var(--card-glass);-webkit-backdrop-filter:blur(18px)saturate(1.2)}.nav{z-index:5;position:absolute;top:20px;left:0;right:0}.nav__card{border-radius:999px;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px 8px 8px 16px;transition:background-color .5s;display:flex}.nav__brand{align-items:center;gap:10px;display:flex}.nav__brand img:first-child{width:26px;height:auto}.nav__word{width:104px;height:auto}.nav nav{gap:4px;font-size:14px;display:flex}.nav nav a{color:var(--muted);border-radius:999px;padding:10px 16px;transition:background-color .2s,color .2s}.nav nav a:hover{color:var(--ink);background:#ffffff0f}.tabs{align-items:center;gap:2px;min-width:0;font-size:13px;display:flex;position:relative}.tabs__label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 10px 0 4px;font-size:11px}.tabs__tab{z-index:1;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:9px 13px;transition:color .2s;position:relative}.tabs__tab:hover,.tabs__tab[aria-pressed=true]{color:var(--ink)}.tabs__tab:focus-visible{outline-offset:-2px;border-radius:999px}.tabs__marker{pointer-events:none;box-shadow:0 0 0 1px var(--card-border-hover) inset, 0 -2px 0 -1px var(--accent-ink) inset;opacity:0;transition:transform .5s var(--ease), width .5s var(--ease), height .5s var(--ease), opacity .25s;background:#ffffff12;border-radius:999px;position:absolute;top:0;left:0}.tabs__marker.is-shown{opacity:1}@media (width<=960px){.nav__card{border-radius:24px;flex-wrap:wrap;padding:8px 8px 6px 16px}.tabs{flex-wrap:wrap;flex:0 0 100%;order:3;margin-left:-8px}.tabs__label{padding-left:13px}}@media (width<=720px){.nav__card{border-radius:999px;flex-wrap:nowrap;padding:6px 6px 6px 14px}.tabs{display:none}}body:has(.hero.is-touring) .nav__card{background:#1e1e21eb}.icon-btn{border:1px solid var(--card-border);width:40px;height:40px;color:var(--muted);cursor:pointer;transition:border-color .2s, color .2s, background-color .2s, transform .2s var(--ease);background:#ffffff08;border-radius:12px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{border-color:var(--card-border-hover);color:var(--ink);background:#ffffff0f}.icon-btn:active{transform:scale(.93)}.icon-btn svg{fill:currentColor;width:14px;height:14px}.icon-btn .i-play{display:none}.icon-btn[aria-pressed=true] .i-play{display:block}.icon-btn[aria-pressed=true] .i-pause{display:none}input[type=range]{accent-color:var(--accent);cursor:pointer;width:100%;height:24px;margin:0}input[type=range]:disabled{opacity:.35;cursor:default}.hero{height:var(--hero-h);background:radial-gradient(55% 65% at 62% 45%, #2a2a2e 0%, var(--bg) 72%);min-height:620px;position:relative;overflow:hidden}@media (width<=639px){.hero{background:radial-gradient(90% 45% at 50% 30%, #2a2a2e 0%, var(--bg) 72%);min-height:700px}}.hero__canvas,.hero__poster{width:100%;height:100%;position:absolute;inset:0}.hero__canvas{touch-action:pan-y;cursor:grab}.hero__canvas:active{cursor:grabbing}.hero__canvas.is-move,.hero__canvas.is-move:active{cursor:move}.hero__poster{object-fit:cover}.hero__inner{pointer-events:none;justify-content:space-between;align-items:flex-end;gap:16px;height:100%;padding-bottom:24px;display:flex;position:relative}.hero__inner>*{pointer-events:auto;transition:opacity .45s, transform .6s var(--ease), visibility .45s}.hero.is-touring .hero__inner>*{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(20px)}.hero.is-touring .hint{opacity:0}.id-card{flex:0 460px;min-width:0;padding:28px 32px 24px}.id-card h1{font-family:var(--mono);letter-spacing:-.04em;margin-left:-.04em;font-size:clamp(34px,4vw,56px);font-weight:500;line-height:.95}.id-card__sub{color:var(--muted);margin-top:14px;font-size:15px}.id-card__facts{border-top:1px solid var(--line);gap:32px;margin-top:22px;padding-top:14px;font-size:12px;display:flex}.id-card__facts dt{color:var(--faint)}.id-card__facts a:hover{text-underline-offset:3px;text-decoration:underline}.sim-card{flex:0 0 340px;gap:14px;min-width:0;padding:16px;font-size:13px;display:grid}.sim-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sim-card__label{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:11px}.sim-card__head>div{min-width:0}.sim-card__readout{color:var(--muted);margin-top:4px;font-size:12px}.sim-card__readout span{white-space:nowrap}.sim-card__readout b{color:var(--ink);font-weight:500}.sim-card__actions{gap:6px;display:flex}.sim-card__settings{gap:14px;display:grid}.icon-btn--caret svg{transition:transform .25s var(--ease)}.icon-btn--caret[aria-expanded=true] svg{transform:rotate(180deg)}.seg{border:1px solid var(--line);background:#00000038;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.seg legend{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.seg label{cursor:pointer;position:relative}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg span{color:var(--muted);border-radius:9px;justify-items:center;padding:7px 0 6px;font-size:13px;transition:background-color .2s,color .2s;display:grid}.seg small{font-family:var(--mono);color:var(--faint);font-size:10px}.seg label:hover span{color:var(--ink)}.seg input:checked+span{background:var(--card);color:var(--ink);box-shadow:inset 0 1px #ffffff0d,0 2px 8px #00000059}.seg input:checked+span small{color:var(--accent-ink)}.seg input:disabled+span{opacity:.35;cursor:not-allowed}.seg input:focus-visible+span{outline:2px solid var(--accent-ink);outline-offset:1px}.seg--swatches span{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:6px;padding:8px 0;font-size:12px}.swatch{border-radius:3px;width:10px;height:10px;box-shadow:inset 0 0 0 1px #ffffff1f}.swatch--ember{background:linear-gradient(135deg,#6a0e12,#c8181c 40%,#ff7b2e 70%,#ffe9c6)}.swatch--glacier{background:linear-gradient(135deg,#1d3a72,#2f72c8 40%,#6fd2f2 70%,#f0fbff)}.swatch--aurora{background:linear-gradient(135deg,#47207e,#2b8590 40%,#86d35c 70%,#f6ee72)}.threshold{display:block}.seg--2{grid-template-columns:repeat(2,1fr)}.seg--3{grid-template-columns:repeat(3,1fr)}.drag{align-items:center;gap:8px;display:flex}.drag .seg{flex:1}.filter{align-items:center;gap:14px;display:flex}.switch{cursor:pointer;flex:none;align-items:center;gap:10px;min-height:40px;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;width:34px;height:20px;margin:0;position:absolute}.switch__track{background:#ffffff1f;border-radius:999px;width:34px;height:20px;transition:background-color .2s;position:relative}.switch__track:after{content:"";background:var(--ink);width:14px;height:14px;transition:transform .25s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch__track{background:var(--accent)}.switch input:checked+.switch__track:after{transform:translate(14px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--accent-ink);outline-offset:2px}.filter__k{flex:1;align-items:center;gap:10px;display:flex}.filter__k output{color:var(--muted);text-align:right;min-width:36px;font-size:12px}.hint{color:var(--faint);letter-spacing:.06em;pointer-events:none;white-space:nowrap;animation:hint-in 1s 2.5s var(--ease) both;font-size:11px;transition:opacity .6s;position:absolute;top:96px;left:50%;transform:translate(-50%)}@keyframes hint-in{0%{opacity:0}}.loader{z-index:2;width:min(300px, 100% - 2 * var(--gut));pointer-events:none;background:var(--card-glass);border:1px solid var(--card-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);transition:opacity .6s var(--ease) .15s, transform .6s var(--ease) .15s;animation:enter .8s var(--ease) both;border-radius:14px;padding:14px 16px 12px;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.loader.is-done{opacity:0;transform:translate(-50%,calc(-50% - 8px))}.loader__row{justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.loader__value{color:var(--muted);font-size:12px}.loader__track{background:#ffffff14;border-radius:3px;height:3px;margin-top:10px;overflow:hidden}.loader__fill{background:var(--accent-ink);height:100%;box-shadow:0 0 12px var(--accent);transform-origin:0;transition:transform .25s linear;transform:scaleX(0)}.loader__detail{color:var(--faint);margin-top:8px;font-size:11px}.loader.is-failed .loader__fill{background:var(--faint);box-shadow:none}.stage{pointer-events:none;perspective:var(--stage-p,700px);perspective-origin:var(--stage-cx,50%) var(--stage-cy,50%);position:absolute;inset:0}.rig{inset:var(--rig-top,0) 0 var(--rig-bottom,0);transform-style:preserve-3d;padding-inline:max(var(--gut) + 44px, (100% - 1260px) / 2);visibility:hidden;grid-template-columns:minmax(0,350px) minmax(0,1fr) minmax(0,290px);align-items:center;column-gap:40px;transition:visibility 0s .4s;display:grid;position:absolute}.rig.is-active{visibility:visible;transition-delay:0s}.panel,.shot{opacity:0;transition:opacity .3s, transform .5s var(--ease), filter .35s var(--ease)}.rig.is-active :is(.panel,.shot){opacity:1;pointer-events:auto;transition:opacity .6s var(--wait), transform 1.2s var(--ease) var(--wait), filter .35s var(--ease)}:is(.panel,.shot):after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s var(--ease);background:repeating-linear-gradient(45deg,#ffffff29 0 1px,#0000 1px 7px),repeating-linear-gradient(-45deg,#ffffff29 0 1px,#0000 1px 7px);position:absolute;inset:0}.stage.is-turning .rig.is-active :is(.panel,.shot){filter:opacity(.4)}.stage.is-turning :is(.panel,.shot):after{opacity:1}:is(.panel,.shot):after{z-index:2}.card-back{z-index:1;border-radius:inherit;color:var(--muted);text-align:center;cursor:default;background:#18181b;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px;display:none;position:absolute;inset:0;transform:scaleX(-1)}.stage.is-behind .rig.is-active .card-back{display:flex}.card-back svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:40px;height:40px}.card-back .card-back__eye{fill:currentColor;stroke:none}.card-back__text{font:500 15px/1.3 var(--sans);letter-spacing:-.01em;color:var(--soft)}.panel--about{--wait:.7s;transform-origin:0;transform:translateZ(-80px)rotateY(30deg)}.panel--facts{--wait:.85s;transform-origin:100%;transform:translateZ(-80px)rotateY(-30deg)}.rig.is-active .panel--about{transform:translateZ(30px)rotateY(6deg)}.rig.is-active .panel--facts{transform:translateZ(30px)rotateY(-6deg)}.panel{border-radius:var(--radius);text-wrap:pretty;border:1px solid var(--card-border-hover);box-shadow:var(--shadow-lift);background:#18181b;padding:22px 24px 24px;position:relative}.panel__close{border-radius:10px;width:32px;height:32px;position:absolute;top:12px;right:12px}.panel__close svg{width:12px;height:12px}.panel__meta{letter-spacing:.06em;color:var(--muted);font-size:11px}.panel__name{font:500 30px/1.05 var(--sans);letter-spacing:-.035em;text-transform:none;color:var(--ink);margin-top:10px}.panel__tagline{margin-top:10px;font-size:15px;line-height:1.35}.panel__summary{color:var(--soft);margin-top:12px;font-size:13.5px;line-height:1.55}.panel__links{gap:8px;margin-top:18px;font-size:13px;display:flex}.panel__link{border:1px solid var(--card-border-hover);border-radius:999px;padding:8px 14px;transition:border-color .2s,background-color .2s}.panel__link:after{content:" ↗";color:var(--accent-ink)}.panel__link:hover{background:#ffffff0d;border-color:#ffffff47}.panel__highlights{gap:12px;font-size:13.5px;line-height:1.4;display:grid}.panel__highlights li{padding-left:16px;position:relative}.panel__highlights li:before{content:"";background:var(--accent-ink);width:5px;height:5px;position:absolute;top:.5em;left:0}.panel__stack{border-top:1px solid var(--line);color:var(--soft);flex-wrap:wrap;gap:6px;margin-top:18px;padding-top:16px;font-size:11px;display:flex}.panel__stack li{border:1px solid var(--card-border-hover);background:#ffffff0a;border-radius:6px;padding:4px 8px}.rig__shots{transform-style:preserve-3d;place-items:center;display:grid;position:relative}.shot{--wait:.6s;cursor:zoom-in;border:1px solid var(--card-border-hover);background:var(--bg-deep);max-width:100%;box-shadow:var(--shadow-lift);border-radius:12px;padding:0;display:block;position:relative;overflow:hidden;transform:translateZ(-340px)}.shot img{width:auto;max-width:100%;height:auto;max-height:min(430px,48svh)}.rig.is-active .shot{transform:translateZ(-110px)}.shot+.shot{--wait:.95s;width:40%;position:absolute;bottom:-16%;right:5%}.shot+.shot img{width:100%;max-height:none}.rig.is-active .shot+.shot{transform:translateZ(30px)}.rig.is-active .shot.is-returning{transition-duration:.25s,.45s;transition-delay:0s}.rig.is-active .shot.is-zoomed{cursor:zoom-out;transition-duration:.25s,.6s;transition-delay:0s;transform:translateZ(210px)}.rig.is-active .shot+.shot.is-zoomed{transform:translate(-30%,-40%)translateZ(260px)scale(1.6)}.shot+.shot+.shot{--wait:1.1s;inset:-14% auto auto 5%}.rig.is-active .shot+.shot+.shot.is-zoomed{transform:translate(30%,40%)translateZ(260px)scale(1.6)}@media (width<=1100px){.rig{padding-inline:calc(var(--gut) + 28px);grid-template-columns:minmax(0,330px) minmax(0,1fr);align-content:center;gap:28px 32px}.panel--about{grid-row:1/3}.panel--facts{justify-self:end;max-width:300px}.shot img{max-height:min(300px,34svh)}.shot+.shot{width:34%;bottom:-8%;right:0}.shot+.shot+.shot{inset:-8% auto auto 0}}.stage--flat{inset:104px var(--gut) auto;perspective:none}.stage--flat .rig{gap:12px;padding:0;display:none;position:static}.stage--flat .rig.is-active{display:grid}.stage--flat .rig :is(.panel,.shot){transform:none!important}.stage--flat .shot{cursor:default}@media (width<=720px){.stage,.stage--flat{padding:0 var(--gut) 16px;position:static}.rig,.stage--flat .rig{grid-template-columns:minmax(0,1fr)}.panel--about{grid-row:auto}.panel--facts{justify-self:stretch;max-width:none}.rig__shots{order:1;gap:12px}.shot img{max-height:420px}.shot+.shot{width:auto;position:static}.shot+.shot img{width:auto;max-height:420px}.hero.is-touring .hero__inner{display:none}.hero{height:auto;min-height:0}.hero__canvas,.hero__poster{height:56svh;min-height:360px;display:block;position:relative}.hero__inner{flex-direction:column;justify-content:flex-end;align-items:stretch;gap:12px;height:auto;padding-bottom:16px}.id-card,.sim-card{flex:none;width:100%}.id-card{padding:22px 22px 18px}.id-card__facts{flex-wrap:wrap;gap:12px 28px}.hero__canvas{transition:height .6s var(--ease)}.hero.is-touring .hero__canvas{height:44svh;min-height:300px}.hint{display:none}}h2{font-size:12px;font-family:var(--mono);color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-weight:400}.work{padding:96px 0 72px;scroll-margin-top:16px}.work__head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 48px;margin-bottom:32px;display:grid}.work__intro{gap:12px;max-width:560px;display:grid}.contrib{min-width:0;padding:18px 20px 14px}.contrib__head{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;font-size:13px;display:flex}.contrib__total b{color:var(--ink);font-weight:500}.contrib__user{color:var(--muted);white-space:nowrap;font-size:12px;transition:color .2s}.contrib__user:hover{color:var(--ink)}.contrib__body{gap:2px;margin-top:14px;display:flex}.contrib__weekdays{flex:none}.contrib__scroll{scrollbar-width:none;min-width:0;overflow-x:auto}.contrib__scroll::-webkit-scrollbar{display:none}.contrib__graph{display:block}.contrib__label{font:10px var(--mono);fill:var(--faint)}.contrib__day{transition:opacity .15s}.contrib__day:hover{opacity:.7}.contrib__day--0{fill:#ffffff0e;background:#ffffff0e}.contrib__day--1{fill:#ff404447;background:#ff404447}.contrib__day--2{fill:#ff404480;background:#ff404480}.contrib__day--3{fill:#ff4044bf;background:#ff4044bf}.contrib__day--4{fill:var(--accent-ink);background:var(--accent-ink)}.contrib__legend{color:var(--faint);justify-content:flex-end;align-items:center;gap:4px;margin-top:10px;font-size:10px;display:flex}.contrib__legend i{border-radius:2px;width:10px;height:10px}.contrib__legend i:first-child{margin-left:4px}.contrib__legend i:last-child{margin-right:4px}@media (width<=1180px){.work__head{grid-template-columns:minmax(0,1fr)}}.work__lede{letter-spacing:-.02em;color:var(--soft);text-wrap:pretty;font-size:clamp(20px,2.2vw,26px);line-height:1.3}.work__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.work-card{flex-direction:column;display:flex;overflow:hidden}.work-card__shot{aspect-ratio:16/9;background:var(--bg-deep);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.work-card__shot img{object-fit:cover;object-position:var(--focus,top);width:100%;height:100%;position:absolute;inset:0}.work-card__body{text-wrap:pretty;flex-direction:column;flex:1;padding:22px 24px 24px;display:flex}.work-card__meta{letter-spacing:.06em;color:var(--muted);font-size:11px}.work-card__name{font:500 26px/1.1 var(--sans);letter-spacing:-.03em;margin:8px 0 0}.work-card__tagline{margin-top:8px;font-size:15px;line-height:1.4}.work-card__summary{color:var(--soft);margin-top:10px;font-size:14px;line-height:1.6}.work-card__highlights{color:var(--soft);gap:8px;margin-top:16px;font-size:13.5px;line-height:1.4;display:grid}.work-card__highlights li{padding-left:16px;position:relative}.work-card__highlights li:before{content:"";background:var(--accent-ink);width:5px;height:5px;position:absolute;top:.5em;left:0}.work-card__stack{color:var(--soft);flex-wrap:wrap;gap:6px;margin-top:18px;font-size:11px;display:flex}.work-card__stack li{border:1px solid var(--card-border-hover);background:#ffffff0a;border-radius:6px;padding:4px 8px}.work-card__actions{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px;display:flex}.pill{border:1px solid var(--card-border-hover);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 16px;font-size:14px;transition:border-color .2s,background-color .2s;display:inline-flex}a.pill:after{content:" ↗";color:var(--accent-ink)}.pill:hover{background:#ffffff0d;border-color:#ffffff47}.pill--cube{color:var(--muted);margin-left:auto}.pill--cube:hover{color:var(--ink)}@media (width<=900px){.work__grid{grid-template-columns:minmax(0,1fr)}}@media (width<=639px){.work{padding:56px 0 40px}.work__head{margin-bottom:20px}.work-card__body{padding:18px 18px 20px}.work-card__name{font-size:24px}.loader{top:max(28svh,180px)}.pill--cube{margin-left:0}}.closing{padding:0 0 32px}.contact-card{gap:20px;padding:32px 40px;display:grid}.contact-card__head{align-items:center;gap:12px;display:flex}.contact-card__head img{width:28px;height:auto}.contact-card__row{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.contact-card__email{letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere;background:linear-gradient(var(--accent), var(--accent)) 0 100% / 0 2px no-repeat;transition:background-size .45s var(--ease);padding-bottom:4px;font-size:clamp(18px,2.2vw,28px);line-height:1.2}.contact-card__email:hover{background-size:100% 2px}.contact-card__links{gap:8px;margin-left:auto;font-size:14px;display:flex}.contact-card__links a{border:1px solid var(--card-border);color:var(--muted);transition:border-color .2s, color .2s, transform .2s var(--ease);border-radius:999px;padding:10px 16px}.contact-card__links a:hover{border-color:var(--card-border-hover);color:var(--ink);transform:translateY(-1px)}.legal{color:var(--faint);text-align:center;margin-top:20px;font-size:12px}@media (width<=639px){.contact-card{padding:24px}}[data-enter]{animation:enter 1s var(--ease) both}.sim-card[data-enter]{animation-delay:.15s}@keyframes enter{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){[data-enter],.hint{animation:none}.panel,.shot{transform:none!important}*,:before,:after{transition-duration:.01ms!important}}
