*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.h-20{height:5rem}.h-32{height:8rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[250px\]{height:250px}.h-\[400px\]{height:400px}.h-full{height:100%}.max-h-96{max-height:24rem}.min-h-screen{min-height:100vh}.w-20{width:5rem}.w-48{width:12rem}.w-64{width:16rem}.w-8{width:2rem}.w-80{width:20rem}.w-full{width:100%}.max-w-md{max-width:28rem}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[15px\]{border-radius:15px}.rounded-\[16px\]{border-radius:16px}.rounded-\[24px\]{border-radius:24px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.border{border-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-2\)\]{border-color:var(--line-2)}.border-border{border-color:var(--line)}.border-transparent{border-color:#0000}.bg-\[\#0c0d12\]{--tw-bg-opacity:1;background-color:rgb(12 13 18/var(--tw-bg-opacity,1))}.bg-\[var\(--bg-2\)\]{background-color:var(--bg-2)}.bg-background{background-color:var(--bg)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gradient-to-tr{background-image:linear-gradient(to top right, var(--tw-gradient-stops))}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:#facc1500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-red-500{--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #ef4444 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.bg-clip-padding{background-clip:padding-box}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.p-\[2px\]{padding:2px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.8rem\]{font-size:.8rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#8c8d9c\]{--tw-text-opacity:1;color:rgb(140 141 156/var(--tw-text-opacity,1))}.text-\[\#9D8BFF\]{--tw-text-opacity:1;color:rgb(157 139 255/var(--tw-text-opacity,1))}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--violet\)\]{color:var(--violet)}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-\[0\.03\]{opacity:.03}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}:root{--an-background:#0c0d12;--an-background-secondary:#14151d;--an-background-tertiary:#1b1c26;--an-foreground:#ececf2;--an-foreground-muted:#8c8d9c;--an-foreground-subtle:#62636f;--an-border-color:#ffffff17;--an-border-color-light:#ffffff0d;--an-primary-color:#9d8bff;--bg:var(--an-background);--bg-2:var(--an-background-secondary);--bg-3:var(--an-background-tertiary);--line:var(--an-border-color);--line-2:var(--an-border-color-light);--text:var(--an-foreground);--muted:var(--an-foreground-muted);--muted-2:var(--an-foreground-subtle);--violet:var(--an-primary-color);--violet-2:#6f5bff;--violet-dim:#9d8bff24;--amber:#f0b859;--amber-dim:#f0b8591f;--radius:16px;--maxw:1180px;--ease:cubic-bezier(.22, 1, .36, 1);--serif:"Bricolage Grotesque", "Inter", sans-serif;--sans:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", monospace;--header-bg:#0c0d12b8;--mob-nav-bg:#0c0d12f7}body.light-theme{--an-background:#fff;--an-background-secondary:#f5f5fa;--an-background-tertiary:#ececef;--an-foreground:#101116;--an-foreground-muted:#5c5d6c;--an-foreground-subtle:#82838f;--an-border-color:#00000014;--an-border-color-light:#0000000a;--an-primary-color:#5c4bff;--bg:var(--an-background);--bg-2:var(--an-background-secondary);--bg-3:var(--an-background-tertiary);--line:var(--an-border-color);--line-2:var(--an-border-color-light);--text:var(--an-foreground);--muted:var(--an-foreground-muted);--muted-2:var(--an-foreground-subtle);--violet:var(--an-primary-color);--violet-2:#4835d4;--violet-dim:#5c4bff14;--amber:#d98c00;--amber-dim:#d98c0014;--header-bg:#ffffffb8;--mob-nav-bg:#fffffff7}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:background .4s var(--ease), color .4s var(--ease);line-height:1.6;overflow-x:hidden}::selection{background:var(--violet);color:#0c0d12}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}.grid-bg{z-index:0;pointer-events:none;background-image:linear-gradient(var(--line-2) 1px, transparent 1px), linear-gradient(90deg, var(--line-2) 1px, transparent 1px);opacity:.6;background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 0,#000 30%,#0000 75%);mask-image:radial-gradient(90% 70% at 50% 0,#000 30%,#0000 75%)}.noise{z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:overlay;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='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.glow{z-index:0;pointer-events:none;filter:blur(120px);border-radius:50%;position:fixed}.glow.g1{background:radial-gradient(circle,#9d8bff2e,#0000 65%);width:520px;height:520px;top:-180px;right:-120px}.glow.g2{background:radial-gradient(circle,#f0b8591a,#0000 65%);width:480px;height:480px;bottom:-10%;left:-160px}.progress{background:linear-gradient(90deg, var(--violet), var(--amber));z-index:200;width:0%;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}.cursor{border:1px solid var(--violet);pointer-events:none;z-index:9999;width:30px;height:30px;transition:width .25s var(--ease), height .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);mix-blend-mode:difference;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}.cursor.hot{background:#9d8bff26;border-color:#0000;width:54px;height:54px}@media (hover:none),(pointer:coarse){.cursor{display:none}}.preloader{z-index:1000;background:var(--bg);transition:opacity .6s var(--ease), visibility .6s var(--ease);place-items:center;display:grid;position:fixed;inset:0}.preloader.done{opacity:0;visibility:hidden}.pre-inner{text-align:center}.pre-count{font-family:var(--mono);color:var(--muted);letter-spacing:.2em;font-size:.8rem}.loader-wrapper{font-family:var(--serif);letter-spacing:-.02em;color:var(--text);flex-wrap:wrap;justify-content:center;align-items:center;gap:1px;padding-bottom:24px;font-size:clamp(1.8rem,5vw,3.2rem);font-weight:800;display:flex;position:relative}.loader-letter{text-shadow:0 0 10px #9d8bff1a;animation:1.4s ease-in-out infinite letterWave;display:inline-block}@keyframes letterWave{0%,to{color:var(--text);text-shadow:0 0 10px #9d8bff1a;transform:translateY(0)}50%{color:var(--violet);text-shadow:0 0 15px #9d8bff66,0 0 25px #9d8bff33;transform:translateY(-8px)}}.loader-wrapper .loader{background:var(--line-2);border-radius:10px;width:140px;height:3px;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.loader-wrapper .loader:after{content:"";background:linear-gradient(90deg, var(--violet), var(--amber));border-radius:10px;width:50%;height:100%;animation:1.8s ease-in-out infinite loaderMove;position:absolute;left:-50%}@keyframes loaderMove{0%{left:-50%}50%{width:50%;left:100%}to{width:0%;left:100%}}.page-veil{z-index:900;background:var(--violet-2);transform-origin:bottom;pointer-events:none;position:fixed;inset:0;transform:scaleY(0)}.page-veil.in{animation:veilIn .5s var(--ease) forwards}.page-veil.out{transform-origin:top;animation:veilOut .5s var(--ease) forwards;transform:scaleY(1)}@keyframes veilIn{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}@keyframes veilOut{0%{transform-origin:top;transform:scaleY(1)}to{transform-origin:top;transform:scaleY(0)}}.wrap{z-index:2;position:relative}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:28px}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--violet);align-items:center;gap:10px;font-size:.72rem;display:inline-flex}.eyebrow:before{content:"";background:var(--violet);opacity:.6;width:22px;height:1px}header{z-index:100;transition:background .4s var(--ease), border-color .4s var(--ease), padding .4s var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:18px 28px;display:flex;position:fixed;top:0;left:0;right:0}header.stuck{background:var(--header-bg);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-2);padding:12px 28px}.brand{font-family:var(--mono);align-items:center;gap:11px;font-size:.82rem;font-weight:600;display:flex}.brand .mark{background:linear-gradient(150deg, var(--bg-3), var(--bg-2));isolation:isolate;width:36px;height:36px;transition:transform .4s var(--ease), box-shadow .4s var(--ease);border-radius:11px;place-items:center;display:grid;position:relative;overflow:hidden}.brand .mark:before{content:"";border-radius:inherit;background:linear-gradient(150deg, var(--violet), var(--amber));-webkit-mask-composite:xor;pointer-events:none;z-index:2;padding:1.4px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.brand .mark:after{content:"";z-index:1;background:linear-gradient(100deg,#0000,#ffffff47,#0000);width:60%;height:100%;animation:4.5s ease-in-out infinite markShine;position:absolute;top:0;left:-120%;transform:skew(-18deg)}@keyframes markShine{0%,62%{left:-120%}82%,to{left:130%}}.brand .mark svg{z-index:3;position:relative}.brand:hover .mark{transform:rotate(-4deg)scale(1.06);box-shadow:0 6px 18px #9d8bff4d}nav ul{align-items:center;gap:30px;display:flex}nav a.nlink{font-family:var(--mono);color:var(--muted);transition:color .25s var(--ease);cursor:pointer;font-size:.78rem;position:relative}nav a.nlink:after{content:"";background:var(--violet);width:0;height:1px;transition:width .3s var(--ease);position:absolute;bottom:-5px;left:0}nav a.nlink:hover,nav a.nlink.active{color:var(--text)}nav a.nlink.active:after,nav a.nlink:hover:after{width:100%}.nav-cta{font-family:var(--mono);color:var(--text);border:1px solid var(--line);transition:border-color .3s var(--ease), background .3s var(--ease);border-radius:100px;padding:9px 16px;font-size:.76rem}.nav-cta:hover{border-color:var(--violet);background:var(--violet-dim)}.theme-toggle{border:1px solid var(--line);color:var(--text);cursor:pointer;width:38px;height:38px;transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);background:0 0;border-radius:50%;place-items:center;margin-left:15px;padding:0;font-size:1.1rem;display:grid}.theme-toggle:hover{border-color:var(--violet);background:var(--violet-dim);transform:scale(1.05)}.theme-toggle svg{color:var(--text);transition:transform .4s var(--ease);display:block}.burger{cursor:pointer;flex-direction:column;gap:6px;padding:8px;display:none}.burger span{background:var(--text);width:26px;height:2px;transition:transform .35s var(--ease), opacity .25s var(--ease);border-radius:2px}.burger.open span:first-child{transform:translateY(8px)rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.mobile-nav{z-index:99;background:var(--mob-nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .5s var(--ease), background .5s var(--ease);flex-direction:column;justify-content:center;gap:8px;padding:40px;display:flex;position:fixed;inset:0;transform:translateY(-100%)}.mobile-nav.open{transform:translateY(0)}.mobile-nav a{font-family:var(--serif);color:var(--text);padding:6px 0;font-size:clamp(2rem,9vw,3rem);font-weight:600}.mobile-nav a:hover{color:var(--violet)}.btn{font-family:var(--mono);letter-spacing:.02em;background:var(--violet);color:#0c0d12;will-change:transform;transition:transform .3s var(--ease), box-shadow .3s var(--ease);cursor:pointer;border-radius:100px;padding:15px 26px;font-size:.82rem;font-weight:600;display:inline-block}.btn:hover{box-shadow:0 14px 34px #9d8bff47}.btn-ghost{font-family:var(--mono);color:var(--text);transition:color .3s var(--ease);cursor:pointer;align-items:center;gap:10px;font-size:.82rem;display:inline-flex}.btn-ghost .arr{transition:transform .3s var(--ease)}.btn-ghost:hover{color:var(--violet)}.btn-ghost:hover .arr{transform:translate(5px)}section.block{padding:110px 0;position:relative}.page-top{padding-top:160px}.head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px;padding-bottom:22px;display:flex}.head h2{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1}.head .idx{font-family:var(--mono);color:var(--muted-2);font-size:.8rem}.reveal{opacity:0;filter:blur(6px);will-change:opacity, transform, filter;transition:opacity .8s var(--ease), transform .8s var(--ease), filter .8s var(--ease);transform:translateY(28px)}.reveal.in{opacity:1;filter:blur();transform:none}.reveal[data-d="1"]{transition-delay:80ms}.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}.reveal[data-d="6"]{transition-delay:.48s}.reveal[data-d="7"]{transition-delay:.56s}.hero{align-items:center;min-height:100svh;padding:130px 0 70px;display:flex}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;display:grid}.hero .eyebrow{margin-bottom:26px}.hero h1{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(2.8rem,6.6vw,5.4rem);font-weight:700;line-height:.98}.hero h1 .row{display:block;overflow:hidden}.hero h1 .row i{transition:transform .9s var(--ease);font-style:normal;display:block;transform:translateY(110%)}body.ready .hero h1 .row i{transform:translateY(0)}body.ready .hero h1 .row:nth-child(2) i{transition-delay:80ms}body.ready .hero h1 .row:nth-child(3) i{transition-delay:.16s}.hero h1 em{color:#0000;-webkit-text-stroke:1.3px var(--violet);font-style:normal}.hero p.bio{max-width:460px;color:var(--muted);margin-top:28px;font-size:1.05rem}.hero p.bio b{color:var(--text);font-weight:500}.cta-group{flex-wrap:wrap;align-items:center;gap:22px;margin-top:38px;display:flex}.fade-up{opacity:0;filter:blur(6px);will-change:opacity, transform, filter;transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease);transform:translateY(20px)}body.ready .fade-up{opacity:1;filter:blur();transform:none}body.ready .fade-up.d1{transition-delay:.3s}body.ready .fade-up.d2{transition-delay:.42s}body.ready .fade-up.d3{transition-delay:.54s}.photo-wrap{aspect-ratio:4/5;width:100%;max-width:420px;margin-inline:auto;position:relative}.photo-ring{background:conic-gradient(from 0deg, var(--violet), var(--amber), var(--violet-2), var(--violet));filter:blur(2px);opacity:.55;border-radius:26px;animation:9s linear infinite spin;position:absolute;inset:-14px}@keyframes spin{to{transform:rotate(360deg)}}.photo-frame{border:1px solid var(--line);background:var(--bg-2);border-radius:22px;position:absolute;inset:0;overflow:hidden}.photo-frame img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.photo-fallback{background:radial-gradient(circle at 50% 35%, var(--bg-3), var(--bg-2));text-align:center;place-items:center;gap:6px;display:grid;position:absolute;inset:0}.photo-fallback .mono{font-family:var(--serif);color:var(--violet);letter-spacing:-.04em;font-size:4rem;font-weight:800}.photo-fallback .hint{font-family:var(--mono);color:var(--muted-2);letter-spacing:.12em;text-transform:uppercase;padding:0 20px;font-size:.64rem}.photo-badge{font-family:var(--mono);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3;background:#14151dc7;border:1px solid #ffffff1f;border-radius:9px;align-items:center;gap:7px;padding:8px 12px;font-size:.68rem;display:flex;position:absolute}.photo-badge .dot{background:#5fd38a;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite blink;box-shadow:0 0 6px #5fd38a}.photo-badge.b1{top:18px;right:-22px}.photo-badge.b2{bottom:30px;left:-26px}.photo-badge .v{color:var(--amber)}@keyframes scrollX{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee{border-block:1px solid var(--line);white-space:nowrap;padding:26px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{will-change:transform;gap:48px;animation:24s linear infinite scrollX;display:inline-flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee span{font-family:var(--serif);color:var(--muted-2);align-items:center;gap:48px;font-size:clamp(1.4rem,3.4vw,2.4rem);font-weight:600;display:inline-flex}.marquee span:after{content:"✦";color:var(--violet);font-size:.7em}.stats{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.stat{border-left:1px solid var(--line);padding-left:20px}.stat .n{font-family:var(--serif);font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1}.stat .n .plus{color:var(--violet)}.stat .l{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px;font-size:.72rem}.cards{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.tilt-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg, var(--bg-2), var(--bg-3));transition:border-color .35s var(--ease), transform .25s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);transform-style:preserve-3d;will-change:transform;padding:30px;position:relative;overflow:hidden}.tilt-card:before{content:"";background:linear-gradient(90deg, var(--violet), transparent);transform-origin:0;height:2px;transition:transform .45s var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.tilt-card:hover{border-color:#9d8bff66;box-shadow:0 12px 30px #0000001f}.tilt-card:hover:before{transform:scaleX(1)}.tilt-card .ic{color:var(--violet);margin-bottom:18px;font-size:1.4rem}.tilt-card .num{font-family:var(--mono);color:var(--violet);margin-bottom:12px;font-size:.72rem}.tilt-card h4{font-family:var(--serif);margin-bottom:12px;font-size:1.3rem;font-weight:600}.tilt-card p{color:var(--muted);margin-bottom:18px;font-size:.92rem}.tilt-card .tags{flex-wrap:wrap;gap:8px;display:flex}.tilt-card .tags span{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:5px 10px;font-size:.7rem}.work-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.case{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);transition:border-color .35s var(--ease), transform .25s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);transform-style:preserve-3d;will-change:transform;padding:32px;position:relative;overflow:hidden}.case:before{content:"";background:linear-gradient(90deg, var(--violet), transparent);transform-origin:0;height:2px;transition:transform .45s var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.case:hover{border-color:#9d8bff59;box-shadow:0 12px 30px #0000001f}.case:hover:before{transform:scaleX(1)}.case .c-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.case .role{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--violet);font-size:.72rem}.case .when{font-family:var(--mono);color:var(--muted-2);font-size:.72rem}.case h3{font-family:var(--serif);margin-bottom:14px;font-size:1.6rem;font-weight:700}.case p{color:var(--muted);font-size:.94rem}.case ul.bullets{flex-direction:column;gap:9px;margin-top:16px;display:flex}.case ul.bullets li{color:var(--muted);padding-left:20px;font-size:.9rem;position:relative}.case ul.bullets li:before{content:"→";color:var(--amber);position:absolute;left:0}.filters{flex-wrap:wrap;gap:10px;margin-bottom:38px;display:flex}.filter-btn{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);cursor:pointer;transition:color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);background:0 0;border-radius:100px;padding:9px 17px;font-size:.76rem}.filter-btn:hover{color:var(--text);border-color:var(--violet)}.filter-btn.active{color:var(--btn-text,#0c0d12);background:var(--violet);border-color:var(--violet)}.filter-btn .c{opacity:.6}.proj-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.proj{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);transition:border-color .35s var(--ease), transform .25s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);transform-style:preserve-3d;will-change:transform;flex-direction:column;padding:26px;display:flex;position:relative;overflow:hidden}.proj:before{content:"";background:linear-gradient(90deg, var(--violet), transparent);transform-origin:0;height:2px;transition:transform .45s var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.proj:hover{border-color:#9d8bff66;box-shadow:0 12px 30px #0000001f}.proj:hover:before{transform:scaleX(1)}.proj.hide{display:none}.proj .cat{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--violet);margin-bottom:14px;font-size:.68rem}.proj .cat.web{color:var(--amber)}.proj h4{font-family:var(--serif);margin-bottom:10px;font-size:1.2rem;font-weight:600;line-height:1.15}.proj p{color:var(--muted);flex:1;font-size:.88rem}.proj .tools{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.proj .tools span{font-family:var(--mono);color:var(--muted-2);border:1px solid var(--line);border-radius:100px;padding:4px 9px;font-size:.66rem}.character{width:100%;max-width:380px;margin-inline:auto;position:relative}.char-svg{width:100%;height:auto;display:block;overflow:visible}.char-float{animation:charFloat 5s var(--ease) infinite;transform-origin:50%}@keyframes charFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.char-eyes{transform-box:fill-box;transform-origin:50%;animation:5.4s infinite charBlink}@keyframes charBlink{0%,92%,98%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}.char-wave{animation:charWave 2.8s var(--ease) infinite;transform-box:fill-box;transform-origin:bottom}@keyframes charWave{0%,to{transform:rotate(2deg)}20%{transform:rotate(20deg)}40%{transform:rotate(-4deg)}60%{transform:rotate(16deg)}80%{transform:rotate(0)}}.char-glow{transform-origin:50%;animation:4.5s ease-in-out infinite charGlowPulse}@keyframes charGlowPulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.75;transform:scale(1.05)}}.char-bubble{background:var(--bg-3);border:1px solid var(--line);font-family:var(--mono);color:var(--text);white-space:nowrap;animation:bubbleBob 5s var(--ease) infinite;z-index:3;border-radius:14px 14px 14px 2px;padding:9px 14px;font-size:.72rem;position:absolute;top:6%;right:-6%}.char-bubble b{color:var(--violet)}@keyframes bubbleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.wave-badge{z-index:4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14151dd1;border:1px solid #ffffff1f;border-radius:100px;align-items:center;gap:10px;padding:8px 14px 8px 10px;display:flex;position:absolute;bottom:24px;left:-10px}.wave-badge svg{transform-origin:70% 90%;width:26px;height:26px;animation:handWave 2.6s var(--ease) infinite}@keyframes handWave{0%,to{transform:rotate(0)}15%{transform:rotate(16deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(8deg)}}.wave-badge span{font-family:var(--mono);color:#fff;font-size:.72rem}.wave-badge span b{color:#9d8bff}[data-parallax]{will-change:transform}.bio-grid{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.bio-grid h3{font-family:var(--serif);margin-bottom:18px;font-size:1.6rem;font-weight:600}.bio-grid p.lead{color:var(--muted);max-width:46ch;font-size:1.05rem}.edu{border-left:1px solid var(--line);margin-top:40px;padding-left:24px}.edu .tag{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);font-size:.7rem}.edu h5{font-family:var(--serif);margin:8px 0 4px;font-size:1.15rem;font-weight:600}.edu .inst{color:var(--text);font-size:.92rem}.edu .desc{color:var(--muted-2);margin-top:6px;font-size:.85rem}.stack{flex-direction:column;gap:14px;display:flex}.stack-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(150deg, var(--bg-2), var(--bg-3));transition:border-color .35s var(--ease), transform .35s var(--ease);padding:22px}.stack-card:hover{border-color:#9d8bff66;transform:translateY(-3px)}.stack-card .sc-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.stack-card .sc-num{font-family:var(--mono);color:var(--violet);font-size:.72rem}.stack-card h4{font-family:var(--serif);font-size:1.1rem;font-weight:600}.stack-card .tags{flex-wrap:wrap;gap:8px;display:flex}.stack-card .tags span{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);transition:color .25s var(--ease), border-color .25s var(--ease);border-radius:100px;padding:6px 11px;font-size:.72rem}.stack-card .tags span:hover{color:var(--text);border-color:var(--violet)}.schematic{aspect-ratio:1;width:100%;max-width:460px;margin-inline:auto;position:relative}.schematic svg{width:100%;height:100%;overflow:visible}.sch-line{fill:none;stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}.sch-pulse{fill:none;stroke:var(--violet);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:7 200;filter:drop-shadow(0 0 4px var(--violet))}.sch-pulse.amber{stroke:var(--amber);filter:drop-shadow(0 0 4px var(--amber))}@keyframes flow{0%{stroke-dashoffset:207px}to{stroke-dashoffset:0}}.p1{animation:3.4s linear infinite flow}.p2{animation:3.4s linear .9s infinite flow}.p3{animation:3.4s linear 1.8s infinite flow}.node rect{fill:var(--bg-2);stroke:var(--line);stroke-width:1px}.node.core rect{fill:var(--bg-3);stroke:#9d8bff73}.node text{font-family:var(--mono);fill:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9.5px}.node.core .t-name{fill:var(--text);font-family:var(--serif);letter-spacing:0;font-size:18px;font-weight:700}.node.core .t-sub,.port{fill:var(--violet)}.port.amber{fill:var(--amber)}.log{margin-top:70px}.log h3{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:30px;font-size:.8rem}.log-item{border-top:1px solid var(--line);grid-template-columns:130px 1fr;align-items:baseline;gap:28px;padding:24px 0;display:grid}.log-item .ts{font-family:var(--mono);color:var(--amber);white-space:nowrap;font-size:.78rem}.log-item h4{font-family:var(--serif);font-size:1.3rem;font-weight:600}.log-item .co{font-family:var(--mono);color:var(--violet);margin:4px 0 12px;font-size:.8rem}.log-item p,.log-item li{color:var(--muted);font-size:.92rem}.log-item ul{flex-direction:column;gap:7px;display:flex}.log-item li{padding-left:18px;position:relative}.log-item li:before{content:"·";color:var(--violet);position:absolute;left:4px}.steps{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.step{border-top:1px solid var(--line);padding-top:22px}.step .n{font-family:var(--mono);color:var(--violet);margin-bottom:14px;font-size:.8rem}.step h4{font-family:var(--serif);margin-bottom:10px;font-size:1.25rem;font-weight:600}.step p{color:var(--muted);font-size:.9rem}.cta-band{text-align:center;padding:100px 0}.cta-band h2{font-family:var(--serif);letter-spacing:-.02em;max-width:16ch;margin:0 auto 30px;font-size:clamp(2.2rem,6vw,4rem);font-weight:700;line-height:1.02}.cta-band .sub{color:var(--muted);margin-bottom:36px}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.contact-left h2{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1.02}.contact-left p{color:var(--muted);max-width:40ch;margin:22px 0 36px}.clink{border-top:1px solid var(--line);transition:padding-left .3s var(--ease);flex-direction:column;gap:4px;padding:18px 0;display:flex}.clink:hover{padding-left:10px}.clink .l{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);font-size:.7rem}.clink .v{color:var(--text);font-size:1.05rem}.socials{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.socials a{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);transition:color .25s var(--ease), border-color .25s var(--ease);border-radius:100px;padding:9px 16px;font-size:.76rem}.socials a:hover{color:var(--text);border-color:var(--violet)}form{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);padding:32px}.fg{margin-bottom:22px}.fg label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.7rem;display:block}.fg input,.fg textarea{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--sans);transition:border-color .25s var(--ease), box-shadow .25s var(--ease);border-radius:10px;padding:14px 16px;font-size:.95rem}.fg input::-moz-placeholder{color:var(--muted-2)}.fg textarea::-moz-placeholder{color:var(--muted-2)}.fg input::placeholder,.fg textarea::placeholder{color:var(--muted-2)}.fg input:focus,.fg textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-dim);outline:none}.fg textarea{resize:vertical;min-height:120px}.submit{width:100%;font-family:var(--mono);background:var(--violet);color:#0c0d12;cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s var(--ease);border:none;border-radius:100px;padding:16px;font-size:.85rem;font-weight:600}.submit:hover{transform:translateY(-2px);box-shadow:0 12px 30px #9d8bff4d}.form-note{font-family:var(--mono);color:var(--muted-2);text-align:center;margin-top:14px;font-size:.72rem}footer{border-top:1px solid var(--line);z-index:2;padding:70px 0 36px;position:relative}.foot-grid{grid-template-columns:1.6fr 1fr 1fr;gap:40px;margin-bottom:50px;display:grid}.foot-brand h2{font-family:var(--serif);margin-bottom:14px;font-size:1.7rem;font-weight:700}.foot-brand h2 .dot{color:var(--violet)}.foot-brand p{color:var(--muted);max-width:38ch;font-size:.92rem}.foot-col h4{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:18px;font-size:.72rem}.foot-col ul{flex-direction:column;gap:11px;display:flex}.foot-col a{color:var(--muted);transition:color .25s var(--ease);font-size:.92rem}.foot-col a:hover{color:var(--violet)}.foot-bottom{border-top:1px solid var(--line);font-family:var(--mono);color:var(--muted-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:26px;font-size:.74rem;display:flex}.foot-bottom a{color:var(--violet)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.burger:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:4px}@media (width<=940px){.hero-grid,.bio-grid,.contact-grid,.work-grid,.cards{grid-template-columns:1fr}.proj-grid,.steps{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr;gap:30px 24px}.hero{padding-top:140px}.hero-visual{order:-1;margin-bottom:16px}.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}@media (width<=720px){nav ul,.nav-cta{display:none}.burger{display:flex}.log-item{grid-template-columns:1fr;gap:6px}.steps,.stats,.proj-grid{grid-template-columns:1fr}.head{flex-direction:column;align-items:flex-start}.photo-badge.b1{right:6px}.photo-badge.b2{left:6px}}*{-webkit-tap-highlight-color:transparent}@media (width<=720px){.glow{filter:blur(80px);opacity:.7}.glow.g1{width:320px;height:320px}.glow.g2{width:300px;height:300px}.grid-bg{background-size:44px 44px}section.block{padding:74px 0}.page-top{padding-top:120px}.container{padding-inline:20px}.head{margin-bottom:38px}.marquee-track{animation-duration:16s}.character{max-width:300px}.char-bubble{font-size:.66rem;right:-2%}.btn,.submit{padding:14px 22px}.nav-cta{display:none}.cta-band{padding:70px 0}footer{padding:50px 0 30px}}@media (width<=400px){.hero h1{font-size:clamp(2.3rem,11vw,3rem)}.photo-badge{padding:6px 9px;font-size:.6rem}.wave-badge span{font-size:.66rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.cursor,.photo-ring,.page-veil,.marquee-track,.photo-badge .dot,.wave-badge svg{animation:none!important}.hero h1 .row i,.fade-up,.reveal{filter:none!important;transition:none!important}.photo-frame{animation:none!important}}.glow-card{--x:-100px;--y:-100px}.glow-card-glow{opacity:0;transition:opacity .3s var(--ease)}.glow-card:hover .glow-card-glow{opacity:1}.glow-card-border{opacity:0;transition:opacity .3s var(--ease)}.glow-card:hover .glow-card-border{opacity:1}.shader-bg{pointer-events:none;opacity:.38;mix-blend-mode:screen;width:100%;height:100%;transition:opacity .4s var(--ease), filter .4s var(--ease);position:absolute;inset:0}body.light-theme .shader-bg{filter:invert();mix-blend-mode:multiply;opacity:.18}.resume-doc-wrap{padding-block:40px}.resume-doc{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);max-width:820px;transition:background .4s var(--ease), border-color .4s var(--ease);margin:0 auto;padding:48px;position:relative;box-shadow:0 12px 40px #00000026}body.light-theme .resume-doc{box-shadow:0 12px 40px #0000000a}.resume-doc header{border-bottom:2px solid var(--violet);padding:0;background:0 0;margin-bottom:28px;padding-bottom:28px;display:block;position:static}.resume-doc h1{font-family:var(--serif);letter-spacing:-.03em;color:var(--text);margin-bottom:4px;font-size:2.8rem;font-weight:800;line-height:1.1}.resume-doc .subtitle{font-family:var(--mono);color:var(--violet);text-transform:uppercase;letter-spacing:.15em;margin-bottom:16px;font-size:.9rem}.resume-doc .contacts{color:var(--muted);flex-wrap:wrap;gap:16px 24px;font-size:.82rem;display:flex}.resume-doc .contacts a{transition:color .2s var(--ease)}.resume-doc .contacts a:hover{color:var(--violet)}.resume-sec{margin-bottom:32px}.resume-sec h3{font-family:var(--serif);color:var(--text);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;padding-bottom:6px;font-size:1.35rem;font-weight:700}.resume-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.resume-item{margin-bottom:20px}.resume-item .item-meta{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.resume-item h4{color:var(--text);font-size:1.1rem;font-weight:600}.resume-item .org{color:var(--violet);font-size:.92rem;font-weight:500}.resume-item .date{font-family:var(--mono);color:var(--muted);font-size:.78rem}.resume-item ul{color:var(--muted);margin-left:18px;font-size:.88rem;list-style:outside}.resume-item ul li{margin-bottom:4px}.resume-item p{color:var(--muted);font-size:.88rem}.resume-skills-group{margin-bottom:14px}.resume-skills-group h5{font-family:var(--mono);color:var(--violet);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:.8rem}.resume-skills-group .skills-list{flex-wrap:wrap;gap:6px;display:flex}.resume-skills-group .skill-pill{background:var(--bg-3);border:1px solid var(--line-2);color:var(--text);border-radius:6px;padding:3px 8px;font-size:.76rem}.resume-compact-proj{background:var(--bg-3);border:1px solid var(--line-2);border-radius:8px;padding:8px 12px;font-size:.85rem}.resume-compact-proj h5{color:var(--text);font-weight:600}.resume-compact-proj .desc{color:var(--muted);margin-top:2px;font-size:.78rem;line-height:1.4}.resume-compact-proj .tech{font-family:var(--mono);color:var(--violet);margin-top:4px;font-size:.7rem}.print-actions{justify-content:flex-end;max-width:820px;margin:0 auto 16px;display:flex}.print-btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;background:var(--violet);color:#0c0d12;cursor:pointer;transition:transform .2s var(--ease), opacity .2s var(--ease);border:none;border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:.8rem;font-weight:600;display:inline-flex}.print-btn:hover{opacity:.9;transform:translateY(-2px)}@media print{body{color:#000!important;background:#fff!important}body *{visibility:hidden}#resume-print-area,#resume-print-area *{visibility:visible}#resume-print-area{width:100%;position:absolute;top:0;left:0;color:#000!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important}.resume-doc{color:#000!important;box-shadow:none!important;background:#fff!important;border:none!important;max-width:100%!important;padding:0!important}.resume-doc header{border-bottom:2px solid #5c4bff!important;margin-bottom:15px!important;padding-bottom:15px!important}.resume-doc h1{color:#000!important;font-size:2.2rem!important}.resume-doc .subtitle{color:#5c4bff!important;font-size:.8rem!important}.resume-doc .contacts{color:#444!important}.resume-sec{margin-bottom:20px!important}.resume-sec h3{color:#000!important;border-bottom:1px solid #ddd!important;margin-bottom:10px!important;padding-bottom:3px!important;font-size:1.1rem!important}.resume-item{margin-bottom:12px!important}.resume-item h4{color:#000!important;font-size:1rem!important}.resume-item .org{color:#5c4bff!important;font-size:.85rem!important}.resume-item .date{color:#555!important;font-size:.72rem!important}.resume-item ul{color:#333!important;font-size:.8rem!important}.resume-item ul li::marker{color:#5c4bff!important}.resume-skills-group h5{color:#5c4bff!important;margin-bottom:4px!important;font-size:.72rem!important}.resume-skills-group .skill-pill{color:#000!important;background:#f0f0f5!important;border:1px solid #ddd!important;padding:2px 6px!important;font-size:.7rem!important}.resume-compact-proj{background:#f0f0f5!important;border:1px solid #ddd!important;padding:6px 10px!important}.resume-compact-proj h5{color:#000!important;font-size:.8rem!important}.resume-compact-proj .desc{color:#333!important;font-size:.72rem!important}.resume-compact-proj .tech{color:#5c4bff!important;font-size:.65rem!important}.no-print{display:none!important}@page{size:A4 portrait;margin:15mm}}.case-study-section{animation:caseStudyFadeIn .65s var(--ease) forwards;z-index:10;position:relative}@keyframes caseStudyFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cs-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:40px;display:flex}.btn-back,.btn-back-footer{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);background:var(--bg-2);cursor:pointer;transition:all .3s var(--ease);border-radius:100px;align-items:center;gap:8px;padding:10px 18px;font-size:.78rem;font-weight:500;display:inline-flex}.btn-back:hover,.btn-back-footer:hover{color:var(--text);border-color:var(--violet);box-shadow:0 4px 12px var(--violet-dim);transform:translate(-3px)}.cs-breadcrumb{font-family:var(--mono);color:var(--muted-2);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.cs-breadcrumb .cat-lbl{color:var(--violet);font-weight:600}.cs-hero{background:var(--bg-2);border:1px solid var(--line);border-radius:24px;margin-bottom:30px;padding:60px 40px;position:relative;overflow:hidden;box-shadow:0 20px 40px #0003}.cs-glow{background:radial-gradient(circle, var(--glow-color,var(--violet-dim)) 0%, transparent 70%);opacity:.65;pointer-events:none;filter:blur(40px);width:380px;height:380px;position:absolute;top:-50%;right:-10%}.cs-title{font-family:var(--serif);letter-spacing:-.03em;color:var(--text);max-width:25ch;margin-bottom:20px;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;line-height:1.05}.cs-desc{color:var(--muted);max-width:75ch;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.5}.cs-metadata-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;display:grid}@media (width<=768px){.cs-metadata-grid{grid-template-columns:1fr}}.meta-box{background:var(--bg-3);border:1px solid var(--line-2);border-radius:16px;flex-direction:column;justify-content:center;padding:24px;display:flex}.meta-box .lbl{font-family:var(--mono);text-transform:uppercase;color:var(--muted-2);letter-spacing:.1em;margin-bottom:10px;font-size:.68rem}.meta-box .val{color:var(--text);font-size:1.05rem;font-weight:600}.tools-pills{flex-wrap:wrap;gap:8px;display:flex}.tool-pill{font-family:var(--mono);color:var(--violet);background:var(--violet-dim);border:1px solid #9d8bff40;border-radius:100px;padding:5px 12px;font-size:.68rem}.cs-details-grid{grid-template-columns:1.8fr 1.2fr;gap:30px;margin-bottom:50px;display:grid}@media (width<=992px){.cs-details-grid{grid-template-columns:1fr}}.cs-card{background:var(--bg-2);border:1px solid var(--line);border-radius:20px;margin-bottom:30px;padding:36px;box-shadow:0 10px 25px #0000000d}.cs-card h3{font-family:var(--serif);color:var(--text);border-left:3px solid var(--violet);margin-bottom:18px;padding-left:12px;font-size:1.45rem;font-weight:600}.cs-card p{color:var(--muted);font-size:1.02rem;line-height:1.6}.results-card{background:linear-gradient(145deg, var(--bg-2) 0%, #9d8bff08 100%);border-color:#9d8bff26;height:100%}.results-list{flex-direction:column;gap:20px;display:flex}.results-list li{align-items:flex-start;gap:14px;display:flex}.results-list .check-icon{color:var(--amber);margin-top:4px;font-size:1rem;line-height:1}.results-list p{color:var(--text);margin:0;font-size:.96rem}.cs-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:36px;display:flex}.btn-next{font-family:var(--sans);color:#0c0d12;background:var(--violet);cursor:pointer;transition:all .3s var(--ease);border:none;border-radius:100px;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-next:hover{background:var(--violet-2);transform:translate(4px);box-shadow:0 6px 20px #9d8bff59}body.light-theme{--purple-glow:#5c4bff14;--blue-glow:#3b82f614;--green-glow:#10b98114;--orange-glow:#f59e0b14;--red-glow:#ef444414}:root{--purple-glow:#9d8bff24;--blue-glow:#3b82f624;--green-glow:#10b98124;--orange-glow:#f59e0b24;--red-glow:#ef444424}.cs-image-showcase{width:100%;margin-block:40px}.browser-mockup{background:var(--bg-3);border:1px solid var(--line);transition:border-color .4s var(--ease);border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #00000040}.browser-header{background:var(--bg-2);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 18px;display:flex}.browser-header .dot{border-radius:50%;width:10px;height:10px;display:inline-block}.browser-header .dot:first-child{background:#ff5f56}.browser-header .dot:nth-child(2){background:#ffbd2e}.browser-header .dot:nth-child(3){background:#27c93f}.browser-url{font-family:var(--mono);color:var(--muted-2);text-align:center;background:var(--bg);border:1px solid var(--line-2);border-radius:6px;flex:1;max-width:480px;margin:0 auto;padding:4px 12px;font-size:.7rem}.cs-mockup-img{-o-object-fit:cover;object-fit:cover;width:100%;height:auto;max-height:540px;display:block}.character-spline-container{border-radius:24px;box-shadow:0 16px 36px #00000026}.character-spline{box-shadow:inset 0 0 40px #0006}.hero{position:relative;overflow:hidden}.hero-spline-bg{z-index:0;pointer-events:auto;width:100%;height:100%;position:absolute;inset:0}.hero .container{z-index:2;pointer-events:none;position:relative}.hero .container *{pointer-events:auto}.btn,.nav-cta,.submit,.filter-btn,.theme-toggle,.btn-back,.btn-back-footer,.btn-next,.print-btn,.btn-ghost{transition-property:transform,box-shadow,scale,background,border-color,color;transition-duration:.3s,.3s,.15s,.3s,.3s,.3s;transition-timing-function:var(--ease)}.btn:active,.nav-cta:active,.submit:active,.filter-btn:active,.theme-toggle:active,.btn-back:active,.btn-back-footer:active,.btn-next:active,.print-btn:active,.btn-ghost:active{scale:.96}.tilt-card:hover,.case:hover,.proj:hover,.stack-card:hover,.product-card:hover,.cs-card-prod:hover{box-shadow:0 1px 2px #0000001a,0 8px 18px #00000029,0 22px 48px #00000038!important}img{outline-offset:-1px;outline:1px solid #ffffff1a}body.light-theme img{outline:1px solid #0000001a}.cursor,canvas{outline:none!important}.stat .n,.pre-count,.filter-btn .c,.n .cv,.cs-metrics .mn{font-variant-numeric:tabular-nums}h1,h2,h3,h4,.head h2,.cs-title{text-wrap:balance}p,.bio p,.lead,.cs-desc{text-wrap:pretty}.theme-toggle,.burger{justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}@media (hover:hover) and (prefers-reduced-motion:no-preference){.photo-frame{animation:6s ease-in-out infinite floaty}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}}.products-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.product-card{border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.prod-cover{aspect-ratio:16/9;place-items:center;display:grid;position:relative;overflow:hidden}.prod-cover .prod-cover-title,.prod-cover .ph-tag{z-index:3;font-family:var(--serif);color:#fff;text-shadow:0 2px 20px #0006;pointer-events:none;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;position:relative}.prod-cover.cs .ph-tag{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid #fff6;border-radius:100px;padding:7px 14px;font-size:.72rem;font-weight:500}.g-pik{background:linear-gradient(135deg,#6f5bff 0%,#9d8bff 45%,#f0b859 130%)}.g-insta{background:linear-gradient(135deg,#f0b859 0%,#e4547c 50%,#9d8bff 120%)}.prod-body{flex-direction:column;flex:1;gap:14px;padding:24px 26px 28px;display:flex}.prod-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.prod-body .role{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--violet);font-size:.7rem}.badge-own{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber);border:1px solid var(--amber);white-space:nowrap;border-radius:100px;padding:4px 9px;font-size:.62rem}.prod-body h3{font-family:var(--serif);font-size:1.5rem;font-weight:700;line-height:1.15}.prod-body p{color:var(--muted);font-size:.95rem}.prod-tags{flex-wrap:wrap;gap:8px;display:flex}.prod-tags span{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:5px 10px;font-size:.68rem}.prod-actions{margin-top:auto;padding-top:6px}.cs-grid-products{grid-template-columns:1fr 1fr;gap:22px;display:grid}.cs-card-prod{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);transition:border-color .4s var(--ease), transform .25s var(--ease);flex-direction:column;display:flex;overflow:hidden}.cs-card-prod:hover{border-color:#9d8bff59}.cs-card-prod .prod-cover{aspect-ratio:2}.cs-body{flex-direction:column;flex:1;gap:12px;padding:22px 24px 26px;display:flex}.cs-body h3{font-family:var(--serif);font-size:1.35rem;font-weight:700}.cs-body p{color:var(--muted);font-size:.9rem}.cs-metrics{border-top:1px solid var(--line);gap:22px;margin-top:auto;padding-top:14px;display:flex}.cs-metrics .mn{font-family:var(--serif);color:var(--text);font-size:1.15rem;font-weight:700}.cs-metrics .ml{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-size:.62rem}@media (width<=940px){.products-grid,.cs-grid-products{grid-template-columns:1fr}}.badge-wip{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber);border:1px solid var(--amber);background:var(--amber-dim);border-radius:100px;align-items:center;gap:7px;padding:4px 10px 4px 8px;font-size:.62rem;display:inline-flex}.badge-wip .wip-dot{background:var(--amber);border-radius:50%;width:6px;height:6px;animation:1.8s ease-out infinite wipPulse;box-shadow:0 0 #f0b85999}@keyframes wipPulse{0%{box-shadow:0 0 #f0b8598c}70%{box-shadow:0 0 0 7px #f0b85900}to{box-shadow:0 0 #f0b85900}}.hero h1 em{background:linear-gradient(100deg, var(--violet) 0%, var(--amber) 30%, var(--violet) 60%, var(--amber) 90%);-webkit-text-fill-color:transparent;color:#0000;background-size:260%;-webkit-background-clip:text;background-clip:text;animation:8s linear infinite nameSheen}@keyframes nameSheen{to{background-position:260%}}nav a.nlink,nav .nlink{position:relative}nav .nlink:after{content:"";background:linear-gradient(90deg, var(--violet), var(--amber));transform-origin:100%;width:100%;height:2px;transition:transform .35s var(--ease);position:absolute;bottom:-4px;left:0;transform:scaleX(0)}nav .nlink:hover:after,nav .nlink.active:after{transform-origin:0;transform:scaleX(1)}.socials a,.foot-col a,.hover-link{transition:transform .3s var(--ease), color .3s var(--ease);display:inline-block}.socials a:hover,.foot-col a:hover,.hover-link:hover{color:var(--violet);transform:translateY(-2px)}.prod-tags span,.tools span,.tilt-card .tags span{transition:transform .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease)}.prod-tags span:hover,.tools span:hover,.tilt-card .tags span:hover{border-color:var(--violet);color:var(--text);transform:translateY(-2px)scale(1.04)}.photo-badge .dot{animation:2.2s ease-out infinite wipPulse,1.6s ease-in-out infinite blink}.prod-cover-title{animation:5s ease-in-out infinite coverFloat}@keyframes coverFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.badge-wip .wip-dot,.hero h1 em,.prod-cover-title,.photo-badge .dot,.brand .mark:after{animation:none!important}.hero h1 em{-webkit-text-fill-color:var(--violet);color:var(--violet)}}.wa-fab{z-index:300;color:#fff;width:56px;height:56px;transition:transform .28s var(--ease), box-shadow .28s var(--ease), scale .15s ease-out;isolation:isolate;background:#25d366;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 6px 18px #25d36661,0 2px 6px #00000038}.wa-fab:hover{transform:translateY(-3px);box-shadow:0 12px 30px #25d3667a,0 4px 10px #00000040}.wa-fab:active{scale:.94}.wa-fab svg{z-index:2;position:relative}.wa-pulse{opacity:.55;z-index:1;background:#25d366;border-radius:50%;animation:2.4s ease-out infinite waPulse;position:absolute;inset:0}@keyframes waPulse{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(1.55)}to{opacity:0;transform:scale(1.55)}}.wa-tip{background:var(--bg-2);color:var(--text);font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--line);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s var(--ease), transform .3s var(--ease);border-radius:10px;padding:8px 12px;font-size:.72rem;position:absolute;top:50%;right:68px;transform:translateY(-50%)translate(6px);box-shadow:0 4px 14px #0000003d}.wa-fab:hover .wa-tip{opacity:1;transform:translateY(-50%)translate(0)}@media (width<=720px){.wa-fab{width:52px;height:52px;bottom:18px;right:18px}.wa-tip{display:none}}@media (prefers-reduced-motion:reduce){.wa-pulse{opacity:0;animation:none}}@media print{.wa-fab{display:none!important}}.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-foreground:hover{color:var(--text)}.hover\:underline:hover{text-decoration-line:underline}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:border-\[var\(--violet\)\]{border-color:var(--violet)}.group:hover .group-hover\:bg-\[rgba\(255\,255\,255\,0\.04\)\]{background-color:#ffffff0a}.group:hover .group-hover\:opacity-100{opacity:1}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--text)}.dark\:opacity-\[0\.05\]:is(.dark *){opacity:.05}@media (width>=640px){.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}}@media (width>=768px){.md\:h-\[500px\]{height:500px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
