:root{--neon-blue:#008cff;--neon-rose:#ff286c}.v5-heading h2 em,.v5-contact-intro h2 em{color:#48adff;text-shadow:0 0 8px #008cffa6,0 0 25px #008cff47;font-style:normal}.hero h1 em,.hero-title em,.hero h1 span.accent,.hero-title .accent{color:#56b4ff;text-shadow:0 0 10px #008cff99,0 0 30px #008cff40}.section-heading em,.section-title em,.project-title em{text-shadow:0 0 12px #ff286c66}.project-card h3,.project-card h2,.project-item h3,.v5-project h3{transition:color .25s,text-shadow .25s}.project-card:hover h3,.project-card:hover h2,.project-item:hover h3,.v5-project:hover h3{color:#fff;text-shadow:0 0 12px #008cff73,0 0 28px #008cff26}.v5-project h3 small{color:#79c4ff;text-shadow:0 0 10px #008cff73}.v5-heading>span,.v5-contact-intro>span,.v5-project-copy>span,.v5-timeline-item>div:last-child>span,.v5-bento-top{color:#ff6093;text-shadow:0 0 9px #ff286c59}.v5-bento-card h3{transition:color .25s,text-shadow .25s}.v5-bento-card:hover h3{color:#76c2ff;text-shadow:0 0 12px #008cff59}.v5-timeline-date{color:#69baff;text-shadow:0 0 10px #008cff59}.v5-contact-intro a{transition:color .25s,text-shadow .25s}.v5-contact-intro a:hover{color:#fff;text-shadow:0 0 10px #008cffb3,0 0 25px #008cff4d}nav a,.nav-links a,.footer a{transition:color .25s,text-shadow .25s}nav a:hover,.nav-links a:hover,.footer a:hover{text-shadow:0 0 10px #008cff8c}.neon-text-blue{text-shadow:0 0 8px #008cffb3,0 0 24px #008cff4d;color:#69baff!important}.neon-text-rose{text-shadow:0 0 8px #ff286ca6,0 0 24px #ff286c40;color:#ff6093!important}.neon-gradient-text{color:#69baff;background:linear-gradient(100deg,#008cff 0%,#82cbff 35%,#ff286c 70%,#008cff 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:8s ease-in-out infinite neon-text-shift}@keyframes neon-text-shift{0%,to{background-position:0%}50%{background-position:100%}}.neon-underline{display:inline-block;position:relative}.neon-underline:after{content:"";background:linear-gradient(90deg,#008cff,#ff286c);width:100%;height:2px;position:absolute;bottom:-.12em;left:0;box-shadow:0 0 8px #008cff80,0 0 14px #ff286c40}@media (width<=768px){.v5-heading h2 em,.v5-contact-intro h2 em{text-shadow:0 0 9px #008cff73}.project-card:hover h3,.project-item:hover h3,.v5-project:hover h3{text-shadow:none}}@media (prefers-reduced-motion:reduce){.neon-gradient-text{animation:none!important}.project-card h3,.project-card h2,.project-item h3,.v5-project h3,.v5-bento-card h3{transition:none!important}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.static{position:static}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color:#f4f6fc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#080a0f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:5px;outline:2px solid #8aaaff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#35415d;border-radius:20px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}html{scroll-padding-top:90px}body{min-width:320px}img,video,canvas{max-width:100%}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}:focus-visible{outline-offset:4px;outline:2px solid #008cff}@media (width<=768px){html{scroll-padding-top:70px}body{overflow-x:clip}.v5-section{padding-left:6%;padding-right:6%}.v5-project,.v5-contact{grid-template-columns:minmax(0,1fr)}.v5-project-copy{min-width:0}.v5-project h3{overflow-wrap:anywhere}.v5-project-visual{min-width:0;padding:18px}.v5-browser{transform:none!important}.v5-form{min-width:0}.v5-form input,.v5-form textarea{font-size:16px}.v5-bento{grid-template-columns:minmax(0,1fr)}.v5-bento-card.v5-wide{grid-column:auto}.v5-sound{left:12px;bottom:max(12px,env(safe-area-inset-bottom))}.v3-orbit-b,.v3-orbit-c{animation:none!important}}@media (hover:none){.v5-bento-card:hover,.v5-browser{transform:none!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--od-blue:#008cff;--od-rose:#ff286c;--od-black:#050507}.overdrive-progress{z-index:999999;transform-origin:0;pointer-events:none;background:linear-gradient(90deg,#008cff,#7a4dff,#ff286c);width:100%;height:3px;position:fixed;top:0;left:0;box-shadow:0 0 12px #008cff,0 0 20px #ff286c66}.overdrive-spotlight{z-index:3;pointer-events:none;opacity:.34;will-change:transform;background:radial-gradient(circle,#008cff17 0%,#ff286c0a 35%,#0000 70%);border-radius:50%;width:460px;height:460px;position:fixed;top:-230px;left:-230px}.overdrive-particles{z-index:1;pointer-events:none;contain:layout paint;position:absolute;inset:0;overflow:hidden}.overdrive-particle{opacity:.65;border-radius:50%;animation:linear infinite overdriveFloat;position:absolute}.overdrive-particle.blue{background:#008cff;box-shadow:0 0 9px #008cff}.overdrive-particle.rose{background:#ff286c;box-shadow:0 0 9px #ff286c}@keyframes overdriveFloat{0%{opacity:0;transform:translateY(25px)}20%{opacity:.8}80%{opacity:.55}to{opacity:0;transform:translate(35px,-95px)}}.overdrive-edge{z-index:2;pointer-events:none;opacity:.45;width:1px;height:45vh;position:fixed;top:20%}.overdrive-edge-left{background:linear-gradient(#0000,#008cff,#0000);left:0}.overdrive-edge-right{background:linear-gradient(#0000,#ff286c,#0000);right:0}.overdrive-reveal{opacity:0;filter:blur(5px);transition:opacity .85s cubic-bezier(.2,.8,.2,1),translate .85s cubic-bezier(.2,.8,.2,1),filter .85s;translate:0 32px}.overdrive-reveal.overdrive-visible{opacity:1;filter:blur();translate:0}.overdrive-magnetic{translate:var(--mag-x,0px) var(--mag-y,0px);transition:translate .22s cubic-bezier(.2,.8,.2,1),background .25s,border-color .25s,box-shadow .25s}.hero h1{animation:1.15s cubic-bezier(.16,1,.3,1) both overdriveHeroArrival}@keyframes overdriveHeroArrival{0%{opacity:0;filter:blur(13px);translate:0 65px}to{opacity:1;filter:blur();translate:0}}.hero h1 .gradient-text{background-size:220% 220%;animation:7s ease-in-out infinite alternate overdriveGradient}@keyframes overdriveGradient{0%{background-position:0%}to{background-position:100%}}.hero h1 .outline{animation:5s ease-in-out infinite alternate overdriveOutline}@keyframes overdriveOutline{0%{filter:drop-shadow(0 0 3px #ff286c22)}to{filter:drop-shadow(0 0 16px #ff286c77)}}.v3-core{animation:6s ease-in-out infinite alternate overdriveCore}@keyframes overdriveCore{0%{box-shadow:inset 0 0 40px #008cff20,0 0 40px #008cff20,0 0 75px #ff286c12}to{box-shadow:inset 0 0 75px #008cff40,0 0 85px #008cff45,0 0 125px #ff286c30}}.v3-orbit-a{animation:18s linear infinite overdriveOrbitA}.v3-orbit-b{animation:24s linear infinite overdriveOrbitB}.v3-orbit-c{animation:30s linear infinite overdriveOrbitC}@keyframes overdriveOrbitA{0%{transform:rotateX(65deg)rotate(35deg)}to{transform:rotateX(65deg)rotate(395deg)}}@keyframes overdriveOrbitB{0%{transform:rotateY(65deg)rotate(-35deg)}to{transform:rotateY(65deg)rotate(-395deg)}}@keyframes overdriveOrbitC{0%{transform:rotateX(45deg)rotateY(45deg)}to{transform:rotateX(405deg)rotateY(405deg)}}.section-meta,.v3-section-heading>span,.v3-eyebrow{text-shadow:0 0 15px #ff286c55;position:relative}.section-meta:before,.v3-eyebrow:before{content:"";vertical-align:middle;background:#ff286c;border-radius:50%;width:6px;height:6px;margin-right:10px;animation:2.4s ease-in-out infinite overdriveBlink;display:inline-block;box-shadow:0 0 12px #ff286c}@keyframes overdriveBlink{50%{opacity:.3}}.project-card{isolation:isolate;transition:border-color .4s,box-shadow .4s,transform .4s cubic-bezier(.2,.8,.2,1);position:relative}.project-card:after{content:"";z-index:5;pointer-events:none;opacity:0;background:linear-gradient(115deg,#0000 30%,#008cff0a 43%,#ff286c18 50%,#0000 65%) 100% 0/250% 100%;transition:opacity .3s;position:absolute;inset:0}.project-card:hover:after{opacity:1;animation:1s ease-out both overdriveSweep}@keyframes overdriveSweep{0%{background-position:100% 0}to{background-position:0 0}}.project-card:hover{box-shadow:0 30px 85px #0009,0 0 35px #008cff18,0 0 50px #ff286c12}.project-card:hover .project-graphic{filter:drop-shadow(0 0 22px #008cff77);scale:1.06}.skill:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 0,#008cff18,#0000 70%);transition:opacity .35s;position:absolute;inset:0}.skill:hover:before{opacity:1}.skill:hover{transform:translateY(-7px);box-shadow:0 15px 35px #0007,0 0 22px #ff286c18}.skill svg{transition:transform .4s,filter .4s}.skill:hover svg{filter:drop-shadow(0 0 9px #ff286c);transform:rotate(-8deg)scale(1.14)}.marquee{box-shadow:0 0 30px #008cff35,0 0 65px #008cff15}.v3-terminal{transition:border-color .4s,box-shadow .4s}.v3-terminal:focus-within{border-color:#ff286c;box-shadow:0 25px 80px #0008,0 0 30px #ff286c20}.v3-terminal-form label{animation:3s ease-in-out infinite overdriveTerminalGlow}@keyframes overdriveTerminalGlow{50%{text-shadow:0 0 13px #008cff}}.v3-repo{position:relative;overflow:hidden}.v3-repo:before{content:"";background:linear-gradient(90deg,#0000,#008cff,#ff286c,#0000);width:100%;height:2px;transition:left .6s;position:absolute;top:0;left:-100%}.v3-repo:hover:before{left:100%}.v3-repo:hover{box-shadow:0 15px 40px #0007,0 0 24px #ff286c12}.v3-primary-link{position:relative;overflow:hidden;box-shadow:0 0 25px #008cff30}.v3-primary-link:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff45 50%,#0000 70%);transition:transform .7s;position:absolute;inset:0;transform:translate(-130%)}.v3-primary-link:hover:before{transform:translate(130%)}.v3-secondary-link:hover{box-shadow:0 0 25px #ff286c22}.v3-palette{animation:.32s cubic-bezier(.16,1,.3,1) both overdrivePalette}@keyframes overdrivePalette{0%{opacity:0;transform:translateY(-15px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.v3-command-trigger{transition:border-color .25s,box-shadow .25s,background .25s}.v3-command-trigger:hover{border-color:#ff286c;box-shadow:0 0 20px #008cff30,0 0 25px #ff286c20}.nav-links a{transition:color .25s,text-shadow .25s}.nav-links a:hover{color:#fff;text-shadow:0 0 12px #008cff88}footer{position:relative}footer:before{content:"";background:linear-gradient(90deg,#0000,#008cff,#ff286c,#0000);width:100%;height:1px;position:absolute;top:0;left:0}@media (width<=900px){.overdrive-spotlight{display:none}}@media (width<=640px){.overdrive-particles{opacity:.35}.overdrive-edge{display:none}.project-card:hover:after{animation:none}}@media (hover:none),(pointer:coarse){.overdrive-spotlight{display:none}.skill:hover{transform:none}}@media (prefers-reduced-motion:reduce){.overdrive-particle,.v3-orbit-a,.v3-orbit-b,.v3-orbit-c,.v3-core,.hero h1,.hero h1 .gradient-text,.hero h1 .outline,.section-meta:before,.v3-eyebrow:before,.v3-terminal-form label{animation:none!important}.overdrive-spotlight,.overdrive-particles{display:none!important}.overdrive-reveal{opacity:1!important;filter:none!important;translate:none!important}.overdrive-magnetic{translate:none!important}.v3-palette,.project-card:hover:after{animation:none!important}}.overdrive-spotlight,.overdrive-particle:nth-child(n+11){display:none!important}.v3-orbit-b,.v3-orbit-c,.v3-core,.hero h1 .outline,.v3-terminal-form label{animation:none!important}.hero h1 .gradient-text{animation-duration:14s!important}.project-card:hover,.v3-repo:hover,.skill:hover{box-shadow:0 12px 35px #0007!important}@media (width<=900px){.overdrive-particles,.overdrive-edge{display:none!important}.v3-orbit-a,.hero h1 .gradient-text{animation:none!important}}.v3-hero-scene{aspect-ratio:1;z-index:1;perspective:1100px;pointer-events:auto;width:min(40vw,530px);position:absolute;top:17%;right:4%}.v3-hero-object{--hero-rx:0deg;--hero-ry:0deg;transform-style:preserve-3d;transform:rotateX(var(--hero-rx)) rotateY(var(--hero-ry));place-items:center;transition:transform .22s ease-out;display:grid;position:absolute;inset:5%}.v3-orbit{aspect-ratio:1;border:1px solid #008cff80;border-radius:50%;width:82%;position:absolute;box-shadow:0 0 28px #008cff20}.v3-orbit-a{transform:rotateX(65deg)rotate(35deg)}.v3-orbit-b{border-color:#ff286caa;transform:rotateY(65deg)rotate(-35deg);box-shadow:0 0 30px #ff286c25}.v3-orbit-c{border-color:#ffffff28;width:95%;transform:rotateX(45deg)rotateY(45deg)}.v3-core{aspect-ratio:1;background:linear-gradient(140deg,#122b57,#160d24 55%,#4a1029);border:1px solid #ffffff40;border-radius:28%;place-items:center;width:47%;display:grid;transform:translateZ(65px)rotate(-12deg);box-shadow:inset 0 0 55px #008cff30,0 0 70px #008cff25,0 0 110px #ff286c18}.v3-core span{letter-spacing:-.13em;color:#fff;text-shadow:0 0 30px #008cff,0 0 65px #ff286c;font-size:clamp(65px,10vw,145px);font-weight:900}.v3-object-caption{color:#a8a8bc;letter-spacing:3px;font-size:9px;position:absolute;bottom:1%}.v3-project-preview{place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.v3-shot{object-fit:contain;opacity:0;border:1px solid #ffffff35;border-radius:9px;width:76%;max-height:75%;transition:opacity .3s,transform .5s;position:absolute;transform:perspective(900px)rotateY(-8deg)rotateX(4deg);box-shadow:0 35px 70px #000a,0 0 45px #008cff25}.v3-shot.loaded{opacity:1}.project-card:hover .v3-shot.loaded{transform:perspective(900px)rotateY(0)rotateX(0)scale(1.025)}.v3-command-trigger{z-index:90;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:1px;background:#0b0b14ef;border:1px solid #008cff80;border-radius:7px;align-items:center;gap:12px;padding:12px 15px;font-size:10px;font-weight:800;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 0 25px #008cff20}.v3-command-trigger svg{color:#ff286c}.v3-command-trigger kbd{color:#aaaabd;border:1px solid #ffffff30;border-radius:4px;padding:5px 7px}.v3-palette-backdrop{z-index:200000;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#000c;justify-content:center;align-items:flex-start;padding:min(17vh,150px) 18px 20px;display:flex;position:fixed;inset:0}.v3-palette{background:#0b0b13;border:1px solid #008cff88;border-radius:12px;width:min(100%,590px);overflow:hidden;box-shadow:0 35px 110px #000,0 0 50px #008cff22}.v3-palette-input{color:#ff286c;border-bottom:1px solid #ffffff20;align-items:center;gap:15px;padding:19px;display:flex}.v3-palette-input input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:16px}.v3-palette-input button{color:#aaaabd;background:0 0;border:0}.v3-palette-results{max-height:55vh;padding:10px;overflow-y:auto}.v3-palette-results button{color:#fff;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:15px;display:flex}.v3-palette-results button:hover,.v3-palette-results button:focus-visible{background:#008cff1c}.v3-palette-results button span{flex-direction:column;gap:5px;display:flex}.v3-palette-results strong{font-size:14px}.v3-palette-results small{color:#9898ae}.v3-palette-results svg{color:#ff286c}.v3-empty{color:#9999ad;padding:20px}.v3-palette-footer{color:#77778e;letter-spacing:1.5px;border-top:1px solid #ffffff18;justify-content:space-between;padding:15px 20px;font-size:9px;display:flex}.v3-terminal-section,.v3-github-section{background:#060609;border-top:1px solid #ffffff17;padding:115px 8%}.v3-github-section{background:radial-gradient(at 90% 15%,#ff286c0e,#0000 50%),#08080d}.v3-section-heading>span,.v3-eyebrow{color:#ff286c;letter-spacing:2.5px;font-size:10px;font-weight:800}.v3-section-heading h2,.v3-resume-section h2{letter-spacing:-.075em;margin:35px 0 25px;font-size:clamp(48px,7vw,105px);font-weight:900;line-height:.96}.v3-section-heading h2 em,.v3-resume-section h2 em{color:#0000;-webkit-text-stroke:1px #ff286c;font-style:normal}.v3-section-heading>p,.v3-resume-section p{color:#a7a7ba;max-width:570px;line-height:1.8}.v3-terminal{background:#090c14;border:1px solid #008cff66;border-radius:9px;margin-top:60px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;box-shadow:0 25px 80px #0008,0 0 35px #008cff0e}.v3-terminal-top{color:#9696aa;background:#141622;border-bottom:1px solid #ffffff18;justify-content:space-between;align-items:center;height:50px;padding:0 20px;font-size:11px;display:flex}.v3-terminal-dots{gap:7px;display:flex}.v3-terminal-dots i{background:#ff286c;border-radius:50%;width:10px;height:10px}.v3-terminal-dots i:nth-child(2){background:#e8b15c}.v3-terminal-dots i:nth-child(3){background:#45dba2}.v3-terminal-output{color:#c4d3e9;height:290px;padding:25px;font-size:13px;line-height:1.8;overflow-y:auto}.v3-terminal-output p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}.v3-terminal-output .v3-prompt{color:#ff5087}.v3-terminal-form{color:#008cff;border-top:1px solid #ffffff17;align-items:center;gap:12px;padding:16px 25px;font-size:12px;display:flex}.v3-terminal-form input{color:#fff;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1}.v3-terminal-form button{color:#ff286c;background:0 0;border:0}.v3-terminal-shortcuts{flex-wrap:wrap;gap:8px;padding:0 25px 22px;display:flex}.v3-terminal-shortcuts button{color:#9999b0;font:inherit;background:#ffffff07;border:1px solid #ffffff25;border-radius:4px;padding:7px 10px;font-size:11px}.v3-terminal-shortcuts button:hover{color:#fff;border-color:#ff286c}.v3-github-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:55px;display:grid}.v3-repo{background:#11111a;border:1px solid #343444;flex-direction:column;min-height:260px;padding:26px;transition:border-color .25s,transform .25s;display:flex}.v3-repo:hover{border-color:#ff286c;transform:translateY(-4px)}.v3-repo-top,.v3-repo-bottom{color:#8e8ea5;letter-spacing:1px;justify-content:space-between;gap:12px;font-size:10px;display:flex}.v3-repo-top svg{color:#ff286c}.v3-repo h3{overflow-wrap:anywhere;margin:35px 0 15px;font-size:23px}.v3-repo p{color:#aaaabe;flex:1;font-size:13px;line-height:1.7}.v3-repo-bottom{border-top:1px solid #ffffff1c;padding-top:17px}.v3-github-message{color:#aaaabe;border:1px solid #ffffff20;grid-column:1/-1;padding:25px}.v3-github-all{color:#6ab7ff;letter-spacing:1px;align-items:center;gap:12px;margin-top:35px;font-size:12px;font-weight:800;display:inline-flex}.v3-resume-section{background:radial-gradient(at 100% 0,#ff286c1c,#0000 50%),radial-gradient(at 0 100%,#008cff15,#0000 45%),#090910;border-top:1px solid #ff286c55;grid-template-columns:1.4fr 1fr;align-items:center;gap:60px;padding:110px 8%;display:grid}.v3-resume-actions{flex-direction:column;gap:12px;display:flex}.v3-resume-actions a,.v3-resume-actions button{letter-spacing:1px;text-align:left;border-radius:3px;justify-content:space-between;align-items:center;gap:15px;min-height:65px;padding:19px 22px;font-size:11px;font-weight:800;display:flex}.v3-primary-link{color:#fff;background:#008cff;border:1px solid #008cff}.v3-secondary-link{color:#fff;background:#11111b;border:1px solid #ff286c88}.v3-primary-link:hover{background:#ff286c}.v3-secondary-link:hover{background:#ff286c16}@media (width<=900px){.v3-hero-scene{opacity:.55;width:42vw;right:0}.v3-github-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-resume-section{grid-template-columns:1fr}}@media (width<=640px){.v3-hero-scene{opacity:.2;pointer-events:none;width:70vw;top:13%;right:-24%}.v3-terminal-section,.v3-github-section,.v3-resume-section{padding:80px 6%}.v3-github-grid{grid-template-columns:1fr}.v3-terminal-output{height:240px;padding:17px}.v3-terminal-form{padding:15px}.v3-terminal-shortcuts{padding-inline:15px}.v3-command-trigger{bottom:12px;right:12px}.v3-command-trigger span{display:none}.v3-section-heading h2,.v3-resume-section h2{font-size:clamp(43px,11vw,70px)}}@media (prefers-reduced-motion:reduce){.v3-hero-object,.v3-shot,.v3-repo{transition:none!important;transform:none!important}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.custom-cursor-enabled,html.custom-cursor-enabled body,html.custom-cursor-enabled body *,html.custom-cursor-enabled body :before,html.custom-cursor-enabled body :after{cursor:none!important}.neon-arrow-cursor{pointer-events:none;z-index:2147483647;opacity:0;will-change:transform;width:36px;height:43px;transition:opacity .15s;position:fixed;top:0;left:0}.neon-arrow-cursor svg{z-index:2;filter:drop-shadow(0 0 4px #008cff)drop-shadow(0 0 10px #008cff88);transition:filter .2s,scale .2s;position:relative}.arrow-halo{opacity:.6;background:radial-gradient(circle,#008cff30,#0000 70%);border-radius:50%;width:48px;height:48px;transition:scale .2s,background .2s;position:absolute;top:-10px;left:-10px}.neon-arrow-cursor.cursor-hover svg{filter:drop-shadow(0 0 5px #ff286c)drop-shadow(0 0 15px #ff286c);scale:1.12}.neon-arrow-cursor.cursor-hover svg path{stroke:#ff568c}.neon-arrow-cursor.cursor-hover .arrow-halo{background:radial-gradient(circle,#ff286c50,#0000 70%);scale:1.5}}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.neon-arrow-cursor{display:none!important}}.intro-lab.intro-hold{--intro-blue:#168dff;--intro-rose:#ff347e;z-index:99999;isolation:isolate;box-sizing:border-box;color:#f6f7ff;text-align:center;background:radial-gradient(at 50% 54%,#103b6d45 0%,#0000 44%),radial-gradient(at 72% 75%,#ff347e13 0%,#0000 40%),#050509;flex-direction:column;justify-content:space-between;width:100%;min-height:100svh;padding:27px clamp(22px,4.5vw,76px);font-family:Inter,Arial,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}.intro-hold *,.intro-hold :before,.intro-hold :after{box-sizing:border-box}.intro-hold:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#258aff0b 1px,#0000 1px),linear-gradient(90deg,#258aff0b 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 8%,#0000 78%);mask-image:radial-gradient(#000 8%,#0000 78%)}.intro-hold .intro-noise{z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 52%,#168dff12,#0000 45%);animation:5s ease-in-out infinite alternate intro-ambient;position:absolute;inset:0}.intro-hold .intro-header,.intro-hold .intro-footer{z-index:2;letter-spacing:.17em;color:#929bad;justify-content:space-between;align-items:center;gap:16px;width:100%;font-size:11px;font-weight:750;display:flex;position:relative}.intro-hold .intro-header{border-bottom:1px solid #ffffff20;padding-bottom:19px}.intro-hold .intro-header span:first-child{color:#fff;letter-spacing:-.045em;font-size:17px;font-weight:900}.intro-hold .intro-pink{color:var(--intro-rose)}.intro-hold .intro-stage{z-index:2;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:0;width:100%;min-height:0;padding:24px 0;animation:.9s cubic-bezier(.2,.8,.2,1) both intro-arrive;display:flex;position:relative}.intro-hold .intro-overline{letter-spacing:.28em;color:#79baff;margin-bottom:clamp(16px,3vh,31px);font-size:10px;font-weight:800}.intro-hold .intro-headline{color:#f6f7ff;text-align:center;text-transform:uppercase;width:100%;max-width:1200px;font-weight:950;letter-spacing:-.075em!important;margin:0!important;font-size:clamp(38px,6.4vw,104px)!important;line-height:1.12!important}.intro-hold .intro-headline em{color:#0000;-webkit-text-stroke:1.5px var(--intro-rose);filter:drop-shadow(0 0 15px #ff347e50);font-style:normal}.intro-hold .intro-headline strong{color:#fff;font-weight:inherit;text-shadow:0 0 32px #168dff65}.intro-hold .intro-portal{background:conic-gradient(from -90deg, var(--intro-blue) 0 var(--charge), #ffffff25 var(--charge) 100%);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border:0;border-radius:50%;flex:none;place-items:center;width:clamp(134px,15vh,180px);height:clamp(134px,15vh,180px);margin:clamp(22px,4vh,42px) 0 0;padding:7px;transition:box-shadow .2s,transform .2s;display:grid;position:relative;box-shadow:0 0 38px #168dff20}.intro-hold .intro-portal:hover{transform:scale(1.035);box-shadow:0 0 55px #168dff55,0 0 100px #ff347e16}.intro-hold .intro-portal:active{transform:scale(.97)}.intro-hold .intro-portal:focus-visible,.intro-hold .intro-footer button:focus-visible{outline-offset:7px;outline:2px solid #ff72a5}.intro-hold .intro-portal-inner{background:radial-gradient(circle at 50% 25%,#173c69,#090d19 75%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:100%;height:100%;display:flex;box-shadow:inset 0 0 30px #168dff25}.intro-hold .intro-portal-inner svg{color:#9acfff;filter:drop-shadow(0 0 12px #168dff90)}.intro-hold .intro-portal-inner b{color:#fff;letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:13px}.intro-hold .intro-instruction{color:#a4aec4;letter-spacing:.24em;text-align:center;margin:22px 0 0;font-size:10px;font-weight:800}.intro-hold .intro-footer{border-top:1px solid #ffffff20;padding-top:19px}.intro-hold .intro-footer button{color:#c0c8d9;font:inherit;letter-spacing:.13em;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:10px;padding:8px;font-size:10px;display:inline-flex}.intro-hold .intro-footer button:hover{color:#fff}.intro-hold.intro-leaving .intro-stage{animation:.45s ease-in forwards intro-disappear}.intro-hold .intro-exit{z-index:20;pointer-events:none;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;inset:0}.intro-hold .intro-exit div{transform-origin:top;background:linear-gradient(155deg,#168dff,#07142a 58%,#ff347e);animation:.8s cubic-bezier(.65,0,.2,1) both intro-panel}.intro-hold .intro-exit div:nth-child(2){animation-delay:55ms}.intro-hold .intro-exit div:nth-child(3){animation-delay:.11s}.intro-hold .intro-exit div:nth-child(4){animation-delay:.165s}@keyframes intro-panel{0%{transform:scaleY(0)}38%{transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@keyframes intro-arrive{0%{opacity:0;filter:blur(9px);transform:translateY(26px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes intro-disappear{to{opacity:0;filter:blur(12px);transform:scale(1.07)}}@keyframes intro-ambient{to{opacity:.45;transform:scale(1.15)}}@media (width<=640px){.intro-lab.intro-hold{padding:19px 18px}.intro-hold .intro-header,.intro-hold .intro-footer{letter-spacing:.08em;font-size:8px}.intro-hold .intro-header span:first-child{font-size:14px}.intro-hold .intro-headline{letter-spacing:-.055em!important;font-size:clamp(34px,9vw,58px)!important;line-height:1.17!important}.intro-hold .intro-overline,.intro-hold .intro-instruction{letter-spacing:.12em;font-size:8px}}@media (height<=620px){.intro-hold .intro-stage{padding:8px 0}.intro-hold .intro-overline{margin-bottom:8px}.intro-hold .intro-headline{font-size:clamp(29px,5vw,64px)!important}.intro-hold .intro-portal{width:105px;height:105px;margin-top:12px}.intro-hold .intro-instruction{margin-top:10px}}@media (prefers-reduced-motion:reduce){.intro-hold *,.intro-hold :before,.intro-hold :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.intro-lab.intro-hold.intro-revealing{background:0 0!important}.intro-hold.intro-revealing:before,.intro-hold.intro-revealing .intro-noise,.intro-hold.intro-revealing .intro-header,.intro-hold.intro-revealing .intro-stage,.intro-hold.intro-revealing .intro-footer{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.intro-hold.intro-revealing .intro-exit{visibility:visible!important;opacity:1!important}.intro-hold .intro-exit div{will-change:transform;backface-visibility:hidden}:root{--bg:#080a0f;--panel:#10141d;--line:#242a36;--muted:#818a9d;--accent:#638dff}#root{overflow:hidden}.progress{z-index:1000;background:var(--accent);transform-origin:0;height:3px;position:fixed;top:0;left:0;right:0}.preloader{z-index:900;background:#080a0f;flex-direction:column;justify-content:center;align-items:center;gap:25px;animation:.3s .5s forwards hide-loader;display:flex;position:fixed;inset:0}.preloader>span{letter-spacing:-12px;font-size:100px;font-weight:900}.accent,.logo span{color:var(--accent)}.loading-line{background:#252a37;width:160px;height:2px;overflow:hidden}.loading-line i{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block}.preloader small{letter-spacing:4px;color:var(--muted);font-size:9px}@keyframes hide-loader{to{visibility:hidden;transform:translateY(-105%)}}.navbar{z-index:100;border-bottom:1px solid #ffffff18;justify-content:space-between;align-items:center;width:100%;height:94px;padding:0 6%;display:flex;position:absolute;top:0;left:0}.logo{letter-spacing:-1px;font-size:21px;font-weight:900}.nav-links{gap:39px;display:flex}.nav-links a{color:#aeb6c7;font-size:12px;transition:color .25s}.nav-links a:hover{color:#fff}.nav-contact{letter-spacing:1px;border:1px solid #ffffff35;border-radius:50px;align-items:center;gap:14px;padding:13px 18px;font-size:11px;font-weight:800;transition:background .25s;display:flex}.nav-contact:hover{background:#ffffff18}.menu-toggle{color:#fff;background:0 0;border:0;display:none}.hero{background:radial-gradient(at 78% 46%,#142650 0%,#0000 42%),#080a0f;align-items:center;height:min(950px,100svh);min-height:680px;padding:100px 10% 65px;display:flex;position:relative}.hero-glow{pointer-events:none;border:1px solid #4269ad28;border-radius:50%;width:550px;height:550px;position:absolute;top:16%;right:3%;box-shadow:0 0 130px #315fbe13,inset 0 0 100px #315fbe10}.hero-content{z-index:2;width:100%;position:relative}.eyebrow,.section-meta{letter-spacing:2px;color:#9ba5b8;align-items:center;gap:15px;font-size:10px;font-weight:700;display:flex}.status-dot{background:#7adab6;border-radius:50%;width:7px;height:7px;box-shadow:0 0 15px #7adab6}.eyebrow-line{background:#647088;width:55px;height:1px}.hero-intro{letter-spacing:3px;color:#b6bed0;margin:70px 0 14px;font-size:13px;font-weight:600}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.085em;font-weight:900;line-height:.91}h1{margin-bottom:40px;font-size:clamp(80px,11.8vw,190px)}.outline{color:#0000;-webkit-text-stroke:1px #a1aabd}.hero-bottom{justify-content:space-between;align-items:end;max-width:890px;display:flex}.hero-bottom p{color:#aab4c6;max-width:440px;font-size:15px;line-height:1.8}.round-arrow{border:1px solid #66738e;border-radius:50%;place-items:center;width:72px;height:72px;transition:background .3s,transform .3s;display:grid}.round-arrow:hover{background:var(--accent);transform:rotate(-45deg)}.hero-footer{color:#8d97a9;letter-spacing:2px;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:36px;left:6%;right:6%}.hero-side{writing-mode:vertical-rl;letter-spacing:3px;color:#68748a;font-size:10px;position:absolute;top:43%;right:2%}.marquee{border-block:1px solid var(--line);background:#0e121b;padding:20px 0;overflow:hidden}.marquee-track{width:max-content;animation:35s linear infinite marquee;display:flex}.marquee-track span{white-space:nowrap;letter-spacing:4px;color:#b0b8ca;font-size:13px;font-weight:800}.marquee-track b{color:#638dff;padding:0 38px}@keyframes marquee{to{transform:translate(-50%)}}.section{border-bottom:1px solid var(--line);padding:120px 8%}.section-meta{border-bottom:1px solid #303746;justify-content:space-between;margin-bottom:75px;padding-bottom:25px}.section h2{margin-bottom:50px;font-size:clamp(62px,8.5vw,135px)}.about-grid{grid-template-columns:1fr 1fr;gap:10%;display:grid}.about-copy{padding-top:18px}.tiny-label{color:#7b9dff;letter-spacing:2px;font-size:11px}.about-copy p{color:#a4aebf;margin:35px 0;font-size:clamp(18px,2vw,26px);line-height:1.55}.about-copy p strong{color:#fff}.about-facts{gap:38px;margin-top:55px;display:flex}.about-facts div{flex-direction:column;gap:9px;display:flex}.about-facts strong{letter-spacing:-2px;font-size:35px}.about-facts span{letter-spacing:1px;color:#8792a5;font-size:9px}.work-heading{justify-content:space-between;align-items:end;display:flex}.work-heading p{color:#9ca7b9;max-width:300px;line-height:1.7}.projects{gap:25px;display:grid}.project-card{background:#121720;border:1px solid #28303e;grid-template-columns:1.12fr 1fr;min-height:475px;transition:border-color .4s,transform .4s;display:grid;overflow:hidden}.project-card:hover{border-color:#6884b5;transform:translateY(-5px)}.project-visual{background:radial-gradient(circle at center,color-mix(in srgb,var(--project-color) 35%,#0b1019),#101723 65%);place-items:center;min-height:420px;display:grid;position:relative;overflow:hidden}.project-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000 49%,#ffffff08 50%) 0 0/100% 5px;position:absolute;inset:0}.project-visual-label,.visual-corner{z-index:3;letter-spacing:2px;color:#c1c9db;font-size:10px;position:absolute;top:28px;left:30px}.visual-corner{top:auto;bottom:28px}.visual-orbit{border:1px solid color-mix(in srgb,var(--project-color) 55%,transparent);border-radius:50%;width:330px;height:330px;position:absolute;transform:rotateX(65deg)rotate(-35deg)}.orbit-two{width:440px;height:440px;transform:rotateY(60deg)rotate(30deg)}.project-graphic{letter-spacing:-.12em;color:#e8edff;text-shadow:0 0 90px var(--project-color);z-index:2;font-size:clamp(95px,13vw,190px);font-weight:900;transition:transform .6s}.project-card:hover .project-graphic{transform:scale(1.13)rotate(-5deg)}.project-details{flex-direction:column;padding:42px;display:flex}.project-top,.project-bottom{letter-spacing:2px;color:#9ca8bd;justify-content:space-between;font-size:10px;display:flex}.project-details h3{letter-spacing:-.055em;margin:75px 0 23px;font-size:clamp(32px,3.8vw,57px);line-height:1.02}.project-details h3 em{color:#8698c2;font-style:normal}.project-details>p{color:#9da8bb;max-width:430px;font-size:13px;line-height:1.8}.tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.tags span{color:#c4cede;border:1px solid #39445a;border-radius:50px;padding:8px 12px;font-size:10px}.project-bottom{border-top:1px solid #313949;margin-top:auto;padding-top:23px}.github-row{justify-content:space-between;align-items:center;margin-top:55px;display:flex}.github-row p{color:#929caf}.github-row a{letter-spacing:1px;align-items:center;gap:13px;font-size:12px;font-weight:800;display:flex}.skill-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.skill{letter-spacing:.3px;background:#10141d;border:1px solid #2b3342;justify-content:space-between;align-items:end;min-height:105px;padding:20px;font-size:13px;font-weight:800;display:flex}.skill span{color:#68758c;align-self:start;font-size:10px}.timeline-item{border-bottom:1px solid #313847;grid-template-columns:1fr 2fr auto;gap:25px;padding:36px 0;display:grid}.timeline-item>span{letter-spacing:1.5px;color:#8c9ab3;font-size:11px}.timeline-item h3{letter-spacing:-1px;margin-bottom:10px;font-size:25px}.timeline-item p{color:#8d98ad;font-size:13px}.contact{background:#0c1220;padding:110px 8% 130px;position:relative;overflow:hidden}.contact-glow{filter:blur(110px);pointer-events:none;background:#274fbd35;border-radius:50%;width:750px;height:750px;position:absolute;bottom:-350px;right:-180px}.contact>:not(.contact-glow){position:relative}.contact-overline{color:#a6b7d7;letter-spacing:3px;margin-bottom:40px;font-size:12px}.contact h2{letter-spacing:-.085em;margin-bottom:85px;font-size:clamp(75px,11vw,180px);line-height:.95}.contact-bottom{justify-content:space-between;align-items:end;gap:30px;display:flex}.email-link{letter-spacing:-.5px;overflow-wrap:anywhere;border-bottom:1px solid #9eacc8;align-items:center;gap:15px;padding-bottom:15px;font-size:clamp(14px,2vw,24px);font-weight:700;display:flex}.contact-bottom p{color:#a1aec3;max-width:290px;font-size:13px;line-height:1.8}footer{justify-content:space-between;align-items:center;gap:20px;padding:40px 6%;display:flex}footer>span{letter-spacing:1px;color:#7d8799;font-size:10px}footer>div{gap:22px;display:flex}footer>div a{letter-spacing:1px;align-items:center;gap:7px;font-size:10px;display:flex}@media (width<=900px){.hero{padding-inline:7%}.hero h1{font-size:clamp(72px,12vw,120px)}.about-grid{gap:4%}.project-card{grid-template-columns:1fr}.project-visual{min-height:380px}.project-details h3{margin-top:35px}.project-bottom{margin-top:45px}.skill-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.navbar{height:76px;padding:0 6%}.nav-contact{display:none}.menu-toggle{display:block}.nav-links{background:#111724;border-bottom:1px solid #354057;flex-direction:column;gap:25px;padding:30px;display:none;position:absolute;top:76px;left:0;right:0}.nav-links.open{display:flex}.hero{height:100svh;min-height:650px;padding:100px 7% 80px}.hero-glow{width:300px;height:300px}.eyebrow{letter-spacing:1px;gap:8px;font-size:8px}.eyebrow-line{width:15px}.hero-intro{margin-top:65px;font-size:10px}.hero h1{margin-bottom:35px;font-size:clamp(62px,13.5vw,95px)}.hero-bottom p{max-width:240px;font-size:12px}.round-arrow{flex-shrink:0;width:52px;height:52px}.hero-footer{font-size:8px}.hero-side{display:none}.section{padding:80px 6%}.section-meta{margin-bottom:55px;font-size:8px}.section h2{font-size:clamp(58px,13vw,85px)}.about-grid{grid-template-columns:1fr;gap:0}.about-copy p{font-size:19px}.about-facts{gap:20px}.about-facts strong{font-size:29px}.about-facts span{font-size:8px}.work-heading{display:block}.work-heading p{margin-bottom:30px}.project-visual{min-height:300px}.project-graphic{font-size:120px}.project-details{padding:25px}.project-details h3{font-size:37px}.github-row{flex-direction:column;align-items:start;gap:15px}.skill-grid{grid-template-columns:repeat(2,1fr)}.skill{min-height:95px;padding:12px;font-size:11px}.timeline-item{grid-template-columns:1fr auto;gap:15px}.timeline-item>span{grid-column:1/-1}.timeline-item h3{font-size:20px}.contact{padding:80px 6%}.contact h2{font-size:clamp(62px,13vw,90px)}.contact-bottom{flex-direction:column;align-items:start}.email-link{font-size:14px}footer{flex-wrap:wrap}footer>span{order:3;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.project-card{--mx:50%;--my:50%;--rx:0deg;--ry:0deg;isolation:isolate;transform:perspective(1400px) rotateX(var(--rx)) rotateY(var(--ry));will-change:transform;transition:transform .18s ease-out,border-color .35s,box-shadow .35s;position:relative}.project-card:hover{transform:perspective(1400px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px);border-color:#7294df;box-shadow:0 25px 85px #0005}.project-card:after{content:"";z-index:5;pointer-events:none;background:radial-gradient(550px circle at var(--mx) var(--my), #87aaff16, transparent 65%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.project-card:hover:after{opacity:1}.project-visual{isolation:isolate}.project-graphic{transition:transform .65s cubic-bezier(.22,1,.36,1),filter .65s}.project-card:hover .project-graphic{filter:drop-shadow(0 0 35px var(--project-color));transform:translateY(-9px)scale(1.08)rotate(-3deg)}.round-arrow,.nav-contact,.github-row a,.email-link{transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s,color .35s}.github-row a:hover,.email-link:hover{color:#92b0ff;transform:translate(6px)}.nav-contact:hover{transform:translateY(-3px)}.skill{transition:border-color .3s;position:relative;overflow:hidden}.skill:hover{border-color:#6b8edc}.skill:after{content:"";background:linear-gradient(90deg,#0000,#7299ff);width:100%;height:2px;transition:left .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:-100%}.skill:hover:after{left:0}@media (width<=768px){.project-card,.project-card:hover{will-change:auto;transform:none}.project-card:after{display:none}}@media (prefers-reduced-motion:reduce){.project-card,.project-card:hover{will-change:auto;transform:none}.project-card:after{display:none}.project-graphic,.project-card:hover .project-graphic{filter:none;transform:none}}.project-card[role=button]{cursor:pointer}.project-card[role=button]:focus-visible{outline-offset:5px;outline:2px solid #8faaff}.project-card[role=button]:focus-visible:after{opacity:1}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body,a,button{cursor:auto}a,button,.project-card[role=button]{cursor:pointer}.project-card{will-change:auto}.project-card:hover{will-change:transform}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--bg:#050507;--panel:#0d0d14;--line:#292938;--muted:#9696ac;--accent:#008cff;--rose:#ff286c;--blue:#008cff;--ice:#f7f7ff}html{background:var(--bg)}body{background:var(--bg);color:var(--ice)}::selection{color:#fff;background:#ff286c}::-webkit-scrollbar-track{background:#050507}::-webkit-scrollbar-thumb{background:linear-gradient(#008cff,#ff286c)}#root{background:var(--bg)}.progress{background:linear-gradient(90deg,#008cff,#a34aff,#ff286c);height:3px}.preloader{background:#050507}.preloader>span{color:#fff;text-shadow:0 0 35px #008cff77,0 0 80px #ff286c44}.loading-line i{background:linear-gradient(90deg,#008cff,#ff286c)}.navbar{-webkit-backdrop-filter:blur(18px);background:#050507d9;border-bottom:1px solid #ffffff16;height:90px}.logo{letter-spacing:-1.5px;font-size:23px}.logo span{color:var(--rose)}.nav-links a{color:#a7a7b9;text-transform:uppercase;letter-spacing:1px;font-weight:700;position:relative}.nav-links a:after{content:"";background:var(--rose);width:0;height:2px;transition:width .25s;position:absolute;bottom:-9px;left:0}.nav-links a:hover:after{width:100%}.nav-contact{background:var(--blue);border:1px solid var(--blue);color:#fff;border-radius:3px;box-shadow:0 0 28px #008cff35}.nav-contact:hover{background:var(--rose);border-color:var(--rose);box-shadow:0 0 30px #ff286c55}.hero{isolation:isolate;background:radial-gradient(at 86% 36%,#008cff22,#0000 36%),radial-gradient(at 8% 85%,#ff286c12,#0000 40%),#050507;height:min(1000px,100svh);min-height:760px;padding:130px 9% 90px;position:relative}.noir-grid{pointer-events:none;z-index:0;opacity:.28;background-image:linear-gradient(#4d4d6628 1px,#0000 1px),linear-gradient(90deg,#4d4d6628 1px,#0000 1px);background-size:65px 65px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 35%,#000);mask-image:linear-gradient(90deg,#0000,#000 35%,#000)}.hero-glow{border:1px solid #008cff35;width:540px;height:540px;top:14%;right:3%;box-shadow:0 0 130px #008cff18,inset 0 0 100px #008cff12}.noir-orb{pointer-events:none;filter:blur(60px);opacity:.5;border-radius:50%;position:absolute}.noir-orb-blue{background:#008cff40;width:240px;height:240px;top:30%;right:13%}.noir-orb-rose{background:#ff286c40;width:140px;height:140px;bottom:12%;right:28%}.hero-content{max-width:1300px}.eyebrow{color:#ff568c;letter-spacing:2.5px;font-size:11px}.status-dot{background:var(--rose);box-shadow:0 0 17px var(--rose)}.hero-intro{color:#c4c4d3;letter-spacing:3px;margin-top:70px;font-size:12px}.hero h1{letter-spacing:-.09em;text-transform:uppercase;max-width:1250px;margin-bottom:55px;font-size:clamp(68px,9.2vw,145px);line-height:.96;position:relative}.hero h1 .outline{color:#0000;-webkit-text-stroke:1.5px #ff286c;filter:drop-shadow(0 0 13px #ff286c35)}.gradient-text{color:#0000;background:linear-gradient(100deg,#fff 0%,#008cff 45%,#ff286c 100%);-webkit-background-clip:text;background-clip:text}.hero-bottom{gap:35px;max-width:940px}.hero-bottom p{color:#aaaabe;max-width:520px;font-size:16px}.round-arrow{border:1px solid var(--rose);color:var(--rose);background:#ff286c12;box-shadow:0 0 25px #ff286c20}.round-arrow:hover{background:var(--rose);color:#fff}.noir-hero-index{color:#8f90a8;letter-spacing:2px;flex-direction:column;align-items:flex-end;gap:12px;font-size:10px;display:flex;position:absolute;bottom:95px;right:6%}.noir-hero-index strong{color:var(--rose);letter-spacing:-1px;font-size:25px}.hero-side{color:var(--rose)}.hero-footer{color:#7f8097}.marquee{background:var(--blue);z-index:3;border:0;padding:17px 0;position:relative;transform:rotate(-1deg)scale(1.015)}.marquee-track span{color:#fff;font-size:12px}.marquee-track b{color:#ffb0c9}.section{border-color:#ffffff16;padding:135px 8%}.section-meta{color:#ff568c;border-color:#fff2}.section h2{font-size:clamp(60px,8vw,125px)}.muted{color:#626276}.about{background:radial-gradient(at 100% 80%,#ff286c0b,#0000 45%),#050507}.about-grid{gap:8%}.about-copy p{color:#aaaabd}.about-facts{border-top:1px solid #ffffff20;padding-top:25px}.about-facts strong{color:var(--blue);text-shadow:0 0 25px #008cff35}.tiny-label{color:var(--rose)}.work{background:#08080e}.work-heading h2 .outline{-webkit-text-stroke:1px var(--rose)}.projects{gap:35px}.project-card{background:#0c0c14;border:1px solid #303040;border-radius:3px;box-shadow:0 15px 55px #0005}.project-card:nth-child(odd){border-left:2px solid var(--blue)}.project-card:hover{border-color:var(--rose);box-shadow:0 25px 75px #0008,0 0 32px #ff286c15}.project-visual{background:radial-gradient(circle at center, color-mix(in srgb, var(--project-color) 30%, #090910), #080810 72%)}.project-visual-label{color:#d7d7e6}.visual-corner{color:var(--rose)}.project-graphic{text-shadow:0 0 45px var(--project-color), 0 0 100px #008cff30}.project-details{background:linear-gradient(135deg,#11111b,#08080d)}.project-top{color:var(--rose)}.project-details h3 em{color:#6daeff}.project-details>p{color:#a9a9bc}.tags span{color:#b4d8ff;background:#008cff0b;border:1px solid #008cff55}.project-bottom{border-color:#ffffff20}.project-bottom svg{color:var(--rose)}.github-row a{color:var(--blue)}.expertise{background:radial-gradient(at 95% 10%,#ff286c12,#0000 40%),radial-gradient(at 0 90%,#008cff13,#0000 45%),#050507}.skill-grid{gap:14px}.skill{background:#101018;border:1px solid #323243;border-radius:2px;min-height:120px;transition:background .25s,border-color .25s,transform .25s}.skill:nth-child(3n+1){border-top:2px solid var(--rose)}.skill:nth-child(3n+2){border-top:2px solid var(--blue)}.skill:hover{border-color:var(--rose);background:#181423;box-shadow:0 0 25px #ff286c13}.skill svg{color:var(--rose)}.skill:after{background:linear-gradient(90deg, var(--blue), var(--rose))}.journey{background:#090910}.timeline-item{border-color:#ffffff1d}.timeline-item>span{color:var(--rose)}.timeline-item svg{color:var(--blue)}.contact{background:radial-gradient(at 80% 65%,#ff286c18,#0000 40%),radial-gradient(at 15% 20%,#008cff16,#0000 45%),#07070d;border-top:1px solid #ff286c44}.contact-glow{background:#ff286c28}.contact-overline{color:var(--rose)}.email-link{border-color:var(--rose)}.contact-action-primary{background:var(--blue);border-radius:3px;box-shadow:0 0 25px #008cff30}.contact-action-primary:hover{background:var(--rose)}.contact-action-secondary{border-color:var(--rose);border-radius:3px}footer{background:#030305;border-top:1px solid #ffffff16}footer>div a:hover{color:var(--rose)}@media (width<=900px){.noir-hero-index{display:none}.hero h1{font-size:clamp(65px,10vw,115px)}}@media (width<=640px){.navbar{height:76px}.nav-links.open{border-bottom:1px solid var(--rose);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#090910f5}.hero{height:auto;min-height:690px;padding:145px 6% 105px}.hero h1{letter-spacing:-.075em;overflow-wrap:normal;font-size:clamp(46px,11vw,74px);line-height:1.02}.hero-intro{margin-top:55px}.hero-bottom{align-items:center}.hero-bottom p{font-size:13px}.noir-orb-blue{width:150px;height:150px;top:30%;right:-30px}.noir-orb-rose{width:100px;height:100px}.section{padding:85px 6%}.section h2{font-size:clamp(51px,11vw,80px)}.project-card{border-left:1px solid #303040}.project-details h3{font-size:37px}.skill{min-height:100px}.contact h2{font-size:clamp(47px,10vw,80px)}}@media (prefers-reduced-motion:reduce){.noir-orb{filter:none;opacity:.2}}.hero-content{z-index:2;pointer-events:none;position:relative}.hero-content a,.hero-content button{pointer-events:auto}.v3-hero-scene{z-index:1}@media (width<=640px){.hero-content{pointer-events:auto}}.hero .hero-content h1{letter-spacing:-.075em;max-width:100%;margin-bottom:48px;font-size:clamp(64px,8.2vw,132px);line-height:1.12}.hero .hero-content h1 .outline,.hero .hero-content h1 .gradient-text{vertical-align:baseline;display:inline-block}@media (width<=1100px){.hero .hero-content h1{letter-spacing:-.065em;font-size:clamp(54px,8vw,100px);line-height:1.13}}@media (width<=640px){.hero .hero-content h1{letter-spacing:-.055em;margin-bottom:35px;font-size:clamp(38px,10vw,65px);line-height:1.17}}@media (width<=380px){.hero .hero-content h1{font-size:clamp(32px,9.4vw,40px);line-height:1.2}}:root{--v7-blue:#008cff;--v7-rose:#ff286c;--v7-text:#ededf5}:where(a,button,input,textarea,select,[role=button]):focus-visible{outline-offset:4px;outline:2px solid #69baff}:where(button,input,textarea,select){font:inherit}:where(button,a){touch-action:manipulation}:where(button):disabled{cursor:not-allowed}.v5-section,.v5-project,.v5-project-copy,.v5-project-visual,.v5-bento-card,.v5-contact,.v5-form{min-width:0}.v5-heading h2,.v5-contact-intro h2,.v5-project h3{overflow-wrap:anywhere}.v5-browser-content img{display:block}.v5-project-copy button{cursor:pointer;min-height:44px}.v5-project-copy button:focus-visible{color:#79c4ff;text-shadow:0 0 12px #008cff59}.v5-heading h2 em,.v5-contact-intro h2 em{text-shadow:0 0 9px #008cff80,0 0 25px #008cff2e}.v5-timeline-date{text-shadow:0 0 10px #008cff4d}.v5-form input,.v5-form textarea{min-height:44px;color:var(--v7-text)}.v5-form textarea{min-height:145px}.v5-form input::placeholder,.v5-form textarea::placeholder{color:#9999ad;opacity:1}.v5-form>button{cursor:pointer;min-height:48px}.v5-form>button:not(:disabled):hover{background:#167cf0}.v5-status{overflow-wrap:anywhere;min-height:18px}.v5-sound{cursor:pointer;justify-content:center;min-width:44px;min-height:44px}.v5-404 a{min-height:48px;transition:background .2s}.v5-404 a:hover{background:#ff286c}@media (width<=768px){html{scroll-padding-top:76px}.v5-section{padding-top:76px;padding-bottom:76px}.v5-project{grid-template-columns:minmax(0,1fr)}.v5-project-visual{padding:18px}.v5-browser{transform:none!important}.v5-form-row{grid-template-columns:minmax(0,1fr)}.v5-form input,.v5-form textarea{font-size:16px}.v5-bento{grid-template-columns:minmax(0,1fr)}.v5-bento-card.v5-wide{grid-column:auto}}@media (prefers-reduced-motion:reduce){.v5-project,.v5-browser,.v5-bento-card,.v5-404 a{transition:none!important}.neon-gradient-text{animation:none!important}}
