/* ========================================================================== 
   CODE-IA · DARK IMMERSION SKIN
   --------------------------------------------------------------------------
   Capa visual 100% removible. Carga al FINAL del <head> y no modifica layout:
   no widths, heights, grids, gaps, paddings, margins, display ni tipografia.

   Direccion visual:
   - negro / carbon: tecnologia
   - petroleo / asfalto: sobriedad de consultora
   - gradiente espectral lento: IA
   - granito / grain existente: materia, no brillo SaaS generico

   Quitar este unico CSS devuelve la capa cromatica anterior de CODE-IA.
   ========================================================================== */

@property --codeia-ai-angle {
  syntax: '<angle>';
  initial-value: 32deg;
  inherits: true;
}
@property --codeia-ai-a {
  syntax: '<color>';
  initial-value: #41d9c8;
  inherits: true;
}
@property --codeia-ai-b {
  syntax: '<color>';
  initial-value: #7772ff;
  inherits: true;
}
@property --codeia-ai-c {
  syntax: '<color>';
  initial-value: #c960d8;
  inherits: true;
}

@keyframes codeia-ai-spectrum {
  0%   { --codeia-ai-a:#41d9c8; --codeia-ai-b:#7772ff; --codeia-ai-c:#c960d8; }
  25%  { --codeia-ai-a:#4f9bff; --codeia-ai-b:#846dff; --codeia-ai-c:#d15b9f; }
  50%  { --codeia-ai-a:#4dd6ae; --codeia-ai-b:#527cff; --codeia-ai-c:#9e69ef; }
  75%  { --codeia-ai-a:#50c8dd; --codeia-ai-b:#765eff; --codeia-ai-c:#db6b87; }
  100% { --codeia-ai-a:#41d9c8; --codeia-ai-b:#7772ff; --codeia-ai-c:#c960d8; }
}
@keyframes codeia-ai-angle {
  to { --codeia-ai-angle:392deg; }
}

:root {
  --codeia-void:#050707;
  --codeia-black:#080a0a;
  --codeia-carbon:#0c1011;
  --codeia-asphalt:#111718;
  --codeia-surface:#151d1f;
  --codeia-petrol:#1d2b2e;
  --codeia-petrol-2:#26383c;
  --codeia-steel:#3f5559;
  --codeia-text:#f2f5f4;
  --codeia-soft:#c7d0cf;
  --codeia-muted:#98a8a7;
  --codeia-faint:#657574;
  --codeia-line:rgba(225,238,236,.14);
  --codeia-line-strong:rgba(225,238,236,.25);
  --codeia-glass:rgba(12,17,18,.78);
  --codeia-ai-dark-a:#173c42;
  --codeia-ai-dark-b:#2d315f;
  --codeia-ai-dark-c:#562f53;

  /* Semantica heredada: solo las variables que representan superficies. */
  --text:var(--codeia-text);
  --gray:var(--codeia-muted);
  --background:var(--codeia-asphalt);
  --lightgray:var(--codeia-asphalt);
  --stroke:var(--codeia-line);
  --color1:var(--codeia-petrol-2);
  --color2:var(--codeia-steel);
  --pharma-900:var(--codeia-carbon);
  --pharma-700:var(--codeia-asphalt);
  --pharma-500:var(--codeia-petrol);
  --pharma-300:var(--codeia-petrol-2);
  --pharma-200:var(--codeia-steel);
  --pharma-100:#6e8082;
  --pharma-050:#aab6b6;
}

html { background:var(--codeia-void) !important; }
body {
  --codeia-ai-angle:32deg;
  --codeia-ai-a:#41d9c8;
  --codeia-ai-b:#7772ff;
  --codeia-ai-c:#c960d8;
  color:var(--codeia-text) !important;
  background-color:var(--codeia-void) !important;
  background-image:
    radial-gradient(58vw 42vw at 8% 2%, color-mix(in srgb,var(--codeia-ai-a) 8%,transparent), transparent 68%),
    radial-gradient(52vw 44vw at 94% 20%, color-mix(in srgb,var(--codeia-ai-b) 7%,transparent), transparent 70%),
    radial-gradient(54vw 50vw at 56% 72%, color-mix(in srgb,var(--codeia-ai-c) 4%,transparent), transparent 72%),
    linear-gradient(180deg,#050707 0%,#090c0d 48%,#050707 100%) !important;
  background-attachment:fixed !important;
  animation:codeia-ai-spectrum 22s linear infinite,codeia-ai-angle 34s linear infinite;
}

body,a,input,textarea,select,button { color:var(--codeia-text); }
body ::selection { background:var(--codeia-ai-b); color:#fff; }
body *::-webkit-scrollbar-track { background:var(--codeia-black) !important; }
body *::-webkit-scrollbar-thumb { background:var(--codeia-steel) !important; }
body *::-webkit-scrollbar-thumb:hover { background:var(--codeia-muted) !important; }
.safe-top { background:var(--codeia-black) !important; }

/* --------------------------------------------------------------------------
   Tipografia / enlaces. Forzamos contraste donde el theme heredado pintaba
   explicitamente negro; las excepciones interactivas se redefinen despues.
   -------------------------------------------------------------------------- */
body .csection:not(.codeia-experience-hero),
body .csection:not(.codeia-experience-hero) h1,
body .csection:not(.codeia-experience-hero) h2,
body .csection:not(.codeia-experience-hero) h3,
body .csection:not(.codeia-experience-hero) h4,
body .csection:not(.codeia-experience-hero) h5,
body .csection:not(.codeia-experience-hero) h6,
body .csection:not(.codeia-experience-hero) .sh1,
body .csection:not(.codeia-experience-hero) .sh2,
body .csection:not(.codeia-experience-hero) .sh3,
body .csection:not(.codeia-experience-hero) .sh4,
body .csection:not(.codeia-experience-hero) .sh5,
body .csection:not(.codeia-experience-hero) .shtitle,
body .csection:not(.codeia-experience-hero) .contenttitle,
body .csection:not(.codeia-experience-hero) .contentitle,
body .csection:not(.codeia-experience-hero) .contentitledesc,
body .csection:not(.codeia-experience-hero) .contentitledescsmid,
body .csection:not(.codeia-experience-hero) .contentitledesclarge,
body .csection:not(.codeia-experience-hero) .contentitleknowhow,
body .csection:not(.codeia-experience-hero) p,
body .csection:not(.codeia-experience-hero) li,
body .csection:not(.codeia-experience-hero) strong,
body .csection:not(.codeia-experience-hero) em,
body .csection:not(.codeia-experience-hero) a:not(.cta) {
  color:var(--codeia-text) !important;
}
body .smini,
body .sminia,
body .csingledescbuilderdesc,
body .citemserviciodesc,
body .contentitledescservicio,
body .ccifrasblockdesc,
body .clegaltext,
body .cfaqrepeaterdesc {
  color:var(--codeia-soft) !important;
}

/* --------------------------------------------------------------------------
   Header: negro translucido siempre. En la home se integra sobre el hero;
   al hacer scroll no vuelve a blanco.
   -------------------------------------------------------------------------- */
body .cheader,
body.cheaderwhite .cheader,
body.home:not(.cheaderwhite) .cheader {
  background:rgba(5,8,8,.74) !important;
  border-bottom-color:var(--codeia-line) !important;
  backdrop-filter:blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(120%) !important;
  box-shadow:0 14px 42px rgba(0,0,0,.12) !important;
}
body.home:not(.cheaderwhite) .cheaderfix,
body .cheaderfix { background:var(--codeia-black) !important; }
body .cheader .cmenuwrap a,
body .cheader .csloganheader,
body.cheaderwhite .cheader .cmenuwrap a,
body.home:not(.cheaderwhite) .cheader .cmenuwrap a,
body.home:not(.cheaderwhite) .cheader .csloganheader {
  color:var(--codeia-text) !important;
}
body .cheader .cmenuwrap a:hover,
body.cheaderwhite .cmenuwrap a:hover { color:#fff !important; text-shadow:0 0 20px color-mix(in srgb,var(--codeia-ai-a) 55%,transparent); }
body .cheader .csloganheader,
body.home:not(.cheaderwhite) .cheader .csloganheader { border-color:var(--codeia-line-strong) !important; background:rgba(255,255,255,.025) !important; }
body .cheader .sub-menu { background:rgba(7,10,10,.96) !important; border-color:var(--codeia-line) !important; box-shadow:0 28px 60px rgba(0,0,0,.38) !important; }
body .cheader .sub-menu a { color:var(--codeia-soft) !important; }
body .cheader .sub-menu a:hover { color:#fff !important; background:rgba(255,255,255,.035) !important; }
body .cheader .ctaheaderidiomas { border-color:var(--codeia-line-strong) !important; }
body .cheader .ctaheaderidiomas.ejq-idiomasdrop,
body.cheaderwhite .cheader .ctaheaderidiomas.ejq-idiomasdrop,
body.home .cheader .ctaheaderidiomas.ejq-idiomasdrop { background:rgba(7,10,10,.94) !important; }
body .cheader .ctaheaderidiomas *,
body.cheaderwhite .cheader .ctaheaderidiomas * { color:var(--codeia-text) !important; }
body .cheader .cburger .cbar,
body.cheaderwhite .cheader .cburger .cbar,
body.home:not(.cheaderwhite) .cheader .cburger .cbar { background:var(--codeia-text) !important; }
body .cheader .cheaderlogo svg path:first-child,
body.home:not(.cheaderwhite) .cheader .cheaderlogo svg path:first-child { fill:var(--codeia-text) !important; }
body .cheader .cheaderlogo svg path:nth-child(2),
body.cheaderwhite .cheaderlogo svg path:nth-child(2),
body.home:not(.cheaderwhite) .cheader .cheaderlogo svg path:nth-child(2) { fill:#6ddacb !important; }

/* --------------------------------------------------------------------------
   Hero Experience: misma composicion/canvas, nueva atmosfera. El canvas
   dibuja particulas negras: se invierte por CSS para conservarlo sin tocar JS.
   -------------------------------------------------------------------------- */
.codeia-experience-hero,
.codeia-experience-viewport {
  background-color:var(--codeia-void) !important;
  background-image:
    radial-gradient(72% 95% at 74% 46%, color-mix(in srgb,var(--codeia-ai-b) 16%,transparent), transparent 65%),
    radial-gradient(55% 80% at 35% 16%, color-mix(in srgb,var(--codeia-ai-a) 10%,transparent), transparent 64%),
    radial-gradient(62% 68% at 52% 100%, color-mix(in srgb,var(--codeia-ai-c) 8%,transparent), transparent 68%),
    linear-gradient(122deg,#040606 0%,#0b1112 52%,#060808 100%) !important;
  color:var(--codeia-text) !important;
}
.codeia-experience-canvas { filter:invert(1) brightness(.92) contrast(.92); opacity:.82; }
.codeia-experience-wash {
  background:
    radial-gradient(ellipse at 64% 48%,rgba(255,255,255,.055) 0,rgba(255,255,255,.012) 34%,transparent 64%),
    linear-gradient(115deg,rgba(255,255,255,.015),transparent 38%,rgba(0,0,0,.30) 100%) !important;
}
.codeia-experience-grain { opacity:.09 !important; mix-blend-mode:soft-light !important; }
.codeia-experience-line--code,
.codeia-experience-line--barcelona { color:#edf2f1 !important; text-shadow:0 12px 50px rgba(0,0,0,.18); }
.codeia-experience-line--experience {
  color:#d9dfde !important;
  background-image:linear-gradient(var(--codeia-ai-angle),#d8f9f3 0%,var(--codeia-ai-a) 25%,var(--codeia-ai-b) 62%,#d9b4df 100%) !important;
  background-size:180% 180% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
.codeia-experience-seo { color:var(--codeia-muted) !important; }
.codeia-experience-copy p { color:var(--codeia-soft) !important; }
.codeia-experience-copy p strong { color:#fff !important; }
.codeia-experience-cta {
  color:#fff !important;
  border-color:rgba(255,255,255,.17) !important;
  background:
    linear-gradient(var(--codeia-ai-angle),rgba(255,255,255,.055),rgba(255,255,255,.015)),
    linear-gradient(118deg,var(--codeia-ai-dark-a),var(--codeia-ai-dark-b) 56%,var(--codeia-ai-dark-c)) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.36),0 0 44px color-mix(in srgb,var(--codeia-ai-b) 10%,transparent) !important;
}
.codeia-experience-cta:hover {
  color:#fff !important;
  background:
    linear-gradient(var(--codeia-ai-angle),rgba(255,255,255,.09),rgba(255,255,255,.02)),
    linear-gradient(118deg,#1d4c52,#383a73 56%,#66365e) !important;
  box-shadow:0 25px 66px rgba(0,0,0,.42),0 0 54px color-mix(in srgb,var(--codeia-ai-a) 16%,transparent) !important;
}

/* --------------------------------------------------------------------------
   Superficies generales: negro continuo con planos petroleo. No tocamos la
   geometria de ninguna seccion, solo su material visual.
   -------------------------------------------------------------------------- */
body .csection:not(.codeia-experience-hero) { background-color:transparent; }
body .csectiongray,
body .csectionmodelhomeservices,
body.template-page-contacto .csectioncontact {
  background-color:rgba(14,20,21,.90) !important;
  background-image:
    radial-gradient(70% 120% at 100% 0%,color-mix(in srgb,var(--codeia-ai-a) 4%,transparent),transparent 68%),
    linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,0)) !important;
}
body .csectionmodeldecada,
body .csectionfaq,
body .csectioncasos {
  background-color:rgba(5,8,8,.20) !important;
}
body .csectioncontact {
  background-color:var(--codeia-black) !important;
  background-image:
    radial-gradient(58% 100% at 12% 100%,color-mix(in srgb,var(--codeia-ai-b) 7%,transparent),transparent 72%),
    radial-gradient(46% 95% at 92% 8%,color-mix(in srgb,var(--codeia-ai-a) 5%,transparent),transparent 70%) !important;
}

/* Lineas editoriales / separadores */
body .llinebot,
body .llinetop,
body .llineleft,
body .cgridtitularitem,
body .contentitledescservicio,
body .cfaqrepeaterinner,
body .clegalbottom,
body .cfooterlegal,
body .csectioncontact .cinner,
body .cformdefault .iinputdefault,
body .ccoltextarea .cinner { border-color:var(--codeia-line) !important; }
body .cgridtitularitem { border-image:linear-gradient(90deg,var(--codeia-line-strong),color-mix(in srgb,var(--codeia-ai-a) 32%,transparent),var(--codeia-line)) 1 !important; }

/* --------------------------------------------------------------------------
   Cifras / modelo operativo. Gradiente solo en puntos de senal IA.
   -------------------------------------------------------------------------- */
body .cnumberdecada,
body .citemsupernumber,
body .cnumberservicio {
  color:#dce4e3 !important;
}
body .cnumberdecada {
  background-image:linear-gradient(var(--codeia-ai-angle),#d8e7e4 12%,var(--codeia-ai-a) 44%,var(--codeia-ai-b) 84%) !important;
  background-size:160% 160% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
body .citemmodel > .cinner::before { background-color:#101718 !important; box-shadow:inset 0 0 0 1px var(--codeia-line),0 28px 70px rgba(0,0,0,.16) !important; }
body .citemmodel2 > .cinner::before { background-color:#152022 !important; }
body .citemmodel3 > .cinner::before { background-color:#1b2a2d !important; }
body .citemmodel4 > .cinner::before {
  background-color:#223538 !important;
  background-image:radial-gradient(100% 120% at 100% 0%,color-mix(in srgb,var(--codeia-ai-a) 8%,transparent),transparent 68%) !important;
}
body .cstepitem .cinner { background:#121a1b !important; color:var(--codeia-text) !important; }
body .cstepitem2 .cinner { background:#182326 !important; }
body .cstepitem3 .cinner { background:#213236 !important; }

/* --------------------------------------------------------------------------
   Servicios / sectores / cards. Cuatro tonos asfalticos, no cuatro colores.
   -------------------------------------------------------------------------- */
body .csectionmodelhomeservices .citemservicio,
body .csectionmodelhomeservices .citemserviciohome {
  background:#101617 !important;
  border-color:var(--codeia-line) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),0 22px 54px rgba(0,0,0,.10) !important;
}
body .csectionmodelhomeservices .citemserviciohome:hover { background:#182224 !important; box-shadow:0 28px 64px rgba(0,0,0,.24),0 0 44px color-mix(in srgb,var(--codeia-ai-b) 5%,transparent) !important; }
body .citemserviciocat1 { background:#223538 !important; }
body .citemserviciocat2 { background:#1b292c !important; }
body .citemserviciocat3 { background:#141e20 !important; }
body .citemserviciocat4 { background:#0e1415 !important; }
body .citemserviciocat1 *,
body .citemserviciocat2 *,
body .citemserviciocat3 *,
body .citemserviciocat4 * { color:var(--codeia-text) !important; }
body .citemserviciocat1 .cgridtitularitem,
body .citemserviciocat2 .cgridtitularitem,
body .citemserviciocat3 .cgridtitularitem,
body .citemserviciocat4 .cgridtitularitem { border-color:var(--codeia-line-strong) !important; }

/* Cases y tarjetas con backdrop */
body .citemcase > .cinner::before,
body .citembackdrop > .cinner::before { background:var(--codeia-surface) !important; }
body .citemcase:hover > .cinner::before,
body .citembackdrop:hover > .cinner::before {
  background-image:
    radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--codeia-ai-b) 7%,transparent),transparent 65%),
    linear-gradient(180deg,#182224,#12191a) !important;
}
body .citemcase:hover .citemproyectotitle { border-color:var(--codeia-line-strong) !important; }
body .citemcasesmall .cta { color:var(--codeia-text) !important; }

/* --------------------------------------------------------------------------
   Botones. Primario = IA contenida; secundario = consultora/outline.
   -------------------------------------------------------------------------- */
body .cta:not(.cta2) {
  color:#fff !important;
  border-color:rgba(255,255,255,.14) !important;
  background:
    linear-gradient(var(--codeia-ai-angle),rgba(255,255,255,.05),rgba(255,255,255,.01)),
    linear-gradient(118deg,var(--codeia-ai-dark-a),var(--codeia-ai-dark-b) 56%,var(--codeia-ai-dark-c)) !important;
  box-shadow:0 15px 36px rgba(0,0,0,.20),0 0 30px color-mix(in srgb,var(--codeia-ai-b) 6%,transparent) !important;
}
body .cta:not(.cta2):hover {
  color:#fff !important;
  border-color:rgba(255,255,255,.25) !important;
  background:
    linear-gradient(var(--codeia-ai-angle),rgba(255,255,255,.08),rgba(255,255,255,.015)),
    linear-gradient(118deg,#1d4c52,#393b73 56%,#66365e) !important;
  box-shadow:0 20px 46px rgba(0,0,0,.28),0 0 40px color-mix(in srgb,var(--codeia-ai-a) 10%,transparent) !important;
}
body .cta2,
body .cwb-post-cta .cta2,
body .cwb-post-cta-dark .cta2,
body .ctanaked {
  color:var(--codeia-text) !important;
  background:rgba(255,255,255,.018) !important;
  border-color:var(--codeia-line-strong) !important;
  box-shadow:none !important;
}
body .cta2:hover,
body .cwb-post-cta .cta2:hover,
body .cwb-post-cta-dark .cta2:hover,
body .ctanaked:hover {
  color:#fff !important;
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.38) !important;
}

/* --------------------------------------------------------------------------
   CTA editorial: bloque profundo con glow ligero, estilo consultora tech.
   -------------------------------------------------------------------------- */
body .cwb-post-cta,
body .cwb-post-cta-dark {
  color:var(--codeia-text) !important;
  background-color:#101718 !important;
  background-image:
    radial-gradient(62% 150% at 8% 14%,color-mix(in srgb,var(--codeia-ai-a) 9%,transparent),transparent 65%),
    radial-gradient(58% 150% at 95% 85%,color-mix(in srgb,var(--codeia-ai-b) 10%,transparent),transparent 67%),
    linear-gradient(112deg,#0d1314 0%,#172326 55%,#101517 100%) !important;
  border-color:var(--codeia-line) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 34px 90px rgba(0,0,0,.20) !important;
}
body .cwb-post-cta *,
body .cwb-post-cta-dark * { color:var(--codeia-text) !important; }
body .cwb-post-cta .cwb-cta-kicker,
body .cwb-post-cta-dark .cwb-cta-kicker { color:var(--codeia-muted) !important; }
body .cwb-post-cta .cta:not(.cta2),
body .cwb-post-cta-dark .cta:not(.cta2) { color:#fff !important; }

/* --------------------------------------------------------------------------
   FAQ: oscuro continuo, pregunta blanca, respuesta gris mineral.
   -------------------------------------------------------------------------- */
body .csectionfaq { color:var(--codeia-text) !important; }
body .cfaqrepeater,
body .cfaqrepeaterinner { border-color:var(--codeia-line) !important; }
body .cfaqrepeaterinner:hover { background:rgba(255,255,255,.018) !important; }
body .cfaqrepeaterinner svg path,
body .csectionblue .cfaqrepeaterinner svg path { stroke:var(--codeia-soft) !important; }
body .cfaqrepeaterdesc,
body .cfaqrepeaterdesc * { color:var(--codeia-soft) !important; }

/* --------------------------------------------------------------------------
   Tablas / specs.
   -------------------------------------------------------------------------- */
body .cwb-table-auto table {
  background:var(--codeia-carbon) !important;
  border-color:var(--codeia-line) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.24) !important;
  color:var(--codeia-text) !important;
}
body .cwb-table-auto table th {
  background:#203033 !important;
  color:#fff !important;
  border-color:var(--codeia-line) !important;
}
body .cwb-table-auto table td {
  color:var(--codeia-soft) !important;
  background:transparent !important;
  border-color:var(--codeia-line) !important;
}
body .cwb-table-auto table tbody tr:nth-child(even) { background:rgba(255,255,255,.018) !important; }
body .cwb-table-auto table tbody tr:hover { background:rgba(255,255,255,.04) !important; }
body .cwb-table-auto .cb-table-arrow {
  color:var(--codeia-text) !important;
  background:var(--codeia-petrol) !important;
  border-color:var(--codeia-line-strong) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.28) !important;
}
body .cwb-table-auto .cb-premium-table-scroll::-webkit-scrollbar-track { background:var(--codeia-black) !important; }
body .cwb-table-auto .cb-premium-table-scroll::-webkit-scrollbar-thumb { background:var(--codeia-steel) !important; }

/* --------------------------------------------------------------------------
   Formularios / contacto.
   -------------------------------------------------------------------------- */
body .cformdefault,
body .cformlead { color:var(--codeia-text) !important; }
body .iinputdefault,
body.template-page-contacto .csectioncontact .iinputdefault,
body .ccoltextarea .cinner,
body.template-page-contacto .ccoltextarea .cinner {
  color:#fff !important;
  background:rgba(255,255,255,.025) !important;
  border-color:#fff !important;
  caret-color:var(--codeia-ai-a) !important;
}
body .iinputdefault:focus,
body textarea:focus,
body input:focus { border-color:rgba(111,218,203,.85) !important; outline-color:rgba(111,218,203,.38) !important; }
body .iinputdefault::placeholder,
body textarea::placeholder,
body input::placeholder { color:#fff !important; opacity:1 !important; }
body input[type='checkbox'],body input[type='radio'] { accent-color:#54757a; }
body .clabelcv,
body .clegalwrap,
body .clegalwrap * { color:var(--codeia-soft) !important; }
body .cinputcvwrap { border-color:#fff !important; background:rgba(255,255,255,.018) !important; }

/* --------------------------------------------------------------------------
   Cookies / popups: ningun panel blanco puede romper la inmersion.
   -------------------------------------------------------------------------- */
body .cpopup,
body .cbannercookiescode,
body .cpanelcookies,
body .cpanelcookiesinner,
body .ccookiepanelitem,
body .ccookiepaneliteminner,
body .ccookiepaneliteminnerwrap {
  color:var(--codeia-text) !important;
  background:var(--codeia-carbon) !important;
  border-color:var(--codeia-line) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.44) !important;
}
body .cpopup *,
body .cbannercookiescode *,
body .cpanelcookies * { color:var(--codeia-soft) !important; }
body .cpopupopa,
body .ccookieopa { background:#000 !important; opacity:.76 !important; }
body .cpopupclose { filter:invert(1) brightness(1.7); opacity:.82; }
body .scookiebutton,
body .jqaceptarcookies,
body .jqconfigurarcookies,
body .jqdeclinecookies,
body .jqconfirmarcookies {
  color:var(--codeia-text) !important;
  border-color:var(--codeia-line-strong) !important;
  background:rgba(255,255,255,.035) !important;
}
body .scookiebutton:hover,
body .jqaceptarcookies:hover,
body .jqconfigurarcookies:hover,
body .jqdeclinecookies:hover,
body .jqconfirmarcookies:hover { background:rgba(255,255,255,.085) !important; color:#fff !important; }
body .sactivassiempre { color:var(--codeia-muted) !important; }

/* --------------------------------------------------------------------------
   Footer: casi negro, petroleo profundo y firma gradient muy controlada.
   -------------------------------------------------------------------------- */
body .cfooter {
  color:var(--codeia-text) !important;
  background-color:#040606 !important;
  background-image:
    radial-gradient(58% 100% at 18% 100%,color-mix(in srgb,var(--codeia-ai-a) 7%,transparent),transparent 72%),
    radial-gradient(52% 100% at 86% 0%,color-mix(in srgb,var(--codeia-ai-b) 6%,transparent),transparent 73%),
    linear-gradient(180deg,#080b0b,#040606) !important;
}
body .cfooter *,
body .clegalbottom *,
body .cfooterlegal * { color:var(--codeia-soft) !important; }
body .cfooter a:hover { color:#fff !important; }
/* El gradiente vive solo en la capa de glifo real. Aplicarlo tambien al
   wrapper .superh1 hace que WebKit pinte una segunda mascara estatica y,
   durante el reveal por transform, se vea texto duplicado/solapado. */
body .cfooter .superh1 {
  color:#72807f !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  -webkit-text-fill-color:currentColor !important;
}
body .cfooter .ctohcubic {
  color:#72807f !important;
  background-image:linear-gradient(var(--codeia-ai-angle),#566664 8%,var(--codeia-ai-a) 38%,var(--codeia-ai-b) 72%,#685568 100%) !important;
  background-size:180% 180% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
body .cfooter-services-marquee .cmarquesinawrapmini {
  background:#0d1415 !important;
  border-top-color:var(--codeia-line) !important;
}
body .cfooter-services-marquee .cmarquesinawrapmini * { color:var(--codeia-soft) !important; }
body .clegalbottom {
  color:var(--codeia-soft) !important;
  background:#040606 !important;
  border-color:var(--codeia-line) !important;
}
body .cfooterkitsinner { background:#0c1112 !important; border-color:var(--codeia-line) !important; }
body .cfooterkitsimg * { fill:var(--codeia-soft) !important; }

/* --------------------------------------------------------------------------
   Carga / cursores / detalles auxiliares.
   -------------------------------------------------------------------------- */
body .loadingpage,
body .loadingajax,
body .loadingajaxfixed { background:var(--codeia-void) !important; color:var(--codeia-text) !important; }
body .cursor-outline { border-color:rgba(255,255,255,.42) !important; }
body .cursor-dot { background:var(--codeia-ai-a) !important; }
body hr { border-color:var(--codeia-line) !important; }
body code,body pre { color:#d8e2e0 !important; background:#0b1011 !important; border-color:var(--codeia-line) !important; }

/* --------------------------------------------------------------------------
   Accesibilidad / motion. El gradiente vivo se congela si el SO lo pide.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce) {
  body { animation:none !important; }
  .codeia-experience-line--experience,
  body .cnumberdecada,
  body .cfooter .superh1,
  body .cfooter .ctohcubic { background-position:50% 50% !important; }
}


/* --------------------------------------------------------------------------
   QA render 2026-09-10 · fugas heredadas detectadas en navegador real.
   Solo pintura: menu movil y microcopy.
   -------------------------------------------------------------------------- */
body .cmenuwrapresponsive,
body.home .cmenuwrapresponsive,
body.cheaderwhite .cmenuwrapresponsive {
  color:var(--codeia-text) !important;
  background:rgba(5,8,8,.985) !important;
  border-color:var(--codeia-line) !important;
  box-shadow:0 34px 80px rgba(0,0,0,.46) !important;
}
body .cmenuwrapresponsive ul a,
body .cmenuwrapresponsive li a,
body .cmenuwrapresponsive * {
  color:var(--codeia-text) !important;
  border-color:var(--codeia-line) !important;
}
body .cmenuwrapresponsive .sub-menu {
  background:rgba(12,16,17,.96) !important;
  border-color:var(--codeia-line) !important;
}
body .cmenuwrapresponsive .sub-menu li a {
  color:var(--codeia-soft) !important;
  background:rgba(255,255,255,.018) !important;
  border-color:var(--codeia-line) !important;
}
body .cmenuwrapresponsive .sub-menu li a:hover { color:#fff !important; background:rgba(255,255,255,.055) !important; }
body .cmenuwrapresponsive .menu-item-has-children::after { filter:grayscale(1) invert(1) brightness(1.8); opacity:.76; }
body .cmicro { color:var(--codeia-muted) !important; }

/* Loading veil: el theme base lo deja blanco hasta que termina la entrada/salida. */
body .eloadingpage {
  color:var(--codeia-text) !important;
  background:var(--codeia-void) !important;
}

/* QA RED FLAG · fondo heredado del bloque "Cómo pensamos". El asset modelo.jpg
   era claro y seguía visible bajo la skin, lavando por completo la sección.
   Conservamos el asset/layout pero lo hundimos en negro-petróleo. */
body .csectionmodeldecada .cbgmodel {
  background-color:#060808 !important;
  background-image:
    linear-gradient(110deg,rgba(4,6,6,.82),rgba(9,14,15,.72) 48%,rgba(4,6,6,.86)),
    url('../img/modelo.jpg') !important;
  background-blend-mode:multiply !important;
  filter:brightness(.26) saturate(.52) contrast(1.12) !important;
  opacity:.78 !important;
}
body .csectionmodeldecada { background-color:#060808 !important; }
body .csectionmodeldecada .shtitle,
body .csectionmodeldecada .ctextoaboutlimit5,
body .csectionmodeldecada .ctextoaboutlimit5 p,
body .csectionmodeldecada .ccifrasblockdesc,
body .csectionmodeldecada .contenttitle,
body .csectionmodeldecada .contenttitle * { color:var(--codeia-text) !important; }
body .csectionmodeldecada .contenttitle .smini,
body .csectionmodeldecada .contenttitle.smini,
body .csectionmodeldecada .smini { color:var(--codeia-muted) !important; }

/* CODE GPT Ads · About logo matches the header mark exactly. */
body .codegptads-about-logo svg path:first-child { fill:var(--codeia-text) !important; }
body .codegptads-about-logo svg path:nth-child(2) { fill:#6ddacb !important; }
