:root {
  --ring-shadow: 0 0 0 4px rgba(13, 148, 136, 0.16);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Plus Jakarta Sans", sans-serif;
}

.bg-grid-pattern {
  background-image: linear-gradient(rgba(15, 23, 42, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, 0.05) 1px, transparent 1px);
  background-size: 28px 28px;
}

.glass-card {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(8px);
}

.service-card img {
  transition: transform 0.45s ease;
}

.service-card:hover img {
  transform: scale(1.06);
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.show {
  opacity: 1;
  transform: translateY(0);
}

.nav-link.active {
  color: #0d9488;
}

input:focus,
select:focus,
textarea:focus {
  box-shadow: var(--ring-shadow);
  border-color: #0d9488;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .reveal,
  .service-card img {
    transition: none;
  }
}
