/* SECCIÓN FULL WIDTH */
.coobook-enterprise-profile {
  width: 100%;
  box-sizing: border-box;
  background:
    radial-gradient(circle at top left, #0f172a 0, #020617 40%, #020617 100%);
  padding: 5rem 1.75rem 5.5rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* CONTENIDO CENTRADO */
.enterprise-hero {
  max-width: 1240px;
  margin: 0 auto;
  color: #e5e7eb;
}

/* CABECERA DE TEXTO */
.enterprise-hero__top {
  max-width: 760px;
  margin-bottom: 3rem;
}

.enterprise-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.25), transparent 60%);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #cbd5f5;
}

.enterprise-title {
  margin-top: 1.5rem;
  font-size: clamp(2rem, 3vw, 2.6rem);
  line-height: 1.15;
  color: #f9fafb;
  font-weight: 650;
}

.enterprise-subtitle {
  margin-top: 1.1rem;
  font-size: 0.98rem;
  line-height: 1.7;
  color: #9ca3af;
}

/* GRID PRINCIPAL: IZQUIERDA + DERECHA */
.enterprise-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 2.8rem;
  align-items: stretch;
}

/* COLUMNA IZQUIERDA */
.enterprise-hero__left {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* DESTACADOS */
.enterprise-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.enterprise-highlight {
  background: linear-gradient(145deg, rgba(15, 23, 42, 0.95), rgba(15, 23, 42, 0.6));
  border-radius: 18px;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.8);
  backdrop-filter: blur(8px);
  transform: translateY(0);
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.enterprise-highlight h3 {
  font-size: 0.92rem;
  margin-bottom: 0.4rem;
  color: #e5e7eb;
  font-weight: 600;
}

.enterprise-highlight p {
  font-size: 0.8rem;
  line-height: 1.6;
  color: #9ca3af;
}

.enterprise-highlight:hover {
  transform: translateY(-6px);
  border-color: rgba(59, 130, 246, 0.75);
  box-shadow: 0 24px 60px rgba(37, 99, 235, 0.55);
}

/* META EMPRESARIAL */
.enterprise-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.2rem;
}

.enterprise-meta__item {
  padding: 0.95rem 1.1rem;
  border-radius: 16px;
  background: radial-gradient(circle at top left, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.5));
  border: 1px solid rgba(148, 163, 184, 0.45);
}

.meta-label {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af;
  margin-bottom: 0.25rem;
}

.meta-value {
  font-size: 0.88rem;
  color: #e5e7eb;
}

/* COLUMNA DERECHA – PANEL */
.enterprise-hero__right {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}

.enterprise-panel__frame {
  width: 100%;
  max-width: 360px;
  margin-left: auto;
  border-radius: 24px;
  padding: 1.6rem 1.5rem;
  background: linear-gradient(145deg, #020617, #020617);
  border: 1px solid rgba(148, 163, 184, 0.3);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.95);
  position: relative;
  overflow: hidden;
}

.enterprise-panel__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(59, 130, 246, 0.28), transparent 60%);
  opacity: 0.9;
  pointer-events: none;
}

.enterprise-panel__header,
.enterprise-panel__footer,
.enterprise-panel__metrics {
  position: relative;
  z-index: 1;
}

.enterprise-panel__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.2rem;
  font-size: 0.8rem;
  color: #e5e7eb;
}

.panel-tag {
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(59, 130, 246, 0.7);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.enterprise-panel__metrics {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin-bottom: 1.2rem;
}

.metric-card {
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  background: radial-gradient(circle at left, rgba(15, 23, 42, 0.95), rgba(15, 23, 42, 0.7));
  border: 1px solid rgba(148, 163, 184, 0.45);
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  opacity: 0;
  transform: translateY(8px);
  animation: metricFadeIn 420ms ease-out forwards;
}

.metric-card:nth-child(1) { animation-delay: 120ms; }
.metric-card:nth-child(2) { animation-delay: 260ms; }
.metric-card:nth-child(3) { animation-delay: 400ms; }

.metric-label {
  font-size: 0.76rem;
  color: #9ca3af;
}

.metric-value {
  font-size: 0.96rem;
  font-weight: 600;
  color: #f9fafb;
}

.metric-caption {
  font-size: 0.76rem;
  color: #9ca3af;
}

/* FOOTER PANEL */
.enterprise-panel__footer p {
  font-size: 0.8rem;
  line-height: 1.6;
  color: #9ca3af;
}

/* ANIMACIÓN */
@keyframes metricFadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .enterprise-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .enterprise-hero__right {
    justify-content: flex-start;
  }
  .enterprise-panel__frame {
    max-width: 100%;
  }
  .enterprise-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .coobook-enterprise-profile {
    padding: 4rem 1.25rem 4.5rem;
  }
  .enterprise-hero__top {
    margin-bottom: 2.4rem;
  }
  .enterprise-highlights {
    grid-template-columns: minmax(0, 1fr);
  }
  .enterprise-meta {
    grid-template-columns: minmax(0, 1fr);
  }
  .enterprise-title {
    font-size: 1.8rem;
  }
  .enterprise-subtitle {
    font-size: 0.92rem;
  }
}

/* ========================================== */
/* =============== BLOQUE 2 ================= */
/* ======= Riesgos y Soluciones Empresariales ======= */
/* ========================================== */

.coobook-enterprise-security {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: linear-gradient(to bottom, #020617 0%, #0b1220 50%, #020617 100%);
  position: relative;
  overflow: hidden;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.security-deco-lines {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    to bottom,
    rgba(59, 130, 246, 0.07) 0,
    rgba(59, 130, 246, 0.07) 2px,
    transparent 2px,
    transparent 40px
  );
  animation: scrollLines 12s linear infinite;
  opacity: 0.35;
}

@keyframes scrollLines {
  from { background-position-y: 0; }
  to { background-position-y: 1000px; }
}

.security-section {
  position: relative;
  z-index: 3;
}

.security-grid {
  max-width: 1250px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
}

.security-left {
  color: #e5e7eb;
}

.security-title {
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 700;
  line-height: 1.15;
  color: #f9fafb;
  margin-bottom: 1.5rem;
}

.security-title span {
  color: #93c5fd;
}

.security-description {
  font-size: 1rem;
  max-width: 40rem;
  line-height: 1.65;
  color: #9ca3af;
  margin-bottom: 2rem;
}

/* LISTAS */
.security-problems h3,
.security-solutions h3 {
  font-size: 1.05rem;
  margin-bottom: 0.75rem;
  color: #f1f5f9;
}

.security-problems ul,
.security-solutions ul {
  list-style: none;
  padding: 0;
}

.security-problems li,
.security-solutions li {
  font-size: 0.92rem;
  margin-bottom: 0.55rem;
  color: #9ca3af;
  padding-left: 1rem;
  position: relative;
}

.security-problems li::before,
.security-solutions li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #60a5fa;
  border-radius: 50%;
}

/* TARJETA DERECHA */
.security-right {
  display: flex;
  justify-content: center;
}

.security-card {
  background: linear-gradient(
    145deg,
    rgba(15, 23, 42, 0.8),
    rgba(15, 23, 42, 0.5)
  );
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 20px;
  padding: 2rem;
  max-width: 360px;
  box-shadow: 0 0 65px rgba(37, 99, 235, 0.25);
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}

.security-card h4 {
  color: #f9fafb;
  margin-bottom: 1rem;
  font-size: 1.15rem;
}

.security-card p {
  color: #9ca3af;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* MÉTRICAS */
.security-card-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.metric {
  background: rgba(30, 41, 59, 0.65);
  padding: 0.9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.35);
}

.metric-label {
  color: #9ca3af;
  font-size: 0.8rem;
}

.metric-value {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.15rem;
  color: #60a5fa;
  font-weight: 600;
}

/* RESPONSIVE */
@media (max-width: 950px) {
  .security-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .security-right {
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  .security-title {
    font-size: 1.9rem;
  }
  .security-description {
    font-size: 0.95rem;
  }
}
/* ========================================== */
/* =============== BLOQUE 3 ================= */
/* ====== Arquitectura de Servicios CooBook ====== */
/* ========================================== */

.coobook-enterprise-collaboration {
  width: 100%;
  box-sizing: border-box;
  padding: 6rem 1.75rem 6rem;
  background: #f7f9fc;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ENCABEZADO */
.collab-section {
  max-width: 1150px;
  margin: 0 auto;
}

.collab-header h2 {
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.15;
  color: #0f172a;
  font-weight: 700;
  margin-bottom: 1rem;
}

.collab-header h2 span {
  display: block;
  color: #3b82f6;
}

.collab-header p {
  max-width: 740px;
  color: #475569;
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 3.5rem;
}

/* GRID PRINCIPAL */
.collab-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3rem;
  margin-bottom: 3.5rem;
}

.collab-block h3 {
  font-size: 1.2rem;
  color: #0f172a;
  margin-bottom: 1rem;
  font-weight: 600;
}

.collab-block ul {
  list-style-type: none;
  padding: 0;
}

.collab-block li {
  font-size: 0.95rem;
  color: #475569;
  margin-bottom: 0.9rem;
  padding-left: 1.2rem;
  position: relative;
}

.collab-block li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  background: #3b82f6;
  border-radius: 50%;
}

/* FEATURES */
.collab-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.collab-feature {
  padding: 1.8rem;
  border-radius: 16px;
  background: white;
  border: 1px solid #d1d5db;
  box-shadow: 0px 6px 18px rgba(0, 0, 0, 0.03);
  transition: border 0.25s ease, box-shadow 0.25s ease;
}

.collab-feature:hover {
  border-color: #3b82f6;
  box-shadow: 0px 8px 26px rgba(59, 130, 246, 0.15);
}

.collab-feature h4 {
  font-size: 1.05rem;
  color: #0f172a;
  margin-bottom: 0.6rem;
  font-weight: 600;
}

