/* Sinergia S.A.P. — hoja de estilos única. Sin frameworks, sin CDN. Fuente autoalojada: Schibsted Grotesk.
   Paleta medida sobre el logo del cliente: azul marino #04275f, turquesa #30b2c0, amarillo del post-it, gris #44505f, blanco roto frío.
   Contrastes (probar-web / paleta-de-imagen): marino/papel 14:1 · gris/papel 7,5:1 · turquesa-oscuro/papel 6:1 · amarillo/marino 10:1 · turquesa/marino 6,3:1. */

:root {
  --marino: #04275f;
  --marino-2: #0b3270;
  --marino-3: #1d4a8a;
  --marino-profundo: #021a40;
  --turquesa: #30b2c0;
  --turquesa-os: #0a6b78;
  --turquesa-claro: #d3f0f3;
  --amarillo: #f2c14e;
  --amarillo-claro: #fceec3;
  --amarillo-tinta: #4a3a00;
  --papel: #f5f7f9;
  --papel-2: #e6ecf1;
  --hoja: #fcfdfd;
  --linea: #d2dae2;
  --linea-fuerte: #6b7886;
  --tinta: #04275f;
  --gris: #44505f;
  --sobre-marino: #c9d4de;
  --sobre-marino-suave: #9fb2c4;

  --fuente: 'Schibsted Grotesk', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --suave: cubic-bezier(0.23, 1, 0.32, 1);
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --ancho: 76rem;
  --cab-alto: 5.5rem;
  --radio: 0.85rem;
  --radio-grande: 1.4rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--cab-alto) + 1rem); scroll-behavior: smooth; }
