/* Shared, non-blocking loading indicator + contact interaction. No external assets. */
.site-network-loader{display:none;position:fixed;top:0;left:0;right:0;height:0;z-index:110;pointer-events:none;user-select:none}
html[data-site-loading="loading"] .site-network-loader{display:block}
.site-network-loader__rail{position:fixed;top:0;left:0;right:0;height:3px;background:#243622;overflow:hidden;pointer-events:none}
.site-network-loader__rail::after{content:"";position:absolute;inset:0 auto 0 0;width:25%;background:linear-gradient(90deg,transparent,#a7c89a 70%,#c9f7a1);animation:site-network-rail 1.6s ease-in-out infinite}
.site-network-loader__panel{position:fixed;right:24px;bottom:24px;width:266px;padding:14px 16px 10px;background:#0c150ff5;border:1px solid #40543a;box-shadow:0 8px 24px #00000030;pointer-events:none;animation:site-network-arrive .16s ease-out}
.site-network-loader__caption{display:flex;justify-content:space-between;gap:10px;font:9px/1.7 var(--mono,monospace);letter-spacing:.08em;color:#aec59e}.site-network-loader__caption span:last-child{color:#667d60}
.site-network-loader svg{display:block;width:100%;height:48px;margin-top:7px;overflow:visible}.site-load-cables{stroke:#3f563b;stroke-width:1}.site-load-packets{stroke:#b3cb84;stroke-width:1.5;stroke-dasharray:12 290}.site-load-packets path{animation:site-network-route 1.8s linear infinite}.site-load-packets path:nth-child(2){animation-delay:-.9s;animation-duration:2.4s}.site-load-nodes{fill:#111e14;stroke:#799366;stroke-width:1}.site-load-lights{fill:#b6d195}.site-load-lights circle{animation:site-network-node 2s ease-in-out infinite}.site-load-lights circle:nth-child(2n){animation-delay:-1s}
a.contact-network-cta{position:relative;isolation:isolate;overflow:hidden;min-height:58px;transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s}
a.contact-network-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#e4f6db35 48%,transparent 76%);transform:translateX(-120%);transition:transform .65s cubic-bezier(.2,.7,.2,1);pointer-events:none}
a.contact-network-cta::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#c9f7a1 50%,transparent 100%);transform:translateX(-105%);opacity:0;transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .2s;pointer-events:none}
a.contact-network-cta>span[aria-hidden]{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1);color:inherit}
a.contact-network-cta:focus-visible{background:var(--green);color:var(--bg);border-color:var(--accent);outline:2px solid var(--green);outline-offset:5px;box-shadow:0 6px 24px #728d4a20}a.contact-network-cta:focus-visible::before{transform:translateX(120%)}a.contact-network-cta:focus-visible::after{transform:translateX(0);opacity:1}a.contact-network-cta:focus-visible>span[aria-hidden]{transform:translate(4px,-4px)}
@media(hover:hover) and (pointer:fine){a.contact-network-cta:hover{background:var(--green);color:var(--bg);border-color:var(--accent);box-shadow:0 6px 24px #728d4a20;transform:translateY(-2px)}a.contact-network-cta:hover::before{transform:translateX(120%)}a.contact-network-cta:hover::after{transform:translateX(0);opacity:1}a.contact-network-cta:hover>span[aria-hidden]{transform:translate(4px,-4px)}}
a.contact-network-cta:active{transform:translateY(1px);background:var(--green);color:var(--bg)}
.footer a[href$="#contacto"]{position:relative;text-decoration:none;transition:color .2s}.footer a[href$="#contacto"]::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s ease-out}.footer a[href$="#contacto"]:is(:hover,:focus-visible){color:var(--green)}.footer a[href$="#contacto"]:is(:hover,:focus-visible)::after{transform:scaleX(1)}
@keyframes site-network-rail{from{transform:translateX(-100%)}to{transform:translateX(500%)}}
@keyframes site-network-route{to{stroke-dashoffset:-604}}
@keyframes site-network-node{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes site-network-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
html[data-repo-motion="paused"] :is(.site-load-packets path,.site-load-lights circle,.site-network-loader__panel){animation-play-state:paused}
html[data-repo-motion="paused"] .site-network-loader__rail::after{animation-play-state:paused}
html[data-repo-motion="paused"] :is(a.contact-network-cta,a.contact-network-cta>span[aria-hidden],.footer a[href$="#contacto"]),html[data-repo-motion="paused"] a.contact-network-cta::before,html[data-repo-motion="paused"] a.contact-network-cta::after{transition:none}
@media(max-width:580px){.site-network-loader__panel{right:14px;bottom:14px;width:240px;padding:12px 14px 8px}.site-network-loader__caption{font-size:8px}}
@media(prefers-reduced-motion:reduce){.site-network-loader *,.site-network-loader__rail::after{animation:none!important}a.contact-network-cta,a.contact-network-cta::before,a.contact-network-cta::after,a.contact-network-cta>span[aria-hidden],.footer a[href$="#contacto"]::after{transition:none!important}a.contact-network-cta:hover,a.contact-network-cta:active{transform:none}}
