.hero-section {
  padding: 56px 24px 24px;
}

.hero-grid {
  gap: 1.5rem;
  align-items: center;
}

.hero-visual {
  justify-self: start;
  align-self: center;
  transform: translate(-12px, 10px);
}

.hero-visual img {
  object-position: left center;
}

.hero-copy {
  padding-top: 0.25rem;
}

.hero-copy .tagline {
  margin-bottom: 0.7rem;
}

.hero-copy .display-4 {
  font-size: clamp(2.2rem, 3.6vw, 3rem);
  line-height: 1.08;
  margin-bottom: 0.85rem !important;
}

.hero-copy .p {
  margin-bottom: 1rem;
}

.section-padding {
  padding: 64px 0;
}

.section-title h2 {
  margin-bottom: 0.65rem;
}

.section-title + .stacked-cards {
  margin-top: 1.25rem;
}

#personas .d-flex.mb-4,
#solutions .section-title,
#features .section-title,
#devices .section-title {
  margin-bottom: 2.5rem !important;
}

.feature-showcase {
  margin-bottom: 1.5rem;
}

.stats-section {
  padding: 64px 0;
}

.cta-section {
  padding: 56px 0 80px;
}

@media (max-width: 768px) {
  .hero-section {
    padding: 28px 20px 20px;
  }

  .hero-grid {
    align-items: start;
  }

  .hero-visual {
    transform: none;
  }

  .section-padding,
  .stats-section {
    padding: 52px 0;
  }

  .cta-section {
    padding: 48px 0 64px;
  }

  .hero-copy {
    padding-top: 0;
  }

  .hero-copy .display-4 {
    font-size: clamp(2rem, 9vw, 2.55rem);
    line-height: 1.12;
  }

  #personas .d-flex.mb-4,
  #solutions .section-title,
  #features .section-title,
  #devices .section-title {
    margin-bottom: 2rem !important;
  }
}
