/* ===== Fuentes self-host (font-display:swap) ===== */
@font-face{font-family:'General Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/generalsans-500.woff2') format('woff2');}
@font-face{font-family:'General Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/generalsans-600.woff2') format('woff2');}
@font-face{font-family:'General Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/generalsans-700.woff2') format('woff2');}
@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/geist-400.woff2') format('woff2');}
@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/geist-500.woff2') format('woff2');}
@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/geist-600.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/jetbrainsmono-600.woff2') format('woff2');}

/* ============================================================
   KAELUM — Sistema de diseño (rediseño 2026, handoff Claude Design)
   Atmósfera oscura + aurora. Portado a estático (sin runtime).
   ============================================================ */

html, body { margin: 0; padding: 0; background:#18191A; background-color:#18191A; scroll-behavior: smooth; }
  * { box-sizing: border-box; }
  @property --kang{syntax:"<angle>";inherits:false;initial-value:0deg;}
  @keyframes kael-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes kael-pop { from { opacity: 0; transform: translateY(14px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
  @keyframes kael-blink { 0%, 60%, 100% { opacity: 0.25; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-2px); } }
  @keyframes kael-ping { 0% { transform: scale(1); opacity: 0.55; } 80%, 100% { transform: scale(2.4); opacity: 0; } }
  @keyframes kael-rise { from { transform: translateY(16px); } to { transform: translateY(0); } }
  @keyframes kael-shimmer { to { background-position: 200% center; } }
  @keyframes kael-logopulse { 0%, 100% { filter: drop-shadow(0 0 1px rgba(11,132,243,0)); } 50% { filter: drop-shadow(0 0 9px rgba(11,132,243,0.6)); } }
  @keyframes mzu-spin{to{--kang:360deg;}}
  .kael-desktop { display: flex; }
  .kael-burger { display: none; }
  @media (max-width: 940px) {
    .kael-desktop { display: none !important; }
    .kael-burger { display: flex !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    .kael-marquee-track { animation: none !important; }
    html { scroll-behavior: auto; }
  }

  /* ===== ATMOSPHERE ===== */
  .mzu-bg{position:fixed;inset:0;z-index:-2;overflow:hidden;background:linear-gradient(180deg,#1B1C1D 0%,#18191A 55%,#161718 100%)}
  .mzu-bg .blob{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform;opacity:0.5}
  .mzu-bg .b1{width:66vw;height:66vw;top:-18%;left:-12%;background:radial-gradient(circle,rgba(90,100,114,0.16),transparent 62%);animation:mzu-a1 28s ease-in-out infinite}
  .mzu-bg .b2{width:70vw;height:70vw;bottom:-22%;right:-14%;background:radial-gradient(circle,rgba(11,132,243,0.14),transparent 62%);animation:mzu-a2 34s ease-in-out infinite}
  .mzu-bg .b3{width:54vw;height:54vw;top:22%;right:4%;background:radial-gradient(circle,rgba(80,88,98,0.12),transparent 64%);animation:mzu-a3 30s ease-in-out infinite}
  .mzu-bg .grain{position:absolute;inset:0;opacity:0.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  .mzu-bg .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,0.06) 1px,transparent 1px);background-size:34px 34px;-webkit-mask:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 80%);mask:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 80%)}
  @keyframes mzu-a1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(7%,5%) scale(1.1)}}
  @keyframes mzu-a2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-6%,-5%) scale(1.12)}}
  @keyframes mzu-a3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4%,6%) scale(1.07)}}
  @media (prefers-reduced-motion: reduce){.mzu-bg .blob{animation:none!important}}

  /* ===== MUESTRA DISEÑO — EDITORIAL ===== */
  .mz-eyebrow{display:inline-flex;align-items:center;gap:14px;margin-bottom:18px;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:12px;letter-spacing:0.30em;text-transform:uppercase;background:linear-gradient(135deg,#0B84F3,#3B82F6,#3B82F6);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .mz-eyebrow::before{content:"";width:34px;height:2px;border-radius:2px;flex:none;background:linear-gradient(135deg,#0B84F3,#3B82F6,#3B82F6);}
  .mz-gword{background:linear-gradient(120deg,#0B84F3,#3B82F6,#3B82F6,#4DA6F7);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:kael-shimmer 7s linear infinite;padding-bottom:0.06em;}
  .mz-chip{width:48px;height:48px;flex:none;border-radius:13px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(11,132,243,0.24),rgba(59,130,246,0.14));border:1px solid rgba(11,132,243,0.34);}
  .mz-chip svg{stroke:#5FA8F2;}
  .mz-tilt{border-radius:16px;padding:8px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);box-shadow:0 50px 90px -34px rgba(0,0,0,0.9),0 0 60px rgba(11,132,243,0.10);transition:transform .6s cubic-bezier(.2,.7,.2,1);}
  .mz-tilt img{width:100%;display:block;border-radius:10px;}

  /* editorial feature row */
  .mz-row{display:flex;flex-wrap:wrap;align-items:center;gap:56px;}
  .mz-row>.col{flex:1 1 320px;min-width:300px;}
  @media (max-width:860px){.mz-row{gap:34px;}}

  /* fases — grid 2x2 de cards (mismo lenguaje visual que .mz-strip/.mz-tile) */
  .mz-time{position:relative;margin-top:54px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px;align-items:stretch;}
  .mz-step{position:relative;display:flex;flex-direction:column;gap:16px;padding:34px 32px;border:1px solid rgba(255,255,255,0.09);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.012));}
  .mz-step-head{display:flex;align-items:center;justify-content:space-between;gap:16px;}
  .mz-num{font-family:'General Sans',sans-serif;font-weight:600;font-size:clamp(44px,5vw,66px);line-height:0.9;background:linear-gradient(140deg,#0B84F3,#3B82F6,#3B82F6,#4DA6F7);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;}
  .mz-tag{display:inline-flex;align-items:center;flex:none;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#5FA8F2;padding:7px 13px;border-radius:9999px;background:linear-gradient(135deg,rgba(11,132,243,0.20),rgba(59,130,246,0.12));border:1px solid rgba(11,132,243,0.32);}
  .mz-step h3{margin:0;font-family:'General Sans',sans-serif;font-weight:600;font-size:23px;line-height:1.15;}
  .mz-desc{margin:0;font-size:15.5px;line-height:1.6;color:#C2C2C7;}
  .mz-list-label{margin:6px 0 -4px;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(245,244,248,0.5);}
  .mz-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
  .mz-list li{position:relative;padding-left:23px;font-size:14.5px;line-height:1.5;color:#CFCFD3;}
  .mz-list li::before{content:"";position:absolute;left:2px;top:7px;width:9px;height:9px;border-radius:3px;background:linear-gradient(135deg,#0B84F3,#3B82F6);}
  .mz-meta{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,0.08);display:flex;flex-direction:column;gap:9px;}
  .mz-meta>div{display:flex;gap:12px;}
  .mz-meta .k{flex:none;min-width:86px;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(245,244,248,0.6);padding-top:3px;}
  .mz-meta .v{font-size:14px;line-height:1.45;color:#CFCFD3;}
  .mz-time-foot{max-width:680px;margin:34px auto 0;text-align:center;font-size:16px;line-height:1.6;color:#C2C2C7;}
  @media (max-width:860px){.mz-time{grid-template-columns:1fr;gap:18px;}.mz-step{padding:30px 26px;}}
  @media (max-width:420px){.mz-meta>div{flex-direction:column;gap:3px;}.mz-meta .k{padding-top:0;}}

  /* stat strip */
  .mz-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border:1px solid rgba(255,255,255,0.09);border-radius:20px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.012));}
  .mz-strip>div{padding:38px 30px;border-left:1px solid rgba(255,255,255,0.07);}
  .mz-strip>div:first-child{border-left:none;}
  .mz-bignum{font-family:'General Sans',sans-serif;font-weight:600;line-height:1;color:#4DA6F7;}
  @media (max-width:760px){.mz-strip{grid-template-columns:repeat(2,1fr);}.mz-strip>div:nth-child(odd){border-left:none;}.mz-strip>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,0.07);}}

  /* reason rows */
  .mz-reasons{display:flex;flex-direction:column;}
  .mz-reason{display:flex;gap:24px;padding:30px 0;border-top:1px solid rgba(255,255,255,0.09);}
  .mz-reason:last-child{border-bottom:1px solid rgba(255,255,255,0.09);}

  /* sector mosaic */
  .mz-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:48px;}
  .mz-tile{position:relative;overflow:hidden;border-radius:20px;min-height:300px;border:1px solid rgba(255,255,255,0.08);display:flex;flex-direction:column;transition:transform .35s ease,border-color .35s ease;}
  .mz-tile:hover{transform:translateY(-5px);border-color:rgba(11,132,243,0.4);}
  .mz-tile.s7{grid-column:span 7;} .mz-tile.s5{grid-column:span 5;}
  @media (max-width:820px){.mz-tile.s7,.mz-tile.s5{grid-column:span 12;min-height:240px;}}
  @media (max-width:820px){.mz-whygrid{grid-template-columns:1fr !important;gap:34px !important;}}

  .mzu-cta{position:relative;isolation:isolate;}
  .mzu-cta::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2.5px;background:conic-gradient(from var(--kang),#0B84F3,#3B82F6,#3B82F6,#4DA6F7,#0B84F3);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:mzu-spin 4.5s linear infinite;}
  @media (prefers-reduced-motion:reduce){.mzu-cta::before{animation:none;}.mz-gword,.mz-num,.mz-bignum{animation:none;}}
  /* progress thread sits above atmosphere, sections (transparent) sit above the thread so text/media stay on top */
  .mzbody > section, .mzbody > footer { position: relative; z-index: 2; }

/* ===== Añadidos del port estático ===== */
img,svg,video{max-width:100%;}
a{color:inherit;}
::selection{background:rgba(11,132,243,0.4);color:#fff;}
:focus-visible{outline:2px solid #0B84F3;outline-offset:3px;border-radius:4px;}

/* Fondo del hero: degradado radial oscuro (sin canvas ni vídeo) */
.kael-herobg{position:absolute;inset:0;z-index:0;overflow:hidden;background:radial-gradient(120% 95% at 50% -5%, #1C1D1E 0%, #161718 52%, #18191A 100%);}

/* ===== HERO rediseñado: logo protagonista + fake 3D (CSS transforms, sin librerías) ===== */
.kael-hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;align-items:center;gap:clamp(32px,5vw,72px);max-width:1280px;margin:0 auto;width:100%;padding:0 36px;}
.kael-hero-logo-wrap{position:relative;display:grid;place-items:center;perspective:1100px;}
/* Glow de fondo del logo (bajado un punto al añadir el destello de las gemas) */
.kael-hero-logo-glow{position:absolute;width:80%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,rgba(11,132,243,0.32) 0%,rgba(11,132,243,0.10) 42%,transparent 70%);filter:blur(48px);z-index:0;}
.hero-ready .kael-hero-logo-glow{animation:kael-logoglow 6s ease-in-out infinite;}
/* Partículas muy sutiles alrededor de la K (detrás, sin tapar gemas ni texto).
   El contenedor lo desplaza un poco el JS (parallax); cada punto hace su propio drift. */
.kael-hero-particles{position:absolute;inset:-12%;z-index:0;pointer-events:none;}
/* Exterior: posición + repulsión (translate vía --rx/--ry que pone el JS). */
.kp{position:absolute;transform:translate(-50%,-50%) translate(var(--rx,0px),var(--ry,0px));will-change:transform;}
/* Interior: el punto visible, con flotar mínimo + titileo de opacidad (CSS). */
.kp-dot{display:block;width:var(--s,3px);height:var(--s,3px);border-radius:50%;background:var(--c,#9CD3FF);box-shadow:0 0 6px var(--c,#9CD3FF);opacity:0;will-change:opacity,transform;}
.hero-ready .kp-dot{animation:kael-kp-dot var(--t,9s) ease-in-out var(--dl,0s) infinite;}
@keyframes kael-kp-dot{0%,100%{opacity:0;transform:translate(0,0) scale(.85)}30%{opacity:calc(var(--o,.22)*1.3)}50%{opacity:calc(var(--o,.22)*1.3);transform:translate(calc(var(--mx,4px)*.4),calc(var(--my,-5px)*.4)) scale(1.06)}70%{opacity:calc(var(--o,.22)*.75)}}
.kael-hero-logo-float{transform-style:preserve-3d;animation:kael-logofloat 7.5s ease-in-out infinite;will-change:transform;pointer-events:none;}
.kael-hero-logo-tilt{transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;pointer-events:none;}
/* La K (base) + 9 gemas con destello individual al hover, alineadas al 100% */
/* Las capas del logo no capturan el ratón (al inclinarse en 3D, su plano robaba el
   hover de las gemas del lado que gira hacia atrás). Solo las gemas son sensibles. */
.kael-hero-k{position:relative;z-index:1;display:block;width:min(44vh,440px);max-width:100%;pointer-events:none;}
.kael-hero-k-base{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 54px rgba(0,0,0,0.55));}
/* Cada gema: zona sensible circular (~6% de radio) centrada en su coordenada. */
.kael-gem{position:absolute;width:12%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:auto;}
/* El glow vive en ::before (no amplía la zona sensible). Reposo invisible.
   Encendido RÁPIDO al hover (.12s), apagado LENTO al salir (.8s ease-out). */
.kael-gem::before{content:"";position:absolute;inset:-48%;border-radius:50%;background:radial-gradient(circle,rgba(156,211,255,0.95) 0%,rgba(11,132,243,0.5) 38%,transparent 70%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .8s ease-out;will-change:opacity;}
.kael-gem:hover::before{opacity:0.9;transition:opacity .12s ease-out;}
@keyframes kael-logofloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
@keyframes kael-logoglow{0%,100%{opacity:0.55;transform:scale(0.96)}50%{opacity:0.85;transform:scale(1.04)}}
/* Móvil/táctil (sin hover): latido automático ESCALONADO (encienden en secuencia). */
@keyframes kael-gem-pulse{0%,14%,100%{opacity:0}6%{opacity:0.85}}
@media (hover:none){
  .hero-ready .kael-gem::before{animation:kael-gem-pulse 8s ease-in-out infinite;animation-delay:var(--d,0s);}
}
@media (max-width:900px){
  .kael-hero-grid{grid-template-columns:1fr;text-align:center;gap:34px;justify-items:center;padding:0 24px;}
  .kael-hero-text{align-items:center !important;}
  .kael-hero-cta-row{justify-content:center;}
  .kael-hero-k{width:min(62vw,300px);}
}
@media (prefers-reduced-motion:reduce){
  .kael-hero-logo-float,.kael-hero-logo-glow{animation:none !important;}
  .kael-gem::before{animation:none !important;}
  .kp-dot{animation:none !important;opacity:.14 !important;}
}

/* Footer responsive */
@media (max-width:820px){.kael-grid--footer{grid-template-columns:1fr 1fr !important;gap:32px !important;}}
@media (max-width:520px){.kael-grid--footer{grid-template-columns:1fr !important;}}

/* Estado inicial reveal sólo con JS (sin JS, todo visible) */
.js [data-reveal]{opacity:0;}
.js [data-reveal].is-visible{opacity:1;transform:none !important;}

/* Dropdown/menu/chat controlados por JS */
[data-dd-panel]{display:none;}
[data-dd-panel].open{display:block;}
.kael-mobilemenu{display:none;}
.kael-mobilemenu.open{display:flex;}
.kael-chatpanel{display:none;}
.kael-chatpanel.open{display:flex;}

/* ============================================================
   Páginas internas (handoff "global upgrade")
   ============================================================ */
@keyframes kael-drift1 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(6%,5%) scale(1.08); } }
@keyframes kael-drift2 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-5%,-4%) scale(1.1); } }
@keyframes kael-drift3 { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(4%,-6%) scale(1.06); } }

.kael-grid { display: grid; gap: 24px; }
@media (max-width: 820px) {
  .kael-grid--2, .kael-grid--3 { grid-template-columns: 1fr !important; }
  .kael-connector { display: none !important; }
}
@media (max-width: 1040px) { .kael-grid--4 { grid-template-columns: repeat(2,1fr) !important; } }
@media (max-width: 560px) { .kael-grid--4 { grid-template-columns: 1fr !important; } }

.kael-sitebg{display:none!important}
.kael-circuit{display:none!important}

[data-cardhover]{position:relative;background:linear-gradient(165deg,rgba(255,255,255,0.05),rgba(255,255,255,0.02) 55%,rgba(255,255,255,0.01))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,0.10),0 24px 55px -24px rgba(0,0,0,0.85)}
[data-cardhover]::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(11,132,243,0.10),transparent 60%)}
[data-cardhover]:hover::after{opacity:1}

