/* =========================
   NOVO STYLE PREMIUM
   SEGVIDA BRASIL
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

html{
    scroll-behavior:smooth;
}

:root{

    --primary:#00c2b8;
    --primary-dark:#009e96;

    --orange:#ff8a00;
    --orange-dark:#ff6b00;

    --dark:#071726;
    --light:#f5f7fb;

    --text:#1f2937;
    --gray:#6b7280;

}

body{
    background:#ffffff;
    color:var(--text);
    overflow-x:hidden;
}

/* CONTAINER */

.container{
    width:90%;
    max-width:1280px;
    margin:auto;
}

/* =========================
   HEADER
========================= */

.header{

    width:100%;
    background:#ffffff;

    position:fixed;
    top:0;
    left:0;

    z-index:999;

    padding:10px 0;

    box-shadow:
    0 12px 40px rgba(0,0,0,0.24);

}

.nav{

    display:flex;
    align-items:center;
    justify-content:space-between;

}

.logo{
    height:80px;
}

/* MENU */

.menu{

    display:flex;
    align-items:center;
    gap:35px;

    list-style:none;

}

.menu a{

    position:relative;

    text-decoration:none;

    color:var(--dark);

    font-weight:500;

    font-size:16px;

    transition:.3s;

}

.menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:width .3s ease;

}

.menu a{

    position:relative;

    display:inline-block;

    text-decoration:none;

    color:var(--dark);

    font-weight:500;

    font-size:16px;

    transition:.3s;

}

.menu a:hover{

    color:var(--primary);

    transform:scale(1.05);

}

.menu a:hover::after{

    width:100%;

}

.menu a::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.3s;

    transform:translateX(-50%);

}

.menu a:hover::after{

    width:100%;

}



/* BOTÕES */

.buttons-top{

    display:flex;
    align-items:center;
    gap:15px;

}

.btn-login{

    background:var(--primary);

    color:#fff;
    text-decoration:none;

    padding:11px 20px;

    border-radius:12px;

    font-size:15px;
    font-weight:600;

    transition:0.3s;

}

.btn-login:hover{

    background:var(--primary-dark);

}

.btn-main{

background:
linear-gradient(
135deg,
var(--orange),
var(--orange-dark)
);

color:#fff;

text-decoration:none;

padding:18px 34px;

border-radius:16px;

font-weight:600;

display:inline-flex;

align-items:center;

justify-content:center;

gap:10px;

line-height:1.2;

white-space:nowrap;

transition:0.3s;

box-shadow:
0 8px 18px rgba(120,45,0,0.28),
0 18px 42px rgba(70,20,0,0.45);

}

.btn-main:hover{

    transform:translateY(-4px);

}

.btn-cartao{

background:var(--orange);

color:#fff;

text-decoration:none;

padding:11px 20px;

border-radius:12px;

font-size:15px;

font-weight:600;

transition:0.3s;

display:inline-flex;

align-items:center;

gap:8px;

}

.btn-cartao:hover{

background:var(--orange-dark);

}

#quemsomos,
#convenios,
#planos,
#contato{
    scroll-margin-top:100px;
}



/* =========================
   HERO
========================= */

.hero{

height:90vh;

background:
linear-gradient(
270deg,
#ffffff 0%,
#00b7b7 100%
);

position:relative;

overflow:visible;

padding-top:130px;

padding-bottom:0px;

margin-bottom:50px;

}

.hero-overlay{

    position:absolute;
    inset:0;

    background:
    radial-gradient(
    circle at top right,
    rgba(255,255,255,0.15),
    transparent 30%
    );

}

.hero-grid{

display:grid;

grid-template-columns:1fr 600px;

align-items:center;

gap:90px;

position:relative;

z-index:5;

}

.hero-right{
    transform:translateY(-40px);
}

/* HERO CONTENT */

.hero-content{

color:#fff;

padding-bottom:0px;

position:relative;

z-index:20;

}

.hero-badge{

    display:inline-flex;
    align-items:center;
    gap:10px;

    background:
    rgba(255,255,255,0.2);
    color:white;

    padding:12px 18px;

    border-radius:50px;

    margin-bottom:30px;

    font-size:14px;
    font-weight:600;

    backdrop-filter:blur(12px);

}

