* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body {
   font-family: 'Poppins', 'Inter', sans-serif;
   background-color: #ffffff;
   color: #1a2c3e;
   line-height: 1.5;
   overflow-x: hidden;
}

html {
   scroll-behavior: smooth;
}

a {
   text-decoration: none;
   color: inherit;
}

/* Variáveis de cor premium */
:root {
   --azul-claro: #3c93eb;
   --azul-medio: #307ed8;
   --azul-escuro: #1b5ab8;
   --azul-profundo: #053395;
   --azul-royal: #0a2463;
   --branco: #ffffff;
   --cinza-fundo: #f9fafc;
   --cinza-suave: #f1f5f9;
   --cinza-texto: #334155;
   --cinza-borda: #e4e7ec;
   --sombra-padrao: 0 25px 45px -12px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.02);
   --sombra-hover: 0 35px 50px -15px rgba(5, 51, 149, 0.15);
   --sombra-cards: 0 20px 35px -10px rgba(0, 0, 0, 0.05);
   --gradiente-hero: linear-gradient(125deg, #053395 0%, #1b5ab8 45%, #3c93eb 100%);
   --gradiente-azul: linear-gradient(135deg, #3c93eb 0%, #1b5ab8 70%, #053395 100%);
   --gradiente-card: linear-gradient(145deg, #ffffff 0%, #fefefe 100%);
   --gradiente-escudo: radial-gradient(circle at 20% 30%, rgba(60, 147, 235, 0.08) 0%, rgba(5, 51, 149, 0.02) 90%);
}

.container {
   max-width: 1400px;
   margin: 0 auto;
   padding: 0 60px;
}

section {
   padding: 120px 0;
   position: relative;
}

/* Tipografia hierárquica */
h1,
h2,
h3 {
   font-weight: 700;
   letter-spacing: -0.02em;
   line-height: 1.2;
}

h2 {
   font-size: 2.8rem;
   margin-bottom: 1.2rem;
   background: linear-gradient(135deg, #053395 0%, #1b5ab8 60%, #3c93eb 100%);
   background-clip: text;
   -webkit-background-clip: text;
   color: transparent;
   display: inline-block;
}

.section-subtitle {
   font-size: 1.2rem;
   color: var(--cinza-texto);
   max-width: 700px;
   margin-bottom: 3.5rem;
   font-weight: 400;
   line-height: 1.5;
}

/* Botões premium */
.btn-primary {
   background: var(--gradiente-azul);
   color: white;
   border: none;
   padding: 14px 36px;
   border-radius: 60px;
   font-weight: 600;
   font-size: 1rem;
   cursor: pointer;
   transition: all 0.35s cubic-bezier(0.2, 0.9, 0.4, 1.1);
   box-shadow: 0 10px 25px -8px rgba(27, 90, 184, 0.4);
   display: inline-flex;
   align-items: center;
   gap: 12px;
   letter-spacing: 0.3px;
   text-decoration: none;
}

.btn-primary:hover {
   transform: translateY(-3px) scale(1.02);
   box-shadow: 0 20px 35px -10px rgba(5, 51, 149, 0.5);
   background: linear-gradient(135deg, #307ed8, #053395);
}

.btn-secondary {
   background: transparent;
   border: 2px solid rgba(255, 255, 255, 0.85);
   color: white;
   padding: 12px 32px;
   border-radius: 60px;
   font-weight: 600;
   transition: all 0.3s;
   backdrop-filter: blur(4px);
   text-decoration: none;
}

.btn-secondary:hover {
   background: rgba(255, 255, 255, 0.2);
   border-color: white;
   transform: translateY(-2px);
}

.btn-outline-azul {
   background: transparent;
   border: 2px solid var(--azul-claro);
   color: var(--azul-claro);
   padding: 12px 32px;
   border-radius: 60px;
   font-weight: 600;
   transition: 0.3s;
}

.btn-outline-azul:hover {
   background: var(--azul-claro);
   color: white;
   box-shadow: 0 8px 20px rgba(60, 147, 235, 0.3);
   transform: translateY(-2px);
}

/* HEADER FIXO MAIS ELEGANTE */
header {
   position: fixed;
   top: 0;
   width: 100%;
   background: rgba(255, 255, 255, 0.98);
   backdrop-filter: blur(10px);
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
   z-index: 1000;
   transition: 0.25s;
   border-bottom: 1px solid rgba(60, 147, 235, 0.1);
}

.navbar {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 18px 48px;
   max-width: 1440px;
   margin: 0 auto;
}

.logo {
   display: flex;
   align-items: center;
}

.nav-links {
   display: flex;
   gap: 2.8rem;
   align-items: center;
}

.nav-links a {
   text-decoration: none;
   font-weight: 500;
   color: #1e2f3e;
   transition: 0.2s;
   font-size: 0.95rem;
}

.nav-links a:hover {
   color: var(--azul-claro);
}

.whatsapp-btn-header {
   background: #25D366;
   color: white;
   padding: 8px 22px;
   border-radius: 40px;
   display: flex;
   align-items: center;
   gap: 8px;
   font-weight: 600;
   transition: 0.2s;
}

.whatsapp-btn-header:hover {
   background: #128C7E;
   transform: scale(1.02);
   color: white;
}

.menu-toggle {
   display: none;
   font-size: 1.8rem;
   cursor: pointer;
   color: #053395;
}

/* HERO SUPERIOR */
.hero {
   background: var(--gradiente-hero);
   margin-top: 85px;
   border-radius: 0 0 64px 64px;
   position: relative;
   overflow: hidden;
}

.hero::before {
   content: "🛡️";
   font-size: 380px;
   opacity: 0.05;
   position: absolute;
   bottom: -80px;
   right: -40px;
   pointer-events: none;
   font-family: monospace;
   transform: rotate(5deg);
}

.hero::after {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
   pointer-events: none;
}

.hero-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 60px;
   align-items: center;
   padding: 70px 0 80px;
}

.hero-text h1 {
   font-size: 3.6rem;
   color: white;
   line-height: 1.2;
   margin-bottom: 20px;
}

.hero-text p {
   color: rgba(255, 255, 245, 0.92);
   font-size: 1.2rem;
   margin: 28px 0;
   line-height: 1.5;
}

.hero-buttons {
   display: flex;
   gap: 20px;
   flex-wrap: wrap;
}

.hero-image {
   background: url('https://placehold.co/650x520/2a5f8a') center/cover;
   border-radius: 36px;
   height: 420px;
   box-shadow: 0 30px 45px -15px rgba(0, 0, 0, 0.25);
   position: relative;
   background-blend-mode: overlay;
   background-color: rgba(5, 51, 149, 0.2);
   transition: 0.4s;
   border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Cards serviços refinados */
.services-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
   gap: 35px;
   margin-top: 30px;
}

.service-card {
   background: var(--gradiente-card);
   border-radius: 32px;
   padding: 0;
   overflow: hidden;
   box-shadow: var(--sombra-cards);
   transition: all 0.35s ease;
   border: 1px solid rgba(60, 147, 235, 0.08);
   text-align: center;
   backdrop-filter: blur(2px);
   display: flex;
   flex-direction: column;
}

.service-img {
   width: 100%;
   height: 180px;
   background-size: cover;
   background-position: center;
   margin-bottom: 0;
   transition: 0.5s;
}

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

.service-card i {
   font-size: 2.5rem;
   background: var(--gradiente-azul);
   background-clip: text;
   -webkit-background-clip: text;
   color: transparent;
   margin: -30px auto 15px;
   position: relative;
   z-index: 2;
   background-color: white;
   width: 70px;
   height: 70px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.service-card h3 {
   font-size: 1.5rem;
   margin: 10px 20px 10px;
   color: #0f2b3d;
}

.service-card p {
   margin: 0 25px 30px;
   color: var(--cinza-texto);
   line-height: 1.6;
}

.service-card:hover {
   transform: translateY(-10px);
   box-shadow: var(--sombra-hover);
   border-color: rgba(60, 147, 235, 0.25);
}

/* Diferenciais com escudo */
.differentials {
   background: var(--cinza-fundo);
   border-radius: 56px;
   margin: 30px auto;
   position: relative;
   overflow: hidden;
}

.diff-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
   gap: 45px;
   margin-top: 50px;
}

.diff-item {
   text-align: center;
   padding: 20px;
}

.diff-icon {
   background: white;
   width: 90px;
   height: 90px;
   border-radius: 60px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 24px;
   box-shadow: 0 20px 30px -12px rgba(0, 0, 0, 0.08);
   transition: 0.2s;
}

.diff-icon i {
   font-size: 2.5rem;
   color: var(--azul-escuro);
}

.diff-item:hover .diff-icon {
   transform: scale(1.05);
   box-shadow: 0 25px 35px -12px rgba(60, 147, 235, 0.2);
}

/* Passos */
.steps-container {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 35px;
   margin-top: 40px;
}

.step-card {
   flex: 1;
   background: white;
   border-radius: 36px;
   padding: 38px 25px;
   text-align: center;
   box-shadow: var(--sombra-cards);
   border-bottom: 4px solid var(--azul-claro);
   transition: 0.25s;
}

/* Depoimentos */
.testimonials-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
   gap: 35px;
}

.testimonial {
   background: white;
   border-radius: 36px;
   padding: 32px;
   box-shadow: var(--sombra-cards);
   transition: 0.25s;
   border: 1px solid #eef2ff;
}

.testimonial:hover {
   transform: translateY(-5px);
   box-shadow: var(--sombra-hover);
}

/* CTA final */
.cta-final {
   background: linear-gradient(115deg, #053395, #1b5ab8), url('https://placehold.co/1600x500/053395/053395') center/cover;
   border-radius: 56px;
   text-align: center;
   padding: 85px 30px;
   color: white;
   background-size: cover;
   background-blend-mode: overlay;
   position: relative;
   overflow: hidden;
}

.cta-final::before {
   content: "🔧";
   font-size: 200px;
   opacity: 0.08;
   position: absolute;
   bottom: -30px;
   left: 20px;
}

/* Contato */
.contact-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 55px;
}

.form-group {
   margin-bottom: 24px;
}

input,
textarea {
   width: 100%;
   padding: 16px 22px;
   border-radius: 32px;
   border: 1px solid var(--cinza-borda);
   font-family: inherit;
   transition: 0.2s;
   background: #ffffff;
}

input:focus,
textarea:focus {
   outline: none;
   border-color: var(--azul-claro);
   box-shadow: 0 0 0 3px rgba(60, 147, 235, 0.1);
}

/* Footer elegante */
footer {
   background: #0a1428;
   color: #b9c7d9;
   padding: 60px 0 30px;
   border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* WhatsApp flutuante */
.whatsapp-float {
   position: fixed;
   bottom: 32px;
   right: 32px;
   background: #25D366;
   width: 64px;
   height: 64px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 34px;
   color: white;
   box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
   z-index: 99;
   transition: 0.25s;
   text-decoration: none;
}

.whatsapp-float:hover {
   transform: scale(1.1);
   background: #128C7E;
}

/* Animações */
.fade-up {
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 0.8s cubic-bezier(0.2, 0.9, 0.4, 1.1), transform 0.8s ease;
}

.fade-up.visible {
   opacity: 1;
   transform: translateY(0);
}

/* Responsivo */
@media (max-width: 1000px) {
   .hero-grid {
      grid-template-columns: 1fr;
      text-align: center;
      gap: 30px;
   }

   .nav-links {
      display: none;
      flex-direction: column;
      background: rgba(255, 255, 255, 0.98);
      backdrop-filter: blur(16px);
      position: absolute;
      top: 75px;
      left: 0;
      width: 100%;
      padding: 35px;
      gap: 1.8rem;
      box-shadow: 0 20px 30px rgba(0, 0, 0, 0.05);
      border-radius: 0 0 32px 32px;
   }

   .nav-links.active {
      display: flex;
   }

   .menu-toggle {
      display: block;
   }

   .contact-grid {
      grid-template-columns: 1fr;
   }

   h2 {
      font-size: 2.2rem;
   }

   .navbar {
      padding: 16px 24px;
   }

   section {
      padding: 70px 0;
   }
}

@media (max-width: 640px) {
   .container {
      padding: 0 24px;
   }

   .hero-text h1 {
      font-size: 2.4rem;
   }
}