/* ============================================================
   Forbys — Marketing pages (Landing, Contacto, Privacidad, Términos)

   Reemplaza al CDN de Tailwind que usaban los HTML originales del
   diseño. Estructurado en bloques: tokens → reset → utilities →
   componentes específicos (.ct-*, .nav-*, .pr-*, .tm-*, .ld-*).

   Solo para páginas de marketing — la app autenticada usa tokens.css
   + base/components/layout/dashboard.css y tiene paleta distinta.
   ============================================================ */

/* ── Tokens (mirror del tailwind.config de los HTML) ─────────── */
:root {
  /* Colors */
  --mk-ink-900: #0A0E1A;
  --mk-ink-600: #4A5568;
  --mk-ink-400: #8B95A8;

  --mk-brand-50:  #EFF4FF;
  --mk-brand-600: #2563EB;
  --mk-brand-700: #1E40AF;

  --mk-line:    #E5E7EB;
  --mk-line-2:  #D8DDE5;
  --mk-soft:    #F7F8FA;
  --mk-bg-sub:  #FAFBFC;

  --mk-success:    #059669;
  --mk-success-bg: #ECFDF5;
  --mk-warning:    #D97706;
  --mk-warning-bg: rgba(217,119,6,.10);
  --mk-danger:     #DC2626;

  /* Typography */
  --mk-font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --mk-font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, monospace;

  /* Shadows */
  --mk-shadow-card:    0 1px 2px rgba(10,14,26,.04), 0 4px 12px rgba(10,14,26,.04);
  --mk-shadow-card-lg: 0 2px 4px rgba(10,14,26,.04), 0 24px 48px -12px rgba(10,14,26,.12);

  /* Logo */
  --logo-ink: var(--mk-ink-900);
  --logo-accent: var(--mk-brand-600);

  color-scheme: light;
}

/* ── Reset mínimo ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--mk-font-sans);
  color: var(--mk-ink-900);
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  line-height: 1.45;
}
img, svg { display: block; max-width: 100%; }
button { font-family: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; padding: 0; margin: 0; }

/* ── Utility classes (subset de Tailwind usado en los diseños) ── */

/* Display + flex */
.mk-flex { display: flex; }
.mk-inline-flex { display: inline-flex; }
.mk-grid { display: grid; }
.mk-block { display: block; }
.mk-inline-block { display: inline-block; }
.mk-hidden { display: none; }

.mk-items-center { align-items: center; }
.mk-items-baseline { align-items: baseline; }
.mk-items-start { align-items: flex-start; }
.mk-items-end { align-items: flex-end; }
.mk-justify-between { justify-content: space-between; }
.mk-justify-center { justify-content: center; }
.mk-justify-start { justify-content: flex-start; }
.mk-flex-col { flex-direction: column; }
.mk-flex-1 { flex: 1; }
.mk-flex-shrink-0 { flex-shrink: 0; }

.mk-gap-1 { gap: 4px; }
.mk-gap-1\.5 { gap: 6px; }
.mk-gap-2 { gap: 8px; }
.mk-gap-3 { gap: 12px; }
.mk-gap-4 { gap: 16px; }
.mk-gap-5 { gap: 20px; }
.mk-gap-6 { gap: 24px; }
.mk-gap-8 { gap: 32px; }
.mk-gap-10 { gap: 40px; }
.mk-gap-12 { gap: 48px; }
.mk-gap-16 { gap: 64px; }

/* Grid */
.mk-grid-cols-1 { grid-template-columns: 1fr; }
.mk-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.mk-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.mk-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.mk-grid-cols-12 { grid-template-columns: repeat(12, 1fr); }

/* Spacing */
.mk-mt-2 { margin-top: 8px; }
.mk-mt-3 { margin-top: 12px; }
.mk-mt-4 { margin-top: 16px; }
.mk-mt-5 { margin-top: 20px; }
.mk-mt-6 { margin-top: 24px; }
.mk-mt-7 { margin-top: 28px; }
.mk-mt-8 { margin-top: 32px; }
.mk-mt-10 { margin-top: 40px; }
.mk-mt-12 { margin-top: 48px; }
.mk-mt-16 { margin-top: 64px; }
.mk-mt-20 { margin-top: 80px; }
.mk-mb-1 { margin-bottom: 4px; }
.mk-mb-2 { margin-bottom: 8px; }
.mk-mb-3 { margin-bottom: 12px; }
.mk-mb-4 { margin-bottom: 16px; }
.mk-mb-6 { margin-bottom: 24px; }
.mk-mb-8 { margin-bottom: 32px; }
.mk-mb-10 { margin-bottom: 40px; }
.mk-mb-12 { margin-bottom: 48px; }

.mk-p-6 { padding: 24px; }
.mk-p-8 { padding: 32px; }
.mk-px-4 { padding-left: 16px; padding-right: 16px; }
.mk-px-6 { padding-left: 24px; padding-right: 24px; }
.mk-px-8 { padding-left: 32px; padding-right: 32px; }
.mk-py-2 { padding-top: 8px; padding-bottom: 8px; }
.mk-py-3 { padding-top: 12px; padding-bottom: 12px; }
.mk-py-4 { padding-top: 16px; padding-bottom: 16px; }
.mk-py-8 { padding-top: 32px; padding-bottom: 32px; }
.mk-py-12 { padding-top: 48px; padding-bottom: 48px; }
.mk-py-16 { padding-top: 64px; padding-bottom: 64px; }
.mk-py-20 { padding-top: 80px; padding-bottom: 80px; }
.mk-py-24 { padding-top: 96px; padding-bottom: 96px; }
.mk-pt-30 { padding-top: 120px; }
.mk-pt-32 { padding-top: 128px; }
.mk-pb-16 { padding-bottom: 64px; }