.collab-feature p {
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.6;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .collab-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .collab-features {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* ========================================== */
/* =============== BLOQUE 4 ================= */
/* ===== Servicio 4.1 – E-Reader Corporativo de Seguridad Extrema ===== */
/* ========================================== */

.coobook-enterprise-secure-reader {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: radial-gradient(circle at top, #e0f2fe 0%, #eff6ff 40%, #f8fafc 100%);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.secure-reader-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* CABECERA */
.secure-reader-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.secure-reader-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  color: #0f172a;
  font-weight: 700;
  margin-bottom: 1rem;
}

.secure-reader-header h2 span {
  display: block;
  color: #1d4ed8;
}

.secure-reader-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}

/* LAYOUT PRINCIPAL */
.secure-reader-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: flex-start;
}

/* COLUMNA IZQUIERDA: BLOQUES DE TEXTO */
.secure-reader-left {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}

.secure-reader-block {
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #d1d5db;
  padding: 1.6rem 1.6rem 1.5rem;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.secure-reader-block h3 {
  font-size: 1.1rem;
  color: #0f172a;
  margin-bottom: 0.9rem;
  font-weight: 600;
}

.secure-reader-block ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.secure-reader-block li {
  font-size: 0.95rem;
  color: #475569;
  margin-bottom: 0.8rem;
  padding-left: 1.2rem;
  position: relative;
  line-height: 1.6;
}

.secure-reader-block li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  background: #1d4ed8;
  border-radius: 50%;
}

.secure-reader-block.secure-reader-tech {
  border-color: #1d4ed8;
}

/* COLUMNA DERECHA: DISPOSITIVO ANIMADO */
.secure-reader-right {
  display: flex;
  justify-content: flex-end;
}

.secure-reader-device-wrapper {
  position: relative;
  width: 100%;
  max-width: 360px;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* GLOW ANIMADO DE FONDO */
.secure-reader-glow {
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.45), transparent 70%);
  filter: blur(4px);
  opacity: 0.9;
  animation: secureGlow 4.5s ease-in-out infinite alternate;
}

@keyframes secureGlow {
  from {
    transform: scale(0.96) translateY(4px);
    opacity: 0.7;
  }
  to {
    transform: scale(1.05) translateY(-4px);
    opacity: 1;
  }
}

/* DISPOSITIVO */
.secure-reader-device {
  position: relative;
  width: 100%;
  max-width: 320px;
  border-radius: 26px;
  background: #0b1120;
  padding: 0.85rem;
  box-shadow:
    0 24px 60px rgba(15, 23, 42, 0.9),
    0 0 0 1px rgba(148, 163, 184, 0.35);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  animation: secureFloat 6s ease-in-out infinite alternate;
}

@keyframes secureFloat {
  from {
    transform: translateY(0px) rotate(-0.4deg);
  }
  to {
    transform: translateY(-10px) rotate(0.6deg);
  }
}

/* BARRA SUPERIOR DEL DISPOSITIVO */
.secure-reader-statusbar {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.7rem;
  color: #e5e7eb;
}

.secure-status-pill {
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.7);
  background: rgba(15, 23, 42, 0.9);
}

/* PANTALLA INTERNA */
.secure-reader-screen {
  background: radial-gradient(circle at top, #020617 0%, #020617 45%, #0b1120 100%);
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  padding: 0.85rem 0.9rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.secure-reader-line {
  font-size: 0.8rem;
  color: #cbd5e1;
  line-height: 1.5;
}

.secure-reader-line--title {
  font-size: 0.86rem;
  color: #e5e7eb;
  font-weight: 600;
  margin-bottom: 0.2rem;
}

/* FOOTER DEL DISPOSITIVO */
.secure-reader-footer-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  font-size: 0.72rem;
  background: linear-gradient(
    90deg,
    rgba(37, 99, 235, 0.18),
    rgba(56, 189, 248, 0.12)
  );
  color: #e5e7eb;
  border: 1px solid rgba(129, 140, 248, 0.45);
}

/* LÍNEAS DE DATOS ANIMADAS */
.secure-reader-stream {
  position: absolute;
  width: 2px;
  height: 140px;
  background: linear-gradient(to bottom, rgba(59, 130, 246, 0.4), transparent);
  opacity: 0.7;
  animation: secureStream 3.5s linear infinite;
}

.secure-reader-stream--left {
  left: -18px;
  top: 10%;
}

.secure-reader-stream--right {
  right: -18px;
  bottom: 5%;
  animation-delay: 1.5s;
}

@keyframes secureStream {
  from {
    transform: translateY(-20px);
    opacity: 0.3;
  }
  to {
    transform: translateY(20px);
    opacity: 0.9;
  }
}

/* RESPONSIVE */
@media (max-width: 980px) {
  .secure-reader-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .secure-reader-right {
    justify-content: flex-start;
    margin-top: 2rem;
  }
  .secure-reader-device-wrapper {
    max-width: 320px;
  }
}

@media (max-width: 700px) {
  .coobook-enterprise-secure-reader {
    padding: 4.5rem 1.25rem 4.5rem;
  }
  .secure-reader-header {
    margin-bottom: 3rem;
  }
  .secure-reader-header h2 {
    font-size: 1.9rem;
  }
  .secure-reader-header p {
    font-size: 0.95rem;
  }
  .secure-reader-block li {
    font-size: 0.9rem;
  }
}
/* ===== BLOQUE 4.2 – Control de Acceso Zero-Trust + Identidad Criptográfica ===== */

.coobook-enterprise-zerotrust {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: linear-gradient(to bottom, #ffffff 0%, #f4f7fb 60%, #eef2f7 100%);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.zerotrust-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.zerotrust-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.zerotrust-header h2 span {
  display: block;
  color: #2563eb;
}

.zerotrust-header p {
  max-width: 760px;
  font-size: 1rem;
  color: #475569;
  line-height: 1.7;
  margin-bottom: 3.5rem;
}

/* LAYOUT */
.zerotrust-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: flex-start;
}

/* TIMELINE */
.zerotrust-left {
  position: relative;
  padding-left: 1.5rem;
}

.zerotrust-left::before {
  content: "";
  position: absolute;
  left: 0.4rem;
  top: 1rem;
  bottom: 1rem;
  width: 3px;
  background: linear-gradient(to bottom, #2563eb, #38bdf8);
  opacity: 0.8;
}

.zt-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
  position: relative;
}

.zt-marker {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: white;
  border: 2px solid #2563eb;
  color: #1d4ed8;
  font-size: 0.8rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.zt-content h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.2rem;
}

.zt-content p {
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.6;
}

/* TARJETA DERECHA */
.zerotrust-right {
  display: flex;
  justify-content: flex-end;
}

.zt-card {
  background: white;
  border-radius: 20px;
  border: 1px solid #d1d5db;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.08);
  padding: 2rem 1.8rem;
  max-width: 360px;
  position: relative;
  overflow: hidden;
}

.zt-card h4 {
  font-size: 1.15rem;
  color: #0f172a;
  margin-bottom: 1rem;
}

.zt-card p {
  color: #475569;
  font-size: 0.92rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* MÉTRICAS */
.zt-card-metrics {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.zt-metric {
  background: #f1f5f9;
  border: 1px solid #d7dce3;
  border-radius: 14px;
  padding: 0.85rem 1rem;
}

.zt-metric-label {
  font-size: 0.78rem;
  color: #64748b;
}

.zt-metric-value {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: #2563eb;
}

/* ANIMACIÓN DE VERIFICACIÓN */
.zt-verification-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(59, 130, 246, 0.18), transparent 60%);
  opacity: 0.9;
  pointer-events: none;
  animation: ztPulse 4s ease-in-out infinite alternate;
}

@keyframes ztPulse {
  from { opacity: 0.55; transform: scale(1.02); }
  to   { opacity: 1;    transform: scale(1.07); }
}

/* RESPONSIVE */
@media (max-width: 960px) {
  .zerotrust-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .zerotrust-right {
    justify-content: flex-start;
    margin-top: 2rem;
  }
}
/* ===== BLOQUE 4.3 – Trazabilidad Forense Inmutable ===== */

.coobook-enterprise-forensics {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: radial-gradient(circle at top, #020617 0%, #020617 45%, #020617 100%);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.forensics-section {
  max-width: 1180px;
  margin: 0 auto;
  color: #e5e7eb;
}

/* ENCABEZADO */
.forensics-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.forensics-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.forensics-header h2 span {
  display: block;
  color: #60a5fa;
}

.forensics-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #9ca3af;
}

/* LAYOUT PRINCIPAL */
.forensics-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 3.2rem;
  align-items: flex-start;
}

/* BLOQUES IZQUIERDA */
.forensics-left {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}

.forensics-block {
  background: radial-gradient(circle at top left, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.7));
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  padding: 1.6rem 1.6rem 1.4rem;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.8);
}

.forensics-block h3 {
  font-size: 1.05rem;
  color: #f9fafb;
  margin-bottom: 0.8rem;
  font-weight: 600;
}

.forensics-block ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.forensics-block li {
  font-size: 0.92rem;
  color: #9ca3af;
  margin-bottom: 0.75rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.forensics-block li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #38bdf8;
  border-radius: 50%;
}

.forensics-block.forensics-tech {
  border-color: #38bdf8;
}

/* PANEL DERECHA: LOG FORENSE */
.forensics-right {
  display: flex;
  justify-content: flex-end;
}

.forensics-log-panel {
  position: relative;
  width: 100%;
  max-width: 380px;
  border-radius: 22px;
  padding: 1.5rem 1.4rem 1.4rem;
  background: linear-gradient(145deg, #020617, #020617);
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 1);
  overflow: hidden;
}

.forensics-log-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 0.82rem;
  color: #e5e7eb;
}

.forensics-tag {
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.7);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #e0f2fe;
}

/* STREAM DE LOGS */
.forensics-log-stream {
  max-height: 270px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 1rem;
  position: relative;
}

.forensics-log-line {
  border-radius: 14px;
  padding: 0.5rem 0.7rem;
  background: rgba(15, 23, 42, 0.9);
  border: 1px solid rgba(148, 163, 184, 0.45);
  font-size: 0.76rem;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 0.35rem 0.5rem;
  align-items: baseline;
  opacity: 0;
  transform: translateY(8px);
  animation: forensicsLineIn 480ms ease-out forwards;
}

.forensics-log-line:nth-child(1) { animation-delay: 0.1s; }
.forensics-log-line:nth-child(2) { animation-delay: 0.4s; }
.forensics-log-line:nth-child(3) { animation-delay: 0.7s; }
.forensics-log-line:nth-child(4) { animation-delay: 1.0s; }
.forensics-log-line:nth-child(5) { animation-delay: 1.3s; }

.forensics-log-line--highlight {
  border-color: rgba(56, 189, 248, 0.8);
  background: radial-gradient(circle at left, rgba(56, 189, 248, 0.2), rgba(15, 23, 42, 0.95));
}

