@charset "utf-8";
:root{
  --primary:#0d3b66;
  --primary-dark:#082944;
  --secondary:#1f5f99;
  --accent:#2e86de;
  --text:#17324a;
  --text-soft:#5c7184;
  --white:#ffffff;
  --bg:#ffffff;
  --bg-soft:#f4f8fb;
  --border:#dbe5ee;
  --shadow:0 18px 45px rgba(12, 41, 66, 0.08);
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
  --container:1200px;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Arial, Helvetica, sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  background:var(--bg);
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

ul{
  list-style:none;
}

.container{
  width:min(92%, var(--container));
  margin:0 auto;
}

.narrow{
  max-width:900px;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(219,229,238,0.9);
}

/* HEADER */

.site-header{
background:#f3f4f6;
border-bottom:1px solid #e6e6e6;
}

.header-wrap{
display:flex;
align-items:center;
justify-content:space-between;
height:86px;
}

.brand{
  display:flex;
  align-items:center;
}

.brand img{
  max-height:70px;
  width:auto;
  display:block;
}

.main-nav ul{
display:flex;
gap:40px;
align-items:center;
}

.main-nav a{
font-size:14px;
font-weight:300;   /* light */
text-transform:uppercase;
letter-spacing:1px;
color:#2c3e50;
transition:.3s;
}

.main-nav a:hover{
color:#2e86de;
}

.nav-btn{
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(13,59,102,0.15);
}

.hero{
  background:
    radial-gradient(circle at top right, rgba(46,134,222,0.14), transparent 28%),
    linear-gradient(135deg, #eef5fb 0%, #ffffff 55%, #eef4f9 100%);
  padding:90px 0 80px;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:36px;
  align-items:center;
}

.eyebrow,
.section-tag{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:#e7f0f8;
  color:var(--secondary);
  font-size:13px;
  font-weight:700;
  margin-bottom:18px;
}

.tag-dark{
  background:rgba(255,255,255,0.14);
  color:#ffffff;
}

.hero-text h1{
  font-size:54px;
  line-height:1.08;
  letter-spacing:-1.4px;
  color:var(--primary);
  margin-bottom:18px;
}

.hero-text p{
  font-size:18px;
  color:var(--text-soft);
  max-width:700px;
  margin-bottom:28px;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:28px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 26px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  font-size:15px;
  font-weight:700;
  transition:0.25s ease;
}

.btn-primary{
  color:#ffffff;
  background:linear-gradient(135deg, var(--primary), var(--secondary));
  box-shadow:var(--shadow);
}

.btn-primary:hover{
  transform:translateY(-2px);
  opacity:0.98;
}

.btn-secondary{
  color:var(--primary);
  background:transparent;
  border:2px solid rgba(13,59,102,0.15);
}

.btn-secondary:hover{
  border-color:rgba(13,59,102,0.3);
}

.btn-full{
  width:100%;
}

.hero-highlights{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  max-width:680px;
}

.hero-highlights li{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  color:var(--primary);
  font-weight:700;
  box-shadow:var(--shadow);
}

.hero-card{
  background:linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%);
  color:#ffffff;
  border-radius:28px;
  padding:34px;
  box-shadow:0 24px 60px rgba(8, 41, 68, 0.22);
}

.hero-card h2{
  font-size:28px;
  line-height:1.15;
  margin-bottom:14px;
}

.hero-card p{
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,0.86);
}

.section{
  padding:84px 0;
}

.section-light{
  background:var(--bg-soft);
}

.section-head{
  margin-bottom:34px;
  max-width:860px;
}

.section-head.center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

.section h2,
.section-head h2,
.contact-info h2{
  font-size:60px;
  line-height:1.05;
  letter-spacing:-1.5px;
  color:var(--primary);
  margin-bottom:18px;
  font-weight:700;
  max-width:900px;
}

.section p,
.section-head p{
  color:var(--text-soft);
  font-size:17px;
}

.narrow p{
  margin-bottom:16px;
}

.grid{
  display:grid;
  gap:22px;
}

.grid-2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.card{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:28px;
  box-shadow:var(--shadow);
  transition:0.25s ease;
}

.card:hover{
  transform:translateY(-4px);
}

