	:root 	{
 			--azul-escuro:#050d18;
  			--azul-medio:#0a1d35;
  			--azul-claro:#102b4d;
	  		--azul-destaque:#2d6cb5;
  			--azul-hover:#6ea8ff;
  			--cinza:#f4f7fb;
  			--branco:#ffffff;
			}

	* {
 	 		margin:0;
 	 		padding:0;
 	 		box-sizing:border-box;
	  		font-family:Arial, Helvetica, sans-serif;
			}

	html 	{
 		 	scroll-behavior:smooth;
			}

	body 	{
  			background:var(--branco);
		  	color:#333;
 		 	line-height:1.6;
			}

/* =========================
   menu
========================= */

	nav 	{
 		 	width:100%;
		  	position:fixed;
 		 	top:0;
		 	left:0;
		  	display:flex;
 		 	justify-content:space-between;
 		 	align-items:center;
  			padding:16px 8%;
 		 	background:rgba(5,13,24,.95);
  			backdrop-filter:blur(6px);
 		 	z-index:1000;
  			border-bottom:1px solid rgba(255,255,255,.08);
			}

.logo-area {
  			display:flex;
  			align-items:center;
			gap:18px;
			}

.logo 		{
 			width:58px;
			height:58px;
 			object-fit:contain;
 			background:transparent;
  			padding:0;
 			border-radius:10%;
  			box-shadow:none;
  			transition:.3s;
			}

.logo:hover 	{
 				transform:scale(1.05);
				}

.logo-text h2 	{
 				color:#ffffff;
 				font-size:1.7rem;
  				letter-spacing:2px;
  				font-weight:700;
				}

.logo-text p 	{
  				color:#9fb8d9;
 				font-size:.78rem;
  				letter-spacing:4px;
				}

nav ul 			{
  				display:flex;
  				list-style:none;
  				gap:30px;
				}

nav ul li a 		{
 				color:white;
  				text-decoration:none;
  				font-weight:bold;
  				transition:.3s;
				}

nav ul li a:hover 	{
  					color:var(--azul-hover);
					}	

.menu-toggle 	{
  				display: none;
  				flex-direction: column;
  				gap: 6px;
  				cursor: pointer;
  				background: transparent;
  				border: none;
  				z-index: 1001;
				}

.menu-toggle .bar 	{
  					width: 30px;
  					height: 3px;
  					background-color: var(--branco);
  					border-radius: 5px;
  					transition: all 0.3s ease;
					}

.menu-toggle.active .bar:nth-child(1) 	{
 	 									transform: translateY(9px) rotate(45deg);
										}

.menu-toggle.active .bar:nth-child(2) 	{
  										opacity: 0;
										}

.menu-toggle.active .bar:nth-child(3) 	{
  										transform: translateY(-9px) rotate(-45deg);
										}


/* =========================
   header 
========================= */

header 				{
  					height: 55vh;
  					background: linear-gradient(rgba(5, 13, 24, 0.75), rgba(10, 29, 53, 0.8)), url('https://images.unsplash.com/photo-1474487548417-781cb71495f3?q=80&w=1600&auto=format&fit=crop');
                    			background-size: cover;
                    			background-position: center;
  					display: flex;
  					justify-content: center;
 					align-items: center;
  					text-align: center;
  					padding: 140px 20px 40px 20px;
                    			border-bottom: none; 
					}

.hero 				{
  					max-width:850px;
  					color:white;
					}

.hero h1 			{
  					font-size: 3.2rem;
  					margin-bottom: 15px;
 					line-height: 1.2;
                    			letter-spacing: 1px;
					}

.hero p 				{
  					font-size: 1.1rem;
  					color: #c8d6ea;
  					max-width: 650px;
  					margin: 0 auto;
					}


/* =========================
   estrutura serviços alternados
========================= */

.servicos-container 								{
    													padding: 40px 0;
													}

.servico-bloco 										{
    													display: grid;
    													grid-template-columns: 1fr 1fr;
    													gap: 80px;
    													align-items: center;
    													padding: 70px 10%;
													}

.servico-bloco:nth-child(even) 						{
    													background-color: var(--branco);
													}

.servico-bloco:nth-child(even) .servico-imagem 	{
    													order: 2;
													}

.servico-bloco:nth-child(even) .servico-texto 		{
    													order: 1;
													}

.servico-imagem img 								{
    													width: 100%;
    													height: 450px;
   	 												object-fit: cover;
    													border-radius: 12px;
    													box-shadow: 0 15px 35px rgba(5, 13, 24, 0.05);
    													border: none;
													}

.servico-texto h2 									{
    													font-size: 2.2rem;
    													color: var(--azul-escuro);
    													margin-bottom: 20px;
													}

.servico-texto p 									{
    													font-size: 1.05rem;
    													color: #555;
    													margin-bottom: 25px;
    													text-align: left;
													}

.servico-detalhes-lista 								{
    													list-style-type: "✓ "; 
    													margin-bottom: 30px;
    													padding-left: 20px;   
													}

.servico-detalhes-lista li 							{
    													font-size: 0.98rem;
    													color: #444;
    													margin-bottom: 14px;
    													text-align: left;
    													line-height: 1.6;
													}

.servico-detalhes-lista li strong 					{
    													color: var(--azul-escuro);
    													margin-right: 4px; 
													}

.servico-detalhes-lista li::before 					{
    													content: none !important;
													}

.title h2 											{
  													font-size:2.5rem;
  													color:var(--azul-escuro);
 													position:relative;
  													display:inline-block;
													}