.hero-content h1{

    font-size:40px;
    line-height:1.2;

    font-weight:800;

    margin-bottom:30px;

}

.hero-content h1 span{
    color:#ffc629;
}

.hero-description{

    font-size:21px;
    line-height:1.6;

    color:
    rgba(255,255,255,0.9);

    max-width:650px;

    margin-bottom:40px;

}

.hero-buttons{

display:flex;

flex-wrap:wrap;

align-items:center;

gap:18px;

margin-top:5px;

margin-bottom:35px;

position:relative;

z-index:25;

}

/* HERO CAROUSEL — MODO PAISAGEM */

.hero-carousel{

position:relative;

width:100%;

max-width:100%;

aspect-ratio:1672/941;

border-radius:25px;

overflow:hidden;

box-shadow:
0 12px 35px rgba(0,0,0,0.22),
0 35px 85px rgba(0,0,0,0.38);

margin:auto;

}

.hero-slide{

position:absolute;

inset:0;

opacity:0;

transition:opacity .9s ease;

}

.hero-slide.active{

opacity:1;

z-index:2;

}

.hero-slide img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

/* RESPONSIVO */

@media(max-width:1100px){

.hero-carousel{

max-width:550px;

height:300px;

margin-top:35px;

}

}

@media(max-width:768px){

.hero-carousel{

width:100%;

max-width:100%;

height:auto;

margin-top:20px;

}

}

.success-message{

display:none;

margin-top:18px;

padding:18px 22px;

border-radius:18px;

background:
linear-gradient(
135deg,
#d9fff3,
#f2fff9
);

border:1px solid #9de8cc;

color:#097a5a;

font-weight:600;

text-align:center;

box-shadow:
0 10px 25px rgba(0,0,0,0.08);

}

.success-message i{

margin-right:10px;

font-size:20px;

color:#00b77d;

}



/* BOLINHAS HERO */

.hero-dots{

display:flex;

justify-content:center;

align-items:center;

gap:10px;

margin-top:18px;

}

.hero-dot{

    width:10px;

    height:10px;

    border-radius:20px;

    background:#00c2b8;

    opacity:.35;

    cursor:pointer;

    transition:.3s;

}

.hero-dot:hover{

transform:scale(1.15);

}

.hero-dot.active{

    background:#00c2b8;

    opacity:1;

    box-shadow:
    0 0 12px rgba(0,194,184,.6);

}


/* =========================
MENU HAMBÚRGUER
========================= */

/* escondido no desktop */

.menu-toggle{

display:none;

font-size:30px;

color:var(--dark);

cursor:pointer;

}

/* SOMENTE MOBILE */

@media(max-width:768px){
/* NAV MOBILE */

.nav{

display:flex;

flex-wrap:wrap;

justify-content:space-between;

align-items:center;

gap:15px;

}

/* BOTÕES ABAIXO */

.buttons-top{

width:100%;

display:flex;

justify-content:center;

align-items:center;

gap:12px;

margin-top:10px;

order:3;

}

/* AJUSTE DOS BOTÕES */

.buttons-top a{

padding:10px 18px;

font-size:14px;

}
.menu-toggle{

display:block;

margin-left:auto;

}

.menu{

display:none !important;

position:absolute;

top:95px;

left:0;

right:0;

width:100%;

max-width:100vw;

box-sizing:border-box;

background:#fff;

padding:20px;

flex-direction:column;

align-items:center;

gap:22px;

z-index:999;

}

.menu.active{

display:flex !important;

}


/* CORREÇÃO HERO MOBILE */

.hero-grid{

grid-template-columns:1fr;

gap:35px;

width:100%;


}

.hero-right{

width:100%;

margin-top:0;

}


.hero-carousel{

width:100%;

max-width:100%;

height:auto;

margin-top:20px;


}

.menu{

left:0;

right:0;

width:100%;

max-width:100vw;

box-sizing:border-box;

}

}