/* Container */
.mk-container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.mk-container-narrow { max-width: 880px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.mk-max-w-640 { max-width: 640px; }
.mk-max-w-720 { max-width: 720px; }

/* Position */
.mk-relative { position: relative; }
.mk-absolute { position: absolute; }
.mk-fixed { position: fixed; }
.mk-top-0 { top: 0; }
.mk-inset-x-0 { left: 0; right: 0; }
.mk-z-50 { z-index: 50; }

/* Typography */
.mk-font-mono { font-family: var(--mk-font-mono); }
.mk-font-sans { font-family: var(--mk-font-sans); }
.mk-font-medium { font-weight: 500; }
.mk-font-semibold { font-weight: 600; }
.mk-font-bold { font-weight: 700; }
.mk-font-extrabold { font-weight: 800; }

.mk-text-xs { font-size: 12px; }
.mk-text-sm { font-size: 13.5px; }
.mk-text-base { font-size: 14.5px; }
.mk-text-md { font-size: 15px; }
.mk-text-lg { font-size: 18px; }
.mk-text-xl { font-size: 20px; }
.mk-text-2xl { font-size: 24px; }
.mk-text-3xl { font-size: 32px; }
.mk-text-44 { font-size: 44px; line-height: 1.05; letter-spacing: -0.025em; }
.mk-text-56 { font-size: 56px; line-height: 1.05; letter-spacing: -0.03em; }

.mk-text-ink-900 { color: var(--mk-ink-900); }
.mk-text-ink-600 { color: var(--mk-ink-600); }
.mk-text-ink-400 { color: var(--mk-ink-400); }
.mk-text-brand { color: var(--mk-brand-600); }
.mk-text-white { color: #fff; }
.mk-text-success { color: var(--mk-success); }

.mk-leading-tight { line-height: 1.2; }
.mk-leading-snug { line-height: 1.4; }
.mk-leading-normal { line-height: 1.5; }
.mk-leading-relaxed { line-height: 1.55; }

/* Backgrounds */
.mk-bg-white { background: #fff; }
.mk-bg-soft { background: var(--mk-soft); }
.mk-bg-bg-sub { background: var(--mk-bg-sub); }
.mk-bg-brand-50 { background: var(--mk-brand-50); }
.mk-bg-brand-600 { background: var(--mk-brand-600); }
.mk-bg-success-bg { background: var(--mk-success-bg); }
.mk-bg-warning-bg { background: var(--mk-warning-bg); }

.mk-bg-brand-600:hover { background: var(--mk-brand-700); }

/* Borders */
.mk-border { border: 1px solid var(--mk-line); }
.mk-border-y { border-top: 1px solid var(--mk-line); border-bottom: 1px solid var(--mk-line); }
.mk-border-t { border-top: 1px solid var(--mk-line); }
.mk-border-b { border-bottom: 1px solid var(--mk-line); }
.mk-border-line { border-color: var(--mk-line); }
.mk-border-line-2 { border-color: var(--mk-line-2); }

.mk-rounded { border-radius: 6px; }
.mk-rounded-md { border-radius: 8px; }
.mk-rounded-lg { border-radius: 10px; }
.mk-rounded-xl { border-radius: 12px; }
.mk-rounded-full { border-radius: 9999px; }

/* Shadows */
.mk-shadow-card { box-shadow: var(--mk-shadow-card); }
.mk-shadow-card-lg { box-shadow: var(--mk-shadow-card-lg); }

/* Transitions */
.mk-transition { transition: all .15s ease; }
.mk-transition-colors { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }

/* ── Forbys lockup (logo) ─────────────────────────────────── */
.fb-bar-ink    { fill: var(--logo-ink); }
.fb-bar-accent { fill: var(--logo-accent); }
.forbys-lockup { display: inline-flex; align-items: center; }
.forbys-lockup .mark { display: block; flex-shrink: 0; }
.forbys-lockup .word {
  font-family: var(--mk-font-sans);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--logo-ink);
  line-height: 1;
  font-size: 18px;
  margin-left: 6px;
}

/* ── Nav (compartido entre todas las páginas marketing) ───── */
#nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 50;
  transition: background-color .2s ease, border-color .2s ease, backdrop-filter .2s ease;
}
.nav-scrolled {
  background: rgba(255,255,255,.72);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--mk-line);
}
#nav nav { height: 72px; display: flex; align-items: center; justify-content: space-between; }
#nav ul { display: flex; align-items: center; gap: 4px; }
#nav ul a {
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--mk-ink-600);
  border-radius: 8px;
  transition: color .15s ease;
}
#nav ul a:hover { color: var(--mk-ink-900); }

/* Botones nav (y reutilizable en cualquier sección) */
.btn-primary {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--mk-brand-600);
  border-radius: 6px;
  border: none;
  transition: background-color .15s ease;
}
.btn-primary:hover { background: var(--mk-brand-700); }

.btn-ghost {
  display: inline-flex; align-items: center;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--mk-ink-600);
  border-radius: 8px;
  transition: color .15s ease;
}
.btn-ghost:hover { color: var(--mk-ink-900); }

.btn-outline {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 18px;
  border: 1px solid var(--mk-line);
  border-radius: 6px;
  background: #fff;
  color: var(--mk-ink-900);
  font-size: 14.5px;
  font-weight: 600;
  transition: border-color .15s ease, background .15s ease;
}
.btn-outline:hover { border-color: var(--mk-ink-900); background: var(--mk-bg-sub); }

/* Hamburger menu button mobile */
.mk-menu-btn {
  display: none;
  padding: 8px;
  border-radius: 8px;
  background: transparent;
  border: none;
  color: var(--mk-ink-600);
}
.mk-menu-btn:hover { color: var(--mk-ink-900); }

