/*=========================================================
                DENTAL SALUD V2
                Style Sheet
=========================================================*/


/*=========================================================
                        GOOGLE FONTS
=========================================================*/

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap');


/*=========================================================
                        VARIABLES
=========================================================*/

:root{

--primary:#00B8E6;

--primary-dark:#0098BE;

--secondary:#34D3F8;

--light:#F5FCFF;

--white:#FFFFFF;

--dark:#163341;

--text:#5C6C75;

--success:#25D366;

--border:#E7F5FA;

--shadow:0 15px 45px rgba(0,0,0,.08);

--shadow-lg:0 25px 60px rgba(0,0,0,.12);

--radius:20px;

--radius-sm:12px;

--transition:.35s ease;

}



/*=========================================================
                        RESET
=========================================================*/

*{

margin:0;

padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

overflow-x:hidden;

}

body{

font-family:'Poppins',sans-serif;

font-size:16px;

color:var(--text);

background:#ffffff;

overflow-x:hidden;

line-height:1.7;

}



/*=========================================================
                        SCROLLBAR
=========================================================*/

::-webkit-scrollbar{

width:12px;

}

::-webkit-scrollbar-track{

background:#edfafd;

}

::-webkit-scrollbar-thumb{

background:linear-gradient(

180deg,

var(--primary),

var(--primary-dark)

);

border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--primary-dark);

}



/*=========================================================
                        LINKS
=========================================================*/

a{

text-decoration:none;

transition:var(--transition);

}

a:hover{

text-decoration:none;

}



/*=========================================================
                    IMAGES
=========================================================*/

img{

max-width:100%;

display:block;

}



/*=========================================================
                    TITLES
=========================================================*/

h1,h2,h3,h4,h5,h6{

font-family:'Outfit',sans-serif;

color:var(--dark);

font-weight:700;

line-height:1.2;

margin-bottom:0;

}

p{

margin-bottom:0;

}



/*=========================================================
                    SECTIONS
=========================================================*/

section{

position:relative;

padding:100px 0;

overflow:hidden;

}



/*=========================================================
                BACKGROUND CIRCLES
=========================================================*/

section::before{

content:"";

position:absolute;

width:320px;

height:320px;

background:rgba(0,184,230,.05);

border-radius:50%;

top:-120px;

right:-100px;

filter:blur(5px);

z-index:-1;

}

section::after{

content:"";

position:absolute;

width:220px;

height:220px;

background:rgba(0,184,230,.04);

left:-80px;

bottom:-80px;

border-radius:50%;

z-index:-1;

}



/*=========================================================
                    CONTAINER
=========================================================*/

.container{

position:relative;

z-index:2;

}



/*=========================================================
                SECTION TITLE
=========================================================*/

.section-badge{

display:inline-block;

padding:10px 22px;

background:rgba(0,184,230,.12);

color:var(--primary);

border-radius:50px;

font-weight:600;

font-size:14px;

margin-bottom:18px;

}

.section-title{

font-size:48px;

font-weight:800;

margin-bottom:20px;

}

.section-description{

max-width:720px;

margin:auto;

font-size:18px;

color:#72818A;

}



/*=========================================================
                    BUTTONS
=========================================================*/

.btn{

border-radius:50px;

padding:14px 32px;

font-weight:600;

transition:.35s;

box-shadow:none;

}

.btn-primary{

background:linear-gradient(

135deg,

var(--primary),

var(--secondary)

);

border:none;

}

.btn-primary:hover{

transform:translateY(-5px);

box-shadow:

0 20px 40px rgba(0,184,230,.35);

}

.btn-success{

background:var(--success);

border:none;

}

.btn-success:hover{

transform:translateY(-5px);

}

.btn-outline-light{

border:2px solid #fff;

}

.btn-outline-light:hover{

background:#fff;

color:var(--primary);

}



/*=========================================================
                GLASS EFFECT
=========================================================*/

.glass-card{

background:rgba(255,255,255,.70);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.45);

border-radius:25px;

box-shadow:var(--shadow);

padding:35px;

transition:.4s;

}

.glass-card:hover{

transform:translateY(-12px);

box-shadow:var(--shadow-lg);

}



/*=========================================================
                FLOAT ANIMATION
=========================================================*/

@keyframes float{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0px);

}

}



