/* =====================================================================
   Quali-IA · Redesign monocromático pastel (teal) — v2 "Wow"
   Capa de overrides cargada DESPUÉS del CSS base → gana en cascada.
   Objetivo: web clara, aireada, editorial y muy visual. Paleta monocromática
   teal + fotografía agroalimentaria en duotono. Tipografía corporativa
   Sansation (autoalojada, 6 variantes). Sin emojis, sin segundo color.
   ===================================================================== */

/* Tipografía corporativa Sansation (servida en local, /fonts/) */
@font-face { font-family: "Sansation"; font-style: normal; font-weight: 300; font-display: swap; src: url('/fonts/Sansation_Light.ttf') format('truetype'); }
@font-face { font-family: "Sansation"; font-style: italic; font-weight: 300; font-display: swap; src: url('/fonts/Sansation_Light_Italic.ttf') format('truetype'); }
@font-face { font-family: "Sansation"; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/Sansation_Regular.ttf') format('truetype'); }
@font-face { font-family: "Sansation"; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts/Sansation_Italic.ttf') format('truetype'); }
@font-face { font-family: "Sansation"; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/Sansation_Bold.ttf') format('truetype'); }
@font-face { font-family: "Sansation"; font-style: italic; font-weight: 700; font-display: swap; src: url('/fonts/Sansation_Bold_Italic.ttf') format('truetype'); }

:root {
  --qia-ink:        #0f2e2a;   /* títulos */
  --qia-ink-soft:   #3f5d58;   /* cuerpo */
  --qia-ink-muted:  #5c7a75;   /* secundario */
  --qia-line:       #d8efea;   /* bordes suaves */
  --qia-line-2:     #c5e8e1;
  --qia-mint-50:    #f3fbf9;
  --qia-mint-100:   #e7f7f3;
  --qia-mint-200:   #d2efe9;
  --qia-teal-300:   #5eead4;
  --qia-teal-400:   #2dd4bf;
  --qia-teal-500:   #14b8a6;
  --qia-teal-600:   #0d9488;
  --qia-teal-700:   #0f766e;
  --qia-teal-800:   #115e59;
  --qia-teal-900:   #0b3b37;
  --qia-shadow:     0 18px 50px -24px rgba(13,148,136,.30);
  --qia-shadow-sm:  0 10px 30px -18px rgba(13,148,136,.30);
  --qia-shadow-lg:  0 40px 90px -40px rgba(11,59,55,.45);
  --qia-display:    "Sansation", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --qia-sans:       "Sansation", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Unifica TODA la tipografía a Sansation (override sobre Tailwind/Inter base) */
html, body { font-family: var(--qia-sans) !important; }
button, input, select, textarea { font-family: inherit; }

html, body { background: #fbfdfd; }
/* evita scroll horizontal por blobs decorativos absolutos (móvil) */
html { overflow-x: clip; scroll-behavior: smooth; }
body { color: var(--qia-ink-soft); overflow-x: clip; max-width: 100%; }

/* ---------- 0. Tipografía editorial ---------- */
h1, h2, .gradient-text {
  font-family: var(--qia-display) !important;
  font-optical-sizing: auto;
  letter-spacing: -0.015em;
  font-weight: 600 !important;
}
h1 { letter-spacing: -0.025em; }
h3, h4 { font-family: var(--qia-sans); letter-spacing: -0.01em; }
/* color de títulos un punto más cálido que slate puro */
h1.text-slate-900, h2.text-slate-900, .text-slate-900 { color: var(--qia-ink) !important; }
p { color: var(--qia-ink-soft); }

/* Hero h1: presencia editorial pero contenida (evita 6+ líneas) */
section[class*="min-h-["] h1 {
  font-size: clamp(2.4rem, 1.4rem + 2.8vw, 3.6rem) !important;
  line-height: 1.06 !important;
  margin-bottom: 1.5rem !important;
  text-wrap: balance;
}
/* Reduce el aire muerto sobre el hero (nav→titular) */
section[class*="min-h-["] { min-height: 78vh !important; }
section[class*="min-h-["] > .section-padding,
section[class*="min-h-["] .relative.z-10.section-padding {
  padding-top: 2.5rem !important; padding-bottom: 2.5rem !important;
}
/* H2 de sección: presencia equilibrada (sin saltarse el ancho del contenedor) */
section h2.text-3xl { font-size: clamp(1.85rem, 1.2rem + 1.6vw, 2.55rem) !important; line-height: 1.12 !important; text-wrap: balance; }

/* ---------- 1. Monocromático: neutralizar acentos no-teal ---------- */
.to-emerald-500 { --tw-gradient-to: #0d9488 !important; }
.to-cyan-500    { --tw-gradient-to: #14b8a6 !important; }
.to-blue-500    { --tw-gradient-to: #0f766e !important; }
.from-emerald-500, .from-cyan-500, .from-blue-500 { --tw-gradient-from: #2dd4bf !important; }
.text-red-500, .text-amber-500, .text-green-400, .text-green-500 { color: var(--qia-teal-600) !important; }
.bg-red-50, .bg-amber-50 { background-color: var(--qia-mint-100) !important; }
.bg-red-100 { background-color: var(--qia-mint-200) !important; }
.bg-red-400, .bg-amber-400, .bg-amber-500, .bg-green-400, .bg-green-500, .bg-cyan-400 { background-color: var(--qia-teal-500) !important; }
.shadow-red-200, .shadow-amber-200 { --tw-shadow-color: rgba(13,148,136,.20) !important; }

.gradient-text {
  background-image: linear-gradient(120deg, #0f766e 0%, #0d9488 55%, #14b8a6 100%) !important;
}
.scroll-progress {
  background: linear-gradient(90deg, #0f766e, #14b8a6, #5eead4) !important;
  box-shadow: 0 0 10px rgba(20,184,166,.45) !important;
}

/* ---------- 2. Fondos de sección: alternancia clara mint ---------- */
.bg-slate-50 { background-color: var(--qia-mint-50) !important; }
.animated-gradient {
  background: linear-gradient(125deg, #f0fdfa 0%, #e7f7f3 35%, #d6f3ec 70%, #eafaf6 100%) !important;
  animation: none !important;
}
.aurora { opacity: .22 !important; mix-blend-mode: multiply; }
/* ritmo vertical entre secciones (premium pero no excesivo) */
.section-padding { padding-top: clamp(3rem, 2rem + 3.5vw, 5.5rem) !important; padding-bottom: clamp(3rem, 2rem + 3.5vw, 5.5rem) !important; }

/* ---------- 3. Hero claro ---------- */
.qia-hero-bg {
  background:
    radial-gradient(1100px 520px at 78% -8%, rgba(45,212,191,.22), transparent 60%),
    radial-gradient(900px 600px at 8% 110%, rgba(13,148,136,.12), transparent 60%),
    linear-gradient(180deg, #f6fdfb 0%, #ecfbf6 45%, #f7fdfc 100%) !important;
}
.qia-hero-bg ~ * .qia-dot,
.qia-hero-dots { background-image: radial-gradient(circle, rgba(13,148,136,.10) 1px, transparent 1px) !important; }

/* ---------- 3b. Hero visual: composición foto duotono + mockup ---------- */
.qia-hero-visual { position: relative; }
.qia-hero-photo {
  display: block; width: 100%; max-width: 460px; margin-left: auto;
  aspect-ratio: 4 / 5; object-fit: cover;
  border-radius: 22px;
  box-shadow: var(--qia-shadow-lg);
  border: 1px solid rgba(255,255,255,.6);
}
/* el mockup de producto (color real) flota sobre la foto, abajo-izquierda */
.qia-hero-visual .qia-frame {
  position: absolute; left: -6px; bottom: -14px;
  width: min(78%, 360px); z-index: 3;
}
@media (max-width: 1023px) {
  .qia-hero-photo { max-width: 100%; aspect-ratio: 16 / 11; }
  .qia-hero-visual .qia-frame { position: relative; left: 0; bottom: 0; width: 86%; margin: -2.5rem auto 0; }
}
/* microcopy reductor de fricción bajo los CTA del hero */
.qia-cta-note { margin-top: 1rem; font-size: .85rem; color: var(--qia-ink-soft); display: flex; align-items: center; gap: .5rem; }
.qia-cta-note::before { content:""; width: 7px; height: 7px; border-radius: 99px; background: var(--qia-teal-500); box-shadow: 0 0 0 4px rgba(20,184,166,.18); flex: none; }

/* ---------- 4. Marco de navegador para capturas ---------- */
.qia-frame {
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid var(--qia-line);
  box-shadow: var(--qia-shadow);
  overflow: hidden;
  transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease;
}
.qia-frame:hover { transform: translateY(-6px); box-shadow: 0 30px 70px -28px rgba(13,148,136,.45); }
.qia-frame__bar {
  display: flex; align-items: center; gap: .5rem;
  padding: .6rem .9rem;
  background: linear-gradient(180deg, #f4fbf9, #eef8f5);
  border-bottom: 1px solid var(--qia-line);
}
.qia-frame__dots { display: flex; gap: .4rem; }
.qia-frame__dots i { width: 10px; height: 10px; border-radius: 99px; display: block; }
.qia-frame__dots i:nth-child(1){ background:#bfe9e1; }
.qia-frame__dots i:nth-child(2){ background:#9adcd0; }
.qia-frame__dots i:nth-child(3){ background:#6fccbd; }
.qia-frame__url {
  flex: 1; text-align: center;
  font: 600 11px/1 ui-monospace, "SF Mono", Menlo, monospace;
  color: var(--qia-ink-muted); letter-spacing: .02em;
}
.qia-frame__img { display: block; width: 100%; height: auto; }

/* ---------- 5. Galería / fotografía duotono reutilizable ---------- */
.qia-gallery { display: grid; gap: 1.75rem; grid-template-columns: 1fr; }
@media (min-width: 768px)  { .qia-gallery { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .qia-gallery { grid-template-columns: repeat(3, 1fr); } }
.qia-shot__cap { margin-top: 1rem; }
.qia-shot__cap h3 { color: var(--qia-ink); font-weight: 700; font-size: 1.05rem; margin: 0 0 .25rem; }
.qia-shot__cap p  { color: var(--qia-ink-soft); font-size: .9rem; line-height: 1.5; margin: 0; }

.qia-eyebrow,
.text-brand-600.uppercase, .uppercase.text-brand-600 {
  color: var(--qia-teal-700) !important; font-weight: 700 !important;
  letter-spacing: .16em !important; text-transform: uppercase; font-size: .78rem !important;
}

/* Tarjeta de foto duotono (rounded, hover zoom) */
.qia-photo { position: relative; overflow: hidden; border-radius: 20px; box-shadow: var(--qia-shadow); border: 1px solid var(--qia-line); }
.qia-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.qia-photo:hover img { transform: scale(1.05); }

/* ---------- 5b. Banda fotográfica a sangre (CTA final / cumplimiento) ---------- */
.qia-photoband { position: relative; overflow: hidden; }
.qia-photoband::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background-image: var(--qia-band-img);
  background-size: cover; background-position: center;
}
.qia-photoband::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(115deg, rgba(8,52,48,.92) 0%, rgba(11,59,55,.82) 45%, rgba(15,118,110,.66) 100%);
}
.qia-photoband > * { position: relative; z-index: 2; }
.qia-photoband h1, .qia-photoband h2, .qia-photoband h3 { color: #ffffff !important; }
/* Titular del CTA: que no rompa en una sola palabra; tamaño justo y balance */
.qia-photoband h2.text-3xl, .qia-photoband h2 {
  font-size: clamp(1.8rem, 1.1rem + 1.8vw, 2.6rem) !important;
  line-height: 1.12 !important;
  max-inline-size: 34ch;
  margin-inline: auto;
  text-wrap: balance;
}
.qia-photoband p, .qia-photoband .text-slate-600, .qia-photoband .text-slate-700, .qia-photoband .text-slate-800, .qia-photoband .text-slate-900 { color: #d7f3ed !important; }
.qia-photoband .qia-eyebrow, .qia-photoband .text-brand-600 { color: #7fe9d6 !important; }
/* CTA dentro de banda oscura → botón claro de alto contraste */
.qia-photoband .btn-primary { background: #ffffff !important; color: var(--qia-teal-900) !important; box-shadow: 0 18px 40px -16px rgba(0,0,0,.5) !important; }
.qia-photoband .btn-primary:hover { background: #eafaf6 !important; }
.qia-photoband .btn-accent { background: #ffffff !important; color: var(--qia-teal-900) !important; box-shadow: 0 18px 40px -16px rgba(0,0,0,.5) !important; }
.qia-photoband .btn-accent:hover { background: #eafaf6 !important; }
.qia-photoband .qia-btn-outline { background: transparent !important; color: #ffffff !important; border-color: rgba(255,255,255,.55) !important; }
.qia-photoband .qia-btn-outline:hover { background: rgba(255,255,255,.12) !important; }
/* neutraliza fondos decorativos claros heredados dentro de la banda oscura */
.qia-photoband .animated-gradient, .qia-photoband .aurora { display: none !important; }
.qia-photoband .text-slate-500 { color: #bfeee3 !important; }
/* fila de tranquilizadores anti-objeción (sin emojis) */
.qia-trustrow { margin: 0 auto 2.25rem; max-width: 52rem; color: #cdeee6; font-size: .92rem; line-height: 1.6; text-wrap: balance; }
.qia-photoband .qia-trustrow { color: #bdeee3; }
.qia-trustrow b { color: #ffffff; font-weight: 600; }

/* ---------- 6. Botones / CTA (monocromático, contraste por valor) ---------- */
.btn-primary {
  background: linear-gradient(135deg, #0b3b37 0%, #0f5d56 100%) !important;
  color: #fff !important;
  box-shadow: 0 16px 34px -14px rgba(11,59,55,.65) !important;
  border-radius: .85rem;
}
.btn-primary:hover { box-shadow: 0 22px 44px -14px rgba(11,59,55,.75) !important; transform: translateY(-2px); }
.btn-accent {
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%) !important;
  color: #fff !important; --tw-shadow-color: rgba(13,148,136,.30) !important;
}
.btn-accent:hover { box-shadow: 0 18px 38px -14px rgba(13,148,136,.6) !important; transform: translateY(-2px); }
.qia-btn-outline {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border-radius:.85rem; border:1px solid var(--qia-line-2);
  background:#ffffff; padding:.95rem 2rem; font-weight:600; font-size:1rem;
  color: var(--qia-teal-800);
  box-shadow: var(--qia-shadow-sm);
  transition: all .3s cubic-bezier(.4,0,.2,1);
}
.qia-btn-outline:hover { background: var(--qia-mint-100); transform: translateY(-2px); border-color: var(--qia-teal-400); }

/* Foco visible accesible en CTAs y enlaces (WCAG) */
a:focus-visible, button:focus-visible, .btn-primary:focus-visible, .qia-btn-outline:focus-visible {
  outline: 3px solid var(--qia-teal-500); outline-offset: 3px; border-radius: .6rem;
}

/* ---------- 7. Tarjetas: borde y sombra teal suave ---------- */
.qia-card {
  background:#fff; border:1px solid var(--qia-line);
  border-radius:1rem; box-shadow: var(--qia-shadow-sm);
  transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease;
}
.qia-card:hover { transform: translateY(-4px); box-shadow: var(--qia-shadow); }

/* En la sección "Solo en Quali-IA" el pill (único SPAN hijo directo) se pega
   al fondo de cada card. NO se usa :last-child porque el último hijo real es
   un DIV decorativo position:absolute que ignora el margin. */
.qia-sec-diferenciadores .qia-card { display: flex; flex-direction: column; }
.qia-sec-diferenciadores .qia-card > span { margin-top: auto; }

/* Testimonios: la cita de cada card tiene longitud variable; el bloque
   nombre+cargo (último DIV en flujo) debe pegarse al fondo en todas. */
.qia-sec-testimonios .grid > * { display: flex; flex-direction: column; }
.qia-sec-testimonios .grid > * > div:last-of-type { margin-top: auto; }

/* Módulos (4×3): igualar TODAS las filas a la altura de la más alta,
   no solo cada fila por separado (las cards con badge "IA integrada"
   eran más altas que el resto). */
#funcionalidades .grid { grid-auto-rows: 1fr !important; }
#funcionalidades .grid > * { display: flex; flex-direction: column; }

/* Capturas de "Así se ve Quali-IA por dentro": forzar misma altura
   (las JPG originales tenían aspect-ratios distintos). */
.qia-sec-plataforma .qia-frame__img {
  aspect-ratio: 16 / 10;
  height: auto !important;
  width: 100%;
  object-fit: cover;
  object-position: top;
}

/* Precios: igualar las 3 cards en altura y pegar el CTA "Solicitar demo"
   al fondo de cada una. */
.qia-sec-pricing .grid { align-items: stretch !important; }
.qia-sec-pricing .grid > * { display: flex; flex-direction: column; }
.qia-sec-pricing .grid > * > a[href]:last-child,
.qia-sec-pricing .grid > * > a.btn-primary,
.qia-sec-pricing .grid > * > a.btn-accent { margin-top: auto; }

/* Realce sutil de tarjetas Tailwind blancas del contenido */
.section-padding .bg-white.rounded-2xl, .section-padding .bg-white.rounded-xl { border: 1px solid var(--qia-line); }

/* ---------- 8. Tira de Industrias (sectores) ---------- */
.qia-industries { display: grid; gap: 1.1rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .qia-industries { grid-template-columns: repeat(4, 1fr); } }
.qia-ind { position: relative; overflow: hidden; border-radius: 18px; aspect-ratio: 4/5; box-shadow: var(--qia-shadow-sm); border: 1px solid var(--qia-line); display:block; }
.qia-ind img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.qia-ind:hover img { transform: scale(1.07); }
.qia-ind::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(8,52,48,0) 38%, rgba(8,52,48,.82) 100%); }
.qia-ind__label { position:absolute; left:0; right:0; bottom:0; z-index:2; padding: .9rem 1rem; color:#fff; font-weight:700; font-size:.98rem; letter-spacing:-.01em; }
.qia-ind__label span { display:block; font-weight:500; font-size:.78rem; color:#bdeee3; letter-spacing:0; margin-top:.1rem; }

/* ---------- 8b. Demo: aside con foto duotono + testimonio ---------- */
.qia-demo-aside { margin-top: 2rem; }
.qia-demo-aside img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 18px; box-shadow: var(--qia-shadow); border: 1px solid var(--qia-line); }
.qia-demo-aside blockquote { margin: 1.1rem 0 0; padding: 0 0 0 1rem; border-left: 3px solid var(--qia-teal-400); font-size: .98rem; line-height: 1.55; color: var(--qia-ink); font-style: italic; }
.qia-demo-aside cite { display: block; margin-top: .5rem; font-style: normal; font-weight: 700; font-size: .82rem; color: var(--qia-teal-700); }

/* ---------- 8c. Contacto: banda foto duotono sobre el formulario ---------- */
.qia-contacto-photo { margin-bottom: 1.75rem; aspect-ratio: 16/7; }
.qia-contacto-photo img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- 9. Footer claro ---------- */
.qia-footer-light {
  background: linear-gradient(180deg, #eef8f5 0%, #e3f4ef 100%) !important;
  color: var(--qia-ink-soft) !important;
}
.qia-footer-light h4, .qia-footer-light strong { color: var(--qia-ink) !important; }
.qia-footer-light a { color: var(--qia-ink-soft) !important; }
.qia-footer-light a:hover { color: var(--qia-teal-700) !important; }

/* === Footer: layout compacto y armonioso === */
/* Reducimos el padding vertical (era py-16 = 64+64 = 128px de aire) */
.qia-footer-light > div:last-child,
.qia-footer-light > .max-w-6xl,
.qia-footer-light .max-w-6xl { padding-top: 2.5rem !important; padding-bottom: 1.75rem !important; }
/* Logo más contenido para que la columna brand no domine de alto */
.qia-footer-light img.h-20 { height: 3.5rem !important; width: auto; }
/* Descripción más densa */
.qia-footer-light p.text-sm { font-size: .82rem; line-height: 1.55; margin-bottom: .5rem !important; }
/* Titulares de columna más cerca de su lista */
.qia-footer-light h4 { margin-bottom: .65rem !important; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.qia-footer-light ul { row-gap: .4rem !important; }
.qia-footer-light ul.space-y-2\.5 > * + * { margin-top: 0 !important; }
.qia-footer-light ul.space-y-2\.5 li > a { display: inline-block; padding-top: .3rem; padding-bottom: .3rem; }
/* Barra inferior (© + legal): menos separación arriba */
.qia-footer-light .border-t { margin-top: 1.5rem !important; padding-top: 1.25rem !important; }

/* Móvil estricto: 2 columnas con brand ocupando ambas, gap menor */
@media (max-width: 639px){
  .qia-footer-light .grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1.1rem 1.25rem !important; }
  .qia-footer-light .grid > div:first-of-type { grid-column: 1 / -1; }
}
/* Tablet (sm-md): 2 columnas, brand spans 2, gap medio */
@media (min-width: 640px) and (max-width: 1023px){
  .qia-footer-light .grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1.25rem 2rem !important; }
}
/* Desktop (lg+): grid ponderado para que la columna brand respire
   sin dejar grandes huecos entre las 3 columnas de links */
@media (min-width: 1024px){
  .qia-footer-light .grid { grid-template-columns: 2.2fr 1fr 1fr 1.2fr !important; gap: 1.25rem 2.25rem !important; }
  /* Cancela el col-span-1 del HTML para que respete el grid ponderado */
  .qia-footer-light .grid > div:first-of-type { grid-column: auto !important; }
}

/* ---------- 10. Nav refinado ---------- */
#main-nav { background: rgba(251,253,253,.72) !important; }

/* ---------- 11. Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .qia-frame, .btn-primary, .qia-btn-outline, .qia-card, .qia-photo img, .qia-ind img { transition: none !important; }
  .animated-gradient, .aurora, .morph-blob, .animate-float, .animate-float-3d, .animate-pulse, .animate-ping { animation: none !important; }
  .qia-photo:hover img, .qia-ind:hover img { transform: none; }
}

/* qia-roadmap — Hoja de ruta / timeline (2026-06) */
.qia-roadmap-sec{padding:5rem 1rem;background:linear-gradient(180deg,#f5fbfa 0%,#ffffff 100%)}
.qia-roadmap-inner{max-width:880px;margin:0 auto}
.qia-roadmap-head{text-align:center;max-width:640px;margin:0 auto 3.5rem}
.qia-roadmap-head h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:#0f172a;margin:.5rem 0 1rem;line-height:1.15}
.qia-roadmap-sub{color:#475569;font-size:1.05rem;line-height:1.6}
.qia-roadmap{position:relative;padding-left:2.5rem}
.qia-roadmap::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#14b8a6,#99f6e4)}
.qia-rm-group{position:relative;margin-bottom:2.75rem}
.qia-rm-group:last-child{margin-bottom:0}
.qia-rm-when{display:flex;align-items:center;gap:.65rem;margin-bottom:1.1rem;margin-left:-2.5rem}
.qia-rm-dot{width:20px;height:20px;border-radius:50%;background:#14b8a6;box-shadow:0 0 0 4px rgba(20,184,166,.15);flex:0 0 auto;position:relative;z-index:1}
.qia-rm-q{font-weight:700;color:#0f766e;font-size:1.1rem}
.qia-rm-state{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#0f766e;background:#ccfbf1;padding:.22rem .6rem;border-radius:999px}
.qia-rm-items{display:grid;grid-template-columns:1fr;gap:.85rem}
@media(min-width:640px){.qia-rm-items{grid-template-columns:1fr 1fr}}
.qia-rm-item{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.15rem 1.3rem;transition:box-shadow .3s ease,transform .3s ease}
.qia-rm-item:hover{box-shadow:0 14px 34px -16px rgba(15,118,110,.3);transform:translateY(-2px)}
.qia-rm-item h3{font-size:.95rem;font-weight:700;color:#0f172a;margin:0 0 .4rem}
.qia-rm-item p{font-size:.8rem;color:#64748b;line-height:1.55;margin:0}
.qia-roadmap-cta{text-align:center;margin-top:3.5rem}
.qia-rm-cta-btn{display:inline-flex;align-items:center;gap:.5rem;background:#0b3b37;color:#fff;font-weight:600;padding:.9rem 1.7rem;border-radius:.85rem;text-decoration:none;transition:background .3s ease,transform .3s ease}
.qia-rm-cta-btn:hover{background:#0f766e;transform:translateY(-2px)}
.qia-roadmap-cta .qia-cta-note{margin-top:.95rem}
/* ajustes-home-funcionalidades-demo-footer: utilidades purgadas + spacing modulos IA */.mt-auto{margin-top:auto}.qia-ia-modules>*+*{margin-top:4.5rem}@media(min-width:1024px){.qia-ia-modules>*+*{margin-top:7rem}}

/* Lighthouse L8: raster de las capas aurora (long task ~300ms en home) */
.aurora::before, .aurora::after { filter: blur(44px); }
