/* Servicios: grilla de tarjetas con icono. 2 col en móvil, 3 en tablet, 6 en desktop. */
.boll-servicios__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--boll-space-gap); grid-template-columns: repeat(2, 1fr); }
.boll-servicios__item {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid; justify-items: center; align-content: start; gap: .9rem; text-align: center;
	padding: 1.75rem 1rem 1.6rem; border: 1px solid var(--boll-color-border); border-radius: var(--boll-radius);
	background: color-mix(in srgb, var(--boll-color-surface) 75%, transparent);
	transition: transform .35s var(--boll-ease), border-color .35s var(--boll-ease), box-shadow .35s var(--boll-ease);
}
/* Barrido rojo desde abajo al pasar el cursor */
.boll-servicios__item::before {
	content: ''; position: absolute; inset: 0; z-index: -1;
	background: radial-gradient(90% 70% at 50% 110%, color-mix(in srgb, var(--boll-color-primary) 30%, transparent), transparent 70%);
	opacity: 0; transform: translateY(20%); transition: opacity .4s var(--boll-ease), transform .5s var(--boll-ease);
}
.boll-servicios__item:hover, .boll-servicios__item:focus-within { transform: translateY(-6px); border-color: var(--boll-color-primary); box-shadow: var(--boll-shadow); }
.boll-servicios__item:hover::before, .boll-servicios__item:focus-within::before { opacity: 1; transform: none; }

.boll-servicios__icon {
	position: relative; display: grid; place-items: center; width: 3.75rem; height: 3.75rem; border-radius: 18px;
	color: var(--boll-color-primary); background: var(--boll-color-primary-soft);
	border: 1px solid color-mix(in srgb, var(--boll-color-primary) 30%, transparent);
	transition: background .35s var(--boll-ease), color .35s var(--boll-ease), transform .5s var(--boll-ease), border-radius .5s var(--boll-ease);
}
.boll-servicios__icon svg { width: 1.7rem; height: 1.7rem; transition: transform .5s var(--boll-ease); }
.boll-servicios__item:hover .boll-servicios__icon { background: var(--boll-color-primary); color: var(--boll-color-text); border-radius: 50%; transform: translateY(-3px); }
.boll-servicios__item:hover .boll-servicios__icon svg { transform: scale(1.12) rotate(-8deg); }

.boll-servicios__name { font-family: var(--boll-font-display); font-weight: var(--boll-fw-display); font-size: 1.6rem; letter-spacing: .04em; text-transform: uppercase; line-height: 1; }
.boll-servicios__name a::after { content: ''; position: absolute; inset: 0; }
.boll-servicios__text { color: var(--boll-color-muted); font-size: .9rem; line-height: 1.5; }
.boll-servicios__arrow { position: absolute; top: .9rem; right: .9rem; color: var(--boll-color-faint); transition: color .3s, transform .3s var(--boll-ease); }
.boll-servicios__arrow svg { width: 1rem; height: 1rem; }
.boll-servicios__item:hover .boll-servicios__arrow { color: var(--boll-color-primary); transform: translate(2px, -2px); }

@media (min-width: 768px) { .boll-servicios__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1025px) { .boll-servicios__grid { grid-template-columns: repeat(6, 1fr); } }
@media (prefers-reduced-motion: reduce) {
	.boll-servicios__item, .boll-servicios__icon, .boll-servicios__icon svg, .boll-servicios__item::before { transition: none; }
	.boll-servicios__item:hover { transform: none; }
}
