:root{--bg:#0b0d10;--panel:#12161b;--muted:#a6b0bf;--text:#e8eef8;--brand:#6bb6ff;--brand-2:#8bd0ff;--ok:#34d399;--warn:#f59e0b;--shadow:0 8px 24px #00000059;--radius:16px;--gap:22px;--border:#1f2937;--border-hover:#334155;--hero-from:#0b0d10cc;--hero-to:#0b0d1099;--nav-offset:90px}html{scroll-behavior:smooth}section[id],header[id]{scroll-margin-top:var(--nav-offset)}@media (max-width:980px){:root{--nav-offset:100px}}[data-theme=light]{--bg:#f6f8fb;--panel:#fff;--muted:#5b6676;--text:#0b0d10;--brand:#2563eb;--brand-2:#1d4ed8;--border:#e2e8f0;--border-hover:#cbd5e1;--hero-from:#ffffffeb;--hero-to:#ffffffb3}[data-theme=light] a{color:var(--brand)}[data-theme=light] a:hover{color:var(--brand-2)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-2)}body{background-image:url(/img/oscuro.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}[data-theme=light] body{background-image:url(/img/blanco.png)}.container{max-width:1100px;margin:0 auto;padding:24px}.skip-link{position:absolute;top:auto;left:-9999px}.skip-link:focus{color:#e8eef8;z-index:999;background:#12161b;border-radius:8px;padding:10px 14px;top:16px;left:16px}.stack-icon{vertical-align:middle;width:24px;height:24px;margin-right:8px}nav{z-index:20;background:0 0;position:sticky;top:7px}.nav-inner{background:linear-gradient(180deg, var(--hero-from), var(--hero-to));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:20px;justify-content:space-between;align-items:center;max-width:1100px;margin:7px auto;padding:14px 24px;display:flex;box-shadow:0 2px 16px #0000001a}.brand{align-items:center;gap:10px;min-width:0;display:flex}.site-title{letter-spacing:.4px;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(14px,2.2vw,16px);font-weight:600;overflow:hidden}.nav-right{align-items:center;gap:16px;display:flex}.btn{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.btn:hover{border-color:var(--border-hover)}.icon-btn{cursor:pointer;border:1px solid var(--border);background:var(--panel);width:40px;height:40px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{border-color:var(--border-hover)}.btn-ghost{border:1px solid var(--border);background:0 0}[data-theme=light] .btn-ghost:hover{background:#f4f6fb}.btn-ghost:hover{background:#0b1118}header.hero{text-align:center;justify-content:center;align-items:center;padding:120px 24px 80px;display:flex}[data-theme=light] header.hero{box-shadow:inset 0 -1px 0 var(--border)}.hero-inner{max-width:940px}.hero-title{text-align:center;text-wrap:balance;white-space:normal;margin:0;font-size:clamp(24px,6.5vw,64px);font-weight:800;line-height:1.05}.headline{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:14px;display:flex}@media (min-width:900px){.headline{flex-wrap:nowrap;align-items:baseline}.hero-title{white-space:nowrap;font-size:clamp(28px,5.4vw,58px)}.status-badge{align-self:baseline;margin-top:0}}.status-badge{background:#6bb6ff1f;border:2px solid #6bb6ff8c;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;font-weight:700;line-height:1;display:inline-flex}.status-badge .badge-dot{background:var(--brand);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 3px #6bb6ff40}.hero-subtitle{color:var(--brand);margin:0 0 24px;font-size:22px}.hero-desc{color:var(--muted);max-width:900px;margin:14px auto 32px;font-size:18px}.hero-cta{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.btn-lg{padding:14px 20px;font-size:16px;font-weight:600}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-link,.card-link:visited,.card-link:hover,.card-link:active{text-decoration:none;color:inherit!important}a:not(.card-link){color:var(--brand)}a:not(.card-link):hover{color:var(--brand-2)}[data-theme=light] a:not(.card-link){color:var(--brand)}[data-theme=light] a:not(.card-link):hover{color:var(--brand-2)}.muted{color:var(--muted)}section{padding:18px 24px}h3.section-title{margin:0 0 10px;font-size:20px}.about-grid{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.projects-list{gap:var(--gap);grid-template-columns:1fr;display:grid}.project-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);grid-template-columns:220px 1fr;gap:16px;padding:12px;transition:transform .15s,box-shadow .2s,border-color .2s;display:grid}.project-card:hover{border-color:color-mix(in srgb, var(--brand) 50%, var(--border));transform:translateY(-3px);box-shadow:0 12px 28px #00000059}.project-media{border:1px solid var(--border);background:0 0;border-radius:12px;height:140px;position:relative;overflow:hidden}.project-content h4{margin:0 0 6px;font-size:18px}.project-content p{margin:0 0 10px}[data-theme=light] .project-media{background:linear-gradient(135deg,#eaf1ff,#f7fbff)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#b8c3d6;background:#0b1118;border:1px solid #1e293b;border-radius:8px;padding:6px 8px;font-size:11px}[data-theme=light] .chip{color:#425066!important;background:#f7fbff!important;border-color:#e6eef7!important}.contact-form{width:100%;max-width:100%;padding:var(--gap);gap:var(--gap);flex-direction:column;display:flex}.contact-form button.submit-btn{align-self:flex-end}.contact-form form{flex-direction:column;gap:14px;display:flex}.contact-form label{color:var(--muted);font-size:14px;font-weight:600}.contact-form input,.contact-form textarea{background-color:var(--panel);color:var(--text);box-sizing:border-box;border:1px solid #2a3a52;border-radius:12px;width:100%;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s}.contact-form textarea{resize:vertical;max-width:100%;min-height:150px}.card.contact-form{overflow:hidden}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 2px #6bb6ff40}.submit-btn{align-self:flex-start;margin-top:12px}.avatar{object-fit:cover;object-position:center;border:1px solid var(--border);width:48px;height:48px;box-shadow:var(--shadow);border-radius:999px}[data-theme=light] .avatar{box-shadow:0 2px 10px #0000000f}footer{color:#8aa0bb;text-align:center;padding:28px 24px}@media (max-width:980px){.project-card{grid-template-columns:1fr}.project-media{height:120px}.about-grid{grid-template-columns:1fr}}@media (max-width:680px){header.hero{padding:90px 18px 60px}.hero-desc{font-size:16px}}html,body,.card,.btn,.icon-btn,.project-card,header.hero,nav,.nav-inner,.project-media,.avatar{transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s,transform .15s}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.nav-toggle{appearance:none;position:absolute;inset:-9999px}.hamburger{display:none}@media (min-width:981px){.nav-right{align-items:center;gap:16px;display:flex}}@media (max-width:980px){.hamburger{justify-content:center;align-items:center;display:inline-flex}.nav-inner{position:relative}.nav-right{border:1px solid var(--border);background:linear-gradient(180deg, var(--hero-from), var(--hero-to));box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:none;position:absolute;top:calc(100% + 8px);left:12px;right:12px}.nav-toggle:checked+.hamburger+.nav-right{display:flex}.btn{justify-content:center;width:100%;padding:10px 14px}.avatar{width:40px;height:40px}.site-title{max-width:46vw}}.media-img{object-fit:cover}.nav-toggle{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (max-width:980px){.nav-inner{position:relative}.hamburger{z-index:3;justify-content:center;align-items:center;display:inline-flex;position:relative}.nav-right{z-index:2;display:none;position:absolute;top:calc(100% + 8px);left:12px;right:12px}.nav-toggle:checked+.hamburger+.nav-right{display:flex}}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5972bc34-module__OU16Qa__className{font-family:Inter,Inter Fallback;font-style:normal}