.forensics-log-line--alert {
  border-color: rgba(248, 113, 113, 0.8);
  background: radial-gradient(circle at right, rgba(248, 113, 113, 0.16), rgba(15, 23, 42, 0.96));
}

.log-time {
  font-family: "SF Mono", ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  color: #93c5fd;
  font-size: 0.74rem;
}

.log-text {
  color: #e5e7eb;
  font-size: 0.78rem;
}

.log-hash {
  grid-column: 1 / -1;
  font-size: 0.7rem;
  color: #9ca3af;
}

/* FOOTER PANEL */
.forensics-log-footer p {
  font-size: 0.78rem;
  color: #9ca3af;
  line-height: 1.6;
}

/* ANIMACIÓN LÍNEAS */
@keyframes forensicsLineIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ARO PULSANTE */
.forensics-ring {
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  border: 1px solid rgba(59, 130, 246, 0.35);
  inset-inline-end: -130px;
  inset-block-end: -130px;
  pointer-events: none;
  opacity: 0.7;
  animation: forensicsRingPulse 6s ease-in-out infinite alternate;
}

@keyframes forensicsRingPulse {
  from {
    transform: scale(0.9);
    opacity: 0.4;
  }
  to {
    transform: scale(1.1);
    opacity: 0.9;
  }
}

/* RESPONSIVE */
@media (max-width: 980px) {
  .forensics-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .forensics-right {
    justify-content: flex-start;
    margin-top: 2.5rem;
  }
  .forensics-log-panel {
    max-width: 100%;
  }
}

@media (max-width: 700px) {
  .coobook-enterprise-forensics {
    padding: 4.5rem 1.25rem 4.5rem;
  }
  .forensics-header {
    margin-bottom: 3rem;
  }
  .forensics-header h2 {
    font-size: 1.9rem;
  }
  .forensics-header p {
    font-size: 0.95rem;
  }
  .forensics-block li {
    font-size: 0.88rem;
  }
}
/* ===== BLOQUE 4.4 – Permisos Dinámicos Ultra-Granulares ===== */

.coobook-enterprise-permissions {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: #f8fafc;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.permissions-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.permissions-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.permissions-header h2 span {
  display: block;
  color: #2563eb;
}

.permissions-header p {
  max-width: 760px;
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
  margin-bottom: 3.5rem;
}

/* LAYOUT PRINCIPAL */
.permissions-layout {
  display: grid;
  grid-template-columns: 240px 1fr 370px;
  gap: 2.8rem;
  align-items: flex-start;
}

/* BARRA LATERAL */
.permissions-sidebar {
  background: white;
  border-radius: 18px;
  padding: 1.6rem;
  border: 1px solid #d1d5db;
}

.permissions-sidebar h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.permissions-sidebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.permissions-sidebar li {
  padding: 0.55rem 0.7rem;
  margin-bottom: 0.4rem;
  border-radius: 12px;
  cursor: pointer;
  font-size: 0.92rem;
  color: #475569;
  transition: background 0.25s ease, color 0.25s ease;
}

.permissions-sidebar li:hover {
  background: #e2e8f0;
}

.permissions-sidebar .active-role {
  background: #2563eb;
  color: white;
}

/* CENTRO */
.permissions-center {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.pc-title {
  color: #0f172a;
  font-size: 1.1rem;
  font-weight: 600;
}

.permissions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}

.perm-card {
  background: white;
  border-radius: 16px;
  padding: 1.4rem;
  border: 1px solid #d1d5db;
  box-shadow: 0 6px 18px rgba(0,0,0,0.04);
  transition: box-shadow 0.25s ease, border 0.25s ease;
}

.perm-card:hover {
  border-color: #2563eb;
  box-shadow: 0 12px 26px rgba(37, 99, 235, 0.2);
}

.perm-card h4 {
  font-size: 1rem;
  color: #0f172a;
  margin-bottom: 0.4rem;
}

.perm-card p {
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.6;
}

.perm-icon {
  color: #2563eb;
  font-size: 1.2rem;
  font-weight: 800;
}

/* PANEL DERECHA (ANIMACIÓN) */
.permissions-right {
  display: flex;
  justify-content: flex-end;
}

.perm-anim-panel {
  background: white;
  border-radius: 20px;
  padding: 1.8rem;
  border: 1px solid #d1d5db;
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
  width: 100%;
  max-width: 360px;
  position: relative;
  overflow: hidden;
}

.perm-anim-panel h4 {
  color: #0f172a;
  font-size: 1.1rem;
  margin-bottom: 1rem;
}

.perm-anim-box {
  border-radius: 14px;
  padding: 1.2rem 1rem;
  background: #f1f5f9;
  border: 1px solid #d2dce4;
  position: relative;
  overflow: hidden;
}

.perm-line {
  display: flex;
  justify-content: space-between;
  padding: 0.6rem;
  border-radius: 10px;
  margin-bottom: 0.6rem;
  background: white;
  border: 1px solid #d1d5db;
  font-size: 0.88rem;
  animation: permFadeIn 0.6s ease forwards;
  opacity: 0;
  transform: translateY(6px);
}

.perm-line:nth-child(1) { animation-delay: 0.1s; }
.perm-line:nth-child(2) { animation-delay: 0.3s; }
.perm-line:nth-child(3) { animation-delay: 0.5s; }
.perm-line:nth-child(4) { animation-delay: 0.7s; }
.perm-line:nth-child(5) { animation-delay: 0.9s; }

@keyframes permFadeIn {
  0%   { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}

.perm-status {
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}

.perm-allowed {
  background: rgba(56, 189, 248, 0.2);
  color: #1d4ed8;
  border: 1px solid rgba(56, 189, 248, 0.5);
}

.perm-denied {
  background: rgba(248, 113, 113, 0.2);
  color: #dc2626;
  border: 1px solid rgba(248, 113, 113, 0.5);
}

/* ANIMACIONES DE LÍNEAS DE PERMISOS */
.perm-flow {
  position: absolute;
  width: 2px;
  height: 180px;
  background: linear-gradient(to bottom, #2563eb, transparent);
  opacity: 0.45;
  animation: permFlowMove 4s linear infinite;
}

.perm-flow-1 {
  left: -14px;
  top: 10%;
}

.perm-flow-2 {
  right: -14px;
  top: 30%;
  animation-delay: 1.5s;
}

@keyframes permFlowMove {
  from { transform: translateY(-20px); }
  to   { transform: translateY(20px); }
}

.perm-anim-foot {
  margin-top: 1rem;
  font-size: 0.78rem;
  color: #64748b;
  line-height: 1.6;
}

/* RESPONSIVE */
@media (max-width: 980px) {
  .permissions-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .permissions-right {
    justify-content: flex-start;
  }
}
/* ===== BLOQUE 5 – Servicio 5 · Bloqueo de exportación y fuga ===== */

.coobook-enterprise-export {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: linear-gradient(to bottom, #020617 0%, #020617 45%, #020617 100%);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #e5e7eb;
}

.export-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.export-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.export-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.export-header h2 span {
  display: block;
  color: #60a5fa;
}

.export-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #9ca3af;
}

/* LAYOUT PRINCIPAL */
.export-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 2.6rem;
  align-items: center;
}

/* COLUMNA IZQUIERDA */
.export-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.export-risks {
  list-style: none;
  padding: 0;
  margin: 0;
}

.export-risks li {
  font-size: 0.94rem;
  color: #9ca3af;
  margin-bottom: 0.75rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.export-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

/* COLUMNA CENTRAL: DISPOSITIVO */
.export-center {
  display: flex;
  justify-content: center;
}

.export-device {
  position: relative;
  width: 100%;
  max-width: 320px;
  border-radius: 24px;
  padding: 1.1rem;
  background: #020617;
  border: 1px solid rgba(148, 163, 184, 0.4);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 1);
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  overflow: hidden;
}

.export-device__header {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.75rem;
}

.export-pill {
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.7);
  background: rgba(15, 23, 42, 0.9);
  color: #e5e7eb;
}

.export-pill--safe {
  border-color: rgba(34, 197, 94, 0.8);
  color: #bbf7d0;
}

/* CONTENIDO DISPOSITIVO */
.export-device__content {
  position: relative;
  border-radius: 18px;
  padding: 1rem;
  background: radial-gradient(circle at top, #020617 0%, #020617 40%, #020617 100%);
  border: 1px solid rgba(148, 163, 184, 0.4);
  overflow: hidden;
}

.export-doc {
  position: relative;
  z-index: 2;
  background: rgba(15, 23, 42, 0.9);
  border-radius: 16px;
  padding: 0.8rem 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.5);
}

.export-doc__title {
  font-size: 0.86rem;
  color: #e5e7eb;
  font-weight: 600;
  margin-bottom: 0.6rem;
}

.export-doc__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: #cbd5e1;
  margin-bottom: 0.4rem;
}

.export-status {
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}

.export-status--on {
  background: rgba(34, 197, 94, 0.18);
  border: 1px solid rgba(34, 197, 94, 0.8);
  color: #bbf7d0;
}

.export-status--off {
  background: rgba(248, 113, 113, 0.15);
  border: 1px solid rgba(248, 113, 113, 0.8);
  color: #fecaca;
}

/* ANILLO DE BLOQUEO ANIMADO */
.export-lock-ring {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.export-lock-core {
  width: 140px;
  height: 140px;
  border-radius: 999px;
  border: 2px solid rgba(248, 113, 113, 0.7);
  box-shadow:
    0 0 30px rgba(248, 113, 113, 0.5),
    0 0 80px rgba(15, 23, 42, 1);
  opacity: 0.5;
  animation: exportLockPulse 4.5s ease-in-out infinite alternate;
}

@keyframes exportLockPulse {
  from {
    transform: scale(0.9);
    opacity: 0.4;
    border-color: rgba(248, 113, 113, 0.8);
  }
  to {
    transform: scale(1.05);
    opacity: 0.9;
    border-color: rgba(248, 113, 113, 1);
  }
}

/* FOOTER DISPOSITIVO */
.export-device__footer {
  font-size: 0.78rem;
  color: #9ca3af;
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
}

.export-device__footer span {
  color: #e5e7eb;
  font-weight: 500;
}

/* COLUMNA DERECHA */
.export-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.export-card {
  background: radial-gradient(circle at top left, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.7));
  border-radius: 18px;
  padding: 1.5rem 1.5rem 1.3rem;
  border: 1px solid rgba(148, 163, 184, 0.5);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.9);
}