/* =========================================================
QUEM SOMOS
========================================================= */



.about-section{

background:#ffffff;
background:#ffffff;

}

.about-grid{

margin-top:20px;

}

.about-text{

max-width:1000px;

margin:auto;

font-size:18px;

line-height:1.5;

color:#555;

text-align:left;

}

.about-text p{

margin-bottom:28px;

}



.legal-warning{

margin-top:30px;
margin-bottom:30px;

background:#ff8a00;

padding:20px;

border-left:6px solid var(--orange-dark);

border-radius:25px;

line-height:2;

color:#ffffff;

box-shadow:0 10px 25px rgba(0,0,0,0.05);

}





/* =========================================================
MISSÃO / VISÃO / VALORES
========================================================= */

.mvv-cards{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

margin-top:20px;

max-width:1000px;

margin-left:auto;

margin-right:auto;

}

.mvv-cards .card{

height:100%;

}

.mvv-cards .card i{

font-size:48px;

color:var(--primary);

margin-bottom:0px;

}

.mvv-cards .card h3{

font-size:28px;

margin-bottom:0px;

}

.mvv-cards .card p{

font-size:15px;

line-height:1.5;

}

.mvv-header{

display:flex;

align-items:center;

gap:15px;

margin-bottom:20px;

}

/* RESPONSIVO */

@media(max-width:980px){

.mvv-cards{

grid-template-columns:1fr;

}

}


/* =========================================================
CONVENIOS
========================================================= */

.convenios-section{

background:#ffffff;
background:#ffffff;

}

/* CONVÊNIOS */



.section-title{
text-align:center;
margin-bottom:10px;
}

.section-title h2{
font-size:48px;
margin-bottom:10px;
color:#1b1b1b;
}

.section-title p{
font-size:20px;
color:#00a8a8;
font-style:italic;
}

.cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
max-width:1000px;
margin:auto;
margin-bottom:40px;
}

.cards > .card{
width:auto !important;
max-width:none !important;
}

.card{
background:white;
padding:30px 20px;
border-radius:30px;
box-shadow:0 10px 25px rgba(0,0,0,0.5);
transition:0.4s;
border:1px solid #f2f2f2;
}

