:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--brand-navy:#1b244f;--brand-gold:#fecb57;--bg-primary:#0f1829;--bg-secondary:#1b244f;--bg-card:#1b244f;--bg-contrast:#2a3563;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-light:#f1f5f9;--accent-primary:#fecb57;--accent-secondary:#fdb022;--accent-blue:#60a5fa;--accent-green:#34d399;--accent-dark:#fecb57;--border:#2a3563;--shadow-sm:#0003;--shadow-md:#0000004d;--shadow-lg:#0006;--shadow-xl:#00000080;--gradient-start:#1b244f;--gradient-end:#0f1829;--hover-gradient-end:#2a3563;font-family:Inter,Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#root{width:100%}.navbar{z-index:10;background:var(--bg-primary);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 6vw;display:flex;position:sticky;top:0}.navbar-brand{color:var(--text-primary);align-items:center;gap:.6rem;font-size:1.1rem;font-weight:700;display:flex}.navbar-logo{border-radius:6px;width:28px;height:28px}.navbar-links{flex-wrap:wrap;gap:1.5rem;display:flex}.navbar-link{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.95rem;font-weight:500;transition:color .2s;display:inline-flex}.navbar-link:hover,.navbar-link.active{color:var(--accent-primary)}.navbar-link-icon{display:inline-block}.navbar-link:hover .navbar-link-icon{animation:.4s navbar-wiggle}@keyframes navbar-wiggle{0%{transform:rotate(0)translateY(0)}25%{transform:rotate(-12deg)translateY(-2px)}50%{transform:rotate(10deg)translateY(-3px)}75%{transform:rotate(-6deg)translateY(-1px)}to{transform:rotate(0)translateY(0)}}.navbar-cta{padding:.6rem 1.3rem}.navbar-lang{align-items:center;gap:.5rem;display:flex}.navbar-lang-link{opacity:.45;filter:grayscale(60%);transition:opacity .2s,transform .2s,filter .2s;display:flex}.navbar-lang-link svg{width:22px;height:16px;box-shadow:0 0 0 1px var(--border);border-radius:3px;display:block}.navbar-lang-link:hover,.navbar-lang-link.active{opacity:1;filter:grayscale(0%)}.navbar-lang-link:hover{transform:scale(1.15)}@media (width<=720px){.navbar{padding:1rem 1.5rem}}.page{flex-direction:column;gap:6rem;padding:0 6vw 6rem;display:flex}.hero{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center;gap:3rem;padding-top:4rem;display:grid}.hero-content h1{margin-bottom:1rem;font-size:clamp(2.2rem,4vw,3.6rem)}.lead{max-width:40rem;font-size:1.1rem}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.hero-panel{justify-content:center;display:flex}.panel-card{--card-gradient-base:var(--bg-contrast);border:1px solid var(--border);box-shadow:0 20px 50px var(--shadow-md);color:var(--text-light);border-radius:24px;max-width:360px;padding:2rem}.panel-title{text-transform:uppercase;letter-spacing:.1em;color:var(--accent-primary);font-weight:700}.panel-quote{margin:1rem 0 1.5rem;line-height:1.7}.panel-author{color:var(--text-light);font-size:.95rem}.section{flex-direction:column;gap:2.5rem;scroll-margin-top:6rem;display:flex}.section-header h2{margin:.5rem 0 .8rem;font-size:clamp(1.8rem,3vw,2.6rem)}.muted{color:var(--text-muted);max-width:48rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--accent-primary);margin-bottom:.5rem;font-size:.75rem}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.card{background:var(--bg-card);box-shadow:0 10px 30px var(--shadow-md);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:.75rem;padding:1.75rem;display:flex}.card h2,.card h3{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.95rem}.card p{margin:0}.card-icon{font-size:1.6rem}.card-flag{width:64px;height:46px;box-shadow:0 0 0 1px var(--border);border-radius:6px;display:block}.card-link{color:var(--accent-primary);align-self:flex-start;margin-top:auto;font-weight:600;transition:transform .2s}.card-link:hover{transform:translate(4px)}.pillars{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.pillar,.card-gradient,.timeline-content,.panel-card{background:linear-gradient(160deg, color-mix(in srgb, var(--accent-primary) 7%, var(--card-gradient-base,var(--bg-card))), var(--card-gradient-base,var(--bg-card)) 55%);border-color:color-mix(in srgb, var(--accent-primary) 12%, var(--border))}.pillar{gap:1.25rem}.pillar-highlighted{background:linear-gradient(160deg, color-mix(in srgb, var(--accent-primary) 20%, var(--bg-card)), var(--bg-card) 60%);border-color:color-mix(in srgb, var(--accent-primary) 60%, var(--border));box-shadow:0 10px 30px var(--shadow-md), 0 0 24px color-mix(in srgb, var(--accent-primary) 18%, transparent)}.pillar-header{align-items:flex-start;gap:1rem;display:flex}.pillar-badge{width:2.75rem;height:2.75rem;color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 16%, transparent);border-radius:12px;flex:none;place-items:center;font-size:1.4rem;display:grid}.pillar h3{letter-spacing:normal;text-transform:none;margin-bottom:.25rem;font-size:1.2rem}.pillar-items{margin:0;padding:0;list-style:none}.pillar-items li+li{border-top:1px solid var(--border)}.pillar-items a{color:inherit;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .75rem;padding:.75rem 0;display:grid}.pillar-items .muted{font-size:.9rem}.pillar-arrow{color:var(--text-muted);grid-area:1/2/span 2;transition:transform .2s,color .2s}.pillar-items a:hover strong,.pillar-items a:hover .pillar-arrow,.pillar-items a:focus-visible .pillar-arrow{color:var(--accent-primary)}.pillar-items a:hover .pillar-arrow,.pillar-items a:focus-visible .pillar-arrow{transform:translate(4px)}@media (width<=720px){.pillars{grid-template-columns:minmax(0,1fr)}}.contrast{background:var(--bg-contrast);color:var(--text-light);border-radius:24px;padding:3rem}.contrast .eyebrow{color:var(--accent-primary)}.contrast blockquote{flex-direction:column;gap:1rem;margin:0;font-size:1.2rem;line-height:1.8;display:flex}.contrast blockquote span{color:var(--text-light);font-size:.95rem}.skills{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.25rem;display:grid}.skill-category{margin-bottom:2.5rem}.skill-category-title{color:var(--text-primary);border-bottom:2px solid var(--accent-primary);margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600;display:inline-block}.skill-item{background:linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);color:var(--text-primary);text-align:center;border:1px solid var(--border);box-shadow:0 4px 12px var(--shadow-sm);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.skill-item:hover{box-shadow:0 12px 24px var(--shadow-lg);border-color:var(--accent-primary);background:linear-gradient(135deg, var(--gradient-start) 0%, var(--hover-gradient-end) 100%);transform:translateY(-4px)scale(1.02)}.skill-logo{object-fit:contain;width:48px;height:48px;filter:drop-shadow(0 2px 4px var(--shadow-sm));transition:transform .3s}.skill-item:hover .skill-logo{transform:scale(1.1)}.tag{background:var(--border);color:var(--text-primary);border-radius:999px;padding:.45rem .9rem;font-size:.9rem}.links{flex-wrap:wrap;gap:1.5rem;display:flex}.links a{color:var(--text-primary);font-weight:600}.footer{background-color:var(--bg-contrast);color:var(--text-muted);flex-direction:column;display:flex}.footer-content{grid-template-columns:repeat(3,1fr);gap:3rem;padding:3rem 2rem;display:grid}.footer-brand,.footer-section{flex-direction:column;gap:1rem;display:flex}.footer-logo{display:block}.footer-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 .5rem;font-size:.9rem;font-weight:600}.footer-links{flex-direction:column;gap:.5rem;display:flex}.footer-links a{color:var(--accent-secondary);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--accent-primary)}.footer-bottom{border-top:1px solid var(--border);text-align:center;margin-top:auto;padding:1.5rem 2rem}.legal-banner{border:1px solid var(--border);width:100%;height:auto;box-shadow:0 10px 30px var(--shadow-md);border-radius:18px;margin:4rem 0 3rem;display:block}.legal-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.legal-card-wide{grid-column:1/-1}.pdf-container{border:1px solid var(--border);width:100%;max-width:900px;box-shadow:0 10px 30px var(--shadow-md);border-radius:12px;margin:2rem auto;overflow:hidden}.pdf-container iframe{border:none;display:block}@media (width<=720px){.page{padding:0 1.5rem 4rem}.contrast{padding:2rem}}@media (width<=768px){.footer-content{grid-template-columns:1fr;gap:2rem}}.btn{border:1px solid #0000;border-radius:999px;padding:.8rem 1.6rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn.primary{background:var(--bg-contrast);color:var(--text-light);box-shadow:0 12px 24px var(--shadow-xl)}.btn.ghost{border-color:var(--text-muted);color:var(--text-primary)}.btn:hover{box-shadow:0 10px 20px var(--shadow-xl);transform:translateY(-2px)}@media (width<=720px){.page{padding:0 1.5rem 4rem}.contrast{padding:2rem}}.timeline{max-width:1000px;margin:0 auto;padding:2rem 0;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--accent-primary), var(--accent-secondary));width:2px;height:100%;position:absolute;left:50%;transform:translate(-50%)}.timeline-item{grid-template-columns:1fr 40px 1fr;gap:2rem;margin-bottom:3rem;display:grid;position:relative}.timeline-item:nth-child(2n) .timeline-content{grid-area:1/1}.timeline-item:nth-child(2n) .timeline-marker{grid-column:2}.timeline-item:nth-child(odd) .timeline-content{grid-area:1/3}.timeline-item:nth-child(odd) .timeline-marker{grid-column:2}.timeline-marker{background:var(--accent-primary);border:4px solid var(--bg-secondary);z-index:2;border-radius:50%;place-self:start center;width:16px;height:16px;margin-top:1.5rem;position:relative;box-shadow:0 0 0 4px #fecb5733}.timeline-content{box-shadow:0 10px 30px var(--shadow-md);border-style:solid;border-width:1px;border-radius:18px;padding:2rem;transition:transform .3s,box-shadow .3s}.timeline-content:hover{box-shadow:0 15px 40px var(--shadow-lg);transform:translateY(-4px)}.timeline-header{margin-bottom:1.5rem}.timeline-period{color:#0369a1;background:#e0f2fe;border-radius:6px;margin-bottom:.75rem;padding:.35rem .8rem;font-size:.85rem;font-weight:600;display:inline-block}.timeline-header h3{color:var(--text-primary);margin:.5rem 0;font-size:1.5rem}.timeline-meta{color:var(--text-muted);margin:.25rem 0;font-size:.9rem}.timeline-body h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem}.timeline-project{color:var(--text-secondary);margin:.5rem 0;font-size:.95rem}.timeline-body>p{color:var(--text-secondary);margin:1rem 0;line-height:1.7}.timeline-achievements{margin:1rem 0;padding:0;list-style:none}.timeline-achievements li{color:var(--text-secondary);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.timeline-achievements li:before{content:"✓";color:var(--accent-green);font-weight:700;position:absolute;left:0}.timeline-tech{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.tech-tag{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:500}@media (width<=768px){.timeline:before{left:20px}.timeline-item{grid-template-columns:40px 1fr;gap:1rem}.timeline-item:nth-child(2n) .timeline-content,.timeline-item:nth-child(odd) .timeline-content{grid-column:2}.timeline-marker{margin-top:1rem}}.detail-list{color:var(--text-secondary);margin-top:.5rem;padding-left:1.5rem;font-size:.9rem;line-height:1.8}.highlight-tags{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.highlight-tag{background:var(--accent-primary);color:var(--brand-navy);border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.progress-bar-container{background-color:var(--border);border-radius:4px;width:100%;height:8px;margin-top:1rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent-secondary), var(--accent-primary));height:100%;transition:width .3s}.centered-grid{max-width:800px;margin:0 auto}
