body {
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}

h1, h2, h3, h4 {
  line-height: 1.2;
  margin-bottom: 0.5em;
}

/* Classes utilitárias */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

.prose ul {
  list-style-type: disc;
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}

#mobile-menu {
  transition: all 0.3s ease;
  transform-origin: top;
}

#mobile-menu:not(.hidden) {
  animation: fadeInDown 0.3s ease-out;
}

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

footer {
    background-image: radial-gradient(circle at 75% 30%, rgba(30, 56, 82, 0.15) 0%, transparent 50%);
}

.service-photo {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 25px 50px -12px rgba(30, 56, 82, 0.25);
}
        
.service-photo::after {
content: "";
position: absolute;
 bottom: -30px;
left: -30px;
width: 150px;
height: 150px;
background: #e13852;
opacity: 0.2;
border-radius: 50%;
z-index: -1;
}
        
.service-photo::before {
content: "";
position: absolute;
top: -20px;
right: -20px;
width: 100px;
height: 100px;
background: #1e3852;
opacity: 0.1;
border-radius: 50%;
z-index: -1;
}
        
.service-card {
transition: all 0.3s ease;
}
        
.service-card:hover {
transform: translateY(-5px);
}

btn-primary {
  background-color: #2dbb55;
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.animate-fade-in-up {
        animation: fadeInUp 0.8s ease-out forwards;
    }
    .delay-100 {
        animation-delay: 0.1s;
    }
    .delay-200 {
        animation-delay: 0.2s;
    }
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
     }
