*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #111111;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent-primary: #facc15;--accent-secondary: #eab308;--accent-glow: rgba(250, 204, 21, .3);--border-color: #27272a;--font-display: "Anton", Impact, "Arial Narrow Bold", sans-serif;--font-body: "Manrope", "Inter", system-ui, -apple-system, sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1)}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}::selection{background:var(--accent-primary);color:#000}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px;border-radius:6px}section{scroll-margin-top:5rem}#bg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.cursor-glow{position:fixed;top:0;left:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(250,204,21,.11),transparent 62%);pointer-events:none;z-index:0;opacity:0;transition:opacity .5s ease;will-change:transform}.cursor-glow.is-active{opacity:1}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1100;background:linear-gradient(90deg,var(--accent-secondary),var(--accent-primary),#fff);box-shadow:0 0 12px var(--accent-glow);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}.marquee,main,footer{position:relative;z-index:1}header{position:fixed;top:20px;left:50%;transform:translate(-50%);width:auto;min-width:fit-content;z-index:1000;background-color:#0a0a0ab8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:15px;box-shadow:0 10px 25px -5px #0000004d;transition:border-color .4s ease,box-shadow .4s ease;animation:nav-drop 1.1s var(--ease-out) .5s backwards}header.scrolled{border-color:#facc1559;box-shadow:0 10px 30px -5px #0009,0 0 24px -6px var(--accent-glow)}@keyframes nav-drop{0%{opacity:0;transform:perspective(600px) translate(-50%) translateY(-140%) rotateX(-60deg)}to{opacity:1;transform:perspective(600px) translate(-50%) translateY(0) rotateX(0)}}nav{display:flex;justify-content:center;align-items:center;gap:2rem;padding:.8rem 2rem;max-width:1200px;margin:0 auto}nav a{cursor:pointer;color:var(--text-secondary);font-weight:600;text-decoration:none;transition:color .3s ease,transform .2s ease;position:relative}nav a:hover,nav a.is-active{color:var(--accent-primary)}nav a:hover{transform:translateY(-2px)}nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--accent-primary);transition:width .3s ease}nav a:hover:after,nav a.is-active:after{width:100%}.hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1fr;align-items:center;padding:7rem 8% 5rem;position:relative;overflow:hidden;background-color:transparent}.hero:before{content:"";position:absolute;right:-10%;top:8%;width:75vw;height:84%;background:radial-gradient(ellipse at 60% 50%,rgba(250,204,21,.16),transparent 65%);animation:breathe 6s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes breathe{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.hero-avatar{position:absolute;right:-5%;top:5%;width:70%;height:90%;background-image:url(/assets/avatar-CDUdoVm8.png);background-size:contain;background-repeat:no-repeat;background-position:right center;opacity:.75;z-index:1;mix-blend-mode:lighten;mask-image:linear-gradient(to left,black 60%,transparent 100%);-webkit-mask-image:linear-gradient(to left,black 60%,transparent 100%);pointer-events:none;will-change:transform;transform:perspective(1400px) rotateX(var(--ax, 0deg)) rotateY(var(--ay, 0deg)) translate3d(var(--tx, 0px),var(--ty, 0px),0)}body:not(.is-ready) .hero-avatar{opacity:0}.is-ready .hero-avatar{animation:avatar-in 1.8s var(--ease-out) .1s backwards,float 8s ease-in-out 1.9s infinite}@keyframes avatar-in{0%{opacity:0;scale:1.18}to{opacity:.75;scale:1}}@keyframes float{0%,to{translate:0 0}50%{translate:0 -16px}}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:2rem;width:100%;max-width:820px;translate:0 calc(var(--hero-p, 0) * -50px);opacity:calc(1 - var(--hero-p, 0) * .85)}.hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.hero-badge{display:inline-flex;align-items:center;gap:.6rem;background:var(--border-color);padding:.4rem 1rem;border-radius:100px;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);border:1px solid var(--border-color)}.hero-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-primary);animation:ping 2s ease-out infinite}@keyframes ping{0%{box-shadow:0 0 #facc1599}80%,to{box-shadow:0 0 0 12px #facc1500}}.hero-stats{text-align:right}.stat-number{display:block;font-family:var(--font-display);font-weight:400;font-size:4rem;color:var(--accent-primary);line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 30px var(--accent-glow)}.stat-label{font-size:.6rem;color:var(--text-muted);letter-spacing:2px}.hero-title{font-family:var(--font-display);font-weight:400;font-size:clamp(4.5rem,13vw,11rem);line-height:.9;text-transform:uppercase;letter-spacing:.01em;margin:0}.hero-title .line{display:block;white-space:nowrap}.text-outline{-webkit-text-stroke:2px var(--text-primary);color:transparent}.char{display:inline-block;transform-origin:50% 100%;transition:transform .35s var(--ease-out),color .3s ease,-webkit-text-stroke-color .3s ease}.char:hover{transform:translateY(-.06em) rotate(-4deg) scale(1.05);color:var(--accent-primary);-webkit-text-stroke-color:var(--accent-primary)}body:not(.is-ready) .char{opacity:0}.is-ready .char{animation:char-in 1s var(--ease-out) backwards;animation-delay:calc(var(--i) * 60ms + .25s)}@keyframes char-in{0%{opacity:0;transform:perspective(700px) translateY(60%) rotateX(-100deg)}to{opacity:1;transform:perspective(700px) translateY(0) rotateX(0)}}.hero-bottom{display:flex;gap:4rem;align-items:flex-end}.hero-description{max-width:400px;font-size:1.1rem;color:var(--text-secondary)}.hero-description p{text-align:left;margin:0;max-width:none;font-size:inherit}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}body:not(.is-ready) .hero-top,body:not(.is-ready) .hero-bottom,body:not(.is-ready) .scroll-cue{opacity:0}.is-ready .hero-top{animation:fade-up .9s var(--ease-out) .1s backwards}.is-ready .hero-bottom{animation:fade-up 1s var(--ease-out) 1.1s backwards}.is-ready .scroll-cue{animation:fade-up 1s var(--ease-out) 1.8s backwards}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}}.scroll-cue{position:absolute;left:50%;bottom:1.8rem;translate:-50% 0;width:22px;height:36px;border:1.5px solid var(--text-muted);border-radius:12px;z-index:2}.scroll-cue:after{content:"";position:absolute;left:50%;top:6px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--accent-primary);animation:cue 1.8s ease-in-out infinite}@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(12px)}}.btn-primary,.btn-secondary{position:relative;display:inline-block;overflow:hidden;padding:1rem 2rem;border-radius:100px;text-decoration:none;font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.04em;transition:scale .25s var(--ease-out),translate .2s ease-out,box-shadow .25s ease,background .25s ease}[data-magnetic]{translate:var(--mag-x, 0px) var(--mag-y, 0px)}.btn-primary{background:var(--accent-primary);color:#000}.btn-secondary{background:transparent;color:#fff;border:1px solid var(--border-color)}.btn-primary:before,.btn-secondary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);translate:-120% 0;transition:translate .7s var(--ease-out);pointer-events:none}.btn-secondary:before{background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.14) 50%,transparent 70%)}.btn-primary:hover:before,.btn-secondary:hover:before{translate:120% 0}.btn-primary:hover{scale:1.05;box-shadow:0 0 28px var(--accent-glow)}.btn-secondary:hover{scale:1.05;background:var(--border-color)}.btn-big{padding:1.2rem 2.8rem;font-size:.95rem}.marquee{width:110%;margin:2.5rem 0 2.5rem -5%;padding:1.3rem 0;overflow:hidden;background:#0009;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);transform:rotate(-1.5deg) skew(var(--skew, 0deg))}.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-group{display:flex;align-items:center;flex-shrink:0;gap:2.5rem;padding-right:2.5rem}.marquee span{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,6rem);line-height:1;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.4)}.marquee span:nth-of-type(2n){color:var(--accent-primary);-webkit-text-stroke:0}.marquee i{flex:none;width:clamp(1.4rem,3vw,2.4rem);aspect-ratio:1;background:var(--accent-primary);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:spin 6s linear infinite}@keyframes marquee{to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}main{max-width:1120px;margin:0 auto 50px;padding:0 2rem}main section{padding:5rem 0;border-bottom:1px solid var(--border-color)}main section:last-of-type{border-bottom:none}section p{color:var(--text-secondary);text-align:center;font-size:1.1rem;max-width:600px;margin:0 auto}h2{font-family:var(--font-display);font-weight:400;font-size:clamp(2.6rem,6vw,4.5rem);line-height:1;letter-spacing:.02em;text-transform:uppercase;text-align:center;margin-bottom:3rem;color:var(--text-primary);background:linear-gradient(90deg,var(--accent-secondary),var(--accent-primary),#ffffff,var(--accent-primary),var(--accent-secondary));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 6s linear infinite}@keyframes shine{to{background-position:200% center}}.js [data-reveal]:not(.in-view){opacity:0}[data-reveal].in-view{animation-duration:1s;animation-timing-function:var(--ease-out);animation-fill-mode:backwards;animation-delay:var(--delay, 0s)}[data-reveal=up].in-view{animation-name:reveal-up}[data-reveal=left].in-view{animation-name:reveal-left}[data-reveal=flip].in-view{animation-name:reveal-flip}[data-reveal=title].in-view{animation:reveal-title 1.1s var(--ease-out) var(--delay, 0s) backwards,shine 6s linear infinite}@keyframes reveal-up{0%{opacity:0;translate:0 60px;transform:perspective(1100px) rotateX(-18deg) rotateY(0) translateY(0)}to{opacity:1;translate:0 0;transform:perspective(1100px) rotateX(0) rotateY(0) translateY(0)}}@keyframes reveal-left{0%{opacity:0;translate:-60px 0;transform:perspective(1100px) rotateY(30deg) rotateX(0) translateY(0)}to{opacity:1;translate:0 0;transform:perspective(1100px) rotateY(0) rotateX(0) translateY(0)}}@keyframes reveal-flip{0%{opacity:0;translate:0 50px;transform:perspective(1000px) rotateX(45deg) rotateY(0)}to{opacity:1;translate:0 0;transform:perspective(1000px) rotateX(0) rotateY(0)}}@keyframes reveal-title{0%{opacity:0;clip-path:inset(0 100% 0 0);letter-spacing:.3em}to{opacity:1;clip-path:inset(0 0 0 0);letter-spacing:.02em}}.projects-container{display:flex;flex-direction:column;gap:3.5rem;margin-bottom:4rem}.project-item{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;background-color:var(--bg-secondary);padding:2rem;border-radius:20px;border:1px solid var(--border-color);transform-style:preserve-3d;transform:perspective(1100px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px));transition:transform .25s ease-out,border-color .3s ease,box-shadow .3s ease}.project-item:nth-child(2n) .project-image{order:2}.project-item:hover{--lift: -8px;border-color:var(--accent-primary);box-shadow:0 30px 60px #0009,0 0 40px -10px var(--accent-glow)}.project-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%),rgba(250,204,21,.14),transparent 60%);opacity:0;transition:opacity .3s ease}.project-item:hover:after{opacity:1}.project-image{position:relative;width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);background-color:var(--bg-tertiary);transform:translateZ(50px)}.project-info{transform-style:preserve-3d}.project-info h3{font-size:1.8rem;font-weight:800;margin-bottom:1rem;color:var(--text-primary);transform:translateZ(36px)}.project-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;transform:translateZ(26px)}.project-tags span{background-color:var(--bg-primary);color:var(--accent-primary);font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:4px;border:1px solid var(--border-color)}.project-info p{text-align:left;margin:0 0 1.5rem;max-width:none;font-size:1rem}.project-links{display:flex;gap:1rem;transform:translateZ(30px)}.btn-link{text-decoration:none;color:var(--text-primary);background-color:var(--bg-tertiary);padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;border:1px solid var(--border-color);transition:background-color .3s ease,color .3s ease,border-color .3s ease,translate .3s var(--ease-out)}.btn-link:hover{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#000;translate:0 -2px}.image-placeholder{display:flex;justify-content:center;align-items:center;color:var(--text-muted);font-size:.9rem;font-weight:500;background:linear-gradient(115deg,var(--bg-tertiary) 30%,#1d1d21 50%,var(--bg-tertiary) 70%);background-size:250% 100%;animation:sheen 3.5s linear infinite}.project-image .image-placeholder{height:220px;transition:scale .6s var(--ease-out)}.project-item:hover .image-placeholder{scale:1.06}@keyframes sheen{0%{background-position:150% 0}to{background-position:-100% 0}}.mini-projects-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;padding:2rem 0}.mini-project-card{display:block;height:300px;color:inherit;text-decoration:none;border-radius:20px;perspective:1000px;transform:perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .25s ease-out}.mini-project-card-inner{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.mini-project-card:hover .mini-project-card-inner{transform:rotateY(180deg)}.mini-project-card-front,.mini-project-card-back{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:20px;overflow:hidden;background-color:var(--bg-secondary);border:1px solid var(--border-color)}.mini-project-card-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,#1a1503,var(--bg-secondary) 70%);border-color:#facc1566;box-shadow:inset 0 0 40px #facc150f}.mini-project-card-back h3{color:var(--accent-primary)}.mini-project-image{height:150px;background-color:var(--bg-tertiary)}.mini-project-image .image-placeholder{width:100%;height:100%}.mini-project-info{padding:1rem}.mini-project-info h3{margin-bottom:.3rem;font-size:1.1rem;font-weight:800}.mini-project-info p{text-align:left;margin:0;max-width:none;font-size:.9rem;color:var(--text-secondary)}.timeline{position:relative;max-width:800px;margin:2rem auto 0;padding-left:30px;display:flex;flex-direction:column;gap:3rem}.timeline:before,.timeline:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px}.timeline:before{background-color:var(--border-color)}.timeline:after{background:linear-gradient(to bottom,var(--accent-primary),var(--accent-secondary));box-shadow:0 0 12px var(--accent-glow);transform-origin:top;transform:scaleY(var(--tl, 0))}.timeline-item{position:relative}.timeline-dot{position:absolute;left:-35px;top:8px;width:12px;height:12px;background-color:var(--accent-primary);border-radius:50%;animation:dot-pulse 2.4s ease-out infinite}@keyframes dot-pulse{0%{box-shadow:0 0 10px var(--accent-primary),0 0 #facc158c}70%,to{box-shadow:0 0 10px var(--accent-primary),0 0 0 14px #facc1500}}.timeline-content{text-align:left}.timeline-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.timeline-header h3{font-size:1.3rem;font-weight:800;color:var(--accent-primary);text-align:left}.timeline-date{font-size:.85rem;color:var(--text-muted)}.timeline-content .timeline-company{font-weight:700;color:var(--text-primary);margin:0 0 .5rem;text-align:left;font-size:1rem}.timeline-content p{text-align:left;margin:0;max-width:none;font-size:.95rem;color:var(--text-secondary)}.contact{text-align:center}.contact p{margin-bottom:2.5rem}.skills-container{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem}.skills-container span{background-color:var(--bg-tertiary);color:var(--accent-primary);padding:.5rem 1.5rem;border-radius:20px;font-weight:500;border:1px solid var(--border-color)}.contact-form{display:flex;flex-direction:column;gap:1rem;max-width:500px;margin:2rem auto 0}.contact-form input,.contact-form textarea{background-color:var(--bg-secondary);border:1px solid var(--border-color);padding:1rem;border-radius:8px;color:var(--text-primary);font-family:inherit}.contact-form button{background:linear-gradient(to right,var(--accent-primary),var(--accent-secondary));color:#000;padding:1rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:opacity .3s ease}.contact-form button:hover{opacity:.9}footer{background-color:var(--bg-secondary);padding:2rem;text-align:center;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.9rem}@media (max-width: 900px){.hero{padding:6.5rem 6% 5rem}.hero-avatar{width:100%;right:0;top:8%;height:70%;opacity:.45}.hero-bottom{flex-direction:column;align-items:flex-start;gap:2rem}.project-item{grid-template-columns:1fr;gap:1.5rem;padding:1.25rem}.project-item:nth-child(2n) .project-image{order:0}}@media (max-width: 768px){nav{gap:1rem;font-size:.9rem;padding:.7rem 1.2rem}h2{font-size:2.4rem}.timeline-header{flex-direction:column;align-items:flex-start;gap:.2rem}}@media (hover: none){.cursor-glow{display:none}.project-item:hover{--lift: 0px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.js [data-reveal]:not(.in-view),body:not(.is-ready) .char,body:not(.is-ready) .hero-top,body:not(.is-ready) .hero-bottom,body:not(.is-ready) .scroll-cue{opacity:1}body:not(.is-ready) .hero-avatar{opacity:.75}}
