/* Clientes: tarjetas horizontales y escala óptica individual, sin deformar las marcas. */
#proyectos .client-carousel{min-width:0;position:relative}
.client-carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 12px;min-height:44px}
.client-carousel-controls #future-clients-title{margin:0 auto 0 0;line-height:1.2}
.client-carousel-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #bbb;border-radius:3px;background:#fff;color:#000;font:700 19px Arial,sans-serif;cursor:pointer}
.client-carousel-controls button:hover{background:#f1f1f1;border-color:#000}
.client-carousel-controls button:focus-visible{outline:3px solid #000;outline-offset:2px}
.client-carousel-count{margin-right:8px;font:14px Lato,Arial,sans-serif;color:#000;font-variant-numeric:tabular-nums}
#proyectos .client-carousel .clients{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:3px 0;margin:0}
#proyectos .client-carousel .clients::-webkit-scrollbar{display:none}
#proyectos .client-carousel .clients .client{box-sizing:border-box;flex:0 0 calc((100% - 48px)/4);min-width:0;min-height:0;height:auto;aspect-ratio:12/5;scroll-snap-align:start;scroll-snap-stop:always;flex-direction:row;align-items:center;gap:0}
#proyectos .client-carousel .client-site{flex:initial;height:100%;align-self:stretch}
#proyectos .client-carousel .client-caption{position:absolute;inset:0;opacity:0;visibility:hidden;background:#4b4b4b;color:#fff;gap:10px;padding:12px;pointer-events:none}
#proyectos .client-carousel .client-caption-service{color:#fff}
#proyectos .client-carousel .client:focus-within .client-caption,#proyectos .client-carousel .client:focus-visible .client-caption,#proyectos .client-carousel .client.is-open .client-caption{opacity:1;visibility:visible;pointer-events:auto}
#proyectos .client-carousel .client-caption a{color:#fff;font:700 12px Lato,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
@media(hover:hover){#proyectos .client-carousel .client:hover .client-caption{opacity:1;visibility:visible;pointer-events:auto}}
#proyectos .future-case-cards .future-case-brand{height:61px;flex:none;margin:-20px -20px 0;display:flex;align-items:center;justify-content:center;padding:10px 20px;background:#fff;border-radius:2px 2px 0 0;position:relative}
#proyectos .future-case-brand img{display:block;max-width:100%;width:auto;height:auto;max-height:41px;object-fit:contain}
#proyectos .future-case-cards .future-case-brand-sbp{background:#fff}
#proyectos .future-case-brand-sbp img{filter:none;max-height:25px}
#proyectos .future-case-brand .case-brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0}
@media(max-width:780px){
 #proyectos .client-carousel .clients{gap:12px}
 #proyectos .client-carousel .clients .client{flex-basis:calc((100% - 12px)/2);height:auto;aspect-ratio:2/1;padding:8px}
 #proyectos .client-carousel .client-caption{padding:8px;gap:8px}
 #proyectos .client-carousel .client-caption-service{font-size:12px}
}
@media(prefers-reduced-motion:reduce){#proyectos .client-carousel .client-caption{transition:none}}
@media(hover:none){
 #proyectos .client-carousel .client:focus-within:not(.is-open) .client-caption{opacity:0;visibility:hidden;pointer-events:none}
}
@media(max-width:780px){
 #proyectos .client-carousel .client-caption{gap:6px}
 #proyectos .client-carousel .client-caption-service{font-size:11.5px;line-height:1.25}
}


@media(max-width:480px){.client-carousel-controls{gap:5px}.client-carousel-controls #future-clients-title{font-size:20px}.client-carousel-controls button{width:34px;height:34px}.client-carousel-count{font-size:12px;margin-right:2px}}

/* La escala sigue el ancho de la tarjeta; el marco recorta solo el margen del archivo. */
#proyectos .client-carousel .brand-logo{height:100%;min-height:0}
#proyectos .client-carousel .client-caption{overflow-y:auto;overscroll-behavior:contain;justify-content:safe center}

/* Continuidad del movimiento: sin ajuste a tarjetas ni animaciones por pasos. */
#proyectos .client-carousel .clients{scroll-snap-type:none;scroll-behavior:auto}
#proyectos .client-carousel .clients .client{scroll-snap-align:none;scroll-snap-stop:normal}
/* Modelo AGNIAN: servicio 1, servicio 2 y enlace en filas compartidas. */
#proyectos .client-carousel .client-caption{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(28px,1fr) minmax(28px,1fr) 16px;align-items:center;justify-items:center;align-content:start;gap:3px;padding:8px;line-height:1.2}
#proyectos .client-carousel .client-caption-service{font-size:12px;line-height:1.2;min-width:0}
#proyectos .client-carousel .client-caption-service:nth-child(1){grid-row:1}
#proyectos .client-carousel .client-caption-service:nth-child(2),#proyectos .client-carousel .client-caption-single .client-caption-service{grid-row:2}
#proyectos .client-carousel .client-caption a{grid-column:1;grid-row:3;line-height:16px;white-space:nowrap}
@media(max-width:780px){#proyectos .client-carousel .client-caption{grid-template-rows:minmax(36px,1fr) minmax(36px,1fr) 16px;padding:6px;gap:3px}#proyectos .client-carousel .client-caption-service{font-size:11px}}

/* Centros geométricos: servicio 1 al 25 %, servicio 2 al 50 %. */
#proyectos .client-carousel .client-caption .client-caption-service{grid-area:auto;position:absolute;left:8px;right:8px;top:25%;transform:translateY(-50%);margin:0}
#proyectos .client-carousel .client-caption-service:nth-child(2),#proyectos .client-carousel .client-caption-single .client-caption-service{top:50%}

/* Un único servicio ocupa siempre la segunda posición, incluso sin JavaScript. */
#proyectos .client-carousel .client-caption .client-caption-service:only-of-type{top:50%}

/* Experiencias: misma escala y altura visible que cada marca en el carrusel. */
#proyectos .future-case-cards .future-case-brand{height:var(--case-brand-band-height,90px)}
#proyectos .future-case-brand img,#proyectos .future-case-brand-sbp img{max-height:none;height:auto;object-fit:contain}
