:root{--bg:#fff;--bg-soft:#f7f8fa;--card:#fff;--border:#e7e9ee;--text:#14171c;--text-soft:#4a5260;--text-dim:#8b94a3;--accent:#2b5cff;--accent-soft:#eef2ff;--radius:10px;--maxw:860px;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-theme=dark]{--bg:#0e1013;--bg-soft:#14171c;--card:#14171c;--border:#242932;--text:#e9ecf1;--text-soft:#a3acbb;--text-dim:#6b7484;--accent:#6b8cff;--accent-soft:#1a2030}*{box-sizing:border-box;min-width:0;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--sans);background:var(--bg);color:var(--text);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;width:100%;max-width:100%;font-size:16px;line-height:1.65;transition:background .25s,color .25s;overflow-x:clip}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}@media (width<=480px){.container{padding:0 18px}}.section{border-top:1px solid var(--border);padding:72px 0}.section:first-of-type{border-top:none}.section-head{margin-bottom:34px}.section-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:.75rem;font-weight:600}.section-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.section-title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 16px;display:flex}.head-link{color:var(--text-soft);white-space:nowrap;font-size:.85rem;transition:color .18s}.head-link:hover{color:var(--accent)}.btn{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:500;transition:border-color .18s,background .18s,color .18s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.chip{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-soft);border-radius:6px;padding:5px 11px;font-size:.83rem;font-weight:500;display:inline-block}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;transition:border-color .18s}.card:hover{border-color:var(--text-dim)}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=720px){.grid-2{grid-template-columns:1fr}.section{padding:54px 0}}.nav{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb, var(--bg) 85%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:58px;display:flex}.nav-brand{letter-spacing:-.01em;font-size:.98rem;font-weight:600}.nav-right{align-items:center;gap:12px;display:flex}.nav-links{align-items:center;gap:26px;display:flex}.nav-links a{color:var(--text-soft);font-size:.9rem;transition:color .18s}.nav-links a:hover{color:var(--text)}.theme-toggle,.nav-burger{border:1px solid var(--border);color:var(--text-soft);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;transition:border-color .18s,color .18s;display:grid}.theme-toggle{font-size:.9rem}.nav-burger{font-size:1rem;line-height:1;display:none}.lang-toggle{border:1px solid var(--border);color:var(--text-soft);cursor:pointer;letter-spacing:.03em;background:0 0;border-radius:8px;flex-shrink:0;height:34px;padding:0 12px;font-size:.8rem;font-weight:600;transition:border-color .18s,color .18s}.theme-toggle:hover,.nav-burger:hover,.lang-toggle:hover{border-color:var(--text-dim);color:var(--text)}@media (width<=760px){.nav-burger{display:grid}.nav-links{background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;padding:6px 20px 14px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px #00000014}.nav-links.open{display:flex}.nav-links a{color:var(--text);border-bottom:1px solid var(--border);padding:13px 2px;font-size:1rem}.nav-links a:last-child{border-bottom:none}}.hero{padding:88px 0 64px}.hero-monogram{border:1px solid var(--border);letter-spacing:.02em;width:56px;height:56px;color:var(--text-soft);border-radius:50%;place-items:center;margin-bottom:26px;font-size:1.1rem;font-weight:600;display:grid;overflow:hidden}.hero-monogram.has-photo{width:104px;height:104px}.hero-monogram img{object-fit:cover;width:100%;height:100%}.hero-badge{color:var(--text-soft);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;margin-bottom:18px;padding:5px 12px;font-size:.82rem;display:inline-flex}.hero-badge .dot{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #22c55e38}.hero-name{letter-spacing:-.03em;font-size:clamp(2rem,5.5vw,3rem);font-weight:700;line-height:1.08}.hero-role{color:var(--text-soft);margin-top:10px;font-size:clamp(1rem,2.4vw,1.2rem);font-weight:500}.hero-summary{color:var(--text-soft);max-width:640px;margin:22px 0 26px;font-size:1.02rem}.hero-meta{color:var(--text-dim);flex-wrap:wrap;gap:8px 22px;margin-bottom:26px;font-size:.9rem;display:flex}.hero-meta a{color:var(--text-soft);transition:color .18s}.hero-meta a:hover{color:var(--accent)}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.skill-cat{margin-bottom:12px;font-size:.95rem;font-weight:600}.skill-list{flex-wrap:wrap;gap:7px;display:flex}.exp-item{border-top:1px solid var(--border);grid-template-columns:150px 1fr;gap:20px;padding:22px 0;display:grid}.exp-item:first-child{border-top:none;padding-top:0}.exp-periodo{color:var(--text-dim);font-variant-numeric:tabular-nums;padding-top:2px;font-size:.85rem}.exp-puesto{font-size:1.05rem;font-weight:600}.exp-empresa{color:var(--text-soft);margin:2px 0 12px;font-size:.92rem}.exp-detalles{list-style:none}.exp-detalles li{color:var(--text-soft);margin-bottom:5px;padding-left:16px;font-size:.94rem;position:relative}.exp-detalles li:before{content:"—";color:var(--text-dim);position:absolute;left:0}@media (width<=640px){.exp-item{grid-template-columns:1fr;gap:6px}}.proj-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:1.05rem;font-weight:600;display:flex}.proj-links{flex-shrink:0;gap:12px;display:flex}.proj-links a{color:var(--text-dim);font-size:.85rem}.proj-links a:hover{color:var(--accent)}.proj-desc{color:var(--text-soft);margin-bottom:14px;font-size:.93rem}.proj-tags{flex-wrap:wrap;gap:6px;display:flex}.about-text{max-width:680px}.about-text p{color:var(--text-soft);margin-bottom:14px}.about-text p:last-child{margin-bottom:0}.list-row{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;display:flex}.list-row:first-child{border-top:none}.list-main{font-size:.98rem;font-weight:500}.list-sub{color:var(--text-soft);margin-top:2px;font-size:.88rem}.list-meta{color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;font-size:.83rem}.list-note{color:var(--text-dim);margin-top:4px;font-size:.86rem}.list-right{flex-shrink:0;align-items:baseline;gap:14px;display:flex}.list-link{color:var(--text-soft);white-space:nowrap;font-size:.83rem;transition:color .18s}.list-link:hover{color:var(--accent)}@media (width<=560px){.list-row{flex-direction:column;gap:6px}.list-right{justify-content:space-between;width:100%}.list-meta{text-align:left;white-space:normal}}.two-col{grid-template-columns:1fr 1fr;gap:40px;display:grid}@media (width<=720px){.two-col{grid-template-columns:1fr;gap:28px}}.mini-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:14px;font-size:.78rem;font-weight:600}.soft-list{list-style:none}.soft-list li{color:var(--text-soft);border-bottom:1px solid var(--border);padding:5px 0;font-size:.93rem}.soft-list li:last-child{border-bottom:none}.contact-links{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.footer{border-top:1px solid var(--border);color:var(--text-dim);padding:28px 0;font-size:.85rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}
