/* ===========================
DANNET WEBSITE V1
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    background:#060d18;

    color:#ffffff;

    font-family:"Poppins",sans-serif;

    line-height:1.7;

    overflow-x:hidden;

}

.container{

    width:92%;

    max-width:1180px;

    margin:auto;

}

/*======================================
NAVBAR PREMIUM
======================================*/

.navbar{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:999;

    background:rgba(6,13,24,.72);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(255,255,255,.05);

    transition:.3s;

}

.navbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    width:100%;

}

.logo img{

    height:55px;

    transition:.35s ease;

}

.logo:hover img{

    transform:scale(1.08);

}

.nav-menu{

    display:flex;

    list-style:none;

    gap:45px;

}

.nav-menu a{

    position:relative;

    color:#ffffff;

    text-decoration:none;

    font-size:17px;

    font-weight:600;

    transition:.3s;

}

.nav-menu a:hover{

    color:#00D4FF;

}


.nav-menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:#00D4FF;

    transition:.3s;

}

.nav-menu a:hover::after{

    width:100%;

}


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

.hero{

    position:relative;
    
    overflow:hidden;

    min-height:88vh;

    display:flex;

    align-items:center;

    padding-top:130px;

    padding-bottom:70px;

    background:
    radial-gradient(circle at top right,
    rgba(0,212,255,.10),
    transparent 35%),

    radial-gradient(circle at bottom left,
    rgba(0,153,255,.08),
    transparent 40%),

    #060d18;

}

.hero-container{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:60px;

}

.hero-badge{

    display:inline-block;

    background:#00D4FF20;

    color:#00D4FF;

    padding:10px 20px;

    border-radius:50px;

    margin-bottom:25px;

    font-size:14px;

}

.hero h1{

    font-size:60px;

    line-height:1.2;

    margin-bottom:25px;

}

.hero h1 span{

    color:#00D4FF;

}

.hero p{

    color:#d6e3ff;

    font-size:18px;

    line-height:1.8;

    margin-bottom:35px;

}

.hero-button{

    display:flex;

    gap:20px;

}

.btn{

    display:inline-block;

    padding:15px 30px;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.btn-primary{

    background:linear-gradient(
    135deg,
    #00D4FF,
    #0099FF
    );

    border:none;

    color:white;

    padding:15px 34px;

    border-radius:14px;

    font-weight:700;

    transition:.3s;

    box-shadow:0 10px 30px rgba(0,212,255,.25);

}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(0,212,255,.35);

}

.btn-secondary{

    background:#25D366;

    color:white;

}

.btn-secondary:hover{

    transform:translateY(-5px);

}

.hero-right{

    display:flex;

    justify-content:center;

}

.hero-right{

    position:relative;

}

.hero-right::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:radial-gradient(

        rgba(0,212,255,.18),

        transparent 70%

    );

    filter:blur(20px);

}

.hero-right img{

    width:470px;

    position:relative;

    z-index:2;

    animation:floating 5s ease-in-out infinite;

}

@keyframes floating{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-15px);

    }

    100%{

        transform:translateY(0px);

    }

}


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

.hero::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    background:

    radial-gradient(

        rgba(0,212,255,.12),

        transparent 70%

    );

    top:-250px;

    right:-200px;

    filter:blur(30px);

    z-index:0;

}

.hero::after{

    content:"";

    position:absolute;

    width:600px;

    height:600px;

    background:

    radial-gradient(

        rgba(37,211,102,.08),

        transparent 70%

    );

    left:-250px;

    bottom:-250px;

    filter:blur(40px);

    z-index:0;

}


/*======================================
INFO BOX
======================================*/

.hero-info{

    display:flex;

    gap:18px;

    margin-top:50px;

    flex-wrap:wrap;

}

.info-box{

    width:120px;

    background:#0f1c32;

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:20px;

    text-align:center;

    transition:.35s;

}

.info-box:hover{

    transform:translateY(-10px);

    border-color:#00D4FF;

    box-shadow:0 0 30px rgba(0,212,255,.20);

}

.info-box h2{

    color:#00D4FF;

    font-size:30px;

    margin-bottom:8px;

}

.info-box p{

    color:#cbd5e1;

    font-size:14px;

}


/*======================================
PREMIUM BACKGROUND
======================================*/

body::before{

    content:"";

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:100%;

    background:

    radial-gradient(circle at top left,

    rgba(0,212,255,.10),

    transparent 35%),


    radial-gradient(circle at bottom right,

    rgba(37,211,102,.08),

    transparent 35%),

    radial-gradient(circle at center,

    rgba(255,255,255,.02),

    transparent 70%);

    z-index:-3;

}


/*======================================
GRID BACKGROUND
======================================*/

