/* Homepage introduction: keep every service visible in the first desktop view. */
.hero { padding-block: var(--space-6) var(--space-10); }
.hero .hero-grid { gap: var(--space-8); }
.hero .hero-text,
.hero .hero-visual { min-width: 0; }
.hero .hero-card { padding: var(--space-5); }
.hero .hero-card h3 { margin-bottom: var(--space-3); line-height: 1.4; }
.hero .hero-card-item {
  grid-template-columns: var(--space-10) minmax(0, 1fr) auto;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-1);
}
.hero .hc-icon { width: var(--space-10); height: var(--space-10); }
.hero .hc-name { font-size: var(--text-base); line-height: 1.4; }
.hero .hc-desc { font-size: var(--text-sm); line-height: 1.4; color: var(--gray-600); }
.hero .hero-slide-dots { bottom: var(--space-3); }
.hero .hero-cta { margin-top: var(--space-5); }
.hero .hero-trust { margin-top: var(--space-6); padding-top: var(--space-4); }
.hero .trust-stat .label { color: var(--gray-600); }
@media (min-width: 1024px) {
  .hero .hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
  .hero .hero-visual { width: 100%; max-width: none; margin: 0; }
  .hero h1 { font-size: var(--text-5xl); line-height: 1.15; margin-bottom: var(--space-4); }
  .hero .lead { font-size: var(--text-base); line-height: 1.65; margin-bottom: 0; }
}

/* The reference uses a calm image treatment and no extra statistic row. */
.hero-bg-slide { animation: none; }
.hero-bg-slide:not(:first-child), .hero-slide-dots { display: none; }
.hero-bg-slide:first-child { opacity: 1; }
.opening-contact { background: var(--white); border-block: 1px solid var(--gray-200); }
.opening-contact-inner { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-block: 12px; flex-wrap: wrap; font-size: var(--text-sm); color: var(--gray-700); }
.opening-contact a { color: var(--primary); }
.opening-contact a:hover { text-decoration: underline; }
