/* RESET E BASE */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; background: #0f172a; color: white; scroll-behavior: smooth; overflow-x: hidden; }
img { max-width: 100%; display: block; }
.container { width: 90%; max-width: 1200px; margin: auto; }

/* NAVBAR */
.navbar { position: fixed; width: 100%; top: 0; padding: 15px 0; background: rgba(15, 23, 42, 0.95); backdrop-filter: blur(10px); z-index: 1000; border-bottom: 1px solid rgba(255,255,255,0.1); }
.navbar .container { display: flex; justify-content: space-between; align-items: center; }
.logo img { height: 45px; }
.nav-links a { color: white; text-decoration: none; margin-left: 25px; font-weight: 600; transition: 0.3s; font-size: 15px; }
.nav-links a:hover { color: #14b8a6; }

/* Menu Mobile */
#menu-check { display: none; }
.menu-botao { display: none; cursor: pointer; }

@media (max-width: 768px) {
  .menu-botao { display: block; }
  .menu-botao span, .menu-botao span::before, .menu-botao span::after {
    display: block; background: white; height: 2px; width: 25px; position: relative; transition: 0.3s;
  }
  .menu-botao span::before, .menu-botao span::after { content: ''; position: absolute; }
  .menu-botao span::before { top: -8px; }
  .menu-botao span::after { bottom: -8px; }
  .nav-links {
    position: absolute; top: 70px; left: 0; width: 100%; background: #0f172a;
    flex-direction: column; text-align: center; padding: 20px 0; display: none;
  }
  #menu-check:checked ~ .nav-links { display: flex; }
  .nav-links a { margin: 10px 0; margin-left: 0; }
}

/* HERO SECTION */
.hero { min-height: 100vh; background: url('https://images.unsplash.com/photo-1519389950473-47ba0277781c') center/cover no-repeat; position: relative; display: flex; align-items: center; padding-top: 80px; }
.overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(15,23,42,0.9), rgba(15,23,42,0.6)); z-index: 1; }
.hero-content { position: relative; z-index: 2; }
.hero h1 { font-size: clamp(32px, 5vw, 64px); font-weight: 800; line-height: 1.1; margin-bottom: 20px; }
.hero p { font-size: clamp(18px, 2vw, 22px); margin-bottom: 35px; opacity: 0.9; }
.hero-buttons { display: flex; gap: 15px; margin-bottom: 50px; flex-wrap: wrap; }
.btn-primary, .btn-secondary { padding: 16px 32px; border-radius: 8px; text-decoration: none; font-weight: 600; transition: 0.3s; }
.btn-primary { background: #14b8a6; color: white; }
.btn-secondary { border: 1px solid white; color: white; }
.hero-stats { display: flex; gap: 40px; flex-wrap: wrap; }
.number { font-size: 42px; font-weight: 800; color: #14b8a6; }

/* SOBRE */
.about-section { padding: 100px 0; background: #f8fafc; color: #0f172a; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.tag { background: #ccfbf1; color: #0d9488; padding: 8px 18px; border-radius: 30px; font-size: 16px; font-weight: 800; display: inline-block; margin-bottom: 10px; }
.about-features { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 30px; }
.feature { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.check { background: #14b8a6; color: white; width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.about-image { position: relative; }
.badge { position: absolute; bottom: -20px; left: 20px; background: #0f172a; color: white; padding: 20px; border-radius: 15px; }

/* SERVIÇOS */
.section { padding: 100px 0; text-align: center; }
.bg-dark { background: #1e293b; }
.cards { display: flex; gap: 30px; flex-wrap: wrap; justify-content: center; margin-top: 50px; }
.card { background: #0f172a; border-radius: 12px; overflow: hidden; width: 350px; transition: 0.4s; text-align: left; }
.card img { height: 200px; width: 100%; object-fit: cover; }
.card h3, .card p { padding: 10px 20px; }

/* GALERIA */
.gallery-section { padding: 100px 0; background: #ffffff; text-align: center; color: #0f172a; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 40px; }
.gallery-item { position: relative; height: 250px; border-radius: 12px; overflow: hidden; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
.gallery-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(20, 184, 166, 0.8); display: flex; align-items: center; justify-content: center; opacity: 0; transition: 0.4s; color: white; font-weight: bold; }
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-item:hover img { transform: scale(1.1); }

/* CLIENTES */
.clients-section { padding: 60px 0; background: white; overflow: hidden; border-top: 1px solid #eee; }
.carousel-track { display: flex; gap: 50px; animation: scroll 30s linear infinite; width: max-content; align-items: center; }
.client img { height: 40px; filter: grayscale(1); opacity: 0.5; }
@keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* CONTATO */
.contact-section { background: #f1f5f9; padding: 100px 0; color: #0f172a; }
.contact-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; }
.info-card { background: white; padding: 20px; border-radius: 12px; display: flex; gap: 15px; margin-bottom: 10px; }
.map iframe { width: 100%; height: 250px; border-radius: 12px; border: 0; }
.contact-form { background: white; padding: 30px; border-radius: 15px; }
.contact-form form { display: flex; flex-direction: column; gap: 15px; }
.contact-form input, .contact-form textarea { padding: 12px; border: 1px solid #ddd; border-radius: 8px; }
.contact-form button { padding: 15px; background: #14b8a6; color: white; border: none; border-radius: 8px; font-weight: bold; cursor: pointer; }

/* PARCEIROS */
.partners-bar { padding: 40px 0; background: white; border-top: 1px solid #eee; }
.partners-flex { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; align-items: center; }
.partners-flex img { height: 25px; filter: grayscale(1); opacity: 0.6; transition: 0.3s; }
.partners-flex img:hover { filter: grayscale(0); opacity: 1; }

/* FOOTER */
.footer { padding: 30px 0; background: #0f172a; text-align: center; font-size: 14px; }

/* WHATSAPP FLUTUANTE (FIXO) */
.whatsapp-float {
  position: fixed !important;
  bottom: 30px !important;
  left: 30px !important;
  z-index: 9999 !important;
  text-decoration: none !important;
  display: block !important;
}
.whatsapp-content { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.whatsapp-icon-circle {
  width: 60px; height: 60px; background-color: #25d366; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  position: relative; transition: 0.3s;
}
.whatsapp-icon-circle::after {
  content: ""; position: absolute; width: 100%; height: 100%; border-radius: 50%;
  background: #25d366; opacity: 0.5; animation: pulse-whatsapp 2s infinite; z-index: -1;
}
.whatsapp-icon-circle svg { width: 35px; height: 35px; }
.whatsapp-text { background: #0f172a; color: white; padding: 6px 12px; border-radius: 8px; font-size: 12px; font-weight: 600; }

@keyframes pulse-whatsapp {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* RESPONSIVIDADE ADICIONAL */
@media (max-width: 992px) {
  .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .about-image { order: -1; }
}
@media (max-width: 768px) {
  .section, .about-section, .contact-section { padding: 60px 0; }
  .hero { text-align: center; }
  .hero-buttons { justify-content: center; }
  .whatsapp-float { left: 20px; bottom: 20px; }
}
.nav-links a.btn-webmail {
  border: 1px solid #14b8a6;
  padding: 5px 15px;
  border-radius: 5px;
  color: #14b8a6;
}

.nav-links a.btn-webmail:hover {
  background: #14b8a6;
  color: white;
}