:root{--bg:#0b0b0d;--panel:#131317;--panel2:#1a1a21;--line:rgba(255,255,255,.09);--txt:#f3f3f5;--dim:#9a9aa4;--accent:#12a5db;--accent2:#7b2ff7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font-family:Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:#4fc8f5}
::selection{background:var(--accent);color:#111}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes spinslow{to{transform:rotate(360deg)}}
@keyframes glow{0%,100%{opacity:.35}50%{opacity:.75}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes navpulse{0%{box-shadow:0 0 0 0 rgba(123,47,247,.5)}70%{box-shadow:0 0 0 12px rgba(123,47,247,0)}100%{box-shadow:0 0 0 0 rgba(123,47,247,0)}}
[data-navcta]:hover{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){[data-navcta]{animation:none}}
@keyframes caretblink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes drawline{0%{stroke-dasharray:0 120}55%{stroke-dasharray:120 0}100%{stroke-dasharray:120 0}}
@keyframes iconspin{to{transform:rotate(360deg)}}
@keyframes ringpulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:.45}}
@keyframes barup{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
[data-svc] svg [data-draw]{stroke-dasharray:120 0}
[data-svc] svg [data-spin],[data-svc] svg [data-pulse],[data-svc] svg [data-pulse2]{transform-origin:12px 12px}
[data-svc] svg [data-bar1],[data-svc] svg [data-bar2],[data-svc] svg [data-bar3]{transform-origin:center bottom}
[data-svc]:hover [data-draw]{animation:drawline 1.1s ease forwards}
[data-svc]:hover [data-spin]{animation:iconspin 6s linear infinite}
[data-svc]:hover [data-pulse]{animation:ringpulse 1.8s ease-in-out infinite}
[data-svc]:hover [data-pulse2]{animation:ringpulse 1.8s ease-in-out .25s infinite}
[data-svc]:hover [data-bar1]{animation:barup .5s ease forwards}
[data-svc]:hover [data-bar2]{animation:barup .5s .1s ease forwards}
[data-svc]:hover [data-bar3]{animation:barup .5s .2s ease forwards}
[data-svc]:hover [data-svc-icon]{background:rgba(18,165,219,.16);border-color:rgba(18,165,219,.6)}
@media(prefers-reduced-motion:reduce){[data-svc]:hover *{animation:none!important}}
@keyframes sheen{0%{transform:translateX(-140%) skewX(-18deg)}45%{transform:translateX(240%) skewX(-18deg)}100%{transform:translateX(240%) skewX(-18deg)}}
[data-cta]{position:relative;overflow:hidden;isolation:isolate}
[data-cta] [data-sheen]{position:absolute;top:-20%;left:0;width:55%;height:140%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.85),rgba(255,255,255,0));filter:blur(1px);animation:sheen 3.2s cubic-bezier(.4,0,.25,1) infinite;pointer-events:none;mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){[data-cta] [data-sheen]{animation:none;opacity:0}}
[data-cert]:hover [data-cert-line]{transform:scaleX(1)}
[data-contactcol] a:hover span:first-child{color:var(--accent);border-color:var(--accent)}
[data-cert]:hover [data-cert-logo],[data-cert]:hover [data-cert-img]{outline:1px solid rgba(18,165,219,.5);outline-offset:0}
image-slot[data-cert-logo]::part(empty){gap:0}
image-slot[data-cert-logo]{aspect-ratio:1/1;border-radius:50%;overflow:hidden}
image-slot[data-cert-logo]::part(frame){background:#fff;border-radius:50%}
image-slot[data-cert-logo]::part(image){padding:6px;box-sizing:border-box}
image-slot[data-cert-logo]::part(ring){display:none}
[data-cert]:hover [data-cert-arrow]{transform:translateX(4px)}
@media(max-width:900px){[data-cert]{padding:18px!important}}
[data-grid2]>*,[data-grid3]>*,[data-grid4]>*{min-width:0}
html[data-theme="light"]{--bg:#f4f5f7;--panel:#ffffff;--panel2:#fbfbfd;--line:rgba(12,16,26,.12);--txt:#14161c;--dim:#5d6270;--navbg:rgba(255,255,255,.86)}
html[data-theme="light"] body{background:var(--bg);color:var(--txt)}
html [data-fixed-light]{--txt:#14161c;--dim:#5d6270;--line:rgba(12,16,26,.12);background:#ffffff!important;border-color:rgba(12,16,26,.12)!important}
html [data-fixed-light] span{color:#5d6270!important}
html [data-contact-panel]{--txt:#f3f3f5;--dim:#9a9aa4;--line:rgba(255,255,255,.09);background:linear-gradient(140deg,#1d1d24,#101015 65%)!important;border-color:rgba(255,255,255,.09)!important}
html [data-contact-panel] h3{color:#f3f3f5!important}
html [data-contact-panel] a,html [data-contact-panel] a[data-surface]{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.09)!important}
html [data-contact-panel] a:hover,html [data-contact-panel] a[data-surface]:hover{background:rgba(255,255,255,.08)!important}
html[data-theme="light"] [data-card]{background:linear-gradient(180deg,#ffffff,#f7f8fb)!important;box-shadow:0 18px 40px rgba(12,16,26,.08)!important}
html[data-theme="light"] [data-surface]{background:rgba(12,16,26,.035)!important}
html[data-theme="light"] [data-spec-panel]{background:linear-gradient(150deg,#ffffff,#eef1f6)!important}
html[data-theme="light"] [data-track]{background:rgba(12,16,26,.12)!important}
html[data-theme="light"] [data-nav] a:hover,html[data-theme="light"] [data-theme-btn]:hover{background:rgba(12,16,26,.06)!important}
html[data-theme="light"] [data-cert]:hover,html[data-theme="light"] [data-svc]:hover{background:rgba(18,165,219,.08)!important}
html[data-theme="light"] [data-theme-btn]{border-color:var(--line)}
html[data-theme="light"] [data-sideinfo] h1{color:#0b6f97!important}
@media(max-width:1180px){
 [data-contactcol]{flex:1 1 100%!important;width:auto!important;padding-left:0!important;border-left:0!important;border-top:1px solid var(--line);padding-top:22px}
 [data-datalist]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(3,auto);gap:11px 26px!important}
 [data-shell]{grid-template-columns:minmax(0,1fr)!important}
 [data-grid4]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
 [data-pad]{padding:34px 26px!important}
 [data-card]{padding:24px!important;gap:24px!important}
 [data-photo]{width:160px!important}
 [data-sideinfo]{flex:1 1 100%!important;min-width:0!important}
 [data-grid2]{grid-template-columns:minmax(0,1fr)!important}
 [data-grid3]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 [data-shell]{padding-left:18px!important;padding-right:18px!important}
 [data-nav]{max-width:calc(100vw - 28px);overflow-x:auto;justify-content:flex-start}
 [data-job]{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
}
@media(max-width:640px){
 [data-datalist]{grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;grid-template-rows:none!important}
 [data-grid3],[data-grid4]{grid-template-columns:minmax(0,1fr)!important}
 [data-card]{flex-direction:column;align-items:stretch;gap:24px!important}
 [data-photo]{width:100%!important;max-width:220px;aspect-ratio:1/1!important}
}

/* ---- utilidades generadas ---- */
.u1{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.u2{position:absolute;top:-220px;left:-160px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(18,165,219,.18),transparent 65%);animation:glow 9s ease-in-out infinite}
.u3{position:absolute;bottom:-260px;right:-180px;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,rgba(123,47,247,.16),transparent 65%);animation:glow 12s ease-in-out infinite}
.u4{position:fixed;top:22px;left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:6px;padding:8px;border-radius:999px;background:var(--navbg,rgba(19,19,23,.82));backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.u5{padding:9px 15px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--txt)}
.u6{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 2px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--txt);cursor:pointer;transition:background .3s ease,color .3s ease}
.u7{display:none}
.u8{position:relative;padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:700;color:#fff;background:var(--accent2);box-shadow:0 0 0 0 rgba(123,47,247,.55);animation:navpulse 2.6s ease-out infinite}
.u9{position:relative;z-index:1;max-width:1260px;margin:0 auto;padding:112px 28px 0;display:flex;flex-direction:column;gap:26px}
.u10{display:flex;flex-direction:column;gap:14px}
.u11{display:flex;flex-wrap:wrap;gap:38px;align-items:flex-start;padding:32px 34px;border-radius:26px;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);box-shadow:0 28px 60px rgba(0,0,0,.5)}
.u12{width:230px;flex:none;position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:var(--bg);border:1px solid var(--line)}
.u13{width:100%;height:100%;object-fit:cover;display:block;border-radius:20px}
.u14{flex:1 1 380px;min-width:340px}
.u15{font-family:Sora,sans-serif;font-weight:700;font-size:40px;line-height:1.05;margin:0 0 12px;letter-spacing:-.03em;color:var(--accent)}
.u16{display:flex;align-items:baseline;gap:12px;min-height:46px;max-width:38ch}
.u17{width:26px;height:1px;flex:none;background:var(--accent2);transform:translateY(-7px)}
.u18{font-size:16px;font-weight:600;line-height:1.4;color:var(--txt)}
.u19{margin:16px 0 0;max-width:56ch;font-size:15.5px;line-height:1.6;color:var(--dim);text-wrap:pretty}
.u20{flex:0 1 280px;width:280px;display:flex;flex-direction:column;gap:14px;padding-left:38px;border-left:1px solid var(--line)}
.u21{display:flex;flex-direction:column;gap:11px;font-size:13.5px}
.u22{display:flex;align-items:center;gap:10px;color:var(--dim)}
.u23{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:10px;border:1px solid var(--line);color:var(--dim);transition:color .3s ease,border-color .3s ease}
.u24{display:flex;align-items:center;gap:10px;color:var(--txt)}
.u25{display:flex;flex-direction:column;gap:26px;padding-bottom:80px}
.u26{padding:44px 46px;border-radius:30px;background:var(--panel);border:1px solid var(--line)}
.u27{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent2)}
.u28{font-family:Sora,sans-serif;font-weight:600;font-size:30px;letter-spacing:-.025em;margin:14px 0 20px}
.u29{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.u30{margin:0;font-size:15.5px;line-height:1.7;color:var(--dim);text-wrap:pretty}
.u31{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:34px}
.u32{display:flex;align-items:flex-start;gap:18px;padding:22px 24px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid var(--line);transition:transform .35s ease,border-color .35s ease,background .35s ease}
.u33{width:52px;height:52px;flex:none;border-radius:15px;background:rgba(18,165,219,.09);border:1px solid rgba(18,165,219,.3);display:flex;align-items:center;justify-content:center;transition:border-color .35s ease,background .35s ease}
.u34{min-width:0}
.u35{font-family:Sora,sans-serif;font-size:17px;font-weight:600;margin:2px 0 7px;letter-spacing:-.015em}
.u36{margin:0;font-size:14px;line-height:1.55;color:var(--dim);text-wrap:pretty}
.u37{padding:26px 30px;border-radius:24px;background:#ffffff;border:1px solid rgba(12,16,26,.12)}
.u38{display:flex;flex-direction:column;gap:14px;min-height:200px}
.u39{font-family:Sora,sans-serif;font-weight:600;font-size:30px;letter-spacing:-.025em;margin:14px 0 34px}
.u40{display:flex;flex-direction:column;gap:8px}
.u41{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:26px 0;border-top:1px solid var(--line)}
.u42{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent);letter-spacing:.06em}
.u43{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim);letter-spacing:.06em;margin-top:4px}
.u44{font-size:12.5px;color:var(--dim);margin-top:10px}
.u45{font-family:Sora,sans-serif;font-size:21px;font-weight:600;margin:0 0 4px;letter-spacing:-.02em}
.u46{font-size:14.5px;color:var(--accent);font-weight:600;margin-bottom:12px}
.u47{margin:0 0 16px;font-size:14.5px;line-height:1.65;color:var(--dim)}
.u48{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.u49{display:flex;gap:11px;font-size:14.5px;line-height:1.6;color:var(--txt)}
.u50{color:var(--accent2);flex:none}
.u51{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.u52{font-family:Sora,sans-serif;font-weight:600;font-size:30px;letter-spacing:-.025em;margin:14px 0 28px}
.u53{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.u54{padding:24px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.u55{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent)}
.u56{font-family:Sora,sans-serif;font-size:17px;font-weight:600;margin:10px 0 6px;letter-spacing:-.015em}
.u57{margin:0;font-size:13.5px;color:var(--dim)}
.u58{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 18px}
.u59{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.u60{font-size:13.5px;font-weight:600}
.u61{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.u62{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid var(--line);transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .45s ease,background .45s ease,box-shadow .45s ease}
.u63{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.u64{width:58px;height:58px;flex:none}
.u65{width:58px;height:58px;border-radius:50%;background:#fff;object-fit:contain;padding:6px;box-sizing:border-box}
.u66{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:var(--dim);white-space:nowrap}
.u67{flex:1}
.u68{font-family:Sora,sans-serif;font-size:15px;font-weight:700;line-height:1.3;letter-spacing:-.01em;margin:0 0 6px;text-wrap:pretty}
.u69{margin:0;font-size:13px;line-height:1.45;color:var(--dim)}
.u70{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--accent)}
.u71{transition:transform .35s ease}
.u72{position:absolute;left:0;bottom:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--accent),transparent);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.u73{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.u74{padding:38px 34px;border-radius:30px;background:var(--panel);border:1px solid var(--line)}
.u75{font-family:Sora,sans-serif;font-weight:600;font-size:26px;letter-spacing:-.025em;margin:14px 0 24px}
.u76{display:flex;flex-direction:column;gap:20px}
.u77{padding-left:16px;border-left:2px solid rgba(18,165,219,.55)}
.u78{font-family:Sora,sans-serif;font-size:16px;font-weight:600;margin:0 0 6px}
.u79{margin:0;font-size:14px;line-height:1.6;color:var(--dim)}
.u80{padding:34px;border-radius:30px;background:linear-gradient(150deg,#1c1c23,#101015);border:1px solid var(--line)}
.u81{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.u82{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.u83{padding:8px 14px;border-radius:99px;border:1px solid var(--line);font-size:13px;color:var(--txt);transition:border-color .3s ease}
.u84{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.u85{font-family:Sora,sans-serif;font-weight:600;font-size:30px;letter-spacing:-.025em;margin:14px 0 6px}
.u86{padding:13px 20px;border-radius:14px;background:var(--accent);color:#052a3a;font-weight:700;font-size:13.5px;white-space:nowrap}
.u87{margin-top:30px;min-height:420px}
.u88{position:relative;overflow:hidden;padding:52px 46px;border-radius:30px;background:linear-gradient(140deg,#1d1d24,#101015 65%);border:1px solid var(--line)}
.u89{position:absolute;bottom:-140px;left:40%;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(18,165,219,.2),transparent 65%);animation:floaty 8s ease-in-out infinite}
.u90{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.u91{font-family:Sora,sans-serif;font-weight:600;font-size:38px;line-height:1.1;letter-spacing:-.03em;margin:16px 0 14px;text-wrap:pretty}
.u92{margin:0;font-size:16px;line-height:1.65;color:var(--dim);max-width:44ch}
.u93{display:flex;flex-direction:column;gap:10px}
.u94{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--txt);transition:transform .3s ease,border-color .3s ease}
.u95{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;color:var(--dim);text-transform:uppercase}
.u96{font-size:16px;font-weight:600}
.u97{color:var(--accent2)}
.u98{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 8px 0;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}
.u99{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}

/* ---- estados hover ---- */
.u5:hover{background:rgba(255,255,255,.07)}
.u6:hover{background:rgba(255,255,255,.09);color:var(--accent)}
.u8:hover{background:#8f4dff}
.u24:hover{color:var(--accent)}
.u32:hover{transform:translateY(-4px);border-color:rgba(18,165,219,.5);background:rgba(18,165,219,.05)}
.u62:hover{transform:translateY(-6px);border-color:rgba(18,165,219,.5);background:rgba(18,165,219,.06);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.u70:hover{gap:12px;color:#4fc8f5}
.u83:hover{border-color:var(--accent)}
.u86:hover{background:#4fc8f5}
.u94:hover{transform:translateX(6px);border-color:var(--accent2)}
