
/* ========================= */
/* ROOT */
/* ========================= */

:root{

--primary:#2563eb;
--primary2:#3b82f6;
--secondary:#64748b;

--dark:#0f172a;
--dark2:#1e293b;

--light:#f8fafc;
--white:#ffffff;

--success:#22c55e;

--shadow:
0 10px 35px rgba(0,0,0,.08);

--radius:24px;

}

/* ========================= */
/* RESET */
/* ========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;

background:var(--light);

color:#334155;

line-height:1.7;

overflow-x:hidden;

}

a{
text-decoration:none;
}

ul{
list-style:none;
}

img{
max-width:100%;
display:block;
}

.container{

width:90%;
max-width:1200px;

margin:auto;

}

/* ========================= */
/* SECTION */
/* ========================= */

section{
padding:100px 0;
}

.section-header{

text-align:center;

max-width:700px;

margin:auto auto 60px;

}

.section-header span{

display:inline-block;

padding:8px 18px;

border-radius:50px;

background:#dbeafe;

color:var(--primary);

font-size:14px;

font-weight:600;

margin-bottom:15px;

}

.section-header h2{

font-size:42px;

color:var(--dark);

line-height:1.2;

margin-bottom:15px;

}

.section-header p{

color:#64748b;

font-size:16px;

}

.light h2,
.light p{
color:white;
}

/* ========================= */
/* HEADER */
/* ========================= */

#header{

position:fixed;
top:0;
left:0;

width:100%;

z-index:9999;

background:#0f172a;

border-bottom:
1px solid rgba(255,255,255,.08);

box-shadow:
0 5px 25px rgba(0,0,0,.15);

}

#header.scrolled{

background:
rgba(15,23,42,.96);

backdrop-filter:blur(15px);

box-shadow:
0 10px 30px rgba(0,0,0,.15);

}

.navbar{

display:flex;

justify-content:space-between;

align-items:center;

height:85px;

}

.logo{

font-size:30px;

font-weight:800;

color:white;

}

.logo span{

color:#60a5fa;

}

.nav-menu{

display:flex;

gap:35px;

}

.nav-menu a{

color:white;

font-weight:500;

transition:.3s;

}

.nav-menu a:hover{

color:#60a5fa;

}

.btn-nav{

padding:12px 24px;

background:var(--primary);

border-radius:50px;

color:white;

font-weight:600;

transition:.3s;

}

.btn-nav:hover{

transform:translateY(-3px);

background:#1d4ed8;

}

.menu-toggle{

display:none;

font-size:28px;

cursor:pointer;

color:white;

}

/* ========================= */
/* HERO */
/* ========================= */

.hero{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

overflow:hidden;

background:
linear-gradient(
135deg,
#0f172a,
#1e3a8a,
#2563eb
);

}

.hero-bg{

position:absolute;

inset:0;

overflow:hidden;

}

.hero-bg::before{

content:"";

position:absolute;

width:700px;

height:700px;

right:-200px;

top:-150px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(255,255,255,.12),
transparent 70%
);

animation:float 10s ease-in-out infinite;

}

.hero-bg::after{

content:"";

position:absolute;

width:600px;

height:600px;

left:-150px;

bottom:-200px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(255,255,255,.08),
transparent 70%
);

animation:float2 12s ease-in-out infinite;

}

@keyframes float{

50%{
transform:
translateY(40px)
translateX(-20px);
}

}

@keyframes float2{

50%{
transform:
translateY(-40px)
translateX(20px);
}

}

.hero-wrapper{

position:relative;

z-index:2;

display:grid;

grid-template-columns:
1.2fr .8fr;

gap:60px;

align-items:center;

}

.hero-badge{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 18px;

border-radius:50px;

background:
rgba(255,255,255,.12);

backdrop-filter:blur(10px);

color:white;

margin-bottom:25px;

}

.hero-content h1{

font-size:64px;

font-weight:800;

line-height:1.15;

color:white;

margin-bottom:20px;

}

.hero-content p{

font-size:18px;

color:
rgba(255,255,255,.85);

margin-bottom:35px;

max-width:650px;

}

.hero-buttons{

display:flex;

gap:15px;

margin-bottom:50px;

flex-wrap:wrap;

}

.btn-primary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 32px;

border-radius:50px;

background:var(--primary);