/*=========================================================
                FADE UP
=========================================================*/

@keyframes fadeUp{

0%{

opacity:0;

transform:translateY(40px);

}

100%{

opacity:1;

transform:translateY(0);

}

}
/*=========================================================
                        NAVBAR
=========================================================*/

.navbar{

    position:fixed;
    top:0;
    left:0;
    width:100%;
    padding:18px 0;

    /* IMPORTANTE:
       El navbar debe estar por encima
       del contenido de la página */
    z-index:1100;

    transition:.45s ease;

}


.navbar.scrolled{

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(18px);

    box-shadow:0 10px 40px rgba(0,0,0,.08);

    padding:12px 0;

}


.navbar-brand{

    display:flex;
    align-items:center;
    gap:12px;

    font-family:'Outfit',sans-serif;
    font-size:26px;
    font-weight:700;

    color:var(--dark)!important;

}


.navbar-brand img{

    width:55px;
    height:55px;
    object-fit:contain;

    animation:float 5s ease-in-out infinite;

}


.navbar-nav{

    gap:10px;

}


.nav-link{

    position:relative;

    font-weight:600;

    color:var(--dark)!important;

    padding:10px 18px!important;

    transition:.35s;

}


.nav-link::after{

    content:"";

    position:absolute;

    left:50%;
    bottom:0;

    width:0;
    height:3px;

    background:var(--primary);

    border-radius:50px;

    transition:.35s;

    transform:translateX(-50%);

}


.nav-link:hover{

    color:var(--primary)!important;

}


.nav-link:hover::after{

    width:70%;

}


.navbar-toggler{

    border:none;

    box-shadow:none!important;

}


.navbar-toggler i{

    font-size:28px;

    color:var(--primary);

}


/*=========================================================
                MENÚ MÓVIL
=========================================================*/

@media (max-width: 991px){

    .navbar{

        z-index:1100;

    }


    .navbar-collapse{

        position:relative;

        z-index:1101;

        margin-top:12px;

        padding:20px;

        background:#ffffff;

        border-radius:22px;

        box-shadow:0 15px 40px rgba(0,0,0,.12);

    }


    .navbar-nav{

        gap:4px;

    }


    .navbar-nav .nav-link{

        padding:12px 15px!important;

    }

}


/*=========================================================
                        HERO
=========================================================*/