body::after{

    content:"";

    position:fixed;

    inset:0;

    background-image:

    linear-gradient(

        rgba(255,255,255,.03) 1px,

        transparent 1px

    ),

    linear-gradient(

        90deg,

        rgba(255,255,255,.03) 1px,

        transparent 1px

    );

    background-size:60px 60px;

    z-index:-2;

    opacity:.25;

}


/*======================================
NAVBAR SHADOW
======================================*/

.navbar:hover{

    box-shadow:

    0 10px 40px rgba(0,212,255,.08);

}


/*======================================
PACKAGE
======================================*/

.package{

    padding:90px 0;

}

.section-title{

    text-align:center;

    margin-bottom:55px;

}

.section-title span{

    color:#00D4FF;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:2px;

}

.section-title h2{

    font-size:42px;

    line-height:1.25;

    margin:15px 0;

}

.section-title p{

    max-width:640px;

    margin:auto;

    color:#b8c7e0;

    line-height:1.8;

}

.package-grid{

    display:grid;

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

    gap:35px;

}

.package-card{

    background:linear-gradient(

    180deg,

    #101c33,

    #0d1628

);

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:40px;

    position:relative;

    transition:.35s;

}

.package-card:hover{

    transform:translateY(-12px);

    border-color:#00D4FF;

    box-shadow:0 16px 40px rgba(0,212,255,.18);

}

.popular{

    border:2px solid #00D4FF;

}

.badge{

    position:absolute;

    top:-15px;

    left:50%;

    transform:translateX(-50%);

    background:#00D4FF;

    color:#071120;

    padding:8px 18px;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

}

.speed{

    font-size:42px;

    font-weight:800;

    color:#00D4FF;

}

.package-card h3{

    margin:15px 0;

    font-size:28px;

}

.price{

    font-size:34px;

    font-weight:700;

    margin-bottom:25px;

}

.price span{

    font-size:16px;

    color:#9db0cc;

}

.package-card ul{

    list-style:none;

    margin-bottom:35px;

}

.package-card li{

    padding:10px 0;

    color:#d5e2f2;

}


/*======================================
FEATURE
======================================*/

.feature{

    padding:90px 0;

}

.feature-grid{

    display:grid;

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

    gap:30px;

}

.feature-card{

    background:linear-gradient(

    180deg,

    #101c33,

    #0d1628

);

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:35px;

    text-align:center;

    transition:.35s;

}

.feature-card:hover{

    transform:translateY(-12px);

    border-color:#00D4FF;

    box-shadow:0 16px 40px rgba(0,212,255,.18);

}

.feature-icon{

    width:80px;

    height:80px;

    margin:auto;

    margin-bottom:25px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:38px;

    border-radius:50%;

    background:rgba(0,212,255,.12);

}

.feature-card h3{

    margin-bottom:18px;

    font-size:24px;

}

.feature-card p{

    color:#b8c7e0;

    line-height:1.8;

}


/*======================================
COVERAGE
======================================*/

.coverage{

    padding:90px 0;

}

.coverage-grid{

    display:grid;

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

    gap:25px;

    margin-top:50px;

}