color:white;

font-weight:600;

transition:.3s;

}

.btn-primary:hover{

transform:translateY(-4px);

background:#1d4ed8;

}

.btn-secondary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 32px;

border-radius:50px;

border:2px solid white;

color:white;

font-weight:600;

transition:.3s;

}

.btn-secondary:hover{

background:white;

color:var(--dark);

}

.hero-stats{

display:flex;

gap:40px;

flex-wrap:wrap;

}

.hero-stat h3{

font-size:32px;

color:white;

margin-bottom:5px;

}

.hero-stat span{

color:
rgba(255,255,255,.75);

}

/* ========================= */
/* GLASS CARD */
/* ========================= */

.hero-image{

display:flex;

flex-direction:column;

gap:20px;

}

.glass-card{

padding:30px;

border-radius:24px;

background:
rgba(255,255,255,.12);

backdrop-filter:blur(15px);

border:
1px solid rgba(255,255,255,.15);

color:white;

transition:.4s;

}

.glass-card:hover{

transform:
translateY(-8px);

}

.glass-card i{

font-size:35px;

margin-bottom:15px;

color:#93c5fd;

}

.glass-card h3{

margin-bottom:10px;

}

/* ========================= */
/* ABOUT */
/* ========================= */

.about{

background:white;

}

.about-grid{

display:grid;

grid-template-columns:
1fr 1fr;

gap:60px;

align-items:center;

}

.about-card{

padding:50px;

border-radius:30px;

background:
linear-gradient(
135deg,
#2563eb,
#1e40af
);

color:white;

box-shadow:var(--shadow);

}

.about-card i{

font-size:60px;

margin-bottom:20px;

}

.about-content h3{

font-size:36px;

color:var(--dark);

margin-bottom:20px;

}

.about-content p{

margin-bottom:20px;

}

.about-list{

display:grid;

grid-template-columns:
1fr 1fr;

gap:15px;

margin-top:25px;

}

.about-list div{

display:flex;

align-items:center;

gap:10px;

font-weight:600;

}

.about-list i{

color:#22c55e;

}

/* ========================= */
/* FEATURES */
/* ========================= */

.features{

background:#f1f5f9;

}

.feature-grid{

display:grid;

grid-template-columns:
repeat(4,1fr);

gap:25px;

}

.feature-box{

background:white;

padding:35px;

border-radius:24px;

text-align:center;

transition:.4s;

box-shadow:var(--shadow);

}

.feature-box:hover{

transform:
translateY(-10px);

}

.feature-box i{

font-size:40px;

color:var(--primary);

margin-bottom:20px;

}

.feature-box h3{

margin-bottom:12px;

color:var(--dark);

}

/* ========================= */
/* PACKAGE */
/* ========================= */

.packages{

background:white;

}

.package-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

}

.package-card{

position:relative;

background:white;

padding:40px;

border-radius:30px;

box-shadow:var(--shadow);

transition:.4s;

}

.package-card:hover{

transform:
translateY(-10px);

}

.package-card h3{

font-size:28px;

color:var(--dark);

margin-bottom:15px;

}

.speed{

font-size:52px;

font-weight:800;

color:var(--primary);

line-height:1;

margin-bottom:20px;

}

.price{

font-size:36px;

font-weight:700;

color:var(--dark);

margin-bottom:25px;

}

.price span{

font-size:16px;

color:#64748b;

}

.package-card ul li{

padding:12px 0;

border-bottom:
1px solid #e2e8f0;

}

.package-card ul i{

color:#22c55e;

margin-right:8px;

}

.btn-package{

display:block;

margin-top:30px;

text-align:center;

padding:15px;

border-radius:50px;

background:var(--primary);

color:white;

font-weight:600;

}

.featured{

border:
3px solid var(--primary);

transform:scale(1.05);

}

.popular{

position:absolute;

top:-15px;

left:50%;

transform:translateX(-50%);

background:var(--primary);

color:white;

padding:8px 18px;

border-radius:50px;

font-size:12px;

font-weight:700;

letter-spacing:1px;

}

/* ========================= */
/* COVERAGE */
/* ========================= */

.coverage{

background:
linear-gradient(
180deg,
#f8fafc,
#eef4ff
);

}

.coverage-wrapper{

display:grid;

grid-template-columns:
1.2fr .8fr;

gap:40px;

align-items:center;

}