.export-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #f9fafb;
  margin-bottom: 0.8rem;
}

.export-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.export-card li {
  font-size: 0.9rem;
  color: #cbd5e1;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.export-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #38bdf8;
  border-radius: 50%;
}

.export-card--tech {
  border-color: #38bdf8;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  .export-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 3rem;
  }

  .export-center {
    grid-column: 1 / -1;
    order: 2;
  }

  .export-left {
    order: 1;
  }

  .export-right {
    order: 3;
  }
}

@media (max-width: 720px) {
  .coobook-enterprise-export {
    padding: 4.5rem 1.25rem 4.5rem;
  }

  .export-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .export-center {
    order: 2;
  }

  .export-right {
    order: 3;
  }

  .export-header h2 {
    font-size: 1.9rem;
  }

  .export-header p {
    font-size: 0.95rem;
  }
}
/* ===== SERVICIO 6 – Compartición segura sin descarga ===== */

.coobook-enterprise-sharing {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: #f3f4ff;
  background: radial-gradient(circle at top, #e0f2fe 0%, #eff6ff 40%, #f8fafc 100%);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sharing-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.sharing-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.sharing-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.sharing-header h2 span {
  display: block;
  color: #2563eb;
}

.sharing-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}

/* LAYOUT GENERAL */
.sharing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 2.8rem;
  align-items: center;
}

/* COLUMNA IZQUIERDA */
.sharing-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.sharing-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.8rem;
}

.sharing-risks li {
  font-size: 0.94rem;
  color: #475569;
  margin-bottom: 0.75rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.sharing-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

.sharing-before-after {
  background: white;
  border-radius: 16px;
  border: 1px solid #d1d5db;
  padding: 1.2rem 1.3rem;
  box-shadow: 0 8px 20px rgba(148, 163, 184, 0.15);
}

.sharing-before-after p {
  font-size: 0.9rem;
  color: #475569;
  margin: 0 0 0.6rem;
  line-height: 1.6;
}

.sharing-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 0.2rem;
}

.sharing-tag--before {
  background: rgba(248, 113, 113, 0.15);
  color: #b91c1c;
  border: 1px solid rgba(248, 113, 113, 0.6);
}

.sharing-tag--after {
  background: rgba(34, 197, 94, 0.15);
  color: #166534;
  border: 1px solid rgba(34, 197, 94, 0.5);
  margin-top: 0.4rem;
}

/* COLUMNA CENTRAL: STREAMING SEGURO */
.sharing-center {
  display: flex;
  justify-content: center;
}

.sharing-stream-wrap {
  position: relative;
  width: 100%;
  max-width: 380px;
  padding: 2rem 1.4rem;
  border-radius: 22px;
  background: white;
  border: 1px solid #d1d5db;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}

/* DISPOSITIVOS */
.sharing-device {
  width: 150px;
  border-radius: 18px;
  padding: 0.7rem;
  background: #020617;
  border: 1px solid rgba(148, 163, 184, 0.5);
  color: #e5e7eb;
  font-size: 0.78rem;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.9);
}

.sharing-device--left {
  position: absolute;
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
}

.sharing-device--right {
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
}

.sharing-device-header {
  display: flex;
  justify-content: space-between;
  gap: 0.3rem;
  margin-bottom: 0.45rem;
}

.sharing-device-title {
  font-weight: 600;
  font-size: 0.76rem;
}

.sharing-chip {
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.7);
  font-size: 0.68rem;
}

.sharing-chip--verified {
  border-color: rgba(34, 197, 94, 0.9);
  color: #bbf7d0;
}

.sharing-device-body {
  background: radial-gradient(circle at top, #020617, #020617 40%, #0b1120 100%);
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.5);
  padding: 0.55rem 0.6rem;
}

.sharing-doc-name {
  display: block;
  font-size: 0.75rem;
  color: #e5e7eb;
  margin-bottom: 0.25rem;
}

.sharing-doc-status {
  font-size: 0.72rem;
  color: #93c5fd;
}

.sharing-doc-status--view {
  color: #a5b4fc;
}

/* TÚNEL CIFRADO */
.sharing-tunnel {
  position: relative;
  margin: 0 auto;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.sharing-tunnel-core {
  width: 80px;
  height: 80px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.3), transparent 70%);
  animation: sharingPulse 4s ease-in-out infinite alternate;
}

@keyframes sharingPulse {
  from {
    transform: scale(0.9);
    opacity: 0.5;
  }
  to {
    transform: scale(1.05);
    opacity: 1;
  }
}

/* PAQUETES CIFRADOS */
.sharing-packet {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 4px;
  border: 1px solid rgba(96, 165, 250, 0.9);
  background: rgba(15, 23, 42, 0.95);
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.9);
  animation: sharingPacketMove 3.4s linear infinite;
}

.sharing-packet--1 {
  animation-delay: 0s;
}

.sharing-packet--2 {
  animation-delay: 0.8s;
}

.sharing-packet--3 {
  animation-delay: 1.6s;
}

@keyframes sharingPacketMove {
  0% {
    transform: translate(-65px, 0);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    transform: translate(65px, 0);
    opacity: 0;
  }
}

/* COLUMNA DERECHA */
.sharing-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.sharing-card {
  background: white;
  border-radius: 18px;
  border: 1px solid #d1d5db;
  padding: 1.5rem 1.5rem 1.3rem;
  box-shadow: 0 10px 26px rgba(148, 163, 184, 0.2);
}

.sharing-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.8rem;
}

.sharing-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sharing-card li {
  font-size: 0.9rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.sharing-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #2563eb;
  border-radius: 50%;
}

.sharing-card--tech {
  border-color: #2563eb;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .sharing-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    row-gap: 3rem;
  }

  .sharing-center {
    grid-column: 1 / -1;
    order: 2;
    justify-content: center;
  }

  .sharing-left {
    order: 1;
  }

  .sharing-right {
    order: 3;
  }

  .sharing-device--left {
    left: -4px;
  }

  .sharing-device--right {
    right: -4px;
  }
}

@media (max-width: 720px) {
  .coobook-enterprise-sharing {
    padding: 4.5rem 1.25rem 4.5rem;
  }

  .sharing-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .sharing-center {
    order: 2;
  }

  .sharing-right {
    order: 3;
  }

  .sharing-header h2 {
    font-size: 1.9rem;
  }

  .sharing-header p {
    font-size: 0.95rem;
  }
}
/* ===== SERVICIO 7 – Colaboración Segura Validada por Blockchain ===== */

.coobook-enterprise-collabchain {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: #f8fafc;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.collabchain-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.collabchain-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.collabchain-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.collabchain-header h2 span {
  display: block;
  color: #2563eb;
}

.collabchain-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}

/* LAYOUT */
.collabchain-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 2.8rem;
  align-items: center;
}

/* IZQUIERDA */
.collabchain-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.collabchain-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}

.collabchain-risks li {
  font-size: 0.94rem;
  color: #475569;
  margin-bottom: 0.75rem;
  padding-left: 1.1rem;
  position: relative;
}

.collabchain-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

/* INFO BOX */
.collabchain-info {
  background: white;
  padding: 1.2rem;
  border-radius: 16px;
  border: 1px solid #d1d5db;
  box-shadow: 0 8px 20px rgba(148, 163, 184, 0.15);
}

.collabchain-info p {
  font-size: 0.9rem;
  color: #475569;
  margin-bottom: 0.6rem;
}

/* CENTRO: TABLERO DE COLABORACIÓN */
.collabchain-center {
  display: flex;
  justify-content: center;
}

.collabchain-board {
  position: relative;
  width: 100%;
  max-width: 360px;
  height: 360px;
  border-radius: 30px;
  background: white;
  border: 1px solid #d1d5db;
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
  overflow: hidden;
}

/* USUARIOS */
.collab-user {
  position: absolute;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: #2563eb;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

.user-1 { top: 12%; left: 50%; transform: translateX(-50%); }
.user-2 { bottom: 14%; left: 14%; }
.user-3 { bottom: 14%; right: 14%; }

/* DOCUMENTO CENTRAL */
.collab-doc {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 180px;
  padding: 1.2rem;
  transform: translate(-50%, -50%);
  background: #020617;
  border: 1px solid rgba(148, 163, 184, 0.4);
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.9);
  text-align: center;
}

.doc-title {
  color: #e5e7eb;
  font-size: 0.88rem;
  margin-bottom: 0.2rem;
}

.doc-version {
  color: #60a5fa;
  font-size: 0.78rem;
}

/* DELTAS ANIMADOS */
.delta {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 4px;
  border: 1px solid rgba(96, 165, 250, 0.9);
  background: #ffffff;
  box-shadow: 0 0 10px rgba(59, 130, 246, 1);
  animation: deltaMove 4s linear infinite;
}

.delta-1 { top: 20%; left: 50%; animation-delay: 0s; }
.delta-2 { top: 64%; left: 20%; animation-delay: 1s; }
.delta-3 { top: 64%; right: 20%; animation-delay: 2s; }

@keyframes deltaMove {
  0% { transform: scale(0.7); opacity: 0; }
  20% { opacity: 1; }
  50% { transform: scale(1.1); }
  100% { transform: scale(0.7); opacity: 0; }
}

/* SELLO CONSENSO */
.collab-consensus {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(37, 99, 235, 0.12);
  padding: 0.3rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.4);
  color: #2563eb;
  font-size: 0.78rem;
  font-weight: 600;
  backdrop-filter: blur(6px);
}

/* COLUMNA DERECHA */
.collabchain-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.collabchain-card {
  background: white;
  border-radius: 18px;
  border: 1px solid #d1d5db;
  padding: 1.5rem 1.5rem 1.3rem;
  box-shadow: 0 10px 26px rgba(148, 163, 184, 0.2);
}

.collabchain-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.8rem;
}

.collabchain-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.collabchain-card li {
  font-size: 0.9rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
}

.collabchain-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #2563eb;
  border-radius: 50%;
}

.collabchain-card--tech {
  border-color: #2563eb;
}

/* RESPONSIVE */
@media (max-width: 1050px) {
  .collabchain-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .collabchain-center {
    order: 2;
  }
}

