.renta { overflow: clip; }
.renta h1,.renta h2,.renta h3 { font-family: var(--fuente-display); font-weight: 700; letter-spacing: -.035em; }
.renta h1 { font-size: clamp(2.8rem,5.3vw,5.2rem); line-height: 1.03; margin: 1.5rem 0; }
.renta h1 span { color: var(--color-lima); }
.renta h2 { font-size: clamp(2rem,3.7vw,3.5rem); line-height: 1.12; margin: 1rem 0 1.5rem; }
.renta h3 { font-size: 1.4rem; line-height: 1.25; margin: .8rem 0; }
.renta p { line-height: 1.8; }
.renta-etiqueta { font-size: .75rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 600; color: var(--color-lima-texto); }
.oscuro .renta-etiqueta { color: var(--color-lima); }
.renta-apertura { padding: clamp(3rem,7vw,7rem) 0 4rem; }
.renta-dos { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,6rem); align-items: center; }
.renta-bajada { color: var(--color-oscuro-tinta-2); max-width: 34rem; margin-bottom: 2rem; font-size: 1.1rem; }
.renta-enlace { display: inline-block; margin: 1.5rem 0 0 1.3rem; font-size: .9rem; text-decoration: underline; text-underline-offset: .3rem; }
.renta-imagen { margin: 0; min-width: 0; }
.renta-foto { aspect-ratio: 1/1; background: #e9ede5; border-radius: 50% 50% 2rem 2rem; display: grid; place-items: center; position: relative; }
.renta-foto::before { content: '+'; position: absolute; top: 2rem; right: 2rem; font-size: 2rem; color: #556400; }
.renta-foto img { width: 86%; height: 86%; object-fit: contain; }
.renta-imagen figcaption { margin-top: 1rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.renta-seccion { padding-block: clamp(4rem,8vw,8rem); }
.renta-cabecera { max-width: 48rem; }
.renta-cabecera > p:last-child { max-width: 39rem; color: var(--color-claro-tinta-2); }
.renta-lineas { display: grid; grid-template-columns: repeat(3,1fr); gap: 2.5rem; margin-top: 3.5rem; }
.renta-lineas article { border-top: 1px solid var(--color-claro-borde-fuerte); padding-top: 1.5rem; }
.renta-lineas article > span,.renta-pasos li > span { font-family: var(--fuente-display); font-size: .85rem; color: var(--color-lima-texto); }
.renta-lineas article p,.renta-pasos p { font-size: .95rem; color: var(--color-claro-tinta-2); }
.renta-respaldo { background: var(--color-claro-suave); padding-block: clamp(4rem,7vw,7rem); }
.renta-respaldo .renta-foto { background: #fff; border-radius: 2rem; }
.renta-lista { list-style: none; padding: 0; margin-top: 2rem; }
.renta-lista li { padding: 1rem 0; border-top: 1px solid var(--color-claro-borde-fuerte); color: var(--color-claro-tinta-2); }
.renta-lista strong { color: var(--color-claro-tinta); }
.renta-pasos { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 3rem; margin-top: 3rem; counter-reset: pasos; }
.renta-pasos li { padding: 1.5rem 0; border-top: 2px solid var(--color-lima-texto); }
.renta-cierre { padding-block: clamp(4rem,8vw,8rem); }
.renta-cierre p:not(.renta-etiqueta) { max-width: 35rem; color: var(--color-oscuro-tinta-2); margin-bottom: 2rem; }
@media(max-width:767px) { .renta-dos,.renta-lineas,.renta-pasos { grid-template-columns: 1fr; } .renta-apertura .renta-imagen { margin-top: 1rem; } .renta-imagen { width: 100%; max-width: 32rem; margin-inline: auto; } .renta-enlace { margin-left: 0; display: block; } .renta-lineas,.renta-pasos { gap: 1.2rem; } }
@media(prefers-reduced-motion:reduce) { .renta [data-renta-entrada],.renta [data-renta-imagen] { transform: none !important; opacity: 1 !important; filter: none !important; } }

/* Iconos de línea: trazado consecutivo seguido de un ciclo de respiración. */
.renta-beneficios { display:grid; grid-template-columns:repeat(3,1fr); gap:3rem; padding-block:4rem; border-bottom:1px solid var(--color-claro-borde); }
.renta-beneficio svg { width:76px; height:76px; color:var(--color-lima-texto); margin-bottom:1rem; }
.renta-beneficio h2 { font-size:1.1rem; letter-spacing:-.02em; margin:0 0 .7rem; }
.renta-beneficio p { font-size:.9rem; color:var(--color-claro-tinta-2); max-width:21rem; }
@keyframes renta-trazar { from { stroke-dashoffset:1; opacity:.1; } to { stroke-dashoffset:0; opacity:1; } }
@keyframes renta-flotar { 0%,100% { transform:translateY(0); opacity:1; } 45% { transform:translateY(-7px); opacity:1; } 70% { transform:translateY(2px); opacity:.25; } 85% { opacity:.65; } }
@media(prefers-reduced-motion:no-preference) {
  .renta-iconos-preparados:not(.renta-iconos-visibles) svg { opacity:0; }
  .renta-iconos-visibles svg path,.renta-iconos-visibles svg circle { stroke-dasharray:1; stroke-dashoffset:1; animation:renta-trazar 1.5s ease forwards; animation-delay:calc(var(--icono-orden) * 1.5s); }
  .renta-iconos-visibles svg { animation:renta-flotar 5s ease-in-out infinite; animation-delay:calc(4.5s + var(--icono-orden) * .65s); }
  .renta-iconos-pausados svg { animation-play-state:paused; }
}
@media(max-width:639px) { .renta-beneficios { grid-template-columns:1fr; gap:2rem; } .renta-beneficio { text-align:center; } .renta-beneficio p { margin-inline:auto; } }

/* Movimiento independiente: la llave permanece fija mientras gira el engranaje. */
@keyframes renta-rebote { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes renta-giro { to { transform:rotate(360deg); } }
@keyframes renta-pendulo { 0%,100% { transform:rotate(-7deg); } 50% { transform:rotate(7deg); } }
.renta-engranaje { transform-origin:35px 32px; }
.renta-beneficio-2 > svg { transform-origin:50% 12%; }
.renta-icono-apoyo { display:block; width:52px; height:52px; color:var(--color-lima-texto); margin-bottom:1.2rem; }
@media(prefers-reduced-motion:no-preference) {
  .renta-iconos-visibles svg { animation:none; }
  .renta-iconos-visibles .renta-beneficio-0 > svg { animation:renta-rebote 3s ease-in-out 4.5s infinite; }
  .renta-iconos-visibles .renta-engranaje { animation:renta-giro 12s linear 4.5s infinite; }
  .renta-iconos-visibles .renta-beneficio-2 > svg { animation:renta-pendulo 3.6s ease-in-out 4.5s infinite; }
  .renta-iconos-pausados svg,.renta-iconos-pausados .renta-engranaje { animation-play-state:paused !important; }
  .renta-icono-apoyo { animation:renta-rebote 4s ease-in-out infinite; }
}

/* Franja oscura y apertura editorial con fotografía superpuesta. */
.renta-beneficios { max-width:none; width:100%; padding:4.5rem max(var(--margen-lateral),calc((100% - 1200px)/2)); border:0; }
.renta-beneficio { text-align:center; }
.renta-beneficio svg { stroke-width:2.5; color:var(--color-lima); display:block; margin:0 auto 1.5rem; }
.renta-beneficio p { color:var(--color-oscuro-tinta-2); margin-inline:auto; }
.renta-icono-apoyo { stroke-width:2.5; margin-inline:auto; }
.renta-lineas article,.renta-pasos li { text-align:center; }
.renta-soluciones { padding-block:0 6rem; background:#fff; }
.renta-soluciones > .contenedor { max-width:1400px; }
.renta-soluciones-apertura { display:grid; grid-template-columns:1fr 1fr; position:relative; isolation:isolate; padding-block:5rem; align-items:center; gap:0; }
.renta-soluciones-apertura::before { content:''; position:absolute; inset:0 50% 0 calc(-1 * max(var(--margen-lateral), (100vw - 1400px)/2)); background:var(--color-lima); z-index:-1; }
.renta-soluciones .renta-cabecera { padding:0 4rem 3rem 0; }
.renta-soluciones .renta-etiqueta { color:var(--color-sobre-acento); }
.renta-soluciones .renta-cabecera > p:last-child { color:var(--color-sobre-acento); }
.renta-personal { margin:6rem 0 0 -3rem; position:relative; }
.renta-personal img { display:block; width:100%; height:clamp(20rem,30vw,29rem); object-fit:cover; }
.renta-personal figcaption { font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; padding:1rem 0 0 4rem; color:var(--color-claro-tinta-2); }
.renta-soluciones .renta-lineas { margin-top:4rem; }
@media(max-width:767px) {
 .renta-soluciones-apertura { grid-template-columns:1fr; padding-block:3rem 0; }
 .renta-soluciones-apertura::before { inset:0 calc(-1 * var(--margen-lateral)) 20% calc(-1 * var(--margen-lateral)); }
 .renta-soluciones .renta-cabecera { padding:0 0 1rem; }
 .renta-personal { margin:1rem 0 0; }
 .renta-personal img { height:auto; aspect-ratio:4/3; }
 .renta-personal figcaption { padding-left:0; }
 .renta-beneficios { gap:2.5rem; }
}

/* El color nace en la sección completa para no dejar un borde blanco lateral. */
.renta-soluciones { background:#fff; }
.renta-soluciones-apertura { background:linear-gradient(to right,var(--color-lima) 0 50%,#fff 50% 100%); }
.renta-soluciones-apertura::after { content:""; position:absolute; top:0; bottom:0; right:100%; width:100vw; background:var(--color-lima); z-index:-1; }
.renta-soluciones-apertura::before { display:none; }
.renta-soluciones .renta-lineas { position:relative; background:#fff; margin-top:0; padding-top:4rem; box-shadow:none; clip-path:none; }
@media(max-width:767px) { .renta-soluciones-apertura { background:var(--color-lima); } }


/* Mayor definición de los iconos a tamaño de lectura. */
.renta .renta-icono-apoyo,.renta .renta-beneficio svg { stroke-width:3.2; }

/* Áreas con aplicaciones y acceso directo a asesoría. */
.renta-lineas { align-items:stretch; gap:1.5rem; }
.renta-lineas article { display:flex; flex-direction:column; align-items:center; padding:2.5rem 1.8rem; background:var(--color-claro-suave); border:1px solid var(--color-claro-borde); border-radius:1.25rem; transition:border-color .25s,box-shadow .25s; }
.renta-lineas article:hover { border-color:var(--color-lima-texto); box-shadow:0 12px 28px #0a0f0d0b; }
.renta-lineas .renta-icono-apoyo { width:64px; height:64px; }
.renta-ejemplos { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; padding:0; list-style:none; margin:1.5rem 0 2rem; }
.renta-ejemplos li { border:1px solid var(--color-claro-borde-fuerte); padding:.4rem .7rem; border-radius:2rem; font-size:.75rem; background:#fff; color:var(--color-claro-tinta-2); }
.renta-consulta { margin-top:auto; display:flex; justify-content:space-between; gap:1.5rem; align-items:center; width:100%; border-top:1px solid var(--color-claro-borde-fuerte); padding-top:1.2rem; font-size:.85rem; font-weight:600; }
.renta-consulta span { color:var(--color-lima-texto); font-size:1.4rem; }
.renta-preparacion { min-width:0; margin:0; }
.renta-preparacion-foto { position:relative; border-radius:1.5rem; overflow:hidden; background:var(--color-oscuro-fondo); }
.renta-preparacion-foto img { display:block; width:100%; aspect-ratio:4/4.3; object-fit:cover; object-position:62% center; }
.renta-preparacion-sello { position:absolute; bottom:1.2rem; left:1.2rem; right:1.2rem; padding:.9rem 1rem; color:var(--color-sobre-acento); background:var(--color-lima); border-radius:.6rem; font-size:.8rem; font-weight:600; }
.renta-preparacion figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; font-size:.65rem; letter-spacing:.05em; text-transform:uppercase; color:var(--color-claro-tinta-2); margin:1rem 0 1.5rem; }
.renta-preparacion-etapas { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; list-style:none; padding:0; }
.renta-preparacion-etapas li { padding:1rem .8rem; border-radius:.7rem; background:#fff; border:1px solid var(--color-claro-borde); }
.renta-preparacion-etapas span { display:block; color:var(--color-lima-texto); font-size:.75rem; margin-bottom:.6rem; }
.renta-preparacion-etapas strong { display:block; font-size:.8rem; }
.renta-preparacion-etapas small { display:block; font-size:.7rem; color:var(--color-claro-tinta-2); margin-top:.35rem; }
@media(max-width:767px) { .renta-preparacion-foto img { aspect-ratio:4/3; } .renta-preparacion-etapas { gap:.4rem; } .renta-preparacion-etapas li { padding:.8rem .5rem; } }
.renta-preparacion-foto img { aspect-ratio:4/5; object-position:center; }
@media(max-width:767px) { .renta-preparacion-foto img { aspect-ratio:4/5; } }

.renta-alcance { border-top:1px solid var(--color-claro-borde); }
.renta-alcance-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
.renta-alcance-grid article { padding:2rem; background:var(--color-claro-suave); border-radius:1rem; }
.renta-alcance-grid h3 { margin-block:1.3rem; }
.renta-alcance-grid p,.renta-alcance-grid li { font-size:.9rem; color:var(--color-claro-tinta-2); }
.renta-alcance details { margin-top:1.5rem; border-top:1px solid var(--color-claro-borde-fuerte); padding-top:1rem; }
.renta-alcance summary { cursor:pointer; font-size:.85rem; font-weight:600; }
.renta-alcance details p,.renta-alcance details ul { margin-top:1rem; }
.renta-alcance details ul { padding-left:1.2rem; }
.renta-alcance summary:focus-visible { outline:2px solid var(--color-lima-texto); outline-offset:5px; }
@media(max-width:900px) { .renta-alcance-grid { grid-template-columns:1fr; } }

/* Etiquetas uniformes: dos en la primera fila y la tercera centrada debajo. */
.renta-ejemplos { display:grid; grid-template-columns:repeat(2,max-content); justify-content:center; align-content:start; gap:.5rem; width:100%; }
.renta-ejemplos li { text-align:center; max-width:100%; }
.renta-ejemplos li:last-child { grid-column:1 / -1; justify-self:center; }
@media(max-width:1100px) and (min-width:768px) { .renta-ejemplos { grid-template-columns:repeat(2,minmax(0,1fr)); } .renta-ejemplos li { font-size:.7rem; padding:.4rem .5rem; overflow-wrap:anywhere; } }
@media(max-width:359px) { .renta-ejemplos { grid-template-columns:repeat(2,minmax(0,1fr)); } .renta-ejemplos li { font-size:.7rem; padding:.4rem .5rem; } }

/* Una sola fila de etiquetas por tarjeta. */
.renta .renta-ejemplos { display:flex; flex-wrap:nowrap; justify-content:center; gap:.4rem; }
.renta .renta-ejemplos li { flex:0 1 auto; white-space:nowrap; font-size:clamp(.62rem,.65vw,.75rem); padding:.4rem .55rem; }
@media(max-width:1100px) and (min-width:768px) { .renta .renta-lineas { grid-template-columns:1fr; } .renta .renta-ejemplos li { font-size:.75rem; } }
@media(max-width:400px) { .renta .renta-lineas article { padding-inline:.8rem; } .renta .renta-ejemplos { gap:.25rem; } .renta .renta-ejemplos li { font-size:.6rem; padding:.35rem .35rem; } }

/* Fondo salvia a todo el ancho; tarjetas blancas para separar el contenido. */
.renta-alcance { background:#E8EDE3; max-width:none; width:100%; padding-inline:max(var(--margen-lateral),calc((100% - 1200px)/2)); border-top:0; }
.renta-alcance-grid article { background:#FFFFFF; border:1px solid #d6dfcf; }

/* Evitar que las etapas desborden en teléfonos de ancho reducido. */
@media(max-width:359px) {
 .renta-preparacion-etapas { grid-template-columns:1fr; }
 .renta-preparacion-etapas li { display:grid; grid-template-columns:1.8rem minmax(0,1fr); column-gap:.6rem; }
 .renta-preparacion-etapas span { grid-row:1 / 3; margin:0; align-self:center; }
 .renta-preparacion-etapas small { grid-column:2; }
}