.mzu-eye{display:inline-flex;align-items:center;gap:13px;margin:0 0 16px;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:12px;letter-spacing:0.28em;text-transform:uppercase;background:linear-gradient(135deg,#0B84F3,#3B82F6,#3B82F6);-webkit-background-clip:text;background-clip:text;color:transparent;}
.mzu-eye::before{content:"";width:30px;height:2px;border-radius:2px;flex:none;background:linear-gradient(135deg,#0B84F3,#3B82F6,#3B82F6);}

.mzu-tilt{transform:perspective(1500px) rotateX(5deg);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.mzu-tilt:hover{transform:perspective(1500px) rotateX(2deg) translateY(-5px);}

.mzu-bento4{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.mzu-bento4>*{grid-column:span 3;}
.mzu-bento4>*:nth-child(1){grid-column:span 4;}
.mzu-bento4>*:nth-child(2){grid-column:span 2;}
.mzu-bento4>*:nth-child(3){grid-column:span 2;}
.mzu-bento4>*:nth-child(4){grid-column:span 4;}
@media(max-width:820px){.mzu-bento4{grid-template-columns:1fr;}.mzu-bento4>*{grid-column:span 1!important;}}

.mzu-bento3{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;grid-auto-flow:dense;}
.mzu-bento3>*{grid-column:span 2;}
.mzu-bento3>*:nth-child(1){grid-column:span 4;}
.mzu-bento3>*:nth-child(8){grid-column:span 4;}
@media(max-width:820px){.mzu-bento3{grid-template-columns:1fr;}.mzu-bento3>*{grid-column:span 1!important;}}

/* FAQ (Implementación de IA) */
.kael-faq summary{list-style:none;cursor:pointer;}
.kael-faq summary::-webkit-details-marker{display:none;}
.kael-faq .kf-icon{transition:transform .3s ease;}
.kael-faq[open] .kf-icon{transform:rotate(45deg);}

/* ============================================================
   Chat widget "Agente KAELUM"
   El markup se inyecta desde main.js (injectChatWidget); aquí vive
   todo su estilo. Único punto de definición visual del widget.
   ============================================================ */
/* Geist explícito: el widget se inyecta en <body>, fuera del contenedor
   .mzbody que fija la fuente del sitio, así que la heredamos aquí. */
.kael-chat-root{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:14px;font-family:'Geist',-apple-system,system-ui,sans-serif;}

/* Panel (display lo controlan .kael-chatpanel / .open más arriba) */
.kael-chatpanel{width:min(370px,92vw);max-height:min(560px,78vh);flex-direction:column;border-radius:20px;overflow:hidden;background:rgba(22,23,24,0.95);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.10);box-shadow:0 24px 70px rgba(0,0,0,0.55);}

.kael-chat-header{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,0.08);background:linear-gradient(135deg,rgba(11,132,243,0.18),rgba(59,130,246,0.10));}
.kael-chat-avatar{position:relative;width:40px;height:40px;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 28%,#26282A,#1C1D1E);border:1px solid rgba(255,255,255,0.12);box-shadow:0 0 16px rgba(11,132,243,0.45);}
.kael-chat-avatar img{width:26px;height:26px;object-fit:contain;}
.kael-chat-headtext{flex:1;}
.kael-chat-title{font-size:15px;font-weight:600;color:#F5F4F8;font-family:'General Sans',sans-serif;}
.kael-chat-status{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(245,244,248,0.6);}
.kael-chat-status-dot{width:7px;height:7px;border-radius:9999px;background:#34D399;box-shadow:0 0 8px #34D399;}
.kael-chat-close{width:32px;height:32px;border-radius:9999px;background:rgba(255,255,255,0.06);border:none;color:#DEDEE2;font-size:20px;line-height:1;cursor:pointer;transition:background .2s;}
.kael-chat-close:hover{background:rgba(255,255,255,0.12);}

.kael-chat-scroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:200px;}

.kael-chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;}
.kael-chat-quickbtn{padding:8px 13px;border-radius:9999px;cursor:pointer;background:rgba(11,132,243,0.12);border:1px solid rgba(11,132,243,0.35);color:#8FC2F6;font-family:inherit;font-size:13px;font-weight:500;transition:background .2s;}
.kael-chat-quickbtn:hover{background:rgba(11,132,243,0.22);}

.kael-chat-form{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid rgba(255,255,255,0.08);}
.kael-chat-input{flex:1;padding:11px 14px;border-radius:9999px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.10);color:#F5F4F8;font-family:inherit;font-size:14px;outline:none;}
.kael-chat-send{width:40px;height:40px;flex:none;border-radius:9999px;border:none;cursor:pointer;background:linear-gradient(135deg,#0B84F3,#3B82F6);display:flex;align-items:center;justify-content:center;box-shadow:0 0 18px rgba(11,132,243,0.4);}

.kael-chat-note{padding:0 16px 12px;text-align:center;font-size:11px;color:rgba(245,244,248,0.55);}

/* Botón flotante (FAB) */
.kael-chat-fab{position:relative;width:64px;height:64px;border-radius:9999px;border:1px solid rgba(255,255,255,0.12);cursor:pointer;background:radial-gradient(circle at 32% 28%,#26282A,#161718);box-shadow:0 10px 34px rgba(11,132,243,0.5);display:flex;align-items:center;justify-content:center;transition:transform .2s;}
.kael-chat-fab:hover{transform:scale(1.06);}
.kael-chat-fab-ping{position:absolute;inset:0;border-radius:9999px;background:rgba(11,132,243,0.5);animation:kael-ping 2.4s ease-out infinite;z-index:0;}
.kael-chat-fab-logo{position:relative;z-index:1;width:38px;height:38px;object-fit:contain;animation:kael-logopulse 3.6s ease-in-out infinite;}

/* Burbujas de mensaje (las crea main.js) */
.kael-chat-row{display:flex;}
.kael-chat-row--user{justify-content:flex-end;}
.kael-chat-row--bot{justify-content:flex-start;}
.kael-chat-msg{padding:10px 14px;font-size:14px;line-height:1.5;overflow-wrap:anywhere;}
.kael-chat-msg--user{max-width:80%;border-radius:15px 15px 4px 15px;background:linear-gradient(135deg,#0B84F3,#3B82F6);color:#fff;}
.kael-chat-msg--bot{max-width:84%;border-radius:15px 15px 15px 4px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);color:#ECECEF;}
/* Markdown renderizado dentro de los mensajes del agente */
.kael-chat-msg strong{font-weight:600;}
.kael-chat-msg em{font-style:italic;}
.kael-chat-msg p{margin:8px 0;}
.kael-chat-msg p:first-child{margin-top:0;}
.kael-chat-msg p:last-child{margin-bottom:0;}
.kael-chat-msg ul,.kael-chat-msg ol{margin:6px 0;padding-left:20px;}
.kael-chat-msg li{margin:3px 0;}
.kael-chat-msg a{color:#8FC2F6;text-decoration:none;}
.kael-chat-msg a:hover{text-decoration:underline;}
.kael-chat-typing{display:flex;gap:4px;padding:12px 14px;border-radius:14px 14px 14px 4px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);}
.kael-chat-typing span{width:6px;height:6px;border-radius:9999px;background:#9A9AA0;animation:kael-blink 1.2s infinite;}
.kael-chat-typing span:nth-child(2){animation-delay:.2s;}
.kael-chat-typing span:nth-child(3){animation-delay:.4s;}

/* ============================================================
   Banner de consentimiento de cookies (RGPD) — lo inyecta main.js
   ============================================================ */
.kael-cookie{position:fixed;left:20px;bottom:20px;z-index:70;max-width:430px;width:calc(100% - 40px);display:flex;flex-direction:column;gap:14px;padding:18px 20px;border-radius:16px;background:rgba(24,25,26,0.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.10);box-shadow:0 18px 50px rgba(0,0,0,0.55);font-family:'Geist',-apple-system,system-ui,sans-serif;animation:kael-cookie-in .45s cubic-bezier(.2,.7,.2,1) both;}
.kael-cookie--out{animation:kael-cookie-out .3s ease forwards;}
@keyframes kael-cookie-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes kael-cookie-out{to{opacity:0;transform:translateY(14px)}}
.kael-cookie-text{margin:0;font-size:14px;line-height:1.55;color:#CFCFD3;}
.kael-cookie-text a{color:#4DA6F7;text-decoration:none;}
.kael-cookie-text a:hover{text-decoration:underline;}
.kael-cookie-actions{display:flex;gap:10px;justify-content:flex-end;}
.kael-cookie button{font-family:inherit;font-size:14px;font-weight:600;padding:10px 22px;border-radius:9999px;cursor:pointer;border:none;transition:transform .2s ease,background .2s ease,border-color .2s ease;}
.kael-cookie-accept{background:#0A6FD0;color:#fff;box-shadow:0 0 24px rgba(11,132,243,0.3);}
.kael-cookie-accept:hover{transform:translateY(-1px);box-shadow:0 0 32px rgba(11,132,243,0.45);}
.kael-cookie-reject{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.18);color:#E8E8EB;}
.kael-cookie-reject:hover{border-color:rgba(255,255,255,0.4);}
@media (max-width:520px){.kael-cookie{left:12px;right:12px;bottom:12px;width:auto;max-width:none;}.kael-cookie-actions{justify-content:stretch;}.kael-cookie button{flex:1;}}
@media (prefers-reduced-motion:reduce){.kael-cookie,.kael-cookie--out{animation:none;}}

/* Acordeón de servicios */
.kael-acc summary{list-style:none;cursor:pointer;}
.kael-acc summary::-webkit-details-marker{display:none;}
.kael-acc summary:focus-visible{outline:2px solid #4DA6F7;outline-offset:3px;border-radius:6px;}
.kael-acc .kf-icon{transition:transform .3s ease;}
.kael-acc[open] .kf-icon{transform:rotate(45deg);}
.kael-acc[open] .kael-acc-body{animation:kael-accIn .28s ease;}
@keyframes kael-accIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
