/* Página principal pública (V7). Propia y pequeña: no carga el CSS del panel. Colores del sistema de diseño, tema oscuro y claro. */
:root { --ld-fondo: #0A1A3F; --ld-sup: #13285A; --ld-sup2: #1A3470; --ld-texto: #F5F8FC; --ld-suave: #B9C6DC; --ld-borde: rgba(79,179,230,.18); --ld-sombra: 0 10px 30px rgba(0,0,0,.28);
  --ld-letra: Inter, "Segoe UI", Roboto, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif; --ld-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace; color-scheme: dark; }
:root[data-tema="claro"] { --ld-fondo: #F5F8FC; --ld-sup: #FFFFFF; --ld-sup2: #EAF1FA; --ld-texto: #0A1A3F; --ld-suave: #3D4F75; --ld-borde: rgba(10,26,63,.12); --ld-sombra: 0 8px 24px rgba(10,26,63,.08); color-scheme: light; }
/* Acentos: --ac (brillos y detalles), --ac-rgb (para el lienzo), --ac-boton (fondo de botón) y --ac-sobre (texto sobre el botón). Todos con contraste >= 4.5:1. */
.ld { --ac: #4FB3E6; --ac-rgb: 79,179,230; --ac-boton: #4FB3E6; --ac-sobre: #0A1A3F; --ac-texto: #4FB3E6; }
.ld[data-acento="esmeralda"] { --ac: #34D399; --ac-rgb: 52,211,153; --ac-boton: #34D399; --ac-sobre: #052E21; --ac-texto: #34D399; }
.ld[data-acento="violeta"] { --ac: #A78BFA; --ac-rgb: 167,139,250; --ac-boton: #A78BFA; --ac-sobre: #1E1147; --ac-texto: #A78BFA; }
.ld[data-acento="ambar"] { --ac: #FBBF24; --ac-rgb: 251,191,36; --ac-boton: #FBBF24; --ac-sobre: #3A2300; --ac-texto: #FBBF24; }
.ld[data-acento="coral"] { --ac: #FB7185; --ac-rgb: 251,113,133; --ac-boton: #FB7185; --ac-sobre: #3F0713; --ac-texto: #FB7185; }
:root[data-tema="claro"] .ld { --ac: #1B6EA6; --ac-rgb: 27,110,166; --ac-boton: #1B6EA6; --ac-sobre: #FFFFFF; --ac-texto: #14598A; }
:root[data-tema="claro"] .ld[data-acento="esmeralda"] { --ac: #047857; --ac-rgb: 4,120,87; --ac-boton: #047857; --ac-sobre: #FFFFFF; --ac-texto: #046345; }
:root[data-tema="claro"] .ld[data-acento="violeta"] { --ac: #6D28D9; --ac-rgb: 109,40,217; --ac-boton: #6D28D9; --ac-sobre: #FFFFFF; --ac-texto: #5B21B6; }
:root[data-tema="claro"] .ld[data-acento="ambar"] { --ac: #92400E; --ac-rgb: 146,64,14; --ac-boton: #92400E; --ac-sobre: #FFFFFF; --ac-texto: #7A3509; }
:root[data-tema="claro"] .ld[data-acento="coral"] { --ac: #BE123C; --ac-rgb: 190,18,60; --ac-boton: #BE123C; --ac-sobre: #FFFFFF; --ac-texto: #9F1239; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
.ld { margin: 0; background: var(--ld-fondo); color: var(--ld-texto); font: 400 16px/1.6 var(--ld-letra); overflow-x: hidden; }
.ld :where(h1, h2, h3, p, ul, ol) { margin: 0; }
.ld :where(ul, ol) { padding: 0; list-style: none; }
.ld a { color: inherit; }
.ld :focus-visible { outline: 3px solid var(--ac); outline-offset: 3px; border-radius: 6px; }
.ld-saltar { position: absolute; left: -999px; top: 8px; background: var(--ac-boton); color: var(--ac-sobre); padding: 0 14px; min-height: 44px; display: inline-flex; align-items: center; border-radius: 8px; z-index: 50; }
.ld-saltar:focus { left: 8px; }
.ld-ancho { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 16px; }
.ld-angosto { max-width: 760px; }
.ld svg { width: 1.25em; height: 1.25em; flex: none; }

/* barra */
.ld-barra { position: sticky; top: 0; z-index: 20; background: var(--ld-fondo); background: color-mix(in srgb, var(--ld-fondo) 92%, transparent); border-bottom: 1px solid var(--ld-borde); }
.ld-barra-fila { display: flex; align-items: center; gap: 12px; min-height: 60px; }
.ld-marca { display: flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; font-weight: 700; letter-spacing: .01em; min-width: 0; }
.ld-marca b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ld-logo { display: inline-flex; width: 32px; height: 32px; flex: none; }
.ld-logo svg { width: 100%; height: 100%; }
.ld-menu { display: none; margin-left: auto; gap: 4px; }
.ld-menu a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; padding: 0 12px; border-radius: 999px; color: var(--ld-suave); font-size: .95rem; }
.ld-menu a:hover { color: var(--ld-texto); background: color-mix(in srgb, var(--ac) 12%, transparent); }
.ld-barra-acciones { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.ld-tema { appearance: none; border: 1px solid var(--ld-borde); background: var(--ld-sup); color: var(--ld-texto); width: 44px; height: 44px; border-radius: 50%; display: inline-grid; place-items: center; cursor: pointer; }
.ld-luna { display: none; } :root[data-tema="claro"] .ld-sol { display: none; } :root[data-tema="claro"] .ld-luna { display: inline; }

/* botones (todos de 44 px o más) */
.ld-boton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 999px; font-weight: 700; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: transform .16s, box-shadow .16s, background .16s; }
.ld-chico { min-height: 44px; padding: 0 16px; font-size: .95rem; }
.ld-principal { background: var(--ac-boton); color: var(--ac-sobre); box-shadow: 0 8px 24px rgba(var(--ac-rgb), .35); }
.ld-suave { background: transparent; color: var(--ld-texto); border-color: var(--ld-borde); }
.ld-boton:hover { transform: translateY(-2px); }
.ld-suave:hover { border-color: var(--ac); }
.ld-acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* portada */
.ld-portada { position: relative; overflow: hidden; padding: 56px 0 64px; isolation: isolate; }
.ld-fondo { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; display: block; }
.ld-brillo { position: absolute; z-index: -1; left: 50%; top: -20%; width: 640px; max-width: 120%; aspect-ratio: 1; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(var(--ac-rgb), .22), transparent); pointer-events: none; }
.ld-portada-grid { display: grid; gap: 36px; align-items: center; }
.ld-etiqueta { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border: 1px solid var(--ld-borde); border-radius: 999px; font-size: .85rem; color: var(--ac-texto); background: color-mix(in srgb, var(--ld-sup) 70%, transparent); margin-bottom: 18px; }
.ld-punto { width: 8px; height: 8px; border-radius: 50%; background: var(--ac); box-shadow: 0 0 10px var(--ac); }
.ld h1 { font-size: clamp(2rem, 8vw, 3.6rem); line-height: 1.08; font-weight: 800; letter-spacing: -.02em; overflow-wrap: anywhere; }
.ld-sub { margin-top: 16px; font-size: clamp(1.05rem, 3.4vw, 1.25rem); color: var(--ld-suave); max-width: 40ch; overflow-wrap: anywhere; }
.ld-terminal { background: color-mix(in srgb, var(--ld-sup) 92%, #000); border: 1px solid var(--ld-borde); border-radius: 16px; box-shadow: var(--ld-sombra), 0 0 40px rgba(var(--ac-rgb), .12); overflow: hidden; font-family: var(--ld-mono); font-size: .85rem; max-width: 520px; width: 100%; }
:root[data-tema="claro"] .ld-terminal { background: #0A1A3F; color: #F5F8FC; }
.ld-term-barra { display: flex; align-items: center; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--ld-borde); color: #B9C6DC; }
.ld-term-barra i { width: 10px; height: 10px; border-radius: 50%; background: rgba(185,198,220,.35); } .ld-term-barra i:first-child { background: var(--ac); }
.ld-term-barra span { margin-left: auto; font-size: .78rem; }
.ld-term-lineas { padding: 14px 16px 18px; min-height: 9.5em; color: #E6EEF9; }
.ld-term-lineas li { white-space: pre-wrap; overflow-wrap: anywhere; padding: 2px 0; }
.ld-term-lineas li::first-letter { color: var(--ac); }
.ld-cursor::after { content: "▍"; color: var(--ac); animation: ld-parpadeo 1s steps(2) infinite; }
@keyframes ld-parpadeo { 50% { opacity: 0; } }

/* secciones */
.ld-seccion { padding: 64px 0; } .ld-alt { background: var(--ld-sup); background: color-mix(in srgb, var(--ld-sup) 55%, var(--ld-fondo)); border-block: 1px solid var(--ld-borde); }
.ld-cabeza { margin-bottom: 32px; max-width: 640px; } .ld-cabeza h2 { font-size: clamp(1.6rem, 5.5vw, 2.4rem); line-height: 1.15; font-weight: 800; letter-spacing: -.01em; overflow-wrap: anywhere; }
.ld-cabeza p { margin-top: 10px; color: var(--ld-suave); overflow-wrap: anywhere; }
.ld-rejilla { display: grid; gap: 16px; grid-template-columns: 1fr; }
.ld-tarjeta, .ld-servicio, .ld-cifra { position: relative; background: var(--ld-sup); border: 1px solid var(--ld-borde); border-radius: 18px; padding: 22px; box-shadow: var(--ld-sombra); transition: border-color .2s, box-shadow .2s; }
.ld-tarjeta:hover, .ld-servicio:hover { border-color: var(--ac); box-shadow: var(--ld-sombra), 0 0 24px rgba(var(--ac-rgb), .18); }
.ld-tarjeta h3 { font-size: 1.1rem; margin: 14px 0 6px; overflow-wrap: anywhere; } .ld-tarjeta p { color: var(--ld-suave); overflow-wrap: anywhere; }
.ld-icono { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: var(--ac-texto); background: rgba(var(--ac-rgb), .12); border: 1px solid rgba(var(--ac-rgb), .3); }
.ld-icono svg { width: 24px; height: 24px; }
.ld-pasos { display: grid; gap: 18px; counter-reset: paso; }
.ld-paso { display: flex; gap: 16px; align-items: flex-start; }
.ld-numero { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: var(--ac-sobre); background: var(--ac-boton); box-shadow: 0 0 20px rgba(var(--ac-rgb), .4); }
.ld-paso h3 { font-size: 1.1rem; overflow-wrap: anywhere; } .ld-paso p { color: var(--ld-suave); margin-top: 4px; overflow-wrap: anywhere; }
.ld-servicios { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); }
.ld-servicio { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px; }
.ld-servicio-nombre { font-weight: 700; overflow-wrap: anywhere; } .ld-precio { color: var(--ac-texto); font-size: .9rem; font-weight: 600; }
.ld-vacio { color: var(--ld-suave); }
.ld-cifras { display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); }
.ld-cifra { text-align: center; padding: 22px 12px; } .ld-valor { display: block; font-size: clamp(1.9rem, 8vw, 2.8rem); font-weight: 800; color: var(--ac-texto); line-height: 1.1; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.ld-etiqueta-cifra { display: block; margin-top: 6px; color: var(--ld-suave); font-size: .92rem; overflow-wrap: anywhere; }
.ld-cita blockquote { margin: 0; } .ld-cita blockquote p { color: var(--ld-texto); font-size: 1.02rem; } .ld-autor { margin-top: 14px; color: var(--ld-suave); font-size: .92rem; } .ld-autor b { color: var(--ld-texto); }
.ld-faq { display: grid; gap: 10px; }
.ld-pregunta { background: var(--ld-sup); border: 1px solid var(--ld-borde); border-radius: 14px; overflow: hidden; }
.ld-pregunta summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 12px 18px; cursor: pointer; font-weight: 700; list-style: none; overflow-wrap: anywhere; }
.ld-pregunta summary::-webkit-details-marker { display: none; } .ld-pregunta summary svg { transition: transform .2s; color: var(--ac-texto); } .ld-pregunta[open] summary svg { transform: rotate(90deg); }
.ld-pregunta p { padding: 0 18px 16px; color: var(--ld-suave); white-space: pre-line; overflow-wrap: anywhere; }
.ld-llamado { padding: 24px 0 72px; } .ld-llamado-caja { position: relative; overflow: hidden; text-align: center; padding: 44px 22px; background: var(--ld-sup); border: 1px solid var(--ac); border-radius: 24px; box-shadow: 0 0 60px rgba(var(--ac-rgb), .18); isolation: isolate; max-width: 880px; }
.ld-llamado-caja .ld-brillo { top: -60%; } .ld-llamado h2 { font-size: clamp(1.6rem, 6vw, 2.4rem); line-height: 1.15; font-weight: 800; overflow-wrap: anywhere; } .ld-llamado p { margin-top: 10px; color: var(--ld-suave); overflow-wrap: anywhere; } .ld-llamado .ld-acciones { justify-content: center; }
.ld-pie { border-top: 1px solid var(--ld-borde); padding: 36px 0 44px; background: var(--ld-sup); background: color-mix(in srgb, var(--ld-sup) 40%, var(--ld-fondo)); }
.ld-pie .ld-ancho { display: grid; gap: 22px; } .ld-pie-marca { display: flex; gap: 12px; align-items: flex-start; } .ld-pie-marca p { color: var(--ld-suave); font-size: .92rem; overflow-wrap: anywhere; }
.ld-redes { display: flex; flex-wrap: wrap; gap: 10px; } .ld-redes a { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ld-borde); color: var(--ac-texto); text-decoration: none; } .ld-redes a:hover { border-color: var(--ac); }
.ld-legal { display: flex; flex-wrap: wrap; gap: 6px 18px; } .ld-legal a { color: var(--ld-suave); text-decoration: underline; padding: 10px 0; min-height: 44px; display: inline-flex; align-items: center; } .ld-derechos { color: var(--ld-suave); font-size: .85rem; overflow-wrap: anywhere; }

/* entrada al bajar y tarjetas con leve 3D: solo con JavaScript y sin "menos movimiento" */
.ld-js .ld-rev { opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); }
.ld-js .ld-rev.ld-visto { opacity: 1; transform: none; }
.ld-js .ld-rev[data-retraso="1"] { transition-delay: .07s; } .ld-js .ld-rev[data-retraso="2"] { transition-delay: .14s; } .ld-js .ld-rev[data-retraso="3"] { transition-delay: .21s; }
.ld-inclina { transform-style: preserve-3d; }
.ld-js .ld-inclina.ld-visto.ld-activa { transform: perspective(700px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-2px); transition: transform .08s linear, border-color .2s, box-shadow .2s; }
.sin-movimiento .ld-rev, .sin-movimiento.ld-js .ld-rev { opacity: 1 !important; transform: none !important; transition: none !important; }
.sin-movimiento *, .sin-movimiento *::before, .sin-movimiento *::after { animation: none !important; scroll-behavior: auto !important; }
.sin-movimiento .ld-boton:hover { transform: none; }
.equipo-lento .ld-brillo, .equipo-lento .ld-terminal, .equipo-lento .ld-tarjeta, .equipo-lento .ld-llamado-caja { box-shadow: none; }
.equipo-lento .ld-js .ld-rev, .equipo-lento.ld-js .ld-rev { transition-duration: .01s; }

@media (min-width: 640px) {
  .ld-rejilla { grid-template-columns: repeat(2, 1fr); } .ld-servicios { grid-template-columns: repeat(3, 1fr); } .ld-cifras { grid-template-columns: repeat(4, 1fr); }
  .ld-ancho { padding: 0 24px; } .ld-seccion { padding: 80px 0; }
}
@media (min-width: 900px) {
  .ld-menu { display: flex; } .ld-barra-acciones { margin-left: 0; }
  .ld-portada { padding: 96px 0 104px; } .ld-portada-grid { grid-template-columns: 1.15fr .85fr; }
  .ld-rejilla { grid-template-columns: repeat(3, 1fr); } .ld-pasos { grid-template-columns: repeat(3, 1fr); } .ld-paso { flex-direction: column; }
  .ld-servicios { grid-template-columns: repeat(4, 1fr); } .ld-pie .ld-ancho { grid-template-columns: 1.4fr auto auto; align-items: start; } .ld-derechos { grid-column: 1 / -1; }
}
@media (min-width: 1200px) { .ld-rejilla.ld-citas { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 380px) { .ld-boton { padding: 0 16px; } .ld-acciones .ld-boton { width: 100%; } .ld-barra-acciones .ld-boton { padding: 0 12px; } }
@media print { .ld-barra, .ld-fondo, .ld-brillo { display: none; } }