.card:hover{
transform:translateY(-10px);
box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

.card i{
font-size:45px;
margin-bottom:0px;
color:#00c2b8;
}

.card h3{
font-size:22px;
margin-bottom:0px;
}

.card p{
font-size:15px;
line-height:1.5;
color:#666;
}



/* =========================
   PLANOS
========================= */

.plans-section{

background:var(--light);
background:var(--light);

    overflow:hidden;
margin-bottom:30px;
}



.plan-card{

    background:#fff;

    border-radius:30px;

    padding:20px;

    position:relative;

    overflow:hidden;

    box-shadow:
    0 10px 25px rgba(0,0,0,0.5);

    transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;

}

.plan-card.featured:hover{

    transform:
    translateY(-38px)
    scale(1.05);

    box-shadow:
    0 25px 50px rgba(0,0,0,.20);

}

@media(max-width:768px){

    .plans-section{
        padding:0px 0;
    }

    .plan-card.featured:hover{
        transform:none !important;
    }

}

.plan-card.featured{
    border:2px solid var(--primary);
    transform:translateY(-30px) scale(1.03);
}

@media(max-width:768px){

    .plan-card.featured{
        transform:none !important;
    }

}




.plan-card h3{

    font-size:34px;

    margin-bottom:20px;

}



.plan-card h5{

    font-size:21px;
    color:var(--gray);
    margin-bottom:10px;

}

.plan-card h6{

    font-size:21px;
    color:#D3AF37;
    margin-bottom:10px;

}

.plan-card:not(.featured):hover{

    transform:
    translateY(-10px)
    scale(1.02);

    box-shadow:
    0 20px 40px rgba(0,0,0,.15);

}

.plan-card h5,
.plan-card h6{
    transition:.3s;
}

.plan-card:hover h5{
    color:#ababa6;
}

.plan-card:hover h6{
    color:#f7e80f;
}

.plan-price2{

    font-size:36px;
    font-weight:800;

    color:var(--dark);

    margin-bottom:10px;

}

.plan-price2 small{

    font-size:21px;

}

.plan-price2 span{

    font-size:16px;
    color:var(--dark);

}

.plan-card ul{

    list-style:none;

    margin-bottom:20px;

}

.plan-card ul li{

    margin-bottom:8px;

    display:flex;
    align-items:center;
    gap:12px;

    color:var(--gray);

    line-height:1.5;

}

.plan-card ul li i{

    color:var(--primary);

}

.btn-plan{ 

width:100%; 



background: 
linear-gradient( 
135deg, 
var(--primary), 
var(--primary-dark) 
); 

color:#fff; 
text-decoration:none; 
padding:18px; 
border-radius:18px; 
display:flex; 
justify-content:center; 
align-items:center; 
font-weight:700; 
transition:0.3s; 
border:none;

cursor:pointer;

font-family:inherit;} 

.btn-plan:hover{ transform:translateY(-3px); }







.btn-plan3{

    width:100%;

background:
linear-gradient(
135deg,
var(--orange),
var(--orange-dark)
);

    color:#fff;
    text-decoration:none;

    padding:18px;

border:none;

    border-radius:18px;

    display:flex;
    justify-content:center;
    align-items:center;

    font-weight:700;

    transition:0.3s;

}

.btn-plan3:hover{

    transform:translateY(-3px);

}


.btn-plan i,
.btn-plan3 i{

    margin-left:8px;

    transition:.3s;

}

.btn-plan:hover i,
.btn-plan3:hover i{

    transform:translateX(5px);

}





/* ===== SWIPER PLANOS ===== */

.plansSwiper{
    width:100%;
    max-width:1000px;
    overflow:hidden;
    padding:0;
}

.plansSwiper .swiper-wrapper{

align-items:stretch;

padding:50px 0;

}

.plansSwiper .swiper-slide{

display:flex;

justify-content:center;

height:auto;

}

.plan-card{

width:100%;

height:100%;

max-width:270px;

box-sizing:border-box;

}

.swiper-button-next,
.swiper-button-prev{
    display:none !important;
}

.swiper-button-next::after,
.swiper-button-prev::after{
    display:none !important;
}

.swiper-pagination{

bottom:20px !important;

}

.swiper-pagination-bullet-active{

background:#fd890d;

}

/* CENTRALIZAR SEÇÃO PLANOS */

.plans-section .container{

padding-left:10px;

padding-right:10px;

}



/* =========================
   FOOTER
========================= */

.footer-modern{

    background:#061320;

    color:#fff;

    padding-top:40px;

}

.footer-content{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(240px,1fr));

    gap:40px;

    padding-bottom:20px;

}

.footer-brand img{

    height:75px;

    margin-bottom:20px;

}

.footer-brand p{

    color:
    rgba(255,255,255,0.92);

    line-height:1.8;

}

.footer-modern h3{

    margin-bottom:20px;

    font-size:24px;

}

.footer-modern ul{

    list-style:none;

}

.footer-modern ul li{

    margin-bottom:14px;

}

.footer-modern a{

    text-decoration:none;

    color:
    rgba(255,255,255,0.75);

    transition:0.3s;

}

/* EFEITO LINHA VERDE APENAS NOS LINKS DO MENU */

.footer-links a{

    position:relative;

    display:inline-block;

}

.footer-links a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-4px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:width .3s ease;

}

.footer-links a:hover::after{

    width:100%;

}

.footer-contact p{

    margin-bottom:14px;

    color:
    rgba(255,255,255,0.75);

}

.footer-bottom{

    border-top:
    1px solid rgba(0,194,184,0.2);

    text-align:center;

    padding:10px 0;

    color:
    rgba(255,255,255,1);

}

/* =========================
   WHATSAPP
========================= */

.whatsapp{

    position:fixed;

    right:25px;
    bottom:25px;

    width:68px;
    height:68px;

    border-radius:50%;

    background:#25d366;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    font-size:34px;

    text-decoration:none;

    z-index:999;

    overflow:hidden;

    position:fixed;

    box-shadow:
    0 12px 35px rgba(37,211,102,.35);

}