.card h3{
  font-size:22px;
  line-height:1.2;
  color:var(--primary);
  margin-bottom:12px;
}

.card p{
  font-size:15px;
  color:var(--text-soft);
}

.small-card{
display:flex;
align-items:center;
justify-content:center;
text-align:center;
min-height:120px;
}

.small-card p{
font-size:20px;
font-weight:300;
line-height:1.4;
max-width:320px;
margin:0 auto;
}
}

.contact-section{
  padding-bottom:100px;
}

.contact-box{
  display:grid;
  grid-template-columns:0.95fr 1.05fr;
  gap:28px;
  padding:40px;
  border-radius:30px;
  background:linear-gradient(135deg, var(--primary), var(--primary-dark));
  box-shadow:0 24px 60px rgba(8, 41, 68, 0.22);
}

.contact-info h2{
  color:#ffffff;
}

.contact-info p{
  color:rgba(255,255,255,0.86);
  font-size:16px;
}

.contact-form{
  display:grid;
  gap:14px;
}

.form-group{
  display:grid;
  gap:8px;
}

.form-group label{
  color:#ffffff;
  font-size:14px;
  font-weight:700;
}

.form-group input,
.form-group textarea{
  width:100%;
  border:none;
  outline:none;
  border-radius:14px;
  padding:16px 18px;
  font-size:15px;
  color:var(--text);
  background:#ffffff;
}

.form-group textarea{
  resize:vertical;
  min-height:130px;
}

.site-footer{
  background:#071d30;
  color:rgba(255,255,255,0.84);
  padding:34px 0;
}

.footer-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}

.footer-brand img{
  max-height:48px;
  width:auto;
}

.footer-text strong{
  display:block;
  color:#ffffff;
  margin-bottom:4px;
}

.footer-contact{
  display:grid;
  gap:6px;
}

.footer-contact a{
  color:rgba(255,255,255,0.84);
}

.footer-contact a:hover{
  color:#ffffff;
}