body { margin: 0; font-family: var(--fuente); font-size: 1.0625rem; line-height: 1.6; color: var(--tinta); background: var(--papel); text-wrap: pretty; -webkit-font-smoothing: antialiased; }
.marca--chip:active, .serv__indice a:active, .cab__menu:active, .agenda__repetir:active { transform: scale(0.97); }
img, svg { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, p, ul, ol, figure { margin-top: 0; }
a { color: inherit; text-decoration-thickness: 0.08em; text-underline-offset: 0.18em; }
:focus-visible { outline: 3px solid var(--turquesa-os); outline-offset: 3px; border-radius: 3px; }
.hero :focus-visible, .contacto-banda :focus-visible, .franja :focus-visible, .pie :focus-visible, .barra-movil :focus-visible { outline-color: var(--amarillo); }
::selection { background: var(--amarillo); color: var(--marino); }
.ico { flex: none; }
[hidden] { display: none !important; }

.saltar { position: absolute; left: 1rem; top: -4rem; z-index: 100; padding: 0.75rem 1.25rem; background: var(--amarillo); color: var(--marino); font-weight: 700; border-radius: var(--radio); }
.saltar:focus { top: 1rem; }
.caja { width: min(100% - 2 * var(--gutter), var(--ancho)); margin-inline: auto; }

/* ── Tipografía */
.titulo-hero { font-size: clamp(2.4rem, 1.5rem + 3.5vw, 4.1rem); line-height: 1.04; font-weight: 800; letter-spacing: -0.025em; text-wrap: balance; margin-bottom: 1.5rem; }
.titulo-1 { font-size: clamp(2.1rem, 1.45rem + 3.1vw, 3.6rem); line-height: 1.05; font-weight: 800; letter-spacing: -0.022em; text-wrap: balance; margin-bottom: 1.1rem; max-width: 22ch; }
.titulo-2 { font-size: clamp(1.75rem, 1.35rem + 1.9vw, 2.8rem); line-height: 1.1; font-weight: 780; letter-spacing: -0.018em; text-wrap: balance; margin-bottom: 1rem; }
.titulo-3 { font-size: clamp(1.4rem, 1.2rem + 1vw, 2rem); line-height: 1.15; font-weight: 750; letter-spacing: -0.012em; text-wrap: balance; margin-bottom: 0.75rem; }
.titulo-4 { font-size: 1.35rem; line-height: 1.25; font-weight: 740; margin-bottom: 0.5rem; }
.titulo-5 { font-size: 1.12rem; line-height: 1.3; font-weight: 720; margin-bottom: 0.4rem; }
.lead { font-size: 1.2rem; line-height: 1.55; max-width: 60ch; color: var(--gris); }
.lead--grande { font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.4rem); }
.opcional { font-weight: 400; color: var(--gris); font-size: 0.92em; }
.marcador { background: linear-gradient(transparent 58%, var(--amarillo) 58% 92%, transparent 92%); padding-inline: 0.08em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.hero .marcador, .franja .marcador { background: none; color: var(--amarillo); padding-inline: 0; }
.enlace-flecha { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2.75rem; font-weight: 700; color: var(--turquesa-os); text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat; padding-bottom: 2px; transition: background-size 0.3s var(--suave); }
.enlace-flecha .ico { transition: transform 0.25s var(--suave); }
@media (hover: hover) and (pointer: fine) { .enlace-flecha:hover { background-size: 100% 2px; } .enlace-flecha:hover .ico { transform: translateX(3px); } }

/* ── Botones */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: 2.9rem; padding: 0.7rem 1.35rem; border-radius: var(--radio); border: 2px solid var(--marino); background: var(--marino); color: var(--hoja); font: inherit; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform 0.2s var(--suave), background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; }
.btn:active { transform: scale(0.97); }
.btn--sm { min-height: 2.75rem; padding: 0.5rem 1.05rem; font-size: 0.97rem; }
.btn--grande { min-height: 3.4rem; padding: 0.85rem 1.7rem; font-size: 1.06rem; }
.btn--amarillo { background: var(--amarillo); border-color: var(--amarillo); color: var(--marino); }
.btn--sobre-marino { background: transparent; border-color: rgba(255, 255, 255, 0.6); color: #fff; }
.btn--linea { background: transparent; color: var(--marino); }
@media (hover: hover) and (pointer: fine) {
  .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -10px rgba(4, 39, 95, 0.55); }
  .btn--amarillo:hover { background: #f7dc7e; border-color: #f7dc7e; }
  .btn--sobre-marino:hover { background: rgba(255, 255, 255, 0.12); border-color: #fff; }
  .btn--linea:hover { background: var(--marino); color: var(--hoja); }
  .btn:not(.btn--amarillo):not(.btn--sobre-marino):not(.btn--linea):hover { background: var(--marino-3); border-color: var(--marino-3); }
}
.btn[disabled] { opacity: 0.7; cursor: progress; }

/* ── Cabecera */
.cab { position: sticky; top: 0; z-index: 40; background: var(--papel); border-bottom: 1px solid var(--linea); }
.cab__dentro { width: min(100% - 2 * var(--gutter), var(--ancho)); margin-inline: auto; height: var(--cab-alto); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.cab__logo { display: block; flex: none; line-height: 0; border-radius: 0.5rem; }
.cab__logo img { width: 76px; height: 76px; display: block; mix-blend-mode: multiply; }
.cab__nav { display: flex; align-items: center; gap: clamp(0.9rem, 1.6vw, 1.6rem); white-space: nowrap; }
.cab__nav a:not(.btn) { font-weight: 600; text-decoration: none; padding-block: 0.4rem; background-image: linear-gradient(var(--turquesa-os), var(--turquesa-os)); background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size 0.3s var(--suave); }
.cab__nav a[aria-current='page']:not(.btn) { background-size: 100% 2px; }
@media (hover: hover) and (pointer: fine) { .cab__nav a:not(.btn):hover { background-size: 100% 2px; } }
.cab__tel { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--turquesa-os); font-variant-numeric: tabular-nums; }
.cab__menu { display: none; }
@media (max-width: 80rem) and (min-width: 62.01rem) { .cab__tel span { display: none; } .cab__tel { padding: 0.5rem; border: 1.5px solid var(--linea-fuerte); border-radius: var(--radio); } }

@media (max-width: 62rem) {
  :root { --cab-alto: 4.5rem; }
  .cab__logo img { width: 62px; height: 62px; }
  .cab__menu { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 2.75rem; padding: 0 0.9rem; border: 2px solid var(--marino); border-radius: var(--radio); background: transparent; color: var(--marino); font: inherit; font-weight: 700; cursor: pointer; }
  .cab__menu-i, .cab__menu-i::before { display: block; width: 1.15rem; height: 2px; background: currentColor; position: relative; transition: transform 0.25s var(--suave); }
  .cab__menu-i::before { content: ''; position: absolute; top: 6px; left: 0; }
  .cab__menu-i { margin-top: -6px; }
  .cab__menu[aria-expanded='true'] .cab__menu-i { transform: translateY(3px) rotate(45deg); }
  .cab__menu[aria-expanded='true'] .cab__menu-i::before { top: 0; transform: rotate(-90deg); }
  .js .cab__nav { display: none; position: absolute; inset: var(--cab-alto) 0 auto 0; flex-direction: column; align-items: stretch; gap: 0; padding: 0.75rem var(--gutter) 1.5rem; background: var(--papel); border-bottom: 1px solid var(--linea); box-shadow: 0 24px 40px -24px rgba(4, 39, 95, 0.4); }
  .js .cab__nav[data-abierto] { display: flex; }
  @starting-style { .js .cab__nav[data-abierto] { opacity: 0; transform: translateY(-8px); } }
  .js .cab__nav { transition: opacity 0.2s var(--suave), transform 0.2s var(--suave); }
  .js .cab__nav a:not(.btn) { padding: 0.9rem 0; border-bottom: 1px solid var(--linea); background-image: none; font-size: 1.1rem; }
  .js .cab__tel { padding-block: 0.9rem; }
  .js .cab__cta { margin-top: 1rem; min-height: 3.2rem; }
  .cab__tel span { font-size: 1.1rem; }
}

/* ── Hero */
.hero { position: relative; background: var(--marino); color: var(--hoja); overflow: clip; padding-block: clamp(3rem, 7vw, 6rem) clamp(3.5rem, 8vw, 7rem); isolation: isolate; }
.hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background-image: repeating-linear-gradient(to bottom, transparent 0 4rem, rgba(255, 255, 255, 0.055) 4rem calc(4rem + 1px)); -webkit-mask-image: linear-gradient(100deg, transparent 5%, #000 55%); mask-image: linear-gradient(100deg, transparent 5%, #000 55%); }
.hero__dentro { width: min(100% - 2 * var(--gutter), var(--ancho)); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.hero .lead { color: var(--sobre-marino); }
.hero__acciones { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-top: 2rem; }
.hero__nota { margin: 1.5rem 0 0; color: var(--sobre-marino-suave); font-size: 0.98rem; }
@media (max-width: 62rem) { .hero__dentro { grid-template-columns: minmax(0, 1fr); } }

/* La agenda viva (estado por defecto = ya ordenada) */
.agenda { position: relative; background: var(--hoja); color: var(--tinta); border-radius: var(--radio-grande); padding: 1.25rem 1.25rem 1rem; max-width: 33rem; margin-inline: auto; width: 100%; box-shadow: 0 40px 60px -30px rgba(0, 0, 0, 0.55); }
.agenda::before { content: ''; position: absolute; top: -0.6rem; left: 1.6rem; width: 10rem; height: 1.2rem; border-radius: 0.55rem 0.55rem 0 0; background: linear-gradient(90deg, var(--turquesa) 0 34%, var(--amarillo) 34% 67%, var(--papel-2) 67%); z-index: -1; }
.agenda__cab { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 0.7rem; }
.agenda__dia { font-weight: 780; font-size: 1.08rem; letter-spacing: -0.01em; }
.agenda__repetir { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2.75rem; padding: 0 0.7rem; border: 0; background: transparent; color: var(--turquesa-os); font: inherit; font-weight: 700; font-size: 0.92rem; border-radius: var(--radio); cursor: pointer; }
@media (hover: hover) and (pointer: fine) { .agenda__repetir:hover { background: var(--turquesa-claro); } }
.agenda__filas { list-style: none; margin: 0; padding: 0; }
.agenda__fila { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); align-items: center; gap: 0.7rem; padding-block: 0.38rem; border-top: 1px solid var(--linea); }
.agenda__hora { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--gris); font-size: 0.95rem; }
.agenda__pie { margin: 0.7rem 0 0; font-size: 0.82rem; color: var(--gris); }
.chip { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.6rem; min-height: 2.9rem; padding: 0.45rem 0.8rem; border-radius: 0.75rem; font-weight: 640; font-size: 0.96rem; line-height: 1.25; background: var(--papel-2); color: var(--tinta); }
.agenda--anim .chip { will-change: transform; }
.chip__ico { color: var(--gris); }
.chip--wa { background: var(--turquesa-claro); }
.chip--wa .chip__ico { color: var(--turquesa-os); }
.chip--llamada { background: #dde7f2; }
.chip--espera { background: var(--amarillo-claro); color: var(--amarillo-tinta); }
.chip--espera .chip__ico { color: var(--amarillo-tinta); }
.chip__antes { display: none; }
.chip__ok { display: inline-flex; color: var(--turquesa-os); }
.chip--espera .chip__ok { color: var(--amarillo-tinta); }
/* Estado de animación: lo activa hero.js; si falla o hay movimiento reducido, nunca se aplica */
.agenda--anim .chip:not(.is-hecho) .chip__despues { display: none; }
.agenda--anim .chip:not(.is-hecho) .chip__antes { display: block; }
.agenda--anim .chip:not(.is-hecho) .chip__ok { visibility: hidden; }
.agenda--anim .chip:not(.is-hecho)[data-antes='hueco'] { background: transparent; box-shadow: inset 0 0 0 2px var(--linea-fuerte); color: var(--gris); border-radius: 0.75rem; }
.agenda--anim .chip:not(.is-hecho)[data-antes='hueco'] .chip__ico { color: var(--gris); }
.agenda--anim .chip.is-hecho .chip__despues { animation: aparecer 0.3s var(--suave); }
@keyframes aparecer { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media (max-width: 30rem) { .chip { font-size: 0.9rem; padding-inline: 0.6rem; gap: 0.45rem; } .agenda { padding-inline: 0.9rem; } .agenda__fila { grid-template-columns: 2.9rem minmax(0, 1fr); gap: 0.5rem; } }

/* ── Un día cualquiera (servicios en línea de tiempo) */
.dia { padding-block: clamp(4rem, 9vw, 8rem); }
.dia__dentro { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.dia__intro { position: sticky; top: calc(var(--cab-alto) + 2rem); }
.dia__aviso { min-height: 1.6rem; color: var(--turquesa-os); font-weight: 700; margin-bottom: 1rem; }
.dia__lista { --col-hora: 3.6rem; --gap-dia: 1.75rem; list-style: none; margin: 0; padding: 0; position: relative; }
.dia__lista::before { content: ''; position: absolute; top: 1.6rem; bottom: 1.6rem; left: calc(var(--col-hora) + var(--gap-dia) / 2 - 1px); width: 2px; background: var(--linea); }
.dia__item { position: relative; display: grid; grid-template-columns: var(--col-hora) minmax(0, 1fr); gap: var(--gap-dia); padding-block: 1.3rem; }
.dia__item::before { content: ''; position: absolute; top: 1.85rem; left: calc(var(--col-hora) + var(--gap-dia) / 2 - 7px); width: 14px; height: 14px; border-radius: 50%; background: var(--papel); border: 3px solid var(--turquesa-os); }
.dia__item:has(input:checked)::before { background: var(--turquesa-os); }
.dia__hora { font-variant-numeric: tabular-nums; font-weight: 750; color: var(--turquesa-os); padding-top: 0.35rem; font-size: 1.05rem; }
.dia__titulo { display: flex; align-items: center; gap: 0.6rem; font-size: 1.35rem; line-height: 1.2; font-weight: 750; margin-bottom: 0.35rem; }
.dia__ico { color: var(--turquesa-os); }
.dia__momento { color: var(--gris); margin-bottom: 0.4rem; }
.dia__resumen { font-weight: 560; margin-bottom: 1rem; max-width: 52ch; }
.dia__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; }
@media (max-width: 62rem) { .dia__dentro { grid-template-columns: minmax(0, 1fr); } .dia__intro { position: static; } .dia__lista { --col-hora: 3.2rem; --gap-dia: 1.25rem; } }
@media (max-width: 30rem) { .dia__lista { --col-hora: 2.9rem; --gap-dia: 1rem; } }

/* Casillas */
.marca { display: inline-flex; align-items: center; gap: 0.7rem; min-height: 2.75rem; cursor: pointer; font-weight: 560; }
.marca input { appearance: none; -webkit-appearance: none; flex: none; width: 1.5rem; height: 1.5rem; margin: 0; border: 2px solid var(--linea-fuerte); border-radius: 0.4rem; background: var(--hoja); display: grid; place-content: center; cursor: pointer; transition: background-color 0.18s, border-color 0.18s; }
.marca input::after { content: ''; width: 0.7rem; height: 0.38rem; border-left: 2.5px solid #fff; border-bottom: 2.5px solid #fff; transform: rotate(-45deg) translate(1px, -1px) scale(0.6); opacity: 0; transition: transform 0.18s var(--suave), opacity 0.18s; }
.marca input:checked { background: var(--turquesa-os); border-color: var(--turquesa-os); }
.marca input:checked::after { transform: rotate(-45deg) translate(1px, -1px) scale(1); opacity: 1; }
.marca--chip { padding: 0.4rem 1rem 0.4rem 0.75rem; border: 1.5px solid var(--linea-fuerte); border-radius: 999px; background: var(--hoja); font-size: 0.97rem; transition: background-color 0.2s, border-color 0.2s; }
.marca--chip:has(input:checked) { background: var(--turquesa-claro); border-color: var(--turquesa-os); }

/* ── Carpetas: qué somos y qué no */
.carpetas, .reparto { padding-block: clamp(4rem, 8vw, 7rem); background: var(--papel-2); }
.reparto { background: var(--papel); }
.carpetas__titulo { max-width: 24ch; }
.carpetas__par { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem clamp(1.25rem, 3vw, 2.5rem); margin-top: 3.25rem; }
.carpeta { position: relative; border-radius: 0 var(--radio-grande) var(--radio-grande) var(--radio-grande); padding: 2.1rem clamp(1.25rem, 3vw, 2.25rem) 1.8rem; }
.carpeta__tab { position: absolute; left: 0; top: -2.55rem; margin: 0; padding: 0.6rem 1.3rem; border-radius: 0.95rem 0.95rem 0 0; font-weight: 750; font-size: 0.98rem; }
.carpeta--no { background: var(--hoja); border: 2px solid var(--linea-fuerte); }
.carpeta--no .carpeta__tab { background: var(--gris); color: #fff; }
.carpeta--si { background: var(--marino); color: var(--hoja); }
.carpeta--si .carpeta__tab { background: var(--amarillo); color: var(--marino); }
.carpeta__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.carpeta__lista li { position: relative; padding-left: 2rem; font-size: 1.12rem; line-height: 1.45; font-weight: 560; }
.carpeta__lista li::before { content: ''; position: absolute; left: 0; top: 0.35em; width: 1.1rem; height: 1.1rem; background: currentColor; -webkit-mask: var(--marca-icono) center / contain no-repeat; mask: var(--marca-icono) center / contain no-repeat; }
.carpeta--no li::before { --marca-icono: 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' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); color: var(--gris); }
.carpeta--si li::before { --marca-icono: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); color: var(--turquesa); }
@media (max-width: 52rem) { .carpetas__par { grid-template-columns: minmax(0, 1fr); gap: 3.25rem; } }

/* ── Pasos */
.pasos { padding-block: clamp(4rem, 8vw, 7rem); }
.pasos__lista { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem; counter-reset: paso; }
.pasos__lista li { position: relative; border-top: 2px solid var(--marino); padding-top: 1.1rem; }
.pasos__lista li::before { content: ''; position: absolute; top: -2px; left: 0; width: 3.2rem; height: 6px; background: var(--amarillo); }
.pasos__n { display: block; font-size: 2.8rem; line-height: 1; font-weight: 800; color: var(--turquesa-os); font-variant-numeric: tabular-nums; margin-bottom: 0.8rem; }
.pasos__lista h3 { font-size: 1.25rem; font-weight: 750; margin-bottom: 0.4rem; }
.pasos__lista p { margin: 0; color: var(--gris); }
.pasos__mas { margin: 2rem 0 0; }
.pasos--grande .pasos__lista--vertical { grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 52rem; margin-top: 0; }
.pasos__lista--vertical li { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1.25rem; padding-block: 1.6rem 1.9rem; }
.pasos__lista--vertical .pasos__n { font-size: 3.6rem; margin: 0; }
.pasos__lista--vertical p { font-size: 1.12rem; max-width: 56ch; }
@media (max-width: 62rem) { .pasos__lista:not(.pasos__lista--vertical) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 1.75rem; } }
@media (max-width: 36rem) { .pasos__lista:not(.pasos__lista--vertical) { grid-template-columns: minmax(0, 1fr); } .pasos__lista--vertical li { grid-template-columns: 3.6rem minmax(0, 1fr); } .pasos__lista--vertical .pasos__n { font-size: 2.8rem; } }

/* ── Casos */
.casos { padding-block: 0 clamp(4rem, 8vw, 7rem); }
.casos--pagina { padding-top: 0; }
.casos__par { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(1.25rem, 3vw, 2.5rem); margin-top: 1.75rem; align-items: stretch; }
.caso { background: var(--hoja); border: 1px solid var(--linea); border-radius: var(--radio-grande); padding: clamp(1.5rem, 3vw, 2.25rem); display: flex; flex-direction: column; gap: 0.5rem; }
.caso h3 { font-size: 1.5rem; font-weight: 760; line-height: 1.2; margin-bottom: 0.25rem; }
.caso p { margin: 0 0 1rem; color: var(--gris); font-size: 1.08rem; }
.caso .enlace-flecha { margin-top: auto; align-self: flex-start; }
@media (max-width: 52rem) { .casos__par { grid-template-columns: minmax(0, 1fr); } }

/* ── Información delicada */
.delicada { background: var(--turquesa-claro); padding-block: clamp(2.5rem, 5vw, 4rem); }
.delicada__dentro { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.delicada .titulo-3 { margin: 0; }
.delicada p { max-width: 58ch; }
.delicada .enlace-flecha { color: var(--marino); }
@media (max-width: 52rem) { .delicada__dentro { grid-template-columns: minmax(0, 1fr); } }

/* ── FAQ */
.faq-resumen { padding-block: clamp(4rem, 8vw, 7rem); }
.faq-resumen__dentro { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.faq { border-top: 2px solid var(--marino); }
.faq__item { border-bottom: 1px solid var(--linea-fuerte); }
.faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 3.6rem; padding-block: 1rem; cursor: pointer; font-weight: 700; font-size: 1.15rem; line-height: 1.35; list-style: none; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: ''; flex: none; width: 1.3rem; height: 1.3rem; background: linear-gradient(var(--turquesa-os), var(--turquesa-os)) center / 100% 2.5px no-repeat, linear-gradient(var(--turquesa-os), var(--turquesa-os)) center / 2.5px 100% no-repeat; transition: transform 0.3s var(--suave); }
.faq__item[open] summary::after { transform: rotate(45deg); }
.faq__resp { padding-bottom: 1.25rem; max-width: 62ch; color: var(--gris); }
.faq__resp p { margin: 0; }
.faq__resp a { color: var(--turquesa-os); font-weight: 700; }
@supports (interpolate-size: allow-keywords) {
  .faq__item { interpolate-size: allow-keywords; }
  .faq__item::details-content { block-size: 0; overflow: clip; transition: block-size 0.25s var(--suave), content-visibility 0.25s allow-discrete; }
  .faq__item[open]::details-content { block-size: auto; }
}
@media (hover: hover) and (pointer: fine) { .faq__item summary:hover { color: var(--turquesa-os); } }
.faq-pag { padding-bottom: clamp(3rem, 6vw, 5rem); }
.faq--pagina { max-width: 52rem; }
@media (max-width: 62rem) { .faq-resumen__dentro { grid-template-columns: minmax(0, 1fr); } }

/* ── Banda de contacto con formulario */
.contacto-banda { background: var(--marino); color: var(--hoja); padding-block: clamp(4rem, 8vw, 7rem); }
.contacto-banda .lead { color: var(--sobre-marino); }
.contacto-banda__dentro { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.contacto-banda__vias, .vias { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 0.5rem; }
.vias { margin-top: 0.75rem; margin-bottom: 2rem; }
.contacto-banda__vias a, .vias a { display: flex; align-items: center; gap: 1rem; padding: 0.9rem 1rem; border-radius: var(--radio); border: 1.5px solid rgba(255, 255, 255, 0.28); text-decoration: none; min-height: 3.4rem; transition: background-color 0.2s, border-color 0.2s; }
.contacto-banda__vias span, .vias span { display: grid; line-height: 1.3; }
.contacto-banda__vias strong, .vias strong { font-weight: 750; }
.contacto-banda__vias .ico, .vias .ico { color: var(--turquesa); }
.vias a { border-color: var(--linea-fuerte); }
.vias .ico { color: var(--turquesa-os); }
@media (hover: hover) and (pointer: fine) { .contacto-banda__vias a:hover { background: rgba(255, 255, 255, 0.1); border-color: #fff; } .vias a:hover { background: var(--turquesa-claro); border-color: var(--turquesa-os); } }
@media (max-width: 62rem) { .contacto-banda__dentro { grid-template-columns: minmax(0, 1fr); } }

/* ── Formulario */
.form { background: var(--hoja); color: var(--tinta); border-radius: var(--radio-grande); padding: clamp(1.25rem, 3vw, 2rem); display: grid; gap: 1.1rem; }
.contacto-pag .form { border: 1px solid var(--linea); }
.form__fila { display: grid; gap: 1.1rem; }
.form__fila--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 36rem) { .form__fila--2 { grid-template-columns: minmax(0, 1fr); } }
.campo { display: grid; gap: 0.35rem; align-content: start; }
.campo label, .form__tareas legend { font-weight: 700; font-size: 0.98rem; }
.campo input[type='text'], .campo input[type='email'], .campo input[type='tel'], .campo select, .campo textarea { width: 100%; min-height: 3rem; padding: 0.65rem 0.85rem; font: inherit; color: var(--tinta); background: #fff; border: 1.5px solid var(--linea-fuerte); border-radius: 0.65rem; transition: border-color 0.18s, box-shadow 0.18s; }
.campo textarea { resize: vertical; min-height: 7rem; }
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible { outline: none; border-color: var(--turquesa-os); box-shadow: 0 0 0 3px rgba(10, 107, 120, 0.28); }
.campo [aria-invalid='true'] { border-color: #a4262c; }
.ayuda { margin: 0; font-size: 0.92rem; color: var(--gris); }
.error { margin: 0; min-height: 0; font-size: 0.92rem; font-weight: 650; color: #a4262c; }
.error:empty { display: none; }
.form__tareas { border: 0; padding: 0; margin: 0; min-width: 0; }
.form__tareas legend { padding: 0; margin-bottom: 0.4rem; }
.form__tareas-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
@media (max-width: 36rem) { .form__tareas-lista { grid-template-columns: minmax(0, 1fr); } }
.form__resumen { margin: 0; padding: 0.8rem 1rem; border-radius: 0.65rem; background: var(--papel-2); color: var(--tinta); font-size: 0.98rem; }
.form__resumen.es-activo { background: var(--turquesa-claro); font-weight: 650; }
.campo--acepto .marca { align-items: flex-start; font-weight: 450; font-size: 0.96rem; line-height: 1.45; }
.campo--acepto .marca input { margin-top: 0.2rem; }
.campo--acepto a { font-weight: 700; color: var(--turquesa-os); }
.form__pie { display: grid; gap: 0.9rem; justify-items: start; }
.form__alt { margin: 0; font-size: 0.96rem; color: var(--gris); }
.form__alt a { color: var(--turquesa-os); font-weight: 700; }
.form__estado { margin: 0; font-weight: 700; }
.form__estado:empty { display: none; }
.form__estado.es-error { color: #a4262c; }
.form__estado.es-ok { color: var(--turquesa-os); }
.trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ── Cabeceras de página interior */
.pag-cab { position: relative; isolation: isolate; padding-block: clamp(3rem, 7vw, 5.5rem) clamp(1.75rem, 4vw, 3rem); }
.pag-cab::before { content: ''; position: absolute; z-index: -1; right: 0; top: 0; bottom: 0; width: min(40%, 30rem); background-image: repeating-linear-gradient(to bottom, transparent 0 2.4rem, var(--linea) 2.4rem calc(2.4rem + 1px)); -webkit-mask-image: linear-gradient(90deg, transparent, #000 70%); mask-image: linear-gradient(90deg, transparent, #000 70%); pointer-events: none; }
.pag-cab::after { content: ''; display: block; width: 9rem; height: 0.45rem; margin-top: 2rem; border-radius: 999px; background: linear-gradient(90deg, var(--turquesa) 0 34%, var(--amarillo) 34% 67%, var(--papel-2) 67%); }
.pag-cab .titulo-1 { margin-bottom: 1.5rem; }
.pag-cab .lead { margin-bottom: 0; }
.pag-cab--gracias { min-height: 50vh; }
.pag-cab--gracias p { max-width: 56ch; }

/* ── Servicios */
.serv__indice { padding-bottom: 2.5rem; }
.serv__indice ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.serv__indice a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.4rem 1rem; border: 1.5px solid var(--linea-fuerte); border-radius: 999px; font-weight: 650; font-size: 0.97rem; text-decoration: none; background: var(--hoja); transition: background-color 0.2s, border-color 0.2s; }
@media (hover: hover) and (pointer: fine) { .serv__indice a:hover { background: var(--turquesa-claro); border-color: var(--turquesa-os); } }
.serv { padding-block: clamp(2.75rem, 6vw, 4.75rem); border-top: 1px solid var(--linea); }
.serv--alt { background: var(--papel-2); }
.serv__dentro { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 6vw, 5rem); align-items: start; }
.serv__cab { position: sticky; top: calc(var(--cab-alto) + 1.5rem); }
.serv__hora { display: inline-block; margin-bottom: 0.75rem; padding: 0.3rem 0.8rem; border-radius: 0.6rem 0.6rem 0.6rem 0; background: var(--marino); color: var(--amarillo); font-weight: 750; font-variant-numeric: tabular-nums; font-size: 0.95rem; }
.serv__cab .titulo-3 { display: flex; align-items: center; gap: 0.7rem; }
.serv__ico { color: var(--turquesa-os); }
.serv__resumen { font-size: 1.15rem; color: var(--gris); margin-bottom: 1.4rem; max-width: 40ch; }
.serv__cols { display: grid; gap: 1.75rem; }
.serv__cols > div { padding-bottom: 1.5rem; border-bottom: 1px solid var(--linea-fuerte); }
.serv__cols > div:last-child { border-bottom: 0; padding-bottom: 0; }
.serv__h { font-size: 1.05rem; font-weight: 760; color: var(--turquesa-os); margin-bottom: 0.6rem; }
.serv__limite { margin: 0; font-weight: 600; max-width: 56ch; }
.lista-marcas { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.65rem; }
.lista-marcas li { position: relative; padding-left: 1.75rem; max-width: 58ch; }
.lista-marcas li::before { content: ''; position: absolute; left: 0; top: 0.5em; width: 0.95rem; height: 0.95rem; background: var(--turquesa-os); -webkit-mask: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.lista-marcas--suave li::before { background: var(--gris); }
@media (max-width: 62rem) { .serv__dentro { grid-template-columns: minmax(0, 1fr); } .serv__cab { position: static; } }

/* ── Sobre nosotros */
.sobre { padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.sobre__bloque { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(1rem, 5vw, 4rem); padding-block: clamp(1.75rem, 4vw, 2.75rem); border-top: 1px solid var(--linea-fuerte); }
.sobre__bloque .titulo-3 { margin: 0; }
.sobre__bloque p { margin: 0; font-size: 1.2rem; max-width: 58ch; }
@media (max-width: 52rem) { .sobre__bloque { grid-template-columns: minmax(0, 1fr); } }

/* ── Franja de contacto (final de página) */
.franja { background: var(--marino); color: var(--hoja); padding-block: clamp(3rem, 6vw, 5rem); }
.franja .lead { color: var(--sobre-marino); margin-bottom: 0; }
.franja__dentro { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.franja__acciones { display: grid; gap: 0.75rem; }
@media (max-width: 62rem) { .franja__dentro { grid-template-columns: minmax(0, 1fr); } .franja__acciones { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); } }

/* ── Contacto (página) */
.contacto-pag { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; padding-bottom: clamp(4rem, 8vw, 7rem); }
.contacto-pag__datos p { max-width: 40ch; }
@media (max-width: 62rem) { .contacto-pag { grid-template-columns: minmax(0, 1fr); } }

/* ── Guías y textos largos */
.guias { padding-bottom: clamp(3rem, 6vw, 5rem); }
.guias__lista { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--marino); }
.guias__item { border-bottom: 1px solid var(--linea-fuerte); }
.guias__item a { display: grid; gap: 0.2rem; padding-block: 1.6rem; text-decoration: none; transition: background-color 0.2s; }
.guias__item p { margin: 0 0 0.5rem; color: var(--gris); max-width: 62ch; }
.guias__fecha { font-size: 0.92rem; color: var(--gris); font-variant-numeric: tabular-nums; }
.guias__item h2, .guias__item h3 { margin: 0; }
.guias__item .enlace-flecha { justify-self: start; }
@media (hover: hover) and (pointer: fine) { .guias__item a:hover .enlace-flecha { background-size: 100% 2px; } .guias__item a:hover h2, .guias__item a:hover h3 { color: var(--turquesa-os); } }
.guias--otras { padding-top: 1rem; }
.articulo { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 4vw, 3rem); }
.articulo__cab { max-width: 52rem; margin-bottom: 2rem; }
.articulo .titulo-1 { max-width: 26ch; }
.migas { font-size: 0.95rem; color: var(--gris); margin-bottom: 1.25rem; }
.migas a { color: var(--turquesa-os); font-weight: 650; }
.articulo__meta { color: var(--gris); font-size: 0.95rem; }
.prosa { max-width: 44rem; font-size: 1.12rem; line-height: 1.7; }
.prosa h2 { font-size: clamp(1.5rem, 1.3rem + 1vw, 2.05rem); line-height: 1.18; font-weight: 780; letter-spacing: -0.012em; margin: 2.6rem 0 0.9rem; text-wrap: balance; }
.prosa h3 { font-size: 1.28rem; font-weight: 750; margin: 2rem 0 0.6rem; }
.prosa p, .prosa ul, .prosa ol { margin-bottom: 1.1rem; }
.prosa li { margin-bottom: 0.45rem; }
.prosa a { color: var(--turquesa-os); font-weight: 650; }
.prosa strong { font-weight: 720; }
.prosa blockquote { margin: 1.6rem 0; padding: 1rem 1.25rem; background: var(--turquesa-claro); color: var(--tinta); border-radius: var(--radio); font-weight: 560; }
.prosa blockquote.callout-cta { background: var(--marino); color: var(--hoja); }
.prosa blockquote.callout-cta a { color: var(--amarillo); }
.prosa blockquote.callout-nota { background: var(--amarillo-claro); color: var(--amarillo-tinta); }
.prosa blockquote.callout-nota a { color: var(--amarillo-tinta); text-decoration: underline; }
.prosa blockquote p { margin: 0; }
.prosa table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.98rem; display: block; overflow-x: auto; }
.prosa th, .prosa td { text-align: left; padding: 0.65rem 0.8rem; border-bottom: 1px solid var(--linea-fuerte); vertical-align: top; }
.prosa th { background: var(--papel-2); font-weight: 720; }
.indice { margin: 1.75rem 0 2rem; padding: 1.1rem 1.4rem; background: var(--papel-2); border-radius: var(--radio); }
.indice p { margin: 0 0 0.4rem; }
.indice ol { margin: 0; padding-left: 1.3rem; }
.indice li { margin: 0.2rem 0; }
.callout { margin: 1.8rem 0; padding: 1.05rem 1.3rem; border-radius: var(--radio); background: var(--turquesa-claro); }
.callout-cta { background: var(--marino); color: var(--hoja); }
.callout-cta a { color: var(--amarillo); }
.callout-nota { background: var(--amarillo-claro); color: var(--amarillo-tinta); }
.callout-nota a { color: var(--amarillo-tinta); text-decoration: underline; }
.doc-legal { padding-block: clamp(2.5rem, 6vw, 4.5rem); max-width: 54rem; margin-inline: auto; }
.doc-legal.caja { width: min(100% - 2 * var(--gutter), 54rem); }
.doc-legal .titulo-1 { max-width: none; font-size: clamp(2rem, 1.5rem + 2vw, 3rem); }
.doc-legal p, .doc-legal li { font-size: 1.04rem; }

/* ── Pie */
.pie { background: var(--marino-profundo); color: var(--sobre-marino); padding-top: clamp(3rem, 6vw, 5rem); }
.pie a { text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .pie a:hover { color: #fff; text-decoration: underline; } }
.pie__arriba { width: min(100% - 2 * var(--gutter), var(--ancho)); margin-inline: auto; display: grid; grid-template-columns: 1.3fr 0.8fr 1.2fr; gap: clamp(2rem, 5vw, 4rem); padding-bottom: 3rem; }
.pie__logo { display: inline-block; line-height: 0; border-radius: 1rem; overflow: hidden; background: var(--hoja); margin-bottom: 1.25rem; }
.pie__logo img { display: block; width: 88px; height: 88px; }
.pie__lema { font-size: 1.35rem; line-height: 1.3; font-weight: 750; color: #fff; max-width: 20ch; }
.pie__lema span { color: var(--amarillo); }
.pie__t { font-size: 1rem; font-weight: 750; color: #fff; margin-bottom: 0.9rem; }
.pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
.pie ul a { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 2.75rem; }
.pie__contacto .ico { color: var(--turquesa); }
.pie__zona { margin: 1rem 0 0; font-size: 0.96rem; color: var(--sobre-marino-suave); }
.pie__abajo { border-top: 1px solid var(--marino-3); width: min(100% - 2 * var(--gutter), var(--ancho)); margin-inline: auto; padding-block: 1.5rem 2rem; display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; justify-content: space-between; font-size: 0.93rem; color: var(--sobre-marino-suave); }
.pie__abajo p { margin: 0; }
.pie__abajo a { color: var(--sobre-marino); text-decoration: underline; }
.pie .legal { display: flex; flex-wrap: wrap; gap: 0 0.5rem; }
.pie .legal a { display: inline-flex; align-items: center; min-height: 2.75rem; padding-inline: 0.35rem; }
@media (max-width: 62rem) { .pie__arriba { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .pie__col--marca { grid-column: 1 / -1; } }
@media (max-width: 36rem) { .pie__arriba { grid-template-columns: minmax(0, 1fr); } }

/* ── Ampliación: «Pensado para», semana, calculadora, caso de ejemplo, acordado, qué esperar, principios, qué pasa después */
.quien { background: var(--papel-2); padding-block: clamp(2.5rem, 5vw, 4.25rem); }
.quien__dentro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.7fr); gap: clamp(1.25rem, 5vw, 4rem); align-items: end; }
.quien__t { margin: 0; font-size: clamp(1.45rem, 1.1rem + 1.5vw, 2.25rem); line-height: 1.22; font-weight: 720; letter-spacing: -0.012em; text-wrap: balance; }
.quien__p { margin: 0; color: var(--gris); font-size: 1.12rem; max-width: 34ch; }
@media (max-width: 52rem) { .quien__dentro { grid-template-columns: minmax(0, 1fr); } }

.calc-teaser { padding-block: clamp(3.5rem, 7vw, 6rem); }
.calc-teaser__dentro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.calc-teaser .lead { margin-bottom: 1.75rem; }
.semana { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(0.5rem, 1.6vw, 1rem); align-items: end; max-width: 26rem; margin-inline: auto; width: 100%; padding: 1.25rem 1.25rem 0.9rem; background: var(--hoja); border-radius: var(--radio-grande); border: 1px solid var(--linea); }
.semana__dia { display: grid; gap: 0.5rem; justify-items: stretch; }
.semana__bloques { display: flex; flex-direction: column-reverse; gap: 0.35rem; min-height: 10.5rem; justify-content: flex-start; }
.semana__b { display: block; height: 2.1rem; border-radius: 0.55rem; background: var(--turquesa-claro); }
.semana__b--1 { background: var(--amarillo-claro); }
.semana__b--2 { background: var(--papel-2); }
.semana__d { text-align: center; font-weight: 700; color: var(--gris); font-size: 0.92rem; }
@media (max-width: 52rem) { .calc-teaser__dentro { grid-template-columns: minmax(0, 1fr); } }

/* Caso de ejemplo (Servicios) */
.flujo { padding-block: clamp(3.5rem, 7vw, 6rem); border-top: 1px solid var(--linea); }
.flujo__pasos { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem; }
.flujo__pasos li { position: relative; }
.flujo__pasos li:not(:last-child)::after { content: ''; position: absolute; top: 1.5rem; left: 3.75rem; right: -0.75rem; height: 2px; background: var(--linea-fuerte); }
.flujo__ico { box-sizing: border-box; width: 3rem; height: 3rem; padding: 0.75rem; border-radius: 50%; background: var(--turquesa-claro); color: var(--turquesa-os); margin-bottom: 0.9rem; }
.flujo__pasos h3 { font-size: 1.12rem; font-weight: 750; margin-bottom: 0.3rem; }
.flujo__pasos p { margin: 0; color: var(--gris); font-size: 0.99rem; }
@media (max-width: 62rem) {
  .flujo__pasos { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .flujo__pasos li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: 1rem; padding-bottom: 1.5rem; }
  .flujo__pasos li:not(:last-child)::after { top: 3rem; bottom: 0; left: 1.45rem; right: auto; width: 2px; height: auto; }
  .flujo__ico { grid-row: 1 / span 2; margin: 0; }
}

/* Lo que se acuerda (Cómo trabajamos) */
.acordado { padding-block: clamp(3rem, 6vw, 5rem); background: var(--papel-2); }
.acordado__dentro { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.acordado__lista { margin: 0; display: grid; }
.acordado__lista > div { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 1rem; padding-block: 1.1rem; border-top: 1px solid var(--linea-fuerte); }
.acordado__lista dt { font-weight: 750; }
.acordado__lista dd { margin: 0; color: var(--gris); }
@media (max-width: 62rem) { .acordado__dentro { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 36rem) { .acordado__lista > div { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; } }

/* Qué esperar y principios (Sobre nosotros) */
.esperar { background: var(--papel-2); padding-block: clamp(3.5rem, 7vw, 6rem); }
.esperar__lista { list-style: none; margin: 2.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem clamp(1.5rem, 5vw, 4rem); }
.esperar__lista li { position: relative; border-top: 2px solid var(--marino); padding-top: 1rem; }
.esperar__lista li::before { content: ''; position: absolute; top: -2px; left: 0; width: 3.2rem; height: 6px; background: var(--amarillo); }
.esperar__lista h3 { font-size: 1.3rem; font-weight: 750; margin-bottom: 0.4rem; }
.esperar__lista p { margin: 0; color: var(--gris); max-width: 48ch; }
@media (max-width: 52rem) { .esperar__lista { grid-template-columns: minmax(0, 1fr); } }
.principios { padding-block: clamp(3.5rem, 7vw, 6rem); }
.principios__lista { list-style: none; margin: 2rem 0 0; padding: 0; max-width: 56rem; }
.principios__lista li { padding-block: 1.35rem; border-top: 1px solid var(--linea-fuerte); font-size: clamp(1.1rem, 1rem + 0.5vw, 1.35rem); line-height: 1.45; max-width: 60ch; }
.principios__lista li:last-child { border-bottom: 1px solid var(--linea-fuerte); }
.principios__lista strong { color: var(--turquesa-os); font-weight: 780; }

/* Qué pasa después (Contacto) */
.despues { margin: 0 0 1.5rem; padding-left: 1.3rem; display: grid; gap: 0.7rem; max-width: 40ch; }
.despues li::marker { color: var(--turquesa-os); font-weight: 800; }

/* ── Calculadora */
.calc { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.calc__form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.calc__form legend { padding: 0; margin-bottom: 1rem; }
.calc__fila { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; align-items: baseline; padding-block: 0.9rem; border-top: 1px solid var(--linea-fuerte); }
.calc__fila label { grid-column: 1; grid-row: 1; font-weight: 700; font-size: 1.08rem; }
.calc__ayuda { display: block; font-weight: 400; color: var(--gris); font-size: 0.95rem; }
.calc__fila output { grid-column: 2; grid-row: 1; font-variant-numeric: tabular-nums; font-weight: 800; font-size: 1.2rem; color: var(--turquesa-os); min-width: 4.5rem; text-align: right; }
.calc__fila input[type='range'] { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 2.75rem; margin: 0.3rem 0 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
.calc__fila input[type='range']::-webkit-slider-runnable-track { height: 0.6rem; border-radius: 999px; background: linear-gradient(to right, var(--turquesa-os) var(--llenado, 0%), var(--papel-2) var(--llenado, 0%)); box-shadow: inset 0 0 0 1px var(--linea-fuerte); }
.calc__fila input[type='range']::-moz-range-track { height: 0.6rem; border-radius: 999px; background: linear-gradient(to right, var(--turquesa-os) var(--llenado, 0%), var(--papel-2) var(--llenado, 0%)); box-shadow: inset 0 0 0 1px var(--linea-fuerte); }
.calc__fila input[type='range']::-webkit-slider-thumb { -webkit-appearance: none; width: 1.75rem; height: 1.75rem; margin-top: -0.58rem; border-radius: 50%; background: var(--marino); border: 3px solid var(--hoja); box-shadow: 0 2px 6px rgba(4, 39, 95, 0.4); transition: transform 0.18s var(--suave); }
.calc__fila input[type='range']::-moz-range-thumb { width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--marino); border: 3px solid var(--hoja); box-shadow: 0 2px 6px rgba(4, 39, 95, 0.4); }
.calc__fila input[type='range']:active::-webkit-slider-thumb { transform: scale(1.12); }
.calc__fila input[type='range']:focus-visible { outline: 3px solid var(--turquesa-os); outline-offset: 2px; border-radius: 999px; }
.calc__resultado { position: sticky; top: calc(var(--cab-alto) + 1.5rem); background: var(--marino); color: var(--hoja); border-radius: var(--radio-grande); padding: clamp(1.5rem, 3vw, 2.25rem); display: grid; gap: 1.1rem; }
.calc__resultado .ayuda { color: var(--sobre-marino-suave); }
.calc__total { margin: 0; display: grid; gap: 0.1rem; }
.calc__total [data-calc-semana] { font-size: clamp(3.4rem, 2.4rem + 4vw, 5rem); line-height: 1; font-weight: 800; color: var(--amarillo); letter-spacing: -0.02em; }
.calc__unidad { color: var(--sobre-marino); font-weight: 600; }
.calc__desglose { margin: 0; display: grid; }
.calc__desglose > div { display: flex; justify-content: space-between; gap: 1rem; padding-block: 0.65rem; border-top: 1px solid var(--marino-3); }
.calc__desglose dt { color: var(--sobre-marino); }
.calc__desglose dd { margin: 0; font-weight: 750; text-align: right; }
.calc__frase { margin: 0; color: var(--sobre-marino); min-height: 3rem; }
.calc__resultado .btn { justify-self: start; }
.calc-nota { padding-bottom: clamp(3rem, 6vw, 5rem); max-width: 52rem; margin-inline: auto; }
.calc-nota p { font-size: 1.12rem; }
.calc-nota a { color: var(--turquesa-os); font-weight: 700; }
@media (max-width: 62rem) { .calc { grid-template-columns: minmax(0, 1fr); } .calc__resultado { position: static; } }


/* ── Paquetes, adicionales y condiciones (dossier de Sinergia) */
.paquetes-sec { padding-block: clamp(3rem, 6vw, 5rem); }
.paquetes-sec--inicio { background: var(--hoja); border-block: 1px solid var(--linea); }
.paquetes-sec .lead { margin-bottom: 0; }
.paquetes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); margin-top: 2.25rem; align-items: start; }
.paquete { display: grid; gap: 1rem; background: var(--hoja); border: 1.5px solid var(--linea-fuerte); border-radius: var(--radio-grande); padding: clamp(1.5rem, 3vw, 2.25rem); }
.paquetes-sec--inicio .paquete { background: var(--papel); }
.paquete--destacado { background: var(--marino); color: var(--hoja); border-color: var(--marino); }
.paquetes-sec--inicio .paquete--destacado { background: var(--marino); }
.paquete__cab { display: grid; gap: 0.4rem; }
.paquete__nombre { justify-self: start; margin: 0; padding: 0.25rem 0.8rem; border-radius: 0.6rem 0.6rem 0.6rem 0; background: var(--turquesa-claro); color: var(--marino); font-weight: 750; font-size: 0.95rem; }
.paquete--destacado .paquete__nombre { background: var(--amarillo); }
.paquete__titulo { margin: 0; font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.8rem); line-height: 1.15; font-weight: 780; letter-spacing: -0.012em; }
.paquete__precio { margin: 0.25rem 0 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.5rem; }
.paquete__cifra { font-size: clamp(2.4rem, 2rem + 2vw, 3.4rem); line-height: 1; font-weight: 800; letter-spacing: -0.02em; color: var(--turquesa-os); }
.paquete--destacado .paquete__cifra { color: var(--amarillo); }
.paquete__iva { font-weight: 650; color: var(--gris); }
.paquete--destacado .paquete__iva { color: var(--sobre-marino); }
.paquete__resumen { margin: 0; color: var(--gris); max-width: 58ch; }
.paquete--destacado .paquete__resumen { color: var(--sobre-marino); }
.paquete__intro { margin: 0.25rem 0 -0.35rem; font-weight: 750; }
.paquete .lista-marcas { gap: 0.55rem; }
.paquete--destacado .lista-marcas li::before { background: var(--turquesa); }
.lista-marcas__mas { color: var(--gris); font-weight: 650; }
.lista-marcas__mas::before { background: transparent !important; }
.paquete--destacado .lista-marcas__mas { color: var(--sobre-marino); }
.paquete__prof { margin: 0; padding-top: 1rem; border-top: 1px solid var(--linea-fuerte); font-weight: 650; font-size: 0.98rem; }
.paquete--destacado .paquete__prof { border-top-color: var(--marino-3); }
.paquete__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.5rem; }
.paquete--destacado .enlace-flecha { color: var(--amarillo); }
@media (max-width: 62rem) { .paquetes { grid-template-columns: minmax(0, 1fr); } }

.adicionales { background: var(--papel-2); padding-block: clamp(3rem, 6vw, 5rem); }
.adicionales__dentro { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.adicionales__nota { margin: 0; color: var(--gris); font-size: 0.98rem; }
.adicionales__lista { list-style: none; margin: 0; padding: 0; }
.adicionales__lista li { display: flex; justify-content: space-between; gap: 1.5rem; align-items: baseline; padding-block: 1rem; border-top: 1px solid var(--linea-fuerte); }
.adicionales__lista li:last-child { border-bottom: 1px solid var(--linea-fuerte); }
.adicionales__s { font-weight: 650; font-size: 1.08rem; }
.adicionales__p { font-weight: 780; color: var(--turquesa-os); text-align: right; white-space: nowrap; }
@media (max-width: 62rem) { .adicionales__dentro { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 30rem) { .adicionales__lista li { flex-direction: column; gap: 0.2rem; } .adicionales__p { text-align: left; } }
.condiciones { padding-block: clamp(3rem, 6vw, 5rem) 0; }
.condiciones__dentro { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.condiciones .titulo-2 { margin: 0; }
@media (max-width: 62rem) { .condiciones__dentro { grid-template-columns: minmax(0, 1fr); } }
.tareas-intro { padding-block: clamp(3rem, 6vw, 5rem) 1.5rem; }
.tareas-intro .lead { margin-bottom: 0; }

/* Adaptación (Cómo trabajamos) y Sobre nosotros ampliado */
.acordado__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.acordado__frase { margin: 0 0 1.5rem; font-weight: 650; }
@media (max-width: 36rem) { .acordado__cols { grid-template-columns: minmax(0, 1fr); } }
.sobre__texto { display: grid; gap: 1rem; }
.sobre__texto p { margin: 0; }
.sobre__publico { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.sobre__publico li { padding: 0.5rem 1rem; border: 1.5px solid var(--linea-fuerte); border-radius: 999px; background: var(--hoja); font-weight: 650; font-size: 1.02rem; }
.lista-marcas--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem 1.75rem; }
@media (max-width: 52rem) { .lista-marcas--2col { grid-template-columns: minmax(0, 1fr); } }
.porque { background: var(--turquesa-claro); padding-block: clamp(3rem, 6vw, 5rem); }
.porque__lista { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem clamp(1.5rem, 5vw, 4rem); }
.porque__lista li { padding-top: 1rem; border-top: 2px solid var(--marino); font-size: 1.12rem; line-height: 1.5; }
.porque__lista strong { display: block; font-size: 1.25rem; font-weight: 780; margin-bottom: 0.25rem; }
@media (max-width: 52rem) { .porque__lista { grid-template-columns: minmax(0, 1fr); } }


/* ═══ Reorganización de la portada (2026-10-15) ═══ */
/* Subrayado amarillo animado en los titulares + aparición al hacer scroll (por defecto TODO es visible; solo se oculta si el JS funciona) */
.marcador { background-repeat: no-repeat; background-size: 100% 100%; background-position: 0 0; }
.js-rv .rv { opacity: 0; transform: translateY(22px); transition: opacity 0.6s var(--suave) calc(var(--i, 0) * 70ms), transform 0.6s var(--suave) calc(var(--i, 0) * 70ms); }
.js-rv .rv.rv--in { opacity: 1; transform: none; }
.js-rv .rv .marcador { background-size: 0% 100%; }
.js-rv .rv.rv--in .marcador { background-size: 100% 100%; transition: background-size 0.9s var(--suave) 0.35s; }

/* Hero: formas que respiran detrás */
.hero__formas { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.hero__formas i { position: absolute; border-radius: 50%; background: var(--marino-2); opacity: 0.55; animation: flota 14s ease-in-out infinite alternate; }
.hero__formas i:nth-child(1) { width: 28rem; height: 28rem; right: -8rem; top: -10rem; }
.hero__formas i:nth-child(2) { width: 16rem; height: 16rem; left: 38%; bottom: -8rem; background: var(--turquesa); opacity: 0.14; animation-duration: 18s; }
.hero__formas i:nth-child(3) { width: 9rem; height: 9rem; left: 4%; top: 12%; background: var(--amarillo); opacity: 0.09; animation-duration: 16s; animation-delay: -4s; }
@keyframes flota { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-1.5rem, 2rem, 0); } }

/* 2 · Pensado para */
.quien { background: var(--papel-2); padding-block: clamp(3.5rem, 7vw, 6rem); position: relative; }
.quien::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, var(--turquesa) 0 34%, var(--amarillo) 34% 67%, var(--marino) 67%); }
.quien__dentro { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.quien__txt .lead { margin-bottom: 0; }
.quien__mosaico { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.9rem; }
.quien__ficha { display: flex; flex-direction: column; align-items: flex-start; gap: 0.8rem; justify-content: space-between; min-height: 8rem; padding: 1.1rem 1.1rem 1rem; background: var(--hoja); border: 1px solid var(--linea); border-radius: var(--radio-grande); transition: transform 0.3s var(--suave), box-shadow 0.3s var(--suave), border-color 0.3s; }
.quien__ico { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 0.9rem; background: var(--turquesa-claro); color: var(--turquesa-os); }
.quien__ficha:nth-child(3n + 2) .quien__ico { background: var(--amarillo-claro); color: var(--amarillo-tinta); }
.quien__ficha:nth-child(3n) .quien__ico { background: var(--marino); color: var(--amarillo); }
.quien__t2 { font-weight: 720; line-height: 1.25; font-size: 1.02rem; }
@media (hover: hover) and (pointer: fine) { .quien__ficha:hover { transform: translateY(-5px); border-color: var(--turquesa-os); box-shadow: 0 18px 30px -18px rgba(4, 39, 95, 0.45); } }
@media (max-width: 62rem) { .quien__dentro { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 30rem) { .quien__mosaico { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 3 · Demostración corta de la jornada */
.dia-mini { padding-block: clamp(3.5rem, 7vw, 6rem) clamp(1.5rem, 3vw, 2.5rem); }
.dia-mini__cab { max-width: 46rem; }
.dia-mini__lista { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; position: relative; }
.dia-mini__lista::before { content: ''; position: absolute; left: 1.5rem; right: 1.5rem; top: 1.45rem; height: 2px; background: var(--linea-fuerte); z-index: 0; }
.dia-mini__item { position: relative; z-index: 1; display: grid; justify-items: start; gap: 0.45rem; }
.dia-mini__hora { position: absolute; top: 0; right: 0; font-variant-numeric: tabular-nums; font-weight: 750; color: var(--turquesa-os); background: var(--papel); padding-left: 0.5rem; }
.dia-mini__ico { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--marino); color: var(--amarillo); margin-bottom: 0.5rem; box-shadow: 0 0 0 6px var(--papel); }
.dia-mini__item h3 { margin: 0; font-size: 1.15rem; font-weight: 760; line-height: 1.2; }
.dia-mini__item p { margin: 0; color: var(--gris); font-size: 1rem; }
.dia-mini__mas { margin: 1.5rem 0 0; }
@media (max-width: 62rem) { .dia-mini__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; } .dia-mini__lista::before { display: none; } }
@media (max-width: 30rem) { .dia-mini__lista { grid-template-columns: minmax(0, 1fr); } }

/* 4 · Calculadora, más pegada a lo anterior */
.calc-teaser { padding-block: clamp(1rem, 2vw, 1.5rem) clamp(3rem, 6vw, 5rem); }
.semana__b { transform-origin: bottom; }
.js-rv .semana.rv .semana__b { transform: scaleY(0); }
.js-rv .semana.rv.rv--in .semana__b { transform: none; transition: transform 0.5s var(--suave) calc(var(--i, 0) * 90ms + 0.3s); }

/* 5 · Paquetes alineados: mismas filas en las dos tarjetas */
.paquetes { align-items: stretch; grid-auto-rows: auto; }
.paquete { grid-row: span 6; grid-template-rows: subgrid; row-gap: 1rem; align-content: start; position: relative; overflow: hidden; transition: transform 0.35s var(--suave), box-shadow 0.35s var(--suave); }
.paquete::after { content: ''; position: absolute; right: -3rem; top: -3rem; width: 9rem; height: 9rem; border-radius: 50%; background: var(--turquesa-claro); opacity: 0.6; pointer-events: none; z-index: 0; }
.paquete--destacado::after { background: var(--marino-2); opacity: 1; }
.paquete > * { position: relative; z-index: 1; }
.paquete__acciones { align-self: end; }
@media (hover: hover) and (pointer: fine) { .paquete:hover { transform: translateY(-6px); box-shadow: 0 28px 40px -26px rgba(4, 39, 95, 0.5); } }
@media (max-width: 62rem) { .paquete { grid-row: auto; grid-template-rows: none; } }

/* 6 · «No somos una asesoría» + cómo empezamos */
.asesoria { background: var(--papel-2); padding-block: clamp(4rem, 8vw, 7rem); }
.asesoria__cab { max-width: 52rem; margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.asesoria__cab .titulo-2 { max-width: 24ch; }
.asesoria .carpetas__par { margin-top: 0; gap: 3.5rem clamp(1.5rem, 4vw, 3rem); }
.asesoria .carpeta { padding: 2.75rem clamp(1.5rem, 3vw, 2.5rem) 2.25rem; margin-top: 1rem; min-height: 100%; box-shadow: 0 24px 40px -30px rgba(4, 39, 95, 0.4); transition: transform 0.35s var(--suave); }
.asesoria .carpeta__tab { top: -2.55rem; padding: 0.65rem 1.4rem; font-size: 1rem; }
.asesoria .carpeta__lista { gap: 1.4rem; }
.asesoria .carpeta__lista li { padding-left: 2.6rem; font-size: 1.15rem; }
.asesoria .carpeta--no li::before { content: ''; left: 0; top: 0.05em; width: 1.7rem; height: 1.7rem; background: #fbe3e0; -webkit-mask: none; mask: none; border-radius: 50%; }
.asesoria .carpeta--no li::after { content: ''; position: absolute; left: 0.5rem; top: 0.55em; width: 0.7rem; height: 0.7rem; background: #b3261e; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5 5 19'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5 5 19'/%3E%3C/svg%3E") center / contain no-repeat; }
.asesoria .carpeta--si li::before { content: ''; left: 0; top: 0.05em; width: 1.7rem; height: 1.7rem; background: rgba(48, 178, 192, 0.22); -webkit-mask: none; mask: none; border-radius: 50%; }
.asesoria .carpeta--si li::after { content: ''; position: absolute; left: 0.45rem; top: 0.5em; width: 0.8rem; height: 0.8rem; background: var(--turquesa); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (hover: hover) and (pointer: fine) { .asesoria .carpeta:hover { transform: translateY(-5px); } }
.camino { margin-top: clamp(4rem, 8vw, 6.5rem); padding-top: clamp(3rem, 6vw, 4.5rem); border-top: 1px solid var(--linea-fuerte); }
.camino__cab { max-width: 40rem; }
.camino__cab p { color: var(--gris); font-size: 1.15rem; margin-bottom: 0; }
.camino__pasos { list-style: none; margin: clamp(2.5rem, 5vw, 3.5rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.25rem); }
.camino__pasos li { position: relative; padding-top: 4.25rem; }
.camino__n { position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; background: var(--marino); color: var(--amarillo); font-weight: 800; font-size: 1.35rem; box-shadow: 0 0 0 6px var(--papel-2); z-index: 1; }
.camino__pasos li:not(:last-child)::after { content: ''; position: absolute; top: 1.55rem; left: 3.8rem; right: -1.25rem; height: 3px; background: repeating-linear-gradient(90deg, var(--linea-fuerte) 0 10px, transparent 10px 18px); transform-origin: left; }
.js-rv .camino__pasos li.rv:not(:last-child)::after { transform: scaleX(0); }
.js-rv .camino__pasos li.rv.rv--in:not(:last-child)::after { transform: none; transition: transform 0.7s var(--suave) 0.45s; }
.camino__pasos h4 { margin: 0 0 0.35rem; font-size: 1.2rem; font-weight: 760; line-height: 1.2; }
.camino__pasos p { margin: 0; color: var(--gris); }
.camino__mas { margin: 2rem 0 0; }
@media (max-width: 62rem) {
  .camino__pasos { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .camino__pasos li { padding: 0 0 2rem 4.6rem; min-height: 4.5rem; }
  .camino__pasos li:not(:last-child)::after { top: 3.4rem; bottom: 0.3rem; left: 1.55rem; right: auto; width: 3px; height: auto; background: repeating-linear-gradient(0deg, var(--linea-fuerte) 0 10px, transparent 10px 18px); }
}

/* 8 · Preguntas desplegables en la portada */
.faq-bloque { display: grid; gap: 0; }
.faq--mas .faq__item:first-child { border-top: 0; }
.faq-bloque .faq + .faq { border-top: 0; }
.js .faq--mas { display: none; }
.js .faq--mas.es-abierto { display: block; }
.faq__todas { margin-top: 1.75rem; justify-self: start; }
.faq__todas::after { content: ''; width: 0.6rem; height: 0.6rem; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 0.3s var(--suave); }
.faq__todas[aria-expanded='true']::after { transform: rotate(-135deg) translateY(-2px); }

/* 10 · Pie compacto y alineado */
.pie { padding-top: clamp(2.5rem, 5vw, 3.75rem); }
.pie__arriba { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); padding-bottom: 2rem; align-items: start; }
.pie__logo { background: none; border-radius: 0; overflow: visible; margin: 0 0 0.75rem; }
.pie__logo img { width: 104px; height: 104px; }
.pie__lema { font-size: 1.1rem; max-width: 22ch; margin: 0; }
.pie__t { font-size: 0.95rem; margin-bottom: 0.5rem; }
.pie ul { gap: 0; }
.pie .pie__nav { grid-template-columns: repeat(2, max-content); gap: 0 2.5rem; }
.pie ul a { font-size: 0.95rem; min-height: 2.75rem; }
.pie__zona { margin: 0.5rem 0 0; font-size: 0.9rem; }
.pie__abajo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 2rem; padding-block: 0.75rem 1.25rem; font-size: 0.92rem; }
.pie__abajo p { margin: 0; }
.pie .legal { display: flex; flex-wrap: wrap; align-items: center; gap: 0 0.25rem; }
.pie .legal a { display: inline-flex; align-items: center; min-height: 2.75rem; padding-inline: 0.5rem; text-decoration: none; color: var(--sobre-marino); }
.pie__credito { margin-left: auto; }
@media (max-width: 62rem) { .pie__arriba { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .pie__col--marca { grid-column: 1 / -1; } .pie__credito { margin-left: 0; } }
@media (max-width: 36rem) { .pie__arriba { grid-template-columns: minmax(0, 1fr); } .pie__abajo { flex-direction: column; align-items: flex-start; } }



/* ═══ Ajustes de portada (2026-10-15, 2.ª ronda) ═══ */
/* Más movimiento al deslizar: entradas laterales, zoom y escalonado */
.js-rv .rv--izq { transform: translateX(-44px); }
.js-rv .rv--der { transform: translateX(44px); }
.js-rv .rv--zoom { transform: scale(0.9) translateY(14px); }
.js-rv .rv.rv--in { transform: none; }

/* Nav: sin «Preguntas»; teléfono solo con icono */
.cab__tel { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1.5px solid var(--linea-fuerte); border-radius: var(--radio); transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
.cab__tel span, .cab__tel .cab__tel-t { display: none; }
.cab__tel .ico { width: 20px; height: 20px; }
@media (hover: hover) and (pointer: fine) { .cab__tel:hover { background: var(--turquesa-os); border-color: var(--turquesa-os); color: #fff; } }
@media (max-width: 62rem) { .js .cab__tel { width: auto; height: auto; display: flex; justify-content: flex-start; border: 0; border-bottom: 1px solid var(--linea); border-radius: 0; padding: 0.9rem 0; gap: 0.6rem; } .js .cab__tel .cab__tel-t { display: inline; font-size: 1.1rem; font-weight: 600; } }

/* 2 · «Pensado para»: fichas horizontales, sin huecos */
.quien__mosaico { gap: 0.85rem; align-content: center; }
.quien__ficha { flex-direction: row; align-items: center; justify-content: flex-start; min-height: 0; gap: 0.9rem; padding: 0.95rem 1rem; position: relative; overflow: hidden; }
.quien__ficha::after { content: ''; position: absolute; right: -1.2rem; bottom: -1.2rem; width: 3.6rem; height: 3.6rem; border-radius: 50%; background: var(--turquesa-claro); opacity: 0.55; transition: transform 0.4s var(--suave); }
.quien__ficha:nth-child(3n + 2)::after { background: var(--amarillo-claro); }
.quien__ficha:nth-child(3n)::after { background: var(--papel-2); }
.quien__ico { flex: none; width: 3.4rem; height: 3.4rem; border-radius: 1.1rem; position: relative; z-index: 1; transition: transform 0.4s var(--suave); }
.quien__ico .ico { width: 28px; height: 28px; stroke-width: 1.9; fill: currentColor; fill-opacity: 0.14; }
.quien__t2 { position: relative; z-index: 1; font-size: 1.05rem; }
.quien__ficha:first-child { grid-column: 1 / -1; }
@media (hover: hover) and (pointer: fine) { .quien__ficha:hover .quien__ico { transform: rotate(-8deg) scale(1.1); } .quien__ficha:hover::after { transform: scale(2.4); } }
@media (max-width: 30rem) { .quien__ficha:first-child { grid-column: auto; } }

/* 3 · Jornada con casillas (5 servicios) */
.dia { padding-block: clamp(3.5rem, 7vw, 6rem) clamp(1.5rem, 3vw, 2.5rem); }
.dia__botones { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.5rem; }
.dia__aviso { transition: color 0.3s; }

/* 6 · Carpetas sin huecos: la lista reparte el espacio */
.asesoria .carpetas__par { align-items: stretch; }
.asesoria .carpeta { display: flex; flex-direction: column; padding: 2.5rem clamp(1.5rem, 3vw, 2.5rem) 2.25rem; }
.asesoria .carpeta__lista { flex: 1; align-content: space-evenly; gap: 1.1rem; }
.asesoria .carpeta__lista li { font-size: 1.18rem; line-height: 1.45; }

/* 6 · «Y así trabajamos»: tarjetas con línea que se dibuja paso a paso */
.camino { margin-top: clamp(4.5rem, 9vw, 7rem); padding-top: clamp(3.5rem, 7vw, 5.5rem); }
.camino__cab { max-width: 44rem; margin-bottom: 0.5rem; }
.camino__cab .titulo-2 { margin-bottom: 0.6rem; }
.camino__pasos { position: relative; margin-top: clamp(3.5rem, 6vw, 4.5rem); gap: clamp(1.25rem, 2.5vw, 2rem); }
.camino__pasos::before { content: ''; position: absolute; left: 1.6rem; right: 1.6rem; top: 1.6rem; height: 4px; border-radius: 4px; background: repeating-linear-gradient(90deg, var(--linea-fuerte) 0 10px, transparent 10px 18px); }
.camino__pasos::after { content: ''; position: absolute; left: 1.6rem; right: 1.6rem; top: 1.6rem; height: 4px; border-radius: 4px; background: var(--turquesa); transform-origin: left; transform: scaleX(1); }
.js-rv .camino__pasos.rv { opacity: 1; transform: none; }
.js-rv .camino__pasos.rv::after { transform: scaleX(0); }
.js-rv .camino__pasos.rv.rv--in::after { transform: scaleX(1); transition: transform 1.6s var(--suave) 0.3s; }
.camino__pasos li { background: var(--hoja); border: 1px solid var(--linea); border-radius: var(--radio-grande); padding: 3.25rem 1.4rem 1.5rem; margin-top: 0; box-shadow: 0 18px 30px -26px rgba(4, 39, 95, 0.5); transition: transform 0.35s var(--suave), box-shadow 0.35s var(--suave); }
.camino__pasos li:not(:last-child)::after { display: none; }
.js-rv .camino__pasos li.rv { transition-delay: calc(var(--i, 0) * 260ms + 0.2s); }
.camino__n { top: -0.2rem; left: 1.2rem; transform: translateY(-50%); width: 3.2rem; height: 3.2rem; }
.js-rv .camino__pasos li.rv .camino__n { transform: translateY(-50%) scale(0.6); opacity: 0; }
.js-rv .camino__pasos li.rv.rv--in .camino__n { transform: translateY(-50%) scale(1); opacity: 1; transition: transform 0.5s var(--suave) calc(var(--i, 0) * 260ms + 0.45s), opacity 0.4s calc(var(--i, 0) * 260ms + 0.45s); }
.camino__ico { position: absolute; top: 0.95rem; right: 1.1rem; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--turquesa-claro); color: var(--turquesa-os); }
.camino__pasos h4 { font-size: 1.22rem; margin-bottom: 0.45rem; }
@media (hover: hover) and (pointer: fine) { .camino__pasos li:hover { transform: translateY(-6px); box-shadow: 0 28px 40px -26px rgba(4, 39, 95, 0.55); } }
@media (max-width: 62rem) {
  .camino__pasos { gap: 2.75rem; }
  .camino__pasos::before, .camino__pasos::after { display: none; }
  .camino__pasos li { padding: 3rem 1.4rem 1.4rem; min-height: 0; }
}


html, body { overflow-x: clip; }
.camino__pasos::before, .camino__pasos::after { top: -0.2rem; transform-origin: left; margin-top: -2px; z-index: 0; }
.camino__pasos li { z-index: 1; }


/* ═══ 3.ª ronda: mosaico 3×3 sin huecos, iconos y pasos más limpios ═══ */
.quien__mosaico { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 0.9rem; }
.quien__ficha, .quien__ficha:first-child { grid-column: auto; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 1.1rem; min-height: 9.5rem; padding: 1.2rem 1.25rem 1.15rem; }
.quien__t2 { font-size: 1.02rem; line-height: 1.25; }
.quien__ico { width: 3.6rem; height: 3.6rem; border-radius: 1.15rem; }
.quien__ico .ico { width: 32px; height: 32px; fill-opacity: 0.18; }
.quien__ficha::after { right: -1.4rem; bottom: -1.4rem; width: 4.4rem; height: 4.4rem; }
@media (max-width: 30rem) { .quien__ficha { min-height: 8.5rem; padding: 1rem; } }
@media (max-width: 75rem) { .quien__dentro { grid-template-columns: minmax(0, 1fr); } .quien__txt { max-width: 44rem; } }

.camino__pasos li { padding: 2.75rem 1.5rem 1.6rem; }
.camino__ico { position: static; display: grid; place-items: center; width: 3rem; height: 3rem; margin: 0.4rem 0 1.1rem; border-radius: 0.95rem; background: var(--turquesa-claro); color: var(--turquesa-os); }
.camino__ico .ico { width: 24px; height: 24px; fill: currentColor; fill-opacity: 0.16; }
.camino__pasos h4 { margin-bottom: 0.55rem; }

/* ── Movimiento reducido: no se mueve nada, pero se conserva el feedback (color, opacidad, foco) */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .chip.is-hecho .chip__despues { animation: none; }
  .btn, .cab__nav, .cab__menu-i, .cab__menu-i::before, .faq__item summary::after, .enlace-flecha, .enlace-flecha .ico, .marca input::after { transition-property: color, background-color, border-color, opacity, box-shadow; }
  .faq__item::details-content { transition: none; }
  .hero__formas i { animation: none; }
}
@media (prefers-reduced-motion: reduce) and (hover: hover) and (pointer: fine) { .btn:hover { transform: none; } }

.pasos__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.pasos--grande .pasos__lista--vertical { max-width: none; }
.ficha { position: sticky; top: calc(var(--cab-alto) + 1.5rem); background: var(--marino); color: var(--hoja); border-radius: var(--radio-grande); padding: clamp(1.5rem, 3vw, 2.25rem); display: grid; gap: 1rem; }
.ficha p { margin: 0; color: var(--sobre-marino); }
.ficha .lista-marcas li::before { background: var(--turquesa); }
.ficha .btn { justify-self: start; }
@media (max-width: 62rem) { .pasos__grid { grid-template-columns: minmax(0, 1fr); } .ficha { position: static; } }
.principios__dentro { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 6vw, 5rem); align-items: start; }
.principios__dentro .titulo-2 { margin: 0; }
.principios__dentro .principios__lista { margin-top: 0; max-width: none; }
@media (max-width: 52rem) { .principios__dentro { grid-template-columns: minmax(0, 1fr); } }

/* ═══ Motivo de contacto ═══ */
.motivo { border: 0; padding: 0; margin: 0 0 1.25rem; min-width: 0; }
.motivo legend { font-weight: 700; font-size: 0.98rem; margin-bottom: 0.6rem; }
.motivo__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }
.motivo__op { position: relative; display: block; cursor: pointer; }
.motivo__op input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.motivo__op span { display: grid; gap: 0.2rem; align-content: start; height: 100%; padding: 0.9rem 0.9rem 0.85rem; border: 1.5px solid var(--linea-fuerte); border-radius: var(--radio); background: var(--hoja); transition: background-color 0.2s, border-color 0.2s, transform 0.2s; }
.motivo__op .ico { color: var(--turquesa-os); margin-bottom: 0.3rem; }
.motivo__op strong { font-size: 0.98rem; line-height: 1.2; }
.motivo__op small { color: var(--gris); font-size: 0.85rem; line-height: 1.3; }
.motivo__op input:checked + span { background: var(--turquesa-claro); border-color: var(--turquesa-os); box-shadow: 0 0 0 1px var(--turquesa-os) inset; }
.motivo__op input:focus-visible + span { outline: 3px solid var(--marino); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .motivo__op:hover span { border-color: var(--turquesa-os); } }
@media (max-width: 40rem) { .motivo__lista { grid-template-columns: minmax(0, 1fr); } .motivo__op span { grid-template-columns: auto 1fr; column-gap: 0.8rem; } .motivo__op .ico { grid-row: 1 / 3; margin: 0; align-self: center; } }
.donde { font-size: 1.05rem; }

/* ═══ Servicios: 2026-10-19 v2 (paquetes a todo el ancho, tareas sin cajas, adicionales como índice, flujo animado) ═══ */
.paquetes-sec__nota { max-width: 62ch; margin: 1rem 0 0; font-size: 1.08rem; color: var(--gris); }
.paquetes-sec__nota strong { color: var(--marino); }
.paquete__pres { margin: 0.35rem 0 0; font-weight: 760; font-size: 1.12rem; color: var(--turquesa-os); }
.paquete__pres::before { content: ''; display: inline-block; width: 1.6rem; height: 3px; margin-right: 0.6rem; vertical-align: middle; background: var(--amarillo); border-radius: 2px; }
.paquete--destacado .paquete__pres { color: var(--amarillo); }

/* Paquetes grandes (página Servicios): información a la izquierda, lo que incluye a la derecha */
.paquetes--grande { grid-template-columns: minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 1.75rem); }
.paquetes--grande .paquete { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); grid-row: auto; grid-template-rows: none; gap: clamp(1.75rem, 4vw, 3.5rem); padding: clamp(1.6rem, 3.5vw, 2.8rem); align-items: stretch; }
.paquetes--grande .paquete::after { display: none; }
.paquete__izq { display: flex; flex-direction: column; gap: 1rem; }
.paquete__izq .paquete__prof { margin-top: auto; }
.paquete__der { padding-left: clamp(1.25rem, 3vw, 2.5rem); border-left: 1px solid var(--linea-fuerte); }
.paquete--destacado .paquete__der { border-left-color: rgba(255, 255, 255, 0.2); }
.paquete__eyebrow { margin: 0 0 1.1rem; font-size: 0.85rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--turquesa-os); }
.paquete--destacado .paquete__eyebrow { color: var(--amarillo); }
.paquete__grupos { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.paquete--destacado .paquete__grupos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.25rem, 3vw, 2.25rem); }
.paquete__grupo { padding: 1rem 0 1.15rem; border-top: 1px solid var(--linea-fuerte); }
.paquete--destacado .paquete__grupo { border-top-color: rgba(255, 255, 255, 0.2); }
.paquete__gh { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 0.7rem; font-size: 1.04rem; font-weight: 780; line-height: 1.2; color: var(--marino); }
.paquete__gh .ico { flex: none; color: var(--turquesa-os); }
.paquete--destacado .paquete__gh { color: #fff; }
.paquete--destacado .paquete__gh .ico { color: var(--turquesa); }
.paquete__grupo .lista-marcas { gap: 0.45rem; }
.paquete__grupo .lista-marcas li { max-width: none; font-size: 0.99rem; line-height: 1.4; }
.js-rv .paquete__grupo.rv { transform: translateY(14px); }
@media (max-width: 62rem) {
  .paquetes--grande .paquete { grid-template-columns: minmax(0, 1fr); }
  .paquete__der { padding-left: 0; border-left: 0; }
  .paquete--destacado .paquete__grupos { grid-template-columns: minmax(0, 1fr); }
}

.condic { margin-top: 1.5rem; background: var(--hoja); border: 1.5px solid var(--linea-fuerte); border-radius: var(--radio-grande); overflow: hidden; }
.condic summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.4rem; cursor: pointer; min-height: 3.5rem; font-weight: 780; font-size: 1.12rem; color: var(--marino); }
.condic summary::-webkit-details-marker { display: none; }
.condic__t { display: inline-flex; align-items: center; gap: 0.75rem; }
.condic__t .ico { color: var(--turquesa-os); }
.condic__mas { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--turquesa-claro); color: var(--turquesa-os); transition: transform 0.3s var(--suave), background-color 0.2s; }
.condic[open] .condic__mas { transform: rotate(45deg); background: var(--amarillo-claro); }
.condic summary:focus-visible { outline: 3px solid var(--marino); outline-offset: -3px; }
.condic__lista { list-style: none; margin: 0; padding: 0.25rem 1.4rem 1.4rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem 2rem; }
.condic__lista li { display: flex; gap: 0.7rem; align-items: flex-start; line-height: 1.4; }
.condic__ok { flex: none; margin-top: 0.15rem; color: var(--turquesa-os); }
.condic[open] .condic__lista li { animation: condic-in 0.45s var(--suave) both; }
.condic[open] .condic__lista li:nth-child(1) { animation-delay: 0ms; } .condic[open] .condic__lista li:nth-child(2) { animation-delay: 50ms; } .condic[open] .condic__lista li:nth-child(3) { animation-delay: 100ms; } .condic[open] .condic__lista li:nth-child(4) { animation-delay: 150ms; } .condic[open] .condic__lista li:nth-child(5) { animation-delay: 200ms; } .condic[open] .condic__lista li:nth-child(6) { animation-delay: 250ms; } .condic[open] .condic__lista li:nth-child(7) { animation-delay: 300ms; } .condic[open] .condic__lista li:nth-child(8) { animation-delay: 350ms; }
@keyframes condic-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 40rem) { .condic__lista { grid-template-columns: minmax(0, 1fr); } }

/* Adicionales: índice editorial, una fila por servicio */
.adicionales__dentro { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; }
.adicionales__txt .enlace-flecha { display: inline-flex; margin-top: 1.1rem; }
.adicionales__indice { list-style: none; margin: 0; padding: 0; }
.adicional { position: relative; display: flex; align-items: center; gap: 1.1rem; padding: 1.15rem 0.4rem; border: 0; background: none; border-radius: 0; overflow: visible; box-shadow: none; }
.adicional::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; width: auto; background: var(--linea-fuerte); transform: none; }
.adicional:last-child { border-bottom: 1px solid var(--linea-fuerte); }
.adicional::after { content: ''; position: absolute; left: 0; bottom: -1px; height: 3px; width: 100%; background: var(--amarillo); transform: scaleX(0); transform-origin: left; transition: transform 0.45s var(--suave); }
.adicional__ico { flex: none; display: block; width: auto; height: auto; background: none; border-radius: 0; color: var(--turquesa-os); transition: transform 0.3s var(--suave); }
.adicional__s { flex: 1; font-weight: 740; font-size: 1.18rem; line-height: 1.25; color: var(--marino); align-self: auto; transition: transform 0.3s var(--suave); }
.adicional__tag { align-self: auto; font-size: 0.8rem; font-weight: 750; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gris); background: none; padding: 0; border-radius: 0; }
.js-rv .adicional.rv::before { transform: scaleX(0); transform-origin: left; transition: transform 0.7s var(--suave) calc(var(--i, 0) * 90ms); }
.js-rv .adicional.rv.rv--in::before { transform: none; }
@media (hover: hover) and (pointer: fine) {
  .adicional:hover { transform: none; box-shadow: none; border-color: transparent; }
  .adicional:hover::after { transform: scaleX(1); }
  .adicional:hover .adicional__s { transform: translateX(6px); }
  .adicional:hover .adicional__ico { transform: scale(1.15) rotate(-6deg); background: none; color: var(--turquesa-os); }
}
@media (max-width: 62rem) { .adicionales__dentro { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 30rem) { .adicional__tag { display: none; } }

/* Tareas: panel + detalle sin cajas, alternando de lado */
.tareas-intro { padding-block: clamp(3.5rem, 7vw, 5.5rem) 2rem; }
.tarea { padding-block: clamp(2.5rem, 5vw, 4.25rem); border-top: 1px solid var(--linea); }
.tarea--alt { background: var(--papel-2); }
.tarea__dentro { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(1.75rem, 5vw, 4.5rem); align-items: stretch; }
.tarea--inv .tarea__dentro { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
.tarea--inv .tarea__panel { order: 2; }
.tarea__panel { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 0.7rem; padding: clamp(1.6rem, 3vw, 2.4rem); border-radius: 1.1rem; background: var(--marino); color: #fff; overflow: hidden; }
.tarea__panel::after { display: none; }
.tarea__ico { position: absolute; top: clamp(1.4rem, 3vw, 2.2rem); right: clamp(1.4rem, 3vw, 2.2rem); display: block; width: auto; height: auto; background: none; border: 0; color: var(--turquesa); opacity: 0.9; }
.tarea__hora { padding: 0; border-radius: 0; background: none; color: var(--amarillo); font-weight: 800; font-size: clamp(3rem, 2.2rem + 3vw, 4.4rem); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.tarea__titulo { margin: 0.5rem 0 0; font-size: clamp(1.6rem, 1.3rem + 1.1vw, 2.1rem); line-height: 1.12; font-weight: 800; letter-spacing: -0.02em; color: #fff; }
.tarea__resumen { margin: 0; font-size: 1.08rem; color: var(--sobre-marino); max-width: 36ch; }
.tarea__momento { margin: 0.6rem 0 1.4rem; padding-top: 0.9rem; border-top: 1px solid rgba(255, 255, 255, 0.28); font-size: 0.98rem; color: var(--sobre-marino); max-width: 38ch; }
.tarea__momento span { display: block; margin-bottom: 0.15rem; font-size: 0.78rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--turquesa); }
.tarea__panel .btn { margin-top: auto; }
.tarea__detalle { display: grid; gap: 0; align-content: start; }
.tarea__bloque { padding: 0 0 1.5rem; margin: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--linea-fuerte); border-radius: 0; background: none; }
.tarea--alt .tarea__bloque { border-bottom-color: var(--linea-fuerte); }
.tarea__h { margin: 0 0 0.85rem; font-size: 0.85rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--turquesa-os); }
.tarea__bloque .lista-marcas { gap: 0.6rem; }
.tarea__bloque .lista-marcas li { max-width: none; font-size: 1.04rem; }
.tarea__limite { padding: 1.15rem 1.35rem; border-radius: 0.9rem; background: var(--amarillo-claro); }
.tarea__limite .tarea__h { color: var(--marino); margin-bottom: 0.4rem; }
.tarea__limite p { margin: 0; font-weight: 600; font-size: 1.05rem; color: var(--marino); max-width: 52ch; }
@media (max-width: 62rem) {
  .tarea__dentro, .tarea--inv .tarea__dentro { grid-template-columns: minmax(0, 1fr); }
  .tarea--inv .tarea__panel { order: 0; }
}

/* Caso de ejemplo: la línea se dibuja, los iconos aparecen en cadena y un punto recorre el camino */
.flujo__pasos li { padding-bottom: 0; }
.flujo__ico { width: 3.4rem; height: 3.4rem; padding: 0.85rem; background: var(--turquesa-claro); position: relative; z-index: 1; }
.flujo__pasos li:not(:last-child)::after { top: 1.7rem; left: 4.1rem; right: -0.8rem; height: 3px; border-radius: 2px; background: var(--linea-fuerte); transform-origin: left; }
.js-rv .flujo__pasos li.rv .flujo__ico { transform: scale(0.6); opacity: 0; }
.js-rv .flujo__pasos li.rv.rv--in .flujo__ico { transform: none; opacity: 1; transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) calc(var(--i, 0) * 0.32s + 0.1s), opacity 0.3s calc(var(--i, 0) * 0.32s + 0.1s); }
.js-rv .flujo__pasos li.rv:not(:last-child)::after { transform: scaleX(0); background: var(--turquesa); }
.js-rv .flujo__pasos li.rv.rv--in:not(:last-child)::after { transform: none; transition: transform 0.55s var(--suave) calc(var(--i, 0) * 0.32s + 0.35s); }
@media (prefers-reduced-motion: no-preference) {
  .flujo__pasos li:not(:last-child)::before { content: ''; position: absolute; top: calc(1.7rem - 4px); left: 4.1rem; width: 11px; height: 11px; border-radius: 50%; background: var(--amarillo); box-shadow: 0 0 0 4px rgba(242, 193, 78, 0.28); opacity: 0; z-index: 2; animation: flujo-punto 6s ease-in-out infinite; animation-delay: calc(var(--i, 0) * 1.1s + 3s); }
  .flujo__ico { animation: flujo-pulso 6s ease-out infinite; animation-delay: calc(var(--i, 0) * 1.1s + 3s); }
}
@keyframes flujo-punto { 0% { opacity: 0; transform: translateX(0); } 6% { opacity: 1; } 18% { opacity: 1; transform: translateX(var(--tramo, 11rem)); } 22%, 100% { opacity: 0; transform: translateX(var(--tramo, 11rem)); } }
@keyframes flujo-pulso { 0% { box-shadow: 0 0 0 0 rgba(10, 107, 120, 0.4); } 12%, 100% { box-shadow: 0 0 0 0.8rem rgba(10, 107, 120, 0); } }
.flujo__pasos { --tramo: calc((100vw - 4rem) / 5 - 4.7rem); }
@media (min-width: 75.01rem) { .flujo__pasos { --tramo: 10.9rem; } }
@media (max-width: 62rem) {
  .flujo__pasos li:not(:last-child)::after { top: 3.4rem; bottom: 0; left: 1.6rem; right: auto; width: 3px; height: auto; transform-origin: top; }
  .js-rv .flujo__pasos li.rv:not(:last-child)::after { transform: scaleY(0); }
  .flujo__pasos li:not(:last-child)::before { display: none; }
  .flujo__pasos li { grid-template-columns: 3.4rem minmax(0, 1fr); padding-bottom: 1.5rem; }
}
.paquete__izq .paquete__acciones { align-self: flex-start; }

/* Grupos de los paquetes: todas las celdas del mismo alto, contenido centrado y mismo margen arriba y abajo */
.paquete__der { display: flex; flex-direction: column; }
.paquete__grupos { flex: 1; grid-auto-rows: 1fr; }
.paquete__grupo { display: flex; flex-direction: column; justify-content: center; padding: 1.25rem 0; border-top: 1px solid var(--linea-fuerte); }
.paquete--destacado .paquete__grupo { border-top-color: rgba(255, 255, 255, 0.2); }
.paquete:not(.paquete--destacado) .paquete__grupo:last-child { border-bottom: 1px solid var(--linea-fuerte); }
.paquete--destacado .paquete__grupo:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.paquete__gh { margin-bottom: 0.75rem; align-items: flex-start; }
.paquete__gh .ico { margin-top: 0.05rem; }
@media (max-width: 62rem) { .paquete--destacado .paquete__grupo:nth-last-child(2) { border-bottom: 0; } }
@media (max-width: 75rem) { .paquete--destacado .paquete__grupos { grid-template-columns: minmax(0, 1fr); } .paquete--destacado .paquete__grupo:nth-last-child(2) { border-bottom: 0; } }
/* Mismo margen arriba y abajo en todas las celdas: la altura la marca el contenido, no la celda más alta */
.paquete__grupos { grid-auto-rows: auto; align-content: stretch; }
.paquete__grupo { justify-content: flex-start; padding: 1.3rem 0 1.3rem; }
/* Columnas independientes: cada grupo mide lo que su contenido y tiene el mismo margen arriba y abajo */
.paquete__grupos { grid-auto-rows: auto; align-content: start; }
.paquete__col { display: flex; flex-direction: column; }
.paquete--destacado .paquete__grupos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.paquete__grupo, .paquete__grupo:last-child, .paquete--destacado .paquete__grupo:nth-last-child(-n+2), .paquete:not(.paquete--destacado) .paquete__grupo:last-child { justify-content: flex-start; padding: 1.3rem 0; border-bottom: 0; }
@media (max-width: 75rem) { .paquete--destacado .paquete__grupos { grid-template-columns: minmax(0, 1fr); } }

/* ═══ Guías v2: artículo a dos columnas, texto justificado, barra lateral, tarjetas ═══ */
.progreso-lectura { position: fixed; z-index: 60; top: 0; left: 0; right: 0; height: 4px; background: transparent; pointer-events: none; }
.progreso-lectura span { display: block; height: 100%; background: linear-gradient(90deg, var(--turquesa), var(--amarillo)); transform: scaleX(0); transform-origin: left; }
.articulo { padding-block: clamp(2rem, 5vw, 3.5rem) clamp(2rem, 4vw, 3rem); }
.articulo__cab { max-width: none; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.articulo .titulo-1 { max-width: none; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem); text-wrap: balance; }
.articulo .lead { max-width: 78ch; text-align: justify; hyphens: auto; }
.articulo__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1.25rem; margin: 1.25rem 0 0; padding-top: 1rem; border-top: 1px solid var(--linea-fuerte); font-size: 0.95rem; color: var(--gris); }
.articulo__autor { display: inline-flex; align-items: center; gap: 0.45rem; color: var(--marino); }
.articulo__autor .ico { color: var(--turquesa-os); }
.articulo__grid { display: grid; grid-template-columns: minmax(0, 1fr) 19.5rem; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.prosa { max-width: none; font-size: 1.1rem; line-height: 1.72; }
.prosa p, .prosa li, .prosa blockquote p { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.prosa > p:first-of-type { position: relative; padding-top: 1.3rem; font-size: 1.2rem; line-height: 1.6; color: var(--marino); font-weight: 520; }
.prosa h2 { position: relative; margin: 3rem 0 1rem; padding-top: 1.1rem; text-wrap: balance; scroll-margin-top: calc(var(--cab-alto) + 1rem); }
.prosa h2::before { content: ''; position: absolute; top: 0; left: 0; width: 3.2rem; height: 4px; border-radius: 2px; background: var(--amarillo); }
.prosa h3 { scroll-margin-top: calc(var(--cab-alto) + 1rem); color: var(--marino); }
.prosa ul:not(.guias__lista), .prosa ol { padding-left: 0; list-style: none; counter-reset: paso; }
.prosa ul li, .prosa ol li { position: relative; padding-left: 2rem; }
.prosa ul li::before { content: ''; position: absolute; left: 0.15rem; top: 0.5em; width: 1rem; height: 1rem; background: var(--turquesa-os); -webkit-mask: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.prosa ol li { counter-increment: paso; }
.prosa ol li::before { content: counter(paso); position: absolute; left: 0; top: 0.18em; display: grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: var(--marino); color: var(--amarillo); font-size: 0.8rem; font-weight: 800; line-height: 1; }
.prosa .indice ol li::before, .prosa .indice li::before { content: none; }
.prosa .indice li { padding-left: 0; }
.prosa .indice ol { padding-left: 1.3rem; list-style: decimal; }
.prosa table { display: table; width: 100%; border: 1px solid var(--linea-fuerte); border-radius: var(--radio); border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 0.97rem; }
.prosa th { background: var(--marino); color: #fff; font-weight: 720; border-bottom: 0; }
.prosa td { background: var(--hoja); }
.prosa tr:nth-child(even) td { background: var(--papel); }
.prosa td:first-child { font-weight: 650; color: var(--marino); }
.prosa td, .prosa th { text-align: left; hyphens: manual; }
@media (max-width: 40rem) { .prosa table { display: block; overflow-x: auto; } }
.prosa blockquote { position: relative; padding: 1.15rem 1.4rem 1.15rem 3.6rem; }
.prosa blockquote::before { content: '!'; position: absolute; left: 1.2rem; top: 1.1rem; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--turquesa-os); color: #fff; font-weight: 800; font-size: 1rem; line-height: 1; }
.prosa blockquote.callout-cta::before { content: '→'; background: var(--amarillo); color: var(--marino); }
.prosa blockquote.callout-nota::before { content: 'i'; background: var(--amarillo-tinta); color: var(--amarillo-claro); font-style: italic; }
.prosa h3 + p { margin-top: 0.2rem; }
.prosa a { text-underline-offset: 0.2em; }
.articulo__lateral { position: sticky; top: calc(var(--cab-alto) + 1.25rem); display: grid; gap: 1rem; }
.lateral__toc { padding: 1.25rem 1.3rem; background: var(--hoja); border: 1px solid var(--linea); border-radius: var(--radio-grande); }
.lateral__t, .lateral__ct { margin: 0 0 0.7rem; font-size: 0.82rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--turquesa-os); }
.lateral__toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.1rem; }
.lateral__toc a { display: block; padding: 0.45rem 0.8rem; border-radius: 0.55rem; font-size: 0.95rem; line-height: 1.35; font-weight: 560; text-decoration: none; color: var(--gris); transition: color 0.2s, background-color 0.2s; }
.lateral__toc a[aria-current="true"] { color: var(--marino); background: var(--amarillo-claro); font-weight: 720; }
@media (hover: hover) and (pointer: fine) { .lateral__toc a:hover { color: var(--marino); background: var(--turquesa-claro); } }
.lateral__autor { display: flex; align-items: center; gap: 0.9rem; padding: 1rem 1.1rem; background: var(--papel-2); border-radius: var(--radio-grande); }
.lateral__autor img { flex: none; width: 3.5rem; height: 3.5rem; mix-blend-mode: multiply; }
.lateral__autor p { margin: 0; display: grid; gap: 0.1rem; line-height: 1.3; }
.lateral__autor span { font-size: 0.85rem; color: var(--gris); }
.lateral__cta { padding: 1.35rem 1.3rem; border-radius: var(--radio-grande); background: var(--marino); color: #fff; display: grid; gap: 0.7rem; justify-items: start; }
.lateral__cta .lateral__ct { color: var(--amarillo); margin: 0; }
.lateral__cta p { margin: 0; color: var(--sobre-marino); font-size: 0.98rem; line-height: 1.45; }
.lateral__cta .lateral__ct { color: var(--amarillo); }
.lateral__tel { display: inline-flex; align-items: center; gap: 0.5rem; color: #fff; font-weight: 700; text-decoration: none; min-height: 2.75rem; }
.lateral__tel .ico { color: var(--turquesa); }
@media (max-width: 64rem) {
  .articulo__grid { grid-template-columns: minmax(0, 1fr); }
  .articulo__lateral { position: static; order: -1; grid-template-columns: minmax(0, 1fr); }
  .lateral__toc { display: none; }
  .prosa > .indice, .prosa .indice { display: block; }
}
@media (min-width: 64.01rem) { .prosa .indice { display: none; } }
@media (max-width: 64rem) { .articulo__lateral { order: 2; margin-top: 1rem; } }

/* Índice de guías y «Sigue leyendo»: tarjetas */
.guias__rejilla { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.guias__rejilla--tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.guias__tarjeta { display: flex; }
.guias__tarjeta a { position: relative; display: flex; flex-direction: column; gap: 0.7rem; width: 100%; padding: clamp(1.3rem, 2.5vw, 1.9rem); background: var(--hoja); border: 1.5px solid var(--linea); border-radius: var(--radio-grande); text-decoration: none; overflow: hidden; transition: transform 0.3s var(--suave), border-color 0.25s, box-shadow 0.3s; }
.guias__tarjeta a::before { content: ''; position: absolute; left: 0; top: 0; height: 4px; width: 100%; background: linear-gradient(90deg, var(--turquesa), var(--amarillo)); transform: scaleX(0.18); transform-origin: left; transition: transform 0.45s var(--suave); }
.guias__tarjeta h2, .guias__tarjeta h3 { margin: 0; color: var(--marino); text-wrap: balance; }
.guias__tarjeta p { margin: 0; color: var(--gris); text-align: justify; hyphens: auto; max-width: none; }
.guias__chip { align-self: flex-start; padding: 0.2rem 0.75rem; border-radius: 999px; background: var(--turquesa-claro); color: var(--turquesa-os); font-size: 0.8rem; font-weight: 780; letter-spacing: 0.06em; text-transform: uppercase; }
.guias__pie { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.4rem 1rem; margin-top: auto; padding-top: 0.9rem; border-top: 1px solid var(--linea); font-size: 0.9rem; color: var(--gris); }
.guias__tarjeta--grande { grid-column: 1 / -1; }
.guias__tarjeta--grande a { background: var(--marino); border-color: var(--marino); padding: clamp(1.6rem, 3.5vw, 2.8rem); }
.guias__tarjeta--grande h2 { color: #fff; font-size: clamp(1.6rem, 1.3rem + 1.3vw, 2.2rem); max-width: 30ch; }
.guias__tarjeta--grande p { color: var(--sobre-marino); max-width: 70ch; font-size: 1.12rem; }
.guias__tarjeta--grande .guias__chip { background: var(--amarillo); color: var(--marino); }
.guias__tarjeta--grande .guias__pie { color: var(--sobre-marino); border-top-color: rgba(255, 255, 255, 0.2); }
.guias__tarjeta--grande .enlace-flecha { color: var(--amarillo); }
@media (hover: hover) and (pointer: fine) { .guias__tarjeta a:hover { transform: translateY(-5px); border-color: var(--turquesa-os); box-shadow: 0 20px 34px -24px rgba(4, 39, 95, 0.55); } .guias__tarjeta a:hover::before { transform: scaleX(1); } .guias__tarjeta--grande a:hover { border-color: var(--marino); } }
.guias--otras { padding-top: clamp(1rem, 3vw, 2rem); }
.guias--otras .titulo-3 { margin-bottom: 1.5rem; }
@media (max-width: 62rem) { .guias__rejilla--tres { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 48rem) { .guias__rejilla { grid-template-columns: minmax(0, 1fr); } }

/* Guías v3: más aire entre secciones y títulos; preguntas frecuentes desplegables */
.articulo__cab { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.articulo__meta { margin-top: 1.75rem; padding-top: 1.35rem; }
.prosa { line-height: 1.8; }
.prosa p, .prosa ul, .prosa ol { margin-bottom: 1.5rem; }
.prosa > p:first-of-type { margin-bottom: 2.1rem; padding-block: 0.35rem; }
.prosa > p:first-of-type + p { margin-bottom: 2.4rem; }
.prosa li { margin-bottom: 0.8rem; }
.prosa li:last-child { margin-bottom: 0; }
.prosa h2 { margin: 5rem 0 1.6rem; padding-top: 1.5rem; }
.prosa blockquote { margin: 2.6rem 0; }
.prosa h3 { margin: 2.6rem 0 1rem; }
.prosa table { margin: 2.2rem 0 2.6rem; }
.prosa .indice { margin: 2.4rem 0 2.8rem; padding: 1.4rem 1.6rem; }
.faq--guia { margin: 0.5rem 0 1rem; border-top: 1px solid var(--linea-fuerte); }
.faq--guia .faq__item summary { min-height: 4rem; padding-block: 1.15rem; font-size: 1.12rem; }
.faq--guia .faq__item summary:focus-visible { outline: 3px solid var(--marino); outline-offset: 2px; border-radius: 0.3rem; }
.faq--guia .faq__resp { max-width: none; padding: 0.2rem 3rem 1.6rem 0; color: var(--tinta); }
.faq--guia .faq__resp p { margin: 0; line-height: 1.75; }
.faq--guia .faq__item[open] summary { color: var(--marino); }
.prosa .faq--guia .faq__item::before, .prosa .faq--guia summary::before { content: none; }

/* ═══ Cómo trabajamos v3 ═══ */
.camino2 { padding-block: clamp(3rem, 6vw, 5rem) clamp(3.5rem, 7vw, 6rem); }
.camino2__lista { list-style: none; margin: clamp(2.25rem, 5vw, 3.5rem) 0 0; padding: 0; display: grid; gap: clamp(1.5rem, 3vw, 2.25rem); }
.paso2 { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(1.75rem, 5vw, 4.5rem); align-items: stretch; padding-bottom: clamp(1.5rem, 3vw, 2.25rem); border-bottom: 1px dashed var(--linea-fuerte); }
.paso2:last-child { border-bottom: 0; padding-bottom: 0; }
.paso2--inv .paso2__panel { order: 2; }
.paso2--inv { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
.paso2__panel { position: relative; display: flex; flex-direction: column; gap: 0.6rem; padding: clamp(1.6rem, 3vw, 2.4rem); border-radius: 1.1rem; background: var(--marino); color: #fff; overflow: hidden; }
.paso2:nth-child(even) .paso2__panel { background: linear-gradient(155deg, var(--marino-2), var(--marino-profundo)); }
.paso2__n { position: absolute; right: clamp(1rem, 2.5vw, 1.8rem); top: 0.2rem; font-size: clamp(6rem, 5rem + 4vw, 9rem); line-height: 1; font-weight: 800; letter-spacing: -0.04em; color: var(--amarillo); opacity: 0.95; }
.paso2__eyebrow { margin: 0; font-size: 0.82rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--turquesa); }
.paso2__panel h3 { margin: 0.2rem 0 0.4rem; max-width: 12ch; font-size: clamp(1.7rem, 1.35rem + 1.3vw, 2.4rem); line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; color: #fff; }
.paso2__panel > p:last-child { margin: 0; font-size: 1.08rem; line-height: 1.65; color: var(--sobre-marino); max-width: 46ch; }
.paso2__datos { display: grid; gap: 1.4rem; align-content: center; }
.paso2__datos > div { padding-bottom: 1.3rem; border-bottom: 1px solid var(--linea-fuerte); }
.paso2__datos > div:last-child { border-bottom: 0; padding-bottom: 0; }
.paso2__datos h4 { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.8rem; font-size: 0.85rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--turquesa-os); }
.paso2__datos .lista-marcas { gap: 0.55rem; }
.paso2__datos .lista-marcas li { max-width: none; font-size: 1.04rem; line-height: 1.5; }
.camino2__cta { margin: clamp(2.25rem, 4vw, 3.25rem) 0 0; text-align: center; }
@media (max-width: 62rem) {
  .paso2, .paso2--inv { grid-template-columns: minmax(0, 1fr); }
  .paso2--inv .paso2__panel { order: 0; }
}

.adapt { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--marino); color: #fff; }
.adapt__dentro { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.adapt__eyebrow { margin: 0 0 1rem; font-size: 0.85rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--amarillo); }
.adapt .titulo-2 { color: #fff; }
.adapt .lead { color: var(--sobre-marino); }
.adapt .lead strong { color: #fff; }
.adapt__fin { margin: 1.5rem 0 0; padding-top: 1.1rem; border-top: 1px solid rgba(255, 255, 255, 0.3); color: #fff; font-weight: 600; font-size: 1.1rem; max-width: 40ch; }
.adapt__intro { position: sticky; top: calc(var(--cab-alto) + 1.5rem); }
.adapt__lista { list-style: none; margin: 0; padding: 0; }
.adapt__lista li { position: relative; display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem 0.3rem; }
.adapt__lista li::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(255, 255, 255, 0.22); }
.adapt__lista li:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
.adapt__ok { flex: none; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; margin-top: 0.1rem; border-radius: 50%; background: var(--amarillo); color: var(--marino); }
.adapt__lista span:last-child { display: grid; gap: 0.15rem; color: var(--sobre-marino); line-height: 1.45; }
.adapt__lista strong { color: #fff; font-size: 1.15rem; font-weight: 760; }
.js-rv .adapt__lista li.rv::before { transform: scaleX(0); transform-origin: left; transition: transform 0.7s var(--suave) calc(var(--i, 0) * 90ms); }
.js-rv .adapt__lista li.rv.rv--in::before { transform: none; }
@media (max-width: 62rem) { .adapt__dentro { grid-template-columns: minmax(0, 1fr); } .adapt__intro { position: static; } }

.jor { padding-block: clamp(3.5rem, 7vw, 6rem); }
.jor__cab .lead { margin-top: 0.75rem; }
.jor__dentro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: stretch; margin-top: clamp(1.75rem, 3vw, 2.5rem); }
.jor__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.jor__lista li { flex: 1; display: flex; gap: 1.1rem; align-items: center; padding: 1.15rem 0; border-top: 1px solid var(--linea-fuerte); }
.jor__lista li:last-child { border-bottom: 1px solid var(--linea-fuerte); }
.jor__ico { flex: none; color: var(--turquesa-os); }
.jor__lista li > span:last-child { display: grid; gap: 0.2rem; color: var(--gris); line-height: 1.45; }
.jor__lista strong { color: var(--marino); font-size: 1.12rem; font-weight: 760; }
.jor__avisos { display: flex; flex-direction: column; }
.jor__avisos > p { color: var(--gris); max-width: 44ch; margin-bottom: 0; }
.avisos { flex: 1; list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; gap: 1.1rem; align-content: space-between; }
.avisos li { position: relative; display: grid; gap: 0.3rem; padding: 0.1rem 0 0.1rem 1.9rem; --c: var(--linea-fuerte); }
.avisos li::before { content: ""; position: absolute; left: 0; top: 0.5rem; width: 1rem; height: 1rem; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 22%, transparent); }
.avisos__n--1 { --c: var(--amarillo); }
.avisos__n--2 { --c: var(--turquesa); }
.avisos__n--3 { --c: var(--gris); }
.avisos strong { font-size: 1.15rem; color: var(--marino); font-weight: 780; }
.avisos span { color: var(--tinta); line-height: 1.45; }
.avisos em { font-style: normal; color: var(--gris); font-size: 0.97rem; line-height: 1.45; }
@media (max-width: 62rem) { .jor__dentro { grid-template-columns: minmax(0, 1fr); } }

.reparto2 { padding-block: clamp(2.5rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); background: var(--papel-2); }
.reparto2 .lead { margin-top: 0.75rem; }
.reparto2__tabla { margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.reparto2__cab, .reparto2__fila { display: grid; grid-template-columns: minmax(0, 1fr) 3.4rem minmax(0, 1fr); align-items: stretch; column-gap: 0.6rem; }
.reparto2__cab { margin-bottom: 0.9rem; }
.reparto2__chip { justify-self: start; padding: 0.4rem 1.2rem; border-radius: 999px; font-weight: 780; font-size: 0.95rem; letter-spacing: 0.04em; }
.reparto2__chip--tu { background: var(--gris); color: #fff; }
.reparto2__chip--si { background: var(--amarillo); color: var(--marino); }
.reparto2__filas { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.reparto2__tu, .reparto2__si { margin: 0; display: flex; align-items: center; padding: 1.25rem 1.5rem; border-radius: var(--radio-grande); font-size: 1.08rem; line-height: 1.45; font-weight: 560; }
.reparto2__tu { background: var(--hoja); border: 1.5px solid var(--linea-fuerte); color: var(--marino); }
.reparto2__si { background: var(--marino); color: #fff; }
.reparto2__flecha { display: grid; place-items: center; color: var(--turquesa-os); }
@media (max-width: 52rem) {
  .reparto2__cab { display: none; }
  .reparto2__fila { grid-template-columns: minmax(0, 1fr); row-gap: 0.4rem; padding-bottom: 0.7rem; }
  .reparto2__flecha { transform: rotate(90deg); justify-self: start; margin-left: 1.2rem; height: 1.6rem; }
}

.limites { padding-block: clamp(3rem, 6vw, 5rem); background: var(--amarillo-claro); }
.limites__dentro { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.limites .lead { color: var(--amarillo-tinta); }
.limites__lista { list-style: none; margin: 0; padding: 0; }
.limites__lista li { display: flex; gap: 1rem; align-items: flex-start; padding: 1.05rem 0; border-top: 1px solid rgba(88, 62, 8, 0.25); font-size: 1.1rem; font-weight: 600; line-height: 1.45; color: var(--marino); }
.limites__lista li:last-child { border-bottom: 1px solid rgba(88, 62, 8, 0.25); }
.limites__lista .ico { flex: none; margin-top: 0.1rem; color: var(--marino); }
@media (max-width: 62rem) { .limites__dentro { grid-template-columns: minmax(0, 1fr); } }

.escrito { padding-block: clamp(3.5rem, 7vw, 6rem); }
.escrito__cab .lead { margin-top: 0.75rem; max-width: 62ch; }
.escrito__lista { list-style: none; margin: clamp(1.75rem, 3vw, 2.5rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 4vw, 3.5rem); }
.escrito__lista li { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1.5rem 0; border-top: 1px solid var(--linea-fuerte); }
.escrito__ico { flex: none; display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border-radius: 50%; background: var(--turquesa-claro); color: var(--turquesa-os); }
.escrito__lista h3 { margin: 0 0 0.35rem; font-size: 1.2rem; font-weight: 780; line-height: 1.25; color: var(--marino); }
.escrito__lista p { margin: 0; color: var(--tinta); line-height: 1.5; }
.escrito__lista .escrito__ej { margin-top: 0.6rem; padding-top: 0.6rem; border-top: 1px dashed var(--linea-fuerte); font-size: 0.97rem; color: var(--gris); }
.escrito__nota { margin: 1.75rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--linea-fuerte); color: var(--gris); }
.escrito__nota a { color: var(--turquesa-os); font-weight: 700; }
@media (max-width: 52rem) { .escrito__lista { grid-template-columns: minmax(0, 1fr); } }

.empezar2 { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--papel-2); }
.empezar2 .lead { margin-top: 0.75rem; }
.semanas__lista { list-style: none; margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); position: relative; }
.semanas__lista::before { content: ''; position: absolute; left: 0; right: 0; top: 0.55rem; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--turquesa), var(--amarillo)); }
.semanas__lista li { position: relative; padding-top: 2.1rem; }
.semanas__punto { position: absolute; left: 0; top: 0; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--marino); box-shadow: 0 0 0 5px var(--papel-2); }
.semanas__lista h3 { margin: 0 0 0.5rem; font-size: 1.3rem; font-weight: 780; color: var(--marino); }
.semanas__lista p { margin: 0; color: var(--gris); line-height: 1.6; max-width: 40ch; }
@media (max-width: 52rem) { .semanas__lista { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-left: 2.2rem; } .semanas__lista::before { left: 0.55rem; right: auto; top: 0; bottom: 0; width: 3px; height: auto; } .semanas__lista li { padding-top: 0; } .semanas__punto { left: -2.2rem; top: 0.2rem; } }
.empezar2__casos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.25rem); margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px dashed var(--linea-fuerte); }
.caso2 { padding: 0; }
.caso2__tag { display: inline-flex; align-items: center; gap: 0.5rem; margin: 0 0 0.9rem; padding: 0.35rem 1rem 0.35rem 0.8rem; border-radius: 999px; background: var(--marino); color: var(--amarillo); font-size: 0.85rem; font-weight: 780; letter-spacing: 0.05em; text-transform: uppercase; }
.caso2--varios .caso2__tag { background: var(--amarillo); color: var(--marino); }
.caso2 h3 { margin: 0 0 0.6rem; font-size: 1.5rem; font-weight: 800; color: var(--marino); }
.caso2 > p { margin: 0 0 1rem; color: var(--gris); line-height: 1.6; max-width: 46ch; }
@media (max-width: 52rem) { .empezar2__casos { grid-template-columns: minmax(0, 1fr); } }

.faq-como { padding-block: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 3vw, 2rem); }
.faq-como .faq--guia { margin-top: 2rem; max-width: none; width: 100%; }
.faq-como .faq--guia .faq__resp { max-width: none; padding-right: 4rem; }
.faq-como .faq__resp a { color: var(--turquesa-os); font-weight: 700; }
.faq-como__mas { margin: 1.5rem 0 0; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.caso2 > p.caso2__tag { margin: 0 0 0.9rem; max-width: none; color: var(--amarillo); }
.caso2--varios > p.caso2__tag { color: var(--marino); }

.jor__horario { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: clamp(1.75rem, 3vw, 2.5rem) 0 0; border-radius: var(--radio-grande); background: var(--marino); color: #fff; overflow: hidden; }
.jor__horario > div { display: grid; grid-template-columns: auto 1fr; column-gap: 0.9rem; align-content: center; padding: 1.4rem 1.6rem; }
.jor__horario > div + div { border-left: 1px solid rgba(255, 255, 255, 0.18); }
.jor__ic { grid-row: 1 / span 3; align-self: start; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: rgba(48, 178, 192, 0.2); color: var(--turquesa); }
.jor__lab { font-size: 0.8rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--amarillo); }
.jor__horario strong { font-size: 1.15rem; font-weight: 760; color: #fff; line-height: 1.35; }
.jor__horario em { font-style: normal; color: var(--sobre-marino); font-size: 0.97rem; }
@media (max-width: 52rem) { .jor__horario { grid-template-columns: minmax(0, 1fr); } .jor__horario > div + div { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.18); } }

/* ═══ Sobre nosotros v3 ═══ */
.sob-eyebrow { margin: 0 0 1rem; font-size: 0.85rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--turquesa-os); }
.sob-hero { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(2rem, 4vw, 3rem); }
.sob-hero__dentro { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.sob-hero .titulo-1 { max-width: 14ch; }
.sob-hero .lead { margin-top: 1.4rem; max-width: 46ch; }
.sob-hero__acc { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.75rem; margin: 2rem 0 0; }
.sob-hero__foto { position: relative; margin: 0; }
.sob-hero__foto::before { content: ''; position: absolute; inset: 1.4rem -1.2rem -1.2rem 1.4rem; border-radius: 1.7rem; background: var(--turquesa-claro); z-index: 0; }
.sob-hero__foto img { position: relative; z-index: 1; display: block; width: 100%; height: auto; border-radius: 1.5rem; box-shadow: 0 30px 50px -34px rgba(4, 39, 95, 0.55); }
.sob-hero__foto figcaption { position: absolute; z-index: 2; left: 1.2rem; bottom: 1.2rem; display: grid; gap: 0.1rem; padding: 0.75rem 1.1rem; border-radius: 0.9rem; background: var(--marino); color: #fff; line-height: 1.3; }
.sob-hero__foto figcaption span { font-size: 0.88rem; color: var(--sobre-marino); }
@media (max-width: 62rem) { .sob-hero__dentro { grid-template-columns: minmax(0, 1fr); } .sob-hero .titulo-1 { max-width: none; } .sob-hero__foto::before { inset: 1rem -0.5rem -0.8rem 1rem; } }

.sob-datos { padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(2.5rem, 5vw, 4rem); }
.sob-datos__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--linea-fuerte); }
.sob-datos__lista li { display: grid; gap: 0.35rem; align-content: start; padding: 1.6rem clamp(1rem, 2vw, 1.8rem); }
.sob-datos__lista li + li { border-left: 1px solid var(--linea-fuerte); }
.sob-datos__n { font-size: clamp(3rem, 2.4rem + 2.5vw, 4.4rem); line-height: 1; font-weight: 800; letter-spacing: -0.03em; color: var(--marino); font-variant-numeric: tabular-nums; }
.sob-datos__n::after { content: ''; display: block; width: 2.6rem; height: 4px; margin-top: 0.6rem; border-radius: 2px; background: var(--amarillo); }
.sob-datos__lista li > span:last-child { color: var(--gris); line-height: 1.4; max-width: 22ch; }
@media (max-width: 52rem) { .sob-datos__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sob-datos__lista li:nth-child(3) { border-left: 0; } .sob-datos__lista li:nth-child(n+3) { border-top: 1px solid var(--linea-fuerte); } }

/* Quiénes somos: el texto queda centrado en vertical respecto a la ficha (mismo margen arriba y abajo) */
.sob-quienes { padding-block: clamp(3rem, 6vw, 5rem); }
.sob-quienes__dentro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 6vw, 5rem); align-items: stretch; }
.sob-quienes__txt { display: flex; flex-direction: column; justify-content: center; }
.sob-quienes__txt .titulo-2 { margin-bottom: 1.6rem; }
.sob-quienes__txt p { font-size: 1.18rem; line-height: 1.8; color: var(--tinta); margin: 0 0 1.5rem; }
.sob-quienes__txt p.sob-quienes__cita { position: relative; margin: 0.5rem 0 0; padding-top: 1.4rem; color: var(--marino); font-weight: 620; }
.sob-ficha { padding: clamp(1.4rem, 3vw, 2rem); border-radius: var(--radio-grande); background: var(--marino); color: #fff; }
.sob-ficha h3 { margin: 0 0 1rem; font-size: 0.85rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--amarillo); }
.sob-ficha dl { margin: 0; }
.sob-ficha dl > div { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 0.2rem 1rem; padding: 0.95rem 0; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.sob-ficha dt { color: var(--sobre-marino); font-size: 0.95rem; }
.sob-ficha dd { margin: 0; color: #fff; font-weight: 600; line-height: 1.45; }
.sob-ficha a { color: var(--amarillo); text-decoration: none; }
@media (max-width: 62rem) { .sob-quienes__dentro { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 30rem) { .sob-ficha dl > div { grid-template-columns: minmax(0, 1fr); } }

/* A quién ayudamos: dos paneles alineados (tipo de centro y especialidad) */
.sob-publico { padding-block: clamp(3rem, 6vw, 5rem); background: var(--papel-2); }
.sob-publico .lead { margin-top: 0.75rem; }
.sob-publico__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(1rem, 2.5vw, 1.75rem); margin-top: clamp(1.75rem, 3vw, 2.5rem); align-items: stretch; }
.sob-publico__col { padding: clamp(1.4rem, 3vw, 2rem); border-radius: var(--radio-grande); background: var(--hoja); border: 1px solid var(--linea); }
.sob-publico__col h3 { margin: 0 0 0.6rem; font-size: 0.85rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; color: var(--turquesa-os); }
.sob-publico__col ul { list-style: none; margin: 0; padding: 0; }
.sob-publico__col li { display: flex; align-items: center; gap: 0.95rem; padding: 0.85rem 0; border-top: 1px solid var(--linea); font-size: 1.1rem; font-weight: 680; line-height: 1.3; color: var(--marino); }
.sob-publico__col li:first-child { border-top: 0; }
.sob-publico__esp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1rem, 3vw, 2.5rem); }
.sob-publico__esp li:nth-child(2) { border-top: 0; }
.sob-publico__ico { flex: none; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 0.85rem; background: var(--turquesa-claro); color: var(--turquesa-os); transition: background-color 0.25s, color 0.25s, transform 0.3s var(--suave); }
@media (hover: hover) and (pointer: fine) { .sob-publico__col li:hover .sob-publico__ico { background: var(--marino); color: var(--amarillo); transform: rotate(-6deg) scale(1.06); } }
.sob-publico__mas { margin: 1.5rem 0 0; color: var(--gris); }
.sob-publico__mas a { color: var(--turquesa-os); font-weight: 700; }
@media (max-width: 62rem) { .sob-publico__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 40rem) { .sob-publico__esp { grid-template-columns: minmax(0, 1fr); } .sob-publico__esp li:nth-child(2) { border-top: 1px solid var(--linea); } }

/* Problemas → lo que hacemos: pares «antes / con Sinergia» */
.sob-problemas { padding-block: clamp(3.5rem, 7vw, 6rem); }
.sob-problemas__cab .lead { margin-top: 0.9rem; max-width: 62ch; }
.sob-problemas__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: clamp(1.75rem, 3vw, 2.5rem); font-size: 0.82rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; }
.sob-problemas__cols span { padding: 0 1.4rem 0.6rem; color: var(--gris); }
.sob-problemas__cols span:last-child { color: var(--turquesa-os); }
.sob-problemas__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.sob-par { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
.sob-par__pro, .sob-par__sol { display: flex; align-items: center; gap: 0.9rem; padding: 1.1rem 1.4rem; font-size: 1.12rem; font-weight: 700; line-height: 1.3; text-decoration: none; }
.sob-par__pro { border-radius: 1rem 0 0 1rem; background: var(--papel-2); color: var(--marino); padding-right: 2.4rem; }
.sob-par__sol { border-radius: 0 1rem 1rem 0; background: var(--marino); color: #fff; padding-left: 2.4rem; transition: background-color 0.25s; }
.sob-par__ico { flex: none; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--hoja); color: var(--turquesa-os); }
.sob-par__sol .ico { flex: none; color: var(--amarillo); }
.sob-par__flecha { position: absolute; z-index: 1; left: 50%; top: 50%; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; margin: -1.2rem 0 0 -1.2rem; border-radius: 50%; background: var(--amarillo); color: var(--marino); box-shadow: 0 0 0 4px var(--papel); transition: transform 0.3s var(--suave); }
@media (hover: hover) and (pointer: fine) { a.sob-par__sol:hover { background: var(--marino-2); } .sob-par:has(a.sob-par__sol:hover) .sob-par__flecha { transform: translateX(4px); } }
a.sob-par__sol:focus-visible { outline: 3px solid var(--amarillo); outline-offset: -3px; }
@media (max-width: 52rem) {
  .sob-problemas__cols { display: none; }
  .sob-par { grid-template-columns: minmax(0, 1fr); }
  .sob-par__pro { border-radius: 1rem 1rem 0 0; padding-right: 1.4rem; }
  .sob-par__sol { border-radius: 0 0 1rem 1rem; padding-left: 1.4rem; }
  .sob-par__flecha { top: auto; left: 2.3rem; margin: 0; bottom: calc(50% - 1.2rem); transform: rotate(90deg); }
}

.sob-dif { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--papel-2); }
.sob-dif__dentro { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.sob-dif__txt { position: sticky; top: calc(var(--cab-alto) + 1.5rem); }
.sob-dif__lista { list-style: none; margin: 0; padding: 0; }
.sob-dif__lista li { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1.4rem 0; border-top: 1px solid var(--linea-fuerte); }
.sob-dif__lista li:last-child { border-bottom: 1px solid var(--linea-fuerte); }
.sob-dif__ico { flex: none; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--marino); color: var(--amarillo); }
.sob-dif__lista h3 { margin: 0 0 0.3rem; font-size: 1.2rem; font-weight: 780; color: var(--marino); }
.sob-dif__lista p { margin: 0; color: var(--tinta); line-height: 1.55; }
@media (max-width: 62rem) { .sob-dif__dentro { grid-template-columns: minmax(0, 1fr); } .sob-dif__txt { position: static; } }

/* Comparación */
.sob-compara { padding-block: clamp(3rem, 6vw, 5rem) 0; }
.sob-compara > p { color: var(--gris); margin: 0.6rem 0 0; }
.sob-compara__tabla { margin-top: 1.75rem; overflow-x: auto; border-radius: var(--radio-grande); box-shadow: 0 20px 36px -30px rgba(4, 39, 95, 0.5); border: 1px solid var(--linea-fuerte); }
.sob-compara table { width: 100%; border-collapse: collapse; min-width: 48rem; }
.sob-compara th, .sob-compara td { padding: 1.15rem 1.3rem; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--linea); line-height: 1.4; }
.sob-compara thead th { background: var(--papel-2); color: var(--marino); border-bottom: 2px solid var(--marino); font-weight: 760; }
.sob-compara thead th.sob-compara__si { background: var(--amarillo); border-bottom-color: var(--amarillo); }
.sob-compara__cab, .sob-compara__fila { display: flex; align-items: center; gap: 0.7rem; }
.sob-compara__cab .ico { color: var(--turquesa-os); flex: none; }
.sob-compara__si .sob-compara__cab .ico { color: var(--marino); }
.sob-compara tbody th { background: var(--hoja); color: var(--marino); font-weight: 700; width: 24%; }
.sob-compara__fila .ico { flex: none; color: var(--turquesa-os); }
.sob-compara td { background: var(--hoja); color: var(--tinta); }
.sob-compara td.sob-compara__si { background: var(--marino); color: #fff; font-weight: 650; border-bottom-color: rgba(255, 255, 255, 0.16); }
.sob-compara tbody tr:last-child > * { border-bottom: 0; }
.sob-compara tr.rv { transform: none !important; }
.sob-compara__celda { display: flex; align-items: center; gap: 0.75rem; }
.est { flex: none; position: relative; width: 1.55rem; height: 1.55rem; border-radius: 50%; }
.est--si { background: var(--turquesa-os); }
.est--si::after { content: ''; position: absolute; left: 0.42rem; top: 0.38rem; width: 0.7rem; height: 0.38rem; border-left: 2.5px solid #fff; border-bottom: 2.5px solid #fff; transform: rotate(-45deg); }
.sob-compara__si .est--si { background: var(--amarillo); }
.sob-compara__si .est--si::after { border-color: var(--marino); }
.est--no { background: var(--linea-fuerte); }
.est--no::before, .est--no::after { content: ''; position: absolute; left: 0.4rem; top: 0.72rem; width: 0.75rem; height: 2.5px; background: var(--gris); transform: rotate(45deg); }
.est--no::after { transform: rotate(-45deg); }
.est--par { background: conic-gradient(var(--amarillo) 0 50%, var(--linea-fuerte) 0); }
.est--neu { background: transparent; border: 2px solid var(--linea-fuerte); }
.est--neu::after { content: ''; position: absolute; left: 0.32rem; top: 0.58rem; width: 0.5rem; height: 2.5px; background: var(--gris); }
.sob-compara__si .est--neu { border-color: rgba(255, 255, 255, 0.5); }
.sob-compara__si .est--neu::after { background: #fff; }
.sob-compara__nota { margin: 1.25rem 0 0; color: var(--gris); }
.sob-compara__nota a { color: var(--turquesa-os); font-weight: 700; }

/* Principios: una línea que une los cuatro */
.sob-principios { margin-top: clamp(3.5rem, 7vw, 6rem); padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--marino); color: #fff; }
.sob-principios .titulo-2 { color: #fff; }
.sob-principios__lista { position: relative; list-style: none; margin: clamp(2.25rem, 4vw, 3.25rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.25rem); }
.sob-principios__lista::before { content: ''; position: absolute; left: 1.3rem; right: 1.3rem; top: 1.3rem; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--amarillo), var(--turquesa)); transform-origin: left; }
.sob-principios__lista li { position: relative; padding-top: 4rem; }
.sob-principios__n { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--marino-2); border: 3px solid var(--amarillo); color: var(--amarillo); }
.sob-principios__lista li:nth-child(even) .sob-principios__n { border-color: var(--turquesa); color: var(--turquesa); }
.sob-principios__lista h3 { margin: 0 0 0.5rem; font-size: 1.2rem; line-height: 1.25; font-weight: 780; color: #fff; }
.sob-principios__lista p { margin: 0; color: var(--sobre-marino); line-height: 1.55; }
.js-rv .sob-principios__lista.rv { opacity: 1; transform: none; }
.js-rv .sob-principios__lista.rv::before { transform: scaleX(0); }
.js-rv .sob-principios__lista.rv.rv--in::before { transform: none; transition: transform 1.1s var(--suave) 0.15s; }
.js-rv .sob-principios__lista li.rv { transition-delay: calc(var(--i, 0) * 0.25s + 0.2s); }
.js-rv .sob-principios__lista li.rv .sob-principios__n { transform: scale(0.5); opacity: 0; }
.js-rv .sob-principios__lista li.rv.rv--in .sob-principios__n { transform: none; opacity: 1; transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) calc(var(--i, 0) * 0.25s + 0.2s), opacity 0.3s calc(var(--i, 0) * 0.25s + 0.2s); }
.sob-principios__mas { margin: clamp(2rem, 4vw, 3rem) 0 0; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, 0.2); color: var(--sobre-marino); }
.sob-principios__mas a { color: var(--amarillo); font-weight: 700; }
@media (max-width: 62rem) {
  .sob-principios__lista { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .sob-principios__lista::before { left: 1.3rem; right: auto; top: 1.3rem; bottom: 1.3rem; width: 3px; height: auto; transform-origin: top; background: linear-gradient(var(--amarillo), var(--turquesa)); }
  .js-rv .sob-principios__lista.rv::before { transform: scaleY(0); }
  .sob-principios__lista li { padding: 0 0 0 4rem; }
}

.sob-faq { padding-block: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 3vw, 2rem); }
.sob-faq .faq--guia { margin-top: 2rem; max-width: none; width: 100%; }
.sob-faq .faq--guia .faq__resp { max-width: none; padding-right: 4rem; }
.sob-compara__tabla, .reparto2__fila { position: relative; }

/* Barras cortas de acento (en lugar de bordes laterales gruesos) */
.prosa > p:first-of-type::before, .sob-quienes__txt p.sob-quienes__cita::before { content: ''; position: absolute; top: 0; left: 0; width: 3.2rem; height: 4px; border-radius: 2px; background: var(--amarillo); }
@media (max-width: 62rem) { .cab__tel, .cab__menu { min-width: 2.75rem; min-height: 2.75rem; justify-content: center; } }
.pie .pie__nav a { display: inline-flex; align-items: center; min-width: 2.75rem; }
@media (max-width: 52rem) { .sob-par__flecha { display: none; } .sob-par__pro, .sob-par__sol { padding-block: 1rem; } }

/* ═══ Móvil v2: márgenes, aire, WhatsApp flotante, línea del camino, pie, tabla en tarjetas, crédito en el menú ═══ */

/* Botón flotante de WhatsApp (solo móvil y tableta; sustituye a la barra inferior) */
.wa-flotante { display: none; }
.cab__nav .cab__credito { display: none; }
@media (max-width: 62rem) {
  .wa-flotante { display: grid; place-items: center; position: fixed; right: 1.15rem; bottom: calc(1.15rem + env(safe-area-inset-bottom)); z-index: 55; width: 3.7rem; height: 3.7rem; border-radius: 50%; background: #128c4a; color: #fff; text-decoration: none; box-shadow: 0 12px 26px -8px rgba(2, 26, 64, 0.55); transition: transform 0.25s var(--suave); animation: wa-entra 0.7s var(--suave) 1.2s both; }
  .wa-flotante:active { transform: scale(0.92); }
  .wa-flotante:focus-visible { outline: 3px solid var(--amarillo); outline-offset: 3px; }
  .wa-flotante .ico { width: 30px; height: 30px; }
  .pie { padding-bottom: 5.5rem; }
  .js .cab__nav .cab__credito { display: block; margin: 1.25rem 0 0; padding-top: 1.1rem; border-top: 1px solid var(--linea-fuerte); font-size: 0.92rem; color: var(--gris); text-align: center; }
  .cab__nav p.cab__credito a { display: inline; min-height: 0; padding: 0; border: 0; font-weight: 700; color: var(--turquesa-os); text-decoration: underline; }
}
@keyframes wa-entra { from { opacity: 0; transform: translateY(1.5rem) scale(0.7); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) and (max-width: 62rem) {
  .wa-flotante::after { content: ''; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 rgba(18, 140, 74, 0.5); animation: wa-pulso 3s ease-out 2.5s infinite; pointer-events: none; }
}
@keyframes wa-pulso { 0% { box-shadow: 0 0 0 0 rgba(18, 140, 74, 0.5); } 70%, 100% { box-shadow: 0 0 0 1.1rem rgba(18, 140, 74, 0); } }
@media (prefers-reduced-motion: reduce) { .wa-flotante { animation: none; } }

/* Más margen a los lados y más aire entre elementos */
@media (max-width: 40rem) {
  :root { --gutter: 1.75rem; }
  body { line-height: 1.7; }
  main > section:not(.hero):not(.sob-hero):not(.franja):not(.pag-cab):not(.sob-datos):not(.garantias) { padding-block: 4rem; }
  .titulo-2 { margin-bottom: 1.1rem; }
  .lead { margin-top: 1rem; }
  .lista-marcas { gap: 0.95rem; }
  .prosa p, .prosa ul, .prosa ol { margin-bottom: 1.75rem; }
  .prosa h2 { margin-top: 4rem; }
  .paquete, .caso2, .carpeta { padding-inline: 1.5rem; }
  .guias__tarjeta a { padding: 1.6rem 1.5rem; }
  .paquetes--grande .paquete { padding: 1.75rem 1.5rem; }
  .faq__item summary { padding-block: 1.2rem; }
  .sob-par, .reparto2__fila { margin-bottom: 0.3rem; }
  .form { padding: 1.75rem 1.5rem; }
}

/* «Mira qué parte de tu día»: la hora va encima del título y el punto de la línea ya no la pisa */
@media (max-width: 62rem) {
  .dia__lista { --col-hora: 1.5rem; --gap-dia: 1rem; }
  .dia__lista::before { left: calc(0.75rem - 1px); }
  .dia__item { grid-template-columns: var(--col-hora) minmax(0, 1fr); row-gap: 0.2rem; padding-block: 1.6rem; }
  .dia__item::before { left: calc(0.75rem - 7px); top: 1.95rem; }
  .dia__hora { grid-column: 2; grid-row: 1; padding-top: 0; font-size: 1.05rem; }
  .dia__cuerpo { grid-column: 2; grid-row: 2; }
}

/* «Y así trabajamos»: una línea vertical que une los cuatro pasos y se dibuja al llegar */
@media (max-width: 62rem) {
  .camino__pasos { gap: 2.4rem; }
  .camino__pasos::before { display: block; left: calc(2.8rem - 2px); right: auto; top: -0.2rem; bottom: 1.6rem; width: 4px; height: auto; background: repeating-linear-gradient(0deg, var(--linea-fuerte) 0 10px, transparent 10px 18px); }
  .camino__pasos::after { display: block; left: calc(2.8rem - 2px); right: auto; top: -0.2rem; bottom: 1.6rem; width: 4px; height: auto; background: linear-gradient(var(--turquesa), var(--amarillo)); transform-origin: top; }
  .js-rv .camino__pasos.rv::after { transform: scaleY(0); }
  .js-rv .camino__pasos.rv.rv--in::after { transform: scaleY(1); transition: transform 2.2s var(--suave) 0.3s; }
  .camino__pasos li { z-index: 1; padding: 3.4rem 1.6rem 1.7rem; }
  .camino__pasos li p { line-height: 1.6; }
}

/* Caso de ejemplo en móvil: el punto recorre la línea vertical */
@media (prefers-reduced-motion: no-preference) and (max-width: 62rem) {
  .flujo__pasos li:not(:last-child)::before { display: block; content: ''; position: absolute; left: calc(1.7rem - 5px); top: 3.4rem; width: 11px; height: 11px; border-radius: 50%; background: var(--amarillo); box-shadow: 0 0 0 4px rgba(242, 193, 78, 0.28); opacity: 0; z-index: 2; transform: none; animation: flujo-punto-v 6s ease-in-out infinite; animation-delay: calc(var(--i, 0) * 1.1s + 3s); }
}
@keyframes flujo-punto-v { 0% { opacity: 0; top: 3.4rem; } 6% { opacity: 1; } 18% { opacity: 1; top: calc(100% - 0.4rem); } 22%, 100% { opacity: 0; top: calc(100% - 0.4rem); } }

/* Pie de página en móvil y tableta: centrado, logo grande y filas alineadas */
@media (max-width: 62rem) {
  .pie { padding-top: 3.5rem; }
  .pie__arriba { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; gap: 2.75rem; padding-bottom: 2.5rem; }
  .pie__col { width: 100%; }
  .pie__col--marca { grid-column: auto; display: grid; justify-items: center; }
  .pie__logo { margin-bottom: 1.4rem; border-radius: 1.4rem; }
  .pie__logo img { width: 160px; height: 160px; }
  .pie__lema { max-width: 24ch; margin-inline: auto; }
  .pie__t { text-align: center; margin-bottom: 1.1rem; }
  .pie .pie__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.2rem 1rem; max-width: 24rem; margin-inline: auto; }
  .pie .pie__nav li { display: flex; }
  .pie .pie__nav a { width: 100%; justify-content: center; text-align: center; }
  .pie ul.pie__contacto { justify-items: center; gap: 0.15rem; }
  .pie__contacto a { justify-content: center; }
  .pie__zona { max-width: 30ch; margin-inline: auto; text-align: center; line-height: 1.6; }
  .pie__abajo { flex-direction: column; align-items: center; text-align: center; gap: 0.9rem; }
  .pie .legal { justify-content: center; gap: 0 0.25rem; max-width: 24rem; }
}

/* Comparación en móvil: tres tarjetas en lugar de una tabla con desplazamiento */
.sob-compara__movil { display: none; }
@media (max-width: 52rem) {
  .sob-compara__tabla { display: none; }
  .sob-compara__movil { display: grid; gap: 1.1rem; margin-top: 1.75rem; }
}

/* En pantallas táctiles no hay «hover»: el mismo gesto se nota al pulsar */
@media (hover: none) {
  .guias__tarjeta a:active::before { transform: scaleX(1); }
  .adicional:active::after { transform: scaleX(1); }
  .adicional:active .adicional__s { transform: translateX(6px); }
  .sob-publico__col li:active .sob-publico__ico { background: var(--marino); color: var(--amarillo); transform: rotate(-6deg) scale(1.06); }
  .faq__item summary:active { color: var(--turquesa-os); }
}
@media (max-width: 62rem) { .camino__pasos { gap: 3.4rem; } }
@media (prefers-reduced-motion: no-preference) and (max-width: 62rem) {
  .camino__pasos li:not(:last-child)::after { display: block; content: ''; position: absolute; left: calc(2.8rem - 6px); top: 100%; width: 12px; height: 12px; border-radius: 50%; background: var(--amarillo); box-shadow: 0 0 0 4px rgba(242, 193, 78, 0.3); opacity: 0; z-index: 3; animation: camino-punto 5.5s ease-in-out infinite; animation-delay: calc(var(--i, 0) * 1.2s + 3s); }
}
@keyframes camino-punto { 0% { opacity: 0; transform: translateY(-0.4rem); } 8% { opacity: 1; } 22% { opacity: 1; transform: translateY(3.1rem); } 28%, 100% { opacity: 0; transform: translateY(3.1rem); } }

/* ═══ Móvil v3: «Pensado para» en filas, pestañas, comparación «frente a frente», más movimiento ═══ */

/* «Pensado para»: en móvil una fila por perfil (nada se sale de su caja) */
@media (max-width: 40rem) {
  .quien__mosaico { grid-template-columns: minmax(0, 1fr); gap: 0.8rem; }
  .quien__ficha, .quien__ficha:first-child { flex-direction: row; align-items: center; justify-content: flex-start; min-height: 0; gap: 1rem; padding: 0.95rem 1.2rem; }
  .quien__ico { flex: none; }
  .quien__t2 { padding-right: 0; font-size: 1.08rem; overflow-wrap: break-word; hyphens: auto; min-width: 0; }
}

/* Pestañas (se activan con JavaScript; sin él se ve todo apilado) */
.sob-tabs { display: none; }
.tabs-js .sob-tabs { display: none; }
@media (max-width: 52rem) {
  .tabs-js .sob-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.35rem; padding: 0.35rem; margin-bottom: 1.1rem; border-radius: 999px; background: var(--papel-2); border: 1px solid var(--linea-fuerte); position: relative; }
  .sob-tab { display: flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 2.9rem; padding: 0.4rem 0.6rem; border: 0; border-radius: 999px; background: transparent; color: var(--marino); font: inherit; font-weight: 700; font-size: 0.9rem; line-height: 1.2; text-align: center; cursor: pointer; transition: background-color 0.25s, color 0.25s, box-shadow 0.25s; }
  .sob-tab .ico { flex: none; color: var(--turquesa-os); }
  .sob-tab.is-activo { background: var(--marino); color: #fff; box-shadow: 0 8px 16px -10px rgba(4, 39, 95, 0.7); }
  .sob-tab.is-activo .ico { color: var(--amarillo); }
  .sob-tab:focus-visible { outline: 3px solid var(--marino); outline-offset: 2px; }
  .tabs-js [data-panel]:not(.is-activo) { display: none; }
  .tabs-js [data-panel].is-activo { animation: panel-in 0.45s var(--suave) both; }
}
@keyframes panel-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* Comparación frente a frente (móvil): lo de siempre a la izquierda, Sinergia a la derecha */
.sob-compara__movil { display: none; }
.sob-compara__movil .sob-opc { display: none; }
@media (max-width: 52rem) {
  .sob-compara__movil { display: block; margin-top: 1.75rem; }
  .sob-vs { display: block; }
  .tabs-js .sob-vs:not(.is-activo) { display: none; }
  .sob-vs__cab { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.5rem; margin-bottom: 0.6rem; font-weight: 780; font-size: 0.95rem; line-height: 1.2; }
  .sob-vs__cab span { padding: 0.8rem 0.9rem; border-radius: 0.9rem 0.9rem 0 0; background: var(--papel-2); color: var(--marino); }
  .sob-vs__cab .sob-vs__si { background: var(--amarillo); }
  .sob-vs ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
  .sob-vs li { padding-top: 0.2rem; }
  .sob-vs__lab { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.45rem; font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 760; color: var(--gris); }
  .sob-vs__lab .ico { flex: none; color: var(--turquesa-os); }
  .sob-vs__par { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.5rem; }
  .sob-vs__cel { position: relative; display: flex; align-items: flex-start; gap: 0.6rem; padding: 0.95rem 0.8rem; border-radius: 0.9rem; background: var(--hoja); border: 1px solid var(--linea-fuerte); font-size: 0.95rem; font-weight: 620; line-height: 1.35; color: var(--marino); }
  .sob-vs__cel--si { background: var(--marino); border-color: var(--marino); color: #fff; }
  .sob-vs__cel .est { flex: none; margin-top: 0.05rem; }
  .sob-vs__cel--si .est--si { background: var(--amarillo); }
  .sob-vs__cel--si .est--si::after { border-color: var(--marino); }
  .sob-vs__cel--si .est--neu { border-color: rgba(255, 255, 255, 0.55); }
  .sob-vs__cel--si .est--neu::after { background: #fff; }
  .sob-vs li { opacity: 1; }
  .sob-vs.is-activo li { animation: vs-fila 0.5s var(--suave) both; animation-delay: calc(var(--i, 0) * 90ms + 0.1s); }
}
@keyframes vs-fila { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }

/* Una consulta / varios profesionales: tarjetas ordenadas */
.empezar2__casos { align-items: stretch; }
.caso2 { position: relative; overflow: hidden; padding: 1.7rem 1.6rem 1.5rem; border-radius: var(--radio-grande); background: var(--hoja); border: 1px solid var(--linea-fuerte); box-shadow: 0 22px 36px -30px rgba(4, 39, 95, 0.5); }
.caso2::before { content: ''; position: absolute; left: 0; top: 0; right: 0; height: 5px; background: linear-gradient(90deg, var(--marino), var(--turquesa)); }
.caso2--varios::before { background: linear-gradient(90deg, var(--amarillo), var(--turquesa)); }
.caso2__cab { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.caso2__ico { flex: none; display: grid; place-items: center; width: 3.6rem; height: 3.6rem; border-radius: 1.1rem; background: var(--marino); color: var(--amarillo); }
.caso2--varios .caso2__ico { background: var(--amarillo); color: var(--marino); }
.caso2 > p.caso2__tag, .caso2__cab p.caso2__tag { display: block; margin: 0 0 0.2rem; padding: 0; border-radius: 0; background: none; color: var(--turquesa-os); font-size: 0.8rem; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 780; }
.caso2__cab h3 { margin: 0; font-size: 1.35rem; line-height: 1.2; font-weight: 800; color: var(--marino); }
.caso2 .caso2__txt { margin: 0 0 1.1rem; color: var(--gris); line-height: 1.6; max-width: none; }
.caso2__lista { list-style: none; margin: 0; padding: 0; }
.caso2__lista li { display: flex; align-items: flex-start; gap: 0.85rem; padding: 0.85rem 0; border-top: 1px dashed var(--linea-fuerte); line-height: 1.45; color: var(--tinta); }
.caso2__ok { flex: none; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-top: 0.05rem; border-radius: 50%; background: var(--turquesa-claro); color: var(--turquesa-os); }
.js-rv .caso2.rv:not(.rv--in) .caso2__lista li { opacity: 0; transform: translateX(-12px); }
.caso2__lista li { transition: opacity 0.5s var(--suave), transform 0.5s var(--suave); }
.caso2.rv--in .caso2__lista li:nth-child(1) { transition-delay: 0.25s; } .caso2.rv--in .caso2__lista li:nth-child(2) { transition-delay: 0.35s; } .caso2.rv--in .caso2__lista li:nth-child(3) { transition-delay: 0.45s; }
@media (max-width: 52rem) { .empezar2__casos { display: block; } .tabs-js .caso2:not(.is-activo) { display: none; } }

/* Más movimiento al aparecer, igual en móvil y en ordenador */
/* iconos: entran girando y escalando */
.js-rv .rv:not(.rv--in) .quien__ico, .js-rv .rv:not(.rv--in) .sob-publico__ico, .js-rv .rv:not(.rv--in) .adicional__ico, .js-rv .rv:not(.rv--in) .escrito__ico, .js-rv .rv:not(.rv--in) .sob-dif__ico, .js-rv .rv:not(.rv--in) .caso2__ico, .js-rv .rv:not(.rv--in) .dia__ico, .js-rv .rv:not(.rv--in) .jor__ico { transform: scale(0.6) rotate(-14deg); opacity: 0; }
.quien__ico, .sob-publico__ico, .adicional__ico, .escrito__ico, .sob-dif__ico, .caso2__ico, .dia__ico, .jor__ico { transition: transform 0.6s var(--suave) 0.2s, opacity 0.4s ease 0.2s, background-color 0.25s, color 0.25s; }
/* listas con marca: cada fila entra una tras otra */
.js-rv .rv:not(.rv--in) .lista-marcas li { opacity: 0; transform: translateX(-12px); }
.lista-marcas li { transition: opacity 0.5s var(--suave), transform 0.5s var(--suave); }
.rv--in .lista-marcas li:nth-child(1) { transition-delay: 0.2s; } .rv--in .lista-marcas li:nth-child(2) { transition-delay: 0.3s; } .rv--in .lista-marcas li:nth-child(3) { transition-delay: 0.4s; } .rv--in .lista-marcas li:nth-child(4) { transition-delay: 0.5s; } .rv--in .lista-marcas li:nth-child(5) { transition-delay: 0.6s; } .rv--in .lista-marcas li:nth-child(n+6) { transition-delay: 0.7s; }
/* «Qué esperar»: la línea se dibuja y los puntos aparecen en orden */
.js-rv .semanas__lista.rv::before { transform: scaleX(0); transform-origin: left; }
.js-rv .semanas__lista.rv.rv--in::before { transform: none; transition: transform 1.3s var(--suave) 0.2s; }
.js-rv .semanas__lista.rv { opacity: 1; transform: none; }
.js-rv .semanas__lista li.rv .semanas__punto { transform: scale(0.4); opacity: 0; }
.js-rv .semanas__lista li.rv.rv--in .semanas__punto { transform: none; opacity: 1; transition: transform 0.5s var(--suave) calc(var(--i, 0) * 0.35s + 0.3s), opacity 0.3s calc(var(--i, 0) * 0.35s + 0.3s); }
@media (max-width: 52rem) { .js-rv .semanas__lista.rv::before { transform: scaleY(0); transform-origin: top; } .js-rv .semanas__lista.rv.rv--in::before { transform: none; } }
/* jornada de la portada: la línea baja y el punto se rellena al entrar cada tarea */
.js-rv .dia__lista.rv::before { transform: scaleY(0); transform-origin: top; }
.js-rv .dia__lista.rv.rv--in::before { transform: none; transition: transform 1.8s var(--suave) 0.2s; }
.js-rv .dia__lista.rv { opacity: 1; transform: none; }

/* ═══ Equipo: quiénes estamos detrás ═══ */
.sob-equipo { padding-block: clamp(2.5rem, 5vw, 4rem); }

.sob-equipo__txt { margin-top: 1.75rem; display: grid; gap: 1.1rem; }
.sob-equipo__txt p { margin: 0; max-width: none; text-align: justify; hyphens: auto; line-height: 1.7; }
.sob-equipo__cierre { margin-top: 1.5rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: var(--radio-grande); background: var(--marino); color: #fff; display: grid; gap: 0.9rem; }
.sob-equipo__cierre p { margin: 0; max-width: none; line-height: 1.65; }
.sob-equipo__cierre strong { color: var(--amarillo); font-weight: 760; }

/* Quiénes somos + equipo en una sola sección: columna de texto y columna lateral que se estira sin huecos */
.sob-quienes__sub { margin: 1.2rem 0 1rem; font-size: clamp(1.4rem, 2.4vw, 1.8rem); line-height: 1.2; font-weight: 800; color: var(--marino); }
.sob-quienes__txt p { margin-bottom: 1.2rem; }
.sob-quienes__lado { display: flex; flex-direction: column; gap: 1.25rem; }
.sob-quienes__lado .sob-equipo__cierre { margin-top: 0; flex: 1; justify-content: center; }
