:root{--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Outfit", sans-serif;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--max-width:1200px;--header-height:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:9999px;--bg-base:#fafaf9;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-surface-subtle:#f4f4f5;--bg-surface-glass:#ffffffeb;--bg-surface-hover:#f1f5f9;--text-primary:#090d16;--text-secondary:#334155;--text-muted:#64748b;--text-light:#94a3b8;--text-inverse:#fff;--border-subtle:#0f172a14;--border-glass:#0f172a1f;--border-glass-hover:#0d948866;--border-accent:#0d948880;--accent:#0d9488;--accent-rgb:13, 148, 136;--accent-glow:#0d948826;--accent-subtle:#0d948814;--accent-dark:#0f766e;--accent-blue:#2563eb;--accent-blue-subtle:#2563eb14;--accent-amber:#d97706;--accent-amber-subtle:#d9770614;--shadow-sm:0 1px 3px #0f172a0d;--shadow-md:0 4px 16px -2px #0f172a14;--shadow-lg:0 12px 32px -4px #0f172a1a;--shadow-glow:0 0 20px -2px #0d948833;--glass-blur:blur(12px);--glass-blur-strong:blur(20px);--sec-hero-bg:transparent;--sec-hero-text:#fff;--sec-perfil-bg:transparent;--sec-formacion-bg:transparent;--sec-trayectoria-bg:transparent;--sec-proyectos-bg:transparent;--sec-arquitectura-bg:transparent;--sec-ehs-bg:transparent;--sec-contacto-bg:transparent;--accent-hazard:#f59e0b;--accent-cyan:#06b6d4;--accent-violet:#8b5cf6;--accent-emerald:#10b981}[data-theme=light],[data-theme-mode=light]{--bg-base:#fafaf9;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-surface-subtle:#f4f4f5;--bg-surface-glass:#ffffffeb;--bg-surface-hover:#f1f5f9;--text-primary:#090d16;--text-secondary:#334155;--text-muted:#64748b;--text-light:#94a3b8;--text-inverse:#fff;--border-subtle:#0f172a14;--border-glass:#0f172a1f;--border-glass-hover:#0d948866;--border-accent:#0d948880;--accent:#0d9488;--accent-rgb:13, 148, 136;--accent-glow:#0d948826;--accent-subtle:#0d948814;--accent-dark:#0f766e;--shadow-sm:0 1px 3px #0f172a0d;--shadow-md:0 4px 16px -2px #0f172a14;--shadow-lg:0 12px 32px -4px #0f172a1a}[data-theme=dark],[data-theme-mode=dark]{--bg-base:#0a1128;--bg-surface:#121c3b;--bg-surface-elevated:#1a2752;--bg-surface-subtle:#0f1733;--bg-surface-glass:#121c3be0;--bg-surface-hover:#1e2d5c;--text-primary:#fff;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-light:#64748b;--text-inverse:#0a1128;--border-subtle:#6366f138;--border-glass:#38bdf847;--border-glass-hover:#38bdf8a6;--border-accent:#6366f1a6;--accent:#38bdf8;--accent-rgb:56, 189, 248;--accent-glow:#38bdf859;--accent-subtle:#38bdf824;--accent-dark:#0284c7;--shadow-sm:0 2px 6px #050a1966;--shadow-md:0 8px 24px -2px #050a1999;--shadow-lg:0 20px 48px -4px #050a19bf;--shadow-glow:0 0 30px -4px #38bdf873}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:80px;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.65;transition:background-color .25s cubic-bezier(.16,1,.3,1),color .25s cubic-bezier(.16,1,.3,1);position:relative;overflow-x:hidden}::selection{background-color:var(--accent);color:var(--text-inverse)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.035em;font-weight:800;line-height:1.15}h1{letter-spacing:-.04em;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900}h2{letter-spacing:-.03em;font-size:clamp(1.75rem,3.5vw,2.5rem)}h3{letter-spacing:-.025em;font-size:clamp(1.2rem,2vw,1.5rem)}p{color:var(--text-secondary);line-height:1.7}a{color:inherit;text-decoration:none;transition:color .2s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.16,1,.3,1)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.tech-mono{font-family:var(--font-mono);letter-spacing:-.01em}.section-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);align-items:center;gap:.6rem;margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:inline-flex}.section-kicker:before{content:"";background-color:var(--accent);border-radius:1px;width:14px;height:2px;display:inline-block}.editorial-link{text-decoration:none;position:relative}.editorial-link:after{content:"";background-color:var(--accent);transform-origin:100%;width:100%;height:1.5px;transition:transform .25s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.editorial-link:hover:after{transform-origin:0;transform:scaleX(1)}.app-container{width:100%;max-width:var(--max-width);z-index:1;margin:0 auto;padding:2rem 1.5rem 6rem;position:relative}@media (width<=768px){.app-container{padding:1.25rem 1rem 4rem}}.editorial-section{border-top:1px solid var(--border-subtle);padding:clamp(3.5rem,6vw,5.5rem) 0;position:relative}.editorial-section:first-of-type{border-top:none;padding-top:clamp(1.5rem,3vw,2.5rem)}.technical-corner{position:relative}.technical-corner:before,.technical-corner:after{content:"+";font-family:var(--font-mono);color:var(--border-glass);pointer-events:none;font-size:.75rem;line-height:1;position:absolute}.technical-corner:before{top:-8px;left:0}.technical-corner:after{top:-8px;right:0}.editorial-grid{grid-template-columns:1fr 2fr;align-items:flex-start;gap:clamp(2rem,5vw,4.5rem);display:grid}@media (width<=900px){.editorial-grid{grid-template-columns:1fr;gap:1.75rem}}.tag-discrete{border-radius:var(--radius-xs);background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.75rem;font-weight:600;font-family:var(--font-mono);letter-spacing:-.01em;align-items:center;gap:.35rem;padding:.3rem .65rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.tag-discrete:hover{border-color:var(--border-accent);color:var(--text-primary);transform:translateY(-1px)}.tag-accent{border-radius:var(--radius-xs);background:var(--accent-subtle);border:1px solid var(--border-accent);color:var(--accent-dark);font-size:.75rem;font-weight:700;font-family:var(--font-mono);align-items:center;gap:.35rem;padding:.3rem .65rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}[data-theme=dark] .tag-accent{color:var(--accent)}.status-indicator{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;display:inline-flex}.status-dot{background-color:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--accent-subtle);border-radius:50%;animation:2.5s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 2px var(--accent-subtle);transform:scale(1)}50%{box-shadow:0 0 0 4px var(--accent-glow);transform:scale(1.15)}}.case-study-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);transition:border-color .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.case-study-card:hover{border-color:var(--border-glass-hover);box-shadow:var(--shadow-md)}.image-clip-reveal{clip-path:inset(0% 0% 0% 0% round var(--radius-sm));transition:clip-path .6s cubic-bezier(.16,1,.3,1)}.btn-shadcn-primary{background:var(--text-primary);color:var(--text-inverse);letter-spacing:-.01em;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 3px #0003}.btn-shadcn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-shadcn-primary:active{transform:scale(.98)}.btn-shadcn-secondary{background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-shadcn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-glass-hover);transform:translateY(-1px)}.btn-shadcn-outline{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-shadcn-outline:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-glass)}.btn-shadcn-pill{background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-shadcn-pill:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--accent)}.reactbits-bento-grid{grid-template-columns:repeat(12,1fr);gap:1.5rem;display:grid}@media (width<=1024px){.reactbits-bento-grid{grid-template-columns:repeat(6,1fr)}}.btn-whatsapp-glow{letter-spacing:-.01em;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 50%,#06b6d4 100%);border:1px solid #ffffff59;border-radius:9999px;justify-content:center;align-items:center;gap:.6rem;padding:.65rem 1.35rem;font-size:.88rem;font-weight:800;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 0 28px -4px #10b98199,0 4px 16px #0006;color:#fff!important}.btn-whatsapp-glow:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 0 36px #10b981d9,0 8px 24px #00000080}.btn-whatsapp-glow:active{transform:scale(.98)}.btn-glass-cv{backdrop-filter:blur(12px);white-space:nowrap;cursor:pointer;background:#121c3bcc;border:1px solid #6366f159;border-radius:9999px;justify-content:center;align-items:center;gap:.55rem;padding:.65rem 1.25rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 16px #050a1966;color:#fff!important}.btn-glass-cv:hover{background:#1c2a55f2;border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 0 24px -2px #38bdf873}.btn-glass-email{backdrop-filter:blur(12px);color:#cbd5e1;white-space:nowrap;cursor:pointer;background:#121c3ba6;border:1px solid #ffffff1f;border-radius:9999px;justify-content:center;align-items:center;gap:.55rem;padding:.65rem 1.15rem;font-size:.84rem;font-weight:600;transition:all .22s;display:inline-flex}.btn-glass-email:hover{color:#fff;border-color:#6366f173;transform:translateY(-2px)}.btn-rb-gradient{letter-spacing:-.01em;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#9333ea 0%,#a855f7 100%);border:1px solid #fff3;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.35rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 0 24px -4px #a855f78c,0 2px 8px #0006;color:#fff!important}.btn-rb-gradient:hover{transform:translateY(-2px);box-shadow:0 0 32px #a855f7bf,0 4px 12px #00000080}.btn-rb-gradient:active{transform:scale(.98)}.rb-pill-badge{color:#c084fc;font-size:.72rem;font-weight:700;font-family:var(--font-mono);background:#a855f71f;border:1px solid #a855f759;border-radius:9999px;align-items:center;gap:.4rem;padding:.25rem .65rem;display:inline-flex}.rb-preview-container{background:#0e0c16;border:1px solid #2a2438;border-radius:20px;overflow:hidden;box-shadow:0 16px 48px -12px #000000b3,0 0 32px -8px #a855f72e}@media (width<=768px){.reactbits-bento-grid{grid-template-columns:1fr;gap:1.25rem}}.btn-primary{border-radius:var(--radius-sm);background:var(--accent);color:#fff;letter-spacing:-.01em;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-size:.875rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 8px #0d948833}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 6px 16px #0d94884d}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-secondary{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-glass);color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-size:.875rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)scale(.98)}.project-hero-case{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);transition:border-color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.project-hero-case:hover{border-color:var(--accent);box-shadow:0 16px 40px -10px #0d948833}.project-asymmetric-split{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(1.5rem,3vw,3rem);padding:clamp(2rem,4vw,3.5rem) 0;display:grid}@media (width<=900px){.project-asymmetric-split{grid-template-columns:1fr}}.project-industrial-strip{border:1px solid var(--border-subtle);border-left:4px solid var(--accent-cyan);border-radius:var(--radius-sm);background:var(--bg-surface);grid-template-columns:280px 1fr;gap:2rem;padding:clamp(1.5rem,2.5vw,2.25rem);transition:all .25s;display:grid}@media (width<=850px){.project-industrial-strip{grid-template-columns:1fr}}.project-command-bar{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);padding:clamp(1.5rem,2.5vw,2.5rem);position:relative;overflow:hidden}.project-command-bar:before{content:"";background:linear-gradient(90deg, var(--accent-violet), var(--accent-cyan), transparent);height:2px;position:absolute;top:0;left:0;right:0}.project-mosaic{background:var(--bg-surface-subtle);border:1px solid var(--border-glass);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;align-items:center;gap:2rem;padding:clamp(1.75rem,3vw,2.75rem);display:grid}@media (width<=850px){.project-mosaic{grid-template-columns:1fr}}.career-map-container{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid;position:relative}.career-station{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1.5rem;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative}.career-station:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.career-station-step{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.725rem;font-weight:800;display:flex}.skills-kinetic-container{flex-direction:column;gap:.85rem;display:flex}.skills-kinetic-item{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-primary);cursor:pointer;user-select:none;font-size:clamp(2rem,5.5vw,4.2rem);font-weight:900;line-height:1.05;transition:color .25s,opacity .25s,transform .25s}.skills-kinetic-container:hover .skills-kinetic-item:not(:hover){opacity:.25;filter:blur(.5px)}.skills-kinetic-item:hover{color:var(--accent);transform:translate(8px)}.hazard-stripes{background:repeating-linear-gradient(-45deg,#f59e0b1f,#f59e0b1f 8px,#0000 8px 16px)}.regulatory-stamp{border:1px dashed var(--accent-hazard);border-radius:var(--radius-xs);font-family:var(--font-mono);background:#f59e0b0d;flex-direction:column;align-items:flex-start;padding:.5rem .85rem;display:inline-flex}.glitch-hover{transition:transform .2s;display:inline-block}.glitch-hover:hover{animation:.22s forwards micro-glitch}@keyframes micro-glitch{0%{text-shadow:none;transform:translate(0)}25%{text-shadow:-1.5px 0 #06b6d4,1.5px 0 #ef4444;transform:translate(-1.5px,1px)}50%{text-shadow:1.5px 0 #06b6d4,-1.5px 0 #ef4444;transform:translate(1.5px,-1px)}75%{text-shadow:-1px 0 #10b981;transform:translate(-1px,.5px)}to{text-shadow:none;transform:translate(0)}}.project-filmstrip{scrollbar-width:thin;gap:.5rem;padding:.5rem 0;display:flex;overflow-x:auto}.project-thumb-btn{border-radius:var(--radius-xs);border:1px solid var(--border-subtle);cursor:pointer;opacity:.6;background:#090d16;flex-shrink:0;width:78px;height:52px;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);overflow:hidden}.project-thumb-btn.active,.project-thumb-btn:hover{opacity:1;border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0d94884d}.project-thumb-btn img{object-fit:cover;width:100%;height:100%}@keyframes draw-path{to{stroke-dashoffset:0}}.draw-svg-wire{stroke-dasharray:800;stroke-dashoffset:800px;animation:1.4s cubic-bezier(.16,1,.3,1) forwards draw-path}.parallax-img-wrap{border-radius:var(--radius-sm);background:#090d16;position:relative;overflow:hidden}.parallax-img-wrap img{will-change:transform;transition:transform .4s cubic-bezier(.16,1,.3,1)}.parallax-img-wrap:hover img{transform:scale(1.035)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.status-dot{animation:none}.image-clip-reveal{clip-path:none!important}}@media (width<=768px){html,body{max-width:100vw!important;overflow-x:hidden!important}.app-container{padding:1.25rem 1rem 4rem!important}.editorial-section{padding:clamp(2.5rem,5vw,3.5rem) 0!important}.project-filmstrip{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:.75rem}.project-command-bar{padding:1.25rem 1rem!important}.project-mosaic{grid-template-columns:1fr!important;gap:1.5rem!important;padding:1.25rem 1rem!important}.project-industrial-strip{grid-template-columns:1fr!important;padding:1.25rem 1rem!important}.skills-kinetic-item{font-size:clamp(1.65rem,6.5vw,2.8rem)!important}.career-map-container{grid-template-columns:1fr!important}}@media (width<=480px){.app-container{padding:1rem .85rem 3.5rem!important}.editorial-section{padding:2.25rem 0!important}.project-thumb-btn{width:68px!important;height:46px!important}.tag-discrete,.tag-accent{padding:.25rem .5rem!important;font-size:.7rem!important}}
