@props([ // Eyebrow sobre el título. 'eyebrow' => 'Neighborhoods We Serve', // Título del bloque (HTML: la ciudad va envuelta en un span de énfasis). 'title' => '', // Párrafos introductorios (array de strings HTML). 'paragraphs' => [], // Comunidades de la ciudad (máx. 6): [['name', 'type', 'description'], …]. 'communities' => [], ]) {{-- Bloque servicio×localidad: comunidades de la ciudad, cada una con su texto del servicio adaptado. Encabezado + intro arriba; grilla de tarjetas debajo (tablet/desktop) o swiper (móvil, mismo data-photo-feature-swiper de las filas de fotos: 6 tarjetas con texto no se apilan en 1 columna). Fondo surface-2 para separarse del bloque de mapa (cálido) y de Reviews (surface). --}}
merge(['class' => 'bg-surface-2 py-12 lg:py-20']) }}>
{!! $title !!} @foreach ($paragraphs as $paragraph)

$loop->first, 'mt-4' => !$loop->first])> {!! $paragraph !!}

@endforeach
{{-- Tablet / desktop (≥768px): grilla. 3 columnas recién en xl: con el padding lg:px-20 del .container, a 1024px cada tarjeta deja ~230px de texto (apretado); a 1280px, ~315px. --}} {{-- Móvil (<768px): swiper (data-photo-feature-swiper → photo-feature-carousel.js). --}}
{{-- 7s (no los 4s por defecto): da tiempo a leer una tarjeta con texto. --}}
@php // Swiper desactiva el loop con < 6 slides: duplicamos el set igual // que centered-photo-feature. $slides = count($communities) >= 6 ? $communities : array_merge($communities, $communities); @endphp @foreach ($slides as $community)
@endforeach