@media (max-width: 720px) {
  .collabchain-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .collabchain-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== SERVICIO 8 – Firma corporativa dual y flujos de aprobación blindados ===== */

.coobook-enterprise-signing {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: radial-gradient(circle at top, #020617 0%, #020617 45%, #020617 100%);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #e5e7eb;
}

.signing-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.signing-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.signing-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.signing-header h2 span {
  display: block;
  color: #60a5fa;
}

.signing-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #9ca3af;
}

/* LAYOUT */
.signing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 2.8rem;
  align-items: center;
}

/* IZQUIERDA */
.signing-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.signing-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}

.signing-risks li {
  font-size: 0.94rem;
  color: #9ca3af;
  margin-bottom: 0.75rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.signing-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

.signing-box {
  background: radial-gradient(circle at top left, rgba(15,23,42,0.95), rgba(15,23,42,0.7));
  border-radius: 16px;
  padding: 1.2rem 1.4rem;
  border: 1px solid rgba(148,163,184,0.5);
  box-shadow: 0 12px 32px rgba(15,23,42,0.9);
  font-size: 0.9rem;
  color: #cbd5e1;
}

.signing-box p {
  margin-bottom: 0.5rem;
}

/* CENTRO: DOCUMENTO + FIRMAS */
.signing-center {
  display: flex;
  justify-content: center;
}

.signing-doc-panel {
  position: relative;
  width: 100%;
  max-width: 360px;
  border-radius: 24px;
  padding: 1.5rem 1.4rem;
  background: #020617;
  border: 1px solid rgba(148, 163, 184, 0.5);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 1);
  overflow: hidden;
}

.signing-doc-header {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.8rem;
  margin-bottom: 0.9rem;
}

.signing-doc-name {
  color: #e5e7eb;
}

.signing-doc-tag {
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.7);
  font-size: 0.72rem;
  color: #bae6fd;
}

.signing-doc-body {
  border-radius: 16px;
  padding: 0.9rem 1rem;
  background: radial-gradient(circle at top, #020617, #020617 40%, #020617 100%);
  border: 1px solid rgba(148, 163, 184, 0.45);
  margin-bottom: 1.1rem;
}

.signing-doc-line {
  font-size: 0.8rem;
  color: #cbd5e1;
  margin-bottom: 0.35rem;
}

.signing-doc-line--title {
  font-size: 0.86rem;
  font-weight: 600;
  color: #e5e7eb;
  margin-bottom: 0.5rem;
}

/* FILAS DE FIRMAS */
.signing-signatures {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.signing-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 14px;
  padding: 0.55rem 0.8rem;
  background: rgba(15,23,42,0.9);
  border: 1px solid rgba(148,163,184,0.5);
  font-size: 0.8rem;
}

.signing-role {
  color: #e5e7eb;
}

.signing-status {
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}

.signing-status--signed {
  background: rgba(34,197,94,0.18);
  border: 1px solid rgba(34,197,94,0.8);
  color: #bbf7d0;
}

.signing-status--chain {
  background: rgba(59,130,246,0.16);
  border: 1px solid rgba(59,130,246,0.9);
  color: #bfdbfe;
}

/* SELLO ANIMADO */
.signing-stamp {
  position: absolute;
  right: -40px;
  top: 50%;
  width: 160px;
  height: 160px;
  border-radius: 999px;
  border: 2px solid rgba(34,197,94,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%) rotate(-14deg);
  opacity: 0.4;
  box-shadow: 0 0 40px rgba(34,197,94,0.4);
  animation: signingStampPulse 4.5s ease-in-out infinite alternate;
}

.stamp-text {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #bbf7d0;
}

@keyframes signingStampPulse {
  from {
    transform: translateY(-50%) rotate(-18deg) scale(0.9);
    opacity: 0.35;
  }
  to {
    transform: translateY(-50%) rotate(-10deg) scale(1.02);
    opacity: 0.75;
  }
}

/* DERECHA */
.signing-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.signing-card {
  background: radial-gradient(circle at top left, rgba(15,23,42,0.96), rgba(15,23,42,0.7));
  border-radius: 18px;
  padding: 1.5rem 1.5rem 1.3rem;
  border: 1px solid rgba(148,163,184,0.55);
  box-shadow: 0 18px 40px rgba(15,23,42,0.95);
}

.signing-card h3 {
  font-size: 1.05rem;
  color: #f9fafb;
  font-weight: 600;
  margin-bottom: 0.9rem;
}

.signing-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.signing-card li {
  font-size: 0.9rem;
  color: #cbd5e1;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.signing-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #38bdf8;
  border-radius: 50%;
}

.signing-card--tech {
  border-color: #38bdf8;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .signing-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
    row-gap: 3rem;
  }
  .signing-center {
    order: 2;
  }
  .signing-right {
    order: 3;
  }
}

@media (max-width: 780px) {
  .coobook-enterprise-signing {
    padding: 4.5rem 1.25rem 4.5rem;
  }
  .signing-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .signing-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== SERVICIO 9 – Perfil Seguro para Proveedores y Socios ===== */

.coobook-enterprise-providers {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: #eef2ff;
  background: radial-gradient(circle at top, #e0e7ff 0%, #eef2ff 40%, #f8fafc 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.providers-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.providers-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.providers-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.providers-header h2 span {
  display: block;
  color: #4f46e5;
}

.providers-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}

/* LAYOUT */
.providers-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 2.8rem;
  align-items: center;
}

/* COLUMNA IZQUIERDA */
.providers-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.providers-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}

.providers-risks li {
  font-size: 0.94rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
}

.providers-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

.providers-info {
  background: white;
  border-radius: 16px;
  padding: 1.2rem 1.3rem;
  border: 1px solid #d1d5db;
  box-shadow: 0 8px 20px rgba(148,163,184,0.15);
  font-size: 0.9rem;
  color: #475569;
}

/* COLUMNA CENTRAL: SANDBOX SEGURO */
.providers-center {
  display: flex;
  justify-content: center;
}

.provider-sandbox {
  position: relative;
  width: 100%;
  max-width: 360px;
  height: 380px;
  border-radius: 28px;
  background: white;
  border: 1px solid #d1d5db;
  box-shadow: 0 18px 46px rgba(0,0,0,0.12);
  overflow: hidden;
}

/* CAPA DE AISLAMIENTO */
.sandbox-shield {
  position: absolute;
  inset: 0;
  border-radius: 28px;
  background: radial-gradient(circle, rgba(79,70,229,0.18), rgba(0,0,0,0) 60%);
  pointer-events: none;
}

/* AVATAR PROVEEDOR */
.sandbox-user {
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.sandbox-avatar {
  width: 58px;
  height: 58px;
  background: #4f46e5;
  border-radius: 999px;
  color: white;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.6rem;
  box-shadow: 0 6px 14px rgba(79,70,229,0.55);
}

.sandbox-title {
  color: #0f172a;
  font-size: 0.92rem;
  font-weight: 600;
}

.sandbox-sub {
  color: #4f46e5;
  font-size: 0.8rem;
}

/* DOCUMENTO */
.sandbox-doc {
  position: absolute;
  bottom: 16%;
  left: 50%;
  transform: translateX(-50%);
  width: 72%;
  padding: 1rem;
  background: #f8fafc;
  border-radius: 18px;
  border: 1px solid #d1d5db;
  box-shadow: 0 8px 20px rgba(148,163,184,0.2);
}

.sandbox-doc-title {
  font-size: 0.88rem;
  font-weight: 600;
  margin-bottom: 0.6rem;
  color: #0f172a;
}

.sandbox-doc-item {
  font-size: 0.82rem;
  color: #475569;
  margin-bottom: 0.4rem;
  padding-left: 1rem;
  position: relative;
}

.sandbox-doc-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 6px;
  height: 6px;
  background: #4f46e5;
  border-radius: 50%;
}

.sandbox-denied {
  color: #dc2626 !important;
}

.sandbox-denied::before {
  background: #dc2626;
}

/* ANIMACIONES */
.sandbox-beam {
  position: absolute;
  width: 1px;
  height: 180px;
  background: linear-gradient(to bottom, rgba(79,70,229,0.4), transparent);
  opacity: 0.6;
  animation: beamMove 4.6s linear infinite;
}

.beam-1 { left: 30%; top: 10%; }
.beam-2 { right: 30%; top: 20%; animation-delay: 1.5s; }

@keyframes beamMove {
  0%   { transform: translateY(-20px); }
  100% { transform: translateY(20px); }
}

/* COLUMNA DERECHA */
.providers-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.providers-card {
  background: white;
  border-radius: 18px;
  border: 1px solid #d1d5db;
  padding: 1.5rem 1.5rem 1.3rem;
  box-shadow: 0 10px 26px rgba(148,163,184,0.2);
}

.providers-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.9rem;
}

.providers-card ul {
  list-style: none;
  margin: 0; padding: 0;
}

.providers-card li {
  font-size: 0.9rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.providers-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #4f46e5;
  border-radius: 50%;
}

.providers-card--tech {
  border-color: #4f46e5;
}

/* RESPONSIVE */
@media (max-width: 1050px) {
  .providers-layout {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
  .providers-center {
    order: 2;
  }
}

@media (max-width: 720px) {
  .providers-layout {
    grid-template-columns: minmax(0,1fr);
  }
  .providers-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== BLOQUE 10 – Servicio 10 · Detección Automática de Actividad Sospechosa (Insider Threat AI) ===== */

.coobook-enterprise-insider {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: radial-gradient(circle at top, #020617 0%, #020617 45%, #020617 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #e5e7eb;
}

.insider-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.insider-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.insider-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1.15;
  font-weight: 700;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.insider-header h2 span {
  display: block;
  color: #38bdf8;
}

.insider-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #9ca3af;
}

/* LAYOUT PRINCIPAL */
.insider-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 2.8rem;
  align-items: center;
}

/* COLUMNA IZQUIERDA */
.insider-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.insider-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}

.insider-risks li {
  font-size: 0.94rem;
  color: #9ca3af;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.insider-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

.insider-textbox {
  background: radial-gradient(circle at top left, rgba(15,23,42,0.96), rgba(15,23,42,0.7));
  border-radius: 16px;
  padding: 1.2rem 1.4rem;
  border: 1px solid rgba(148,163,184,0.55);
  box-shadow: 0 14px 36px rgba(15,23,42,0.95);
  font-size: 0.9rem;
  color: #cbd5e1;
}

.insider-textbox p {
  margin-bottom: 0.5rem;
}

/* COLUMNA CENTRAL: RADAR IA */
.insider-center {
  display: flex;
  justify-content: center;
}

.insider-radar-panel {
  width: 100%;
  max-width: 360px;
  border-radius: 24px;
  background: #020617;
  border: 1px solid rgba(148, 163, 184, 0.5);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 1);
  padding: 1.5rem 1.4rem 1.4rem;
}