.title h2::after 										{
  													content:"";
  													width:60%;
  													height:4px;
  													background:var(--azul-destaque);
  													position:absolute;
  													left:20%;
 													bottom:-12px;
  													border-radius:20px;
													}


/* =========================
   infraestrutura (REF_image estilo minimalista mod)
========================= */

.infraestrutura-section 						{
    											background-color: var(--cinza); /* Fundo cinza suave idêntico ao print */
    											padding: 100px 8%;
    											text-align: center;
											}

.infraestrutura-section .title h2 			{
    											margin-bottom: 20px;
											}

.infra-subtitle 								{
    											max-width: 750px;
    											margin: 0 auto 50px auto;
    											color: #555;
    											font-size: 1.05rem;
											}

.infra-grid 									{
    											display: grid;
    											grid-template-columns: repeat(3, 1fr); 
    											gap: 30px;
    											justify-content: ;
											}

.infra-card 									{
    											background: var(--branco); /* Cartões brancos puros */
    											padding: 50px 35px;
    											border-radius: 14px;
    											box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04); /* Sombra suave de elevação */
   	 										text-align: center; /* Alinhamento centralizado moderno */
    											transition: transform 0.3s ease, box-shadow 0.3s ease;
											}

.infra-card:hover 							{
    											transform: translateY(-8px);
    											box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
											}


/* Círculo suave ícones em azul 
conf as imgs enviadas */

.infra-icon-container                           			{
                                                					width: 60px;
                                                					height: 60px;
                                                					background-color: #f0f5fc; 
                                                					color: var(--azul-destaque);
                                                					font-size: 1.5rem;
                                                					display: flex;
                                                					align-items: center;
                                                					justify-content: center;
                                                					border-radius: 50%;
                                                					margin: 0 auto 25px auto;
                                                					}


.infra-card h3 								{
    											color: var(--azul-escuro);
    											font-size: 1.4rem;
    											margin-bottom: 16px;
    											font-weight: 700;
											}


.infra-card p 								{
    											color: #666;
    											font-size: 0.98rem;
    											line-height: 1.6;
											}

/* Alinhamento inteligente para o 4º item ficar centralizado na segunda linha */

.infra-grid .infra-card:nth-child(4) 			{
    											grid-column: 1 / 2;
											}

@media(min-width: 993px) 				{
.infra-grid .infra-card:nth-child(4) 			{
        										grid-column: 2 / 3;
   	 										}
											}


/* =========================
   seção contato
========================= */

.cta-section 									{
                    										background: linear-gradient(135deg, #050d18, #0a1d35);
                    										color: white;
                   	 									text-align: center;
                    										padding: 80px 10%;
												}

.cta-container 									{
                   	 									max-width: 750px;
                    										margin: 0 auto;
												}

.cta-container h2 								{
                    										font-size: 2.4rem;
                    										margin-bottom: 20px;
												}

.cta-container p 								{
                    										color: #c8d6ea;
                    										margin-bottom: 35px;
                    										font-size: 1.1rem;
												}

.btn 											{
  												display:inline-block;
  												background:var(--azul-destaque);
  												color:white;
  												text-decoration:none;
  												padding:16px 40px;
  												border-radius:8px;
  												font-weight:bold;
  												transition:.3s;
  												box-shadow:0 5px 15px rgba(0,0,0,.3);
												}

.btn:hover 										{
  												background:var(--azul-hover);
  												transform:translateY(-3px);
												}


/* =========================
   rodapé
========================= */

footer 											{
  												background:#030912;
  												color:#c8d6ea;
  												text-align:center;
  												padding:40px 20px;
												}

footer p 										{
  												margin:8px 0;
												}

/* =========================
   responsivo
========================= */

@media(max-width:992px)					{
  nav 											{
    												flex-direction: row;
    												justify-content: space-between;
    												padding: 16px 5%;
  												}

  .menu-toggle 									{
    												display: flex;
  												}

  nav ul 											{
    												position: fixed;
    												top: 90px;
    												right: -100%;
   	 											width: 250px;
   	 											height: calc(100vh - 90px);
    												background: rgba(5, 13, 24, 0.98);
    												backdrop-filter: blur(10px);
    												flex-direction: column;
   	 											justify-content: flex-start;
    												padding: 40px 30px;
    												gap: 25px;
    												transition: right 0.4s cubic-bezier(0.1, 0.8, 0.3, 1);
    												border-left: 1px solid rgba(255, 255, 255, 0.08);
  												}

  nav ul.active 									{
    												right: 0;
  												}

  nav ul li 										{
    width: 100%;
  												}

  nav ul li a 										{
    												font-size: 1.2rem;
    												display: block;
    												padding: 10px 0;
    												border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  												}

  .servico-bloco 								{
    												grid-template-columns: 1fr;
   	 											gap: 40px;
    												padding: 60px 5%;
 	 											}

  .servico-bloco:nth-child(even) .servico-imagem 	{
    													order: 0;
  													}

  .servico-bloco:nth-child(even) .servico-texto 		{
    													order: 0;
  													}

  .servico-imagem img 								{
    													height: 300px;
  													}

  .hero h1 											{
    													font-size: 2.4rem;
 	 												}
  
  header 											{
    													height: auto;
    													padding: 140px 20px 60px 20px;
  													}

  .infra-grid 									{
    											grid-template-columns: 1fr;
    											gap: 20px;
  											}

  .infra-grid .infra-card:nth-child(4) {
    											grid-column: auto;
  											}
}

@media(max-width: 992px) {
    .cards-contato {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .logo-text h2 {
        font-size: 1.2rem;
    }

    .logo-text p {
        font-size: 0.65rem;
        letter-spacing: 1px;
    }
}


