/* =====================================================================
   Refuerzo PRO: hoja de estilos única del sitio. Sin framework.
   Blanco y cielo #F3F7FB, azul marino #0F2540, azul #1A5FD0 para lo que
   hace el agente, verde #25D366 para la acción principal. Bricolage
   Grotesque en titulares y Figtree en todo lo demás.

   Orden: tokens, base, utilidades, sistema de páginas (.aco-*) y landing.

   Las páginas interiores conservan sus clases .aco-* y varios nombres de
   token heredados (--verde es el azul marino, --terracota es el verde de
   la acción): su CSS propio y sus JS los consumen. Se recolorea el token,
   no se renombra.
   ===================================================================== */

/* ---------- Tokens ---------- */
:root {
  --tinta: #0F2540;
  --tinta-2: #44566C;
  --tinta-3: #44566C;
  --papel: #FFFFFF;
  --banda: #F3F7FB;
  --filete: #E3EAF1;
  --filete-control: #7A8896;
  --verde: #0F2540;
  --verde-hov: #1A3A5F;
  --verde-tinte: #E8F0FB;
  --terracota: #25D366;
  --terracota-hov: #20C25C;
  --sobre-primario: #06291C;
  --marcador: #DCE8FB;
  --marcador-corte: 68%;
  --agente: #1A5FD0;
  --agente-hov: #154FB0;
  --agente-claro: #BFD6FF;
  --agente-medio: #3F7FE0;
  --sobre-verde: #D5DFEB;
  --sobre-tinta: #D5DFEB;
  --sobre-tinta-2: #B9C7D6;
  --ritmo: clamp(72px, 9vw, 128px);
  --aco-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");

  /* Nombres heredados que consumen chat, burbuja, agenda y calculadora */
  --lime-500: var(--verde);
  --lime-400: var(--verde-hov);
  --lime-600: var(--verde-hov);
  --lime-700: var(--verde);
  --lime-glow: rgba(15, 37, 64, .18);
  --lime-tint: var(--verde-tinte);
  --lime-tint-strong: rgba(15, 37, 64, .14);
  --navy-950: var(--tinta);
  --navy-900: var(--papel);
  --navy-850: var(--papel);
  --navy-800: var(--banda);
  --navy-700: var(--filete);
  --navy-600: var(--filete-control);
  --fg-1: var(--tinta);
  --fg-2: var(--tinta-2);
  --fg-3: var(--tinta-3);
  --fg-4: var(--tinta-3);
  --surface-page: var(--papel);
  --surface-sunken: var(--banda);
  --surface-card: var(--papel);
  --surface-card-hover: var(--papel);
  --surface-raised: var(--papel);
  --surface-input: var(--papel);
  --text-display: var(--tinta);
  --text-body: var(--tinta-2);
  --text-muted: var(--tinta-3);
  --text-faint: var(--tinta-3);
  --text-on-lime: var(--papel);
  --border-subtle: var(--filete);
  --border-strong: var(--filete-control);
  --border-lime: var(--verde);
  --success: #0E7A45; --success-tint: #E9F7EF;
  --warning: #8A5A00; --warning-tint: #FBF3E4;
  --danger: #B3261E; --danger-tint: #FBEEEC;
  --info: #14556E; --info-tint: #EDF5F8;
  --grad-page: var(--papel);
  --grad-hero: var(--papel);
  --grad-lime: linear-gradient(0deg, #0F2540 0%, #0F2540 100%);
  --grad-glow: none;

  --font-display: 'Bricolage Grotesque', system-ui, sans-serif;
  --font-body: 'Figtree', system-ui, sans-serif;
  --font-mono: 'Figtree', system-ui, sans-serif;
  --tracking-display: -0.03em;
  --tracking-caps: 0;

  --radius-xs: 8px; --radius-sm: 12px; --radius-md: 16px; --radius-lg: 22px; --radius-pill: 999px;
  --radio-panel: 28px 28px 28px 8px;
  --shadow-card: 0 30px 60px -36px rgba(15, 37, 64, .38), 0 1px 2px rgba(15, 37, 64, .06);
  --shadow-raised: var(--shadow-card);
  --shadow-cta: 0 16px 30px -16px rgba(14, 122, 69, .7);
  --blur-glass: blur(8px);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --dur-fast: 140ms; --dur-med: 240ms;
  --focus-ring: 0 0 0 2px var(--papel), 0 0 0 5px var(--agente);

  --iti-dropdown-bg: var(--papel);
  --iti-border-color: var(--filete-control);
  --iti-hover-color: var(--banda);
  --iti-dialcode-color: var(--tinta-3);
  --iti-arrow-color: var(--tinta-2);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta-2);
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
[hidden] { display: none !important; }
img, svg { vertical-align: middle; }
img { max-width: 100%; }
p { margin: 0 0 1rem; }
ul, ol { margin: 0 0 1rem; padding-left: 1.4rem; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: var(--tinta); text-underline-offset: 3px; transition: color var(--dur-fast) var(--ease-out); }
a:hover { color: var(--agente); }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
  margin: 0 0 .5rem;
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--tinta);
  letter-spacing: var(--tracking-display);
  line-height: 1.08;
  text-wrap: balance;
}
h1 { font-size: clamp(38px, 5vw, 64px); }
h2 { font-size: clamp(30px, 4vw, 52px); }
h3 { font-size: 21px; line-height: 1.2; letter-spacing: -0.02em; }
h4, h5, .h4, .h5 { font-size: 19px; line-height: 1.3; letter-spacing: -0.01em; font-weight: 700; }
::selection { background: var(--tinta); color: #fff; }
input { caret-color: var(--agente); }
:focus-visible { outline: 3px solid var(--agente); outline-offset: 3px; }

/* ---------- Utilidades que usa el marcado ---------- */
.container { width: 100%; max-width: 1140px; margin-inline: auto; padding-inline: 24px; }
.row { display: flex; flex-wrap: wrap; margin-inline: -12px; }
.row > * { width: 100%; max-width: 100%; padding-inline: 12px; }
.g-3 { row-gap: 1rem; }
@media (min-width: 768px) {
  .col-md-5 { width: 41.667%; }
  .col-md-7 { width: 58.333%; }
}
@media (min-width: 992px) {
  .col-lg-7 { width: 58.333%; }
  .col-lg-8 { width: 66.667%; }
  .pt-lg-5 { padding-top: 3rem; }
  .px-lg-4 { padding-inline: 1.5rem; }
}
.d-none { display: none !important; }
.d-flex { display: flex; }
.flex-column { flex-direction: column; }
.flex-grow-1 { flex-grow: 1; }
.justify-content-between { justify-content: space-between; }
.justify-content-center { justify-content: center; }
.align-items-center { align-items: center; }
.align-items-stretch { align-items: stretch; }
.position-relative { position: relative; }
.w-100 { width: 100%; }
.h-100 { height: 100%; }
.min-vh-100 { min-height: 100vh; }
.mb-0 { margin-bottom: 0; }
.mb-2 { margin-bottom: .5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }
.pb-5 { padding-bottom: 3rem; }
.pt-4 { padding-top: 1.5rem; }
.px-5 { padding-inline: 3rem; }
.text-center { text-align: center; }
.text-start { text-align: left; }
.text-muted { color: var(--tinta-3); }
.text-dark { color: var(--tinta); }
.small, small { font-size: .875em; }
.fs-5 { font-size: 1.25rem; }
.fw-bold { font-weight: 700; }
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.display-1 { font-family: var(--font-display); font-size: clamp(72px, 12vw, 120px); font-weight: 800; line-height: 1; color: var(--tinta); }

/* ---------- Marca y contenedor ---------- */
.lockup { display: inline-flex; align-items: center; text-decoration: none; }
.lockup img { display: block; width: auto; height: 48px; flex: none; }
.lockup-sm img { height: 30px; }
.lockup-cabecera img { height: 32px; }
.aco-wrap { max-width: 1140px; margin-inline: auto; padding-inline: 24px; }
.aco-cabecera { background: var(--papel); box-shadow: 0 1px 0 var(--filete); }
.aco-cabecera-fila { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.aco-scroll { scrollbar-width: thin; scrollbar-color: #B9C7D6 transparent; }
@media (max-width: 575.98px) {
  .aco-wrap, .container { padding-inline: 20px; }
  .lockup-cabecera img { height: 28px; }
}

/* ---------- Texto y composición ---------- */
.aco-eyebrow { margin-bottom: 14px; font-size: 16px; font-weight: 700; color: var(--agente); }
.aco-antetitulo { max-width: 36em; margin-inline: auto; font-size: 16px; font-weight: 500; line-height: 1.5; color: var(--tinta-3); }
.aco-texto { max-width: 68ch; }
.aco-sec { padding: var(--ritmo) 0; }
.aco-alt { background: var(--banda); }
.aco-lead { max-width: 34em; color: var(--tinta-2); font-size: clamp(18px, 1.6vw, 21px); line-height: 1.45; }
.aco-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5.5vw, 72px); align-items: start; }
.aco-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.aco-acento { color: var(--agente); }
.aco-remate { margin: 36px 0 0; max-width: 56ch; font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; line-height: 1.22; letter-spacing: -0.02em; color: var(--tinta); }
.aco-sello { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--tinta); }
.aco-sello::before { content: ''; flex: none; width: 18px; height: 18px; background: var(--agente); -webkit-mask: var(--aco-check) center / contain no-repeat; mask: var(--aco-check) center / contain no-repeat; }
.aco-rule { display: block; width: 40px; height: 4px; margin-bottom: 20px; border-radius: 2px; background: var(--agente); }
.aco-profundo { background: var(--tinta); color: #fff; }
.aco-profundo h1, .aco-profundo h2, .aco-profundo h3 { color: #fff; }
.aco-profundo .aco-lead, .aco-profundo .aco-eyebrow { color: var(--sobre-verde); }
.aco-cierre { text-align: center; }
.aco-cierre h2 { max-width: 22ch; margin: 0 auto 24px; }
.aco-cierre .aco-lead { margin: 0 auto 34px; }
.aco-cierre .aco-btn-sec { background: var(--terracota); box-shadow: none; color: var(--sobre-primario); font-size: 18px; min-height: 60px; padding: 0 30px; }
.aco-cierre .aco-btn-sec:hover, .aco-cierre .aco-btn-sec:focus-visible { background: var(--terracota-hov); color: var(--sobre-primario); box-shadow: none; }
.aco-cierre-micro { margin-top: 22px; font-size: 15px; color: var(--sobre-verde); }
@media (max-width: 899.98px) {
  .aco-grid-3, .aco-grid-2 { grid-template-columns: 1fr; gap: 18px; }
  .aco-grid-2 { gap: 30px; }
}

/* ---------- Tarjetas y paneles de página interior ---------- */
div.bg-secondary.position-relative { background: var(--banda); padding-top: 40px; color: var(--tinta-2); }
section.bg-secondary { background: var(--banda); color: var(--tinta-2); }
.card { background: var(--papel); border-radius: var(--radio-panel); box-shadow: var(--shadow-card); color: var(--tinta-2); }
.card-body { padding: 1.5rem; }
div.bg-secondary.position-relative .card h1 { font-size: clamp(30px, 3.6vw, 42px); }
div.bg-secondary.position-relative .card h2 { margin-top: 1.6rem; font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; }
div.bg-secondary.position-relative .card h3 { margin-top: 1.2rem; font-size: 19px; font-weight: 700; }
.aco-card { padding: clamp(22px, 2.4vw, 32px); background: var(--papel); border-radius: var(--radio-panel); box-shadow: var(--shadow-card); }
.aco-alt .aco-card { background: var(--papel); }
.aco-card p { margin: 10px 0 0; font-size: 16px; color: var(--tinta-2); }

/* ---------- Botones ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 22px; border: 0; border-radius: var(--radius-pill); font-weight: 700; text-decoration: none; cursor: pointer; }
.btn-lg { min-height: 58px; font-size: 18px; }
.btn-primary { background: var(--tinta); color: #fff; }
.btn-primary:hover { background: var(--verde-hov); color: #fff; }
.btn-cta {
  min-height: 60px; padding: 0 28px;
  background: var(--terracota); color: var(--sobre-primario);
  font-family: var(--font-body); font-size: 18px; font-weight: 700; line-height: 1.15;
  box-shadow: var(--shadow-cta);
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out), background-color .25s;
}
.btn-cta:hover, .btn-cta:focus-visible { transform: translateY(-2px); background: var(--terracota-hov); color: var(--sobre-primario); box-shadow: 0 22px 38px -16px rgba(14, 122, 69, .8); }
.btn-cta:disabled { opacity: .7; cursor: default; transform: none; }
.aco-btn-sec {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 20px; border: 0; border-radius: var(--radius-pill);
  background: var(--papel); box-shadow: inset 0 0 0 2px #C9D6E3; color: var(--tinta);
  font-size: 16px; font-weight: 600; line-height: 1.15; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: box-shadow var(--dur-fast), background-color var(--dur-fast), color var(--dur-fast);
}
.aco-btn-sec:hover, .aco-btn-sec:focus-visible { box-shadow: inset 0 0 0 2px var(--tinta); color: var(--tinta); }
.aco-btn-sec-sm { min-height: 44px; padding: 0 18px; font-size: 15px; }
.aco-btn-tinta { background: var(--tinta); box-shadow: none; color: #fff; }
.aco-btn-tinta:hover, .aco-btn-tinta:focus-visible { background: var(--verde-hov); box-shadow: none; color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .btn-cta { transition: none; }
  .btn-cta:hover, .btn-cta:focus-visible { transform: none; }
}

/* ---------- Formularios ---------- */
.form-group { margin-bottom: 12px; }
.form-control {
  display: block; width: 100%; height: 52px; padding: 0 15px;
  border: 1px solid var(--filete-control); border-radius: 12px 12px 12px 3px;
  background: var(--papel); color: var(--tinta);
  font-family: var(--font-body); font-size: 16px; line-height: 1.3;
  transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.form-control::placeholder { color: var(--tinta-3); opacity: 1; }
.form-control:hover { border-color: var(--tinta-2); }
.form-control:focus { outline: 0; border-color: var(--agente); box-shadow: 0 0 0 3px rgba(26, 95, 208, .2); }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: var(--danger); }
.was-validated .form-control:valid, .form-control.is-valid { border-color: var(--success); }
.invalid-feedback { display: none; width: 100%; margin-top: 4px; color: var(--danger); font-size: 14px; font-weight: 500; }
.was-validated .form-control:invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-feedback,
.was-validated .iti:has(.form-control:invalid) ~ .invalid-feedback { display: block; }
.aco-formcard { padding: clamp(22px, 2.6vw, 34px); background: var(--papel); border-radius: var(--radio-panel); box-shadow: var(--shadow-card); }
.aco-formcard-h { margin-bottom: 18px; }
.aco-formcard-h strong { display: block; font-family: var(--font-display); font-size: 26px; font-weight: 800; line-height: 1.08; letter-spacing: -0.02em; color: var(--tinta); }
.aco-formcard-h span { display: block; margin-top: 6px; font-size: 15px; color: var(--tinta-3); }
.aco-formcard .form-control { margin-bottom: 12px; }
.aco-formcard .invalid-feedback { margin: -8px 0 10px; }
.aco-formcard .iti { margin-bottom: 12px; }
.aco-formcard .iti .form-control { margin-bottom: 0; }
.aco-form-legal { margin: 12px auto 0; max-width: 58ch; font-size: 13px; line-height: 1.45; color: var(--tinta-3); }
.iti { width: 100%; }
.iti--un-pais .iti__country-container { pointer-events: none; }
.iti--un-pais .iti__arrow { display: none; }
.iti__search-input { color: var(--tinta); background-color: var(--papel); }
.iti__search-input::placeholder { color: var(--tinta-3); }
/* Lista de países: tamaño y apertura hacia arriba (prefill.js pone .iti-arriba) */
.iti.iti--inline-dropdown .iti__dropdown-content {
  z-index: 20;
}
.iti.iti--inline-dropdown .iti__dropdown-content.iti-arriba {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 3px;
}
.alert { padding: 12px 16px; border-radius: var(--radius-sm); }
.alert.bg-warning { background: var(--warning-tint); color: var(--warning); }

/* ---------- Piezas del sistema ---------- */
.aco-stats { display: grid; grid-template-columns: repeat(4, 1fr); box-shadow: inset 0 1px 0 var(--filete), inset 0 -1px 0 var(--filete); }
.aco-stat { padding: 28px 24px; }
.aco-stat b { display: block; font-family: var(--font-display); font-size: clamp(30px, 3.4vw, 42px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; color: var(--tinta); }
.aco-stat span { display: block; margin-top: 10px; font-size: 15px; color: var(--tinta-3); }
.aco-pasos { margin-top: 40px; display: flex; flex-direction: column; gap: 12px; }
.aco-paso { display: grid; grid-template-columns: 44px .95fr 1.3fr; gap: clamp(14px, 3vw, 36px); padding: 24px; align-items: start; background: var(--papel); border-radius: var(--radius-lg) var(--radius-lg) var(--radius-lg) 6px; box-shadow: var(--shadow-card); }
.aco-paso-num { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--tinta); color: #fff; font-size: 15px; font-weight: 700; }
.aco-paso h3 { margin: 4px 0 0; color: var(--tinta); }
.aco-paso p { margin: 0; font-size: 16px; color: var(--tinta-2); }
.aco-columnas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.aco-columna { padding: clamp(22px, 2.4vw, 32px); background: var(--papel); border-radius: var(--radio-panel); box-shadow: var(--shadow-card); }
.aco-columna h3 { color: var(--tinta); }
.aco-trio ul { list-style: none; margin: 16px 0 0; padding: 0; font-size: 16px; color: var(--tinta-2); }
.aco-trio li { position: relative; padding: 6px 0 6px 28px; }
.aco-trio li::before { content: ''; position: absolute; left: 0; top: 11px; width: 18px; height: 18px; background: var(--agente); -webkit-mask: var(--aco-check) center / contain no-repeat; mask: var(--aco-check) center / contain no-repeat; }
.aco-tabla-caja { margin-top: 36px; overflow-x: auto; background: var(--papel); border-radius: var(--radius-lg) var(--radius-lg) var(--radius-lg) 6px; box-shadow: var(--shadow-card); }
.aco-tabla { width: 100%; min-width: 620px; border-collapse: collapse; }
.aco-tabla th, .aco-tabla td { padding: 16px 20px; text-align: left; font-size: 16px; box-shadow: inset 0 -1px 0 var(--filete); }
.aco-tabla thead th { font-size: 15px; font-weight: 600; color: var(--tinta-3); }
.aco-tabla thead th:last-child { background: var(--tinta); color: #fff; box-shadow: none; }
.aco-tabla tbody th { width: 23%; font-family: var(--font-body); font-weight: 700; color: var(--tinta); }
.aco-tabla tbody td:first-of-type { color: var(--tinta-3); }
.aco-tabla td:last-child { background: var(--verde-tinte); color: var(--tinta); font-weight: 600; }
.aco-tabla tr:last-child th, .aco-tabla tr:last-child td { box-shadow: none; }
.aco-faq { margin-top: 36px; display: flex; flex-direction: column; gap: 8px; }
.aco-faq details { background: var(--banda); border-radius: var(--radius-md) var(--radius-md) var(--radius-md) 4px; }
.aco-alt .aco-faq details { background: var(--papel); }
.aco-faq summary { position: relative; display: flex; align-items: center; min-height: 64px; padding: 12px 52px 12px 20px; list-style: none; cursor: pointer; font-size: 19px; font-weight: 600; line-height: 1.25; color: var(--tinta); }
.aco-faq summary::-webkit-details-marker { display: none; }
.aco-faq summary::after { content: ""; position: absolute; right: 20px; top: 50%; width: 16px; height: 2px; margin-top: -1px; border-radius: 1px; background: var(--tinta); }
.aco-faq summary::before { content: ""; position: absolute; right: 27px; top: 50%; width: 2px; height: 16px; margin-top: -8px; border-radius: 1px; background: var(--tinta); transition: transform var(--dur-med) var(--ease-out); }
.aco-faq details[open] summary::before { transform: scaleY(0); }
.aco-faq details p { margin: 0; padding: 0 20px 18px; max-width: 68ch; font-size: 16px; color: var(--tinta-2); }
@media (max-width: 899.98px) {
  .aco-stats { grid-template-columns: repeat(2, 1fr); }
  .aco-stat { padding: 22px 18px; }
  .aco-paso { grid-template-columns: 34px 1fr; gap: 12px; padding: 18px; }
  .aco-paso p { grid-column: 2; }
  .aco-columnas { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .aco-tabla-caja { overflow: visible; background: transparent; box-shadow: none; }
  .aco-tabla { min-width: 0; }
  .aco-tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .aco-tabla, .aco-tabla tbody, .aco-tabla tr, .aco-tabla th, .aco-tabla td { display: block; width: auto; box-shadow: none; }
  .aco-tabla tr { margin-bottom: 12px; overflow: hidden; background: var(--papel); border-radius: var(--radius-md) var(--radius-md) var(--radius-md) 4px; box-shadow: var(--shadow-card); }
  .aco-tabla tbody th { width: auto; padding: 16px 18px 4px; }
  .aco-tabla td { padding: 10px 18px 14px; }
  .aco-tabla td::before { content: attr(data-col); display: block; margin-bottom: 3px; font-size: 14px; font-weight: 600; color: var(--tinta-3); }
}

/* ---------- Agenda (calendario y horarios) ---------- */
.agenda-card { height: 100%; padding: 1.25rem; background: var(--papel); border-radius: var(--radius-lg) var(--radius-lg) var(--radius-lg) 6px; box-shadow: var(--shadow-card); }
.agenda-titulo { font-family: var(--font-display); font-size: 20px; font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; color: var(--tinta); }
.agenda-titulo::first-letter { text-transform: uppercase; }
.agenda-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.agenda-dow { padding: 4px 0; text-align: center; font-size: 14px; font-weight: 600; color: var(--tinta-3); }
.agenda-dia { aspect-ratio: 1; border: 0; border-radius: var(--radius-xs); background: transparent; color: var(--tinta-3); font-size: 15px; transition: background-color var(--dur-fast), box-shadow var(--dur-fast); }
.agenda-dia:disabled { cursor: default; }
.agenda-dia.disponible { background: var(--verde-tinte); color: var(--tinta); font-weight: 700; cursor: pointer; }
.agenda-dia.disponible:not(.activo):hover { background: var(--marcador); }
.agenda-dia.activo { background: var(--tinta); color: #fff; font-weight: 700; }
.agenda-slots { max-height: 340px; overflow-y: auto; }
.agenda-slot { display: block; width: 100%; min-height: 44px; padding: .6rem; margin-bottom: .5rem; border: 0; border-radius: var(--radius-sm); background: var(--papel); box-shadow: inset 0 0 0 1px var(--filete-control); color: var(--tinta); font-weight: 600; transition: background-color var(--dur-fast), box-shadow var(--dur-fast), color var(--dur-fast); }
.agenda-slot:hover { background: var(--verde-tinte); }
.agenda-slot.activo { background: var(--tinta); box-shadow: none; color: #fff; }
.agenda-nav { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: var(--banda); color: var(--tinta); font-size: 18px; line-height: 1; }
.agenda-nav:hover:not(:disabled) { background: var(--marcador); }
.agenda-nav:disabled { color: #7A8896; cursor: default; }
#agenda-tz-nota { font-size: 13px; line-height: 1.45; color: var(--tinta-3); }

/* ---------- Pie ---------- */
.aco-footer { background: var(--tinta); color: var(--sobre-tinta); padding: 40px 0 32px; text-align: center; }
.aco-footer .lockup { margin-bottom: 18px; }
.aco-footer-copy { margin-bottom: 14px; color: var(--sobre-tinta-2); font-size: 14px; }
.aco-footer-nota { margin: 18px 0 0; color: var(--sobre-tinta-2); font-size: 14px; }
.aco-footer a { color: #fff; font-size: 14px; text-decoration: none; }
.aco-footer a:hover { color: var(--agente-claro); text-decoration: underline; }
.aco-footer nav { display: flex; flex-flow: row wrap; align-items: center; justify-content: center; gap: 10px 22px; }
@media (min-width: 992px) {
  .aco-footer { text-align: left; }
  .aco-footer-fila { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; }
  .aco-footer .lockup { margin-bottom: 0; }
  .aco-footer-copy { margin: 12px 0 0; }
}

/* =====================================================================
   Landing del agente de IA (index.php)
   ===================================================================== */
.raiz{container-type:inline-size;position:relative;background:#fff;color:#0F2540;font-family:'Figtree',system-ui,sans-serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;scrollbar-color:#B9C7D6 transparent}
.marco{max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}
.disp{margin:0;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1;text-wrap:balance}
.h2{font-size:clamp(38px,5cqw,68px)}
.h3{font-size:clamp(32px,3.6cqw,50px);line-height:1.02}
.t3{margin:0;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:clamp(24px,2.2cqw,30px);letter-spacing:-.02em;line-height:1.08}
.lead{margin:0;max-width:34em;font-size:clamp(18px,1.5cqw,21px);line-height:1.45;color:#44566C}
.sec{padding-top:clamp(72px,9cqw,128px);padding-bottom:clamp(72px,9cqw,128px)}
.cielo{background:#F3F7FB}
.oscuro{background:#0F2540;color:#fff}
.oscuro .lead{color:#D5DFEB}
.oscuro .disp{color:#fff}
.panel{background:#fff;border-radius:28px 28px 28px 8px;box-shadow:0 30px 60px -36px rgba(15,37,64,.38),0 1px 2px rgba(15,37,64,.06)}
.cab{display:flex;flex-direction:column;gap:18px;max-width:980px;margin-bottom:clamp(32px,4cqw,52px)}

.cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:64px;padding:0 30px 0 24px;background:#25D366;color:#06291C;font-weight:700;font-size:19px;line-height:1.15;border-radius:999px;text-decoration:none;box-shadow:0 16px 30px -16px rgba(14,122,69,.7);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),background-color .25s}
.cta:hover{transform:translateY(-2px);background:#20C25C;color:#06291C;box-shadow:0 22px 38px -16px rgba(14,122,69,.8)}
.cta svg{flex:none}
.cta-chica{min-height:46px;padding:0 20px;font-size:16px;white-space:nowrap;box-shadow:none}
.cta-borde{background:#fff;color:#06291C;box-shadow:inset 0 0 0 2px #25D366}
.cta-sec{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:0 28px;background:#fff;color:#0F2540;font-weight:600;font-size:19px;line-height:1.15;border-radius:999px;text-decoration:none;box-shadow:inset 0 0 0 2px #C9D6E3;transition:box-shadow .2s}
.cta-sec:hover{color:#0F2540;box-shadow:inset 0 0 0 2px #0F2540}

.barra{background:#fff;box-shadow:0 1px 0 #E3EAF1}
.barra-fila{display:flex;align-items:center;gap:32px;min-height:72px}
.barra-logo{display:block;height:30px;width:auto;flex:none;margin-right:auto}
.barra-nav{display:flex;align-items:center;gap:26px;font-size:16px;font-weight:500}
.barra-nav a{text-decoration:none}
.barra-der{display:flex;align-items:center;gap:20px;font-size:16px;font-weight:500}

.hero{position:relative}
.hero-copia{position:relative;z-index:2;padding-top:clamp(20px,2.3cqw,32px);padding-bottom:clamp(20px,1.8cqw,26px);display:flex;flex-direction:column;gap:18px}
.pretitulo{margin:0 0 -6px;font-size:clamp(17px,1.4cqw,20px);font-weight:700;line-height:1.3;color:var(--tinta-3)}
.hero-h1{font-size:clamp(40px,5.8cqw,84px);line-height:.98}
.hero-h1 span{display:block}
.hero-lead{max-width:33em}
.hero-accion{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:2px;max-width:calc(100% - 374px)}
.nota{margin:0 0 0 6px;max-width:14em;font-size:15px;line-height:1.3;color:#44566C}
.sellos{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:15px;font-weight:600;max-width:calc(100% - 374px)}
.sellos li{display:flex;align-items:center;gap:8px}
.sellos svg{flex:none}
.banda{position:relative;height:clamp(320px,40cqw,640px);overflow:hidden;background:#DCE5EE}
.banda img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 5%}
.escena{position:absolute;z-index:3;top:36px;right:max(21px,calc((100cqw - 1280px) / 2 + 21px));width:326px;height:660px}
.fono-lado{position:absolute;width:3px;background:#2C2D31}
.fl-1,.fl-2,.fl-3{left:0;border-radius:2px 0 0 2px}
.fl-1{top:118px;height:26px}.fl-2{top:164px;height:50px}.fl-3{top:226px;height:50px}
.fl-4{right:0;top:188px;height:78px;border-radius:0 2px 2px 0}
.fono{position:absolute;left:3px;top:0;box-sizing:border-box;width:320px;height:660px;margin:0;padding:14px;background:#17181B;border-radius:55px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,system-ui,sans-serif;color:#111B21;box-shadow:0 46px 72px -30px rgba(15,37,64,.62),inset 0 0 0 2px #3D3F45,inset 0 0 0 4px #050506}
.fono-pantalla{position:relative;display:flex;flex-direction:column;width:292px;height:632px;overflow:hidden;background:#EFEAE2;border-radius:41px}
.fono-isla{position:absolute;z-index:3;top:9px;left:50%;width:94px;height:27px;margin-left:-47px;border-radius:14px;background:#050506}
.fono-cab{flex:none;background:#F6F6F6;box-shadow:0 1px 0 rgba(17,27,33,.12)}
.fono-estado{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:44px;padding:4px 22px 0 28px;font-size:13px;font-weight:600}
.fono-indicadores{display:flex;align-items:center;gap:4px}
.fono-contacto{display:flex;align-items:center;gap:7px;padding:3px 12px 8px 7px}
.fono-ava{flex:none;width:32px;height:32px;border-radius:50%;background:#DCE5EE;color:#0F2540;display:flex;align-items:center;justify-content:center}
.fono-nom{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.2}
.fono-nom b{font-size:14px;font-weight:600}
.fono-nom small{font-size:10.5px;color:#56666F;white-space:nowrap}
.fono-nom .fono-escribe{color:#00795C}
.fono-llamada{margin-left:6px}
.fono-cuerpo{position:relative;flex:1;min-height:0;overflow:hidden}
.fono-dibujos{position:absolute;inset:0;opacity:.13}
.fono-hilo{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;box-sizing:border-box;height:100%;overflow:hidden;padding:8px 10px}
.fono-fecha{flex:none;align-self:center;margin-bottom:2px;padding:3px 9px;border-radius:7px;background:#fff;font-size:11px;font-weight:500;color:#56666F;box-shadow:0 1px 1px rgba(11,20,26,.13)}
.fono-pie{flex:none;background:#F6F6F6;box-shadow:0 -1px 0 rgba(17,27,33,.1)}
.fono-escritura{display:flex;align-items:center;gap:9px;padding:7px 10px 5px}
.fono-campo{flex:1;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;height:28px;padding:0 8px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px rgba(17,27,33,.14)}
.fono-inicio{display:block;width:104px;height:4px;margin:7px auto 6px;border-radius:2px;background:#111B21}

.bur{flex:none;position:relative;box-sizing:border-box;max-width:80%;padding:5px 8px;font-size:13px;line-height:1.3;color:#111B21;box-shadow:0 1px 1px rgba(11,20,26,.13)}
.bur::after{content:"";position:absolute;top:0;width:7px;height:10px}
.bur-p{align-self:flex-end;background:#D9FDD3;border-radius:9px 2px 9px 9px}
.bur-p::after{right:-6px;background:#D9FDD3;clip-path:polygon(0 0,100% 0,0 90%)}
.bur-n{align-self:flex-start;background:#fff;border-radius:2px 9px 9px 9px}
.bur-n::after{left:-6px;background:#fff;clip-path:polygon(0 0,100% 0,100% 90%)}
.bur-h{float:right;display:inline-flex;align-items:center;gap:2px;margin:4px 0 -1px 8px;font-size:10px;color:#56666F}
.entra{animation:entra .42s cubic-bezier(.16,1,.3,1) both}
.pop{animation:pop .6s cubic-bezier(.16,1,.3,1) both}
@keyframes entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}

.flota-seg{position:absolute;z-index:4;top:680px;left:3px;right:3px;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-radius:14px 14px 4px 14px;font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 18px 30px -16px rgba(15,37,64,.5)}
.flota-seg-2{top:729px}
.flota-cita{position:absolute;z-index:4;top:778px;left:3px;right:3px;padding:15px 16px;background:#fff;border-radius:20px 20px 4px 20px;box-shadow:0 26px 44px -20px rgba(15,37,64,.55)}
.flota-cita p{margin:0}
.fc-tit{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:#44566C}
.fc-dia{margin-top:8px !important;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:24px;line-height:1.05;letter-spacing:-.02em}
.fc-que{margin-top:3px !important;font-size:15px;color:#44566C}
.fc-pie{margin-top:10px !important;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#1A5FD0}

.tira{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:28px;padding-bottom:28px}
.tira b{font-size:clamp(20px,1.7cqw,24px);font-weight:600;line-height:1.3}

.dolores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.dolor{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.4cqw,32px)}
.dolor:nth-child(2){margin-top:34px}.dolor:nth-child(3){margin-top:68px}
.dolor p{margin:0;font-size:17px;color:#44566C}
.ico{flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:6px;background:#F3F7FB;border-radius:14px 14px 14px 4px}

.quien-f{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:12px;font-size:15px;font-weight:600}
.quien-f span{padding-bottom:8px;box-shadow:inset 0 -2px 0 #C9D6E3;color:#44566C}
.quien-f .ia{grid-column:span 3;box-shadow:inset 0 -2px 0 #1A5FD0;color:#1A5FD0}
.pasos{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.paso{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:22px 22px 22px 6px}
.paso i{flex:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:6px;border-radius:50%;background:#0F2540;color:#fff;font-style:normal;font-weight:700;font-size:15px}
.paso-ia i{background:#1A5FD0}
.paso h3{margin:0;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1.08}
.paso p{margin:0;font-size:16px;line-height:1.4;color:#44566C}
.paso small{display:none;font-size:13.5px;font-weight:600;color:#1A5FD0}
.pasos-nota{margin:clamp(28px,3.4cqw,44px) 0 0;max-width:26em;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:clamp(24px,2.7cqw,38px);line-height:1.2;letter-spacing:-.02em}

.fila{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(36px,5.4cqw,80px);align-items:center}
.fila+.fila{margin-top:clamp(72px,9cqw,128px)}
.fila-inv .fila-t{order:2}
.fila-t{display:flex;flex-direction:column;gap:18px}
.lista{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:17px}
.lista li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;line-height:1.4}
.lista svg{margin-top:6px}
.etapa{position:relative;padding:clamp(18px,3cqw,44px);background:#F3F7FB;border-radius:32px 32px 32px 8px}
.ui{border-radius:22px 22px 22px 6px}
.ui-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;box-shadow:inset 0 -1px 0 #E3EAF1;font-size:15px;font-weight:600}
.ui-cab small{font-size:13.5px;font-weight:500;color:#44566C}
.rep{padding:10px 20px 14px}
.rep-f{display:grid;grid-template-columns:96px minmax(0,1fr) 66px;gap:12px;align-items:center;padding:10px 0;font-size:15px;font-weight:500}
.rep-b{height:10px;border-radius:5px;background:#E7EEF6;overflow:hidden}
.rep-b i{display:block;height:100%;border-radius:5px;background:#9DB2C8}
.rep-f small{text-align:right;font-size:13.5px;color:#44566C}
.rep-on{font-weight:700}.rep-on .rep-b i{background:#1A5FD0}.rep-on small{color:#1A5FD0;font-weight:700}
.aviso{position:absolute;z-index:2;right:-14px;bottom:-40px;width:326px;padding:13px 15px;background:#fff;border-radius:16px 16px 4px 16px;box-shadow:0 26px 44px -20px rgba(15,37,64,.55);font-size:14px;line-height:1.35}
.aviso b{display:block;font-size:13.5px;font-weight:600;color:#44566C}
.aviso-ok{display:flex;align-items:center;gap:8px;font-weight:600}
.aviso-ok svg{flex:none}
.ban-f{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 20px;box-shadow:inset 0 -1px 0 #EEF3F8}
.ban-a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#E7EEF6;font-size:13px;font-weight:600}
.ban-t{min-width:0;line-height:1.3}
.ban-t b{display:block;font-size:15px;font-weight:600}
.ban-t span{display:block;font-size:14px;color:#44566C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip{padding:5px 11px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.chip-ia{background:#E8F0FB;color:#154FB0}
.chip-eq{background:#E7EEF6;color:#0F2540}
.chip-sin{background:#fff;color:#44566C;box-shadow:inset 0 0 0 1px #C9D6E3}
.chip-tr{background:#0F2540;color:#fff}
.tab{width:100%;border-collapse:collapse;font-size:15px}
.tab th{padding:13px 20px;text-align:left;font-size:13.5px;font-weight:600;color:#44566C;box-shadow:inset 0 -1px 0 #E3EAF1}
.tab td{padding:14px 20px;box-shadow:inset 0 -1px 0 #EEF3F8}
.tab td:first-child{font-weight:600}
.tab .num{text-align:right}
.tab tr:last-child td{box-shadow:none}
.lin{margin:0;padding:18px 20px;list-style:none;display:flex;flex-direction:column}
.lin li{position:relative;display:grid;grid-template-columns:96px 14px minmax(0,1fr);gap:10px;padding-bottom:16px;font-size:15px;line-height:1.35}
.lin li:last-child{padding-bottom:0}
.lin li:not(:last-child):after{content:'';position:absolute;left:110px;top:17px;bottom:-5px;width:2px;background:#DCE5EE}
.lin time{font-size:13.5px;color:#44566C;padding-top:1px}
.lin i{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#1A5FD0}
.lin .eq i{background:#0F2540}

.quien3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.q{padding:clamp(22px,2.4cqw,32px);color:#0F2540}
.q .t3{margin-bottom:16px}
.q ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;font-size:16px;line-height:1.4;color:#44566C}
.q li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px}
.q svg{margin-top:5px}

.momentos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start;padding-bottom:46px}
.momento{position:relative;margin:0;aspect-ratio:3/4.15;overflow:hidden;border-radius:26px 26px 26px 6px;background:#DCE5EE;box-shadow:0 28px 48px -28px rgba(15,37,64,.55)}
.momento:nth-child(even){margin-top:46px}
.momento img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mo-tag{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);margin:0;padding:8px 13px 9px;background:#fff;border-radius:14px 14px 14px 4px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:22px;line-height:1.08;letter-spacing:-.02em;box-shadow:0 10px 18px -10px rgba(15,37,64,.5)}
.mo-txt{position:absolute;left:10px;right:10px;bottom:10px;margin:0;padding:11px 13px 12px;background:#fff;border-radius:14px 14px 14px 4px;font-size:15px;line-height:1.36;box-shadow:0 10px 18px -10px rgba(15,37,64,.5)}

.faq{display:flex;flex-wrap:wrap;gap:28px clamp(36px,6cqw,88px)}
.faq-t{flex:1 1 320px;min-width:0;font-size:clamp(36px,3.9cqw,54px);position:sticky;top:32px;align-self:flex-start}
.faq-l{flex:2 1 560px;min-width:0;display:flex;flex-direction:column;gap:8px}
.faq-l details{background:#fff;border-radius:16px 16px 16px 4px}
.faq-l summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:12px 18px 12px 20px;font-weight:600;font-size:19px;line-height:1.25}
.faq-l summary::-webkit-details-marker{display:none}
.faq-l summary svg{flex:none;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.faq-l details[open] summary svg{transform:rotate(45deg)}
.faq-l details p{margin:0;padding:0 20px 18px;color:#44566C;max-width:36em}

.demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5cqw,72px);align-items:start}
.demo-t{display:flex;flex-direction:column;gap:22px}
.demo h2{font-size:clamp(44px,6cqw,84px);line-height:.98}
.demo-l{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:18px;color:#fff}
.demo-l li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;line-height:1.4}
.demo-l svg{margin-top:6px}

@container (max-width:1180px){
.escena{position:relative;top:auto;right:auto;margin:-190px auto 104px}
.flota-seg{display:none}
.flota-cita{top:auto;right:auto;left:-16px;bottom:-84px;width:228px}
.banda{height:clamp(300px,62cqw,440px)}
.hero-accion,.sellos{max-width:none}
.barra-nav{display:none}
}
@container (max-width:1020px){
.pasos{grid-template-columns:repeat(2,minmax(0,1fr))}
.quien-f{display:none}
.paso small{display:block}
.fila,.demo{grid-template-columns:minmax(0,1fr)}
.fila-inv .fila-t{order:0}
.momentos{grid-template-columns:repeat(2,minmax(0,1fr))}
.faq-t{position:static}
}
@container (max-width:900px){
.dolores,.quien3{grid-template-columns:minmax(0,1fr)}
.dolor:nth-child(2),.dolor:nth-child(3){margin-top:0}
}
@container (max-width:720px){
.pasos{grid-template-columns:minmax(0,1fr)}
.paso{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;row-gap:2px;padding:16px}
.paso i{grid-row:span 3;margin:0}
.paso p,.paso small,.paso h3{grid-column:2}
.barra-fila{gap:14px;min-height:64px}
.barra-logo{height:26px}
.etapa{padding:12px;border-radius:24px 24px 24px 8px}
.aviso{position:relative;right:auto;bottom:auto;width:auto;margin-top:10px}
.ban-f{grid-template-columns:36px minmax(0,1fr);padding:11px 14px}
.ban-f .chip{grid-column:2;justify-self:start}
.rep-f{grid-template-columns:72px minmax(0,1fr) 58px;gap:8px}
.ui-cab{padding:13px 14px}.rep{padding:6px 14px 10px}
.tab th,.tab td{padding:11px 12px;font-size:14px}
.lin{padding:14px}
}
@container (max-width:640px){
.hero-h1 span{display:inline}
.hero-accion .cta,.hero-accion .cta-sec{width:100%;font-size:17px;padding:0 16px}
.nota{max-width:none;margin:0}
.momentos{display:flex;gap:12px;margin-left:-24px;margin-right:-24px;padding:0 24px 28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.momento{flex:0 0 80cqw;aspect-ratio:3/4;scroll-snap-align:center}
.momento:nth-child(even){margin-top:0}
.faq-l summary{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
.entra,.pop{animation:none}
.barra-cta{transition:none}
.cta,.faq-l summary svg{transition:none}
}

/* Barra inferior: aparece al pasar el botón del hero (activos/js/agente.js) */
.barra-cta{position:sticky;bottom:0;z-index:20;display:flex;justify-content:center;align-items:center;gap:20px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#000;box-shadow:0 -10px 24px -14px rgba(15,37,64,.4);transform:translateY(130%);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.barra-cta.on{transform:none}
.barra-cta :focus-visible{outline-color:#fff}
.barra-txt{margin:0;min-width:0;color:#fff;font-size:17px;font-weight:600;line-height:1.25;text-align:center}
@media (max-width:640px){
.barra-cta{flex-direction:column;gap:8px}
.barra-txt{font-size:15px}
.barra-cta .cta{width:100%}
}

/* El <link> del selector de teléfono carga después y define su paleta en :root */
html:root{--iti-dropdown-bg:#fff;--iti-border-color:#7A8896;--iti-hover-color:#F3F7FB;--iti-dialcode-color:#44566C;--iti-arrow-color:#44566C}

@container (max-width:380px){
.barra-logo{height:22px}
.barra-der .cta-chica{padding:0 14px;font-size:15px}
}

/* El pie de la landing alinea con su medida de 1280px */
.con-landing .aco-footer .container{max-width:1280px}
@container (max-width:345px){.escena{zoom:.9}.flota-cita{left:0}}
@media (max-width:359.98px){.barra-logo{width:100px;height:auto}.barra-der .cta{padding-inline:10px;font-size:13px}}
