/* ===== BASE ===== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

/* ===== HERO BG ===== */
.hero-bg {
  background: 
    radial-gradient(ellipse 80% 60% at 70% 50%, rgba(83,217,240,0.08) 0%, transparent 70%),
    linear-gradient(135deg, #002d3f 0%, #176172 100%);
}
.laudos-bg {
  background: 
    linear-gradient(rgba(0,45,63,0.3), rgba(0,45,63,0.3)),
    url('https://images.unsplash.com/photo-1589829545856-d10d557cf95f?w=1400&q=80') center/cover no-repeat;
}

/* ===== GRID OVERLAY ===== */
.grid-overlay {
  background-image: 
    linear-gradient(rgba(83,217,240,0.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(83,217,240,0.15) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* ===== ANIMATIONS ===== */
@keyframes float {
  0%, 100% { transform: translateY(0px) rotate(-1deg); }
  50% { transform: translateY(-12px) rotate(1deg); }
}
@keyframes fade-up {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes scroll-dot {
  0% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(12px); }
}
@keyframes pulse-slow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(83,217,240,0.4); }
  50% { box-shadow: 0 0 0 12px rgba(83,217,240,0); }
}

.animate-float { animation: float 6s ease-in-out infinite; }
.animate-fade-up { 
  animation: fade-up 0.7s ease forwards; 
  opacity: 0;
}
.animate-scroll-dot { animation: scroll-dot 1.5s ease-in-out infinite; }
.animate-pulse-slow { animation: pulse-slow 2.5s ease-in-out infinite; }

/* ===== CALCULATOR CARD ===== */
.calculator-card {
  backdrop-filter: blur(10px);
}
.calculator-card input::-webkit-outer-spin-button,
.calculator-card input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

/* ===== DROPDOWN ===== */
.dropdown-menu {
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* ===== SERVICE CARDS ===== */
.service-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover {
  box-shadow: 0 20px 40px rgba(83,217,240,0.15);
}

/* ===== STAT CARDS ===== */
.stat-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.stat-card:hover {
  box-shadow: 0 20px 40px rgba(83,217,240,0.25);
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #002d3f; }
::-webkit-scrollbar-thumb { background: #53d9f0; border-radius: 3px; }

/* ===== NUMBER ANIMATION ===== */
.stat-card [data-target] {
  font-family: 'Montserrat', sans-serif;
  font-size: 5rem;
  line-height: 1;
  color: #002d3f;
}

/* ===== NAVBAR SCROLLED ===== */
#navbar.scrolled {
  box-shadow: 0 4px 30px rgba(83,217,240,0.1);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .font-display { letter-spacing: 0.05em; }
}