.hero{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

background:

linear-gradient(135deg,#EFFFFF 0%,#F8FCFF 100%);

overflow:hidden;

}

.hero-overlay{

position:absolute;

inset:0;

background:

radial-gradient(circle at top right,
rgba(0,184,230,.18),
transparent 40%),

radial-gradient(circle at bottom left,
rgba(52,211,248,.15),
transparent 45%);

z-index:0;

}



/*=========================================================
                HERO BLOBS
=========================================================*/

.hero::before{

content:"";

position:absolute;

width:650px;

height:650px;

background:

linear-gradient(135deg,
rgba(0,184,230,.18),
rgba(52,211,248,.08));

border-radius:44% 56% 70% 30% / 44% 42% 58% 56%;

top:-220px;

right:-180px;

animation:blobOne 18s linear infinite;

}

.hero::after{

content:"";

position:absolute;

width:500px;

height:500px;

background:

linear-gradient(135deg,
rgba(0,184,230,.12),
rgba(255,255,255,.20));

border-radius:55%;

left:-180px;

bottom:-180px;

animation:blobTwo 20s linear infinite;

}



/*=========================================================
                    HERO TEXT
=========================================================*/

.hero-text{

position:relative;

z-index:2;

animation:fadeUp .9s ease;

}

.hero-text h1{

font-size:72px;

font-weight:800;

line-height:1.08;

margin:25px 0;

color:var(--dark);

}

.hero-text h1 span{

display:block;

color:var(--primary);

}

.hero-text p{

font-size:20px;

max-width:560px;

margin-bottom:40px;

color:#60717D;

line-height:1.9;

}



/*=========================================================
                BADGE
=========================================================*/

.badge-clinic{

display:inline-flex;

align-items:center;

gap:10px;

padding:12px 22px;

background:rgba(0,184,230,.12);

border-radius:50px;

font-weight:600;

color:var(--primary);

backdrop-filter:blur(10px);

}

.badge-clinic i{

font-size:20px;

}



/*=========================================================
                HERO BUTTONS
=========================================================*/

.hero-buttons{

display:flex;

gap:18px;

flex-wrap:wrap;

margin-bottom:45px;

}

.hero-buttons .btn{

padding:16px 38px;

font-size:17px;

}

.hero-buttons .btn i{

margin-right:10px;

}



/*=========================================================
                    HERO INFO
=========================================================*/

.hero-info{

display:flex;

gap:40px;

flex-wrap:wrap;

}

.hero-info div{

display:flex;

align-items:center;

gap:10px;

font-weight:600;

}

.hero-info i{

width:42px;

height:42px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#fff;

color:var(--primary);

box-shadow:0 10px 30px rgba(0,0,0,.08);

}



/*=========================================================
                HERO IMAGE
=========================================================*/

/*=========================================================*
 * HERO IMAGE
 *=========================================================*/
.hero-image {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.floating-logo {
    width: 400px !important;
    height: auto !important;
    max-width: none !important;
    animation: float 5s ease-in-out infinite;
    filter: drop-shadow(0 35px 60px rgba(0,184,230,.28));
    position: relative;
    z-index: 3;
}



/*=========================================================
                DECORATIVE CIRCLES
=========================================================*/

.circle-one{

position:absolute;

width:420px;

height:420px;

border-radius:50%;

background:

linear-gradient(
135deg,
rgba(0,184,230,.12),
rgba(52,211,248,.02));

animation:rotateSlow 30s linear infinite;

}

.circle-two{

position:absolute;

width:300px;

height:300px;

border:2px dashed rgba(0,184,230,.22);

border-radius:50%;

animation:rotateReverse 25s linear infinite;

}



/*=========================================================
                    WAVE
=========================================================*/

.wave{

position:absolute;

bottom:-5px;

left:0;

width:100%;

line-height:0;

z-index:3;

}

.wave svg{

width:100%;

height:120px;

display:block;

}



/*=========================================================
                ANIMATIONS
=========================================================*/

@keyframes rotateSlow{

from{

transform:rotate(0deg);

}

to{

transform:rotate(360deg);

}

}

@keyframes rotateReverse{

from{

transform:rotate(360deg);

}

to{

transform:rotate(0deg);

}

}

@keyframes blobOne{

0%{

transform:rotate(0deg);

}

100%{

transform:rotate(360deg);

}

}

@keyframes blobTwo{

0%{

transform:rotate(360deg);

}

100%{

transform:rotate(0deg);

}

}
/*=========================================================
                    WELCOME SECTION
=========================================================*/

.welcome-section{

background:#fff;
padding:120px 0;

}

.welcome-section .section-title{

margin-bottom:20px;

}

.welcome-section .section-description{

margin-bottom:20px;

}


/*=========================================================
                    GLASS CARD
=========================================================*/

.glass-card{

position:relative;

height:100%;

padding:45px 35px;

border-radius:28px;

background:rgba(255,255,255,.85);

backdrop-filter:blur(20px);

border:1px solid rgba(255,255,255,.8);

box-shadow:
0 20px 50px rgba(0,0,0,.07);

overflow:hidden;

transition:.45s ease;

}

.glass-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:6px;

background:linear-gradient(
90deg,
var(--primary),
var(--secondary)
);

}

.glass-card:hover{

transform:translateY(-15px);

box-shadow:

0 35px 70px rgba(0,184,230,.18);

}

.glass-card:hover .card-icon{

transform:rotate(-8deg) scale(1.1);

}



/*=========================================================
                    CARD ICON
=========================================================*/

.card-icon{

width:90px;

height:90px;

margin-bottom:25px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:36px;

background:linear-gradient(

135deg,

var(--primary),

var(--secondary)

);

color:#fff;

transition:.4s;

box-shadow:

0 20px 40px rgba(0,184,230,.25);

}



/*=========================================================
                    CARD TITLE
=========================================================*/

.glass-card h4{

font-size:28px;

margin-bottom:25px;

font-weight:700;

color:var(--dark);

}



/*=========================================================
                    HORARIOS
=========================================================*/

.schedule{

list-style:none;

padding:0;

margin:0;

}

.schedule li{

display:flex;

justify-content:space-between;

align-items:center;

padding:15px 0;

border-bottom:1px solid rgba(0,0,0,.06);

font-size:15px;

}

.schedule li:last-child{

border:none;

}

.schedule strong{

color:var(--dark);

font-weight:600;

}

.schedule span{

color:#6c7c84;

}



/*=========================================================
                    CONTACT CARD
=========================================================*/

.contact-card{

background:

linear-gradient(

145deg,

#00B8E6,

#35D3F8

);

color:#fff;

}

.contact-card h4{

color:#fff;

}

.contact-card p{

margin-bottom:25px;

color:#fff;

opacity:.95;

}

.contact-card .btn{

font-weight:600;

}

.contact-card .btn-success{

background:#25D366;

}

.contact-card .btn-primary{

background:#fff;

color:var(--primary);

}



/*=========================================================
                STATS
=========================================================*/

.stat-card{

position:relative;

padding:35px;

border-radius:25px;

background:#fff;

text-align:center;

overflow:hidden;

transition:.4s;

box-shadow:

0 15px 40px rgba(0,0,0,.05);

}

.stat-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:5px;

background:linear-gradient(

90deg,

var(--primary),

var(--secondary)

);

}

