/* Final presentation layer: compact type and refined interaction motion. */
.hero-copy h1 {
  font-size: clamp(2.8rem, 5.35vw, 5.45rem);
  letter-spacing: -0.045em;
}

.page-hero h1,
.contact-panel h1 {
  font-size: clamp(2.15rem, 4.15vw, 3.9rem);
  letter-spacing: -0.035em;
}

h2 {
  font-size: clamp(1.85rem, 3.4vw, 3rem);
  letter-spacing: -0.03em;
}

.glass-nav.is-scrolled {
  background: rgba(3, 12, 10, 0.96);
  border-color: rgba(244, 197, 52, 0.2);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}

.quick-card:hover,
.external-card:hover,
.feature-card:hover,
.service-card:hover,
.price-card:hover,
.web-plan:hover,
.category-card:hover {
  transform: translateY(-7px);
  border-color: rgba(248, 198, 48, 0.45);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
}

.reveal {
  transition-duration: 0.7s;
  transition-timing-function: cubic-bezier(0.2, 0.75, 0.25, 1);
  transition-delay: calc(var(--reveal-order, 0) * 70ms);
}

@media (max-width: 575.98px) {
  .hero-copy h1 {
    font-size: clamp(2.55rem, 13vw, 3.8rem);
  }

  .page-hero h1,
  .contact-panel h1 {
    font-size: clamp(2rem, 10vw, 3rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    transition-delay: 0s;
  }
}