@media (max-width: 1100px){
  .hero-grid,
  .contact-box{
    grid-template-columns:1fr;
  }

  .grid-3{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero-text h1{
    font-size:46px;
  }
}

@media (max-width: 820px){
  .main-nav{
    display:none;
  }

  .hero{
    padding:70px 0 60px;
  }

  .hero-text h1{
    font-size:36px;
  }

  .section,
  .contact-section{
    padding:64px 0;
  }

  .section h2,
  .section-head h2,
  .contact-info h2{
    font-size:30px;
  }

  .grid-2,
  .grid-3,
  .hero-highlights{
    grid-template-columns:1fr;
  }

  .contact-box{
    padding:28px;
  }
.brand{
  display:flex;
  align-items:center;
}

.brand img{
  max-height:60px;
  width:auto;
  display:block;
}
}/* CSS Document */




/* SLIDER */

.hero-slider{
position:relative;
height:620px;
overflow:hidden;
}

.slides{
height:100%;
position:relative;
}

.slide{
position:absolute;
width:100%;
height:100%;
opacity:0;
transition:opacity 1s ease;
display:flex;
align-items:center;
}

.slide.active{
opacity:1;
z-index:2;
}

.slide-bg{
position:absolute;
width:100%;
height:100%;
background-size:cover;
background-position:center;
filter:brightness(0.45);
animation:zoomBanner 20s ease-in-out infinite alternate;
}

.banner1{
background-image:url("img/banner1.jpg");
}

.banner2{
background-image:url("img/banner2.jpg");
}

.banner3{
background-image:url("img/banner3.jpg");
}

@keyframes zoomBanner{
0%{transform:scale(1)}
100%{transform:scale(1.08)}
}

.slide-content{
position:relative;
z-index:2;
color:#fff;

max-width:800px;
margin:0 auto;

text-align:center;
}


/* TITULO */

.slide-content h1{
font-size:64px;
font-weight:300;   /* light */
letter-spacing:1px;
margin-bottom:20px;
}


/* TEXTO */

.slide-content p{
font-size:20px;
font-weight:300;
opacity:0.9;
margin-bottom:35px;
}


/* BOTÃO DELICADO */

.btn-banner{
display:inline-block;

background:transparent;
color:#ffffff;

padding:12px 26px;

border:1.5px solid rgba(255,255,255,0.8);
border-radius:40px;

font-size:15px;
font-weight:400;

transition:all .3s ease;
}

.btn-banner:hover{
background:rgba(255,255,255,0.15);
border-color:#fff;
}



.parallax{
position:relative;
height:420px;
background-attachment:fixed;
background-position:center;
background-repeat:no-repeat;
background-size:cover;
}

.parallax-1{
background-image:url("img/parallax1.jpg");
}

.parallax-2{
background-image:url("img/parallax2.jpg");
}

.parallax-3{
background-image:url("img/parallax3.jpg");
}

.parallax-overlay{
  width:100%;
  height:100%;
  background:rgba(8, 41, 68, 0.38);
  display:flex;
  align-items:center;
}

.parallax-content{
  text-align:center;
}

.parallax-content h2{
  color:#ffffff;
  font-size:56px;
  line-height:1.05;
  letter-spacing:-1.5px;
  font-weight:700;
  max-width:900px;
  margin:0 auto;
}

@media (max-width: 820px){
  .parallax-section{
    height:300px;
    background-attachment:scroll;
  }

  .parallax-content h2{
    font-size:34px;
    line-height:1.1;
    padding:0 10px;
  }
}

.section-admin{
background:#f3f4f6;
padding:90px 0;
}

/* TITULOS DOS GRUPOS */

.group-title{
font-size:22px;
font-weight:700;
margin-bottom:20px;
letter-spacing:1px;
text-transform:uppercase;
}

/* CONSULTORIA */

.group-consultoria .group-title{
color:#1c2e74;
}

/* ASSESSORIA */

.group-assessoria .group-title{
color:#162159;
}

/* PRODUTOS */

.group-produtos .group-title{
color:#121746;
}

/* PRODUTOS ADVANCED */

.group-advanced .group-title{
color:#1e2444;
}

.group-title{
display:inline-block;
padding:6px 14px;
margin:30px 0 18px 0;

font-size:14px;
font-weight:300;
letter-spacing:2px;
text-transform:uppercase;

border-radius:6px;

color:#ffffff !important;
}
.group-title{
display:block;

padding:12px 18px;
margin:35px 0 20px 0;

font-size:18px;
font-weight:500;
letter-spacing:1px;
text-transform:uppercase;

color:#ffffff;
border-radius:8px;
width:max-content;
}

.group-consultoria .group-title{
background:#1c2e74;
}

.group-assessoria .group-title{
background:#162159;
}

.group-produtos .group-title{
background:#121746;
}

.group-advanced .group-title{
background:#1e2444;
}

.card-icon-left{
display:flex;
align-items:center;
gap:20px;
}

.card-icon{
flex:0 0 42px;
}

.card-icon img{
width:42px;
height:auto;
}

.card-text h3{
margin-bottom:8px;
}

/* OPERADORAS - TITULOS DE GRUPO */

.operadoras-servicos{
background:#0077b2;
color:#ffffff;
}

.operadoras-assessoria{
background:#003c5c;
color:#ffffff;
}

/* mantém o mesmo estilo de quadro que você já criou */

.operadoras-servicos,
.operadoras-assessoria{
display:block;
padding:12px 18px;
margin:35px 0 20px 0;

font-size:18px;
font-weight:500;
letter-spacing:1px;
text-transform:uppercase;

border-radius:8px;
width:max-content;
}
.whatsapp-float{
position:fixed;
right:35px;
bottom:35px;
width:62px;
height:62px;
border-radius:50%;
background:#00a159;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 12px 30px rgba(0,0,0,0.18);
z-index:9999;
transition:all .3s ease;
}

.whatsapp-float:hover{
transform:translateY(-3px) scale(1.04);
box-shadow:0 16px 34px rgba(0,0,0,0.22);
}

.whatsapp-float img{
width:40px;
height:40px;
display:block;
}

@media (max-width: 820px){
.whatsapp-float{
right:18px;
bottom:18px;
width:56px;
height:56px;
}

.whatsapp-float img{
width:28px;
height:28px;
}
}