/* ── Footer (compartido) ──────────────────────────────────── */
.mk-footer {
  background: var(--mk-bg-sub);
  border-top: 1px solid var(--mk-line);
  padding: 64px 0 32px;
}
.mk-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 56px;
}
.footer-link {
  font-size: 13.5px;
  color: var(--mk-ink-600);
  transition: color .15s ease;
  display: inline-block;
}
.footer-link:hover { color: var(--mk-ink-900); }
.footer-link[aria-disabled="true"] {
  color: var(--mk-ink-400);
  cursor: default;
  pointer-events: none;
}
.footer-col-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--mk-ink-900);
  letter-spacing: 0.02em;
  margin-bottom: 14px;
  text-transform: uppercase;
}
.footer-social {
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 7px;
  color: var(--mk-ink-600);
  border: 1px solid var(--mk-line);
  background: #fff;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.footer-social:hover { color: var(--mk-ink-900); border-color: var(--mk-line-2); }
.mk-footer-bottom {
  padding-top: 24px;
  border-top: 1px solid var(--mk-line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--mk-ink-600);
}
.mk-footer-bottom-links { display: flex; gap: 16px; }

/* ── Hero pattern (dot bg, usado en varias páginas) ────────── */
.mk-hero-bg {
  position: absolute; inset: 0;
  pointer-events: none;
  opacity: .5;
  background-image: radial-gradient(#EDEFF3 1.2px, transparent 1.2px);
  background-size: 28px 28px;
  mask-image: radial-gradient(900px 500px at 50% 60%, #000 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(900px 500px at 50% 60%, #000 30%, transparent 80%);
}

/* ── Pill con dot animado (status, hero badge) ─────────────── */
.mk-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid var(--mk-line);
  background: #fff;
  font-size: 12px;
  color: var(--mk-ink-600);
  font-weight: 500;
}
.mk-pill .dot {
  width: 6px; height: 6px;
  border-radius: 999px;
  background: var(--mk-success);
  position: relative;
}
.mk-pill .dot::after {
  content: '';
  position: absolute; inset: 0;
  border-radius: 999px;
}
@media (prefers-reduced-motion: no-preference) {
  .mk-pill .dot::after { animation: mkPulse 2s ease-out infinite; }
}
@keyframes mkPulse {
  0%   { box-shadow: 0 0 0 0   rgba(5,150,105,.55); }
  70%  { box-shadow: 0 0 0 8px rgba(5,150,105,0); }
  100% { box-shadow: 0 0 0 0   rgba(5,150,105,0); }
}

/* ── Fade-in animation (.mk-fade .mk-d-0..3) ──────────────── */
.mk-fade { opacity: 0; transform: translateY(12px); animation: mkFade .55s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes mkFade { to { opacity: 1; transform: none; } }
.mk-d-0 { animation-delay: 60ms; }
.mk-d-1 { animation-delay: 180ms; }
.mk-d-2 { animation-delay: 280ms; }
.mk-d-3 { animation-delay: 360ms; }
@media (prefers-reduced-motion: reduce) {
  .mk-fade { opacity: 1; transform: none; animation: none; }
}

/* ════════════════ PÁGINA CONTACTO (.ct-*) ════════════════ */

/* trust mono line */
.ct-trust { font-family: var(--mk-font-mono); font-size: 12.5px; color: var(--mk-ink-400); }
.ct-trust .bullet {
  width: 3px; height: 3px; border-radius: 999px;
  background: #C9D0DC; display: inline-block;
  vertical-align: middle; margin: 0 10px;
}

/* Channel cards */
.ct-card {
  background: #fff;
  border: 1px solid var(--mk-line);
  border-radius: 10px;
  padding: 32px;
  display: flex; flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  box-shadow: 0 1px 2px rgba(10,14,26,.04);
}
.ct-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--mk-shadow-card-lg);
  border-color: var(--mk-line-2);
}
.ct-icon {
  width: 44px; height: 44px;
  border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
}
.ct-icon-brand { background: var(--mk-brand-50); color: var(--mk-brand-600); }
.ct-icon-success { background: var(--mk-success-bg); color: var(--mk-success); }
.ct-icon-warning { background: var(--mk-warning-bg); color: var(--mk-warning); }
.ct-eyebrow {
  font-family: var(--mk-font-mono);
  font-size: 11px;
  color: var(--mk-ink-400);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 8px;
}
.ct-card-title {
  font-size: 20px; font-weight: 600; color: var(--mk-ink-900);
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}
.ct-card-desc {
  font-size: 14.5px; color: var(--mk-ink-600);
  line-height: 1.55;
  margin-bottom: 22px;
  flex: 1;
}
.ct-card-value {
  font-family: var(--mk-font-mono);
  font-size: 16px;
  font-weight: 500;
  color: var(--mk-ink-900);
  word-break: break-all;
}
.ct-card-meta {
  margin-top: 10px;
  font-family: var(--mk-font-mono);
  font-size: 12px;
  color: var(--mk-success);
  display: inline-flex; align-items: center; gap: 4px;
}
.ct-card-cta {
  margin-top: 16px;
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 14px; font-weight: 600;
  color: var(--mk-brand-600);
  transition: color .15s ease, gap .2s ease;
}
.ct-card-cta:hover { color: var(--mk-brand-700); gap: 8px; }

/* Form */
.ct-form { display: flex; flex-direction: column; gap: 20px; margin-top: 40px; }
.ct-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--mk-ink-900);
  margin-bottom: 6px;
}
.ct-label .req { color: var(--mk-danger); margin-left: 2px; }
.ct-input, .ct-select, .ct-textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid var(--mk-line);
  border-radius: 6px;
  background: #fff;
  font-family: var(--mk-font-sans);
  font-size: 15px;
  color: var(--mk-ink-900);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.ct-input::placeholder, .ct-textarea::placeholder { color: var(--mk-ink-400); }
.ct-input:focus, .ct-select:focus, .ct-textarea:focus {
  outline: none;
  border-color: var(--mk-brand-600);
  box-shadow: 0 0 0 3px var(--mk-brand-50);
}
.ct-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
}
.ct-textarea { resize: vertical; line-height: 1.55; min-height: 132px; }

.ct-check {
  display: flex; align-items: flex-start; gap: 10px;
  cursor: pointer;
}
.ct-check input[type="checkbox"] {
  appearance: none;
  width: 18px; height: 18px;
  border: 1px solid #CBD3DE;
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 2px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
  position: relative;
}
.ct-check input[type="checkbox"]:checked {
  background: var(--mk-brand-600); border-color: var(--mk-brand-600);
}
.ct-check input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px; top: 1.5px;
  width: 5px; height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.ct-check span { font-size: 13.5px; color: var(--mk-ink-600); line-height: 1.5; }
