*{box-sizing:border-box;margin:0;padding:0}body{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28"><defs><filter id="glow1" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="3.5" result="coloredBlur"/><feMerge><feMergeNode in="coloredBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter><linearGradient id="orange1" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:%23ffee77;stop-opacity:1" /><stop offset="100%" style="stop-color:%23ffb700;stop-opacity:1" /></linearGradient></defs><path transform="translate(2 2)" d="M3 3L21 12L12 15L9 21L3 3Z" fill="url(%23orange1)" stroke="%23804000" stroke-width="1.5" filter="url(%23glow1)"/></svg>') 5 5,auto}a,button{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><defs><filter id="glow2" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="4.5" result="coloredBlur"/><feMerge><feMergeNode in="coloredBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter><linearGradient id="orange2" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:%23fff088;stop-opacity:1" /><stop offset="50%" style="stop-color:%23ffc344;stop-opacity:1" /><stop offset="100%" style="stop-color:%23ffaa22;stop-opacity:1" /></linearGradient></defs><path transform="translate(2 2)" d="M3 3L23 13L13 16L10 23L3 3Z" fill="url(%23orange2)" stroke="%23663300" stroke-width="2" filter="url(%23glow2)"/><circle cx="10" cy="10" r="1.5" fill="%23ffffff" opacity="0.9"><animate attributeName="opacity" values="0.6;1;0.6" dur="1.8s" repeatCount="indefinite"/></circle></svg>') 5 5,pointer}a:active,button:active{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26"><defs><filter id="glow3" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="5" result="coloredBlur"/><feMerge><feMergeNode in="coloredBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter><linearGradient id="orange3" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:%23fff599;stop-opacity:1" /><stop offset="50%" style="stop-color:%23ffcc33;stop-opacity:1" /><stop offset="100%" style="stop-color:%23ffaa00;stop-opacity:1" /></linearGradient></defs><path transform="translate(3 3)" d="M2 2L18 10L10 12L8 18L2 2Z" fill="url(%23orange3)" stroke="%23552200" stroke-width="2" filter="url(%23glow3)"><animate attributeName="opacity" values="0.7;1;0.7" dur="0.4s" repeatCount="indefinite"/></path><circle cx="9" cy="9" r="1.5" fill="%23ffffff"><animate attributeName="r" values="1.2;2.2;1.2" dur="0.4s" repeatCount="indefinite"/></circle></svg>') 5 5,pointer}.hover-element:hover{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><defs><filter id="glow4" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="5" result="coloredBlur"/><feMerge><feMergeNode in="coloredBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter><linearGradient id="orange4" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:%23fff088;stop-opacity:1" /><stop offset="100%" style="stop-color:%23ff9900;stop-opacity:1" /></linearGradient></defs><path transform="translate(2 2)" d="M4 4L24 14L14 17L11 24L4 4Z" fill="url(%23orange4)" stroke="%23804000" stroke-width="1.8" filter="url(%23glow4)"/><circle cx="11" cy="11" r="2.5" fill="%23ffffff" opacity="0.7"><animate attributeName="opacity" values="0.4;1;0.4" dur="1.5s" repeatCount="indefinite"/></circle><circle cx="14" cy="14" r="1" fill="%23fff088" opacity="0.5"><animate attributeName="r" values="0.5;1.5;0.5" dur="2s" repeatCount="indefinite"/></circle></svg>') 6 6,auto}input:focus,textarea:focus{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="32" viewBox="0 0 28 32"><defs><filter id="glow5" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="3.5" result="coloredBlur"/><feMerge><feMergeNode in="coloredBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter><linearGradient id="orange5" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:%23ffee77;stop-opacity:1" /><stop offset="100%" style="stop-color:%23ff9900;stop-opacity:1" /></linearGradient></defs><path transform="translate(2 2)" d="M3 3L21 14L12 17L9 25L3 3Z" fill="url(%23orange5)" stroke="%23663300" stroke-width="1.5" filter="url(%23glow5)"/><ellipse cx="10" cy="12" rx="1" ry="2" fill="%23ffffff" opacity="0.8"><animate attributeName="ry" values="1.8;2.8;1.8" dur="2s" repeatCount="indefinite"/></ellipse></svg>') 5 5,text}.disabled,[disabled]{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26"><defs><filter id="glow6" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="2.5" result="coloredBlur"/><feMerge><feMergeNode in="coloredBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter><linearGradient id="orange6" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:%23ffbb33;stop-opacity:0.6" /><stop offset="100%" style="stop-color:%23dd8800;stop-opacity:0.6" /></linearGradient></defs><path transform="translate(2 2)" d="M3 3L19 11L11 14L9 19L3 3Z" fill="url(%23orange6)" stroke="%23663300" stroke-width="1.2" opacity="0.7" filter="url(%23glow6)"/></svg>') 5 5,not-allowed}.loading{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><defs><filter id="glow7" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="5" result="coloredBlur"/><feMerge><feMergeNode in="coloredBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter><linearGradient id="orange7" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:%23ffee88;stop-opacity:1" /><stop offset="100%" style="stop-color:%23ffaa00;stop-opacity:1" /></linearGradient></defs><g transform="translate(2 2)"><path d="M3 3L23 13L13 16L10 23L3 3Z" fill="url(%23orange7)" stroke="%23552200" stroke-width="2" filter="url(%23glow7)"><animateTransform attributeName="transform" type="scale" values="0.9;1.1;0.9" dur="1s" repeatCount="indefinite" transform-origin="center"/></path><circle cx="10" cy="10" r="1.5" fill="%23ffffff"><animate attributeName="opacity" values="0.4;1;0.4" dur="1s" repeatCount="indefinite"/></circle><circle cx="13" cy="13" r="10" fill="none" stroke="%23ffee77" stroke-width="1.5" opacity="0.5"><animateTransform attributeName="transform" type="rotate" from="0 13 13" to="360 13 13" dur="2s" repeatCount="indefinite"/></circle></g></svg>') 5 5,progress}html,body{margin:0;padding:0;height:100%;width:100%;box-sizing:border-box}#root{margin:0;padding:0;font-family:Poppins,sans-serif;width:100vw;height:100vh;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none}#root::-webkit-scrollbar{display:none;overflow:hidden}.Quicksand{font-family:Quicksand,sans-serif;font-weight:800}.Righteous{font-family:Righteous,sans-serif;font-weight:800}.Silkscreen{font-family:Silkscreen,sans-serif;font-weight:400;font-size:35px}.Barrio{font-family:Barrio,sans-serif;font-weight:400;font-size:35px}.Skills{display:flex;flex-direction:row;justify-content:space-around;font-family:Bangers,"sans-serif";font-size:34px;width:90vw;margin:20px 0;letter-spacing:2px}html,body{margin:0;padding:0;overflow-x:hidden}#root{min-height:100vh}.portfolio-scroll-root{height:100vh;overflow:hidden;overflow-x:hidden;position:relative;touch-action:pan-y}.portfolio-screen{min-height:100vh;width:100vw}.screen-loading-shell{width:min(88vw,1100px);min-height:60vh;margin:0 auto;border-radius:28px;background:radial-gradient(circle at top,#fffc,#ffffff2e),linear-gradient(135deg,#0ea5e92e,#0f172ae0);border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 70px #0f172a2e;display:flex;align-items:center;justify-content:center;overflow:hidden}.screen-loading-shell.dark{background:radial-gradient(circle at top,#0ea5e929,#0f172a3d),linear-gradient(135deg,#020617e6,#0f172afa)}.screen-loading-copy{text-align:center;color:#fff;padding:2rem}.screen-loading-copy strong{display:block;font-size:clamp(2rem,4vw,4rem);letter-spacing:.08em;text-transform:uppercase}.screen-loading-copy span{display:block;margin-top:.75rem;font-size:.95rem;letter-spacing:.24em;text-transform:uppercase;opacity:.72}.section-transition-dock{position:fixed;left:0;right:0;bottom:0;z-index:9998;pointer-events:none;display:flex;justify-content:center;padding:0 .7rem .7rem}.anime-loader{position:relative;width:min(100%,980px);height:90px;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px #02061747,inset 0 1px #ffffff14;background:#0d1b4b}.anime-loader__sky{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0d1b4b,#1a2e6b 18%,#2c4a9e 34%,#5b7dbf 54%,#a8c4e8 70%,#f7cfa0 82%,#f4a261 90%,#e76f51 97%,#c0392b)}.anime-loader__stars span{position:absolute;width:2px;height:2px;border-radius:999px;background:#fff;animation:anime-star-twinkle var(--twinkle-duration, 2.8s) ease-in-out infinite alternate}.anime-loader__sun{position:absolute;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fffbe6,#f9c74f 50%,#f3722c);top:10px;right:14%;box-shadow:0 0 32px 12px #f9c74f80,0 0 64px 28px #f9c74f2e;animation:anime-sun-pulse 3.8s ease-in-out infinite alternate}.anime-loader__sun-rays{position:absolute;top:10px;right:14%;width:36px;height:36px;animation:anime-sun-rotate 16s linear infinite}.anime-loader__sun-rays:before,.anime-loader__sun-rays:after{content:"";position:absolute;top:50%;left:50%;width:82px;height:1px;background:linear-gradient(90deg,transparent,rgba(249,199,79,.26),transparent);transform-origin:left center}.anime-loader__sun-rays:before{transform:translateY(-50%) rotate(26deg)}.anime-loader__sun-rays:after{transform:translateY(-50%) rotate(76deg)}.anime-loader__cloud{position:absolute;background:#ffffffe0;border-radius:999px;filter:blur(1.4px)}.anime-loader__cloud:before,.anime-loader__cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.anime-loader__cloud--1{width:54px;height:16px;top:12px;left:54%}.anime-loader__cloud--1:before{width:24px;height:24px;top:-12px;left:10px}.anime-loader__cloud--1:after{width:18px;height:18px;top:-8px;left:28px}.anime-loader__cloud--2{width:40px;height:12px;top:20px;left:73%;opacity:.75}.anime-loader__cloud--2:before{width:19px;height:19px;top:-10px;left:8px}.anime-loader__cloud--2:after{width:16px;height:16px;top:-6px;left:20px}.anime-loader__cloud--3{width:68px;height:20px;top:8px;left:22%;opacity:.58}.anime-loader__cloud--3:before{width:30px;height:30px;top:-15px;left:16px}.anime-loader__cloud--3:after{width:22px;height:22px;top:-10px;left:36px}.anime-loader__mountains{position:absolute;width:100%}.anime-loader__mountains svg{width:100%;height:100%}.anime-loader__mountains--far{bottom:36px;height:28px}.anime-loader__mountains--near{bottom:28px;height:24px}.anime-loader__horizon{position:absolute;left:0;right:0;bottom:26px;height:18px;background:linear-gradient(180deg,rgba(247,183,120,.55) 0%,transparent 100%)}.anime-loader__trees{position:absolute;left:-50%;bottom:28px;width:200%;height:22px;animation:anime-grass-scroll 20s linear infinite;opacity:.9}.anime-loader__tree{position:absolute;bottom:0;background:linear-gradient(180deg,#18492b40,#133a22f2);clip-path:polygon(50% 0%,100% 100%,0% 100%);filter:drop-shadow(0 1px 0 rgba(255,255,255,.05))}.anime-loader__tree:after{content:"";position:absolute;left:50%;bottom:-3px;width:2px;height:6px;transform:translate(-50%);background:#24171099}.anime-loader__ground{position:absolute;left:0;right:0;bottom:0;height:38px;background:linear-gradient(180deg,#3a7d44,#2d6a3c,#255832 60%,#1d4a28)}.anime-loader__path{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:46px;height:38px;background:linear-gradient(180deg,#c4972a,#a07820 60%,#7a5c18);clip-path:polygon(30% 0%,70% 0%,100% 100%,0% 100%);opacity:.44}.anime-loader__grass-scroll{position:absolute;left:-50%;bottom:0;width:200%;height:38px;background:linear-gradient(180deg,#4f995814,#193a1ef5),repeating-linear-gradient(100deg,#4f9958e0 0,#4f9958e0 6px,#26582ffa 6px,#26582ffa 11px,#59aa63e0 11px,#59aa63e0 14px);animation:anime-grass-scroll 8s linear infinite;opacity:.78}.anime-loader__grass-top{position:absolute;left:-50%;bottom:24px;width:200%;height:22px;background:radial-gradient(circle at 4% 92%,#4caf50 0 10px,transparent 11px),radial-gradient(circle at 8% 100%,#388e3c 0 12px,transparent 13px),radial-gradient(circle at 13% 94%,#66bb6a 0 10px,transparent 11px),radial-gradient(circle at 18% 100%,#2e7d32 0 12px,transparent 13px),radial-gradient(circle at 24% 94%,#81c784 0 10px,transparent 11px),radial-gradient(circle at 30% 100%,#1b5e20 0 13px,transparent 14px);background-size:180px 100%;animation:anime-grass-scroll 8s linear infinite;opacity:.95}.anime-loader__flowers{position:absolute;left:-50%;bottom:22px;width:200%;height:12px;background:radial-gradient(circle at 6% 60%,#ffb3c1 0 1.4px,transparent 1.6px),radial-gradient(circle at 14% 48%,#ffd166 0 1.6px,transparent 1.8px),radial-gradient(circle at 22% 68%,#ffffff 0 1.4px,transparent 1.6px),radial-gradient(circle at 31% 56%,#c77dff 0 1.5px,transparent 1.7px),radial-gradient(circle at 40% 62%,#f4a261 0 1.5px,transparent 1.7px),radial-gradient(circle at 49% 52%,#a8dadc 0 1.3px,transparent 1.5px);background-size:180px 100%;animation:anime-grass-scroll 8s linear infinite}.anime-loader__wind,.anime-loader__particles,.anime-loader__butterflies{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.anime-loader__wind span{position:absolute;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);animation:anime-wind-float var(--wind-duration, 3.2s) linear infinite;opacity:0}.anime-loader__butterfly{position:absolute;width:10px;height:8px;animation:anime-butterfly-float var(--butterfly-duration, 3s) ease-in-out infinite}.anime-loader__butterfly:before,.anime-loader__butterfly:after{content:"";position:absolute;top:1px;width:5px;height:7px;border-radius:80% 80% 70% 70%;background:color-mix(in srgb,var(--butterfly-color, #ffb3c1) 82%,white);opacity:.82}.anime-loader__butterfly:before{left:0;transform:rotate(-24deg)}.anime-loader__butterfly:after{right:0;transform:rotate(24deg)}.anime-loader__particles span{position:absolute;width:2px;height:2px;border-radius:999px;background:#fffbe6f2;box-shadow:0 0 8px #ffe69c80;animation:anime-particle-drift var(--particle-duration, 4.8s) ease-in-out infinite;opacity:0}.anime-loader__walker-track{position:absolute;left:0;right:0;bottom:22px;height:50px}.anime-loader__boy-container{position:absolute;bottom:0;left:0;width:44px;height:76px;transform:translate3d(calc(var(--transition-progress-ratio, 0) * (100% - 46px)),0,0);animation:anime-boy-advance-bob .34s ease-in-out infinite alternate;z-index:20;will-change:transform}.anime-loader__boy-shadow{position:absolute;bottom:1px;left:50%;width:26px;height:6px;transform:translate(-50%);background:#00000052;border-radius:50%;filter:blur(2px);animation:anime-shadow-bob .4s ease-in-out infinite alternate}.anime-loader__boy{position:absolute;bottom:0;left:50%;width:44px;height:76px;transform:translate(-50%);overflow:visible;animation:anime-body-bob .34s ease-in-out infinite alternate}.boy-leg-left{transform-origin:32px 100px;animation:anime-leg-left .34s ease-in-out infinite}.boy-leg-right{transform-origin:48px 100px;animation:anime-leg-right .34s ease-in-out infinite}.boy-arm-left{transform-origin:18px 54px;animation:anime-arm-left .34s ease-in-out infinite}.boy-arm-right{transform-origin:62px 54px;animation:anime-arm-right .34s ease-in-out infinite}.boy-scarf-back,.boy-scarf-tail{transform-origin:30px 49px;animation:anime-scarf-wave .9s ease-in-out infinite alternate}.anime-loader__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff24;overflow:hidden;z-index:30}.anime-loader__progress-fill{width:100%;height:100%;background:linear-gradient(90deg,#ffffff61,color-mix(in srgb,var(--transition-accent) 76%,white));box-shadow:0 0 14px color-mix(in srgb,var(--transition-accent) 42%,white);transform-origin:left center;transform:scaleX(var(--transition-progress-ratio, 0));will-change:transform}.anime-loader__grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;animation:anime-grain .15s steps(1) infinite}.anime-loader__vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 42%,transparent 42%,rgba(0,0,0,.42) 100%)}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes firefly-drift{0%,to{transform:translateZ(0);opacity:.5}50%{transform:translate3d(6px,-8px,0);opacity:1}}@keyframes anime-star-twinkle{0%{opacity:.24;transform:scale(.8)}to{opacity:1;transform:scale(1.18)}}@keyframes anime-sun-pulse{0%{box-shadow:0 0 32px 12px #f9c74f80,0 0 64px 28px #f9c74f2e}to{box-shadow:0 0 44px 16px #f9c74fa3,0 0 84px 34px #f9c74f3d}}@keyframes anime-sun-rotate{to{transform:rotate(360deg)}}@keyframes anime-grass-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes anime-boy-advance-bob{0%{transform:translateY(0)}to{transform:translateY(-2.5px)}}@keyframes anime-body-bob{0%{transform:translate(-50%) translateY(0) rotate(-.5deg)}to{transform:translate(-50%) translateY(-1.8px) rotate(.7deg)}}@keyframes anime-shadow-bob{0%{transform:translate(-50%) scaleX(.92);opacity:.28}to{transform:translate(-50%) scaleX(1.08);opacity:.42}}@keyframes anime-leg-left{0%,to{transform:rotate(20deg)}50%{transform:rotate(-18deg)}}@keyframes anime-leg-right{0%,to{transform:rotate(-18deg)}50%{transform:rotate(20deg)}}@keyframes anime-arm-left{0%,to{transform:rotate(-16deg)}50%{transform:rotate(14deg)}}@keyframes anime-arm-right{0%,to{transform:rotate(14deg)}50%{transform:rotate(-16deg)}}@keyframes anime-scarf-wave{0%{transform:rotate(8deg) translateY(0)}to{transform:rotate(-10deg) translateY(-1px)}}@keyframes anime-wind-float{0%{opacity:0;transform:translate(0)}20%{opacity:.7}80%{opacity:.36}to{opacity:0;transform:translate(-36px)}}@keyframes anime-butterfly-float{0%,to{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-6px) rotate(4deg) scale(1.04)}50%{transform:translateY(-2px) rotate(0) scale(.96)}75%{transform:translateY(-8px) rotate(-5deg) scale(1.03)}}@keyframes anime-particle-drift{0%{opacity:0;transform:translateZ(0)}25%{opacity:.88}75%{opacity:.54}to{opacity:0;transform:translate3d(12px,-18px,0)}}@keyframes anime-grain{0%{background-position:0 0}25%{background-position:100px 50px}50%{background-position:30px 120px}75%{background-position:170px 80px}to{background-position:0 0}}@media (max-width: 640px){.section-transition-dock{padding:0 .45rem .45rem}.anime-loader{height:76px;border-radius:18px}.anime-loader__sun{width:28px;height:28px}.anime-loader__boy-container{width:36px;height:62px}.anime-loader__trees{bottom:24px}}.hide-scrollbar{overflow:scroll;scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media (max-width: 768px){.Silkscreen{font-size:32px!important}.navbar{padding:0 16px!important}}@media (max-width: 480px){.Silkscreen{font-size:28px!important}.portfolio-screen{padding:88px 14px 18px!important}}.hero-name{color:#161235;letter-spacing:1px;text-shadow:3px 3px 0 #fbbf24,6px 6px 0 #ec4899,9px 9px 0 rgba(139,92,246,.55)}.kinetic-gradient{background:linear-gradient(110deg,#4f46e5,#8b5cf6,#ec4899,#f59e0b,#4f46e5);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:kineticFlow 6s linear infinite}@keyframes kineticFlow{to{background-position:300% 0}}.font-display{font-family:Space Grotesk,Poppins,sans-serif}.font-syne{font-family:Syne,Space Grotesk,sans-serif}.km-band{position:absolute;left:0;right:0;bottom:0;overflow:hidden;padding:12px 0;pointer-events:none;z-index:2;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.km-track{display:inline-flex;white-space:nowrap;will-change:transform;animation:kmScroll 24s linear infinite}.km-item{display:inline-flex;align-items:center;font-family:Syne,Space Grotesk,sans-serif;font-weight:800;font-size:clamp(1.3rem,3.8vw,2.4rem);line-height:1;color:#14122b;text-transform:uppercase}.km-item:nth-child(2n){color:transparent;-webkit-text-stroke:1.5px rgba(139,92,246,.85)}.km-dot{margin:0 .55em;color:#f59e0b;-webkit-text-stroke:0}@keyframes kmScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.km-track,.kinetic-gradient{animation:none}}@media (prefers-reduced-motion: reduce){[class*=anime-]{animation:none!important}.hero-name{text-shadow:2px 2px 0 #ec4899}}.proj-hint{position:absolute;top:72px;left:50%;transform:translate(-50%);z-index:9998;pointer-events:none;text-align:center;display:flex;flex-direction:column;gap:4px;padding:8px 16px;border-radius:12px;background:#0a0c148c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);font-family:ui-monospace,SF Mono,Courier New,monospace;animation:projHintFade 11s ease forwards}.proj-hint-row{font-size:12px;color:#ffffffd9;letter-spacing:.4px}.proj-hint-row b{color:#27e0ff;font-weight:700}.proj-hint-accent{color:#ffd9a0;font-size:11px}@keyframes projHintFade{0%{opacity:0;transform:translate(-50%) translateY(-6px)}8%{opacity:1;transform:translate(-50%) translateY(0)}82%{opacity:1}to{opacity:0;visibility:hidden}}@media (max-width: 480px){.km-item{font-size:clamp(1.05rem,4vw,1.6rem)}.km-band{padding:8px 0}}@media (prefers-reduced-motion: reduce){.proj-hint{animation:none;opacity:1}}@media (max-width: 640px){.hero-copy{min-width:0!important;flex:1 1 100%!important;width:100%!important}.hero-portrait{flex:0 0 140px!important}}@media (max-width: 768px){#lander{padding-top:88px!important;justify-content:flex-start!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.intro-stage{width:94%!important;height:50vh!important;min-height:260px;margin:10px auto!important;flex:0 0 auto}.hero-photo{width:150px!important;height:150px!important}.hero-name{letter-spacing:0}#skills{justify-content:flex-start!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding:88px 0 26px!important}#skills>h1{font-size:clamp(28px,8vw,48px)!important}.skills-stage{width:94vw!important;height:46vh!important;min-height:260px;border-width:8px!important}.skills-panel{width:94vw!important;padding:16px!important;margin:12px 0 10px!important}#projects.portfolio-screen,#contact.portfolio-screen{padding:0!important}}@media (max-width: 480px){.intro-stage{height:50vh!important;min-height:240px}.km-band{display:none!important}.hero-photo{width:118px!important;height:118px!important}.hero-portrait{flex:1 1 100%!important}.hero-name{text-shadow:2px 2px 0 #fbbf24,4px 4px 0 #ec4899}.skills-stage{height:40vh!important;min-height:220px;border-width:6px!important}.skills-panel{padding:13px!important;border-radius:14px!important}#projects.portfolio-screen,#contact.portfolio-screen{padding:0!important}}html{scroll-behavior:smooth}.navbar{position:fixed;top:0;width:100%;height:80px;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 40px;z-index:1000}.navbar-left{font-size:1.5rem;font-weight:700}.navbar-right{display:flex;gap:1rem;list-style:none}.desktop-menu{display:flex;align-items:center}.navbar-right li a{text-decoration:none;font-size:1rem}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px;transition:transform .3s}.hamburger div{width:25px;height:3px;background:#fff;transition:all .3s ease}.hamburger.open:hover{transform:rotate(90deg)}.hamburger.open div:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open div:nth-child(2){opacity:0}.hamburger.open div:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-menu{display:none;flex-direction:column;position:absolute;top:100%;right:30px;background:#000;width:100%;max-width:200px;padding:1rem;text-align:center;gap:1rem;border-radius:20px}.mobile-menu a{font-size:1.2rem;text-decoration:none}.mobile-menu.show{display:flex}@media (max-width: 768px){.desktop-menu{display:none}.hamburger{display:flex}}.nav-pill{transition:letter-spacing .22s ease,transform .22s ease,text-shadow .18s ease,font-weight .18s}.nav-pill:hover{letter-spacing:.05em;transform:translateY(-1px);font-weight:700;text-shadow:1.6px 0 rgba(236,72,153,.6),-1.6px 0 rgba(39,224,255,.6)}.nav-pill:active{transform:translateY(0) scale(.96)}.nav-brand-name{font-weight:700;transition:text-shadow .18s ease,letter-spacing .2s ease;cursor:default}.nav-brand-name:hover{letter-spacing:.02em;text-shadow:2px 0 rgba(236,72,153,.55),-2px 0 rgba(39,224,255,.55)}@media (prefers-reduced-motion: reduce){.nav-pill,.nav-brand-name{transition:none}.nav-pill:hover,.nav-brand-name:hover{text-shadow:none}}.hamburger{background:none;border:none;padding:0;margin:0}.nav-pill:focus-visible,.hamburger:focus-visible{outline:2px solid #8b5cf6;outline-offset:3px;border-radius:8px}.contact-section{position:relative;min-height:100vh;width:100%;padding:3.5rem 2rem;display:flex;align-items:center;overflow:hidden;background:radial-gradient(1100px 600px at 82% -10%,rgba(239,68,68,.1),transparent 55%),radial-gradient(900px 650px at 6% 108%,rgba(245,158,11,.1),transparent 55%),linear-gradient(180deg,#f7f8fa,#fff 55%,#f9fafb);font-family:Poppins,Inter,sans-serif}.contact-aurora{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;filter:blur(70px)}.aurora-blob{position:absolute;border-radius:50%;opacity:.32}.blob-a{width:460px;height:460px;top:-120px;right:6%;background:radial-gradient(circle,rgba(248,113,113,.85),transparent 70%);animation:floatA 17s ease-in-out infinite}.blob-b{width:420px;height:420px;bottom:-150px;left:-30px;background:radial-gradient(circle,rgba(251,191,36,.8),transparent 70%);animation:floatB 20s ease-in-out infinite}.blob-c{width:340px;height:340px;top:40%;left:48%;background:radial-gradient(circle,rgba(148,163,184,.6),transparent 70%);animation:floatC 23s ease-in-out infinite}@keyframes floatA{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-40px,50px) scale(1.12)}}@keyframes floatB{0%,to{transform:translate(0) scale(1)}50%{transform:translate(50px,-40px) scale(1.1)}}@keyframes floatC{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,-30px) scale(.92)}}.contact-container{position:relative;z-index:1;max-width:1160px;width:100%;margin:0 auto}.contact-header{text-align:center;margin-bottom:2.2rem;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) both}.contact-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:#047857;background:#10b9811a;border:1px solid rgba(16,185,129,.3);margin-bottom:1rem}.status-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulseDot 1.8s infinite}@keyframes pulseDot{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}.contact-header h2{font-size:clamp(2rem,5vw,3.05rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;color:#111827;margin:0 0 .75rem}.contact-header h2 .grad{background:linear-gradient(120deg,#b91c1c,#ef4444 45%,#f59e0b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.contact-header p{font-size:1rem;color:#6b7280;max-width:580px;margin:0 auto;line-height:1.65}.contact-content{display:grid;grid-template-columns:1fr 1.05fr;gap:1.8rem;align-items:stretch}.contact-left{display:flex;flex-direction:column;gap:1.1rem;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) .1s both}.character-stage{position:relative;flex:1;min-height:360px;border-radius:24px;background:radial-gradient(120% 80% at 50% 18%,#20262f 0%,transparent 60%),radial-gradient(100% 70% at 50% 120%,rgba(239,68,68,.28),transparent 60%),linear-gradient(160deg,#0c0f15,#11151d,#0a0d12);border:1px solid rgba(239,68,68,.22);box-shadow:inset 0 0 60px #0009,0 24px 50px -28px #11151dcc;overflow:hidden}.character-stage canvas{display:block}.character-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(239,68,68,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(239,68,68,.08) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(180deg,transparent 55%,#000 100%);-webkit-mask-image:linear-gradient(180deg,transparent 55%,#000 100%)}.character-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 90px #0000008c;border-radius:24px}.speech-bubble{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:3;padding:.45rem .95rem;border-radius:10px;background:#0f1218d9;color:#fca5a5;font-weight:600;font-size:.8rem;letter-spacing:.02em;border:1px solid rgba(239,68,68,.45);box-shadow:0 0 18px -4px #ef444480;animation:bubbleBob 3s ease-in-out infinite;text-transform:uppercase}.speech-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:11px;height:11px;background:#0f1218d9;border-right:1px solid rgba(239,68,68,.45);border-bottom:1px solid rgba(239,68,68,.45)}@keyframes bubbleBob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.contact-form-container{background:#fff;border-radius:22px;padding:2.4rem;position:relative;overflow:hidden;border:1px solid rgba(17,24,39,.06);box-shadow:0 1px 2px #1018280a,0 26px 60px -30px #b91c1c38;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) .16s both}.contact-form-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#b91c1c,#ef4444,#f59e0b)}.contact-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;gap:.45rem}.form-group label{font-weight:600;color:#374151;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.form-group input,.form-group textarea{padding:.9rem 1rem;border:1.5px solid #e5e7eb;border-radius:12px;font-family:inherit;font-size:.98rem;color:#1f2937;background:#fafafa;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group input:focus,.form-group textarea:focus{border-color:#ef4444;background:#fff;box-shadow:0 0 0 4px #ef44441f}.form-group textarea{resize:vertical;min-height:118px}.submit-btn{background:linear-gradient(120deg,#b91c1c,#ef4444,#f59e0b);background-size:200% 100%;color:#fff;border:none;padding:.95rem 2rem;border-radius:14px;font-family:inherit;font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.55rem;transition:background-position .5s ease,transform .25s ease,box-shadow .25s ease;margin-top:.3rem;box-shadow:0 10px 26px -8px #dc262680}.submit-btn:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 16px 34px -8px #f59e0b80}.form-banner{padding:.85rem 1rem;border-radius:12px;text-align:center;font-size:.9rem;font-weight:500}.form-banner.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.form-banner.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.contact-details{background:#fff;border-radius:18px;padding:1.2rem 1.4rem;border:1px solid rgba(17,24,39,.06);box-shadow:0 18px 44px -30px #b91c1c33;display:flex;flex-direction:column;gap:.4rem}.contact-item{display:flex;align-items:center;gap:.85rem;color:#1f2937;text-decoration:none;padding:.4rem 0;transition:transform .2s ease}.contact-item:not(.static):hover{transform:translate(4px)}.contact-item .ci-icon{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#dc2626;background:#ef44441a;border:1px solid rgba(239,68,68,.22)}.contact-item .ci-text{display:flex;flex-direction:column;font-size:.9rem;font-weight:500;line-height:1.35;color:#334155}.contact-item .ci-text small{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-weight:600}.social-links{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.social-link{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .4rem;background:#fff;border-radius:14px;color:#475569;text-decoration:none;font-weight:500;font-size:.72rem;border:1px solid rgba(17,24,39,.07);box-shadow:0 6px 16px -12px #00000040;transition:all .25s ease}.social-link:hover{color:#fff;border-color:var(--brand-color);background:var(--brand-color);transform:translateY(-3px);box-shadow:0 12px 24px -10px var(--brand-color)}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 880px){.contact-section{align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:6rem;padding-bottom:3rem}.contact-content{grid-template-columns:1fr;gap:1.4rem}.character-stage{min-height:300px}.contact-form-container{padding:1.6rem}.contact-header{margin-bottom:1.5rem}}@media (max-width: 480px){.contact-section{padding:6rem 1.1rem 2.6rem}.contact-form-container{padding:1.3rem}.social-links{grid-template-columns:repeat(2,1fr)}.contact-header p{font-size:.9rem}}.contact-section.is-raging{animation:rageQuake 1.8s cubic-bezier(.36,.07,.19,.97) both}@keyframes rageQuake{0%{transform:translate(0) rotate(0)}4%{transform:translate(-9px,5px) rotate(-.6deg)}8%{transform:translate(8px,-6px) rotate(.6deg)}12%{transform:translate(-7px,-4px) rotate(-.4deg)}16%{transform:translate(6px,6px) rotate(.4deg)}22%{transform:translate(-5px,3px) rotate(-.3deg)}30%{transform:translate(4px,-3px) rotate(.2deg)}40%{transform:translate(-3px,2px)}55%{transform:translate(2px,-1px)}to{transform:translate(0) rotate(0)}}.rage-fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;overflow:hidden}.rage-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 120% at 26% 52%,rgba(255,40,20,.7),rgba(255,60,20,.25) 35%,transparent 62%);mix-blend-mode:screen;animation:rageFlash 1s ease-out forwards}@keyframes rageFlash{0%{opacity:0}8%{opacity:1}30%{opacity:.55}to{opacity:0}}.rage-shock{position:absolute;left:26%;top:52%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:3px solid rgba(255,60,40,.9);box-shadow:0 0 40px #ff3c1eb3,inset 0 0 30px #ff502880;transform:scale(0);opacity:.95;animation:rageShock 1.3s cubic-bezier(.12,.6,.2,1) forwards}.rage-shock-2{border-color:#ff8c1ecc;animation-delay:.12s}.rage-shock-3{border-color:#ff1e1eb3;animation-delay:.26s}@keyframes rageShock{0%{transform:scale(0);opacity:.95;border-width:6px}70%{opacity:.5}to{transform:scale(34);opacity:0;border-width:1px}}.rage-bars{position:absolute;top:0;right:0;bottom:0;left:0;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#ff1e1e00,#ff1e1e00 6px,#ff281e29 7px,#ff281e29 9px);animation:rageBars 1.8s steps(2) forwards}@keyframes rageBars{0%,to{opacity:0;transform:translate(0)}10%{opacity:1;transform:translate(-6px)}20%{opacity:.3;transform:translate(8px)}35%{opacity:.9;transform:translate(-4px)}55%{opacity:.4}80%{opacity:.15}}.rage-warning{position:absolute;top:14%;left:50%;transform:translate(-50%);font-family:ui-monospace,SF Mono,Courier New,monospace;font-size:clamp(.8rem,2.2vw,1.3rem);font-weight:800;letter-spacing:2px;color:#ff3b30;white-space:nowrap;text-shadow:2px 0 #00e5ff,-2px 0 #ff00a0,0 0 14px rgba(255,40,30,.8);animation:rageWarn 1.8s steps(3) forwards}@keyframes rageWarn{0%{opacity:0;transform:translate(-50%) skew(0)}6%{opacity:1;transform:translate(-51%) skew(-8deg)}12%{transform:translate(-49%) skew(6deg)}20%{transform:translate(-50%) skew(0)}50%{opacity:1}70%{opacity:.4}80%{opacity:1}to{opacity:0}}.rage-vignette{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 140px 30px #ff1e148c;animation:rageVig 1.8s ease-out forwards}@keyframes rageVig{0%{opacity:0}10%{opacity:1}60%{opacity:.5}to{opacity:0}}@media (prefers-reduced-motion: reduce){.contact-section.is-raging{animation:none}.rage-fx{display:none}}.submit-btn:focus-visible,.social-link:focus-visible,.contact-item:focus-visible{outline:2px solid #ef4444;outline-offset:3px}.form-group input:focus-visible,.form-group textarea:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.contact-item .ci-text small{color:#5b6472}.form-group input::placeholder,.form-group textarea::placeholder{color:#6b7280}.contact-header p{color:#5b6472}@media (prefers-reduced-motion: reduce){.blob-a,.blob-b,.blob-c,.contact-header,.contact-left,.contact-form-container,.status-dot,.speech-bubble{animation:none!important}}@media (max-width: 600px){.character-stage{min-height:230px}}
