/* Focused corrections on the v20.0.15 visual world. */
.about-location a{color:inherit;text-decoration:underline;text-decoration-color:#69a8de;text-underline-offset:4px}
.about-location a:hover{color:#add6fa}
.about-location a:focus-visible,.lab-link:focus-visible{outline:2px solid #388ec9;outline-offset:5px}
#profesional .skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:24px;align-items:stretch}
#profesional .skill-grid>.skill-card{grid-column:auto;position:relative;inset:auto;min-width:0;min-height:280px;transform:none!important;padding:28px}
#profesional .skill-card h3{margin:28px 0 12px;overflow-wrap:anywhere}
#profesional .skill-card p{font-size:15px;line-height:1.65;color:#b8c2ca}
#profesional .skill-card .tags{margin-top:auto;padding-top:24px;flex-wrap:wrap}
#proyectos.projects-refined::before{display:none}
#proyectos.projects-refined{padding-top:120px;padding-bottom:96px}
#proyectos.projects-refined>.container{position:relative;z-index:1}
#proyectos.projects-refined .section-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:40px}
#proyectos.projects-refined .section-heading h2{font-size:clamp(36px,4.2vw,54px);line-height:1.08;letter-spacing:-.035em;margin:0}
#proyectos.projects-refined .section-heading p{max-width:48ch;line-height:1.65;margin:0;padding:0;color:#b6c8d6}
#proyectos.projects-refined .section-heading p::before{display:none}
#proyectos .lab-projects{color:#edf4fa}
#proyectos .lab-project h3{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:0 0 16px;color:inherit}
#proyectos .lab-project p{font-size:16px;line-height:1.7;max-width:60ch;color:#b6c8d6;margin:0 0 20px}
#proyectos .lab-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;border-top:1px solid #304858;border-bottom:1px solid #304858;padding:36px 0}
#proyectos .lab-feature h3{font-size:34px}
#proyectos .lab-environment{margin:0;display:grid;gap:20px;align-content:center}
#proyectos .lab-environment>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:baseline;border-bottom:1px solid #304858;padding-bottom:14px}
#proyectos .lab-environment dt{font-size:14px;color:#a9c0d1}
#proyectos .lab-environment dd{margin:0;font-size:18px;font-weight:500;letter-spacing:-.02em}
#proyectos .lab-pair{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:32px 0;border-bottom:1px solid #304858}
#proyectos .lab-pair .lab-project{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
#proyectos .lab-project .lab-stack{font-size:14px;font-weight:500;color:#a9c8de;margin-top:auto;margin-bottom:8px}
#proyectos .lab-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;color:#8fcfff;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
#proyectos .lab-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
@media(hover:hover) and (pointer:fine){#proyectos .lab-link:hover{text-decoration-thickness:2px;color:#d1ebff}}
@media(max-width:900px){
 #proyectos.projects-refined .section-heading{gap:32px}
 #proyectos .lab-feature,#proyectos .lab-pair{gap:32px}
 #proyectos .lab-environment>div{grid-template-columns:1fr;gap:4px}
 #profesional .skill-grid{gap:20px}
}
@media(max-width:600px){
 #profesional .skill-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 #profesional .skill-grid>.skill-card{min-height:0;padding:24px}
 #profesional .skill-card h3{margin-top:20px}
 #proyectos.projects-refined{padding-top:96px;padding-bottom:64px}
 #proyectos.projects-refined .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:28px}
 #proyectos .lab-feature,#proyectos .lab-pair{grid-template-columns:minmax(0,1fr);gap:28px}
 #proyectos .lab-feature{padding:28px 0}
 #proyectos .lab-feature h3{font-size:29px}
 #proyectos .lab-environment>div{grid-template-columns:1fr 1fr;gap:12px}
 #proyectos .lab-pair{padding:28px 0;gap:32px}
}

/* Dark blue surfaces extend the original site transitions. */
#proyectos.projects-refined{background:linear-gradient(180deg,#080a0e 0%,#0a1c2b 34%,#0a1c2b 100%)!important;color:#edf4fa!important}
#proyectos.projects-refined .section-heading h2{color:#edf4fa}
#proyectos.projects-refined .section-heading p{color:#b6c8d6!important}
#proyectos .section-kicker,#contacto .section-kicker{color:#9db6c9}
#musica::after{background:linear-gradient(to bottom,#0a1c2b 0%,rgba(10,28,43,.7) 24%,rgba(10,28,43,.28) 55%,transparent 100%)}
#contacto{background:#0b1e2c!important;color:#edf4fa}
#contacto::after{background:linear-gradient(to bottom,rgba(11,30,44,0),rgba(11,30,44,.22) 24%,rgba(11,30,44,.52) 52%,rgba(11,30,44,.82) 78%,#0b1e2c)}
#contacto h2{color:#edf4fa;letter-spacing:-.04em}
#contacto .contact-copy{color:#b6c8d6}
#contacto .contact-link{color:#edf4fa;border-color:#365162}
#contacto .contact-links{border-color:#365162}
#contacto .contact-link span:first-child,#contacto .contact-link span:last-child{color:#acc4d6}
#proyectos .lab-project .lab-fast-note{font-size:14px;margin:0 0 4px;color:#a9c0d1}
#profesional .skill-grid>.skill-card{transition:transform 200ms var(--motion-soft),border-color 200ms ease,background 200ms ease,box-shadow 200ms ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #profesional .skill-grid>.skill-card:hover{transform:translateY(-4px)!important}
}
/* Footer fibers reused from v20.1, with pauses offscreen and for reduced motion. */
footer.footer{position:relative;isolation:isolate;overflow:hidden;padding:160px 0 48px;background:#071723!important;color:#c4d5e3}
footer.footer::before{content:"";position:absolute;inset:0 0 auto;height:100px;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,#0b1e2c,rgba(11,30,44,0))}
.footer-fibers{position:absolute;inset:12px 0 auto;height:220px;z-index:0;pointer-events:none}
.footer-fibers svg{width:100%;height:100%;overflow:visible}
.footer-fibers path{fill:none;stroke:#58a9e0;stroke-width:1;opacity:.52}
.footer-fibers path:nth-child(2){stroke:#a2dcff;opacity:.4}
.footer-fibers path:nth-child(3){stroke:#386dc6;opacity:.6}
.footer-pulse{opacity:0;fill:#eff9ff}
.footer-pulse .pulse-aura{fill:#63b4f4;opacity:.16}
footer.footer .footer-wrap{position:relative;z-index:1;border-top-color:rgba(149,189,214,.25)!important;padding-top:24px}
@media(max-width:600px){footer.footer{padding-top:150px}.footer-fibers{height:190px}}
@media(prefers-reduced-motion:reduce){.footer-pulse{display:none}#profesional .skill-grid>.skill-card{transition:none}}