.stat-card:hover{

transform:translateY(-12px);

box-shadow:

0 30px 60px rgba(0,184,230,.18);

}

.stat-card h3{

font-size:48px;

font-weight:800;

margin-bottom:12px;

background:linear-gradient(

135deg,

var(--primary),

var(--secondary)

);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.stat-card p{

font-size:16px;

font-weight:500;

color:#66757F;

}



/*=========================================================
                    SERVICES
=========================================================*/

.services-section{

background:

linear-gradient(

180deg,

#F7FCFE,

#FFFFFF

);

}

.service-card{

position:relative;

padding:45px 35px;

height:100%;

background:#fff;

border-radius:28px;

overflow:hidden;

transition:.45s;

box-shadow:

0 20px 45px rgba(0,0,0,.06);

}

.service-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:6px;

background:linear-gradient(

90deg,

var(--primary),

var(--secondary)

);

transform:scaleX(0);

transition:.4s;

transform-origin:left;

}

.service-card:hover::before{

transform:scaleX(1);

}

.service-card:hover{

transform:translateY(-15px);

box-shadow:

0 35px 70px rgba(0,184,230,.16);

}

.service-card:hover .service-icon{

transform:rotate(-8deg) scale(1.12);

}





/*=========================================================
                SERVICE ICON
=========================================================*/

.service-icon{

width:85px;

height:85px;

border-radius:22px;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

background:linear-gradient(

135deg,

var(--primary),

var(--secondary)

);

color:#fff;

margin-bottom:28px;

transition:.4s;

box-shadow:

0 18px 35px rgba(0,184,230,.25);

}

.service-card h4{

font-size:28px;

margin-bottom:20px;

}

.service-card p{

margin-bottom:30px;

color:#6F7D86;

line-height:1.9;

}

.service-link{

display:inline-flex;

align-items:center;

gap:10px;

font-weight:600;

color:var(--primary);

}

.service-link:hover{

gap:18px;

color:var(--primary-dark);

}



/*=========================================================
                    CTA
=========================================================*/

.cta-section{

padding:100px 0;

background:#fff;

}

.cta-box{

padding:70px;

border-radius:35px;

background:

linear-gradient(

135deg,

var(--primary),

var(--secondary)

);

color:#fff;

box-shadow:

0 40px 80px rgba(0,184,230,.25);

}

.cta-box h2{

font-size:48px;

color:#fff;

margin-bottom:15px;

}

.cta-box p{

font-size:18px;

opacity:.95;

margin-bottom:0;

}

.cta-box .btn{

background:#fff;

color:var(--primary);

font-weight:700;

padding:18px 38px;

transition:.35s;

}

.cta-box .btn:hover{

transform:translateY(-6px);

}
/*=========================================================
                    ABOUT SECTION
=========================================================*/

.about-section{

background:
linear-gradient(
180deg,
#ffffff,
#F8FCFF
);

position:relative;

overflow:hidden;

}

.about-section::before{

content:"";

position:absolute;

width:500px;
height:500px;

right:-200px;
top:-180px;

background:
radial-gradient(circle,
rgba(0,184,230,.12),
transparent 70%);

border-radius:50%;

pointer-events:none;

}