.insider-radar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  margin-bottom: 1.1rem;
}

.insider-radar-header span:first-child {
  color: #e5e7eb;
}

.insider-pill {
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(56,189,248,0.75);
  font-size: 0.72rem;
  color: #bae6fd;
}

/* RADAR */
.insider-radar-wrapper {
  position: relative;
  width: 100%;
  max-width: 260px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 1.2rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(15,23,42,1), #020617);
  overflow: hidden;
}

.insider-radar-circle {
  position: absolute;
  inset: 16%;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,0.35);
}

.circle-2 {
  inset: 30%;
}

.circle-3 {
  inset: 44%;
}

/* BARRIDO */
.insider-radar-sweep {
  position: absolute;
  inset: 0;
  background: conic-gradient(
    from 0deg,
    rgba(56,189,248,0.9),
    rgba(56,189,248,0.05),
    transparent 55%,
    transparent 100%
  );
  mix-blend-mode: screen;
  animation: insiderSweep 5s linear infinite;
}

@keyframes insiderSweep {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* PUNTOS ANÓMALOS */
.insider-dot {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #f97316;
  box-shadow: 0 0 14px rgba(248,113,113,0.9);
  animation: insiderDotPulse 2.5s ease-in-out infinite;
}

.dot-1 { top: 25%; left: 60%; animation-delay: 0.2s; }
.dot-2 { top: 60%; left: 30%; animation-delay: 0.8s; }
.dot-3 { top: 45%; left: 75%; animation-delay: 1.4s; }

@keyframes insiderDotPulse {
  0%   { transform: scale(0.7); opacity: 0.4; }
  50%  { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(0.7); opacity: 0.4; }
}

/* MÉTRICAS INFERIORES */
.insider-radar-footer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0.6rem;
}

.insider-metric {
  background: rgba(15,23,42,0.9);
  border-radius: 12px;
  border: 1px solid rgba(148,163,184,0.5);
  padding: 0.55rem 0.65rem;
  font-size: 0.78rem;
}

.metric-label {
  display: block;
  color: #9ca3af;
  margin-bottom: 0.15rem;
}

.metric-value {
  color: #e5e7eb;
  font-weight: 600;
  font-size: 0.85rem;
}

.metric-alert {
  color: #fecaca;
}

/* COLUMNA DERECHA */
.insider-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.insider-card {
  background: radial-gradient(circle at top left, rgba(15,23,42,0.96), rgba(15,23,42,0.7));
  border-radius: 18px;
  padding: 1.5rem 1.5rem 1.3rem;
  border: 1px solid rgba(148,163,184,0.55);
  box-shadow: 0 18px 40px rgba(15,23,42,0.95);
}

.insider-card h3 {
  font-size: 1.05rem;
  color: #f9fafb;
  font-weight: 600;
  margin-bottom: 0.9rem;
}

.insider-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.insider-card li {
  font-size: 0.9rem;
  color: #cbd5e1;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.insider-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #38bdf8;
  border-radius: 50%;
}

.insider-card--tech {
  border-color: #38bdf8;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .insider-layout {
    grid-template-columns: minmax(0,1.1fr) minmax(0,1.2fr);
    row-gap: 3rem;
  }
  .insider-center {
    order: 2;
  }
  .insider-right {
    order: 3;
  }
}

@media (max-width: 780px) {
  .coobook-enterprise-insider {
    padding: 4.5rem 1.25rem 4.5rem;
  }
  .insider-layout {
    grid-template-columns: minmax(0,1fr);
  }
  .insider-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== SERVICIO 11 – Backup Anti-Ransomware con Restauración Automática ===== */

.coobook-enterprise-backup {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: radial-gradient(circle at top, #ecfeff 0%, #e0f7fa 30%, #f0fdfa 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.backup-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.backup-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.backup-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.backup-header h2 span {
  display: block;
  color: #0ea5e9;
}

.backup-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}

/* LAYOUT */
.backup-layout {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1fr);
  gap: 2.8rem;
  align-items: center;
}

/* IZQUIERDA */
.backup-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.backup-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}

.backup-risks li {
  font-size: 0.94rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
}

.backup-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #fb7185;
  border-radius: 50%;
}

.backup-info {
  background: white;
  border-radius: 16px;
  padding: 1.2rem 1.3rem;
  border: 1px solid #d1d5db;
  color: #475569;
  font-size: 0.9rem;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

/* CENTRO: ESCUDO ANIMADO */
.backup-center {
  display: flex;
  justify-content: center;
}

.backup-shield-panel {
  position: relative;
  width: 100%;
  max-width: 360px;
  aspect-ratio: 1 / 1;
  background: #ecfeff;
  border-radius: 999px;
  border: 1px solid #94a3b8;
  box-shadow: 0 18px 40px rgba(14,165,233,0.3);
  overflow: hidden;
}

/* CAPA CENTRAL */
.shield-core {
  position: absolute;
  inset: 40%;
  background: #0ea5e9;
  border-radius: 999px;
  box-shadow: 0 0 50px rgba(14,165,233,0.8);
}

/* ANILLOS DE SEGURIDAD */
.shield-ring {
  position: absolute;
  inset: 15%;
  border-radius: 999px;
  border: 2px solid rgba(14,165,233,0.4);
  animation: shieldPulse 3.6s ease-in-out infinite alternate;
}

.ring-2 {
  inset: 25%;
  animation-delay: 1s;
}

.ring-3 {
  inset: 35%;
  animation-delay: 2s;
}

@keyframes shieldPulse {
  from { transform: scale(0.96); opacity: 0.6; }
  to   { transform: scale(1.05); opacity: 1; }
}

/* ALERTAS */
.shield-alert {
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(254, 226, 226, 0.75);
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(248,113,113,0.8);
  font-size: 0.78rem;
  text-align: center;
  color: #b91c1c;
  backdrop-filter: blur(4px);
}

.shield-restore {
  position: absolute;
  bottom: 12%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(204,251,241,0.75);
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(45,212,191,0.8);
  font-size: 0.78rem;
  text-align: center;
  color: #047857;
  backdrop-filter: blur(4px);
}

/* DERECHA */
.backup-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.backup-card {
  background: white;
  border-radius: 18px;
  padding: 1.5rem 1.5rem 1.3rem;
  border: 1px solid #d1d5db;
  color: #475569;
  box-shadow: 0 12px 30px rgba(0,0,0,0.1);
}

.backup-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.9rem;
}

.backup-card--tech {
  border-color: #0ea5e9;
}

/* RESPONSIVE */
@media (max-width: 1080px) {
  .backup-layout {
    grid-template-columns: minmax(0,1fr) minmax(0,1.2fr);
    row-gap: 3rem;
  }
  .backup-center {
    order: 2;
  }
}

@media (max-width: 720px) {
  .backup-layout {
    grid-template-columns: minmax(0,1fr);
  }
  .backup-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== SERVICIO 12 – Auditorías Automáticas y Cumplimiento Normativo ===== */

.coobook-enterprise-audit {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: #f8fafc;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.audit-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.audit-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.audit-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.audit-header h2 span {
  display: block;
  color: #2563eb;
}

.audit-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}

/* LAYOUT PRINCIPAL */
.audit-layout {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1fr);
  gap: 2.8rem;
  align-items: center;
}

/* COLUMNA IZQUIERDA */
.audit-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.audit-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}

.audit-risks li {
  font-size: 0.94rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.audit-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

.audit-info {
  background: white;
  border-radius: 16px;
  padding: 1.2rem 1.3rem;
  border: 1px solid #d1d5db;
  box-shadow: 0 8px 20px rgba(148,163,184,0.2);
  font-size: 0.9rem;
  color: #475569;
}

/* COLUMNA CENTRAL: PANEL DE INFORME */
.audit-center {
  display: flex;
  justify-content: center;
}

.audit-report-panel {
  width: 100%;
  max-width: 360px;
  border-radius: 22px;
  background: white;
  border: 1px solid #d1d5db;
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
  padding: 1.5rem 1.4rem 1.4rem;
}

/* CABECERA PANEL */
.audit-report-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.82rem;
  color: #0f172a;
  margin-bottom: 1.1rem;
}

.audit-badge {
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  border: 1px solid #2563eb;
  font-size: 0.72rem;
  color: #2563eb;
  background: #eff6ff;
}

/* LÍNEAS DE INFORME */
.audit-report-body {
  border-radius: 16px;
  padding: 0.9rem 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  margin-bottom: 1.3rem;
}

.audit-report-line {
  display: flex;
  justify-content: space-between;
  font-size: 0.86rem;
  color: #475569;
  margin-bottom: 0.5rem;
}

.audit-report-line:last-child {
  margin-bottom: 0;
}

.audit-value {
  font-weight: 600;
  color: #2563eb;
}

.audit-value--ok {
  color: #16a34a;
}

/* MINI ÁRBOL DE MERKLE */
.audit-merkle {
  position: relative;
  margin-top: 0.5rem;
  padding-top: 0.6rem;
  border-top: 1px dashed #cbd5e1;
}

.merkle-node {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  font-size: 0.72rem;
  color: #0f172a;
  background: #f9fafb;
  position: relative;
  z-index: 2;
}

.merkle-node.root {
  background: #2563eb;
  border-color: #1d4ed8;
  color: #f9fafb;
  margin: 0 auto 0.6rem;
  display: block;
  text-align: center;
}

.merkle-row {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  margin-bottom: 0.4rem;
}

.merkle-node.leaf {
  background: #e0f2fe;
  border-color: #bfdbfe;
}

/* BRILLO SUAVE SOBRE EL ÁRBOL */
.merkle-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(37,99,235,0.14), transparent 65%);
  pointer-events: none;
  animation: merkleGlow 4s ease-in-out infinite alternate;
}

@keyframes merkleGlow {
  from { opacity: 0.4; }
  to   { opacity: 1;   }
}

/* COLUMNA DERECHA */
.audit-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.audit-card {
  background: white;
  border-radius: 18px;
  border: 1px solid #d1d5db;
  padding: 1.5rem 1.5rem 1.3rem;
  box-shadow: 0 10px 26px rgba(148,163,184,0.22);
}

.audit-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.9rem;
}