.coverage-map{

min-height:400px;

border-radius:30px;

overflow:hidden;

background:
linear-gradient(
135deg,
#0f172a,
#1e3a8a,
#2563eb
);

position:relative;

box-shadow:var(--shadow);

}

.coverage-map::before{

content:"";

position:absolute;

width:500px;
height:500px;

right:-120px;
top:-120px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(255,255,255,.15),
transparent 70%
);

}

.map-card{

position:absolute;

left:50%;
top:50%;

transform:
translate(-50%,-50%);

text-align:center;

color:white;

width:80%;

}

.map-card i{

font-size:60px;

margin-bottom:20px;

color:#93c5fd;

}

.map-card h3{

font-size:28px;

margin-bottom:10px;

}

.coverage-list{

display:grid;

grid-template-columns:
repeat(2,1fr);

gap:15px;

}

.coverage-item{

padding:18px;

border-radius:16px;

background:white;

text-align:center;

font-weight:600;

box-shadow:var(--shadow);

transition:.3s;

}

.coverage-item:hover{

transform:
translateY(-5px);

background:var(--primary);

color:white;

}

/* ========================= */
/* VOUCHER */
/* ========================= */

.voucher{

background:white;

}

.voucher-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

}

.voucher-card{

padding:40px;

text-align:center;

border-radius:30px;

background:
linear-gradient(
135deg,
#f8fafc,
#eef4ff
);

box-shadow:var(--shadow);

transition:.4s;

}

.voucher-card:hover{

transform:
translateY(-10px);

}

.voucher-card h3{

font-size:26px;

margin-bottom:20px;

color:var(--dark);

}

.voucher-price{

font-size:54px;

font-weight:800;

color:var(--primary);

line-height:1;

margin-bottom:15px;

}

.voucher-card p{

color:#64748b;

}

/* ========================= */
/* SERVICES */
/* ========================= */

.services{

background:#f8fafc;

}

.service-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

}

.service-card{

padding:35px;

background:white;

border-radius:28px;

box-shadow:var(--shadow);

text-align:center;

transition:.4s;

}

.service-card:hover{

background:
linear-gradient(
135deg,
#2563eb,
#1e40af
);

transform:
translateY(-10px);

}

.service-card:hover h3,
.service-card:hover p,
.service-card:hover i{

color:white;

}

.service-card i{

font-size:50px;

margin-bottom:20px;

color:var(--primary);

transition:.4s;

}

.service-card h3{

font-size:24px;

margin-bottom:15px;

color:var(--dark);

transition:.4s;

}

.service-card p{

transition:.4s;

}

/* ========================= */
/* CTA */
/* ========================= */

.cta{

background:
linear-gradient(
135deg,
#0f172a,
#1e3a8a
);

}

.cta-box{

text-align:center;

padding:80px 50px;

border-radius:35px;

background:
rgba(255,255,255,.06);

backdrop-filter:blur(12px);

}

.cta-box h2{

font-size:48px;

color:white;

margin-bottom:20px;

}

.cta-box p{

color:
rgba(255,255,255,.8);

max-width:700px;

margin:auto auto 35px;

}

.cta-buttons{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

/* ========================= */
/* STATS */
/* ========================= */

.stats{

background:
linear-gradient(
135deg,
#0f172a,
#1e40af
);

}

.stats-grid{

display:grid;

grid-template-columns:
repeat(4,1fr);

gap:30px;

}

.stat-card{

padding:40px;

text-align:center;

border-radius:25px;

background:
rgba(255,255,255,.08);

backdrop-filter:blur(15px);

}

.stat-card h3{

font-size:58px;

font-weight:800;

color:white;

margin-bottom:10px;

}

.stat-card p{

color:
rgba(255,255,255,.8);

}

/* ========================= */
/* TESTIMONIAL */
/* ========================= */

.testimonials{

background:white;

}

.testimonial-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

}

.testimonial-card{

padding:35px;

background:#f8fafc;

border-radius:25px;

box-shadow:var(--shadow);

transition:.4s;

}

.testimonial-card:hover{

transform:
translateY(-10px);

}

.stars{

font-size:22px;

color:#f59e0b;

margin-bottom:20px;

}

.testimonial-card p{

margin-bottom:25px;

font-style:italic;

}