/*=========================================================
                    ABOUT IMAGE
=========================================================*/

.about-image{

position:relative;

display:flex;

justify-content:center;

align-items:center;

}

.about-image img{

border-radius:35px;

box-shadow:
0 40px 80px rgba(0,0,0,.12);

transition:.5s;

}

.about-image:hover img{

transform:scale(1.02);

}



/*=========================================================
                EXPERIENCE CARD
=========================================================*/

.experience-card{

position:absolute;

left:-25px;

bottom:35px;

padding:22px 30px;

background:#fff;

border-radius:22px;

box-shadow:
0 25px 55px rgba(0,0,0,.12);

animation:float 5s ease infinite;

}

.experience-card h2{

font-size:48px;

font-weight:800;

margin-bottom:4px;

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

}

.experience-card span{

font-size:15px;

font-weight:600;

color:#6D7C86;

}



/*=========================================================
                FLOATING BADGE
=========================================================*/

.floating-badge{

position:absolute;

right:-15px;

top:50px;

display:flex;

align-items:center;

gap:14px;

padding:18px 28px;

background:#fff;

border-radius:60px;

box-shadow:
0 20px 50px rgba(0,0,0,.10);

animation:float 4s ease infinite;

}

.floating-badge i{

font-size:26px;

color:var(--primary);

}

.floating-badge span{

font-weight:600;

color:var(--dark);

}



/*=========================================================
                FEATURE BOX
=========================================================*/

.feature-box{

display:flex;

align-items:flex-start;

gap:18px;

padding:25px;

border-radius:24px;

background:#fff;

box-shadow:
0 15px 40px rgba(0,0,0,.06);

transition:.4s;

height:100%;

position:relative;

overflow:hidden;

}

.feature-box::before{

content:"";

position:absolute;

left:0;

top:0;

width:5px;

height:100%;

background:
linear-gradient(
180deg,
var(--primary),
var(--secondary)
);

}

.feature-box:hover{

transform:translateY(-10px);

box-shadow:
0 30px 60px rgba(0,184,230,.16);

}

.feature-icon{

width:70px;

height:70px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:#fff;

font-size:28px;

flex-shrink:0;

box-shadow:
0 15px 35px rgba(0,184,230,.25);

transition:.4s;

}

.feature-box:hover .feature-icon{

transform:rotate(-8deg) scale(1.1);

}

.feature-box h5{

font-size:22px;

margin-bottom:10px;

}

.feature-box p{

color:#6F7D86;

line-height:1.8;

}



/*=========================================================
                VALUES SECTION
=========================================================*/

.values-section{

background:#fff;

padding:110px 0;

}

.value-card{

padding:45px 30px;

border-radius:28px;

background:#fff;

box-shadow:
0 20px 45px rgba(0,0,0,.06);

transition:.4s;

height:100%;

position:relative;

overflow:hidden;

}

.value-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:6px;

background:
linear-gradient(
90deg,
var(--primary),
var(--secondary)
);

transform:scaleX(0);

transition:.4s;

transform-origin:left;

}

.value-card:hover::before{

transform:scaleX(1);

}

.value-card:hover{

transform:translateY(-12px);

box-shadow:
0 35px 70px rgba(0,184,230,.18);

}

.value-card i{

font-size:48px;

margin-bottom:25px;

color:var(--primary);

}

.value-card h4{

margin-bottom:18px;

font-size:28px;

}

.value-card p{

color:#70808A;

line-height:1.8;

}



/*=========================================================
                APPOINTMENT BANNER
=========================================================*/

.appointment-banner{

padding:110px 0;

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

position:relative;

overflow:hidden;

}

.appointment-banner::before{

content:"";

position:absolute;

width:650px;

height:650px;

background:
rgba(255,255,255,.08);

border-radius:50%;

right:-250px;

top:-250px;

}

.banner-content{

display:flex;

justify-content:space-between;

align-items:center;

gap:40px;

flex-wrap:wrap;

position:relative;

z-index:2;

}

.banner-content h2{

font-size:52px;

color:#fff;

margin-bottom:18px;

}

.banner-content p{

font-size:20px;

color:rgba(255,255,255,.92);

max-width:650px;

}

.banner-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}

.banner-buttons .btn{

padding:18px 38px;

font-weight:700;

transition:.35s;

}