.ct-check a { color: var(--mk-brand-600); text-decoration: underline; text-decoration-color: #CBD3DE; text-underline-offset: 3px; }
.ct-check a:hover { color: var(--mk-brand-700); text-decoration-color: var(--mk-brand-700); }

/* Form status (error solamente; éxito se muestra como card aparte) */
.ct-form-status { font-size: 14px; padding: 12px 14px; border-radius: 6px; }
.ct-form-status.err { background: #FEE2E2; color: var(--mk-danger); border: 1px solid #FECACA; }

/* Card de éxito post-submit (reemplaza al form completo) */
.ct-success-card {
  text-align: center;
  background: #fff;
  border: 1px solid var(--mk-line);
  border-radius: 12px;
  padding: 48px 32px;
  box-shadow: var(--mk-shadow-card);
}
.ct-success-icon {
  display: inline-flex;
  align-items: center; justify-content: center;
  width: 64px; height: 64px;
  border-radius: 999px;
  background: var(--mk-success-bg);
  color: var(--mk-success);
}

/* Office card */
.ct-office {
  background: var(--mk-soft);
  border: 1px solid var(--mk-line);
  border-radius: 10px;
  padding: 32px;
  display: flex; flex-direction: column;
  gap: 20px;
}
.ct-office-block .ct-office-label {
  font-family: var(--mk-font-mono);
  font-size: 11px;
  color: var(--mk-ink-400);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 8px;
}
.ct-office-block .ct-office-value {
  font-size: 15px; color: var(--mk-ink-900); line-height: 1.5;
}
.ct-office-block .ct-office-value strong { font-weight: 500; }
.ct-office-block .ct-office-value.mono {
  font-family: var(--mk-font-mono);
  font-size: 14px;
}
.ct-office-sep { height: 1px; background: var(--mk-line); margin: 0; }

/* checklist */
.ct-checklist { display: flex; flex-direction: column; gap: 12px; }
.ct-checklist li {
  display: flex; align-items: flex-start; gap: 12px;
  font-family: var(--mk-font-mono);
  font-size: 13.5px;
  color: var(--mk-ink-900);
  line-height: 1.55;
}
.ct-check-icon {
  flex-shrink: 0;
  width: 18px; height: 18px;
  margin-top: 1px;
  border-radius: 999px;
  background: var(--mk-success-bg);
  color: var(--mk-success);
  display: inline-flex; align-items: center; justify-content: center;
}

/* Numbered steps */
.ct-steps { display: flex; flex-direction: column; gap: 24px; }
.ct-steps li {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  align-items: flex-start;
}
.ct-step-num {
  width: 36px; height: 36px;
  border-radius: 999px;
  background: var(--mk-brand-50);
  color: var(--mk-brand-600);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--mk-font-mono);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.ct-step-title {
  font-size: 15.5px;
  font-weight: 600;
  color: var(--mk-ink-900);
  line-height: 1.4;
  letter-spacing: -0.005em;
}
.ct-step-desc {
  margin-top: 4px;
  font-size: 14.5px;
  color: var(--mk-ink-600);
  line-height: 1.55;
}

/* Trust card */
.ct-trust-card {
  background: var(--mk-soft);
  border: 1px solid var(--mk-line);
  border-radius: 10px;
  padding: 32px;
  display: flex; flex-direction: column;
  gap: 22px;
}
.ct-trust-block .ct-trust-label {
  font-family: var(--mk-font-mono);
  font-size: 11px;
  color: var(--mk-ink-400);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 10px;
}
.ct-trust-block .ct-trust-value {
  font-size: 15px;
  color: var(--mk-ink-900);
  line-height: 1.5;
}
.ct-trust-block .ct-trust-value .mono {
  font-family: var(--mk-font-mono);
  font-weight: 500;
}
.ct-trust-row {
  display: flex; align-items: baseline; justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid #EDF0F4;
}
.ct-trust-row:last-child { border-bottom: none; }
.ct-trust-key { font-size: 14px; color: var(--mk-ink-600); }
.ct-trust-num {
  font-size: 15px;
  color: var(--mk-ink-900);
  font-variant-numeric: tabular-nums;
}
.ct-trust-sep { height: 1px; background: var(--mk-line); }
.ct-trust-list { display: flex; flex-direction: column; gap: 10px; }
.ct-trust-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13.5px;
  color: var(--mk-ink-900);
  line-height: 1.55;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (min-width: 640px) {
  .mk-sm-inline-flex { display: inline-flex; }
}
@media (min-width: 768px) {
  .mk-md-flex { display: flex; }
  .mk-md-hidden { display: none; }
  .mk-md-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .mk-md-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .mk-menu-btn { display: none; }
}
@media (min-width: 1024px) {
  .mk-lg-px-8 { padding-left: 32px; padding-right: 32px; }
  .mk-lg-text-56 { font-size: 56px; line-height: 1.05; letter-spacing: -0.03em; }
  .mk-lg-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .mk-lg-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .mk-menu-btn { display: inline-flex; }
  #nav ul { display: none; }
  .mk-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .mk-footer-bottom { flex-direction: column; gap: 12px; text-align: center; }

  .ct-input, .ct-textarea, .ct-select {
    font-size: 16px !important; /* prevents iOS Safari zoom */
    min-height: 44px;
  }
  .ct-textarea { min-height: 120px; }
  .ct-form button[type="submit"] { min-height: 48px; }
}
@media (hover: none) {
  .ct-card:hover { transform: none !important; box-shadow: inherit !important; }
}

/* ════════════════════════════════════════════════════════════
   TAILWIND COMPAT UTILITIES
   Replican los nombres de clase de Tailwind que usan los HTML
   originales del diseño. Permite portar el markup casi tal cual.
   Solo cubrimos el subset usado por las 4 páginas marketing.
   ════════════════════════════════════════════════════════════ */

/* Display */
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.block { display: block; }
.inline-block { display: inline-block; }
.hidden { display: none; }

/* Flex / Grid alignment */
.flex-col { flex-direction: column; }
.flex-1 { flex: 1; }
.items-center { align-items: center; }
.items-baseline { align-items: baseline; }
.items-start { align-items: flex-start; }
.items-end { align-items: flex-end; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.justify-start { justify-content: flex-start; }
.flex-shrink-0 { flex-shrink: 0; }

.grid-cols-1 { grid-template-columns: 1fr; }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-12 { grid-template-columns: repeat(12, 1fr); }
.col-span-4 { grid-column: span 4; }
.col-span-7 { grid-column: span 7; }
.col-span-8 { grid-column: span 8; }
.col-span-12 { grid-column: span 12; }

/* Gap */
.gap-1 { gap: 4px; }
.gap-1\.5 { gap: 6px; }
.gap-2 { gap: 8px; }
.gap-3 { gap: 12px; }
.gap-4 { gap: 16px; }
.gap-5 { gap: 20px; }
.gap-6 { gap: 24px; }
.gap-8 { gap: 32px; }
.gap-10 { gap: 40px; }
.gap-12 { gap: 48px; }
.gap-16 { gap: 64px; }

/* Position */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.sticky { position: sticky; }
.top-0 { top: 0; }
.left-0 { left: 0; }
.right-0 { right: 0; }
.inset-x-0 { left: 0; right: 0; }
.inset-0 { inset: 0; }
.z-50 { z-index: 50; }

/* Width / Height */
.w-full { width: 100%; }
.h-full { height: 100%; }
.h-\[72px\] { height: 72px; }
.h-px { height: 1px; }
.max-w-\[1200px\] { max-width: 1200px; }
.max-w-\[860px\]  { max-width: 860px; }
.max-w-\[720px\]  { max-width: 720px; }
.max-w-\[640px\]  { max-width: 640px; }
.max-w-\[560px\]  { max-width: 560px; }
.mx-auto { margin-left: auto; margin-right: auto; }

/* Padding */
.p-3 { padding: 12px; }
.p-4 { padding: 16px; }
.p-6 { padding: 24px; }
.p-8 { padding: 32px; }
.px-2 { padding-left: 8px; padding-right: 8px; }
.px-3 { padding-left: 12px; padding-right: 12px; }
.px-4 { padding-left: 16px; padding-right: 16px; }
.px-6 { padding-left: 24px; padding-right: 24px; }
.px-8 { padding-left: 32px; padding-right: 32px; }
.py-2 { padding-top: 8px; padding-bottom: 8px; }
.py-3 { padding-top: 12px; padding-bottom: 12px; }
.py-4 { padding-top: 16px; padding-bottom: 16px; }
.py-8 { padding-top: 32px; padding-bottom: 32px; }
.py-10 { padding-top: 40px; padding-bottom: 40px; }
.py-\[64px\] { padding-top: 64px; padding-bottom: 64px; }
.py-\[80px\] { padding-top: 80px; padding-bottom: 80px; }
.pt-2 { padding-top: 8px; }
.pt-4 { padding-top: 16px; }
.pt-\[120px\] { padding-top: 120px; }
.pb-\[64px\] { padding-bottom: 64px; }
.pb-8 { padding-bottom: 32px; }
.pb-16 { padding-bottom: 64px; }

/* Margin */
.mt-1 { margin-top: 4px; }
.mt-2 { margin-top: 8px; }
.mt-3 { margin-top: 12px; }
.mt-4 { margin-top: 16px; }
.mt-5 { margin-top: 20px; }
.mt-6 { margin-top: 24px; }
.mt-7 { margin-top: 28px; }
.mt-8 { margin-top: 32px; }
.mt-10 { margin-top: 40px; }
.mt-12 { margin-top: 48px; }
.mt-14 { margin-top: 56px; }
.mt-16 { margin-top: 64px; }
.mt-20 { margin-top: 80px; }
.mb-1 { margin-bottom: 4px; }
.mb-2 { margin-bottom: 8px; }
.mb-3 { margin-bottom: 12px; }
.mb-4 { margin-bottom: 16px; }
.mb-6 { margin-bottom: 24px; }
.mb-8 { margin-bottom: 32px; }
.mb-10 { margin-bottom: 40px; }
.mb-12 { margin-bottom: 48px; }
.ml-2 { margin-left: 8px; }

/* Space between (siblings) */
.space-y-2\.5 > * + * { margin-top: 10px; }
.space-y-3 > * + * { margin-top: 12px; }
.space-y-4 > * + * { margin-top: 16px; }
.space-y-5 > * + * { margin-top: 20px; }
.space-y-6 > * + * { margin-top: 24px; }

/* Typography */
.font-sans { font-family: var(--mk-font-sans); }
.font-mono { font-family: var(--mk-font-mono); }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }

.text-\[11px\] { font-size: 11px; }
.text-\[12px\] { font-size: 12px; }
.text-\[12\.5px\] { font-size: 12.5px; }
.text-\[13px\] { font-size: 13px; }
.text-\[13\.5px\] { font-size: 13.5px; }
.text-\[14px\] { font-size: 14px; }
.text-\[14\.5px\] { font-size: 14.5px; }
.text-\[15px\] { font-size: 15px; }
.text-\[16px\] { font-size: 16px; }
.text-\[17px\] { font-size: 17px; }
.text-\[18px\] { font-size: 18px; }
.text-\[20px\] { font-size: 20px; }
.text-\[24px\] { font-size: 24px; }
.text-\[28px\] { font-size: 28px; }
.text-\[32px\] { font-size: 32px; line-height: 1.1; letter-spacing: -0.02em; }
.text-\[44px\] { font-size: 44px; line-height: 1.05; letter-spacing: -0.025em; }
.text-\[56px\] { font-size: 56px; line-height: 1.05; letter-spacing: -0.03em; }

.tracking-\[-0\.005em\] { letter-spacing: -0.005em; }
.tracking-\[-0\.01em\]  { letter-spacing: -0.01em; }
.tracking-\[-0\.02em\]  { letter-spacing: -0.02em; }
.tracking-\[-0\.025em\] { letter-spacing: -0.025em; }
.tracking-\[-0\.03em\]  { letter-spacing: -0.03em; }

.leading-\[1\.05\] { line-height: 1.05; }
.leading-\[1\.4\]  { line-height: 1.4; }
.leading-\[1\.5\]  { line-height: 1.5; }
.leading-\[1\.55\] { line-height: 1.55; }
.leading-\[1\.6\]  { line-height: 1.6; }
.leading-tight { line-height: 1.2; }

.text-ink-900 { color: var(--mk-ink-900); }
.text-ink-600 { color: var(--mk-ink-600); }
.text-ink-400 { color: var(--mk-ink-400); }
.text-white { color: #fff; }
.text-brand-600 { color: var(--mk-brand-600); }
.text-brand-700 { color: var(--mk-brand-700); }
.text-success { color: var(--mk-success); }
.text-warning { color: var(--mk-warning); }

/* Backgrounds */
.bg-white { background: #fff; }
.bg-soft { background: var(--mk-soft); }
.bg-brand-50 { background: var(--mk-brand-50); }
.bg-brand-600 { background: var(--mk-brand-600); color: #fff; }
.bg-brand-700 { background: var(--mk-brand-700); }

/* Borders */
.border { border: 1px solid var(--mk-line); }
.border-t { border-top: 1px solid var(--mk-line); }
.border-b { border-bottom: 1px solid var(--mk-line); }
.border-y { border-top: 1px solid var(--mk-line); border-bottom: 1px solid var(--mk-line); }
.border-line { border-color: var(--mk-line); }

.rounded     { border-radius: 6px; }
.rounded-md  { border-radius: 8px; }
.rounded-lg  { border-radius: 10px; }
.rounded-xl  { border-radius: 12px; }
.rounded-full { border-radius: 9999px; }

/* Shadow */
.shadow-card    { box-shadow: var(--mk-shadow-card); }
.shadow-card-lg { box-shadow: var(--mk-shadow-card-lg); }

/* Transitions */
.transition-colors { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }
.duration-200 { transition-duration: 200ms; }

/* Hover utility (limited subset) */
.hover\:text-ink-900:hover { color: var(--mk-ink-900); }
.hover\:bg-brand-700:hover { background: var(--mk-brand-700); }

/* ════════════════════════════════════════════════════════════
   LANDING-SPECIFIC UTILITIES (96 clases extra usadas solo por Landing)
   ════════════════════════════════════════════════════════════ */

/* Backgrounds */
.bg-success { background: var(--mk-success); color: #fff; }
.bg-warning { background: var(--mk-warning); color: #fff; }

/* Spacing — gap, padding, margin */
.gap-7 { gap: 28px; }
.h-1\.5 { height: 6px; }
.w-1\.5 { width: 6px; }
.mb-16 { margin-bottom: 64px; }
.mt-9 { margin-top: 36px; }
.p-5 { padding: 20px; }
.pt-8 { padding-top: 32px; }
.pt-\[80px\] { padding-top: 80px; }
.pt-\[100px\] { padding-top: 100px; }
.pb-\[24px\] { padding-bottom: 24px; }
.pb-\[80px\] { padding-bottom: 80px; }
.pb-\[160px\] { padding-bottom: 160px; }
.px-2\.5 { padding-left: 10px; padding-right: 10px; }
.px-5 { padding-left: 20px; padding-right: 20px; }
.py-1 { padding-top: 4px; padding-bottom: 4px; }
.py-1\.5 { padding-top: 6px; padding-bottom: 6px; }
.py-3\.5 { padding-top: 14px; padding-bottom: 14px; }
.py-14 { padding-top: 56px; padding-bottom: 56px; }
.py-\[100px\] { padding-top: 100px; padding-bottom: 100px; }

/* Layout / Position */
.col-span-5 { grid-column: span 5; }
.flex-wrap { flex-wrap: wrap; }
.overflow-hidden { overflow: hidden; }
.min-h-\[85vh\] { min-height: 85vh; }

/* Max widths */
.max-w-\[1280px\] { max-width: 1280px; }
.max-w-\[1320px\] { max-width: 1320px; }
.max-w-\[280px\]  { max-width: 280px; }
.max-w-\[500px\]  { max-width: 500px; }
.max-w-\[680px\]  { max-width: 680px; }
.max-w-\[760px\]  { max-width: 760px; }
.max-w-\[820px\]  { max-width: 820px; }

/* Typography */
.text-\[15\.5px\] { font-size: 15.5px; }
.text-\[22px\]    { font-size: 22px; }
.text-center      { text-align: center; }
.tracking-\[0\.08em\] { letter-spacing: 0.08em; }
.tracking-tight   { letter-spacing: -0.015em; }
.uppercase        { text-transform: uppercase; }
.leading-\[1\.04\] { line-height: 1.04; }
.leading-\[1\.1\]  { line-height: 1.1; }

/* Decoration */
.underline { text-decoration: underline; }
.decoration-1 { text-decoration-thickness: 1px; }
.decoration-line { text-decoration-line: underline; }
.underline-offset-\[3px\] { text-underline-offset: 3px; }

/* Hover states */
.hover\:bg-soft:hover { background: var(--mk-soft); }
.hover\:border-ink-900:hover { border-color: var(--mk-ink-900); }
.hover\:decoration-ink-900:hover { text-decoration-color: var(--mk-ink-900); }
.hover\:text-brand-600:hover { color: var(--mk-brand-600); }
.hover\:text-brand-700:hover { color: var(--mk-brand-700); }

/* cf-dl-* extras (algunos no estaban en el inline style del Landing) */
.cf-dl-pct  { font-family: var(--mk-font-mono); font-size: 11.5px; color: var(--mk-ink-600); font-variant-numeric: tabular-nums; }
.cf-dl-size { font-family: var(--mk-font-mono); font-size: 11px; color: var(--mk-ink-400); }

/* Responsive: sm (>=640px) */
@media (min-width: 640px) {
  .sm\:inline-flex { display: inline-flex; }
  .sm\:flex-row { flex-direction: row; }
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .sm\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
  .sm\:items-center { align-items: center; }
  .sm\:text-\[34px\] { font-size: 34px; }
  .sm\:text-\[36px\] { font-size: 36px; }
  .sm\:text-\[42px\] { font-size: 42px; line-height: 1.05; letter-spacing: -0.025em; }
  .sm\:text-\[56px\] { font-size: 56px; line-height: 1.05; letter-spacing: -0.03em; }
  .sm\:whitespace-nowrap { white-space: nowrap; }
}
/* Responsive: md (>=768px) */
@media (min-width: 768px) {
  .md\:flex { display: flex; }
  .md\:hidden { display: none; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .md\:col-span-4 { grid-column: span 4; }
  .md\:col-span-8 { grid-column: span 8; }
}
/* Responsive: lg (>=1024px) */
@media (min-width: 1024px) {
  .lg\:px-8 { padding-left: 32px; padding-right: 32px; }
  .lg\:text-\[17px\] { font-size: 17px; }
  .lg\:text-\[20px\] { font-size: 20px; }
  .lg\:text-\[26px\] { font-size: 26px; }
  .lg\:text-\[40px\] { font-size: 40px; line-height: 1.08; letter-spacing: -0.025em; }
  .lg\:text-\[44px\] { font-size: 44px; line-height: 1.05; letter-spacing: -0.025em; }
  .lg\:text-\[48px\] { font-size: 48px; line-height: 1.05; letter-spacing: -0.025em; }
  .lg\:text-\[52px\] { font-size: 52px; line-height: 1.08; letter-spacing: -0.025em; }
  .lg\:text-\[56px\] { font-size: 56px; line-height: 1.05; letter-spacing: -0.03em; }
  .lg\:text-\[68px\] { font-size: 68px; line-height: 1.02; letter-spacing: -0.03em; }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
  .lg\:grid-cols-12 { grid-template-columns: repeat(12, 1fr); }
  .lg\:col-span-3 { grid-column: span 3; }
  .lg\:col-span-4 { grid-column: span 4; }
  .lg\:col-span-6 { grid-column: span 6; }
  .lg\:col-span-7 { grid-column: span 7; }
  .lg\:col-span-8 { grid-column: span 8; }
  .lg\:col-span-9 { grid-column: span 9; }
  .lg\:hidden { display: none; }
  .lg\:block { display: block; }
  .lg\:absolute { position: absolute; }
  .lg\:right-0 { right: 0; }
  .lg\:top-\[260px\] { top: 260px; }
  .lg\:w-\[340px\] { width: 340px; }
  .lg\:ml-auto { margin-left: auto; }
  .lg\:mr-0 { margin-right: 0; }
  .lg\:mr-\[240px\] { margin-right: 240px; }
  .lg\:mt-0 { margin-top: 0; }
  .lg\:mt-20 { margin-top: 80px; }
  .lg\:mb-12 { margin-bottom: 48px; }
  .lg\:mb-14 { margin-bottom: 56px; }
  .lg\:mb-16 { margin-bottom: 64px; }
  .lg\:gap-6 { gap: 24px; }
  .lg\:gap-8 { gap: 32px; }
  .lg\:gap-12 { gap: 48px; }
  .lg\:gap-16 { gap: 64px; }
  .lg\:pb-20 { padding-bottom: 80px; }
  .lg\:pb-\[48px\] { padding-bottom: 48px; }
  .lg\:pt-\[112px\] { padding-top: 112px; }
  .lg\:pt-\[120px\] { padding-top: 120px; }
  .lg\:py-20 { padding-top: 80px; padding-bottom: 80px; }
  .lg\:py-\[100px\] { padding-top: 100px; padding-bottom: 100px; }
  .lg\:py-\[120px\] { padding-top: 120px; padding-bottom: 120px; }
  .lg\:py-\[140px\] { padding-top: 140px; padding-bottom: 140px; }
}

/* Responsive: xl (>=1280px) */
@media (min-width: 1280px) {
  .xl\:gap-16 { gap: 64px; }
}

/* Utilidades extras para páginas Privacidad / Términos */
.pb-\[48px\] { padding-bottom: 48px; }
.pb-\[120px\] { padding-bottom: 120px; }
.text-\[40px\] { font-size: 40px; line-height: 1.08; letter-spacing: -0.025em; }
.leading-\[1\.08\] { line-height: 1.08; }
.tracking-wide { letter-spacing: 0.025em; }
.my-12 { margin-top: 48px; margin-bottom: 48px; }
.mb-10 { margin-bottom: 40px; }
.mt-14 { margin-top: 56px; }

/* ════════════════ PÁGINAS LEGALES (.priv-* / .tm-*) ════════════════ */

/* Table of contents (TOC) */
.toc-link {
  display: block;
  padding: 7px 12px;
  font-family: var(--mk-font-mono);
  font-size: 12px;
  color: var(--mk-ink-400);
  border-left: 2px solid transparent;
  text-decoration: none;
  line-height: 1.35;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.toc-link:hover { color: var(--mk-ink-600); }
.toc-link.is-active {
  color: var(--mk-ink-900);
  border-left-color: var(--mk-brand-600);
  background: rgba(37,99,235,.03);
}
.toc-link-num { color: var(--mk-ink-400); display: inline-block; min-width: 22px; }
.toc-link.is-active .toc-link-num { color: var(--mk-brand-600); }

/* TOC sticky en sidebar */
.priv-toc-sticky {
  position: sticky;
  top: 96px;
  padding-top: 8px;
}
.priv-toc-title {
  font-family: var(--mk-font-mono);
  font-size: 11px;
  color: var(--mk-ink-400);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  padding: 0 12px 12px;
}

/* Mobile TOC (<details>) */
.mobile-toc summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 16px;
  border: 1px solid var(--mk-line);
  border-radius: 8px;
  background: #fff;
  font-family: var(--mk-font-mono);
  font-size: 12px;
  color: var(--mk-ink-600);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: flex; align-items: center; justify-content: space-between;
}
.mobile-toc summary::-webkit-details-marker { display: none; }
.mobile-toc summary::after {
  content: '';
  width: 9px; height: 9px;
  border-right: 1.5px solid var(--mk-ink-400);
  border-bottom: 1.5px solid var(--mk-ink-400);
  transform: rotate(45deg);
  transition: transform .2s ease;
}
.mobile-toc[open] summary::after { transform: rotate(-135deg); }
.mobile-toc nav {
  margin-top: 6px;
  padding: 8px 8px 12px;
  border: 1px solid var(--mk-line);
  border-radius: 8px;
  background: #fff;
}

/* Secciones del cuerpo legal */
.priv-section { scroll-margin-top: 96px; }
.priv-eyebrow {
  font-family: var(--mk-font-mono);
  font-size: 12px;
  color: var(--mk-ink-400);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 10px;
}
.priv-eyebrow .num { color: var(--mk-brand-600); font-weight: 600; }
.priv-h2 {
  font-size: 24px;
  font-weight: 600;
  color: var(--mk-ink-900);
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin-bottom: 18px;
}
.priv-body p,
.priv-body li {
  font-size: 16px;
  line-height: 1.7;
  color: var(--mk-ink-600);
}
.priv-body p + p { margin-top: 14px; }
.priv-body ul { margin-top: 14px; padding-left: 0; }
.priv-body ul li { padding-left: 20px; position: relative; margin-bottom: 8px; }
.priv-body ul li::before {
  content: '';
  position: absolute; left: 4px; top: 11px;
  width: 5px; height: 5px;
  border-radius: 999px;
  background: #CBD3DE;
}
.priv-body strong { color: var(--mk-ink-900); font-weight: 600; }
.priv-body a {
  color: var(--mk-brand-600);
  text-decoration: underline;
  text-decoration-color: #CBD3DE;
  text-underline-offset: 3px;
  font-weight: 500;
}
.priv-body a:hover { color: var(--mk-brand-700); text-decoration-color: var(--mk-brand-700); }
.priv-body code,
.priv-body .mono {
  font-family: var(--mk-font-mono);
  font-size: 14.5px;
  color: var(--mk-ink-900);
}

.priv-placeholder {
  display: inline-block;
  padding: 0 5px;
  border-radius: 4px;
  background: rgba(217,119,6,.10);
  color: #92400E;
  font-family: var(--mk-font-mono);
  font-size: 13px;
  border: 1px dashed rgba(217,119,6,.30);
}

.priv-meta-grid {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 10px 18px;
  margin-top: 18px;
  font-family: var(--mk-font-mono);
  font-size: 14px;
  color: var(--mk-ink-900);
}
.priv-meta-grid dt {
  color: var(--mk-ink-400);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.06em;
  padding-top: 4px;
}
.priv-meta-grid dd { color: var(--mk-ink-900); line-height: 1.5; margin: 0; }
@media (max-width: 600px) {
  .priv-meta-grid { grid-template-columns: 1fr; gap: 4px 0; }
  .priv-meta-grid dd { margin-bottom: 12px; }
}

/* Hero pill (Privacidad / Términos) */
.priv-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid var(--mk-line);
  background: #fff;
  font-family: var(--mk-font-mono);
  font-size: 11px;
  color: var(--mk-ink-600);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.priv-pill .dot { width: 5px; height: 5px; border-radius: 999px; background: var(--mk-brand-600); }

/* Bloque "constitución societaria futura" + similares */
.priv-soc-future {
  margin-top: 24px;
  border-left: 3px solid var(--mk-brand-600);
  background: rgba(239,244,255,.65);
  padding: 18px 22px;
  border-radius: 0 8px 8px 0;
}
.priv-soc-future-label {
  display: inline-block;
  font-family: var(--mk-font-mono);
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mk-brand-700);
  margin-bottom: 6px;
}

/* Closing note */
.priv-closing {
  background: var(--mk-soft);
  border: 1px solid var(--mk-line);
  border-radius: 10px;
  padding: 24px;
  font-family: var(--mk-font-mono);
  font-size: 13px;
  color: var(--mk-ink-600);
  line-height: 1.65;
}
.priv-closing strong { color: var(--mk-ink-900); font-weight: 600; }
.priv-closing a { color: var(--mk-brand-600); }
.priv-closing a:hover { color: var(--mk-brand-700); }

/* No animation needed — content visible by default */
.priv-fade { opacity: 1; transform: none; }

/* Términos: cláusula destacada "Tus datos son tuyos" (sec 08) */
.priv-highlight {
  border-left: 4px solid var(--mk-brand-600);
  background: rgba(239,244,255,.55);
  border-radius: 0 10px 10px 0;
  padding: 28px 32px;
  margin: 4px 0;
}
.priv-highlight .priv-eyebrow,
.priv-highlight .priv-eyebrow .num { color: var(--mk-brand-600); }
.priv-highlight .pin-label {
  display: inline-flex; align-items: center; gap: 6px;
  margin-bottom: 14px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--mk-brand-600);
  color: #fff;
  font-family: var(--mk-font-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.priv-highlight .pin-label .pin-dot {
  width: 5px; height: 5px;
  border-radius: 999px;
  background: #fff;
}
.priv-highlight ul li::before { background: var(--mk-brand-600); }

/* Términos: lista de definiciones (sec 03) */
.priv-defs {
  margin-top: 18px;
  border: 1px solid var(--mk-line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.priv-defs dt {
  padding: 12px 16px 4px;
  font-family: var(--mk-font-mono);
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mk-brand-600);
  font-weight: 500;
}
.priv-defs dd {
  padding: 0 16px 14px;
  margin: 0;
  border-bottom: 1px solid #F1F3F6;
  font-size: 15px;
  color: var(--mk-ink-600);
  line-height: 1.6;
}
.priv-defs dd:last-child { border-bottom: none; }

/* Mobile polish para legal */
.priv-body, .priv-body p, .priv-body li, .priv-body h2, .priv-body h3,
.priv-body dd, .priv-body dt {
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}
.priv-body a[href^="mailto:"], .priv-body a[href^="http"] {
  word-break: break-word;
  overflow-wrap: anywhere;
}
.nobreak, .priv-body .mono { white-space: nowrap; }
@media (max-width: 767px) {
  .priv-body { padding-left: 4px; padding-right: 4px; }
  .priv-body p, .priv-body li { font-size: 15.5px; }
}