/* =========================
   RESPONSIVO
========================= */

@media(max-width:1100px){

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

    .hero-content h1{
        font-size:56px;
    }

}





   
    .hero-content h1{
        font-size:42px;
    }

    .hero-description{
        font-size:18px;
    }

    .hero-buttons{
        flex-direction:column;
        align-items:flex-start;
    }

    .section-header h2{
        font-size:38px;
    }

}











/* =========================================================
CONTATO + MAPA
========================================================= */

.contato-section{

background:#f7f9fc;
background:#f7f9fc;

}



.contact-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

margin-top:0px;

margin-bottom:30px;

max-width:1000px;

margin-left:auto;

margin-right:auto;

align-items:stretch;

}

.social-instagram a{

display:flex;

align-items:center;

justify-content:flex-start;

gap:10px;

text-decoration:none;

transition:.3s;

}

.social-instagram a:hover{

transform:translateY(-3px);

}

.social-instagram i,
.social-instagram span{

background:
linear-gradient(
45deg,
#f09433,
#e6683c,
#dc2743,
#cc2366,
#bc1888
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;

font-weight:600;

}

.social-instagram{

width:100%;

text-align:left;

margin-bottom:14px;

}

.footer-contact .social-instagram{

display:flex;

justify-content:flex-start;

width:100%;

margin-bottom:14px;

}

/* MAPA */

.map-container{

border-radius:30px;

overflow:hidden;

box-shadow:
0 10px 25px rgba(0,0,0,0.5);

min-height:100%;

}

.map-container iframe{

width:100%;

height:100%;

min-height:300px;

border:none;

}

/* FORMULÁRIO */

.contact-form{

background:#fff;
padding:20px 5px;
border-radius:30px;
box-shadow:
0 10px 25px rgba(0,0,0,0.5);

display:flex;
flex-direction:column;
gap:12px;

}


.contact-form input{
padding:8px;
border-radius:16px;
border:1px solid #e6e6e6;
font-size:16px;
outline:none;
width:90%;
margin-left:auto;
margin-right:auto;

}

.contact-form button{
background:linear-gradient(135deg,#ff9f1a,#ff7b00);
padding:18px;
border:none;
border-radius:18px;
font-size:18px;
font-weight:600;
color:white;
cursor:pointer;
transition:0.3s;
width:90%;
margin-left:auto;
margin-right:auto;
}

.contact-form button:hover{
transform:translateY(-2px);
}


.contact-form textarea{

padding:8px;
border-radius:16px;
border:1px solid #e6e6e6;
font-size:16px;
outline:none;
width:90%;
margin-left:auto;
margin-right:auto;

}

.contact-form textarea:focus{

    border-color:var(--primary);

}

/* RESPONSIVO */

@media(max-width:980px){

.contact-grid{

grid-template-columns:1fr;

}

.map-container iframe{

min-height:380px;

}

}



/* TEXTO DÚVIDAS */

.contact-subtitle{

font-size:22px;

font-style:italic;

color:var(--gray);

margin-bottom:18px;

}

/* TELEFONE + WHATSAPP */



.contact-icons{

display:flex;

align-items:center;

justify-content:center;

gap:10px;

flex-wrap:wrap;

font-size:18px;

font-style:normal !important;

font-weight:600;

color:var(--dark);

margin-bottom:15px;

}

.contact-icons i{

font-style:normal !important;

}

.contact-icons .fa-phone{

color:var(--primary);

font-size:18px;

}

.contact-icons .fa-whatsapp{

color:#25D366;

font-size:22px;

}

.phone-text{

color:#666;

}

/* INSTAGRAM */

.social-instagram{

display:flex;

align-items:center;

justify-content:center;

gap:10px;

font-size:18px;

font-style:normal !important;

font-weight:600;

margin-top:5px;

}



.social-instagram i,
.social-instagram span{

font-style:normal !important;

background:
linear-gradient(
45deg,
#f09433,
#e6683c,
#dc2743,
#cc2366,
#bc1888
);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

background-clip:text;

}




/* =========================
MODAL PLANO
========================= */

.modal-overlay{

position:fixed;

inset:0;

background:
rgba(0,0,0,0.65);

display:flex;

justify-content:center;

align-items:center;

padding:2px 10px;

overflow-y:auto;

opacity:0;

visibility:hidden;

transition:0.35s;

z-index:9999;

}

.modal-overlay.active{

opacity:1;

visibility:visible;

}

.plan-modal{

background:#fff;

width:95%;

max-width:900px;

max-height:95vh;

margin-top:10px;

margin-bottom:10px;

overflow-y:auto;

padding:20px 20px;

border-radius:30px;

position:relative;

text-align:center;

box-shadow:
0 25px 50px rgba(0,0,0,0.35);

}

.close-modal{

position:absolute;

top:18px;

right:18px;

border:none;

background:none;

font-size:30px;

cursor:pointer;

color:#777;

}

.plan-modal h2{

font-size:25px;

margin-bottom:0px;

color:var(--gray);

}

.plan-modal h3{

font-size:25px;

margin-bottom:0px;

color:#D3AF37;

}



.modal-subtitle{

font-size:16px;

line-height:1.5;

color:#666;

margin-bottom:20px;

}

.modal-list{

list-style:none;

margin-bottom:22px;

text-align:left;

line-height:1.5;

}

.modal-list li{

display:flex;

align-items:flex-start;

gap:12px;

margin-bottom:12px;

font-size:14px;

line-height:1.5;

color:#444;

}

.modal-list i{

color:var(--primary);

margin-top:3px;

flex-shrink:0;

}

.modal-list li span{
    flex:1;
}

/* REQUISITOS HOVER POPUP */

.open-requisitos{

position:relative;

color:var(--primary);

font-weight:700;

cursor:help;

text-decoration:underline;

display:inline-block;

}

.requisitos-overlay{

position:fixed;

inset:0;

background:rgba(0,0,0,.45);

display:flex;

justify-content:center;

align-items:center;

opacity:0;

visibility:hidden;

transition:.25s;

z-index:100000;

padding:20px;

pointer-events:none;

}


.requisitos-modal{

background:#fff;

width:95%;

max-width:760px;

padding:35px;

border-radius:28px;

box-shadow:
0 25px 60px rgba(0,0,0,.35);

}

.requisitos-modal h3{

color:var(--primary);

margin-bottom:22px;

font-size:28px;

}

.requisitos-modal p{

font-size:14px;

font-weight:400;

line-height:1.5;

margin-bottom:0px;

color:#444;

}

.requisitos-modal{

position:relative;

}

.close-requisitos{

position:absolute;

top:14px;

right:18px;

border:none;

background:none;

cursor:pointer;

font-size:28px;

color:#777;

transition:.25s;

}

.close-requisitos:hover{

color:var(--primary);

}

.trust-bar{

    background:#00c2b8;

    padding:10px 0;

    overflow:hidden;

}

.ticker{

    width:100%;

    overflow:hidden;

    white-space:nowrap;

}

.ticker-content{

    display:inline-flex;

    align-items:center;

    gap:50px;

    animation:tickerMove 50s linear infinite;

}

.ticker-content span{

    color:#fff;

    font-weight:600;

    font-size:15px;

    display:flex;

    align-items:center;

    gap:8px;

}

@keyframes tickerMove{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

.contact-form input{

    text-decoration:none !important;

}

.contact-form input::placeholder{

    text-decoration:none !important;

    color:#777;

}

.instagram-inline{

display:inline-flex;

align-items:center;

gap:8px;

text-decoration:none;

font-weight:600;

background:
linear-gradient(
45deg,
#f09433,
#e6683c,
#dc2743,
#cc2366,
#bc1888
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;

transition:.3s;

}

.instagram-inline:hover{

transform:translateY(-2px);

}


.success-popup{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:99999;

}

.success-popup.active{

    opacity:1;

    visibility:visible;

}

.success-popup-content{

    background:#fff;

    width:90%;

    max-width:420px;

    padding:35px;

    border-radius:25px;

    text-align:center;

    box-shadow:
    0 25px 60px rgba(0,0,0,.25);

}

.success-popup-content i{

    font-size:60px;

    color:#00c2b8;

    margin-bottom:15px;

}

.success-popup-content h3{

    font-size:28px;

    margin-bottom:12px;

    color:#071726;

}

.success-popup-content p{

    color:#666;

    margin-bottom:25px;

    line-height:1.6;

}

.success-popup-content button{

    background:var(--primary);

    color:#fff;

    border:none;

    padding:12px 24px;

    border-radius:12px;

    cursor:pointer;

    font-weight:600;

    transition:.3s;

}

.success-popup-content button:hover{

    background:var(--primary-dark);

}

.btn-main,
.btn-login,
.btn-cartao,
.btn-plan,
.btn-plan3{
    position:relative;
    overflow:hidden;
}


.btn-main::before,
.btn-login::before,
.btn-cartao::before,
.btn-plan::before,
.btn-plan3::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60px;

    height:100%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
    );

    transform:skewX(-25deg);

    transition:.8s;

}

.btn-main:hover::before,
.btn-login:hover::before,
.btn-cartao:hover::before,
.btn-plan:hover::before,
.btn-plan3:hover::before{

    left:130%;

}

.contact-form button{
    position:relative;
    overflow:hidden;
}

.btn-main::before,
.btn-login::before,
.btn-cartao::before,
.btn-plan::before,
.btn-plan3::before,
.contact-form button::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:60px;
    height:100%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
    );

    transform:skewX(-25deg);

    transition:.8s;

}