.audit-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.audit-card li {
  font-size: 0.9rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.audit-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #2563eb;
  border-radius: 50%;
}

.audit-card--tech {
  border-color: #2563eb;
}

/* RESPONSIVE */
@media (max-width: 1080px) {
  .audit-layout {
    grid-template-columns: minmax(0,1.1fr) minmax(0,1.1fr);
    row-gap: 3rem;
  }
  .audit-center {
    order: 2;
  }
  .audit-right {
    order: 3;
  }
}

@media (max-width: 720px) {
  .coobook-enterprise-audit {
    padding: 4.5rem 1.25rem 4.5rem;
  }
  .audit-layout {
    grid-template-columns: minmax(0,1fr);
  }
  .audit-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== SERVICIO 13 – Visibilidad Documental Fragmentada ===== */

.coobook-enterprise-fragment {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: #eef2ff;
  background: radial-gradient(circle at top, #e2e8f0 0%, #f1f5f9 40%, #f8fafc 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.fragment-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.fragment-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.fragment-header h2 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}

.fragment-header h2 span {
  display: block;
  color: #4f46e5;
}

.fragment-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}

/* LAYOUT */
.fragment-layout {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1fr);
  gap: 2.8rem;
  align-items: center;
}

/* IZQUIERDA */
.fragment-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.fragment-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}

.fragment-risks li {
  font-size: 0.94rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
}

.fragment-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

.fragment-info {
  background: white;
  border-radius: 16px;
  padding: 1.2rem 1.3rem;
  border: 1px solid #d1d5db;
  box-shadow: 0 8px 20px rgba(148,163,184,0.2);
  font-size: 0.9rem;
  color: #475569;
}

/* CENTRO: VISOR DOCUMENTAL */
.fragment-center {
  display: flex;
  justify-content: center;
}

.fragment-viewer {
  position: relative;
  width: 100%;
  max-width: 360px;
  height: 380px;
  border-radius: 22px;
  background: white;
  border: 1px solid #d1d5db;
  box-shadow: 0 16px 36px rgba(0,0,0,0.07);
  overflow: hidden;
}

/* BLOQUES FLOTANTES ANIMADOS */
.fragment-block {
  position: absolute;
  width: 80px;
  height: 40px;
  background: #e0e7ff;
  border-radius: 6px;
  opacity: 0.75;
  animation: fragmentFloat 6s infinite ease-in-out alternate;
  box-shadow: 0 8px 20px rgba(99,102,241,0.28);
}

.block-1 { top: 12%; left: 16%; animation-delay: 0s; }
.block-2 { top: 32%; right: 14%; animation-delay: 0.8s; }
.block-3 { bottom: 18%; left: 28%; animation-delay: 1.6s; }

@keyframes fragmentFloat {
  from { transform: translateY(-8px) scale(1); }
  to   { transform: translateY(8px) scale(1.05); }
}

/* SECCIÓN AUTORIZADA */
.fragment-selected {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 82%;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  padding: 1rem 1.2rem;
  box-shadow: 0 10px 26px rgba(148,163,184,0.26);
  text-align: left;
}

.fragment-title {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.4rem;
}

.fragment-text {
  font-size: 0.82rem;
  color: #475569;
  line-height: 1.6;
}

/* DERECHA */
.fragment-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.fragment-card {
  background: white;
  border-radius: 18px;
  border: 1px solid #d1d5db;
  padding: 1.5rem 1.5rem 1.3rem;
  box-shadow: 0 12px 30px rgba(148,163,184,0.18);
}

.fragment-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 0.9rem;
}

.fragment-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fragment-card li {
  font-size: 0.9rem;
  color: #475569;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.fragment-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #4f46e5;
  border-radius: 50%;
}

.fragment-card--tech {
  border-color: #4f46e5;
}

/* RESPONSIVE */
@media (max-width: 1050px) {
  .fragment-layout {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    row-gap: 3rem;
  }

  .fragment-center {
    order: 2;
  }

  .fragment-right {
    order: 3;
  }
}

@media (max-width: 720px) {
  .coobook-enterprise-fragment {
    padding: 4.5rem 1.25rem 4.5rem;
  }

  .fragment-layout {
    grid-template-columns: minmax(0,1fr);
  }

  .fragment-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== SERVICIO 14 – Protección de Propiedad Intelectual ===== */

.coobook-enterprise-ip {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: radial-gradient(circle at top, #020617 0%, #020617 45%, #020617 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #e5e7eb;
}

.ip-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */

.ip-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.ip-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 700;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.ip-header h2 span {
  display: block;
  color: #38bdf8;
}

.ip-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #9ca3af;
}

/* LAYOUT PRINCIPAL */

.ip-layout {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,1.1fr) minmax(0,1.05fr);
  gap: 2.8rem;
  align-items: center;
}

/* COLUMNA IZQUIERDA */

.ip-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f9fafb;
  margin-bottom: 1rem;
}

.ip-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}

.ip-risks li {
  font-size: 0.94rem;
  color: #9ca3af;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.ip-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

.ip-info {
  background: radial-gradient(circle at top left, rgba(15,23,42,0.96), rgba(15,23,42,0.7));
  border-radius: 16px;
  padding: 1.2rem 1.4rem;
  border: 1px solid rgba(148,163,184,0.55);
  box-shadow: 0 14px 36px rgba(15,23,42,0.95);
  font-size: 0.9rem;
  color: #cbd5e1;
}

.ip-info p {
  margin-bottom: 0.5rem;
}

/* COLUMNA CENTRAL – BÓVEDA */

.ip-center {
  display: flex;
  justify-content: center;
}

.ip-vault-panel {
  position: relative;
  width: 100%;
  max-width: 360px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: radial-gradient(circle, #020617, #020617 55%, #020617 100%);
  border: 1px solid rgba(148,163,184,0.5);
  box-shadow:
    0 22px 60px rgba(15,23,42,1),
    0 0 60px rgba(56,189,248,0.35);
  overflow: hidden;
}

/* NÚCLEO CIFRADO */

.ip-vault-core {
  position: absolute;
  inset: 40%;
  border-radius: 999px;
  background: radial-gradient(circle, #0ea5e9, #0369a1);
  box-shadow:
    0 0 70px rgba(14,165,233,0.9),
    0 0 120px rgba(15,23,42,1);
}

/* ANILLOS */

.ip-vault-ring {
  position: absolute;
  inset: 16%;
  border-radius: 999px;
  border: 1px solid rgba(56,189,248,0.5);
  animation: ipRingPulse 4.2s ease-in-out infinite alternate;
}

.ring-b {
  inset: 28%;
  animation-delay: 1.4s;
}

@keyframes ipRingPulse {
  from { transform: scale(0.95); opacity: 0.5; }
  to   { transform: scale(1.05); opacity: 1;   }
}

/* ACTIVOS DE IP (CÓDIGO, DISEÑO, I+D) */

.ip-asset {
  position: absolute;
  width: 90px;
  height: 48px;
  border-radius: 14px;
  background: rgba(15,23,42,0.96);
  border: 1px solid rgba(148,163,184,0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 28px rgba(15,23,42,0.9);
  animation: ipAssetFloat 6s infinite ease-in-out alternate;
}

.ip-asset-label {
  font-size: 0.78rem;
  color: #e5e7eb;
}

.ip-asset--code {
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
}

.ip-asset--design {
  bottom: 16%;
  left: 18%;
  animation-delay: 0.9s;
}

.ip-asset--rd {
  bottom: 16%;
  right: 18%;
  animation-delay: 1.6s;
}

@keyframes ipAssetFloat {
  from { transform: translateY(-6px); }
  to   { transform: translateY(6px);  }
}

/* ESTADOS: AISLAMIENTO Y REGISTRO ON-CHAIN */

.ip-status {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 78%;
  border-radius: 999px;
  padding: 0.4rem 0.9rem;
  font-size: 0.78rem;
  text-align: center;
  backdrop-filter: blur(6px);
}

.ip-status-title {
  display: block;
  font-weight: 600;
  margin-bottom: 0.05rem;
}

.ip-status-desc {
  display: block;
  font-size: 0.72rem;
}

.ip-status--lock {
  top: 10%;
  background: rgba(30,64,175,0.7);
  border: 1px solid rgba(129,140,248,0.85);
  color: #e0e7ff;
}

.ip-status--chain {
  bottom: 10%;
  background: rgba(6,95,70,0.7);
  border: 1px solid rgba(45,212,191,0.85);
  color: #ccfbf1;
}

/* COLUMNA DERECHA */

.ip-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.ip-card {
  background: radial-gradient(circle at top left, rgba(15,23,42,0.96), rgba(15,23,42,0.7));
  border-radius: 18px;
  padding: 1.5rem 1.5rem 1.3rem;
  border: 1px solid rgba(148,163,184,0.55);
  box-shadow: 0 18px 40px rgba(15,23,42,0.95);
}

.ip-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #f9fafb;
  margin-bottom: 0.9rem;
}

.ip-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ip-card li {
  font-size: 0.9rem;
  color: #cbd5e1;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.ip-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #38bdf8;
  border-radius: 50%;
}

.ip-card--tech {
  border-color: #38bdf8;
}

/* RESPONSIVE */

@media (max-width: 1100px) {
  .ip-layout {
    grid-template-columns: minmax(0,1.1fr) minmax(0,1.2fr);
    row-gap: 3rem;
  }

  .ip-center {
    order: 2;
  }

  .ip-right {
    order: 3;
  }
}

@media (max-width: 780px) {
  .coobook-enterprise-ip {
    padding: 4.5rem 1.25rem 4.5rem;
  }

  .ip-layout {
    grid-template-columns: minmax(0,1fr);
  }

  .ip-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== SERVICIO 15 – Panel Empresarial Unificado (Risk Board) ===== */

.coobook-enterprise-riskboard {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: #0f172a;
  background: radial-gradient(circle at top, #0f172a 0%, #0a1427 40%, #0a1427 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #e2e8f0;
}

.riskboard-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.riskboard-header {
  max-width: 780px;
  margin-bottom: 3.5rem;
}

.riskboard-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 700;
  color: #f8fafc;
  margin-bottom: 1rem;
}

.riskboard-header h2 span {
  display: block;
  color: #38bdf8;
}

.riskboard-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #94a3b8;
}

/* LAYOUT */
.riskboard-layout {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1fr);
  gap: 2.8rem;
  align-items: center;
}

/* IZQUIERDA */
.riskboard-left h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #e2e8f0;
  margin-bottom: 1rem;
}

.riskboard-risks {
  list-style: none;
  padding: 0;
  margin: 0 0 1.6rem;
}

.riskboard-risks li {
  font-size: 0.94rem;
  color: #94a3b8;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.riskboard-risks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #f97316;
  border-radius: 50%;
}

.riskboard-info {
  background: rgba(15,23,42,0.85);
  border-radius: 16px;
  padding: 1.2rem 1.4rem;
  border: 1px solid rgba(148,163,184,0.55);
  box-shadow: 0 12px 32px rgba(0,0,0,0.5);
  font-size: 0.9rem;
  color: #cbd5e1;
}

/* CENTRO – RISK MAP */
.riskboard-center {
  display: flex;
  justify-content: center;
}

.riskboard-map {
  position: relative;
  width: 100%;
  max-width: 360px;
  height: 360px;
  border-radius: 22px;
  background: #0a1427;
  border: 1px solid #334155;
  box-shadow: 0 20px 50px rgba(0,0,0,0.45);
  overflow: hidden;
}

/* CAPAS ANIMADAS */
.risk-layer {
  position: absolute;
  inset: 0;
  border-radius: 22px;
  opacity: 0.55;
  background: conic-gradient(
    from 0deg,
    rgba(56,189,248,0.18),
    transparent 40%,
    rgba(56,189,248,0.18),
    transparent 80%
  );
  mix-blend-mode: screen;
  animation: layerSpin 12s linear infinite;
}

.layer-2 { animation-duration: 18s; opacity: 0.35; }
.layer-3 { animation-duration: 24s; opacity: 0.25; }

@keyframes layerSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* NODOS DE RIESGO */
.risk-node {
  position: absolute;
  width: 110px;
  height: 42px;
  border-radius: 14px;
  background: rgba(148,163,184,0.15);
  border: 1px solid rgba(148,163,184,0.4);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e2e8f0;
  font-size: 0.78rem;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  animation: riskFloat 6s ease-in-out infinite alternate;
}

/* POSICIONES */
.node-a { top: 12%; left: 50%; transform: translateX(-50%); }
.node-b { right: 12%; top: 50%; transform: translateY(-50%); animation-delay: 1.1s; }
.node-c { left: 12%; top: 50%; transform: translateY(-50%); animation-delay: 0.6s; }
.node-d { bottom: 12%; left: 50%; transform: translateX(-50%); animation-delay: 1.8s; }

@keyframes riskFloat {
  from { transform: translateY(-6px); }
  to   { transform: translateY(6px); }
}

/* DERECHA */
.riskboard-right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.riskboard-card {
  background: rgba(15,23,42,0.85);
  border-radius: 18px;
  padding: 1.5rem 1.5rem 1.3rem;
  border: 1px solid rgba(148,163,184,0.55);
  box-shadow: 0 18px 40px rgba(0,0,0,0.55);
}

.riskboard-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #f8fafc;
  margin-bottom: 0.9rem;
}