.testimonial-card h4{

color:var(--dark);

margin-bottom:5px;

}

.testimonial-card span{

font-size:14px;

color:#64748b;

}

/* ========================= */
/* FAQ */
/* ========================= */

.faq{

background:#f8fafc;

}

.faq-wrapper{

max-width:900px;

margin:auto;

}

.faq-item{

background:white;

padding:30px;

border-radius:20px;

margin-bottom:20px;

box-shadow:var(--shadow);

transition:.3s;

}

.faq-item:hover{

transform:
translateY(-4px);

}

.faq-item h3{

font-size:22px;

color:var(--dark);

margin-bottom:12px;

}

.faq-item p{

color:#64748b;

}

/* ========================= */
/* CONTACT */
/* ========================= */

.contact{

background:white;

}

.contact-grid{

display:grid;

grid-template-columns:
1fr 1fr;

gap:40px;

align-items:start;

}

.contact-info{

display:flex;

flex-direction:column;

gap:25px;

}

.contact-item{

display:flex;

gap:20px;

padding:25px;

background:#f8fafc;

border-radius:20px;

box-shadow:var(--shadow);

}

.contact-item i{

font-size:28px;

color:var(--primary);

min-width:35px;

}

.contact-item h4{

margin-bottom:5px;

color:var(--dark);

}

.contact-form{

padding:35px;

background:#f8fafc;

border-radius:25px;

box-shadow:var(--shadow);

}

.contact-form form{

display:flex;

flex-direction:column;

gap:18px;

}

.contact-form input,
.contact-form textarea{

width:100%;

padding:16px 18px;

border:1px solid #dbe2ea;

border-radius:15px;

outline:none;

font-family:inherit;

font-size:15px;

}

.contact-form textarea{

resize:none;

}

/* ========================= */
/* FOOTER */
/* ========================= */

footer{

background:#0f172a;

padding-top:80px;

color:white;

}

.footer-grid{

display:grid;

grid-template-columns:
2fr 1fr 1fr 1fr;

gap:40px;

padding-bottom:50px;

}

.footer-logo{

font-size:32px;

font-weight:800;

margin-bottom:15px;

}

.footer-logo span{

color:#60a5fa;

}

.footer-grid h4{

margin-bottom:20px;

}

.footer-grid ul li{

margin-bottom:12px;

}

.footer-grid a{

color:#cbd5e1;

transition:.3s;

}

.footer-grid a:hover{

color:white;

}

.footer-bottom{

padding:25px 0;

text-align:center;

border-top:
1px solid rgba(255,255,255,.1);

color:#cbd5e1;

}

/* ========================= */
/* WHATSAPP FLOAT */
/* ========================= */

.wa-float{

position:fixed;

right:25px;

bottom:25px;

width:65px;

height:65px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:#25D366;

color:white;

font-size:30px;

z-index:99999;

box-shadow:
0 10px 30px rgba(0,0,0,.2);

transition:.3s;

}

.wa-float:hover{

transform:
translateY(-5px);

}
/* ========================= */
/* TABLET */
/* ========================= */

@media (max-width: 1024px){

.hero-wrapper,
.about-grid,
.coverage-wrapper,
.contact-grid{

grid-template-columns:1fr;

}

.hero-image{

margin-top:30px;

}

.feature-grid{

grid-template-columns:
repeat(2,1fr);

}

.package-grid{

grid-template-columns:
repeat(2,1fr);

}

.service-grid{

grid-template-columns:
repeat(2,1fr);

}

.testimonial-grid{

grid-template-columns:
1fr 1fr;

}

.stats-grid{

grid-template-columns:
repeat(2,1fr);

}

.footer-grid{

grid-template-columns:
repeat(2,1fr);

}

}

/* ========================= */
/* MOBILE */
/* ========================= */