.btn-main:hover::before,
.btn-login:hover::before,
.btn-cartao:hover::before,
.btn-plan:hover::before,
.btn-plan3:hover::before,
.contact-form button:hover::before{

    left:130%;

}

.whatsapp::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:40px;
    height:100%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );

    transform:skewX(-25deg);

    transition:.8s;

}

.whatsapp:hover::before{

    left:140%;

}

@keyframes pulseWhatsapp{

    0%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.06);
    }

    100%{
        transform:scale(1);
    }

}

.whatsapp{

    animation:pulseWhatsapp 2.5s infinite;

}

.hero-badge{

    position:relative;

    overflow:hidden;

}

.hero-badge::before{

    content:"";

    position:absolute;

    top:0;

    left:-150%;

    width:60px;

    height:100%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.4),
        transparent
    );

    transform:skewX(-25deg);

    animation:badgeShine 10s infinite;

}

@keyframes badgeShine{

    0%{
        left:-150%;
    }

    40%{
        left:150%;
    }

    100%{
        left:150%;
    }

}

.hero-badge i{

    animation:heartPulse 2s infinite;

}

@keyframes heartPulse{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.15);
    }

}

.plansSwiper .swiper-pagination-bullet{

    width:10px;

    height:10px;

    background:#00c2b8 !important;

    opacity:.35;

    transition:.3s;

}