.riskboard-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.riskboard-card li {
  font-size: 0.9rem;
  color: #cbd5e1;
  margin-bottom: 0.7rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.6;
}

.riskboard-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #38bdf8;
  border-radius: 50%;
}

.riskboard-card--tech {
  border-color: #38bdf8;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .riskboard-layout {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    row-gap: 3rem;
  }

  .riskboard-center {
    order: 2;
  }

  .riskboard-right {
    order: 3;
  }
}

@media (max-width: 780px) {
  .coobook-enterprise-riskboard {
    padding: 4.5rem 1.25rem 4.5rem;
  }

  .riskboard-layout {
    grid-template-columns: minmax(0,1fr);
  }

  .riskboard-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== BLOQUE 5 – Por qué las empresas confían en un sistema así ===== */

.coobook-enterprise-trust {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  box-sizing: border-box;
  background: #f8fafc;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.trust-section {
  max-width: 1180px;
  margin: 0 auto;
}

/* ENCABEZADO */
.trust-header {
  max-width: 820px;
  margin: 0 auto 3.5rem;
  text-align: left;
}

.trust-header h2 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
  line-height: 1.15;
}

.trust-header h2 span {
  display: block;
  color: #2563eb;
}

.trust-header p {
  font-size: 1rem;
  line-height: 1.7;
  color: #475569;
}

/* LAYOUT PRINCIPAL */
.trust-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
  gap: 2.8rem;
  align-items: flex-start;
}

/* COLUMNA IZQUIERDA */
.trust-core-card {
  background: white;
  border-radius: 18px;
  padding: 1.7rem 1.6rem 1.5rem;
  border: 1px solid #d1d5db;
  box-shadow: 0 16px 40px rgba(148,163,184,0.22);
}

.trust-core-card h3 {
  font-size: 1.15rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 1rem;
}

.trust-core-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.trust-core-card li {
  font-size: 0.94rem;
  color: #475569;
  margin-bottom: 0.9rem;
  padding-left: 1.1rem;
  position: relative;
  line-height: 1.7;
}

.trust-core-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  background: #2563eb;
  border-radius: 50%;
}

/* COLUMNA DERECHA – GRID COMPARATIVO */
.trust-right {
  display: flex;
  flex-direction: column;
}

.trust-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 1.6rem;
}

.trust-item {
  background: white;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  padding: 1.3rem 1.3rem 1.1rem;
  box-shadow: 0 12px 30px rgba(148,163,184,0.18);
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.trust-item h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #0f172a;
}

.trust-risk-title {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: #9ca3af;
}

.trust-item ul {
  list-style: none;
  margin: 0.2rem 0 0.4rem;
  padding: 0;
}

.trust-item ul li {
  font-size: 0.86rem;
  color: #4b5563;
  margin-bottom: 0.4rem;
  padding-left: 1rem;
  position: relative;
  line-height: 1.6;
}

.trust-item ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 5px;
  height: 5px;
  background: #f97316;
  border-radius: 50%;
}

.trust-solution {
  font-size: 0.86rem;
  color: #2563eb;
  margin-top: 0.1rem;
}

/* BLOQUE FINAL DE CIERRE */
.trust-footer {
  margin-top: 3.5rem;
  padding: 1.4rem 1.6rem;
  border-radius: 18px;
  background: linear-gradient(to right, #1d4ed8, #0ea5e9);
  color: #e5e7eb;
  font-size: 0.96rem;
  line-height: 1.7;
  box-shadow: 0 18px 46px rgba(37,99,235,0.45);
}

/* RESPONSIVE */
@media (max-width: 1050px) {
  .trust-layout {
    grid-template-columns: minmax(0,1fr);
  }

  .trust-core-card {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 720px) {
  .coobook-enterprise-trust {
    padding: 4.5rem 1.25rem 4.5rem;
  }

  .trust-grid {
    grid-template-columns: minmax(0,1fr);
  }

  .trust-header h2 {
    font-size: 1.9rem;
  }
}
/* ===== BLOQUE 6 – Cierre Profesional ===== */

.coobook-enterprise-closing {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: #f1f5f9;
  background: linear-gradient(to bottom, #f8fafc 0%, #f1f5f9 80%, #e2e8f0 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.closing-section {
  max-width: 900px;
  margin: 0 auto;
}

.closing-panel {
  background: white;
  border-radius: 22px;
  padding: 2.6rem 2.4rem;
  border: 1px solid #d1d5db;
  box-shadow: 0 24px 60px rgba(148,163,184,0.25);
  text-align: center;
}

.closing-title {
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1.2rem;
}

.closing-subtitle {
  font-size: 1.2rem;
  font-weight: 500;
  color: #334155;
  line-height: 1.5;
  max-width: 780px;
  margin: 0 auto 1.6rem;
}

.closing-divider {
  width: 90px;
  height: 3px;
  background: #2563eb;
  margin: 1.6rem auto 2rem;
  border-radius: 6px;
}

.closing-body {
  font-size: 1rem;
  line-height: 1.75;
  color: #475569;
  max-width: 760px;
  margin: 0 auto;
}

/* RESPONSIVE */
@media (max-width: 720px) {
  .coobook-enterprise-closing {
    padding: 4.5rem 1.25rem 4.5rem;
  }

  .closing-title {
    font-size: 2rem;
  }

  .closing-subtitle {
    font-size: 1.05rem;
  }

  .closing-body {
    font-size: 0.95rem;
  }
}
/* ===== BLOQUE EXTRA – CTA FINAL DE RESERVA ===== */

.coobook-enterprise-cta {
  width: 100%;
  padding: 6rem 1.75rem 6rem;
  background: linear-gradient(to bottom, #0f172a 0%, #0a1427 60%, #0f172a 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.cta-section {
  max-width: 900px;
  margin: 0 auto;
}

.cta-panel {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  backdrop-filter: blur(8px);
  padding: 2.8rem 2.5rem;
  border-radius: 26px;
  text-align: center;
  box-shadow: 0 30px 80px rgba(0,0,0,0.4);
  position: relative;
  overflow: hidden;
}

/* Brillo dinámico */
.cta-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(56,189,248,0.18), transparent 60%);
  animation: ctaGlow 6s ease-in-out infinite alternate;
  pointer-events: none;
}

@keyframes ctaGlow {
  from { opacity: 0.4; }
  to   { opacity: 1; }
}

.cta-title {
  font-size: clamp(2rem, 3vw, 2.6rem);
  color: #f8fafc;
  font-weight: 700;
  margin-bottom: 1rem;
}

.cta-subtitle {
  font-size: 1.1rem;
  color: #cbd5e1;
  line-height: 1.6;
  max-width: 720px;
  margin: 0 auto 2.4rem;
}

.cta-button {
  display: inline-block;
  padding: 1rem 2.4rem;
  background: linear-gradient(to right, #2563eb, #0ea5e9);
  color: #f8fafc;
  font-size: 1.05rem;
  font-weight: 600;
  border-radius: 999px;
  text-decoration: none;
  letter-spacing: 0.5px;
  box-shadow: 0 10px 28px rgba(14,165,233,0.45);
  transition: all 0.28s ease;
}

.cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(14,165,233,0.55);
}

/* RESPONSIVE */
@media (max-width: 720px) {
  .coobook-enterprise-cta {
    padding: 4.5rem 1.25rem 4.5rem;
  }

  .cta-title {
    font-size: 2rem;
  }

  .cta-subtitle {
    font-size: 1rem;
  }
}