/* =====================================================================
   UKABI · Página Consultoría Tecnológica
   Complementa ukabi-light.css. Clases de los elementos de Avada: ukl-co-*;
   piezas que inserta ukabi-light-co.js: ukco-*.
   Página clara con efectos de referencia orchid.security: orbe, titulares
   palabra a palabra, pantalla 3D del diagnóstico, cristal con parallax,
   mapa del ecosistema, contadores y raíl de luz por las fases.
   ===================================================================== */
.ukabi-light-page .ukl-co-k{ margin:0 0 8px !important; font:700 11px/1 var(--ukl-mono) !important; color:var(--ukl-coral-d) !important; }
.ukabi-light-page .fusion-button.ukl-co-mag{ transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .2s,background .2s !important; }
.ukabi-light-page .ukl-co-glass > .fusion-clearfix,.ukabi-light-page .ukl-co-nums > .fusion-clearfix,.ukabi-light-page .ukl-co-rail > .fusion-clearfix{ display:none !important; }
.ukco-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* titulares palabra a palabra */
.ukco-w{ display:inline-block; opacity:0; transform:translateY(.5em); filter:blur(6px); transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1),filter .7s; }
.ukco-in .ukco-w{ opacity:1; transform:none; filter:none; }

/* orbe */
.ukco-orb{ position:absolute; z-index:1; left:62%; top:-10%; width:760px; height:760px; pointer-events:none; filter:blur(40px); opacity:.75; transform:translate(var(--ox,0),var(--oy,0)); transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.ukco-orb i{ position:absolute; border-radius:50%; mix-blend-mode:multiply; animation:ukcoOrb 14s ease-in-out infinite; }
.ukco-orb i:nth-child(1){ inset:10% 20% 30% 10%; background:radial-gradient(circle,rgba(253,73,92,.55),transparent 65%); }
.ukco-orb i:nth-child(2){ inset:25% 5% 10% 30%; background:radial-gradient(circle,rgba(176,75,216,.5),transparent 65%); animation-delay:-5s; }
.ukco-orb i:nth-child(3){ inset:5% 30% 25% 25%; background:radial-gradient(circle,rgba(38,55,158,.4),transparent 65%); animation-delay:-9s; }
@keyframes ukcoOrb{ 33%{ transform:translate(40px,-30px) scale(1.08); } 66%{ transform:translate(-30px,40px) scale(.95); } }

/* ---------- HERO ---------- */
.ukabi-light-page .ukl-co-hero{ overflow:hidden; padding-top:80px !important; padding-bottom:40px !important; background:var(--ukl-bg) !important; }
.ukabi-light-page .ukl-co-hero::before{ content:""; position:absolute; inset:0; z-index:0; background-image:linear-gradient(rgba(15,32,108,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(15,32,108,.06) 1px,transparent 1px); background-size:44px 44px; -webkit-mask:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 70%); mask:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 70%); pointer-events:none; }
.ukabi-light-page .ukl-co-copy .fusion-column-wrapper{ max-width:920px; margin-inline:auto; justify-content:center; text-align:center; row-gap:22px; }
.ukabi-light-page .ukl-co-copy .ukl-pill{ flex:0 1 auto !important; }
.ukabi-light-page .ukl-sec .ukl-co-h1 h1.fusion-title-heading{ margin:0 !important; text-align:center !important; font-size:inherit !important; line-height:1 !important; letter-spacing:0 !important; }
.ukabi-light-page .ukl-co-h1n{ display:block; font-size:clamp(40px,5.6vw,80px); font-weight:800; letter-spacing:-.05em; line-height:1.04; padding-bottom:.06em; color:var(--ukl-ink); text-wrap:balance; }
.ukabi-light-page .ukl-co-h1n .ukco-w:nth-child(-n+2){ background:linear-gradient(100deg,var(--ukl-coral),#B04BD8); -webkit-background-clip:text; background-clip:text; color:transparent; padding-bottom:.08em; }
.ukabi-light-page .ukl-co-copy .ukl-lead p{ max-width:700px; margin-inline:auto !important; font-size:18px !important; color:var(--ukl-muted); }
.ukabi-light-page .ukl-co-mini p{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.ukco-chip{ font:700 11px/1 var(--ukl-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--ukl-ink); padding:9px 12px; border-radius:999px; background:rgba(255,255,255,.7); border:1px solid var(--ukl-line); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.ukabi-light-page .ukl-mock--coscr{ margin-top:60px !important; }
.ukabi-light-page .ukl-mock--coscr > .fusion-column-wrapper{ display:block !important; perspective:1600px; padding-bottom:40px !important; }
.ukco-scr{ max-width:1040px; margin:0 auto; border-radius:24px; background:rgba(255,255,255,.82); border:1px solid rgba(15,32,108,.12); box-shadow:0 60px 120px -50px rgba(15,32,108,.45),0 0 0 8px rgba(255,255,255,.5); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); transform-origin:50% 0; transform:rotateX(var(--rx,28deg)) scale(var(--sc,.92)); will-change:transform; overflow:hidden; text-align:left; font-family:var(--ukl-display); }
.ukco-bar{ display:flex; align-items:center; gap:6px; padding:14px 18px; border-bottom:1px solid var(--ukl-line); background:rgba(247,247,252,.8); }
.ukco-bar i{ width:10px; height:10px; border-radius:50%; background:#DCE0F0; }
.ukco-bar span{ margin-left:12px; font:700 12px/1.3 var(--ukl-mono); color:var(--ukl-ink); }
.ukco-bar em{ margin-left:auto; font:700 10px/1.3 var(--ukl-mono); font-style:normal; letter-spacing:.1em; text-transform:uppercase; color:var(--ukl-muted); text-align:right; }
.ukco-b{ display:grid; grid-template-columns:.8fr 1.3fr 1fr; gap:18px; padding:24px; }
.ukco-gauge{ display:grid; justify-items:center; align-content:center; gap:10px; padding:18px; border-radius:18px; background:#fff; border:1px solid var(--ukl-line); text-align:center; }
.ukco-ring{ display:grid; place-items:center; } .ukco-ring > *{ grid-area:1/1; }
.ukco-ring svg{ width:150px; height:150px; transform:rotate(-90deg); }
.ukco-ring circle{ fill:none; stroke-width:12; }
.ukco-ring .bg{ stroke:var(--ukl-bg-2); }
.ukco-ring .fg{ stroke:var(--ukl-coral); stroke-linecap:round; stroke-dasharray:314; stroke-dashoffset:314; transition:stroke-dashoffset 1.8s cubic-bezier(.2,.7,.2,1); }
.ukco-ring b{ font:800 44px/1 var(--ukl-display); letter-spacing:-.04em; color:var(--ukl-ink); font-variant-numeric:tabular-nums; }
.ukco-ring b small{ font-size:.45em; margin-left:2px; color:var(--ukl-muted); }
.ukco-gl{ font:700 10.5px/1.3 var(--ukl-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ukl-muted); }
.ukco-procs,.ukco-road{ display:grid; gap:8px; align-content:start; padding:18px; border-radius:18px; background:#fff; border:1px solid var(--ukl-line); }
.ukco-procs small,.ukco-road small{ font:700 10.5px/1 var(--ukl-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--ukl-muted); margin-bottom:4px; }
.ukco-p{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 12px; border-radius:12px; background:var(--ukl-bg); font-size:14px; font-weight:600; line-height:1.3; color:var(--ukl-ink); opacity:0; transform:translateX(-12px); transition:opacity .5s,transform .5s; }
.ukco-go .ukco-p{ opacity:1; transform:none; }
.ukco-go .ukco-p:nth-of-type(2){ transition-delay:.15s; } .ukco-go .ukco-p:nth-of-type(3){ transition-delay:.3s; } .ukco-go .ukco-p:nth-of-type(4){ transition-delay:.45s; } .ukco-go .ukco-p:nth-of-type(5){ transition-delay:.6s; }
.ukco-t{ flex:0 0 auto; font:700 10.5px/1 var(--ukl-mono); font-style:normal; padding:6px 8px; border-radius:8px; }
.ukco-t.crit{ color:#fff; background:var(--ukl-coral); } .ukco-t.auto{ color:#fff; background:#B04BD8; } .ukco-t.mej{ color:var(--ukl-ink); background:#E7E9F6; } .ukco-t.ok{ color:var(--ukl-green); background:var(--ukl-green-soft); }
.ukco-ph{ position:relative; display:grid; gap:3px; padding:12px 14px 12px 20px; border-radius:12px; background:var(--ukl-bg); opacity:0; transform:translateY(10px); transition:opacity .5s,transform .5s; }
.ukco-ph::before{ content:""; position:absolute; left:0; top:10px; bottom:10px; width:4px; border-radius:4px; background:linear-gradient(var(--ukl-coral),#B04BD8); }
.ukco-ph b{ font:700 11px/1 var(--ukl-mono); color:var(--ukl-coral-d); } .ukco-ph span{ font-size:14px; font-weight:700; color:var(--ukl-ink); }
.ukco-go .ukco-ph{ opacity:1; transform:none; } .ukco-go .ukco-ph:nth-of-type(1){ transition-delay:.8s; } .ukco-go .ukco-ph:nth-of-type(2){ transition-delay:1s; } .ukco-go .ukco-ph:nth-of-type(3){ transition-delay:1.2s; }
@media (max-width:900px){
  .ukco-b{ grid-template-columns:minmax(0,1fr); }
  .ukco-gauge{ grid-template-columns:auto 1fr; justify-items:start; align-items:center; text-align:left; gap:18px; }
  .ukco-ring svg{ width:110px; height:110px; } .ukco-ring b{ font-size:34px; }
}
@media (max-width:560px){ .ukco-bar em{ display:none; } .ukco-b{ padding:14px; } .ukabi-light-page .ukl-mock--coscr{ margin-top:40px !important; } }

/* ---------- QUÉ RESUELVE: cristal con parallax ---------- */
.ukabi-light-page .ukl-co-qr{ overflow:hidden; }
.ukabi-light-page .ukl-co-qr > .fusion-row{ align-items:center !important; }
.ukabi-light-page .ukl-co-qrt .fusion-column-wrapper{ padding-right:40px; }
.ukabi-light-page .ukl-co-qrt .ukl-pill{ flex:0 1 auto !important; }
.ukabi-light-page .ukl-sec .ukl-co-qrt h2.fusion-title-heading{ font-size:clamp(30px,3.6vw,48px) !important; letter-spacing:-.04em !important; line-height:1.08 !important; }
.ukabi-light-page .ukl-co-qrt .fusion-text p{ color:var(--ukl-muted); font-size:16.5px; }
.ukabi-light-page .ukl-co-glcol > .fusion-column-wrapper{ position:relative; display:block !important; }
.ukabi-light-page .ukl-co-glcol > .fusion-column-wrapper::before{ content:""; position:absolute; left:10%; top:10%; width:80%; height:80%; border-radius:50%; background:radial-gradient(closest-side,rgba(253,73,92,.35),rgba(176,75,216,.25) 55%,transparent 75%); filter:blur(30px); pointer-events:none; }
.ukabi-light-page .ukl-co-glass{ position:relative; height:500px; display:block !important; }
.ukabi-light-page .ukl-co-glass .content-box-column{ position:absolute !important; width:62% !important; margin:0 !important; padding:24px 26px !important; border-radius:24px; background:rgba(255,255,255,.55) !important; border:1px solid rgba(255,255,255,.9); box-shadow:0 30px 60px -30px rgba(15,32,108,.35),inset 0 1px 0 rgba(255,255,255,.9); -webkit-backdrop-filter:blur(18px) saturate(1.4); backdrop-filter:blur(18px) saturate(1.4); will-change:translate; }
.ukabi-light-page .ukl-co-glass .content-box-column:nth-child(1){ left:0; top:4%; }
.ukabi-light-page .ukl-co-glass .content-box-column:nth-child(2){ right:0; top:36%; }
.ukabi-light-page .ukl-co-glass .content-box-column:nth-child(3){ left:8%; bottom:4%; }
.ukabi-light-page .ukl-sec .ukl-co-glass .content-box-heading{ font-size:21px !important; font-weight:800 !important; letter-spacing:-.025em !important; line-height:1.2 !important; margin-bottom:6px !important; }
.ukabi-light-page .ukl-sec .ukl-co-glass .content-container{ font-size:14.5px !important; line-height:1.5 !important; color:var(--ukl-muted); }
@media (max-width:1024px){
  .ukabi-light-page .ukl-co-qrt .fusion-column-wrapper{ padding-right:0; }
  .ukabi-light-page .ukl-co-glcol{ margin-top:40px !important; }
  .ukabi-light-page .ukl-co-glass{ height:auto; display:grid !important; gap:12px !important; }
  .ukabi-light-page .ukl-co-glass .content-box-column{ position:relative !important; width:auto !important; inset:auto !important; translate:none !important; }
}

/* ---------- ECOSISTEMA ---------- */
.ukabi-light-page .ukl-co-eco{ background:#fff !important; border-block:1px solid var(--ukl-line); }
.ukabi-light-page .ukl-co-mapcol > .fusion-column-wrapper{ display:block !important; }
.ukco-map{ position:relative; height:520px; margin:0 auto; max-width:900px; }
.ukco-map svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.ukco-map svg path{ fill:none; stroke:rgba(253,73,92,.5); stroke-width:2; stroke-dasharray:500; stroke-dashoffset:500; transition:stroke-dashoffset 1.4s cubic-bezier(.4,0,.2,1); }
.ukco-map.ukco-in svg path{ stroke-dashoffset:0; }
.ukco-core{ position:absolute; left:50%; top:50%; translate:-50% -50%; z-index:2; width:190px; height:190px; border-radius:50%; display:grid; place-content:center; text-align:center; gap:6px; background:linear-gradient(135deg,var(--ukl-ink),#26379E); box-shadow:0 0 0 16px rgba(247,247,252,.9),0 40px 80px -30px rgba(15,32,108,.6); }
.ukco-core b{ font-size:22px; font-weight:800; color:#fff; }
.ukco-core span{ font:700 10px/1.3 var(--ukl-mono); letter-spacing:.1em; text-transform:uppercase; color:#FF9AA6; padding-inline:20px; }
.ukco-n{ position:absolute; z-index:2; left:calc(50% + cos(var(--a)) * 330px); top:calc(50% + sin(var(--a)) * 215px); translate:-50% -50%; font-size:14.5px; font-weight:700; color:var(--ukl-ink); padding:12px 16px; border-radius:14px; background:rgba(255,255,255,.85); border:1px solid var(--ukl-line); box-shadow:var(--ukl-shadow); white-space:nowrap; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); opacity:0; transition:opacity .6s; }
.ukco-map.ukco-in .ukco-n{ opacity:1; }
.ukco-map.ukco-in .ukco-n:nth-of-type(2){ transition-delay:.1s; } .ukco-map.ukco-in .ukco-n:nth-of-type(3){ transition-delay:.2s; } .ukco-map.ukco-in .ukco-n:nth-of-type(4){ transition-delay:.3s; } .ukco-map.ukco-in .ukco-n:nth-of-type(5){ transition-delay:.4s; } .ukco-map.ukco-in .ukco-n:nth-of-type(6){ transition-delay:.5s; }
@media (max-width:900px){
  .ukco-map{ height:auto; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
  .ukco-map svg{ display:none; }
  .ukco-core{ position:relative; left:auto; top:auto; translate:none; flex:0 0 190px; margin:0 calc(50% - 95px) 26px; }
  .ukco-n{ position:relative; left:auto; top:auto; translate:none; opacity:1; white-space:normal; }
}
.ukabi-light-page .ukl-co-numcol{ margin-top:40px !important; }
.ukabi-light-page .ukl-co-nums{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 !important; border:1px solid var(--ukl-line) !important; border-radius:24px; overflow:hidden; background:var(--ukl-bg); }
.ukabi-light-page .ukl-co-nums .content-box-column{ margin:0 !important; padding:26px 28px !important; border-left:1px solid var(--ukl-line); }
.ukabi-light-page .ukl-co-nums .content-box-column:first-child{ border-left:0; }
.ukabi-light-page .ukl-sec .ukl-co-nums .content-box-heading{ font:800 clamp(34px,3.6vw,50px)/1 var(--ukl-display) !important; letter-spacing:-.04em !important; color:var(--ukl-ink) !important; font-variant-numeric:tabular-nums; margin-bottom:8px !important; }
.ukabi-light-page .ukl-sec .ukl-co-nums .content-container{ font-size:14px !important; }
@media (max-width:900px){ .ukabi-light-page .ukl-co-nums{ grid-template-columns:repeat(2,minmax(0,1fr)); } .ukabi-light-page .ukl-co-nums .content-box-column:nth-child(3){ border-left:0; } .ukabi-light-page .ukl-co-nums .content-box-column:nth-child(n+3){ border-top:1px solid var(--ukl-line); } }
@media (max-width:480px){ .ukabi-light-page .ukl-co-nums .content-box-column{ padding:22px 18px !important; } }

/* ---------- FASES: raíl de luz ---------- */
.ukabi-light-page .ukl-co-railcol > .fusion-column-wrapper{ display:block !important; }
.ukabi-light-page .ukl-co-rail{ position:relative; max-width:820px; margin:0 auto !important; gap:26px !important; padding-left:90px; counter-reset:ukcon; }
.ukco-line{ position:absolute; left:34px; top:0; bottom:0; width:4px; border-radius:4px; background:var(--ukl-line); }
.ukco-line i{ position:absolute; left:0; top:0; width:100%; height:0; border-radius:inherit; background:linear-gradient(var(--ukl-coral),#B04BD8,var(--ukl-ink)); }
.ukco-line b{ position:absolute; left:50%; top:0; width:18px; height:18px; margin:-9px 0 0 -9px; border-radius:50%; background:#fff; box-shadow:0 0 0 5px rgba(253,73,92,.35),0 0 24px 8px rgba(253,73,92,.55); }
.ukabi-light-page .ukl-co-rail .content-box-column{ counter-increment:ukcon; position:relative; overflow:visible !important; margin:0 !important; padding:26px 28px !important; border-radius:24px; background:rgba(255,255,255,.7) !important; border:1px solid var(--ukl-line); box-shadow:var(--ukl-shadow); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); transition:opacity .5s,translate .5s,border-color .5s; }
.ukabi-light-page .ukl-co-rail.ukco-js .content-box-column{ opacity:.45; translate:12px 0; }
.ukabi-light-page .ukl-co-rail.ukco-js .content-box-column.ukco-on{ opacity:1; translate:0 0; border-color:rgba(253,73,92,.45); }
.ukabi-light-page .ukl-co-rail .content-box-column::before{ content:"0" counter(ukcon); position:absolute; left:-74px; top:24px; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font:700 13px/1 var(--ukl-mono); color:var(--ukl-muted); background:#fff; border:2px solid var(--ukl-line); transition:all .4s; }
.ukabi-light-page .ukl-co-rail .content-box-column.ukco-on::before{ color:#fff; background:linear-gradient(135deg,var(--ukl-coral),#B04BD8); border-color:transparent; }
.ukabi-light-page .ukl-sec .ukl-co-rail .content-box-heading{ font-size:24px !important; font-weight:800 !important; letter-spacing:-.03em !important; margin-bottom:8px !important; }
.ukabi-light-page .ukl-sec .ukl-co-rail .content-container{ font-size:16px !important; color:var(--ukl-muted); }
@media (max-width:560px){
  .ukabi-light-page .ukl-co-rail{ padding-left:62px; } .ukco-line{ left:20px; }
  .ukabi-light-page .ukl-co-rail .content-box-column{ padding:22px 20px !important; }
  .ukabi-light-page .ukl-co-rail .content-box-column::before{ left:-60px; width:38px; height:38px; }
}

/* ---------- FAQ y FINAL ---------- */
.ukabi-light-page .ukl-co-faq{ padding-top:40px !important; }
.ukabi-light-page .ukl-co-final{ overflow:hidden; padding-top:130px !important; padding-bottom:130px !important; background:var(--ukl-bg-2) !important; }
.ukabi-light-page .ukl-co-final .ukco-orb{ left:50%; top:50%; translate:-50% -50%; width:900px; height:600px; opacity:.6; }
.ukabi-light-page .ukl-co-fcol .fusion-column-wrapper{ justify-content:center; text-align:center; row-gap:18px; }
.ukabi-light-page .ukl-co-fk p{ text-align:center; font:700 12px/1.4 var(--ukl-mono) !important; letter-spacing:.16em; text-transform:uppercase; color:var(--ukl-coral-d) !important; }
.ukabi-light-page .ukl-sec .ukl-co-ft h2.fusion-title-heading{ max-width:900px; margin-inline:auto !important; text-align:center !important; font-size:clamp(32px,4.6vw,60px) !important; letter-spacing:-.045em !important; line-height:1.06 !important; text-wrap:balance; }
.ukabi-light-page .ukl-co-fcol .ukl-lead p{ max-width:620px; margin-inline:auto !important; text-align:center; }
.ukabi-light-page .ukl-co-contact p{ text-align:center; font:700 13px/1.4 var(--ukl-mono) !important; letter-spacing:.08em; color:var(--ukl-muted) !important; }

@media (prefers-reduced-motion:reduce){ .ukco-orb i{ animation:none !important; } .ukco-w{ opacity:1; transform:none; filter:none; } }