.plansSwiper .swiper-pagination-bullet-active{

    background:#00c2b8 !important;

    opacity:1;

}



.hero-highlight{

    display:inline-block;

    animation:pulseText 2.5s ease-in-out infinite;

}

@keyframes pulseText{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.03);
    }

}

.logo{

    animation:logoPulse 4s ease-in-out infinite;

    transition:
    transform .3s ease,
    filter .3s ease;

}

@keyframes logoPulse{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.05);
    }

}

.logo-shine{
    position:relative;
    display:inline-block;
    overflow:hidden;
}

.logo-shine::after{
    content:'';
    position:absolute;
    top:-50%;
    left:-120%;
    width:60%;
    height:200%;

    background:
    linear-gradient(
        120deg,
        transparent 0%,
        rgba(255,255,255,0) 20%,
        rgba(255,255,255,.8) 50%,
        rgba(255,255,255,0) 80%,
        transparent 100%
    );

    transform:rotate(30deg);

    animation:shineLogo 10s infinite;
}

@keyframes shineLogo{

    0%{
        left:-120%;
    }

    15%{
        left:130%;
    }

    100%{
        left:130%;
    }

}


/* =====================================================
   MOBILE OTIMIZADO SEGVIDA
===================================================== */

@media(max-width:768px){

    /* HEADER */

    .logo{
        height:70px;
    }

    .header{
        padding:10px 0;
    }

    .menu{
        top:80px;
    }


    #quemsomos,
    #convenios,
    #planos,
    #contato{
        scroll-margin-top:180px;
    }

    /* HERO */

    .hero{
        height:auto;
        min-height:auto;
        padding-top:180px;
        padding-bottom:20px;

        background:
        linear-gradient(
        135deg,
        #ffffff 0%,
        #00b7b7 100%
        );
    }

