*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{
background:#f4f8fc;
color:#222;
line-height:1.7;
overflow-x:hidden;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
}

section{
padding:90px 8%;
}

.container{
max-width:1300px;
margin:auto;
}

/* HEADER */

header{

position:fixed;

top:0;

left:0;

width:100%;

background:#0b4f9c;

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 8%;

z-index:999;

box-shadow:0 8px 25px rgba(0,0,0,.15);

}

.logo h2{

color:white;

font-size:34px;

font-weight:800;

letter-spacing:2px;

}

nav{

display:flex;

gap:30px;

align-items:center;

}

nav a{

color:white;

font-size:17px;

font-weight:600;

transition:.3s;

}

nav a:hover{

color:#66d2ff;

}

/* HERO */

.hero{

height:100vh;

background:

linear-gradient(rgba(2,35,78,.70),rgba(2,35,78,.70)),

url("images/hero.jpeg");

background-size:cover;

background-position:center;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

padding:0 8%;

}

.hero-content{

max-width:900px;

}

.hero h1{

font-size:65px;

color:white;

font-weight:800;

margin-bottom:20px;

}

.hero p{

color:white;

font-size:24px;

margin-bottom:35px;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.btn-blue{

background:#008cff;

color:white;

padding:16px 38px;

border-radius:50px;

font-weight:bold;

transition:.3s;

}

.btn-blue:hover{

background:#006fd8;

transform:translateY(-4px);

}

.btn-white{

background:white;

color:#0b4f9c;

padding:16px 38px;

border-radius:50px;

font-weight:bold;

transition:.3s;

}

.btn-white:hover{

transform:translateY(-4px);

}

.btn-green{

background:#25D366;

color:white;

padding:16px 38px;

border-radius:50px;

font-weight:bold;

transition:.3s;

}

.btn-green:hover{

transform:translateY(-4px);

}

/* TITLES */

section h2{

text-align:center;

font-size:42px;

color:#0b4f9c;

margin-bottom:60px;

position:relative;

}

section h2::after{

content:"";

width:90px;

height:4px;

background:#00b8ff;

display:block;

margin:15px auto;

border-radius:20px;

}

/* ABOUT */

#about p{

max-width:900px;

margin:auto;

text-align:center;

font-size:20px;

}

/* SERVICES */

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.card{

background:white;

padding:40px;

border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.35s;

}

.card:hover{

transform:translateY(-10px);

box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.card h3{

color:#0b4f9c;

margin-bottom:15px;

}

/* WHY */

.why-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.why-card{

background:white;

padding:35px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.3s;

}

.why-card:hover{

transform:translateY(-8px);

}

/* STATS */

.stats{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

text-align:center;

}

.stat{

background:#0b4f9c;

padding:45px;

border-radius:20px;

color:white;

box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.stat h2{

font-size:55px;

margin-bottom:10px;

color:#fff;

}

.stat p{

font-size:18px;

}

/* GALLERY */

.gallery{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:20px;

}

.gallery img{

width:100%;

height:260px;

object-fit:cover;

border-radius:18px;

transition:.4s;

cursor:pointer;

box-shadow:0 10px 25px rgba(0,0,0,.12);

}

.gallery img:hover{

transform:scale(1.05);

}

/* REVIEWS */

.reviews{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.review{

background:white;

padding:35px;

border-radius:18px;

box-shadow:0 12px 30px rgba(0,0,0,.10);

transition:.3s;

}

.review:hover{

transform:translateY(-8px);

}

.review strong{

display:block;

margin-top:20px;

color:#0b4f9c;

}

/* FAQ */

.faq-item{

background:white;

padding:30px;

margin-bottom:20px;

border-radius:18px;

box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.faq-item h3{

color:#0b4f9c;

margin-bottom:10px;

}

/* CONTACT */

form{

max-width:800px;

margin:auto;

display:flex;

flex-direction:column;

gap:20px;

}

input,

textarea{

padding:18px;

border-radius:12px;

border:1px solid #d7d7d7;

font-size:16px;

outline:none;

}

textarea{

height:180px;

resize:none;

}

button{

background:#0b4f9c;

color:white;

border:none;

padding:18px;

font-size:18px;

font-weight:bold;

border-radius:50px;

cursor:pointer;

transition:.3s;

}

button:hover{

background:#0078d7;

}

/* MAP */

#map iframe{

border-radius:20px;

box-shadow:0 12px 30px rgba(0,0,0,.15);

}

/* FOOTER */

footer{

background:#03264f;

color:white;

padding:70px 8% 30px;

}

.footer-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:40px;

}

.footer-box h3{

margin-bottom:20px;

font-size:24px;

}

.footer-box p{

margin-bottom:12px;

}

.footer-box a{

display:block;

margin-bottom:12px;

color:white;

transition:.3s;

}

.footer-box a:hover{

color:#66d2ff;

padding-left:8px;

}

.social-icons{

margin-top:20px;

display:flex;

gap:15px;

}

.social-icons a{

background:#0b4f9c;

padding:12px 20px;

border-radius:30px;

}

.copyright{

text-align:center;

margin-top:50px;

padding-top:20px;

border-top:1px solid rgba(255,255,255,.2);

}

/* FLOATING BUTTONS */

.whatsapp-float{

position:fixed;

bottom:25px;

right:25px;

width:65px;

height:65px;

border-radius:50%;

background:#25D366;

display:flex;

justify-content:center;

align-items:center;

box-shadow:0 10px 25px rgba(0,0,0,.25);

z-index:999;

transition:.3s;

}

.whatsapp-float img{

width:38px;

}

.whatsapp-float:hover{

transform:scale(1.12);

}

.call-float{

position:fixed;

bottom:105px;

right:25px;

width:65px;

height:65px;

border-radius:50%;

background:#0b4f9c;

display:flex;

justify-content:center;

align-items:center;

font-size:28px;

color:white;

box-shadow:0 10px 25px rgba(0,0,0,.25);

z-index:999;

transition:.3s;

}

.call-float:hover{

transform:scale(1.12);

}

/* RESPONSIVE */

@media(max-width:900px){

header{

flex-direction:column;

padding:20px;

}

nav{

flex-wrap:wrap;

justify-content:center;

gap:15px;

margin-top:15px;

}

.hero h1{

font-size:42px;

}

.hero p{

font-size:20px;

}

.hero-buttons{

flex-direction:column;

align-items:center;

}

section{

padding:70px 6%;

}

.logo h2{

font-size:28px;

}

.hidden{

opacity:0;

transform:translateY(60px);

transition:1s;

}

.show{

opacity:1;

transform:translateY(0);

}

.contact-text{

text-align:center;

max-width:700px;

margin:0 auto 35px;

font-size:18px;

color:#555;

}

form select{

padding:18px;

border:1px solid #ddd;

border-radius:12px;

font-size:16px;

outline:none;

background:white;

}
