/* Identidad del portafolio: blanco, navy y acentos eléctricos. */
:root{--section-space:clamp(64px,8vw,104px)}
body{font-size:1.0625rem}section[id]{scroll-margin-top:88px}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:12px 20px;background:var(--primary);color:var(--primary-ink)}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.container{max-width:1200px}.header-inner{height:76px}.brand-mark{width:40px;height:40px;font-size:.95rem}.brand-name{font-size:1.2rem;letter-spacing:.02em}.brand-sv{color:var(--accent);font-weight:500}.hero{padding:100px 0 88px}.hero h1{max-width:19ch;font-size:clamp(2.6rem,4.65vw,4.1rem);line-height:1.12;letter-spacing:-.045em}.hero .lead{max-width:50ch;font-size:1.125rem}.hero .eyebrow{max-width:100%;font-size:.875rem}.accent-text{color:var(--accent)}.hero .neuron-cloud{width:48%;right:0}.areas li{font-size:.875rem;padding:.55rem .85rem}.section{padding:var(--section-space) 0}.eyebrow{font-size:.875rem;letter-spacing:.08em}.section-intro{max-width:700px;margin-bottom:44px}.section-intro h2,.section-head h2{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.035em}.section-intro .lead{font-size:1.0625rem;max-width:60ch}.expertise-strip{background:var(--bg);border-bottom:1px solid var(--border);padding:24px 0}.expertise-strip .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.expertise-strip span{font-size:.875rem;color:var(--muted);max-width:20ch}.expertise-strip p{margin:0;font-size:.9375rem;font-weight:600}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:30px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.service-card:hover{border-color:var(--accent);transform:translateY(-3px)}.service-num{color:var(--accent);font-size:.875rem;margin-bottom:30px}.service-card h3{font-size:1.3rem;line-height:1.25}.service-card p{color:var(--muted);font-size:1rem;margin:0 0 24px}.service-detail{font-size:.875rem;color:var(--muted);margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.section-head{align-items:flex-end;gap:24px}.section-head h2{max-width:24ch;margin-bottom:0}.portfolio-link{flex-shrink:0;font-size:.9375rem;font-weight:600}.projects-intro{max-width:70ch;color:var(--muted);margin:24px 0 40px}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.case-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column}.case-top{display:flex;align-items:center;gap:16px;margin-bottom:26px}.case-number{font-size:.875rem;color:var(--accent)}.case-company{font-size:.875rem;color:var(--muted);border-left:1px solid var(--border-strong);padding-left:16px}.case-card h3{font-size:1.4rem;line-height:1.25;max-width:30ch}.case-card>p{color:var(--muted);font-size:1rem;margin-bottom:16px}.case-outcomes{font-size:.9375rem;margin:0 0 24px;padding-left:20px;color:var(--muted)}.case-outcomes li+li{margin-top:8px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:auto 0 22px}.tech-tags li{font-size:.875rem;color:var(--muted);background:var(--surface-2);border-radius:5px;padding:4px 9px}.case-link{font-weight:600;font-size:.9375rem;align-self:flex-start}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:48px 0 0;gap:28px}.process-grid li{border-top:2px solid var(--border);padding-top:24px}.process-grid span{color:var(--accent);font-size:.875rem}.process-grid h3{font-size:1.2rem;line-height:1.3;margin:20px 0 14px}.process-grid p{color:var(--muted);font-size:1rem;margin:0}.founder-section{background:var(--bg-alt);border-top:1px solid var(--border)}.founder-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:72px}.founder-grid h2{font-size:clamp(2rem,3vw,2.8rem);max-width:17ch}.founder-grid p{margin-top:0}.founder-grid>div:last-child p{color:var(--muted)}.founder-grid a{font-weight:600;font-size:.9375rem}.cta-band{padding:90px 0;position:relative}.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr;gap:88px;align-items:center}.contact-grid h2{font-size:clamp(2.2rem,3.5vw,3.2rem);max-width:18ch}.contact-grid .lead{font-size:1.0625rem;color:var(--muted)}.contact-email{display:inline-block;margin-top:22px;font-size:.9375rem;overflow-wrap:anywhere}.contact-note{border:1px solid var(--border-strong);border-radius:var(--radius);padding:32px;background:color-mix(in srgb,var(--navy) 90%,transparent)}.contact-note>span{font-size:.875rem;color:var(--accent)}.contact-note ul{padding-left:20px;margin:24px 0}.contact-note li{margin:8px 0}.contact-note p{font-size:.9375rem;color:var(--muted);margin:0}.landing-footer{display:flex;align-items:center;flex-wrap:wrap;gap:24px;justify-content:space-between}.landing-footer p,.landing-footer a,.landing-footer small{font-size:.875rem;margin:0}.landing-footer .brand{font-size:1rem}.site-footer{padding:32px 0}.site-footer .brand{color:var(--text)}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.founder-grid,.contact-grid{gap:40px}.expertise-strip .container{justify-content:flex-start;gap:20px 28px}.expertise-strip span{max-width:none;flex-basis:100%}.hero{padding:80px 0}}
@media(max-width:760px){.js .nav-links{top:76px}.hero h1{font-size:clamp(2.35rem,8vw,3.5rem);max-width:20ch}.hero{padding:64px 0}.hero .neuron-cloud{width:100%;opacity:.16;right:-25%;pointer-events:none}.hero .lead{max-width:45ch}.hero .eyebrow{font-size:.8125rem}.case-grid,.founder-grid,.contact-grid{grid-template-columns:1fr}.section-head{display:block}.portfolio-link{display:inline-block;margin-top:20px}.case-card{padding:26px}.contact-grid{gap:36px}.cta-band{padding:64px 0}.landing-footer{align-items:flex-start;flex-direction:column;gap:18px}.areas{margin-top:30px}.founder-grid{gap:24px}.contact-note{padding:26px}}
@media(max-width:480px){.service-grid,.process-grid{grid-template-columns:1fr}.service-card{padding:26px}.service-num{margin-bottom:22px}.process-grid{gap:28px}.hero .actions{flex-direction:column;align-items:flex-start}.hero .btn{font-size:.875rem;line-height:1.4}.brand-name{font-size:1rem}.expertise-strip p{font-size:.875rem}.case-company{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card:hover{transform:none}}
@media(max-width:760px){.hero .neuron-cloud{position:absolute;top:50%;margin:0;max-width:none;transform:translateY(-50%);aspect-ratio:1.15}}

/* Pipeline: un pulso conecta las cuatro etapas al entrar en pantalla. */
.process-grid{gap:28px;isolation:isolate}
.process-grid li{position:relative;border:0;padding:0;--pipeline-fill:0}
.process-grid li::before,.process-grid li::after{content:'';position:absolute;top:26px;left:26px;width:calc(100% + 28px);height:2px;background:var(--border-strong);z-index:-1}
.process-grid li::after{background:var(--neon);box-shadow:0 0 12px var(--neon-glow);transform:scaleX(var(--pipeline-fill));transform-origin:left}
.process-grid li:last-child::before,.process-grid li:last-child::after{display:none}
.process-grid li>span{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--border-strong);border-radius:50%;background:var(--bg);font-size:1rem;font-weight:600;color:var(--muted);transition:background .4s,color .4s,border-color .4s,box-shadow .4s;position:relative}
.process-grid li h3{transition:color .4s;margin-top:26px}
.process-grid li.is-complete{--pipeline-fill:1}
.process-grid li.is-complete>span{border-color:var(--accent);color:var(--accent);background:var(--bg)}
.process-grid li.is-active>span{background:var(--primary);color:var(--primary-ink);border-color:var(--accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--neon) 12%,transparent),0 0 30px var(--energy-glow)}
.process-grid li.is-active h3{color:var(--accent)}
.process-grid.is-running li.is-active::after{animation:pipeline-connect 2.4s linear forwards}
@keyframes pipeline-connect{0%,18%{transform:scaleX(0)}85%,100%{transform:scaleX(1)}}
.process-grid:not(.is-running) li.is-active::after{animation-play-state:paused}
@media(max-width:1000px){.process-grid{grid-template-columns:1fr;gap:0}.process-grid li{padding:0 0 36px 86px;min-height:150px}.process-grid li>span{position:absolute;top:0;left:0}.process-grid li h3{margin-top:6px}.process-grid li::before,.process-grid li::after{top:26px;left:26px;width:2px;height:100%;transform-origin:top}.process-grid li::after{transform:scaleY(var(--pipeline-fill))}.process-grid.is-running li.is-active::after{animation-name:pipeline-connect-vertical}.process-grid li:last-child{padding-bottom:0;min-height:0}}
@keyframes pipeline-connect-vertical{0%,18%{transform:scaleY(0)}85%,100%{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.process-grid li::after{animation:none!important;transform:none}.process-grid li>span{transition:none;border-color:var(--accent);color:var(--accent)}.process-grid li.is-active>span{box-shadow:none}}