.hero-content{
    order:1;
    text-align:center;
    margin-top:-50px;
}

    .hero-content h1{
        font-size:30px;
        line-height:1.15;
    }

    .hero-description{
        font-size:17px;
        line-height:1.6;
    }

    .hero-badge{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-buttons{
        justify-content:center;
        align-items:center;
        margin-bottom:10px;
    }

    .hero-grid{
        display:flex;
        flex-direction:column;
        gap:20px;
    }

.hero-right{
    order:-1;
    width:100%;
    padding-top:30px;
    margin-top:0;
    margin-bottom:20px;
}

.hero-content{
    order:1;
    text-align:center;
}



    /* QUEM SOMOS */

    .about-section{
        padding:0px 0;
    }

    .about-text{
        font-size:16px;
        line-height:1.8;
    }

    .legal-warning{
        padding:25px;
        line-height:1.8;
        font-size:14px;
    }

    /* CONVÊNIOS */

    .convenios-section{
        padding:0px 0;
    }

    .cards{
        grid-template-columns:1fr;
        gap:20px;
    }

    .card{
        padding:20px 20px;
    }

    .card h3{
        font-size:20px;
    }

    .card i{
        font-size:38px;
    }

    /* TÍTULOS */

    .section-title h2{
        font-size:34px;
        line-height:1.2;
    }

    .section-title p{
        font-size:17px;
    }

    /* PLANOS */

    .plans-section{
        padding:0px 0;
    }





    .plansSwiper .swiper-slide{
        display:flex;
        justify-content:center;
        align-items:stretch;
    }

    .plan-card{
        width:100%;
        max-width:270px;
        margin:auto;
    }

    .plan-card.featured,
    .plan-card.featured:hover{
        transform:none !important;
    }

    .swiper-button-next,
    .swiper-button-prev{
        display:none !important;
    }

    .swiper-pagination{
        bottom:0 !important;
    }





.plan-card{
    margin:0 auto;
}

    /* CONTATO */

    .contato-section{
        padding:0px 0;
    }

    .contact-grid{
        gap:25px;
    }

    .map-container iframe{
        min-height:220px;
    }

    .contact-form{
        padding:20px 10px;
    }

    .contact-form input,
    .contact-form textarea,
    .contact-form button{
        width:95%;
    }

    .contact-icons{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:8px;
    }

    .contact-icons{
        font-size:0;
    }

    .contact-icons i,
    .contact-icons span,
    .contact-icons a{
        font-size:16px;
    }

}




    /* RODAPÉ */

    .footer-content{
        text-align:center;
        gap:30px;
    }

    .footer-brand img{
        height:60px;
    }

    .footer-contact,
    .footer-links{
        text-align:center;
    }

    .footer-contact .social-instagram{
        justify-content:center;
    }

    /* WHATSAPP */

    .whatsapp{
        width:58px;
        height:58px;
        font-size:28px;
        right:15px;
        bottom:15px;
    }

}

@media(min-width:768px){

.cards{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
}

}



@media(min-width:768px){
    .cards{
        grid-template-columns:repeat(4,1fr) !important;
    }
}

@media(max-width:768px){

    .plansSwiper .swiper-slide{
        width:100% !important;
    }

}

@media(max-width:768px){



    .plansSwiper .swiper-slide{
        display:flex;
        justify-content:center;
        width:100% !important;
    }

    .plan-card{
        width:90%;
        max-width:280px;
        margin:0 auto;
    }

}