.banner-buttons .btn-light{

color:var(--primary);

}

.banner-buttons .btn:hover{

transform:translateY(-6px);

box-shadow:
0 20px 45px rgba(0,0,0,.18);

}
/*=========================================================
                    PROCESS SECTION
=========================================================*/

.process-section{

    background:linear-gradient(180deg,#F8FCFF,#FFFFFF);
    position:relative;
    overflow:hidden;

}

.process-section::before{

    content:"";

    position:absolute;

    width:650px;
    height:650px;

    background:radial-gradient(circle,
        rgba(0,184,230,.08),
        transparent 70%);

    top:-250px;
    left:-250px;

    border-radius:50%;

}

.process-card{

    position:relative;

    background:#fff;

    border-radius:30px;

    padding:45px 30px;

    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.06);

    transition:.4s;

    height:100%;

    overflow:hidden;

}

.process-card:hover{

    transform:translateY(-15px);

    box-shadow:0 35px 70px rgba(0,184,230,.18);

}

.process-number{

    position:absolute;

    top:18px;
    right:25px;

    font-size:70px;

    font-weight:800;

    color:rgba(0,184,230,.08);

    line-height:1;

}

.process-icon{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:#fff;

    box-shadow:0 20px 40px rgba(0,184,230,.25);

    transition:.4s;

}

.process-card:hover .process-icon{

    transform:rotate(-10deg) scale(1.1);

}

.process-card h4{

    margin-bottom:15px;

    font-size:26px;

}

.process-card p{

    color:#6F7D86;

    line-height:1.8;

}


/*=========================================================
                    BRANCHES
=========================================================*/

.branches-section{

    background:#fff;

}

.branch-card{

    position:relative;

    padding:45px;

    border-radius:30px;

    background:#fff;

    box-shadow:0 20px 50px rgba(0,0,0,.06);

    overflow:hidden;

    transition:.4s;

    height:100%;

}

.branch-card::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    border-radius:50%;

    background:rgba(0,184,230,.05);

    top:-60px;

    right:-60px;

}

.branch-card:hover{

    transform:translateY(-12px);

    box-shadow:0 35px 70px rgba(0,184,230,.18);

}

.branch-header{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:25px;

}

.branch-header i{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:#fff;

    font-size:28px;

}

.branch-header h3{

    font-size:30px;

    margin:0;

}

.branch-card p{

    margin-bottom:25px;

    color:#6E7D86;

}

.branch-card ul{

    list-style:none;

    padding:0;

    margin:0 0 30px;

}

.branch-card ul li{

    display:flex;

    align-items:center;

    gap:14px;

    padding:12px 0;

    color:#667680;

}

.branch-card ul li i{

    color:var(--primary);

    width:22px;

    text-align:center;

}


/*=========================================================
                    MAP
=========================================================*/

.map-section{

    padding:110px 0;

    background:linear-gradient(
        180deg,
        #F8FCFF,
        #FFFFFF
    );

}

.map-card{

    overflow:hidden;

    border-radius:35px;

    box-shadow:0 30px 70px rgba(0,0,0,.10);

}

.map-card iframe{

    width:100%;

    height:550px;

    border:none;

    display:block;

}


/*=========================================================
                    HOVER SHINE
=========================================================*/

.branch-card::after,
.process-card::after{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transform:skewX(-25deg);

}

.branch-card:hover::after,
.process-card:hover::after{

    animation:shine 1s;

}

@keyframes shine{

    100%{

        left:150%;

    }

}
/*=========================================================
                    CONTACT FINAL
=========================================================*/

.contact-final{

    position:relative;

    padding:120px 0;

    background:linear-gradient(
        180deg,
        #ffffff,
        #F4FBFE
    );

}

.contact-buttons{

    display:flex;

    gap:20px;

    margin-top:40px;

    flex-wrap:wrap;

}

.footer-logo{

    width:320px;

    margin:auto;

    animation:float 5s ease-in-out infinite;

    filter:drop-shadow(0 30px 50px rgba(0,184,230,.25));

}



/*=========================================================
                        FOOTER
=========================================================*/

footer{

    position:relative;

    background:#0F2530;

    color:#fff;

    padding:90px 0 35px;

    overflow:hidden;

}

