:root{--bg: #f4f1ec;--bg2: #eceae4;--surface: #ffffff;--surface2: #f9f7f3;--border: #d6d1c8;--border-dark: #b8b2a7;--text: #1a1814;--text-muted: #635e58;--accent2: #c9622a;--success: #2d6a2d;--error: #8b2e2e;--white: #ffffff;--mono: "Space Mono", monospace;--sans: "Syne", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.6;overflow-x:hidden;cursor:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}#cursor{position:fixed;width:10px;height:10px;background:var(--accent2);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:transform .1s,width .25s,height .25s,background .25s;mix-blend-mode:multiply}#cursor-ring{position:fixed;width:36px;height:36px;border:1.5px solid var(--accent2);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:transform .18s ease,width .3s,height .3s,opacity .3s;opacity:.5}body.cursor-hover #cursor{width:16px;height:16px}body.cursor-hover #cursor-ring{width:52px;height:52px;opacity:.25}a,button{cursor:none}#loader{position:fixed;inset:0;background:var(--text);z-index:9000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem}.loader-name{font-family:var(--sans);font-size:clamp(2rem,6vw,5rem);font-weight:800;color:var(--bg);letter-spacing:-.02em;overflow:hidden}.loader-name span{display:inline-block;transform:translateY(110%);animation:loaderSlide .7s cubic-bezier(.16,1,.3,1) forwards}.loader-name span:nth-child(2){animation-delay:.1s;color:var(--accent2)}.loader-bar{width:200px;height:1px;background:#f4f1ec26;position:relative;overflow:hidden}#loader-bar-fill{position:absolute;left:0;top:0;height:100%;width:0;background:var(--accent2);transition:width .15s ease}.loader-pct{font-family:var(--mono);font-size:.65rem;letter-spacing:.15em;color:#f4f1ec59}@keyframes loaderSlide{to{transform:translateY(0)}}#loader.done{transform:translateY(-100%);transition:transform .8s cubic-bezier(.76,0,.24,1) .2s}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 3rem;background:linear-gradient(110deg,#1a1814,#2a2420 35%,#c9622a40 60%,#1a1814);background-size:300% 100%;animation:navShimmer 9s ease infinite;backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transform:translateY(-100%);transition:transform .6s cubic-bezier(.16,1,.3,1)}nav.visible{transform:translateY(0)}@keyframes navShimmer{0%{background-position:100% 0}50%{background-position:0% 0}to{background-position:100% 0}}.nav-logo{font-family:var(--sans);font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:var(--white)}.nav-logo span{color:var(--accent2)}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;position:relative;transition:color .2s}.nav-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent2);transition:width .3s ease}.nav-links a:hover{color:var(--white)}.nav-links a:hover:after{width:100%}.nav-cta{font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--white);background:var(--text);padding:.55rem 1.2rem;transition:background .2s}.nav-cta:hover{background:var(--accent2)}#hero{min-height:100vh;padding:9rem 3rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.hero-left{display:flex;flex-direction:column;justify-content:flex-end}.hero-tag{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent2);margin-bottom:2rem;display:flex;align-items:center;gap:.8rem;overflow:hidden}.hero-tag-inner{display:flex;align-items:center;gap:.8rem;transform:translate(-30px);opacity:0;transition:transform .7s cubic-bezier(.16,1,.3,1) .9s,opacity .7s ease .9s}.hero-tag-inner.in{transform:translate(0);opacity:1}.hero-tag-dot{width:6px;height:6px;background:var(--accent2);border-radius:50%;animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.hero-name{font-family:var(--sans);font-weight:800;font-size:clamp(3.5rem,9vw,8rem);line-height:.92;letter-spacing:-.03em;color:var(--text);margin-bottom:1rem;overflow:hidden}.hero-name-line{display:block;transform:translateY(110%);transition:transform .9s cubic-bezier(.16,1,.3,1)}.hero-name-line.in{transform:translateY(0)}.hero-name-line:nth-child(1){transition-delay:1s}.hero-name-line:nth-child(2){transition-delay:1.12s;color:var(--accent2)}.hero-title{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2.5rem;transform:translateY(10px);opacity:0;transition:transform .7s ease 1.3s,opacity .7s ease 1.3s}.hero-title.in{transform:translateY(0);opacity:1}.hero-actions{display:flex;gap:1rem;align-items:center;opacity:0;transform:translateY(10px);transition:opacity .6s ease 1.5s,transform .6s ease 1.5s}.hero-actions.in{opacity:1;transform:translateY(0)}.btn-primary{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;background:var(--text);color:var(--white);padding:.9rem 2rem;font-weight:700;transition:background .2s}.btn-primary:hover{background:var(--accent2)}.btn-ghost{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:.5rem;transition:color .2s}.btn-ghost:hover{color:var(--accent2)}.hero-right{display:flex;flex-direction:column;justify-content:flex-end;gap:2rem;opacity:0;transform:translate(30px);transition:opacity .8s ease 1.4s,transform .8s cubic-bezier(.16,1,.3,1) 1.4s}.hero-right.in{opacity:1;transform:translate(0)}.hero-bio{font-size:.85rem;line-height:1.9;color:var(--text-muted);border-left:2px solid var(--border-dark);padding-left:1.5rem}.hero-bio strong{color:var(--text);font-weight:700}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}.stat-item{background:var(--bg);padding:1.2rem}.stat-num{font-family:var(--sans);font-size:2rem;font-weight:800;color:var(--text);line-height:1;letter-spacing:-.02em}.stat-num span{color:var(--accent2)}.stat-label{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-top:.3rem}.hero-logo-mark{position:absolute;bottom:-.15em;right:2rem;font-family:var(--sans);font-size:clamp(10rem,22vw,20rem);font-weight:800;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--border);user-select:none;pointer-events:none;opacity:0;transform:translateY(16px);animation:logoMarkIn 1.2s cubic-bezier(.16,1,.3,1) 1.8s forwards}.hero-logo-mark span{color:transparent;-webkit-text-stroke:1.5px var(--accent2)}@keyframes logoMarkIn{to{opacity:1;transform:translateY(0)}}.hero-scroll{position:absolute;bottom:2rem;right:3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.hero-scroll span{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);writing-mode:vertical-rl}.scroll-line{width:1px;height:3rem;background:linear-gradient(to bottom,var(--accent2),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3}50%{opacity:1}}section{padding:6rem 3rem;border-bottom:1px solid var(--border)}.section-header{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:4rem;overflow:hidden}.section-num{font-size:.6rem;letter-spacing:.15em;color:var(--accent2);border:1px solid var(--accent2);padding:.2rem .5rem}.section-title{font-family:var(--sans);font-size:clamp(2rem,5vw,3.8rem);font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:1}.section-line{flex:1;height:1px;background:var(--border);align-self:center}.reveal{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.16,1,.3,1)}.reveal.in{clip-path:inset(0 0% 0 0)}.slide-up{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.slide-up.in{opacity:1;transform:translateY(0)}#projects{background:var(--bg)}.projects-lista{border-top:1px solid var(--border)}.proyecto-item{display:grid;grid-template-columns:3.5rem 1fr auto auto 2rem;align-items:center;gap:2rem;padding:1.8rem 0;border-bottom:1px solid var(--border);color:inherit;transition:padding-left .35s cubic-bezier(.16,1,.3,1)}.proyecto-item:hover{padding-left:1rem}.p-num{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;color:var(--text-muted);transition:color .25s}.proyecto-item:hover .p-num{color:var(--accent2)}.p-nombre{font-family:var(--sans);font-size:clamp(1.4rem,2.8vw,2.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--text);transition:color .25s}.proyecto-item:hover .p-nombre{color:var(--accent2)}.p-cat{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);transition:color .25s}.proyecto-item:hover .p-cat{color:var(--text)}.p-año{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--text-muted);min-width:4.5rem;text-align:right}.p-arrow{font-size:1rem;color:var(--text-muted);transition:transform .3s cubic-bezier(.16,1,.3,1),color .25s;display:inline-block}.proyecto-item:hover .p-arrow{transform:translate(4px,-4px);color:var(--accent2)}.preview-wrap{position:fixed;width:380px;height:280px;pointer-events:none;z-index:500;opacity:0;transform:scale(.88) rotate(-3deg);transition:opacity .3s ease,transform .4s cubic-bezier(.16,1,.3,1);overflow:hidden;top:0;left:0}.preview-wrap.visible{opacity:1;transform:scale(1) rotate(0)}.preview-wrap img{width:100%;height:100%;object-fit:cover;display:block}#skills{background:var(--bg2)}.skills-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.skills-group-title{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent2);margin-bottom:1.5rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}.skill-row{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--border)}.skill-name{font-size:.8rem;color:var(--text)}.skill-bar-wrap{display:flex;align-items:center;gap:.8rem}.skill-bar{width:90px;height:2px;background:var(--border-dark);position:relative;overflow:hidden}.skill-bar-fill{position:absolute;left:0;top:0;height:100%;background:var(--accent2);width:0;transition:width 1.2s cubic-bezier(.16,1,.3,1)}.skill-level{font-size:.55rem;letter-spacing:.1em;color:var(--text-muted);width:3.5rem;text-align:right}#experience{background:var(--bg)}.timeline{position:relative}.timeline-item{display:grid;grid-template-columns:200px 1fr;gap:3rem;padding:3rem 0;border-bottom:1px solid var(--border)}.timeline-item:last-child{border-bottom:none}.timeline-date{font-size:.62rem;letter-spacing:.1em;color:var(--accent2);margin-bottom:.5rem}.timeline-company{font-family:var(--sans);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:.3rem}.timeline-role{font-size:.72rem;color:var(--text-muted);font-style:italic}.timeline-points{list-style:none;display:flex;flex-direction:column;gap:.7rem}.timeline-points li{font-size:.8rem;color:var(--text-muted);padding-left:1.2rem;position:relative;line-height:1.7}.timeline-points li:before{content:"›";position:absolute;left:0;color:var(--accent2);font-size:1rem;line-height:1.3}#education{background:var(--bg2)}.education-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.edu-card{background:var(--bg2);padding:2.5rem;position:relative;overflow:hidden;transition:background .3s}.edu-card:hover{background:var(--white)}.edu-year{font-family:var(--sans);font-size:4rem;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--border-dark);line-height:1;margin-bottom:.8rem;letter-spacing:-.03em}.edu-degree{font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.3rem}.edu-school{font-size:.75rem;color:var(--text-muted)}.edu-badge{display:inline-block;margin-top:1rem;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .55rem;border:1px solid var(--accent2);color:var(--accent2)}.edu-card-line{position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--accent2);transition:width .4s cubic-bezier(.16,1,.3,1)}.edu-card:hover .edu-card-line{width:100%}#contact{background:var(--bg)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}.contact-headline{font-family:var(--sans);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;letter-spacing:-.03em;color:var(--text);line-height:.95;margin-bottom:1.5rem}.contact-headline span{color:var(--accent2)}.contact-sub{font-size:.8rem;color:var(--text-muted);line-height:1.9;margin-bottom:2.5rem}.contact-links{display:flex;flex-direction:column;gap:0}.contact-link{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border);transition:padding-left .25s ease,border-color .2s}.contact-link:first-child{border-top:1px solid var(--border)}.contact-link:hover{padding-left:.6rem;border-color:var(--accent2)}.contact-link-icon{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);min-width:4rem}.contact-link-text{font-size:.82rem;color:var(--text)}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.form-input,.form-textarea{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.85rem 1rem;font-family:var(--mono);font-size:.8rem;outline:none;transition:border-color .2s,background .2s;resize:none}.form-input:focus,.form-textarea:focus{border-color:var(--accent2);background:var(--white)}.form-textarea{min-height:120px}.form-submit{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;background:var(--text);color:var(--white);border:none;padding:1rem 2rem;cursor:none;font-weight:700;align-self:flex-start;transition:background .2s}.form-submit:hover{background:var(--accent2)}.marquee-strip{overflow:hidden;background:var(--text);padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.marquee-inner{display:flex;gap:3rem;animation:marquee 18s linear infinite;width:max-content}.marquee-item{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--bg);white-space:nowrap;display:flex;align-items:center;gap:1.5rem}.marquee-dot{width:5px;height:5px;background:var(--accent2);border-radius:50%;flex-shrink:0}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}footer{padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;background:var(--bg2)}.footer-copy{font-size:.6rem;letter-spacing:.1em;color:var(--text-muted)}.footer-logo{font-family:var(--sans);font-size:1.1rem;font-weight:800;color:var(--text);letter-spacing:-.02em}.footer-logo span{color:var(--accent2)}@media(max-width:900px){nav{padding:1rem 1.5rem}.nav-links{display:none}section{padding:4rem 1.5rem}#hero{padding:7rem 1.5rem 3rem;grid-template-columns:1fr;gap:3rem}.hero-right{transform:none}.proyecto-item{grid-template-columns:2.5rem 1fr auto;gap:.8rem}.p-cat,.p-año,.preview-wrap{display:none}.skills-layout,.contact-layout{grid-template-columns:1fr;gap:2.5rem}.education-grid{grid-template-columns:1fr}.hero-scroll,.hero-logo-mark{display:none}.timeline-item{grid-template-columns:1fr;gap:1rem}body{cursor:auto}#cursor,#cursor-ring{display:none}.form-submit{cursor:pointer}}