@media (max-width:768px){

section{

padding:70px 0;

}

.container{

width:92%;

}

/* HEADER */

.navbar{

height:75px;

}

.menu-toggle{

display:block;

z-index:99999;

}

.nav-menu{

position:fixed;

top:75px;

left:-100%;

width:100%;

height:calc(100vh - 75px);

background:#0f172a;

display:flex;

flex-direction:column;

justify-content:flex-start;

align-items:center;

padding-top:40px;

gap:25px;

transition:.4s;

}

.nav-menu.active{

left:0;

}

.nav-menu a{

font-size:18px;

}

.nav-action{

display:none;

}

/* HERO */

.hero{

padding-top:100px;

min-height:auto;

}

.hero-wrapper{

gap:40px;

}

.hero-content{

text-align:center;

}

.hero-content h1{

font-size:40px;

line-height:1.2;

}

.hero-content p{

font-size:16px;

margin-left:auto;
margin-right:auto;

}

.hero-buttons{

justify-content:center;

}

.hero-stats{

justify-content:center;

gap:20px;

}

.hero-stat{

min-width:100px;

}

.hero-stat h3{

font-size:26px;

}

.hero-image{

display:none;

}

/* SECTION */

.section-header{

margin-bottom:40px;

}

.section-header h2{

font-size:32px;

}

.section-header p{

font-size:15px;

}

/* ABOUT */

.about-content h3{

font-size:30px;

}

.about-list{

grid-template-columns:1fr;

}

/* FEATURES */

.feature-grid{

grid-template-columns:1fr;

}

/* PACKAGE */

.package-grid{

grid-template-columns:1fr;

}

.package-card{

padding:30px;

}

.featured{

transform:none;

}

.speed{

font-size:42px;

}

.price{

font-size:30px;

}

/* COVERAGE */

.coverage-list{

grid-template-columns:1fr;

}

.coverage-map{

min-height:280px;

}

/* VOUCHER */

.voucher-grid{

grid-template-columns:1fr;

}

.voucher-card{

padding:30px;

}

.voucher-price{

font-size:42px;

}

/* SERVICES */

.service-grid{

grid-template-columns:1fr;

}

.service-card{

padding:30px;

}

/* CTA */

.cta-box{

padding:50px 25px;

}

.cta-box h2{

font-size:32px;

}

.cta-buttons{

flex-direction:column;

}

/* STATS */

.stats-grid{

grid-template-columns:1fr;

}

.stat-card h3{

font-size:48px;

}

/* TESTIMONIAL */

.testimonial-grid{

grid-template-columns:1fr;

}

/* CONTACT */

.contact-grid{

grid-template-columns:1fr;

}

.contact-item{

padding:20px;

}

.contact-form{

padding:25px;

}

/* FOOTER */

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.footer-grid ul{

padding:0;

}

.footer-logo{

font-size:28px;

}

.footer-bottom{

font-size:14px;

}

}

/* ========================= */
/* SMALL MOBILE */
/* ========================= */

@media (max-width:480px){

.hero-content h1{

font-size:32px;

}

.hero-content p{

font-size:15px;

}

.section-header h2{

font-size:28px;

}

.about-content h3{

font-size:26px;

}

.btn-primary,
.btn-secondary{

width:100%;

}

.hero-buttons{

flex-direction:column;

}

.package-card{

padding:25px;

}

.service-card{

padding:25px;

}

.contact-form{

padding:20px;

}

.cta-box h2{

font-size:28px;

}

}

/* ========================= */
/* LARGE DESKTOP */
/* ========================= */

@media (min-width:1400px){

.container{

max-width:1320px;

}

.hero-content h1{

font-size:72px;

}

.section-header h2{

font-size:50px;

}

}

/* ========================= */
/* SCROLLBAR */
/* ========================= */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#e2e8f0;

}

::-webkit-scrollbar-thumb{

background:#2563eb;

border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

background:#1d4ed8;

}

/* ========================= */
/* SELECTION */
/* ========================= */

::selection{

background:#2563eb;

color:white;

}

/* ========================= */
/* IMAGE OPTIMIZATION */
/* ========================= */

img{

max-width:100%;

height:auto;

display:block;

}

/* ========================= */
/* SMOOTH ANIMATION */
/* ========================= */

.feature-box,
.package-card,
.service-card,
.voucher-card,
.testimonial-card,
.coverage-item,
.contact-item{

transition:
all .35s ease;

}

/* ========================= */
/* IOS FIX */
/* ========================= */

input,
textarea,
button{

-webkit-appearance:none;
appearance:none;

}

/* ========================= */
/* ANDROID FIX */
/* ========================= */

body{

-webkit-tap-highlight-color:
transparent;

}

/* ========================= */
/* END CSS */
/* ========================= */