.coverage-card{

    background:linear-gradient(

    180deg,

    #101c33,

    #0d1628

);

    border-radius:20px;

    padding:30px;

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.coverage-card:hover{

    transform:translateY(-8px);

    border-color:#00D4FF;

}

.coverage-card h3{

    margin-bottom:15px;

    font-size:24px;

}

.available span{

    color:#22c55e;

    font-weight:700;

}

.coming span{

    color:#f59e0b;

    font-weight:700;

}

.coverage-button{

    margin-top:50px;

    text-align:center;

}


/*======================================
TESTIMONIAL
======================================*/

.testimonial{

    padding:90px 0;

}

.testimonial-grid{

    display:grid;

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

    gap:30px;

}

.testimonial-card{

    background:linear-gradient(

    180deg,

    #101c33,

    #0d1628

);

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:35px;

    transition:.35s;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    border-color:#00D4FF;

    box-shadow:0 16px 40px rgba(0,212,255,.18);

}

.stars{

    font-size:22px;

    margin-bottom:20px;

}

.testimonial-card p{

    color:#d6e3ff;

    line-height:1.8;

    margin-bottom:25px;

    min-height:90px;

}

.testimonial-card h3{

    margin-bottom:5px;

}

.testimonial-card span{

    color:#00D4FF;

}


/*======================================
FAQ
======================================*/

.faq{

    padding:90px 0;

}

.faq-list{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.faq-item{

    background:linear-gradient(

    180deg,

    #101c33,

    #0d1628

);

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:30px;

    transition:.35s;

}

.faq-item:hover{

    border-color:#00D4FF;

    box-shadow:0 15px 35px rgba(0,212,255,.15);

}

.faq-item h3{

    margin-bottom:15px;

    color:#ffffff;

}

.faq-item p{

    color:#b8c7e0;

    line-height:1.8;

}


/*======================================
CTA PREMIUM
======================================*/

.cta{

    padding:90px 0;

}

.cta-box{

    background:linear-gradient(
        135deg,
        #0b1730,
        #13284b
    );

    border:1px solid rgba(255,255,255,.08);

    border-radius:30px;

    padding:70px 50px;

    text-align:center;

    position:relative;

    overflow:hidden;

}

.cta-box::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    background:radial-gradient(
        rgba(0,212,255,.18),
        transparent 70%
    );

    top:-180px;

    right:-120px;

    border-radius:50%;

}

.cta-badge{

    display:inline-block;

    background:rgba(0,212,255,.12);

    color:#00D4FF;

    padding:10px 22px;

    border-radius:50px;

    margin-bottom:25px;

    font-weight:600;

}

.cta-box h2{

    font-size:48px;

    margin-bottom:25px;

    line-height:1.3;

}

.cta-box p{

    max-width:720px;

    margin:auto;

    color:#c5d4eb;

    line-height:1.8;

    margin-bottom:40px;

}

.cta-button{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.cta-button .btn{

    min-width:220px;

}


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

.footer{

    margin-top:120px;

    background:#08111f;

    border-top:1px solid rgba(255,255,255,.08);

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:40px;

    padding:70px 0;

}

.footer-logo{

    width:170px;

    margin-bottom:20px;

}

.footer p{

    color:#b8c7e0;

    line-height:1.8;

}

.footer h3{

    margin-bottom:20px;

    color:#ffffff;

}

.footer ul{

    list-style:none;

}

.footer li{

    margin-bottom:12px;

}

.footer a{

    color:#b8c7e0;

    text-decoration:none;

    display:block;

    margin-bottom:10px;

    transition:.3s;

}

.footer a:hover{

    color:#00D4FF;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    padding:25px 0;

    color:#90a4c3;

}


/*======================================
RESPONSIVE TABLET
======================================*/

@media (max-width:992px){

.hero-container{

grid-template-columns:1fr;

text-align:center;

}

.hero-left{

order:2;

}

.hero-right{

order:1;

margin-bottom:40px;

}

.hero-button{

justify-content:center;

}

.hero-info{

justify-content:center;

}

.package-grid{

grid-template-columns:1fr;

}

.feature-grid{

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

}

.coverage-grid{

grid-template-columns:1fr;

}

.testimonial-grid{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:1fr 1fr;

gap:40px;

}

}


/*======================================
RESPONSIVE MOBILE
======================================*/

@media (max-width:768px){

.container{

width:92%;

max-width:1180px;

margin:auto;

}

.nav-menu{

display:none;

}

.hero{

padding-top:120px;

min-height:auto;

}

.hero h1{

font-size:38px;

}

.hero p{

font-size:16px;

}

.hero-right img{

width:260px;

}

.hero-button{

flex-direction:column;

align-items:center;

}

.hero-button .btn{

width:100%;

max-width:260px;

}

.hero-info{

justify-content:center;

}

.info-box{

width:140px;

}

.section-title h2{

font-size:34px;

}

.package-card{

padding:30px;

}

.feature-grid{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.footer-logo{

margin:auto;

margin-bottom:25px;

}

.cta-box{

padding:45px 25px;

}

.cta-box h2{

font-size:34px;

}

.cta-button{

flex-direction:column;

align-items:center;

}

}


/*======================================
MOBILE MENU
======================================*/

.menu-toggle{

display:none;

font-size:28px;

cursor:pointer;

color:#ffffff;

}

@media(max-width:768px){

.menu-toggle{

display:block;

}

.nav-menu{

position:absolute;

top:80px;

left:0;

width:100%;

background:#08111f;

display:flex;

flex-direction:column;

padding:30px;

gap:25px;

transform:translateY(-150%);

transition:.35s;

}

.nav-menu.active{

transform:translateY(0);

}

}


/* ======================================
   FOOTER MOBILE - STYLE PC
====================================== */

@media (max-width: 768px) {

    .footer {
        margin-top: 50px;
    }

    .footer-grid {
        display: grid;
        grid-template-columns: 1.5fr 1fr 1.2fr 1fr;
        gap: 12px;
        padding: 35px 0 25px;
        text-align: left;
        align-items: start;
    }

    /* LOGO + DESKRIPSI */
    .footer-grid > div:first-child {
        text-align: left;
    }

    .footer-logo {
        width: 105px;
        height: auto;
        margin: 0 0 12px 0;
    }

    .footer p {
        font-size: 10px;
        line-height: 1.6;
        margin-bottom: 5px;
    }

    /* JUDUL FOOTER */
    .footer h3 {
        font-size: 14px;
        margin-bottom: 12px;
        white-space: nowrap;
    }

    /* MENU */
    .footer li {
        margin-bottom: 5px;
    }

    .footer a {
        font-size: 11px;
        line-height: 1.5;
        margin-bottom: 5px;
        word-break: break-word;
    }

    /* KONTAK */
    .footer-grid > div:nth-child(3) a {
        font-size: 10px;
    }

    /* SOCIAL */
    .footer-grid > div:nth-child(4) a {
        font-size: 11px;
    }

}


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

.floating-wa{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    border-radius:50%;

    background:#25D366;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    font-size:34px;

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

    z-index:9999;

    transition:.35s;

    animation:waPulse 2s infinite;

}

.floating-wa:hover{

    transform:scale(1.12);

    background:#20ba5a;

}

@keyframes waPulse{

    0%{

        box-shadow:0 0 0 0 rgba(37,211,102,.45);

    }

    70%{

        box-shadow:0 0 0 18px rgba(37,211,102,0);

    }

    100%{

        box-shadow:0 0 0 0 rgba(37,211,102,0);

    }

}


/*======================================
FORM
======================================*/

.form-section{

padding:40px 0 90px;

}

.form-box{

max-width:850px;

margin:auto;

border:1px solid rgba(255,255,255,.05);

padding:35px;

border-radius:25px;

border:1px solid rgba(255,255,255,.08);

}

.form-group{

margin-bottom:18px;

}

.form-group label{

display:block;

margin-bottom:10px;

font-weight:600;

}

.form-group input,

.form-group select,

.form-group textarea{

width:100%;

padding:16px;

border-radius:12px;

background:#08111f;

border:1px solid rgba(255,255,255,.08);

color:white;

font-size:16px;

}

.form-group textarea{

min-height:140px;

resize:vertical;

}


::selection{

background:#00D4FF;

color:white;

}


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

.page-header{

    padding:140px 0 60px;

    text-align:center;

    background:
    radial-gradient(circle at top right,
    rgba(0,212,255,.08),
    transparent 35%),

    #060d18;

}

.page-header .section-title{

    margin-bottom:0;

}

.page-header h2{

    font-size:42px;

    margin:15px 0;

}

.page-header p{

    max-width:620px;

    margin:auto;

    color:#b8c7e0;

}

.page-logo {
    display: block;
    width: 180px;
    height: auto;
    margin: 0 auto 20px;
    object-fit: contain;
}


/*======================================
PAGE CONTENT
======================================*/



/*======================================
FORM ROW
======================================*/

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

@media(max-width:768px){

.form-row{

grid-template-columns:1fr;

}

}


/*======================================
CHECKBOX
======================================*/

.checkbox-label{

    display:flex;

    align-items:flex-start;

    gap:12px;

    cursor:pointer;

    line-height:1.6;

}

.checkbox-label input[type="checkbox"]{

    width:20px;

    height:20px;

    margin-top:2px;

    flex-shrink:0;

    accent-color:#00D4FF;

}

.checkbox-label span{

    color:#b8c7e0;

    font-size:15px;

}


/*======================================
COVERAGE SEARCH
======================================*/

.coverage-search{

display:flex;

gap:15px;

margin-bottom:45px;

}

.coverage-search input{

flex:1;

padding:16px;

border-radius:14px;

background:#08111f;

border:1px solid rgba(255,255,255,.08);

color:white;

}

.coverage-result{

display:grid;

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

gap:25px;

}


/*======================================
GOOGLE MAPS
======================================*/

.coverage-map{

    margin-top:70px;

    text-align:center;

}

.coverage-map h3{

    font-size:30px;

    margin-bottom:15px;

}

.coverage-map p{

    color:#b8c7e0;

    margin-bottom:30px;

}

.map-box{

    border-radius:20px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.08);

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

}

.map-box iframe{

    width:100%;

    height:550px;

    border:0;

}


/*======================================
CONTACT
======================================*/

.contact-grid{

display:grid;

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

gap:30px;

margin-bottom:50px;

}

.contact-card{

background:linear-gradient(180deg,#101c33,#0d1628);

padding:35px;

border-radius:20px;

text-align:center;

border:1px solid rgba(255,255,255,.05);

transition:.3s;

}

.contact-card:hover{

transform:translateY(-8px);

}

.contact-card i{

font-size:42px;

color:#00D4FF;

margin-bottom:20px;

}

.contact-card h3{

margin-bottom:10px;

}

.contact-card p{

color:#b8c7e0;

}

.contact-action{

text-align:center;

margin-top:20px;

}
