/* Service page */
.service-intro { display: grid; gap: var(--space-7); align-items: center; padding-block: var(--space-6) var(--section-gap); }
@media (min-width: 1024px) { .service-intro { grid-template-columns: 1fr 1.05fr; } }
.service-intro__lead { margin-block-end: var(--space-5); font-size: var(--text-2xl); font-weight: var(--weight-regular); line-height: 1.05; }
.service-intro__lead strong { font-weight: var(--weight-heavy, 900); }
.service-intro__text { max-width: 46ch; margin-block-end: var(--space-6); color: var(--color-text); }
.service-intro__text p { margin-block-end: var(--space-3); }
.service-intro__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.service-intro__media img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: 0 40px 80px -40px color-mix(in srgb, var(--color-secondary) 60%, transparent); }

/* Cards (service types) */
.service-cards { display: grid; gap: var(--space-4); padding-block-end: var(--section-gap); }
@media (min-width: 900px) { .service-cards { grid-template-columns: repeat(3, 1fr); } }
.service-card { padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-surface); transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out); }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -40px color-mix(in srgb, var(--color-secondary) 70%, transparent); }
.service-card__icon { width: 72px; height: 72px; object-fit: contain; margin-block-end: var(--space-5); border-radius: var(--radius-md); }
.service-card__title { font-size: var(--text-xl); font-weight: var(--weight-heavy, 900); margin-block-end: var(--space-3); }
.service-card__text { font-size: var(--text-sm); color: var(--color-text-muted); }
.service-card__text strong { color: var(--color-text); }
.service-card__text p { margin-block-end: var(--space-3); }

/* Dark showcase: projects strip + testimonials */
.service-showcase { padding-inline: 12px; }
.service-showcase__card { position: relative; isolation: isolate; overflow: hidden; padding-block: var(--section-gap); border-radius: 50px; background: var(--color-primary); color: var(--color-bg); }
.service-showcase__card::before { content: ""; position: absolute; inset-inline-start: -10%; top: -15%; width: 520px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--color-secondary) 40%, transparent), transparent 70%); z-index: -1; }
.project-strip__wrap { margin-block-start: var(--space-7); }
/* Same height for every image, each at its own width: nothing is cropped */
.project-strip__item { flex: none; height: clamp(180px, 16.5vw, 285px); overflow: hidden; border-radius: var(--radius-lg); background: var(--color-surface-dark); }
.project-strip__item img { display: block; width: auto; max-width: none; height: 100%; }
.project-strip__more { margin-block: var(--space-7) var(--space-8); }
.service-showcase__quotes-title { margin-block-end: 0; }
.service-showcase .testimonials { margin-block-start: var(--space-6); }
