.enter-identity-title{display:flex;justify-content:center;flex-wrap:nowrap;pointer-events:auto}.enter-identity{pointer-events:none}.enter-identity-title{pointer-events:auto}.title-letter{display:inline-block;opacity:0;animation:letterFadeInGlitch 7s linear forwards;position:relative;background:linear-gradient(180deg,#f8eff2 30%,#b8c8d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 16px rgba(0,0,0,.25),0 14px 36px rgba(40,2,19,.22)}.title-letter--space{display:inline-block;width:.4em;opacity:1;animation:none}.title-letter:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.3) 2px,rgba(0,0,0,.3) 4px);opacity:0;pointer-events:none;z-index:10}.title-letter--flip{animation:letterFadeInFlipGlitch 4s linear forwards}.title-letter--invert-v{position:relative;top:-.02em;animation:letterFadeInInvertGlitch 7s linear forwards}.title-letter--invert-v:hover{transform:scaleY(-1) translate(2px)}.title-letter:hover{filter:brightness(1.2);transform:translate(2px);transition:filter var(--hover-delay, .08s),text-shadow var(--hover-delay, .08s),transform var(--hover-delay, .08s)}.title-letter:hover:before{opacity:.6;animation:letterScanSweep .3s ease-in-out;animation-delay:var(--hover-delay, .08s)}.title-letter:hover:after{content:attr(data-letter);position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#fff 22%,#4f5858b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;pointer-events:none;opacity:0;animation:longHoverGlitch .6s ease-in-out 1s}.title-letter--flip:hover{transform:scaleX(.95) translate(-2px)}.title-letter--flip:hover:after{transform:scaleX(-1);animation:longHoverGlitchFlip .6s ease-in-out 1s}.title-letter--magenta:hover{text-shadow:3px 0 #ff00ff,-3px 0 #00ffff}.title-letter--cyan:hover{text-shadow:3px 0 #1a73e7,-3px 0 #1ae784}.title-letter--aqua:hover{text-shadow:3px 0 #1ae784,-3px 0 #dc08bc}.title-letter--purple:hover{text-shadow:3px 0 #a783ff,-3px 0 #00ffff}.title-letter--blue:hover{text-shadow:3px 0 #0066ff,-3px 0 #ffee00}.title-letter--orange:hover{text-shadow:3px 0 #ff8c00,-3px 0 #a783ff}.title-letter--pink:hover{text-shadow:3px 0 #ff69b4,-3px 0 #00ffff}.title-letter--green:hover{text-shadow:3px 0 #33ff33,-3px 0 #ff00ff}.enter-identity-title.landing-title--reset .title-letter,.enter-identity-title.landing-title--reset .title-letter--flip,.enter-identity-title.landing-title--reset .title-letter--invert-v{animation:none!important;opacity:0!important}.enter-identity-title.landing-title--replay .title-letter{animation:letterFadeInGlitch 3.5s linear forwards!important;animation-delay:0s!important}.enter-identity-title.landing-title--replay .title-letter--flip{animation:letterFadeInFlipGlitch 2s linear forwards!important;animation-delay:0s!important}.enter-identity-title.landing-title--replay .title-letter--invert-v{animation:letterFadeInInvertGlitch 2s linear forwards!important;animation-delay:0s!important}@keyframes letterFadeInGlitch{0%{opacity:0}5%{opacity:0}5.5%{opacity:1;transform:translate(3px);filter:blur(4px) brightness(1.5);text-shadow:2px 0 #ff00ff,-2px 0 #00ffff;clip-path:ellipse(80% 40% at 50% 50%)}5.8%{opacity:1;transform:translate(-3px);filter:blur(2px) invert(1);text-shadow:4px 0 #ffee00,-4px 0 #0066ff;clip-path:polygon(10% 5%,25% 0%,35% 10%,30% 25%,15% 20%,65% 5%,85% 0%,95% 15%,85% 30%,70% 25%,35% 40%,50% 35%,65% 45%,60% 60%,45% 65%,35% 55%,15% 75%,30% 70%,45% 80%,40% 95%,20% 100%,5% 85%,70% 70%,90% 75%,95% 90%,80% 100%,65% 90%)}6%{opacity:1;transform:translate(100px) skew(-700deg);filter:blur(10px);text-shadow:-3px 0 #ff3333,3px 0 #33ff33,0 0 10px rgba(255,255,255,.5);clip-path:polygon(0 0%,30% 0%,30% 25%,0 25%,40% 5%,70% 5%,70% 30%,40% 30%,75% 0%,100% 0%,100% 20%,75% 20%,10% 40%,50% 40%,50% 65%,10% 65%,55% 45%,95% 45%,95% 70%,55% 70%,0 75%,35% 75%,35% 100%,0 100%,45% 80%,75% 80%,75% 100%,45% 100%,80% 75%,100% 75%,100% 95%,80% 95%)}6.3%{opacity:.6;transform:translate(-50px);filter:blur(3px) invert(.5);text-shadow:-2px 0 #ff00ff,2px 0 #00ffff;clip-path:none}6.5%{opacity:.4;transform:translate(100px);filter:blur(.5px);text-shadow:1px 0 #ffee00,-1px 0 #0066ff;clip-path:none}7%{opacity:1;transform:translate(0);filter:none;text-shadow:none;clip-path:none}40%{opacity:1}to{opacity:1}}@keyframes letterFadeInInvertGlitch{0%{opacity:0;transform:scaleY(-1)}5%{opacity:0;transform:scaleY(-1)}5.5%{opacity:1;transform:scaleY(-1) translate(3px);filter:blur(4px) brightness(1.5);text-shadow:2px 0 #ff00ff,-2px 0 #00ffff;clip-path:ellipse(80% 40% at 50% 50%)}5.8%{opacity:1;transform:scaleY(-1) translate(-3px);filter:blur(2px) invert(1);text-shadow:4px 0 #ffee00,-4px 0 #0066ff;clip-path:none}6%{opacity:1;transform:scaleY(-1) translate(100px) skew(-700deg);filter:blur(10px);text-shadow:-3px 0 #ff3333,3px 0 #33ff33,0 0 10px rgba(255,255,255,.5)}6.3%{opacity:.6;transform:scaleY(-1) translate(-50px);filter:blur(3px) invert(.5)}6.5%{opacity:.4;transform:scaleY(-1) translate(100px);filter:blur(.5px)}7%{opacity:1;transform:scaleY(-1);filter:none;text-shadow:none;clip-path:none}40%{opacity:1;transform:scaleY(-1)}to{opacity:1;transform:scaleY(-1)}}@keyframes letterFadeInFlipGlitch{0%{opacity:0;transform:scaleX(-1)}15%{opacity:1;transform:scaleX(-1)}15.5%{opacity:1;transform:scaleX(-1) translate(-3px);filter:blur(3px) brightness(1.4);text-shadow:3px 0 #ff00ff,-3px 0 #00ffff;clip-path:ellipse(70% 50% at 50% 50%)}16%{opacity:1;transform:scaleX(-1) translate(5px);filter:blur(2px) invert(1);text-shadow:5px 0 #ffee00,-5px 0 #0066ff;clip-path:polygon(5% 10%,30% 5%,35% 25%,15% 30%,60% 0%,90% 10%,85% 35%,55% 30%,20% 45%,45% 40%,50% 65%,25% 70%,55% 50%,80% 45%,85% 70%,60% 75%,10% 80%,35% 75%,40% 100%,5% 95%,50% 80%,75% 85%,70% 100%,55% 95%)}16.5%{opacity:.7;transform:scaleX(-1) translate(2px) skew(10deg);filter:blur(1px) invert(.3);text-shadow:-2px 0 #ff3333,2px 0 #33ff33;clip-path:none}17%{opacity:.1;transform:scaleX(-1);filter:none;text-shadow:none;clip-path:none}50%{opacity:1;transform:scaleX(1)}to{opacity:1;transform:scaleX(1)}}@keyframes letterScanSweep{0%{transform:translateY(100%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes longHoverGlitch{0%{opacity:0;transform:translate(0)}20%{opacity:1;transform:translate(4px);filter:blur(1px)}40%{opacity:.8;transform:translate(-6px);filter:blur(2px)}60%{opacity:.6;transform:translate(8px);clip-path:polygon(0 30%,100% 20%,100% 50%,0 60%)}80%{opacity:.3;transform:translate(-2px);filter:blur(3px)}to{opacity:0;transform:translate(0)}}@keyframes longHoverGlitchFlip{0%{opacity:0;transform:scaleX(-1) translate(0)}20%{opacity:1;transform:scaleX(-1) translate(4px);filter:blur(1px)}40%{opacity:.8;transform:scaleX(-1) translate(-6px);filter:blur(2px)}60%{opacity:.6;transform:scaleX(-1) translate(8px)}80%{opacity:.3;transform:scaleX(-1) translate(-2px)}to{opacity:0;transform:scaleX(-1) translate(0)}}.hero-veil{position:fixed;top:0;left:0;right:0;height:25vh;background:linear-gradient(to bottom,rgba(43,25,85,.96) 0%,rgba(24,30,60,.82) 40%,rgb(21,11,46) 70%,transparent 100%);box-shadow:0 6px 40px #5a00c81f,inset 0 -1px #8a2be226;pointer-events:none;z-index:8000}.hero-section{width:100%;min-height:30vh;display:flex;align-items:center;justify-content:center;margin-top:0;padding-top:13vh;margin-bottom:2rem;position:relative;z-index:2;overflow:visible}.hero-bg-glow{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,#042a497f 0%,#15026c29 60%,transparent 100%);pointer-events:none;filter:blur(20px) brightness(1);will-change:transform,opacity}.hero-content{position:relative;z-index:2;text-align:center;width:min(700px,100%);max-width:700px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;will-change:transform,opacity,filter;transform-style:preserve-3d;backface-visibility:hidden}@property --ht-a{syntax: "<color>"; inherits: true; initial-value: #ffffff;}@property --ht-b{syntax: "<color>"; inherits: true; initial-value: #e4ecf0;}@property --ht-c{syntax: "<color>"; inherits: true; initial-value: #c8d4de;}@property --ht-d{syntax: "<color>"; inherits: true; initial-value: #a8b8c4;}@property --ht-e{syntax: "<color>"; inherits: true; initial-value: #708090;}.hero-title{font-family:tachyon,sans-serif;font-weight:900;font-style:normal;font-size:clamp(2rem,4vw,4rem);background:linear-gradient(to bottom,var(--ht-a) 0%,var(--ht-b) 15%,var(--ht-c) 50%,var(--ht-d) 75%,var(--ht-e) 100%);background-size:100% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-webkit-text-stroke:.3px rgba(187,187,189,.912);letter-spacing:.1em;margin-left:0;margin-bottom:.2em;line-height:1.05;position:relative;display:inline-block;white-space:nowrap;word-break:normal;opacity:.99;cursor:default}.hero-title:hover{cursor:pointer}.hero-title .title-letter{background:linear-gradient(to bottom,var(--ht-a) 0%,var(--ht-b) 15%,var(--ht-c) 50%,var(--ht-d) 75%,var(--ht-e) 100%);background-size:100% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;opacity:1;animation:none}.hero-title.landing-title--reset .title-letter{animation:none!important;opacity:0!important}.hero-title.landing-title--replay .title-letter:not(.title-letter--flip){animation:letterFadeInGlitch 3.5s linear forwards!important}.hero-title.landing-title--replay .title-letter--flip{animation:letterFadeInFlipGlitch 3.5s linear forwards!important}.hero-subtitle{font-family:IBM Plex Sans,sans-serif;font-size:clamp(.95rem,1.4vw,1.35rem);font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-align:center;white-space:nowrap;background:linear-gradient(90deg,#72afff,#4ac1f8d6,#e586cfef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:.5em 0 .8em}.hero-underline{display:block;width:90%;height:3px;margin:.18em 0 1.2em;background:linear-gradient(90deg,#00fff7,#c0f);background-size:200% 100%;border-radius:3px;animation:heroUnderlineSlide 8s ease infinite alternate}@keyframes heroUnderlineSlide{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes heroUnderlineAnim{0%{width:40%;opacity:.7}60%{width:90%;opacity:1}to{width:60%;opacity:.8}}.home-bio{text-align:center;max-width:680px;margin:0 auto 3rem;padding:0 1.5rem;position:relative;z-index:3}.home-bio p{font-family:IBM Plex Mono,monospace;font-size:.8rem;line-height:1.7;color:#ffffff8c;letter-spacing:.04em;margin:0 0 .75rem}.home-bio-link{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#00fff7b3;text-decoration:none;border-bottom:1px solid rgba(0,255,247,.3);padding-bottom:1px;transition:color .2s,border-color .2s}.home-bio-link:hover{color:#00fff7;border-color:#00fff7b3}.projects-scroll-cta{display:block;text-align:center;margin:6rem auto 2rem;position:relative;z-index:3}.hero-cta{display:inline-block;padding:24px 36px;font-family:IBM Plex Mono,monospace;font-size:.95rem;font-weight:400;letter-spacing:1em;text-transform:uppercase;color:#ffffffbf;text-decoration:none;cursor:pointer;margin-top:.5rem;border-radius:4px;position:relative;background:none;box-shadow:none;transition:all .3s cubic-bezier(.25,.46,.45,.94);mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}.hero-cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;z-index:-1;background:linear-gradient(145deg,#221d27,#000),radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 50%),radial-gradient(circle at 70% 70%,rgba(0,0,0,.5),transparent 50%),linear-gradient(45deg,#8a2be20d,#00d4ff0d,#8a2be20d);background-size:100% 100%,150% 150%,150% 150%,200% 200%;background-blend-mode:overlay,multiply,overlay;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px #0009,inset 0 1px 2px #ffffff1a,0 0 12px #00d4ff1f}.hero-cta:hover{color:#00fff7;text-shadow:0 0 10px rgba(0,255,247,.5)}.hero-cta:hover:before{box-shadow:0 4px 16px #000000b3,inset 0 1px 2px #ffffff26,0 0 20px #00fff74d}.hero-cta:active{transform:scale(.97);transition:all .1s ease}.title-inverted-v{display:inline-block;position:relative;top:-.02em;transform:scaleY(-1);transform-origin:center 50%;background:linear-gradient(to bottom,var(--ht-a) 0%,var(--ht-b) 15%,var(--ht-c) 50%,var(--ht-d) 75%,var(--ht-e) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;cursor:pointer;transition:transform .4s ease}.title-inverted-v:hover{transform:scaleY(1)}@media (min-width: 901px){.hero-subtitle{font-size:.72rem}}@media (min-width: 1200px){.hero-subtitle{font-size:.95rem}}@media (min-width: 1400px){.hero-subtitle{font-size:1.07rem}}@media (min-width: 1000px) and (max-width: 1199px){.hero-section{padding-top:9vh}}@media (max-width: 900px){.hero-section{min-height:20vh;padding-top:7vh;margin-bottom:1rem}.hero-content{transform:none;margin:0 auto;text-align:center}.hero-title{font-size:clamp(2rem,5.5vw,3rem);margin-left:0}.hero-subtitle{font-size:.75rem;letter-spacing:.1em;white-space:normal}.home-bio{max-width:520px}.hero-veil{height:13vh;background:linear-gradient(to bottom,rgba(20,10,45,.75) 0%,rgba(16,9,38,.6) 40%,rgba(14,8,32,.4) 70%,transparent 100%);box-shadow:none}}@media (max-width: 600px){.hero-section{min-height:auto;padding-top:3vh;margin-bottom:.5rem}.hero-content{margin:6vh auto 0;text-align:center;align-items:center;justify-content:center;width:100%;max-width:100%}.hero-title{font-size:clamp(1.1rem,6.5vw,2rem);letter-spacing:.06em;margin-left:0}.title-inverted-v{top:-.01em}.hero-subtitle{font-size:clamp(calc(.48rem - 1.6px),2.9vw,calc(.699rem - 1.5px));letter-spacing:.04em;white-space:nowrap;text-align:center}.hero-underline{width:82%;transform:translate(0)}.hero-cta{font-size:1rem;padding:11px 28px;letter-spacing:.5em}.projects-scroll-cta{margin:0 auto 1rem;transform:translateY(calc(7rem - 4px))}.home-bio{max-width:100%;padding:0 1.25rem}.home-bio p{font-size:.75rem}}.projects-section{padding:4rem 3rem 8rem;max-width:1200px;margin:0 auto;position:relative;z-index:2;counter-reset:project-counter}.projects-section:before{content:"";position:absolute;right:0;bottom:0;left:0;top:-80px;left:calc(-50vw + 50%);width:100vw;background:#070a1873;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:linear-gradient(to bottom,transparent 0px,rgba(0,0,0,.1) 60px,rgba(0,0,0,.6) 140px,black 280px);-webkit-mask-image:linear-gradient(to bottom,transparent 0px,rgba(0,0,0,.1) 60px,rgba(0,0,0,.6) 140px,black 280px);z-index:-1;pointer-events:none}.project-row{display:flex;align-items:center;gap:3.5rem;padding:3rem 0;border-bottom:1px solid rgba(233,24,24,.04);position:relative;counter-increment:project-counter}.project-row:before{content:counter(project-counter,decimal-leading-zero);position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:Audiowide,sans-serif;font-size:clamp(4.5rem,9vw,8rem);color:#ffffff0a;pointer-events:none;z-index:0;line-height:1;-webkit-user-select:none;user-select:none}.project-row:last-child{border-bottom:none}.project-row--right{flex-direction:row-reverse}.project-card-link{flex:0 0 48%;display:block;text-decoration:none;border-radius:12px;transition:box-shadow .35s ease;transform-style:preserve-3d;will-change:transform}.project-card-link:hover{box-shadow:0 0 0 2px var(--card-accent, #00fff7),0 0 28px color-mix(in srgb,var(--card-accent, #00fff7) 30%,transparent)}.project-card-media{overflow:hidden;border-radius:12px;position:relative;transform:translateZ(0)}.project-row--left .project-card-media{-webkit-mask-image:linear-gradient(to right,black 55%,transparent 92%);mask-image:linear-gradient(to right,black 55%,transparent 92%)}.project-row--right .project-card-media{-webkit-mask-image:linear-gradient(to left,black 55%,transparent 92%);mask-image:linear-gradient(to left,black 55%,transparent 92%)}.project-card-media img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;filter:brightness(.82);transform:scale(1.14) translateY(var(--py, 0px));transition:filter .5s ease,transform .5s ease;will-change:transform}.project-row--left .project-card-link:hover .project-card-media img{transform:scale(1.18) translate(12px) translateY(var(--py, 0px));filter:brightness(1.05)}.project-row--right .project-card-link:hover .project-card-media img{transform:scale(1.18) translate(-12px) translateY(var(--py, 0px));filter:brightness(1.05)}.project-card-info{flex:0 0 40%;display:flex;flex-direction:column;gap:1rem;padding-left:2.5rem;border-left:2px solid var(--card-accent, #00fff7);position:relative;z-index:1}.project-card-info[data-meta]:before{content:attr(data-meta);font-family:IBM Plex Mono,monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff47;display:block}.project-row--right .project-card-info{border-left:none;border-right:2px solid var(--card-accent, #00fff7);padding-left:0;padding-right:2.5rem;text-align:right;align-items:flex-end}.project-card-title{font-family:IBM Plex Sans,sans-serif;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#ffffffbf;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.9),0 0 30px rgba(0,0,0,.7)}.project-card-description{font-family:IBM Plex Sans,sans-serif;font-size:clamp(.95rem,1.6vw,1.15rem);letter-spacing:.12em;background:linear-gradient(90deg,var(--card-accent, #00fff7),#ea47ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.95))}.project-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:.5rem}.project-card-cta{display:inline-block;font-family:IBM Plex Sans,sans-serif;font-size:.95rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:#ffffff80;transition:color .3s ease,letter-spacing .3s ease}.project-card-cta:hover{color:var(--card-accent, #00fff7);letter-spacing:.32em}.project-card-github{display:flex;align-items:center;color:#ffffff59;transition:color .3s ease}.project-card-github:hover{color:var(--card-accent, #00fff7)}.project-card-github svg{width:32px;height:32px}.project-card-label{position:absolute;top:1rem;left:1rem;font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:color-mix(in srgb,var(--card-accent, #00fff7) 90%,white);padding:.3rem .7rem;border:1px solid color-mix(in srgb,var(--card-accent, #00fff7) 30%,transparent);border-radius:4px;background:#0000008c;z-index:3}.project-row{opacity:0;transition:opacity .7s ease}.project-row.cinematic-visible{opacity:1;transform:perspective(1200px) rotateX(var(--scroll-tilt, 0deg));transition:opacity .7s ease}.project-row.cinematic-visible:has(+.project-row:hover){opacity:.2;scale:.9;filter:blur(1.9px);transition:opacity .65s ease,scale .65s ease,filter .65s ease}.project-card-demo{display:inline-flex;align-items:center;gap:.35em;font-family:IBM Plex Sans,sans-serif;font-size:.95rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:#d60f0f47;transition:color .3s ease,letter-spacing .3s ease}.project-card-demo svg{width:1em;height:1em;flex-shrink:0;transition:color .3s ease}.project-card-demo:hover{color:#ff3e3e;letter-spacing:.28em}.project-card-coming-soon{display:inline-block;font-family:IBM Plex Sans,sans-serif;font-size:.6rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:#ffffff89;margin-top:.4rem;animation:comingSoonPulse 2.8s ease-in-out infinite alternate}@keyframes comingSoonPulse{0%{opacity:.25}to{opacity:.55}}.project-card-desktop-note{display:none}.project-row--pneuma{--card-accent: #00d5ffb8}.project-row--pneuma .project-card-media img{filter:brightness(1)}.project-row--la-dolce-vita{--card-accent: #ff9ec8d2}.project-row--numeneon{--card-accent: #9050ffcf}.project-row--xenochi{--card-accent: #ff8c00c9}.project-row--pneumata{--card-accent: #aa55ff}.project-row--manifold{--card-accent: #007bff}.project-row--tic-trap-toe{--card-accent: #5500ff}.project-row--nucat{--card-accent: #00ff88}.project-row--dojo-crud{--card-accent: #ff4500}.project-row--bookshelf{--card-accent: #ffd700}.project-row--instvnce{--card-accent: #a8f0ac}.project-img--bright{filter:brightness(1.05)}@media (min-width: 1000px){.projects-section{padding:5rem 5rem 10rem;max-width:1500px}.project-row{gap:5rem;padding:4rem 0}.project-card-info{padding-left:3.5rem}.project-row--right .project-card-info{padding-right:3.5rem}}@media (min-width: 769px){.project-card-title{transform:translate(var(--depth-x, 0px),calc(var(--depth-y, 0px) * .6))}.project-card-description{transform:translate(calc(var(--depth-x, 0px) * .6),calc(var(--depth-y, 0px) * .4))}.project-card-actions{transform:translate(calc(var(--depth-x, 0px) * .3),calc(var(--depth-y, 0px) * .2))}}@media (max-width: 900px){.projects-section:before{backdrop-filter:none;-webkit-backdrop-filter:none}.projects-section{padding:3rem 2rem 5rem}.project-row{gap:3rem;padding:3.5rem 0}.project-card-link{flex:0 0 50%}.project-card-info{flex:0 0 46%;padding-left:1.5rem}.project-row--right .project-card-info{padding-right:1.5rem}}@media (max-width: 768px){.project-row{filter:none;translate:0 30px;scale:.9}.project-row.cinematic-visible{transform:none}.project-row.cinematic-visible:has(+.project-row.scroll-active){opacity:.25;scale:.93;transition:opacity .5s ease,scale .5s ease}}@media (max-width: 600px){.projects-section{padding:.5rem 1.7rem 4rem}.project-row,.project-row--right{flex-direction:column;gap:1.5rem;padding:2.5rem 0}.project-row:nth-child(2n):before{right:auto;left:0}.project-card-link{flex:none;width:100%}.project-card-media img{aspect-ratio:21 / 9}.project-card-title{font-size:1.4rem}.project-card-description{font-size:.9rem}.project-card-info{flex:none;width:100%;padding-left:1.25rem;padding-right:0;border-right:none;border-left:2px solid var(--card-accent, #00fff7);text-align:left;align-items:flex-start}.project-row--left .project-card-media,.project-row--right .project-card-media{-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 60%,transparent 100%)}.project-card-cta--desktop-only{display:none}.project-card-desktop-note{display:inline-block;font-family:IBM Plex Sans,sans-serif;font-size:.6rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:#ffffff38}}@media (prefers-reduced-motion: reduce){.projects-section:before{backdrop-filter:none;-webkit-backdrop-filter:none}.project-row{opacity:1!important;translate:none!important;scale:1!important;transform:none!important;filter:none!important;transition:none!important}.project-card-title,.project-card-description,.project-card-actions{transform:none!important}.project-card-coming-soon{animation:none;opacity:.4}}body.complementary-colors{color:#000;background:linear-gradient(65deg,#f0a,#c0f,#0df,#0fe,#0f8,#ff0,#f60,#c0f,#0ef,#0fb,#ff3)}body.complementary-colors ::-webkit-scrollbar-track{background:#e5e5e5}body.complementary-colors ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00ff91,#7cc713,#f8bd60,#edb459,#a9ee68,#69f23b);border:2px solid #fff}body.complementary-colors #waves{position:fixed;top:50%;left:0;transform:translateY(-50%);z-index:1}body.complementary-colors .hero-title{--ht-a: #0c0e0f;--ht-b: #090b0c;--ht-c: #010407;--ht-d: #0b0d0f;--ht-e: #060809;background:linear-gradient(to bottom,var(--ht-a) 0%,var(--ht-b) 25%,var(--ht-c) 50%,var(--ht-d) 75%,var(--ht-e) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.3px rgba(0,0,0,.45);text-shadow:none;animation:none}body.complementary-colors .hero-title .title-inverted-v{background:linear-gradient(to bottom,#0c0e0f,#090b0c 15%,#010407 50%,#0b0d0f,#060809);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}body.complementary-colors .hero-title{font-weight:900}body.complementary-colors .hero-subtitle{background:#fff;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.marquee-belt{width:100%;overflow:hidden;padding:1rem 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);margin:1.5rem 0 2.5rem;cursor:default;position:relative;z-index:5}.marquee-track{display:flex;width:max-content;animation:marquee-scroll 80s linear infinite;will-change:transform}.marquee-belt:hover .marquee-track{animation-play-state:paused}.marquee-content{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:#ffffff4d;white-space:nowrap;padding-right:3rem;-webkit-user-select:none;user-select:none}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width: 600px){.marquee-belt{margin-top:8.5rem;margin-bottom:-2rem}}@media (min-width: 1000px){.marquee-belt{padding:1.6rem 0;margin:2rem 0 3.5rem}.marquee-content{font-size:.85rem;letter-spacing:.32em}}@media (min-width: 1000px) and (max-width: 1199px){.marquee-belt{margin-top:-.5rem}}@media (min-width: 1400px){.marquee-belt{margin-top:.5rem}}
