@font-face{font-family:'Poppins Subset';src:url('assets/fonts/poppins-regular-subset.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}:root{--bg:#0d0d0f;--bg-lift:#161619;--text:#d9d9d9;--muted:#7a7a82;--border:#262629;--border-hi:#4a4a52;--accent:150 160 255;--glass:rgb(16 16 20 / 30%);--glass-hi:rgb(22 22 28 / 44%);--glass-edge:rgb(255 255 255 / 11%);--glass-edge-hi:rgb(255 255 255 / 24%);--shadow-pill:0 1px 2px rgb(0 0 0 / 20%),0 8px 22px rgb(0 0 0 / 26%);--shadow-card:0 2px 4px rgb(0 0 0 / 20%),0 14px 38px rgb(0 0 0 / 30%);--glass-blur:blur(16px) saturate(130%);--glass-blur-sm:blur(6px);--veil-mid:52%;--veil-out:64%;--veil-edge:76%;--safe-top:env(safe-area-inset-top, 0px);--safe-right:env(safe-area-inset-right, 0px);--safe-bottom:env(safe-area-inset-bottom, 0px);--safe-left:env(safe-area-inset-left, 0px);--ease:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--gate-ms:500ms;--film-ms:600ms;--gate-blur:8px;--avatar-size:clamp(56px, min(69.4px + 2.07vw, 17vh), 88px);--brand-gap:clamp(13px, min(17.5px + 0.5vw, 3.6vh), 22px);--mark-width:min(72vw, clamp(260px, 194px + 11.76vw, 300px), 46vh);--group-gap:calc(var(--brand-gap) * 1.35);--cell:clamp(50px, 13.5vw, 62px);--stage-max:min(clamp(320px, 62vw, 560px),
                   calc(100vw - 2 * clamp(14px, 4vw, 28px)));--social-cell:min(62px, calc((var(--stage-max) - 4px) / 6))}@media (pointer:coarse){:root{--glass:rgb(16 16 20 / 74%);--glass-hi:rgb(22 22 28 / 84%);--glass-blur:none;--glass-blur-sm:none}}*{box-sizing:border-box}body,html{min-height:100%;margin:0}html{background:var(--bg)}body{min-width:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-y:auto}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.backdrop{position:fixed;inset:0;overflow:hidden;background:var(--bg);height:100lvh;filter:blur(0px);transition:filter var(--gate-ms) var(--ease-soft)}.backdrop-video{position:absolute;top:calc(-2 * var(--gate-blur));left:calc(-2 * var(--gate-blur));width:calc(100% + 4 * var(--gate-blur));height:calc(100% + 4 * var(--gate-blur));object-fit:cover;pointer-events:none;opacity:1;transition:opacity var(--film-ms) var(--ease-soft)}.gated .backdrop-video{opacity:0}.backdrop-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 90% 70% at 50% 45%,rgb(13 13 15 / var(--veil-mid)) 0,rgb(13 13 15 / var(--veil-out)) 60%,rgb(13 13 15 / var(--veil-edge)) 100%)}.scene{position:relative;z-index:1;min-height:100svh;overflow:hidden}.field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.aura{position:absolute;top:50%;left:50%;width:min(1180px,130vw);height:min(1180px,130vw);transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle at 50% 50%,rgb(var(--accent) / 7.5%) 0,rgb(var(--accent) / 3.2%) 26%,rgb(var(--accent) / 0%) 62%);animation:breathe 13s var(--ease-soft) infinite}.grain{position:absolute;inset:-120px;pointer-events:none;opacity:.034;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:7s steps(6) infinite drift}.stage{position:relative;min-height:100svh;display:grid;place-items:safe center;padding:clamp(14px,4vw,28px)}.brand{display:flex;flex-direction:column;align-items:center;max-width:100%;transform:translateY(-3vh)}.avatar{position:relative;width:var(--avatar-size);height:var(--avatar-size);margin-bottom:var(--brand-gap)}.avatar picture{display:contents}.avatar img{position:relative;width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgb(255 255 255 / 7%),0 18px 44px rgb(0 0 0 / 55%);transition:transform 620ms var(--ease)}.avatar-glow{position:absolute;inset:-34%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgb(var(--accent) / 20%) 0,rgb(var(--accent) / 0%) 68%);opacity:.85;animation:breathe 9s var(--ease-soft) infinite;animation-name:breathe-local}.avatar:hover img{transform:scale(1.045)}.wordmark{position:relative;display:block;width:var(--mark-width)}.wordmark::before{content:'';position:absolute;inset:-18% -8%;background:url("assets/sparkles/whitesparkle.gif") 50% 50%/90px 68px;opacity:.42;pointer-events:none}.wordmark img{position:relative;width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none}.music,.socials{max-width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--glass-edge);border-radius:10px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-pill);transition:border-color 240ms var(--ease),background-color 240ms var(--ease),box-shadow 320ms var(--ease)}.socials{margin-top:var(--brand-gap)}.music:hover,.socials:hover{border-color:var(--glass-edge-hi);background:var(--glass-hi);box-shadow:var(--shadow-pill),0 0 34px rgb(var(--accent) / 7%)}.music-toggle,.social{height:48px;flex:none;display:grid;place-items:center;color:#8d8d96;text-decoration:none;transition:color 220ms var(--ease),transform 320ms var(--ease)}.music-toggle{width:var(--cell)}.social{width:var(--social-cell)}.music-toggle svg,.social svg{display:block}.music-toggle:hover,.social:hover{color:var(--text);transform:translateY(-1px)}.music-toggle:active,.social:active{transform:translateY(0)}.avatar a:focus-visible,.music-toggle:focus-visible,.social:focus-visible{outline:#bbb solid 2px;outline-offset:-4px;border-radius:6px}.projects{margin-top:var(--group-gap);width:fit-content;max-width:var(--stage-max);margin-inline:auto;display:block;overflow:hidden;border:1px solid var(--glass-edge);border-radius:14px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);transition:border-color 240ms var(--ease),background-color 240ms var(--ease),box-shadow 320ms var(--ease)}.projects:hover{border-color:var(--glass-edge-hi);background:var(--glass-hi);box-shadow:var(--shadow-card),0 0 34px rgb(var(--accent) / 7%)}.project-shot{width:100%;margin:0;padding:0;border:1px solid var(--glass-edge);border-radius:8px;background:0 0;overflow:hidden;cursor:zoom-in;display:block;-webkit-tap-highlight-color:transparent;transition:border-color 240ms var(--ease),box-shadow 320ms var(--ease),transform 320ms var(--ease)}.project-shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}@media (min-width:701px) and (max-height:720px) and (pointer:fine){.stage{padding-top:clamp(8px,2vh,28px);padding-bottom:clamp(8px,2vh,28px)}}.project-shot:focus-visible,.project-shot:hover{border-color:var(--glass-edge-hi);box-shadow:0 0 26px rgb(var(--accent) / 12%);transform:translateY(-1px)}.project-shot:active{transform:translateY(0)}.project-name{margin:2px 0 0;font-size:12.5px;font-weight:600;line-height:1.25;color:var(--text);overflow-wrap:anywhere;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}.project-tag{flex:none;padding:1px 6px;border:1px solid var(--glass-edge-hi);border-radius:999px;font-size:10px;font-weight:500;color:var(--muted)}.project-desc{margin:0;font-size:11.5px;line-height:1.45;color:var(--muted);text-wrap:pretty}.project-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--glass-edge);border-radius:8px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm);font-size:11.5px;font-weight:500;color:#787880;text-decoration:none;transition:color 220ms var(--ease),border-color 240ms var(--ease),box-shadow 320ms var(--ease),transform 320ms var(--ease)}.project-link svg{display:block}.project-link span{transform:translateY(-.06em)}.project-link:focus-visible,.project-link:hover{color:var(--text);border-color:var(--glass-edge-hi);background:var(--glass-hi);box-shadow:0 0 22px rgb(var(--accent) / 9%);transform:translateY(-1px)}.project-link:active{transform:translateY(0)}.project-link:focus-visible,.project-shot:focus-visible{outline:#bbb solid 2px;outline-offset:2px}.product{--shot:min(196px, 26svh);display:grid;grid-template-columns:var(--shot) minmax(88px,max-content);align-items:center;gap:clamp(12px,2.4vw,15px);padding:clamp(11px,2.2vw,14px)}.product-shot{position:relative;align-self:center;background:radial-gradient(72% 62% at 50% 46%,rgb(var(--accent) / 9%) 0,rgb(var(--accent) / 3%) 52%,rgb(var(--accent) / 0%) 100%)}.product-shot img{aspect-ratio:1/1;object-fit:contain;transition:transform 420ms var(--ease)}.projects:hover .product-shot img{transform:scale(1.015)}.product-detail{min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px}.product-desc,.product-name{justify-content:flex-start;text-align:left}.product-desc{color:#a6a6af}.product-link{margin-top:9px;align-self:stretch;gap:6px;min-height:31px;justify-content:center;color:var(--text);border-color:var(--glass-edge-hi);position:relative}.product-link::after{content:'';position:absolute;inset:-7px 0}.product-link:focus-visible,.product-link:hover{background:var(--glass-hi);box-shadow:0 0 22px rgb(var(--accent) / 14%)}.product-link span{transform:none}.product-ink{display:block;flex:none;overflow:hidden;text-indent:-200vw;white-space:nowrap;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center;-webkit-mask-size:auto 100%;mask-size:auto 100%}.ink-name{width:81.7px;height:18px;-webkit-mask-image:url('assets/products/text-1787118549657.png');mask-image:url('assets/products/text-1787118549657.png')}.ink-desc{width:95.3px;height:15px;-webkit-mask-image:url('assets/products/text-1787118509729.png');mask-image:url('assets/products/text-1787118509729.png')}.ink-buy{width:24.5px;height:19px;-webkit-mask-image:url('assets/products/text-1787118592771.png');mask-image:url('assets/products/text-1787118592771.png')}.product-arrow{display:block;flex:none;margin-top:-1px;opacity:.8;transition:transform 380ms var(--ease),opacity 240ms var(--ease)}.product-link:focus-visible .product-arrow,.product-link:hover .product-arrow{opacity:1;transform:translate(2.2px,-2.2px) scale(1.015)}.lightbox{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:clamp(16px,5vw,56px)}.lightbox[hidden]{display:none}.lightbox-backdrop{position:absolute;inset:0;background:rgb(6 6 8 / 82%);opacity:0;transition:opacity 260ms var(--ease-soft);cursor:zoom-out}.lightbox-figure{position:relative;margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;transform:scale(.94) translateY(10px);transition:opacity .3s var(--ease),transform 380ms var(--ease)}.lightbox-img{display:block;max-width:100%;max-height:calc(100svh - 2 * clamp(16px,5vw,56px) - 34px);width:auto;height:auto;border:1px solid var(--border-hi);border-radius:10px;box-shadow:0 30px 80px rgb(0 0 0 / 60%);object-fit:contain}.lightbox-caption{font-size:11.5px;color:var(--muted);text-align:center;overflow-wrap:anywhere}.lightbox-close{position:absolute;top:clamp(12px,3vw,22px);right:clamp(12px,3vw,22px);width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--glass-edge);border-radius:999px;background:var(--glass-hi);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:#9a9aa2;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity 240ms var(--ease-soft),transform 260ms var(--ease),color .2s var(--ease),border-color .2s var(--ease);-webkit-tap-highlight-color:transparent}.lightbox-close:focus-visible,.lightbox-close:hover{color:var(--text);border-color:var(--glass-edge-hi);transform:scale(1.06)}.lightbox.is-open .lightbox-backdrop{opacity:1}.lightbox.is-open .lightbox-figure{opacity:1;transform:none}.lightbox.is-open .lightbox-close{opacity:1;transform:scale(1)}.lightbox.is-open .lightbox-close:focus-visible,.lightbox.is-open .lightbox-close:hover{transform:scale(1.06)}.music-row{position:fixed;left:clamp(14px,4vw,28px);bottom:clamp(14px,4vw,28px);z-index:2;display:flex;max-width:calc(100% - 2 * clamp(14px,4vw,28px))}.music-row[hidden]{display:none}.music{min-width:0}.music-toggle{margin:0;padding:0;border:0;background:0 0;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.music-off,.music-wave{transition:opacity 220ms var(--ease)}.music-off,.music.is-quiet .music-wave{opacity:0}.music.is-quiet .music-off{opacity:1}.music-toggle svg{transform:translate(.92px,1.72px)}.music.is-quiet .music-toggle svg{transform:translate(.22px,1.72px)}.gate{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgb(9 9 11 / 80%);-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);opacity:0;visibility:hidden;transition:opacity var(--gate-ms) var(--ease-soft),-webkit-backdrop-filter var(--gate-ms) var(--ease-soft),backdrop-filter var(--gate-ms) var(--ease-soft),visibility 0s linear var(--gate-ms)}.gated .gate{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(var(--gate-blur));backdrop-filter:blur(var(--gate-blur));transition:opacity var(--gate-ms) var(--ease-soft),-webkit-backdrop-filter var(--gate-ms) var(--ease-soft),backdrop-filter var(--gate-ms) var(--ease-soft),visibility 0s}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--glass:rgb(16 16 20 / 74%);--glass-hi:rgb(22 22 28 / 84%)}.gated .backdrop{filter:blur(var(--gate-blur))}}.gate-message{margin:0;font-family:'Poppins Subset',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:30px;line-height:36px;font-weight:400;text-align:center;color:#fff;overflow-wrap:break-word;user-select:none}.gate-credit{margin:0;font-family:'Poppins Subset',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:13px;line-height:1.6;font-weight:400;text-align:center;color:rgb(255 255 255 / 66%);max-width:min(460px,100%);text-wrap:pretty;user-select:none;transform:translateY(calc(50% + 44px))}.gate-credit,.gate-message{grid-area:1/1}.gate-handle{position:relative;white-space:nowrap;color:#fff}.gate-handle::before{content:'';position:absolute;inset:-0.55em -0.35em;background:url("assets/sparkles/whitesparkle.gif") 50% 50%/34px 26px;opacity:.5;pointer-events:none;z-index:-1}.js [data-reveal]{opacity:0;transform:translateY(12px) scale(.985)}.ready [data-reveal]{animation:reveal .9s var(--ease) both}.ready [data-reveal="1"]{animation-delay:60ms}.ready [data-reveal="2"]{animation-delay:.2s}.ready [data-reveal="3"]{animation-delay:360ms}.ready [data-reveal="4"]{animation-delay:480ms}.ready [data-reveal="5"]{animation-delay:.6s}.ready .field{animation:fade-in 1.5s var(--ease-soft) both}.ready .aura{animation:breathe 13s var(--ease-soft) infinite,fade-in 1.9s var(--ease-soft) both}@keyframes reveal{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes breathe{0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.075)}}@keyframes breathe-local{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.09)}}@keyframes drift{0%,100%{transform:translate(0,0)}20%{transform:translate(-14px,8px)}40%{transform:translate(9px,-12px)}60%{transform:translate(-8px,-6px)}80%{transform:translate(12px,10px)}}@media (max-width:560px){.brand{transform:translateY(-2vh)}}@media (max-width:700px){.brand{transform:none}.product{--shot:min(148px, 26svh)}}@media (max-width:700px),(max-height:540px) and (orientation:landscape) and (pointer:coarse){.scene{display:flex;flex-direction:column}.music-row{position:static;order:-1;align-self:flex-start;margin:14px 0 0 clamp(14px,4vw,28px);z-index:auto;max-width:calc(100% - 2 * clamp(14px,4vw,28px))}.stage{min-height:0;flex:1 1 auto;padding-top:8px;padding-bottom:calc(clamp(14px,4vw,28px) + var(--safe-bottom));padding-left:calc(clamp(14px,4vw,28px) + var(--safe-left));padding-right:calc(clamp(14px,4vw,28px) + var(--safe-right))}body{position:relative}.backdrop{position:absolute;inset:0;height:auto}.brand{transform:translateY(-28px)}.backdrop-video{object-position:58% center}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.backdrop-video{top:0;left:0;width:100%;height:100%}}}@media (max-height:540px) and (orientation:landscape) and (pointer:coarse){.product{--shot:min(148px, 20svh)}}@media (max-height:520px){.brand{transform:none}}@media (max-height:520px) and (orientation:landscape){.music-row{left:calc(var(--safe-left) + clamp(14px,4vw,28px));bottom:calc(var(--safe-bottom) + clamp(14px,4vw,28px))}.stage{padding-left:calc(clamp(14px,4vw,28px) + var(--safe-left));padding-right:calc(clamp(14px,4vw,28px) + var(--safe-right));padding-bottom:calc(clamp(14px,4vw,28px) + var(--safe-bottom))}}@media (prefers-reduced-motion:reduce){.aura,.avatar-glow,.grain{animation:none}.ready .aura{animation:fade-in 1.9s var(--ease-soft) both}.gate-message{animation:none}.ready [data-reveal]{animation-duration:1ms}.avatar:hover img,.music-toggle:hover,.social:hover{transform:none}.project-link:focus-visible,.project-link:hover,.project-shot:focus-visible,.project-shot:hover{transform:none}.lightbox-close,.lightbox-figure,.lightbox.is-open .lightbox-close,.lightbox.is-open .lightbox-figure{transform:none}}.boot{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:var(--bg);pointer-events:none;opacity:1;visibility:visible;transition:opacity 420ms var(--ease-soft),visibility 0s linear 420ms}html:not(.booting) .boot{opacity:0;visibility:hidden}.boot.is-gone{display:none}.boot-mark{position:relative;width:var(--avatar-size);height:var(--avatar-size);transform:scale(1);transition:transform 420ms var(--ease)}html:not(.booting) .boot-mark{transform:scale(1.04)}.boot-mark picture{display:contents}.boot-mark img{position:relative;width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgb(255 255 255 / 7%),0 18px 44px rgb(0 0 0 / 55%)}.boot-glow{position:absolute;inset:-34%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgb(var(--accent) / 20%) 0,rgb(var(--accent) / 0%) 68%);opacity:.85;animation:breathe-local 9s var(--ease-soft) infinite}.netice{position:fixed;right:clamp(14px,4vw,28px);bottom:clamp(14px,4vw,28px);z-index:70;max-width:calc(100% - 2 * clamp(14px,4vw,28px));display:flex;align-items:center;gap:8px;padding:0 12px;min-height:36px;border:1px solid var(--glass-edge);border-radius:10px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-pill);font-size:11.5px;line-height:1.4;color:var(--text);opacity:0;transform:translateY(12px);transition:opacity 320ms var(--ease-soft),transform 380ms var(--ease)}.netice[hidden]{display:none}.netice.is-shown{opacity:1;transform:none}.netice-dot{flex:none;width:6px;height:6px;border-radius:50%;background:#8d8d96;transition:background-color 240ms var(--ease)}.netice.is-offline .netice-dot{background:#d9a441}.netice.is-online .netice-dot{background:rgb(var(--accent))}@media (prefers-reduced-motion:reduce){.boot-glow{animation:none}.boot{transition:opacity 160ms var(--ease-soft),visibility 0s linear 160ms}.boot-mark,html:not(.booting) .boot-mark{transform:none;transition:none}.netice{transform:none;transition:opacity 160ms var(--ease-soft)}.netice.is-shown{transform:none}}