:root{--bg:#050505;--bg-2:#0d0708;--card:#ffffff08;--border:#ff283c2e;--red:#ff1f3d;--red-2:#b30018;--red-glow:#ff1f3d8c;--text:#f4eceb;--muted:#a89a99;--font-head:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}::selection{background:var(--red);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--red-2);border-radius:8px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3{font-family:var(--font-head);line-height:1.1}.container{width:min(1120px,100% - 2rem);margin-inline:auto}section{padding:6rem 0;position:relative}.grad{background:linear-gradient(90deg, #ff6a7d, var(--red), var(--red-2));color:#0000;-webkit-background-clip:text;background-clip:text}.btn{border:1px solid var(--red);border-radius:999px;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-weight:600;transition:box-shadow .3s,background .3s;display:inline-flex}.btn-primary{background:var(--red);color:#fff;box-shadow:0 0 22px var(--red-glow)}.btn-primary:hover{box-shadow:0 0 40px var(--red-glow)}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover{box-shadow:0 0 22px var(--red-glow);background:#ff1f3d1f}.card{background:var(--card);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px;transition:border-color .3s,box-shadow .3s}.card:hover{border-color:var(--red);box-shadow:0 0 30px #ff1f3d40}.section-title{margin-bottom:3rem}.section-title small{color:var(--red);letter-spacing:.25em;text-transform:uppercase;font-size:.8rem}.section-title h2{margin-top:.5rem;font-size:clamp(2rem,5vw,3.2rem)}.progress{background:var(--red);transform-origin:0;z-index:100;height:3px;box-shadow:0 0 12px var(--red);position:fixed;top:0;left:0;right:0}.nav{z-index:50;width:100%;padding:1rem 0;transition:background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;top:0}.nav.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#050505bf}.nav .container{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-head);font-size:1.3rem;font-weight:700}.logo span{color:var(--red);text-shadow:0 0 14px var(--red)}.nav ul{gap:1.8rem;list-style:none;display:flex}.nav li a{color:var(--muted);font-size:.92rem;transition:color .2s;position:relative}.nav li a.active,.nav li a:hover{color:var(--text)}.nav li a.active:after{content:"";background:var(--red);height:2px;box-shadow:0 0 10px var(--red);position:absolute;bottom:-6px;left:0;right:0}.burger{color:var(--text);background:0 0;border:none;font-size:1.6rem;display:none}.hero{align-items:center;min-height:100vh;padding-top:6rem;display:flex;overflow:hidden}.hero .tag{color:var(--red);letter-spacing:.3em;text-transform:uppercase;font-size:.85rem}.hero h1{text-shadow:0 0 40px #ff1f3d59;margin:1rem 0;font-size:clamp(2.8rem,9vw,6.5rem)}.hero .role{font-family:var(--font-head);min-height:2.6rem;color:var(--muted);font-size:clamp(1.2rem,3vw,2rem)}.cursor-blink{background:var(--red);vertical-align:-.12em;width:3px;height:1em;box-shadow:0 0 10px var(--red);margin-left:4px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero p.lead{max-width:560px;color:var(--muted);margin:1.5rem 0 2.2rem;font-size:1.1rem}.hero .actions{flex-wrap:wrap;gap:1rem;display:flex}.scroll-hint{color:var(--muted);letter-spacing:.3em;font-size:.75rem;position:absolute;bottom:2rem;left:50%;translate:-50%}.scroll-hint:after{content:"";background:linear-gradient(var(--red), transparent);width:1px;height:40px;margin:.6rem auto 0;animation:1.8s ease-in-out infinite drop;display:block}@keyframes drop{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.glitch{display:inline-block;position:relative}.glitch:before,.glitch:after{content:attr(data-text);opacity:.7;position:absolute;inset:0}.glitch:before{color:var(--red);clip-path:inset(0 0 55%);animation:4s infinite gl1}.glitch:after{color:#00e5ff;mix-blend-mode:screen;clip-path:inset(55% 0 0);opacity:.35;animation:4s infinite gl2}@keyframes gl1{0%,92%,to{transform:none}94%{transform:translate(-4px,1px)}97%{transform:translate(3px,-1px)}}@keyframes gl2{0%,92%,to{transform:none}95%{transform:translate(4px,-1px)}98%{transform:translate(-3px,1px)}}.about-grid{grid-template-columns:1.4fr 1fr;align-items:center;gap:3rem;display:grid}.about-grid p{color:var(--muted);margin-bottom:1rem;font-size:1.05rem}.stats{gap:1rem;display:grid}.stat{padding:1.4rem 1.6rem}.stat b{font-family:var(--font-head);font-size:2.6rem;display:block}.stat span{color:var(--muted);font-size:.9rem}.marquee{margin-bottom:3rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track{gap:2.5rem;width:max-content;animation:35s linear infinite scroll;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{color:var(--muted);white-space:nowrap;align-items:center;gap:.6rem;font-size:1.1rem;display:flex}.marquee-item svg{color:var(--red);font-size:1.6rem}@keyframes scroll{to{transform:translate(-50%)}}.tech-cats{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.tech-cat{padding:1.6rem}.tech-cat h3{color:var(--red);margin-bottom:1.2rem;font-size:1.15rem}.tech-list{flex-wrap:wrap;gap:.7rem;display:flex}.chip{border:1px solid var(--border);background:#ffffff08;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.9rem;transition:all .25s;display:inline-flex}.chip svg{color:var(--red);font-size:1.15rem}.chip:hover{border-color:var(--red);box-shadow:0 0 18px var(--red-glow);background:#ff1f3d1a}.filters{flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;display:flex}.filter{color:var(--muted);border:1px solid var(--border);background:0 0;border-radius:999px;padding:.45rem 1.1rem;transition:all .25s}.filter.on,.filter:hover{color:#fff;border-color:var(--red);box-shadow:0 0 16px var(--red-glow);background:#ff1f3d26}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem;display:grid}.project{transform-style:preserve-3d;flex-direction:column;display:flex;overflow:hidden}.project-img{background:radial-gradient(circle at 30% 20%,#ff1f3d73,#0000 60%),linear-gradient(135deg,#1a0407,#050505);place-items:center;height:170px;display:grid;position:relative;overflow:hidden}.project-img img{object-fit:cover;width:100%;height:100%}.project-img .ph{font-family:var(--font-head);color:#ffffff26;font-size:3.5rem}.project-body{flex-direction:column;flex:1;gap:.8rem;padding:1.4rem;display:flex}.project-body h3{font-size:1.3rem}.project-body p{color:var(--muted);flex:1;font-size:.95rem}.project-links{gap:1rem;font-size:.9rem;display:flex}.project-links a{color:var(--red);align-items:center;gap:.4rem;display:inline-flex}.project-links a:hover{text-shadow:0 0 12px var(--red)}.timeline{padding-left:2rem;position:relative}.timeline-line{background:var(--red);width:2px;box-shadow:0 0 12px var(--red);transform-origin:top;position:absolute;top:0;bottom:0;left:6px}.t-item{margin-bottom:1.5rem;padding:1.4rem 1.6rem;position:relative}.t-item:before{content:"";background:var(--bg);border:2px solid var(--red);width:14px;height:14px;box-shadow:0 0 12px var(--red);border-radius:50%;position:absolute;top:1.9rem;left:-2rem}.t-item small{color:var(--red);font-weight:600}.t-item h3{margin:.3rem 0;font-size:1.25rem}.t-item .lugar{color:var(--muted);font-size:.9rem}.t-item p{color:var(--muted);margin-top:.6rem}.hero .tag.subtitle{letter-spacing:.18em;margin-top:-.4rem;margin-bottom:1rem;font-size:.8rem}.avatar{object-fit:cover;border:2px solid var(--red);width:150px;height:150px;box-shadow:0 0 30px var(--red-glow);border-radius:50%;margin-bottom:1.5rem}.langs{margin-top:1.5rem}.awards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;margin-bottom:2.5rem;display:grid}.award{flex-direction:column;gap:.5rem;padding:1.6rem;display:flex}.award>svg{color:var(--red);filter:drop-shadow(0 0 10px var(--red));font-size:1.8rem}.award b{font-family:var(--font-head);font-size:1.5rem}.award h3{font-size:1.05rem;line-height:1.25}.award p{color:var(--muted);font-size:.88rem}.certs{color:var(--muted);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.8rem 2rem;font-size:.92rem;list-style:none;display:grid}.certs li{align-items:flex-start;gap:.7rem;display:flex}.certs svg{color:var(--red);flex-shrink:0;margin-top:.25rem}.contact-grid{grid-template-columns:1fr 1.2fr;gap:2.5rem;display:grid}.contact-links{align-content:start;gap:1rem;display:grid}.contact-link{align-items:center;gap:1rem;padding:1.1rem 1.4rem;display:flex}.contact-link svg{color:var(--red);font-size:1.5rem}form.card{gap:1rem;padding:1.8rem;display:grid}form input,form textarea{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:#ffffff0a;border-radius:10px;outline:none;padding:.9rem 1rem;transition:all .25s}form input:focus,form textarea:focus{border-color:var(--red);box-shadow:0 0 16px var(--red-glow)}form textarea{resize:vertical;min-height:130px}footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:2rem 0;font-size:.85rem}.cursor-dot,.cursor-ring{pointer-events:none;z-index:200;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:var(--red);width:8px;height:8px;box-shadow:0 0 14px var(--red)}.cursor-ring{border:1px solid var(--red);opacity:.6;width:38px;height:38px}canvas.bg{z-index:-1;position:fixed;inset:0}.vignette{z-index:-1;pointer-events:none;background:radial-gradient(at 50% 0,#ff1f3d1f,#0000 55%),radial-gradient(#0000 40%,#000 100%);position:fixed;inset:0}@media (hover:hover) and (pointer:fine){body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:none}}@media (hover:none){.cursor-dot,.cursor-ring{display:none}}@media (width<=800px){.about-grid,.contact-grid{grid-template-columns:1fr}.burger{display:block}.nav ul{border-bottom:1px solid var(--border);background:#050505f5;flex-direction:column;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.nav ul.open{display:flex}.nav li a{padding:1rem 1.5rem;display:block}section{padding:4rem 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
