:root{--font-sans: "Helvetica Neue", Helvetica, "Inter", Arial, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;--accent: #c2f542;--accent-ink: #14130d;--ease: cubic-bezier(.16, 1, .3, 1);--ease-quick: cubic-bezier(.4, 0, .2, 1);--r: 14px;--maxw: 1500px;--gut: clamp(20px, 5vw, 64px);font-synthesis:none}[data-theme=light]{--bg: #e8e4da;--bg-2: #f1eee6;--bg-3: #ddd8cc;--fg: #16150f;--fg-dim: #565248;--line: rgba(22, 21, 15, .2);--line-2: rgba(22, 21, 15, .09);--grain-op: .022}[data-theme=dark]{--bg: #0b0b09;--bg-2: #141310;--bg-3: #1d1b16;--fg: #ece7dc;--fg-dim: #8b8678;--line: rgba(236, 231, 220, .17);--line-2: rgba(236, 231, 220, .07);--grain-op: .04}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}html.lock{overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);line-height:1.35;overflow-x:hidden;cursor:none;transition:background .6s var(--ease),color .6s var(--ease);letter-spacing:-.01em}@media (max-width: 900px){body{cursor:auto}}a{color:inherit;text-decoration:none}img,svg,video{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}::selection{background:var(--accent);color:var(--accent-ink)}h1,h2,h3,h4{font-weight:500;letter-spacing:-.035em;line-height:.96}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:9000;pointer-events:none;opacity:var(--grain-op);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .6s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}50%{transform:translate(-4%,3%)}to{transform:translate(3%,-2%)}}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:13000;pointer-events:none;border-radius:50%;will-change:transform}.cursor-dot{width:8px;height:8px;background:var(--accent);transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),background .25s;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-ink) 30%,transparent)}.cursor-ring{width:40px;height:40px;border:1.5px solid var(--fg);transform:translate(-50%,-50%);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),background .3s,border-color .3s,opacity .3s;opacity:.45}.cursor-ring.hovering{width:66px;height:66px;opacity:1;background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:var(--accent)}.cursor-ring.is-view{width:92px;height:92px;opacity:1;background:var(--accent);border-color:var(--accent)}.cursor-dot.is-view{width:0;height:0}.cursor-ring .lbl{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-ink);opacity:0;transform:scale(.6);transition:opacity .2s,transform .3s var(--ease)}.cursor-ring.is-view .lbl{opacity:1;transform:scale(1)}.cursor-down .cursor-ring{width:30px;height:30px}@media (max-width: 900px),(pointer: coarse){.cursor-dot,.cursor-ring{display:none!important}}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}section{position:relative}.lc{text-transform:lowercase}.mono{font-family:var(--font-mono)}.eyebrow,.kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);display:inline-flex;align-items:center;gap:9px}.kicker{display:block;margin-bottom:22px}.eyebrow:before{content:"";width:7px;height:7px;background:var(--accent);border-radius:50%}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:15px var(--gut);transition:background .4s,backdrop-filter .4s,border-color .4s,padding .4s var(--ease);--nav-fg: #f3f0e7;--nav-dim: rgba(243,240,231,.62);--nav-line: rgba(255,255,255,.16);background-color:#0b0b096b;background-image:linear-gradient(180deg,#ffffff1a,#ffffff05 38%,#fff0);backdrop-filter:blur(26px) saturate(1.9);-webkit-backdrop-filter:blur(26px) saturate(1.9);box-shadow:inset 0 1px #ffffff29,inset 0 -1px #0000004d,0 14px 40px -26px #000000b3;border-bottom:1px solid var(--nav-line);color:var(--nav-fg)}.nav.scrolled{background-color:#0b0b09a8;padding-block:11px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:15px;font-weight:500;justify-self:start;color:var(--nav-fg)}.brand-av{width:38px;height:38px;border-radius:10px;object-fit:cover;object-position:50% 30%;flex:none;border:1px solid var(--nav-line);box-shadow:0 2px 8px #00000059,inset 0 1px #ffffff1f;transition:transform .5s var(--ease)}.brand:hover .brand-av{transform:scale(1.06) rotate(-2deg)}.brand-tx{display:inline-flex;flex-direction:column;line-height:1.12}.brand-nm{display:inline-flex;align-items:baseline;gap:6px}.brand .slash{font-family:var(--font-mono);color:var(--accent)}.brand .sub{font-family:var(--font-mono);font-size:10.5px;color:var(--nav-dim)}@media (max-width: 480px){.brand .sub{display:none}.brand-av{width:34px;height:34px}}.clocks{display:inline-flex;align-items:center;gap:0;font-family:var(--font-mono);font-size:12px;color:var(--nav-dim);justify-self:center;letter-spacing:.04em}.clocks .paren{color:var(--accent)}.clocks .city{display:inline-flex;flex-direction:column;align-items:center;padding:0 14px;line-height:1.25}.clocks .city .nm{font-size:10px;letter-spacing:.12em}.clocks .city .tm{color:var(--nav-fg)}@media (max-width: 1040px){.nav>.clocks{display:none}}.nav-right{display:inline-flex;align-items:center;gap:10px;justify-self:end}.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--nav-line);color:var(--nav-fg);display:grid;place-items:center;transition:border-color .25s,transform .5s var(--ease),background .25s;flex:none;box-shadow:inset 0 1px #ffffff2e,0 4px 12px -6px #00000080}.theme-toggle:hover{transform:rotate(40deg);border-color:var(--accent);background:#ffffff12}.theme-toggle svg{width:18px;height:18px}.menu-btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:11px 18px;border:1px solid var(--nav-line);border-radius:999px;color:var(--nav-fg);transition:background .3s,color .3s,border-color .3s;flex:none;box-shadow:inset 0 1px #ffffff2e,0 4px 12px -6px #00000080}.menu-btn:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.menu-btn .bars{display:inline-flex;flex-direction:column;gap:4px}.menu-btn .bars i{width:16px;height:1.5px;background:currentColor;display:block;transition:.3s}@media (max-width: 560px){.menu-btn .mtxt{display:none}.menu-btn{padding:0;width:46px;height:46px;justify-content:center}.theme-toggle{width:46px;height:46px}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;color:#f3f0e7;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:15px var(--gut) 30px;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease);pointer-events:none;background:linear-gradient(160deg,#0d0d0abd,#14130dd1);backdrop-filter:blur(34px) saturate(1.7);-webkit-backdrop-filter:blur(34px) saturate(1.7);box-shadow:inset 0 1px #ffffff1f}.overlay.open{clip-path:inset(0 0 0 0);pointer-events:auto}.overlay-top{display:flex;align-items:center;justify-content:space-between;min-height:46px}.overlay .clocks{color:#f3f0e799}.overlay .clocks .city .tm{color:#f3f0e7}.overlay-close{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:11px 18px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#f3f0e7;transition:.3s;box-shadow:inset 0 1px #ffffff2e,0 4px 12px -6px #00000080}.overlay-close:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.overlay-nav{align-self:stretch;justify-content:center;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:24px 0;scrollbar-width:thin}.overlay-nav::-webkit-scrollbar{width:4px}.overlay-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.overlay-link{display:flex;align-items:baseline;gap:18px;padding:clamp(6px,1.1vw,12px) 0;border-bottom:1px solid rgba(255,255,255,.1);transition:padding-left .45s var(--ease),color .3s;color:#f3f0e7}.overlay-link .n{font-family:var(--font-mono);font-size:13px;color:var(--accent);width:36px}.overlay-link .t{font-size:clamp(28px,6vw,78px);font-weight:500;letter-spacing:-.035em;line-height:1}.overlay-link:hover{padding-left:22px}.overlay-link:hover .t{color:var(--accent)}.overlay-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;color:#f3f0e799}.overlay-foot .socs{display:flex;gap:16px;flex-wrap:wrap}.overlay-foot a:hover{color:var(--accent)}@media (max-height: 720px){.overlay-link .t{font-size:clamp(22px,4.4vh,40px)}.overlay-link{padding:4px 0}}@media (max-width: 700px){.overlay-foot{flex-direction:column;align-items:flex-start;gap:12px}}.btn-pill{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:14px;transition:transform .3s var(--ease),opacity .3s;box-shadow:inset 0 1px #ffffff38,0 6px 14px -8px #0006}.btn-pill.accent{background:linear-gradient(118deg,var(--accent),color-mix(in srgb,var(--accent) 62%,#ffffff));color:var(--accent-ink);box-shadow:inset 0 1px #ffffff8c,inset 0 -2px 4px #00000024,0 10px 22px -10px color-mix(in srgb,var(--accent) 70%,transparent)}.btn-pill.ghost{background:transparent;color:var(--fg);border:1px solid var(--line);box-shadow:inset 0 1px #ffffff2e}.btn-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}.btn-pill.accent .dot,.btn-pill .dot.ink{background:var(--accent-ink);animation:none}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.btn-pill.accent:hover,.btn-pill.ghost:hover{transform:translateY(-2px)}.btn-pill.accent:hover{box-shadow:0 16px 40px -16px color-mix(in srgb,var(--accent) 90%,transparent)}.btn-pill:active{transform:translateY(1px) scale(.99);box-shadow:inset 0 2px 6px #00000052}.link-line{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.1em;position:relative;padding-bottom:3px}.link-line:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.link-line:hover:after{transform:scaleX(1);transform-origin:left}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:120px;padding-bottom:50px}.hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;flex-wrap:wrap}.hero h1{font-size:clamp(56px,13vw,220px);font-weight:500;line-height:.86;letter-spacing:-.05em;text-transform:lowercase;text-wrap:balance}.hero h1 .word{display:inline-block;overflow:hidden;vertical-align:top}.hero h1 .word>span{display:inline-block;transform:translateY(110%)}.hero h1 em{font-style:normal}[data-theme=dark] .hero h1 em{background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#7be0ff));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] .hero h1 em{color:var(--accent-strong)}.hero-lede{font-size:clamp(16px,1.5vw,20px);color:var(--fg-dim);max-width:34ch;line-height:1.45}.hero-lede b{color:var(--fg);font-weight:500}.hero-meta{display:flex;flex-direction:column;gap:14px;align-items:flex-end;text-align:right}.hero-bottom{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-top:clamp(30px,5vh,64px)}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.hero-meta{align-items:flex-end;gap:16px}.hero-avatar{position:relative;width:clamp(104px,12vw,148px);aspect-ratio:1;flex:none}.ava-spin{position:absolute;top:0;right:0;bottom:0;left:0;animation:avaspin 16s linear infinite}@media (prefers-reduced-motion: reduce){.ava-spin{animation:none}}.ava-spin svg{width:100%;height:100%;overflow:visible}.ava-spin text{fill:var(--fg-dim);font-family:var(--font-mono);font-size:7.3px;letter-spacing:.12em;text-transform:uppercase}.ava-spin path{fill:none}.ava-img{position:absolute;top:16%;right:16%;bottom:16%;left:16%;width:68%;height:68%;border-radius:50%;object-fit:cover;object-position:50% 22%;border:2px solid color-mix(in srgb,var(--bg) 70%,transparent);box-shadow:inset 0 2px 4px #ffffff40,0 12px 30px -12px #0000008c,0 0 0 1px var(--line);animation:avafloat 5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.ava-img{animation:none}}.ava-status{position:absolute;right:17%;bottom:17%;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8fffb8,#19c46a);border:3px solid var(--bg);box-shadow:0 0 #19c46a99;animation:avapulse 2.2s infinite}@keyframes avaspin{to{transform:rotate(360deg)}}@keyframes avafloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes avapulse{0%{box-shadow:0 0 #19c46a8c}70%{box-shadow:0 0 0 9px #19c46a00}to{box-shadow:0 0 #19c46a00}}@media (max-width: 600px){.hero-meta{align-items:flex-start}.hero-avatar{width:92px}}.marquee{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.marquee-track{display:flex;gap:12px;width:max-content;animation:scroll-x var(--dur, 40s) linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes scroll-x{to{transform:translate(-50%)}}.tag{font-family:var(--font-mono);font-size:14px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;white-space:nowrap;color:var(--fg-dim);transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease);background-image:linear-gradient(180deg,#ffffff0d,#0000000a)}[data-theme=light] .tag{background-image:linear-gradient(180deg,#ffffffb3,#00000006)}.tag:hover{border-color:var(--accent);color:var(--fg);transform:translateY(-2px)}.tag.fill{background:linear-gradient(180deg,color-mix(in srgb,var(--accent),#fff 22%),var(--accent));color:var(--accent-ink);border-color:var(--accent);box-shadow:inset 0 1px #ffffff80,0 4px 12px -6px color-mix(in srgb,var(--accent) 60%,transparent)}.tags-band{padding:26px 0;border-block:1px solid var(--line-2)}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:52px;flex-wrap:wrap}.sec-head h2{font-size:clamp(32px,5.5vw,88px);font-weight:500;letter-spacing:-.04em;line-height:.94;text-transform:lowercase;text-wrap:balance}.sec-head .num{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.sec-pad{padding-block:clamp(80px,13vh,180px)}.stack-strip{border-block:1px solid var(--line);padding:28px 0;overflow:hidden}.stack-track{display:flex;gap:52px;width:max-content;align-items:center;animation:scroll-x 44s linear infinite}.stack-strip:hover .stack-track{animation-play-state:paused}.stack-item{display:flex;align-items:center;gap:13px;white-space:nowrap;opacity:.5;transition:opacity .3s}.stack-item:hover{opacity:1}.stack-item .ico{width:38px;height:38px;border-radius:10px;background:var(--bg-3);display:grid;place-items:center;font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--fg);flex:none;background-image:linear-gradient(180deg,color-mix(in srgb,var(--bg-3),#fff 8%),var(--bg-3) 60%,color-mix(in srgb,var(--bg-3),#000 8%));box-shadow:inset 0 1px #ffffff24,0 4px 10px -6px #00000080}.stack-item .nm{font-size:21px;font-weight:500;letter-spacing:-.02em}.stack-item .role{font-family:var(--font-mono);font-size:11px;color:var(--fg-dim)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px)}.skill{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:var(--bg-2);transition:transform .4s var(--ease),background .4s,border-color .4s;position:relative;overflow:hidden;background-image:linear-gradient(180deg,color-mix(in srgb,var(--bg-2),#ffffff 6%),var(--bg-2) 54%,color-mix(in srgb,var(--bg-2),#000000 7%));box-shadow:inset 0 1px #ffffff1f,inset 0 -2px 4px #00000029,0 14px 30px -18px #00000080}[data-theme=light] .skill{background-image:linear-gradient(180deg,#fbfaf4,var(--bg-2) 56%,#e1dccf);box-shadow:inset 0 1px #ffffffe6,inset 0 -2px 4px #0000000d,0 14px 30px -20px #00000038}.skill:hover{background:var(--bg-3);border-color:var(--accent);transform:translateY(-5px);box-shadow:inset 0 1px #ffffff2e,0 28px 64px -32px color-mix(in srgb,var(--accent) 60%,rgba(0,0,0,.4))}.skill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent 42%,transparent 60%,color-mix(in srgb,var(--accent) 50%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .45s var(--ease);z-index:2}.skill:hover:after{opacity:1}.skill .si{width:50px;height:50px;border-radius:13px;background:var(--bg-3);display:grid;place-items:center;margin-bottom:52px;transition:background .4s}.skill:hover .si{background:var(--accent)}.skill .si svg{width:24px;height:24px;stroke:var(--fg);transition:stroke .4s}.skill:hover .si svg{stroke:var(--accent-ink)}.skill h4{font-size:20px;font-weight:500;margin-bottom:10px;letter-spacing:-.02em}.skill p{font-size:14px;color:var(--fg-dim);line-height:1.5}.skill .k{position:absolute;top:22px;right:24px;font-family:var(--font-mono);font-size:12px;color:var(--fg-dim)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.8vw,28px)}.cards.three{grid-template-columns:repeat(3,1fr)}.card{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--bg-2);display:block;aspect-ratio:4/3;isolation:isolate;transition:transform .5s var(--ease),border-color .4s,box-shadow .5s}.card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 30px 80px -42px color-mix(in srgb,var(--accent) 90%,transparent)}.card .thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .7s var(--ease),filter .5s}.card:hover .thumb{transform:scale(1.05)}.card .ov{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:linear-gradient(to top,rgba(8,8,6,.82),rgba(8,8,6,.12) 52%,transparent);color:#fff}.card .meta{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:7px}.card h3{font-size:clamp(22px,2.4vw,34px);font-weight:500;letter-spacing:-.03em;text-transform:lowercase;color:#fff}.card .go{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;transform:scale(0) rotate(-40deg);transition:transform .45s var(--ease);z-index:2}.card:hover .go{transform:scale(1) rotate(0)}.card .go svg{width:18px;height:18px}@media (max-width: 760px){.cards,.cards.three{grid-template-columns:1fr 1fr}}@media (max-width: 460px){.cards,.cards.three{grid-template-columns:1fr}}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px)}.shop-card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg-2);transition:transform .4s var(--ease),border-color .4s;background-image:linear-gradient(180deg,color-mix(in srgb,var(--bg-2),#ffffff 6%),var(--bg-2) 54%,color-mix(in srgb,var(--bg-2),#000000 7%));box-shadow:inset 0 1px #ffffff1f,inset 0 -2px 4px #00000029,0 14px 30px -18px #00000080;position:relative}[data-theme=light] .shop-card{background-image:linear-gradient(180deg,#fbfaf4,var(--bg-2) 56%,#e1dccf);box-shadow:inset 0 1px #ffffffe6,inset 0 -2px 4px #0000000d,0 14px 30px -20px #00000038}.shop-card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:inset 0 1px #ffffff2e,0 28px 64px -32px color-mix(in srgb,var(--accent) 60%,rgba(0,0,0,.4))}.shop-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent 42%,transparent 60%,color-mix(in srgb,var(--accent) 50%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .45s var(--ease);z-index:2}.shop-card:hover:after{opacity:1}.shop-thumb{aspect-ratio:4/3;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.shop-meta{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-meta .nm{font-size:17px;font-weight:500}.shop-meta .cat{font-family:var(--font-mono);font-size:11px;color:var(--fg-dim)}.shop-price{font-family:var(--font-mono);font-size:13px;padding:6px 11px;border-radius:999px;background:var(--bg-3);white-space:nowrap}.shop-price.free{background:var(--accent);color:var(--accent-ink)}.badge-new{position:absolute;top:13px;left:13px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:var(--fg);color:var(--bg);padding:5px 9px;border-radius:999px;z-index:1}.cta-band{text-align:center;padding-block:clamp(90px,17vh,220px)}.cta-band h2{font-size:clamp(54px,14vw,240px);font-weight:500;letter-spacing:-.05em;line-height:.82;text-transform:lowercase}.cta-band h2 a{transition:color .3s}.cta-band h2 a:hover{color:var(--accent)}.cta-band .sub{margin-top:26px;color:var(--fg-dim);font-size:17px;font-family:var(--font-mono)}.foot{border-top:1px solid var(--line);padding-block:56px 36px}.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:56px}.foot h3{font-size:clamp(40px,7vw,120px);font-weight:500;letter-spacing:-.04em;line-height:.88;text-transform:lowercase}.foot-col h5{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-dim);margin-bottom:18px}.foot-col a{display:block;font-size:15px;padding:6px 0;color:var(--fg-dim);transition:color .25s,transform .25s;width:fit-content}.foot-col a:hover{color:var(--accent);transform:translate(6px)}.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:28px;border-top:1px solid var(--line-2);font-family:var(--font-mono);font-size:12px;color:var(--fg-dim);flex-wrap:wrap}.foot-secret{font:inherit;color:var(--fg-dim);opacity:.35;padding:0 2px;cursor:none;transition:opacity .25s,color .25s}.foot-secret:hover{opacity:1;color:var(--accent-strong)}.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}.reveal[data-d="5"]{transition-delay:.4s}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none}.marquee-track,.stack-track{animation:none}}.page-head{padding-top:168px;padding-bottom:40px}.page-head h1{font-size:clamp(44px,11vw,180px);font-weight:500;letter-spacing:-.05em;line-height:.84;text-transform:lowercase;overflow-wrap:anywhere;max-width:100%}@media (max-width: 460px){.page-head h1{font-size:clamp(34px,13vw,64px)}}.breadcrumb{font-family:var(--font-mono);font-size:12px;color:var(--fg-dim);margin-bottom:24px;letter-spacing:.04em}.breadcrumb a:hover{color:var(--accent)}.cs-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}.cs-filter a{font-family:var(--font-mono);font-size:12px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;color:var(--fg-dim);transition:.25s}.cs-filter a:hover,.cs-filter a.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cs-list{display:flex;flex-direction:column;gap:clamp(16px,2vw,26px)}.cs-item{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(20px,3vw,50px);align-items:stretch;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg-2);transition:border-color .4s var(--ease)}.cs-item:hover{border-color:var(--accent)}.cs-item:nth-child(2n){grid-template-columns:1fr 1.05fr}.cs-item:nth-child(2n) .cs-media{order:2}.cs-media{position:relative;overflow:hidden;min-height:330px}.cs-item:hover .cs-media .ph-stripe{transform:scale(1.04)}.cs-body{padding:clamp(26px,3vw,48px);display:flex;flex-direction:column;justify-content:center;gap:18px}.cs-body .meta{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.cs-body h3{font-size:clamp(30px,4vw,60px);font-weight:500;letter-spacing:-.04em;line-height:.94;text-transform:lowercase}.cs-body p{color:var(--fg-dim);font-size:15.5px;line-height:1.55;max-width:44ch}.cs-chips{display:flex;flex-wrap:wrap;gap:8px}.cs-chips span{font-family:var(--font-mono);font-size:11px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--fg-dim)}.cs-link{display:inline-flex;align-items:center;gap:10px;font-weight:500;width:fit-content;margin-top:4px}.cs-link .c{width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;transition:transform .4s var(--ease)}.cs-item:hover .cs-link .c{transform:scale(1.1)}.cs-link .c svg{width:16px;height:16px}.pindex{display:flex;flex-direction:column;gap:clamp(46px,8vh,120px)}.pindex-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}.pindex-row:nth-child(2n) .pindex-media{order:2}.pindex-media{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--bg-2);transition:border-color .4s,box-shadow .5s var(--ease)}.pindex-row:nth-child(3n) .pindex-media{aspect-ratio:5/4}.pindex-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.pindex-row:hover .pindex-media{border-color:var(--accent);box-shadow:0 30px 80px -42px color-mix(in srgb,var(--accent) 85%,transparent)}.pindex-row:hover .pindex-media img{transform:scale(1.045)}.pindex-media .go{position:absolute;top:18px;right:18px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;transform:scale(0) rotate(-40deg);transition:transform .45s var(--ease)}.pindex-row:hover .pindex-media .go{transform:scale(1) rotate(0)}.pindex-media .go svg{width:19px;height:19px}.pindex-num{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.pindex-text h3{font-size:clamp(32px,4.6vw,70px);font-weight:500;letter-spacing:-.04em;line-height:.95;text-transform:lowercase;margin:12px 0 10px;transition:color .3s}.pindex-row:hover .pindex-text h3{color:var(--accent-strong)}.pindex-cat{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.pindex-text p{font-size:16px;line-height:1.6;color:var(--fg-dim);max-width:46ch;margin:18px 0 24px}.pindex-text .link-line{color:var(--fg)}@media (max-width: 820px){.pindex-row,.pindex-row:nth-child(2n){grid-template-columns:1fr;gap:22px}.pindex-row .pindex-media,.pindex-row:nth-child(2n) .pindex-media{order:0}.pindex-media,.pindex-row:nth-child(3n) .pindex-media{aspect-ratio:16/11}}.hoverlist{position:relative;border-top:1px solid var(--line)}.hl-row{display:flex;align-items:center;gap:22px;padding:clamp(16px,2.6vw,32px) 0;border-bottom:1px solid var(--line);position:relative;transition:padding-left .45s var(--ease),color .3s}.hl-row:hover{padding-left:18px}.hl-num{font-family:var(--font-mono);font-size:13px;color:var(--accent);width:38px;flex:none}.hl-title{font-size:clamp(28px,5vw,66px);font-weight:500;letter-spacing:-.035em;line-height:1;text-transform:lowercase;flex:1;transition:color .3s}.hl-row:hover .hl-title{color:var(--accent)}.hl-cat{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-dim);white-space:nowrap}.hl-arrow{width:30px;height:30px;flex:none;opacity:0;transform:translate(-12px);transition:.4s var(--ease);color:var(--accent)}.hl-arrow svg{width:100%;height:100%}.hl-row:hover .hl-arrow{opacity:1;transform:none}.hl-figure{position:fixed;z-index:6;width:clamp(220px,22vw,320px);aspect-ratio:4/3;border-radius:12px;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.82) rotate(-3deg);transition:opacity .35s var(--ease),transform .45s var(--ease);box-shadow:0 30px 80px -28px #0000008c;border:1px solid var(--line)}.hl-figure.show{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}.hl-figure img{width:100%;height:100%;object-fit:cover}@media (max-width: 760px){.hl-title{font-size:30px}.hl-cat,.hl-figure{display:none}}.about-intro{font-size:clamp(26px,4.4vw,64px);font-weight:400;line-height:1.1;letter-spacing:-.035em;max-width:20ch;text-wrap:balance;text-transform:lowercase}.about-intro em{font-style:normal;color:var(--accent)}[data-theme=light] .about-intro em{color:var(--accent-strong)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px);align-items:start}.about-portrait{aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);position:sticky;top:110px}.about-copy p{font-size:17px;line-height:1.65;color:var(--fg-dim);margin-bottom:20px;max-width:52ch}.about-copy p b{color:var(--fg);font-weight:500}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:40px;background-image:linear-gradient(180deg,color-mix(in srgb,var(--bg-2),#ffffff 6%),var(--bg-2) 54%,color-mix(in srgb,var(--bg-2),#000000 7%));box-shadow:inset 0 1px #ffffff1f,inset 0 -2px 4px #00000029,0 14px 30px -18px #00000080}[data-theme=light] .facts{background-image:linear-gradient(180deg,#fbfaf4,var(--bg-2) 56%,#e1dccf);box-shadow:inset 0 1px #ffffffe6,inset 0 -2px 4px #0000000d,0 14px 30px -20px #00000038}.facts .f{background:var(--bg);padding:28px}.facts .f .n{font-size:clamp(36px,5vw,64px);font-weight:500;letter-spacing:-.04em}.facts .f .n em{font-style:normal;color:var(--accent)}[data-theme=light] .facts .f .n em{color:var(--accent-strong)}.facts .f .l{font-family:var(--font-mono);font-size:11px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.04em;margin-top:6px}.exp-list{border-top:1px solid var(--line)}.exp-row{display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line);transition:padding-left .4s var(--ease)}.exp-row:hover{padding-left:14px}.exp-row .yr{font-family:var(--font-mono);font-size:12px;color:var(--accent)}.exp-row .role{font-size:clamp(20px,2.6vw,32px);font-weight:500;letter-spacing:-.03em}.exp-row .co{color:var(--fg-dim);font-size:14px}.exp-row .place{font-family:var(--font-mono);font-size:12px;color:var(--fg-dim);text-align:right}.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:start}.contact-aside .ci-row{padding:22px 0;border-bottom:1px solid var(--line)}.contact-aside .ci-row h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:8px}.contact-aside .ci-row a,.contact-aside .ci-row p{font-size:19px;font-weight:500}.contact-aside .ci-row a:hover{color:var(--accent)}.socials-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.socials-inline a{font-family:var(--font-mono);font-size:12px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;color:var(--fg-dim);transition:.25s}.socials-inline a:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}.field{position:relative;display:flex;flex-direction:column}.field.full{grid-column:1 / -1}.field label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:10px;display:flex;justify-content:space-between}.field label .req{color:var(--accent)}.field input,.field textarea,.field select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--fg);font-family:inherit;font-size:17px;padding:10px 0;transition:border-color .3s;outline:none;border-radius:0}.field textarea{resize:vertical;min-height:110px}.field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%238b8678' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}.field select option{background:var(--bg-2);color:var(--fg)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:#e5484d}.field .err{font-family:var(--font-mono);font-size:11px;color:#e5484d;margin-top:7px;height:0;overflow:hidden;transition:height .25s}.field.invalid .err{height:16px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip-opt{font-family:var(--font-mono);font-size:12px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;color:var(--fg-dim);cursor:pointer;transition:.2s;-webkit-user-select:none;user-select:none}.chip-opt:hover{border-color:var(--fg-dim);color:var(--fg)}.chip-opt.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.submit-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:8px}.btn-submit{display:inline-flex;align-items:center;gap:14px;background:linear-gradient(118deg,var(--accent),color-mix(in srgb,var(--accent) 62%,#ffffff));color:var(--accent-ink);font-size:16px;font-weight:500;padding:16px 28px;border-radius:999px;transition:transform .3s var(--ease),opacity .3s;box-shadow:inset 0 1px #ffffff8c,inset 0 -2px 4px #00000024,0 10px 22px -10px color-mix(in srgb,var(--accent) 70%,transparent)}.btn-submit .ar{transition:transform .3s var(--ease)}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 16px 40px -16px color-mix(in srgb,var(--accent) 90%,transparent)}.btn-submit:hover .ar{transform:translate(5px)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.btn-submit:active{transform:translateY(1px) scale(.99);box-shadow:inset 0 2px 6px #00000052}.form-note{font-family:var(--font-mono);font-size:12px;color:var(--fg-dim)}.form-sent{text-align:center;padding:clamp(40px,9vh,110px) 0}.form-sent .check{width:84px;height:84px;border-radius:50%;border:2px solid var(--accent);display:grid;place-items:center;margin:0 auto 28px;animation:pop .6s var(--ease)}.form-sent .check svg{width:38px;height:38px;stroke:var(--accent)}@keyframes pop{0%{transform:scale(0)}60%{transform:scale(1.12)}to{transform:scale(1)}}.form-sent h3{font-size:clamp(30px,5vw,56px);font-weight:500;letter-spacing:-.03em;margin-bottom:14px;text-transform:lowercase}.form-sent p{color:var(--fg-dim);font-size:17px}.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,20px)}.mgrid.two{grid-template-columns:repeat(2,1fr)}.mtile{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--bg-2);aspect-ratio:1;transition:transform .5s var(--ease),border-color .4s,box-shadow .5s}.mtile.wide{aspect-ratio:16/10}.mtile:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 26px 70px -40px color-mix(in srgb,var(--accent) 85%,transparent)}.mtile img,.mtile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}.mtile:hover img,.mtile:hover video{transform:scale(1.05)}.mtile .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(to top,rgba(8,8,6,.8),transparent);color:#fff;font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:10px}.mtile .cap .k{font-family:var(--font-mono);font-size:11px;color:var(--accent)}.mtile .play{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:50%;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:2}.mtile .play svg{width:14px;height:14px;fill:#fff}@media (max-width: 860px){.mgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.mgrid,.mgrid.two{grid-template-columns:1fr}}.proj-hero{padding-top:150px}.proj-back{font-family:var(--font-mono);font-size:12px;color:var(--fg-dim);letter-spacing:.04em;display:inline-flex;gap:8px;margin-bottom:26px}.proj-back:hover{color:var(--accent)}.proj-title{font-size:clamp(48px,10vw,150px);font-weight:500;letter-spacing:-.05em;line-height:.88;text-transform:lowercase}.proj-cat{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:18px}.proj-summary{font-size:clamp(18px,2vw,26px);line-height:1.4;max-width:46ch;color:var(--fg);margin-top:26px;letter-spacing:-.02em}.proj-metabar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:44px}.proj-metabar .m{background:var(--bg);padding:20px 22px}.proj-metabar .m h5{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--fg-dim);margin-bottom:8px}.proj-metabar .m p{font-size:15px;font-weight:500}.proj-metabar .m a{color:var(--accent)}.proj-inner{max-width:820px;margin:0 auto}.proj-sec{margin-top:clamp(40px,6vh,76px)}.proj-sec h2{font-size:clamp(24px,3.2vw,40px);font-weight:500;letter-spacing:-.03em;margin-bottom:18px;text-transform:lowercase}.proj-sec p{font-size:17px;line-height:1.65;color:var(--fg-dim)}.proj-sec ul{list-style:none;margin-top:8px;display:flex;flex-direction:column;gap:12px}.proj-sec li{font-size:16px;line-height:1.55;color:var(--fg-dim);padding-left:26px;position:relative}.proj-sec li:before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--accent)}.proj-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,22px);margin-top:clamp(40px,7vh,90px)}.proj-gallery .mtile{aspect-ratio:auto}.proj-gallery .mtile.solo{grid-column:1 / -1}.proj-gallery .mtile img,.proj-gallery .mtile video{height:auto;max-height:62vh;object-fit:contain;background:var(--bg-3)}.proj-hero-img{margin:0 0 clamp(40px,7vh,90px);border-radius:var(--r);overflow:hidden}.proj-hero-img .mtile{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r);width:100%}.proj-hero-img .mtile img{width:100%;height:100%;object-fit:cover}.proj-figure{margin:clamp(40px,7vh,96px) auto;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--bg-3);width:100%}.proj-figure .mtile{aspect-ratio:auto;border:none;border-radius:0;width:100%}.proj-figure .mtile img,.proj-figure .mtile video{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block}.proj-next{border-top:1px solid var(--line);margin-top:clamp(50px,8vh,100px);padding-top:clamp(40px,6vh,70px);display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}.proj-next .lab{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--fg-dim)}.proj-next a{font-size:clamp(30px,5vw,64px);font-weight:500;letter-spacing:-.03em;text-transform:lowercase}.proj-next a:hover{color:var(--accent)}@media (max-width: 760px){.proj-gallery{grid-template-columns:1fr}.proj-hero-img .mtile{aspect-ratio:16/11}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:none;place-items:center;background:color-mix(in srgb,#050504 76%,transparent);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);padding:clamp(20px,6vh,80px) clamp(16px,6vw,90px);opacity:0;transition:opacity .35s var(--ease)}.lightbox.open{display:grid;opacity:1}.lightbox .lb-stage{position:relative;max-width:100%;max-height:100%;display:grid;place-items:center}.lightbox .lb-stage img,.lightbox .lb-stage video{max-width:100%;max-height:84vh;width:auto;height:auto;border-radius:8px;box-shadow:0 40px 120px -30px #000c;background:#111;transform:scale(.96);transition:transform .4s var(--ease)}.lightbox.open .lb-stage img,.lightbox.open .lb-stage video{transform:scale(1)}.lb-close{position:fixed;top:22px;right:clamp(16px,5vw,40px);z-index:3;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#fff;display:grid;place-items:center;font-size:20px;background:linear-gradient(180deg,#ffffff29,#ffffff0a);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff4d,0 8px 20px -10px #0009;transition:.25s}.lb-close:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);transform:rotate(90deg)}.lb-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:3;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#fff;display:grid;place-items:center;background:linear-gradient(180deg,#ffffff29,#ffffff0a);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff4d,0 8px 20px -10px #0009;transition:.25s;font-size:20px}.lb-nav:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.lb-prev{left:clamp(10px,3vw,30px)}.lb-next{right:clamp(10px,3vw,30px)}.lb-count{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:3;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:#ffffffb3}.lb-count b{color:var(--accent)}@media (max-width: 700px){.lb-nav{width:44px;height:44px}.lightbox{padding:60px 12px}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;background:#0b0b09;color:#ece7dc;display:grid;place-items:center;overflow:hidden;transition:opacity .6s var(--ease)}.loader .panel{position:absolute;left:0;width:100%;height:51%;background:#0b0b09;z-index:2;transition:transform 1s var(--ease)}.loader .panel.t{top:0}.loader .panel.b{bottom:0}.loader.done .panel.t{transform:translateY(-101%)}.loader.done .panel.b{transform:translateY(101%)}.loader.done{pointer-events:none}.loader-core{position:relative;z-index:3;width:min(440px,78vw);text-align:center;transition:opacity .4s ease}.loader.done .loader-core{opacity:0}.loader .mono-lab{font-family:var(--font-mono);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:#8b8678;display:flex;justify-content:space-between;margin-bottom:18px}.loader .mono-lab .pct{color:var(--accent)}.loader .nm{font-size:clamp(38px,9vw,76px);font-weight:500;letter-spacing:-.04em;line-height:.92;text-transform:lowercase}.loader .nm em{font-style:normal;color:var(--accent)}.loader .track{height:2px;width:100%;background:#ffffff1f;margin-top:22px;overflow:hidden}.loader .track .fill{height:100%;width:0%;background:var(--accent);transition:width .2s linear}.loader .dotpulse{width:8px;height:8px;border-radius:50%;background:var(--accent);margin:22px auto 0;animation:lpulse 1s ease-in-out infinite}@keyframes lpulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.7);opacity:.4}}.aura{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.aura:before,.aura:after{content:"";position:absolute;border-radius:50%;filter:blur(90px)}.aura:before{width:54vw;height:54vw;left:-12vw;top:-12vw;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 60%,transparent),transparent 70%);opacity:.42;animation:auraA 24s ease-in-out infinite alternate}.aura:after{width:48vw;height:48vw;right:-12vw;bottom:-14vw;background:radial-gradient(circle,oklch(.68 .13 256 / .5),transparent 70%);opacity:.4;animation:auraB 28s ease-in-out infinite alternate}[data-theme=light] .aura:before{opacity:.3}[data-theme=light] .aura:after{opacity:.24}@keyframes auraA{to{transform:translate(20vw,16vh) scale(1.25)}}@keyframes auraB{to{transform:translate(-18vw,-12vh) scale(1.18)}}@media (prefers-reduced-motion: reduce){.aura:before,.aura:after{animation:none}}.scrollbar{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#fff));z-index:1300}.nf{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px var(--gut) 80px}.nf h1{font-size:clamp(120px,36vw,460px);font-weight:500;letter-spacing:-.06em;line-height:.8}.nf h1 em{font-style:normal;color:var(--accent)}.nf p{font-size:clamp(16px,2vw,22px);color:var(--fg-dim);margin:18px 0 32px}[data-theme=dark]{--accent-strong: var(--accent)}[data-theme=light]{--accent-strong: color-mix(in oklab, var(--accent), #050700 64%)}[data-theme=light] .num,[data-theme=light] .sec-head .num,[data-theme=light] .pindex-num,[data-theme=light] .pindex-cat,[data-theme=light] .hl-num,[data-theme=light] .exp-row .yr,[data-theme=light] .cs-body .meta,[data-theme=light] .proj-cat,[data-theme=light] .proj-metabar .m a,[data-theme=light] .field label .req,[data-theme=light] .foot-col a:hover,[data-theme=light] .breadcrumb a:hover,[data-theme=light] .cta-band h2 a:hover,[data-theme=light] .contact-aside .ci-row a:hover,[data-theme=light] .proj-back:hover,[data-theme=light] .proj-next a:hover,[data-theme=light] .hl-row:hover .hl-title,[data-theme=light] .hl-arrow{color:var(--accent-strong)}@media (max-width: 980px){.nav{grid-template-columns:1fr auto}.clocks{display:none}}@media (max-width: 900px){.hero-bottom{grid-template-columns:1fr;align-items:start}.hero-meta{align-items:flex-start;text-align:left}.skills-grid,.shop-grid{grid-template-columns:1fr}.foot-top{grid-template-columns:1fr;gap:36px}.cs-item,.cs-item:nth-child(2n){grid-template-columns:1fr}.cs-item:nth-child(2n) .cs-media{order:0}.cs-media{min-height:240px}.about-grid{grid-template-columns:1fr}.about-portrait{position:relative;top:0;max-width:360px}.exp-row{grid-template-columns:70px 1fr}.exp-row .place{display:none}.contact-wrap,.form-grid{grid-template-columns:1fr}}@media (min-width: 901px) and (max-width: 1120px){.skills-grid,.shop-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){:root{--gut: 18px}.hero{min-height:92svh;padding-top:104px}.hero-bottom{gap:22px}.sec-pad{padding-block:clamp(54px,9vh,96px)}.sec-head{margin-bottom:32px}.stack-track{gap:34px}.stack-item .nm{font-size:18px}.foot-bottom{flex-direction:column;align-items:flex-start;gap:10px}.cta-band .sub{font-size:14px}.facts{grid-template-columns:1fr 1fr}.field input,.field textarea,.field select{font-size:16px}}@media (max-width: 380px){.hero h1{font-size:19vw}}.adm{min-height:100svh;background:#0a0a08;color:#e8e4da;font-family:var(--font-mono);font-size:13px;display:flex;flex-direction:column;cursor:auto}.adm-login{min-height:100svh;display:grid;place-items:center}.adm-login-box{width:min(380px,92vw);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;background:#111109}.adm-login-box h1{font-family:var(--font-sans);font-size:28px;font-weight:500;letter-spacing:-.03em;margin-bottom:6px}.adm-login-box p{color:#666;margin-bottom:28px;font-size:12px}.adm-input{width:100%;background:#0a0a08;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#e8e4da;font-family:var(--font-mono);font-size:14px;padding:12px 14px;outline:none;transition:border-color .2s}.adm-input:focus{border-color:var(--accent)}.adm-input.err{border-color:#e5484d}.adm-btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-size:13px;font-weight:700;padding:12px 22px;border-radius:999px;border:none;cursor:pointer;transition:opacity .2s,transform .2s}.adm-btn:hover{opacity:.88;transform:translateY(-1px)}.adm-btn:active{transform:translateY(0)}.adm-btn.ghost{background:transparent;color:#999;border:1px solid rgba(255,255,255,.14)}.adm-btn.ghost:hover{color:#e8e4da;border-color:#ffffff4d}.adm-btn.danger{background:#e5484d;color:#fff}.adm-btn.sm{padding:7px 13px;font-size:11px}.adm-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.adm-err{color:#e5484d;font-size:11px;margin-top:8px}.adm-shell{display:grid;grid-template-columns:220px 1fr;flex:1;min-height:100svh}.adm-sidebar{border-right:1px solid rgba(255,255,255,.08);padding:24px 0;display:flex;flex-direction:column;position:sticky;top:0;height:100svh;overflow-y:auto}.adm-logo{padding:0 20px 24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:16px}.adm-logo span{font-size:11px;color:#555;display:block;margin-top:2px}.adm-nav-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#444;padding:12px 20px 6px}.adm-nav-item{display:flex;align-items:center;gap:10px;padding:9px 20px;color:#888;cursor:pointer;transition:background .15s,color .15s;border-left:2px solid transparent;font-size:12px;background:none;border-top:none;border-right:none;border-bottom:none;width:100%;text-align:left}.adm-nav-item:hover{background:#ffffff0a;color:#e8e4da}.adm-nav-item.active{color:var(--accent);border-left-color:var(--accent);background:#c2f5420f}.adm-nav-item .ico{width:16px;opacity:.6}.adm-sidebar-foot{margin-top:auto;padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.adm-main{padding:32px 40px;overflow-y:auto}.adm-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.adm-topbar h2{font-family:var(--font-sans);font-size:22px;font-weight:500;letter-spacing:-.025em}.adm-topbar .actions{display:flex;gap:10px;align-items:center}.adm-save-note{font-size:11px;color:#555}.adm-save-note.saved{color:var(--accent)}.adm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:24px}.adm-card{border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s;background:#111109}.adm-card:hover{border-color:var(--accent);transform:translateY(-2px)}.adm-card.active{border-color:var(--accent)}.adm-card-thumb{aspect-ratio:4/3;background:#1a1a16;position:relative;overflow:hidden}.adm-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.adm-card-body{padding:12px}.adm-card-body .title{font-size:13px;font-weight:700;color:#e8e4da}.adm-card-body .sub{font-size:11px;color:#555;margin-top:2px}.adm-form{display:flex;flex-direction:column;gap:20px;max-width:760px}.adm-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.adm-field{display:flex;flex-direction:column;gap:6px}.adm-field.full{grid-column:1 / -1}.adm-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#555}.adm-textarea{width:100%;background:#0f0f0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e8e4da;font-family:var(--font-mono);font-size:13px;padding:10px 12px;outline:none;resize:vertical;min-height:80px;transition:border-color .2s}.adm-textarea:focus{border-color:var(--accent)}.adm-select{width:100%;background:#0f0f0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e8e4da;font-family:var(--font-mono);font-size:13px;padding:10px 12px;outline:none;cursor:pointer;-webkit-appearance:none}.adm-select:focus{border-color:var(--accent)}.adm-divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:8px 0}.adm-thumb-row{display:flex;align-items:flex-start;gap:16px}.adm-thumb-preview{width:100px;height:75px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#1a1a16;overflow:hidden;flex:none}.adm-thumb-preview img{width:100%;height:100%;object-fit:cover}.adm-thumb-controls{flex:1;display:flex;flex-direction:column;gap:8px}.adm-file-btn{display:inline-flex;align-items:center;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#aaa;font-family:var(--font-mono);font-size:11px;padding:8px 12px;cursor:pointer;transition:.2s;width:fit-content}.adm-file-btn:hover{background:#ffffff1a;color:#e8e4da}.adm-sections{display:flex;flex-direction:column;gap:12px}.adm-section-item{border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0f0f0d;overflow:hidden}.adm-section-head{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.adm-section-head:hover{background:#ffffff08}.adm-section-head .sh-title{flex:1;font-size:12px;color:#ccc}.adm-section-head .sh-num{font-size:10px;color:#444}.adm-section-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.adm-list-items{display:flex;flex-direction:column;gap:6px}.adm-list-item-row{display:flex;gap:8px;align-items:flex-start}.adm-list-item-row .adm-textarea{min-height:44px}.adm-remove-btn{width:28px;height:28px;border-radius:6px;background:#e5484d26;border:1px solid rgba(229,72,77,.3);color:#e5484d;display:grid;place-items:center;cursor:pointer;flex:none;font-size:14px;margin-top:2px;transition:.2s}.adm-remove-btn:hover{background:#e5484d4d}.adm-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.adm-media-item{border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;background:#0f0f0d;position:relative}.adm-media-item .preview{aspect-ratio:1;background:#1a1a16;display:flex;align-items:center;justify-content:center}.adm-media-item .preview img,.adm-media-item .preview video{width:100%;height:100%;object-fit:cover;display:block}.adm-media-item .preview .type-badge{position:absolute;top:6px;left:6px;font-size:9px;background:#000000b3;padding:2px 6px;border-radius:4px;color:var(--accent)}.adm-media-item .adm-remove-btn{position:absolute;top:6px;right:6px}.adm-media-item .cap{padding:8px;font-size:10px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-add-media{border:1px dashed rgba(255,255,255,.15);border-radius:8px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:#555;font-size:11px;transition:.2s;background:none}.adm-add-media:hover{border-color:var(--accent);color:var(--accent)}.adm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000c;display:grid;place-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.adm-modal{background:#111109;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:28px;width:min(480px,94vw);display:flex;flex-direction:column;gap:16px}.adm-modal h3{font-family:var(--font-sans);font-size:17px;font-weight:500}.adm-modal-btns{display:flex;gap:10px;justify-content:flex-end}.adm-tabs{display:flex;gap:2px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:24px}.adm-tab{padding:8px 16px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#555;cursor:pointer;border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;transition:.2s;margin-bottom:-1px}.adm-tab:hover{color:#aaa}.adm-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.adm-badge{display:inline-flex;font-size:10px;padding:3px 8px;border-radius:999px;background:#c2f54226;color:var(--accent)}@media (max-width: 860px){.adm-shell{grid-template-columns:1fr}.adm-sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;padding:12px;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.adm-sidebar-foot{display:none}.adm-main{padding:20px}.adm-row{grid-template-columns:1fr}}