footer::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    border-radius:50%;

    background:rgba(255,255,255,.03);

    top:-350px;

    right:-250px;

}

.footer-brand{

    width:400px;

    margin-bottom:25px;

}

footer p{

    color:rgba(255,255,255,.75);

    line-height:1.9;

}

footer h4{

    color:#fff;

    margin-bottom:30px;

    font-size:24px;

}

.footer-links{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-links li{

    margin-bottom:15px;

}

.footer-links a{

    color:rgba(255,255,255,.75);

    transition:.3s;

}

.footer-links a:hover{

    color:#fff;

    padding-left:10px;

}

.footer-contact{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-contact li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:18px;

    color:rgba(255,255,255,.80);

}

.footer-contact i{

    color:var(--secondary);

    width:22px;

    text-align:center;

}



/*=========================================================
                    SOCIAL LINKS
=========================================================*/

.social-links{

    display:flex;

    gap:15px;

    margin-top:30px;

}

.social-links a{

    width:52px;

    height:52px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.08);

    color:#fff;

    transition:.35s;

}

.social-links a:hover{

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    transform:translateY(-6px);

}



/*=========================================================
                    COPYRIGHT
=========================================================*/

footer hr{

    border-color:rgba(255,255,255,.10);

    margin:60px 0 30px;

}

.copyright{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

    color:rgba(255,255,255,.60);

    font-size:15px;

}

.copyright i{

    color:#FF5A7A;

}



/*=========================================================
                WHATSAPP FLOAT
=========================================================*/

.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    width:68px;

    height:68px;

    border-radius:50%;

    background:#25D366;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    z-index:999;

    box-shadow:0 20px 45px rgba(37,211,102,.35);

    animation:whatsappPulse 2.5s infinite;

    transition:.3s;

}

.whatsapp-float:hover{

    transform:scale(1.12);

    color:#fff;

}



/*=========================================================
                SCROLL TOP
=========================================================*/

#scrollTop{

    position:fixed;

    right:25px;

    bottom:110px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:#fff;

    font-size:22px;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

    box-shadow:0 15px 35px rgba(0,184,230,.25);

}

#scrollTop.show{

    opacity:1;

    visibility:visible;

}

#scrollTop:hover{

    transform:translateY(-6px);

}



/*=========================================================
                PULSE
=========================================================*/

@keyframes whatsappPulse{

    0%{

        box-shadow:

        0 0 0 0 rgba(37,211,102,.55);

    }

    70%{

        box-shadow:

        0 0 0 22px rgba(37,211,102,0);

    }

    100%{

        box-shadow:

        0 0 0 0 rgba(37,211,102,0);

    }

}



/*=========================================================
                SCROLL ANIMATION
=========================================================*/

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:1s;

}

.fade-up.active{

    opacity:1;

    transform:none;

}



/*=========================================================
                RESPONSIVE
=========================================================*/

@media(max-width:1200px){

.hero-text h1{

font-size:58px;

}

.section-title{

font-size:40px;

}

.banner-content{

text-align:center;

justify-content:center;

}

}


@media(max-width:991px){

section{

padding:80px 0;

}

.hero{

padding-top:120px;

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.hero-info{

justify-content:center;

}

.hero-image{

margin-top:60px;

}

.floating-logo{

width:320px;

}

.about-image{

margin-bottom:50px;

}

.banner-buttons{

justify-content:center;

}

.copyright{

justify-content:center;

text-align:center;

}

.footer-logo{

width:240px;

}

}


@media(max-width:768px){

.section-title{

font-size:34px;

}

.hero-text h1{

font-size:44px;

}

.hero-text p{

font-size:17px;

}

.cta-box{

padding:45px;

}

.banner-content h2{

font-size:36px;

}

.branch-card{

padding:30px;

}

.process-card{

padding:35px 25px;

}

}


@media(max-width:576px){

.navbar-brand img{

width:45px;

}

.hero{

min-height:auto;

padding-top:130px;

padding-bottom:70px;

}

.hero-text h1{

font-size:36px;

}

.hero-buttons .btn{

width:100%;

}

.contact-buttons{

flex-direction:column;

}

.whatsapp-float{

width:60px;

height:60px;

font-size:30px;

}

#scrollTop{

width:48px;

height:48px;

}

.footer-logo{

width:180px;

}

}

