@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;--font-serif: "Instrument Serif", ui-serif, Georgia, serif;--accent: #ff2e88;--accent-2: #8b5cf6;--accent-3: #22d3ee;--grad: linear-gradient(110deg, var(--accent) 0%, var(--accent-2) 55%, var(--accent-3) 100%);--radius: 22px;--radius-sm: 12px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--container: 1200px;--nav-h: 76px}:root,[data-theme=dark]{color-scheme:dark;--bg: #07070a;--bg-elev: #0e0e13;--bg-elev-2: #15151c;--fg: #f4f4f5;--muted: #a1a1aa;--subtle: #71717a;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--glass: rgba(14, 14, 19, .62);--dot: rgba(255, 255, 255, .07);--dot-hi: rgba(255, 46, 136, .9);--shadow: 0 30px 80px -30px rgba(0, 0, 0, .8);--aurora-opacity: .42}[data-theme=light]{color-scheme:light;--bg: #fafaf8;--bg-elev: #ffffff;--bg-elev-2: #f3f3f0;--fg: #0b0b0f;--muted: #52525b;--subtle: #8a8a93;--line: rgba(10, 10, 20, .08);--line-strong: rgba(10, 10, 20, .16);--glass: rgba(255, 255, 255, .7);--dot: rgba(10, 10, 20, .09);--dot-hi: rgba(225, 20, 110, .85);--shadow: 0 30px 70px -35px rgba(30, 20, 60, .35);--aurora-opacity: .22}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}body{min-height:100dvh;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;overflow-x:clip}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:10px;border:3px solid var(--bg)}.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:10px 16px;border-radius:10px;background:var(--fg);color:var(--bg);font-weight:600;transform:translateY(-200%);transition:transform .2s}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.container{width:min(100% - 2.5rem,var(--container));margin-inline:auto}.section{position:relative;padding-block:clamp(96px,14vw,168px)}.section-head{margin-bottom:clamp(48px,7vw,80px);max-width:760px}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.eyebrow:before{content:"";width:26px;height:1px;background:var(--grad)}.section-title{margin-top:18px;font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.02;letter-spacing:-.045em;font-weight:600;text-wrap:balance}.serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.02em}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:60ch;margin-top:20px}.bg-layer{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.bg-dots,.bg-dots-hi{position:absolute;inset:0;background-image:radial-gradient(circle at center,var(--dot) 1px,transparent 1.6px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%)}.bg-dots-hi{background-image:radial-gradient(circle at center,var(--dot-hi) 1.1px,transparent 1.8px);-webkit-mask-image:radial-gradient(260px circle at var(--mx, -999px) var(--my, -999px),#000 0%,transparent 70%);mask-image:radial-gradient(260px circle at var(--mx, -999px) var(--my, -999px),#000 0%,transparent 70%);opacity:.9}.aurora-clip{position:absolute;inset:0 0 -25%;z-index:-1;overflow:hidden;pointer-events:none}.aurora{position:absolute;inset:-10% -10% 0;pointer-events:none;filter:blur(100px);opacity:var(--aurora-opacity);-webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent 95%);mask-image:linear-gradient(to bottom,#000 40%,transparent 95%)}.aurora span{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:drift 26s var(--ease-out) infinite alternate}[data-theme=light] .aurora span{mix-blend-mode:multiply}.aurora span:nth-child(1){width:40vw;height:40vw;left:8%;top:-14%;background:var(--accent)}.aurora span:nth-child(2){width:38vw;height:38vw;right:2%;top:4%;background:var(--accent-2);animation-delay:-8s;animation-duration:32s}.aurora span:nth-child(3){width:30vw;height:30vw;left:40%;top:30%;background:var(--accent-3);opacity:.5;animation-delay:-16s;animation-duration:38s}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(6vw,4vh,0) scale(1.12)}to{transform:translate3d(-4vw,8vh,0) scale(.92)}}.noise{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:150;background:var(--grad);transform-origin:0 50%;transform:scaleX(var(--progress, 0))}@supports (animation-timeline: scroll()){.progress{animation:grow linear both;animation-timeline:scroll(root);transform:scaleX(0)}@keyframes grow{to{transform:scaleX(1)}}}.btn{--b-bg: var(--fg);--b-fg: var(--bg);position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;background:var(--b-bg);color:var(--b-fg);font-weight:550;font-size:15px;letter-spacing:-.01em;transition:transform .5s var(--ease-out),box-shadow .4s,background .3s,color .3s;will-change:transform}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad);opacity:0;transition:opacity .4s}.btn:hover:before{opacity:1}.btn:hover{color:#fff;box-shadow:0 14px 40px -12px color-mix(in srgb,var(--accent) 70%,transparent)}.btn svg{transition:transform .4s var(--ease-out)}.btn:hover svg{transform:translate(3px) rotate(-45deg)}.btn--ghost{--b-bg: transparent;--b-fg: var(--fg);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn--ghost:before{background:var(--fg)}.btn--ghost:hover{color:var(--bg);box-shadow:none}.btn--ghost:hover svg{transform:translate(3px)}.card{position:relative;isolation:isolate;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(520px circle at var(--x, 50%) var(--y, -100%),color-mix(in srgb,var(--accent) 13%,transparent),transparent 45%);opacity:0;transition:opacity .4s}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:radial-gradient(380px circle at var(--x, 50%) var(--y, -100%),color-mix(in srgb,var(--accent) 80%,transparent),transparent 40%);-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 .4s}.card:hover:before,.card:hover:after{opacity:1}.chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-elev-2) 70%,transparent);font-family:var(--font-mono);font-size:12px;color:var(--muted)}.status-dot{position:relative;width:8px;height:8px;border-radius:50%;background:#22c55e;flex:none}.status-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:ping 2s var(--ease-out) infinite}@keyframes ping{75%,to{transform:scale(2.8);opacity:0}}.js [data-reveal]{opacity:0;transform:translate3d(0,28px,0);filter:blur(6px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out),filter 1s var(--ease-out);transition-delay:var(--d, 0ms)}.js [data-reveal].is-in{opacity:1;transform:none;filter:none}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js [data-reveal]{opacity:1;transform:none;filter:none}}.logo{display:inline-block;flex:none;-webkit-mask:url(/logo.png) center / contain no-repeat;mask:url(/logo.png) center / contain no-repeat;background:linear-gradient(90deg,var(--fg) 36.5%,transparent 36.5% 55.5%,var(--fg) 55.5%),linear-gradient(160deg,var(--accent),var(--accent-2) 60%,var(--accent-3))}.nav{position:fixed;top:14px;left:0;right:0;z-index:120;display:flex;justify-content:center;padding-inline:14px;pointer-events:none}.nav-bar{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,1080px);height:60px;padding:0 10px 0 20px;border-radius:999px;border:1px solid transparent;transition:background .5s var(--ease-out),border-color .5s,box-shadow .5s,width .6s var(--ease-out)}.nav--scrolled .nav-bar,.nav--open .nav-bar{background:var(--glass);border-color:var(--line);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);box-shadow:0 10px 40px -18px #00000073;width:min(100%,920px)}.nav-logo{display:inline-flex;align-items:center;padding:7px 4px;margin:-7px -4px;transition:transform .5s var(--ease-spring)}.nav-logo:hover{transform:rotate(-3deg) scale(1.04)}.nav-links{position:relative;display:flex;gap:2px}.nav-links a{position:relative;z-index:1;padding:8px 16px;border-radius:999px;font-size:14.5px;color:var(--muted);transition:color .3s}.nav-links a:hover,.nav-links a.is-active{color:var(--fg)}.nav-pill{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:color-mix(in srgb,var(--fg) 8%,transparent);border:1px solid var(--line);transition:transform .55s var(--ease-out),width .55s var(--ease-out),opacity .3s}.nav-actions{display:flex;align-items:center;gap:6px}.nav-kbd{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 8px 0 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted);transition:border-color .3s,color .3s}.nav-kbd:hover{color:var(--fg);border-color:var(--line-strong)}.nav-kbd kbd{font-family:var(--font-mono);font-size:11px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--fg) 8%,transparent)}.nav-icon-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--fg);transition:background .3s,transform .5s var(--ease-spring)}.nav-icon-btn:hover{background:color-mix(in srgb,var(--fg) 8%,transparent);transform:rotate(15deg)}.nav-burger{display:none}.nav-mobile{pointer-events:auto;position:fixed;inset:0;z-index:-1;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:100px 28px 40px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.nav-mobile[hidden]{display:none}.nav-mobile a{display:flex;align-items:baseline;gap:16px;font-size:clamp(2.4rem,11vw,3.6rem);font-weight:600;letter-spacing:-.05em;line-height:1.15;animation:menuIn .7s var(--ease-out) both;animation-delay:calc(var(--i) * 60ms)}.nav-mobile-num{font-family:var(--font-mono);font-size:13px;color:var(--accent);letter-spacing:0}@keyframes menuIn{0%{opacity:0;transform:translateY(30px);filter:blur(8px)}}@media(max-width:860px){.nav-links{display:none}.nav-burger{display:grid}}@media(max-width:520px){.nav-kbd{display:none}}.hero{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--nav-h) + 40px);padding-bottom:40px}.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;align-items:center;gap:clamp(32px,6vw,88px)}.hero-fade{animation:heroFade 1.1s var(--ease-out) both;animation-delay:var(--d, 0ms)}@keyframes heroFade{0%{opacity:0;transform:translateY(24px);filter:blur(8px)}}.hero-status{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:13.5px;color:var(--muted)}.hero-status-sep{width:1px;height:14px;background:var(--line-strong)}.hero-status-time{font-family:var(--font-mono);font-size:12.5px;color:var(--fg);font-variant-numeric:tabular-nums}.hero-status-time span{color:var(--subtle)}.hero-title{margin-top:28px;font-size:clamp(3.8rem,12.5vw,10.5rem);font-weight:650;line-height:.86;letter-spacing:-.065em}.hero-line{display:block;overflow:hidden;padding-bottom:.06em}.hero-line--accent{padding-bottom:.18em;margin-bottom:-.12em;font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.04em;padding-left:.04em}.hero-letter{display:inline-block;animation:letterUp 1.2s var(--ease-out) both;animation-delay:calc(.12s + var(--i) * 45ms)}.hero-line--accent .hero-letter{background:var(--grad);background-size:700% 100%;background-position:calc((var(--i) - 7) * 20%) 0;-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em;margin-right:-.04em}.hero-dot{background:none!important;color:var(--accent)!important}@keyframes letterUp{0%{transform:translateY(105%) rotate(6deg);opacity:0}}.hero-tagline{margin-top:30px;max-width:34ch;font-size:clamp(1.15rem,1.9vw,1.5rem);line-height:1.45;letter-spacing:-.02em;color:var(--muted)}.rotator{display:inline-grid;overflow:hidden;vertical-align:bottom;height:1.4em}.rotator-word{font-size:1.12em;line-height:1.3;padding-right:.12em;white-space:nowrap;animation:wordIn .8s var(--ease-out) both}@keyframes wordIn{0%{transform:translateY(100%);opacity:0;filter:blur(6px)}}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.hero-visual{display:flex;justify-content:center;perspective:1200px}.portrait{--rx: 0deg;--ry: 0deg;--px: 50%;--py: 30%;position:relative;width:min(100%,400px);transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .6s var(--ease-out)}.portrait-inner{position:relative;overflow:hidden;aspect-ratio:4 / 5;border-radius:28px;border:1px solid var(--line-strong);background:var(--bg-elev);box-shadow:var(--shadow),0 0 0 8px color-mix(in srgb,var(--fg) 3%,transparent)}.portrait-inner:before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:inherit;background:var(--grad);filter:blur(30px);opacity:.5}.portrait img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease-out)}.portrait:hover img{transform:scale(1.08)}.portrait-sheen{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;background:radial-gradient(circle at var(--px) var(--py),rgba(255,255,255,.45),transparent 42%),linear-gradient(115deg,transparent 30%,rgba(255,46,136,.25) 45%,rgba(139,92,246,.25) 55%,transparent 70%);background-size:100% 100%,250% 250%;background-position:0 0,var(--px) var(--py);opacity:.7}.portrait-meta{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px 12px 16px;border-radius:18px;background:#0a0a0e8c;color:#fff;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateZ(40px)}.portrait-meta>div{display:flex;flex-direction:column;line-height:1.25}.portrait-handle{font-weight:600;letter-spacing:-.02em}.portrait-role{font-size:12.5px;color:#ffffffb3}.portrait-badge{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--grad);color:#fff}.portrait-float{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:14px;white-space:nowrap;background:var(--glass);border:1px solid var(--line-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-family:var(--font-mono);font-size:12.5px;color:var(--fg);box-shadow:var(--shadow);transform:translateZ(70px);animation:bob 6s ease-in-out infinite}.portrait-float--a{top:12%;left:-18%}.portrait-float--b{bottom:24%;right:-8%;animation-delay:-3s}@media(max-width:1320px){.portrait-float--b{right:-2%}.portrait-float--a{left:-10%}}.portrait-float svg{color:var(--accent)}.pf-k{color:var(--accent-2)}.pf-s{color:var(--accent)}@keyframes bob{50%{translate:0 -10px}}.hero-foot{display:flex;align-items:center;justify-content:space-between;margin-top:clamp(48px,7vw,80px)}.hero-socials{display:flex;gap:6px;list-style:none}.hero-socials a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--muted);transition:color .3s,border-color .3s,transform .5s var(--ease-spring),background .3s}.hero-socials a:hover{color:var(--fg);border-color:var(--line-strong);transform:translateY(-3px);background:var(--bg-elev)}.hero-scroll{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.hero-scroll-line{position:relative;width:60px;height:1px;background:var(--line-strong);overflow:hidden}.hero-scroll-line:after{content:"";position:absolute;inset:0;background:var(--accent);animation:scan 2.2s var(--ease-out) infinite}@keyframes scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-visual{margin-top:12px}.portrait{width:min(78vw,320px)}.portrait-float--a{left:-12%}.portrait-float--b{right:-8%}.hide-sm{display:none}}@media(max-width:520px){.portrait-float,.hero-scroll,.hero-status-sep,.hero-status-time{display:none}}.marquee-clip{overflow:hidden;padding-block:24px}.marquee{position:relative;overflow:hidden;padding-block:26px;border-block:1px solid var(--line);background:color-mix(in srgb,var(--bg-elev) 50%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);transform:rotate(-1.2deg) scale(1.02)}.marquee-track{display:flex;width:max-content;animation:marquee 40s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-row{display:flex;list-style:none}.marquee-row li{display:flex;align-items:center;gap:36px;padding-right:36px;font-size:clamp(1.6rem,3.6vw,2.8rem);font-weight:600;letter-spacing:-.04em;white-space:nowrap;color:var(--subtle);transition:color .3s}.marquee-row li:hover{color:var(--fg)}.marquee-row li:nth-child(3n+2) span:first-child{font-family:var(--font-serif);font-style:italic;font-weight:400}.marquee-star{font-size:.5em;color:var(--accent)}@keyframes marquee{to{transform:translate(-50%)}}.bento{display:grid;gap:16px;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(190px,auto)}.bento>.card{padding:clamp(22px,3vw,34px)}.bento-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle)}.bento-label svg{color:var(--accent)}.bento-photo{grid-column:span 4;grid-row:span 3;padding:0!important;min-height:460px}.bento-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform 1.4s var(--ease-out),filter .8s;filter:grayscale(.25) contrast(1.05)}.bento-photo:hover img{transform:scale(1.05);filter:none}.bento-photo:after{opacity:1!important;background:linear-gradient(to top,rgba(0,0,0,.6),transparent 45%);-webkit-mask:none;mask:none;padding:0}.bento-photo figcaption{position:absolute;left:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:500;font-size:15px}.bento-bio{grid-column:span 8;display:flex;flex-direction:column;justify-content:space-between;gap:28px}.bento-quote{font-size:clamp(1.45rem,2.6vw,2.15rem);line-height:1.2;letter-spacing:-.035em;font-weight:500;text-wrap:balance}.bento-quote .serif{font-size:1.08em}.bento-text{color:var(--muted);max-width:62ch}.bento-loc{grid-column:span 4;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:260px}.bento-loc-text{display:flex;flex-direction:column;gap:4px}.bento-loc-text strong{font-size:1.5rem;font-weight:600;letter-spacing:-.03em}.bento-time{font-family:var(--font-mono);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.radar{position:relative;width:120px;height:120px;align-self:flex-end;border-radius:50%;background:radial-gradient(circle,var(--dot) 1px,transparent 1.5px) 0 0 / 10px 10px;-webkit-mask-image:radial-gradient(circle,#000 55%,transparent 72%);mask-image:radial-gradient(circle,#000 55%,transparent 72%)}.radar span{position:absolute;inset:0;margin:auto;width:14px;height:14px;border-radius:50%;border:1px solid var(--accent);animation:radar 3.6s var(--ease-out) infinite}.radar span:nth-child(2){animation-delay:1.2s}.radar span:nth-child(3){animation-delay:2.4s}.radar-dot{position:absolute;inset:0;margin:auto;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px var(--accent)}@keyframes radar{0%{transform:scale(1);opacity:1}to{transform:scale(8);opacity:0}}.bento-stack{grid-column:span 4;display:flex;flex-direction:column;gap:18px}.bento-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.bento-chips .chip{transition:color .3s,border-color .3s,transform .4s var(--ease-spring)}.bento-chips .chip:hover{color:var(--fg);border-color:var(--accent);transform:translateY(-2px)}.bento-open{grid-column:span 8;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:0!important}.bento-open-list{margin-top:10px;font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:500;letter-spacing:-.03em}.bento-open-list span{color:var(--accent);padding-inline:6px}.bento-open-link{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--fg);color:var(--bg);transition:transform .6s var(--ease-spring),background .3s}.bento-open-link:hover{transform:rotate(45deg) scale(1.08);background:var(--accent);color:#fff}@media(max-width:1000px){.bento-photo{grid-column:span 5}.bento-bio{grid-column:span 7}.bento-loc,.bento-stack{grid-column:span 6}.bento-open{grid-column:span 12}.bento-photo{grid-row:span 1}}@media(max-width:720px){.bento{grid-template-columns:1fr}.bento>*{grid-column:auto!important}.bento-photo{min-height:420px}}.projects{display:flex;flex-direction:column;gap:28px}.project{position:sticky;top:calc(var(--nav-h) + 24px + var(--i) * 18px);display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(24px,4vw,56px);align-items:center;min-height:min(560px,78vh);padding:clamp(24px,4vw,48px);background:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--p-accent) 14%,transparent),transparent 55%),var(--bg-elev);box-shadow:0 -20px 60px -30px #0000008c}.project-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}.project-num{font-family:var(--font-mono);font-size:13px;color:var(--p-accent);padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--p-accent) 40%,transparent)}.project-kind{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle)}.project-title{margin-top:22px;font-size:clamp(2rem,4.2vw,3.4rem);font-weight:600;letter-spacing:-.05em;line-height:1}.project-desc{margin-top:18px;color:var(--muted);max-width:46ch}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;list-style:none}.project-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.project-links .btn{height:46px;padding:0 20px;font-size:14px}.project-media{perspective:1400px}.browser{border-radius:16px;overflow:hidden;border:1px solid var(--line-strong);background:var(--bg-elev-2);box-shadow:0 40px 80px -30px #0009,0 0 0 1px color-mix(in srgb,var(--p-accent) 10%,transparent);transform:rotateY(-8deg) rotateX(3deg);transition:transform 1s var(--ease-out)}.project:hover .browser{transform:none}.browser-bar{display:flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-bottom:1px solid var(--line)}.browser-bar>span{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}.browser-bar>span:nth-child(1){background:#ff5f57}.browser-bar>span:nth-child(2){background:#febc2e}.browser-bar>span:nth-child(3){background:#28c840}.browser-url{flex:1;max-width:280px;margin-inline:auto;height:22px;border-radius:6px;display:grid;place-items:center;background:color-mix(in srgb,var(--fg) 6%,transparent);font-family:var(--font-mono);font-size:11px;color:var(--subtle);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.browser img{width:100%;height:auto;transition:transform 1.2s var(--ease-out)}.project:hover .browser img{transform:scale(1.03)}.work-more{display:flex;justify-content:center;margin-top:56px}@media(max-width:900px){.project{position:relative;top:auto;grid-template-columns:1fr;min-height:0}.project-media{order:-1}.browser{transform:none}}.project-wip{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:5px 12px 5px 10px;border-radius:999px;white-space:nowrap;font-size:12.5px;font-weight:500;color:var(--p-accent);background:color-mix(in srgb,var(--p-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--p-accent) 35%,transparent)}.project-wip .status-dot{background:var(--p-accent)}.project-media--phone{display:flex;justify-content:center}.phone{width:250px;height:auto;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55)) drop-shadow(0 0 60px color-mix(in srgb,var(--p-accent) 35%,transparent));transform:rotate(-4deg);transition:transform 1s var(--ease-out)}.project:hover .phone{transform:rotate(0) translateY(-6px)}.project-title{display:flex;align-items:center;gap:16px}.project-icon{flex:none;width:56px;height:56px;border-radius:14px;box-shadow:0 0 0 1px var(--line-strong),0 10px 30px -10px #00000080}.project-title>span{display:flex;flex-direction:column}.project-subtitle{margin-top:6px;font-size:.42em;font-weight:500;letter-spacing:-.02em;color:var(--p-accent)}@media(max-width:900px){.phone{width:220px;transform:none}}@media(max-width:520px){.project-icon{width:44px;height:44px;border-radius:11px}}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{display:flex;flex-direction:column;padding:clamp(26px,3vw,36px);min-height:420px;transition:transform .7s var(--ease-out),border-color .4s}.service:hover{transform:translateY(-6px)}.service-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);transition:transform .7s var(--ease-spring),background .4s,color .4s}.service:hover .service-icon{transform:rotate(-10deg) scale(1.08);background:var(--accent);color:#fff}.service-num{position:absolute;top:22px;right:26px;font-size:5rem;font-weight:700;letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1px var(--line-strong);transition:-webkit-text-stroke-color .4s}.service:hover .service-num{-webkit-text-stroke-color:color-mix(in srgb,var(--accent) 60%,transparent)}.service-title{margin-top:auto;padding-top:48px;font-size:1.55rem;font-weight:600;letter-spacing:-.035em}.service-body{margin-top:12px;color:var(--muted);font-size:15px}.service-points{list-style:none;margin-top:22px;padding-top:20px;border-top:1px dashed var(--line-strong);display:grid;gap:8px}.service-points li{display:flex;align-items:center;gap:10px;font-size:14px}.service-points svg{color:var(--accent)}@media(max-width:960px){.services{grid-template-columns:1fr}.service{min-height:0}}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,6vw,80px);align-items:start}.contact-title{margin-top:18px;font-size:clamp(2.6rem,6vw,5rem);font-weight:600;line-height:.98;letter-spacing:-.055em;text-wrap:balance}.contact-mail{display:flex;align-items:center;gap:16px;width:100%;max-width:440px;margin-top:36px;padding:14px 16px 14px 14px;border-radius:18px;text-align:left;border:1px solid var(--line);background:var(--bg-elev);transition:border-color .3s,transform .5s var(--ease-out)}.contact-mail:hover{border-color:var(--accent);transform:translateY(-2px)}.contact-mail-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--grad);color:#fff;flex:none}.contact-mail-text{display:flex;flex-direction:column;line-height:1.3;flex:1}.contact-mail-text span{font-size:13px;color:var(--subtle)}.contact-mail-text strong{font-size:1.1rem;font-weight:600;letter-spacing:-.02em}.contact-mail-copy{color:var(--muted)}.contact-socials{list-style:none;margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;max-width:440px}.contact-socials a{display:flex;align-items:center;gap:10px;padding:14px 2px;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px;transition:color .3s,padding .4s var(--ease-out)}.contact-socials a:hover{color:var(--fg);padding-left:8px}.contact-arrow{margin-left:auto;opacity:.4;transition:transform .4s var(--ease-out),opacity .3s}.contact-socials a:hover .contact-arrow{opacity:1;transform:rotate(45deg);color:var(--accent)}.contact-card{padding:clamp(24px,3.5vw,40px)}.contact-form{display:grid;gap:18px}.topics{border:0}.topics legend{font-size:14px;color:var(--muted);margin-bottom:12px}.topics-list{display:flex;flex-wrap:wrap;gap:8px}.topic{position:relative;cursor:pointer;padding:9px 16px;border-radius:999px;border:1px solid var(--line-strong);font-size:14px;color:var(--muted);transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease-spring)}.topic:hover{color:var(--fg);transform:translateY(-1px)}.topic input{position:absolute;opacity:0;pointer-events:none}.topic.is-on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.topic:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{position:relative}.field input,.field textarea{width:100%;padding:26px 16px 10px;border-radius:14px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg) 60%,transparent);font-size:15.5px;outline:none;resize:vertical;transition:border-color .3s,box-shadow .3s,background .3s}.field textarea{min-height:150px}.field label{position:absolute;left:17px;top:18px;pointer-events:none;color:var(--subtle);font-size:15.5px;transform-origin:0 0;transition:transform .35s var(--ease-out),color .3s}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);background:var(--bg-elev)}.field input:focus+label,.field textarea:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-11px) scale(.76);color:var(--accent)}.field.has-error input,.field.has-error textarea{border-color:#f43f5e}.field-err{display:block;margin-top:6px;font-size:13px;color:#f43f5e}.hp{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;clip-path:inset(50%)}.form-foot{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:6px}.form-foot .btn{height:54px;padding:0 28px}.form-foot .btn:disabled{opacity:.7;cursor:progress}.form-error{color:#f43f5e;font-size:14px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.contact-done{display:grid;justify-items:center;text-align:center;gap:12px;padding:48px 12px}.contact-done-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--grad);color:#fff;margin-bottom:8px;animation:pop .7s var(--ease-spring) both}.contact-done h3{font-size:1.8rem;letter-spacing:-.04em}.contact-done p{color:var(--muted);margin-bottom:12px}@keyframes pop{0%{transform:scale(0)}}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}@media(max-width:560px){.field-row,.contact-socials{grid-template-columns:1fr}}.footer{position:relative;overflow:hidden;padding-top:clamp(72px,10vw,120px);padding-bottom:28px;border-top:1px solid var(--line);background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--accent) 6%,transparent))}.footer-top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}.footer-pitch{font-size:clamp(1.8rem,4vw,3rem);font-weight:600;letter-spacing:-.05em;line-height:1.05}.footer-mail{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted);border-bottom:1px solid var(--line-strong);padding-bottom:4px;transition:color .3s,border-color .3s}.footer-mail:hover{color:var(--fg);border-color:var(--accent)}.footer-mail svg{transition:transform .4s var(--ease-out)}.footer-mail:hover svg{transform:rotate(45deg);color:var(--accent)}.footer-cols{display:flex;gap:clamp(40px,8vw,96px)}.footer-cols>div{display:flex;flex-direction:column;gap:10px}.footer-h{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle);margin-bottom:4px}.footer-cols a{color:var(--muted);font-size:15px;transition:color .3s;width:fit-content}.footer-cols a:hover{color:var(--fg)}.footer-word{margin-top:clamp(48px,7vw,88px);display:flex;justify-content:center;opacity:.12;transition:opacity .6s}.footer-word:hover{opacity:.9}.footer-logo{width:min(100%,980px)!important;height:auto!important;aspect-ratio:488 / 178}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);font-size:13.5px;color:var(--subtle)}.footer-top-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);color:var(--fg);transition:transform .5s var(--ease-spring),background .3s,color .3s}.footer-top-btn:hover{transform:translateY(-4px);background:var(--fg);color:var(--bg)}.palette-backdrop{position:fixed;inset:0;z-index:300;display:flex;justify-content:center;align-items:flex-start;padding:14vh 16px 16px;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .25s ease both}@keyframes fadeIn{0%{opacity:0}}.palette{width:min(100%,600px);overflow:hidden;border-radius:20px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg-elev) 92%,transparent);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 40px 120px -20px #0009;animation:paletteIn .4s var(--ease-out) both}@keyframes paletteIn{0%{opacity:0;transform:translateY(-12px) scale(.97)}}.palette kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:6px;border:1px solid var(--line-strong);color:var(--muted)}.palette-search{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);color:var(--subtle)}.palette-search input{flex:1;border:0;background:none;outline:none;font-size:16.5px;color:var(--fg)}.palette-search input::placeholder{color:var(--subtle)}.palette-list{list-style:none;max-height:min(52vh,400px);overflow-y:auto;padding:8px}.palette-group{padding:12px 12px 6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle)}.palette-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;font-size:15px;color:var(--muted);cursor:pointer}.palette-item.is-active{background:color-mix(in srgb,var(--fg) 7%,transparent);color:var(--fg)}.palette-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:var(--bg-elev-2)}.palette-item.is-active .palette-icon{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.palette-enter{margin-left:auto}.palette-empty{padding:28px;text-align:center;color:var(--subtle)}.palette-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--subtle)}.palette-foot kbd{margin-inline:2px}
