*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;
    background:#edf4ff;
}

/*========================
        NAVBAR
=========================*/

.header{
    position: fixed;
    top: 25px;
    left: 0;
    width: 100%;
    z-index: 999;
}

.navbar{
    position: relative;
    z-index:9999;
    width:90%;
    max-width:1400px;
    margin:auto;
    height:88px;

    display:flex;
    align-items:center;

    padding:0 40px;

    background:rgba(255,255,255,.88);
    backdrop-filter:blur(18px);
    border-radius:22px;
    box-shadow:
        0 20px 50px rgba(0,0,0,.08),
        0 5px 15px rgba(0,0,0,.05);
}

.hamburger{
    position:relative;
    z-index:10000;
}

/* Logo */

.logo img{

    height:40px;
}

/* Menu */

.nav-menu{
    position:absolute;
    left:50%;
    transform:translateX(-50%);

    display:flex;
    gap:45px;
    list-style:none;
}

.nav-menu a{

    text-decoration:none;

    color:#5f6677;

    font-weight:500;

    transition:.3s;
}

.nav-menu a:hover{

    color:#2b63ff;
}

.nav-menu > li > a.active{
    color:#2b63ff;
    font-weight:600;
    position:relative;
}

.nav-menu > li > a.active::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-10px;
    width:100%;
    height:3px;
    background:#2b63ff;
    border-radius:50px;
}

/* Button */

.btn-contact{

    text-decoration:none;

    background:#2b63ff;

    color:#fff;

    padding:15px 28px;

    border-radius:14px;

    font-weight:600;

    transition:.3s;

    box-shadow:

        0 12px 25px rgba(43,99,255,.35);
}

.btn-contact:hover{

    transform:translateY(-3px);

    background:#1d54ee;
}

/*dropdown*/

.dropdown{

    position:relative;

}

.dropdown-menu{

    position:absolute;

    top:calc(100% + 18px);

    left:0;

    width:220px;

    background:#fff;

    border-radius:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    padding:12px 0;

    list-style:none;

    opacity:0;

    visibility:hidden;

    transform:translateY(10px);

    transition:.3s;

}

.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.dropdown-menu li{

    position:relative;

}

.dropdown-menu a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 22px;

    color:#5f6677;

    text-decoration:none;

    transition:.3s;

}

.dropdown-menu a:hover{

    background:#f4f7ff;

    color:#2b63ff;

}

.dropdown-menu span{

    font-size:18px;

    color:#9aa5b1;

}

.submenu{

    position:relative;

}

.submenu-menu{

    position:absolute;

    top:0;

    left:100%;

    width:220px;

    background:#fff;

    border-radius:18px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    padding:12px 0;

    list-style:none;

    opacity:0;

    visibility:hidden;

    transform:translateX(10px);

    transition:.3s;

}

.submenu:hover .submenu-menu{

    opacity:1;

    visibility:visible;

    transform:translateX(0);

}




/*========================
        HERO
=========================*/

.hero{
    position: relative;
    width: 100%;
    padding-top: 140px;
    height: 850px;
    max-height: 90vh;
    overflow: hidden;
}

.hero-bg{
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    z-index: -3;
}

/* White Gradient */

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(248,250,255,.95) 0%,
        rgba(248,250,255,.75) 30%,
        rgba(248,250,255,.25) 60%,
        rgba(255,255,255,0) 100%
    );

    z-index:-2;
}

/* Light Blue Glow */

.hero::after{

    content:"";

    position:absolute;

    width:900px;
    height:900px;

    left:-250px;
    top:-250px;

    background:radial-gradient(
        circle,
        rgba(53,111,255,.18),
        transparent 70%
    );

    z-index:-1;
}

/* Optional Blur Overlay */

.overlay{
    position:absolute;
    inset:0;
    backdrop-filter:blur(2px);
}

/* ===========================
        HERO CONTENT
=========================== */

.hero{
    position: relative;
}

.hero-content{
    position: absolute;
    left: 8%;
    top: 50%;
    transform: translateY(-50%);
    max-width: 550px;
}

.hero-subtitle{

    display:block;

    color:#3A63F3;

    font-size:20px;

    font-weight:500;

    letter-spacing:4px;

    margin-bottom:12px;
}

.hero-line{

    width:70px;

    height:3px;

    background:#3A63F3;

    border-radius:50px;

    margin-bottom:25px;
}

.hero-content h1{
    font-size: 86px;
    line-height: 1.05;
    font-weight: 800;
    color: #0F1B3D;

    margin-bottom: 45px;
}

.hero-buttons{

    display:flex;

    gap:20px;

    align-items:center;
}

.hero-buttons a{
    gap:10px;
}

.hero-buttons i{
    font-size:20px;
}

/* ===========================
        BUTTON
=========================== */

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 34px;

    background:#00cc00;

    color:white;

    font-size:18px;

    font-weight:600;

    border-radius:16px;

    transition:.3s;

    box-shadow:0 15px 35px rgba(47,98,244,.25);
}

.btn-primary:hover{

    background:#00b300;

    transform:translateY(-3px);
}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 34px;

    background:white;

    color:#2F62F4;

    border:2px solid #2F62F4;

    border-radius:16px;

    font-size:18px;

    font-weight:600;

    transition:.3s;
}

.btn-secondary:hover{

    background:#2F62F4;

    color:white;
}

/*==============================
        PARTNER
==============================*/

.partner{

    padding:30px 0 10px;

    background:#ffffff;

    overflow:hidden;

    position:relative;
}

/* Judul */

.partner-title{

    text-align:center;

    margin-bottom:35px;
}

.partner-title span{

    color:#2F62F4;

    font-size:15px;

    font-weight:600;

    letter-spacing:4px;
}

.partner-title h2{

    margin-top:15px;

    font-size:32px;

    color:#14213D;

    font-weight:700;
}

/* Slider */

.partner-slider{

    position:relative;

    overflow:hidden;
    padding-bottom: 25px;
}

/* Fade kiri */

.partner-slider::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:150px;

    height:100%;

    background:linear-gradient(to right,#fff,transparent);

    z-index:2;
}

/* Fade kanan */

.partner-slider::after{

    content:"";

    position:absolute;

    right:0;

    top:0;

    width:150px;

    height:100%;

    background:linear-gradient(to left,#fff,transparent);

    z-index:2;
}

/* Track */

.partner-track{

    display:flex;

    width:max-content;

    animation:scroll 28s linear infinite;
}

/* Pause ketika hover */

.partner-track:hover{

    animation-play-state:paused;
}

/* Card */

.partner-item{

    width:220px;
    height:95px;

    margin:0 18px;

    border-radius:20px;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:

        0 10px 35px rgba(0,0,0,.08);

    transition:.3s;
}

.partner-item:hover{

    transform:translateY(-6px);
}

/* Logo */

.partner-item img{

    width:70%;

    object-fit:contain;
}

/* Animation */

@keyframes scroll{

    from{

        transform:translateX(0);
    }

    to{

        transform:translateX(-50%);
    }

}

/*============================
        ABOUT
=============================*/

.about{

    padding:25px 0 90px;

    background: linear-gradient(to top, #F8FAFF, #aacfff);
}

.container{

    width:90%;

    max-width:1300px;

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:70px;
}

/* LEFT */

.about-content{

    flex:1;
}

.section-subtitle{

    color:#2F62F4;

    font-size:14px;

    font-weight:700;

    letter-spacing:3px;
}

.about-content h2{

    margin-top:15px;

    font-size:50px;

    line-height:1.2;

    color:#14213D;

    margin-bottom:20px;
}

.about-content h2 span{

    color:#2F62F4;
}

.title-line{

    width:90px;

    height:4px;

    background:#2F62F4;

    border-radius:50px;

    margin-bottom:30px;
}

.about-content p{

    color:#5D6678;

    text-align: justify;

    line-height:1.9;

    font-size:17px;

    margin-bottom:20px;
}

/* Button */

.about-btn{

    display:inline-block;

    margin-top:15px;

    padding:16px 34px;

    border-radius:14px;

    background:#2F62F4;

    color:#fff;

    font-weight:600;

    transition:.3s;
}

.about-btn:hover{

    background:#1848d7;

    transform:translateY(-4px);
}

/* RIGHT */

.about-gallery{

    flex:1;

    display:grid;

    grid-template-columns:1fr 1fr;

    grid-template-rows:280px 180px;

    gap:22px;
}

/* Direktur */

.director-card{

    grid-row:span 2;

    position:relative;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.director-card img{

    width:100%;

    height:100%;

    object-fit:cover;
}

/* Overlay */

.director-info{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    padding:80px 28px 28px;

    background:linear-gradient(
        to top,
        rgba(15,40,120,.98) 0%,
        rgba(15,40,120,.75) 45%,
        transparent 100%
    );

    color:white;
}

.director-info h3{

    font-size:24px;

    margin-bottom:0px;
}

.director-info span{

    font-size:15px;

    opacity:.85;
}

.director-info p{

    margin-top:18px;

    line-height:1.8;

    font-size:15px;
}

/* Logo */

.logo-card{

    background:white;

    border-radius:22px;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.logo-card img{

    width:70%;
}

/* Property */

.property-card{

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.property-card img{

    width:100%;

    height:100%;

    object-fit:cover;
}

/*==============================
        SERVICES
==============================*/

.services{

    padding:40px 8%;

    position:relative;

    overflow:hidden;

    background:
    
    linear-gradient(to bottom, #F8FAFF, #aacfff);

}


/* Decorative Circle */

.services::before{

    content:"";

    width:420px;
    height:420px;

    border-radius:50%;

    background:rgba(63,99,255,.05);

    position:absolute;

    top:-180px;
    right:-180px;

}

.services::after{

    content:"";

    width:350px;
    height:350px;

    border-radius:50%;

    background:rgba(63,99,255,.04);

    position:absolute;

    bottom:-150px;
    left:-150px;

}


/*==============================*/

.services-header{

    max-width:720px;

    margin:auto;

    text-align:center;

    position:relative;

    z-index:2;

}

.services-header h2{

    font-size:54px;

    color:#152B63;

    margin:20px 0;

    line-height:1.15;

    font-weight:700;

}

.services-header p{

    color:#6D7387;

    font-size:18px;

    line-height:32px;

}

.services .title-line{

    margin:28px auto;

}

/*==============================*/

.services-grid{

    margin-top:70px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    position:relative;

    z-index:2;

}


/*==============================*/

.service-card{

    background:#fff;

    padding:40px;

    border-radius:30px;

    border:1px solid #eef3fb;

    box-shadow:
    0 18px 45px rgba(33,71,161,.08);

    transition:.35s ease;

    position:relative;

}

.service-card:hover{

    transform:translateY(-12px);

    border-color:#355CFF;

    box-shadow:
    0 30px 70px rgba(33,71,161,.16);

}

/*==============================*/

.service-icon{

    width:78px;

    height:78px;

    border-radius:50%;

    background:linear-gradient(135deg,#4A7DFF,#305DFF);

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:28px;

    transition:.35s;

}

.service-card:hover .service-icon{

    transform:scale(1.08) rotate(-8deg);

}

.service-icon i{

    color:white;

    font-size:34px;

}


/*==============================*/

.service-card h3{

    font-size:30px;

    line-height:1.25;

    color:#19306A;

    margin-bottom:18px;

    font-weight:700;

}

.service-card span{

    display:block;

    width:60px;

    height:4px;

    border-radius:50px;

    background:#355CFF;

    margin-bottom:25px;

}

.service-card p{

    color:#6D7387;

    line-height:31px;

    font-size:16px;

    margin-bottom:70px;

}

/*==============================*/

.service-card a{

    width:58px;

    height:58px;

    border-radius:50%;

    position:absolute;

    right:35px;

    bottom:35px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#F5F8FF;

    color:#355CFF;

    text-decoration:none;

    font-size:22px;

    transition:.35s;

}

.service-card:hover a{

    background:#355CFF;

    color:#fff;

}

.service-card:hover a i{

    transform:translateX(4px);

}

.service-card a i{

    transition:.35s;

}

/*======================================
            DOCUMENTATION
======================================*/

.documentation{

    position: relative;

    padding: 40px 8%;

    overflow: hidden;

    background:
    
    linear-gradient(to top,#F8faff,#aacfff);

}


/* Decorative */

.documentation::before{

    content:"";

    position:absolute;

    width:420px;
    height:420px;

    border-radius:50%;

    background:rgba(52,91,255,.05);

    top:-180px;
    right:-180px;

}

.documentation::after{

    content:"";

    position:absolute;

    width:340px;
    height:340px;

    border-radius:50%;

    background:rgba(52,91,255,.04);

    bottom:-150px;
    left:-150px;

}


/*======================================
            HEADER
======================================*/

.documentation-header{

    position:relative;

    z-index:2;

    text-align:center;

    max-width:760px;

    margin:auto;

}

.documentation-header h2{

    font-size:54px;

    color:#152B63;

    font-weight:700;

    margin:20px 0;

    line-height:1.2;

}

.documentation-header p{

    color:#6D7387;

    font-size:18px;

    line-height:32px;

}

.documentation .title-line{

    margin:30px auto;

}


/*======================================
            GALLERY
======================================*/

.documentation-gallery{

    position:relative;

    z-index:2;

    margin-top:70px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

}


/*======================================
            ITEM
======================================*/

.gallery-item{

    overflow:hidden;

    border-radius:24px;

    cursor:pointer;

    background:#fff;

    box-shadow:
    0 15px 35px rgba(30,60,114,.08);

    transition:.35s ease;

}

.gallery-item:hover{

    transform:translateY(-8px);

    box-shadow:
    0 25px 60px rgba(30,60,114,.15);

}

.gallery-item img{

    width:100%;

    height:280px;

    display:block;

    object-fit:cover;

    transition:.5s;

}

.gallery-item:hover img{

    transform:scale(1.08);

}


/*======================================
            LIGHTBOX
======================================*/

.lightbox{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    visibility:hidden;

    opacity:0;

    transition:.35s;

    z-index:99999;

}


/* ACTIVE */

.lightbox.active{

    visibility:visible;

    opacity:1;

}


/*======================================
            BACKGROUND
======================================*/

.lightbox-overlay{

    position:absolute;

    inset:0;

    background:rgba(10,18,40,.88);

    backdrop-filter:blur(8px);

}


/*======================================
            IMAGE
======================================*/

.lightbox-content{

    position:relative;

    z-index:2;

    width:90%;

    max-width:1200px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.lightbox-content img{

    width:100%;

    max-height:85vh;

    object-fit:contain;

    border-radius:20px;

    animation:zoomImage .35s ease;

}


@keyframes zoomImage{

from{

transform:scale(.85);

opacity:0;

}

to{

transform:scale(1);

opacity:1;

}

}


/*======================================
        BUTTON
======================================*/

.lightbox button{

    position:absolute;

    z-index:5;

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    color:#fff;

    font-size:24px;

    cursor:pointer;

    transition:.3s;

}

.lightbox button:hover{

    background:#355CFF;

}


/* CLOSE */

.lightbox-close{

    top:40px;

    right:40px;

}


/* PREV */

.lightbox-prev{

    left:50px;

    top:50%;

    transform:translateY(-50%);

}


/* NEXT */

.lightbox-next{

    right:50px;

    top:50%;

    transform:translateY(-50%);

}

/*======================================
            FOOTER
======================================*/

.footer{

    padding:30px 8% 30px;

    background:
    linear-gradient(to bottom, #F8FAFF, #aacfff);

}

.footer-container{

   max-width:1400px;
    margin:auto;
    background:#fff;
    border-radius:32px;
    padding:70px;
    display:grid;
    grid-template-columns:
        repeat(auto-fit,minmax(300px,1fr));
    gap:50px;
    box-shadow:
    0 20px 60px rgba(15,35,95,.08);
    position:relative;
    overflow:hidden;

}

.footer-container::before{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(52,91,255,.05);

    top:-120px;

    right:-120px;

}

.footer-container::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:rgba(52,91,255,.05);

    bottom:-120px;

    left:-120px;

}

/*======================================
            BRAND
======================================*/

.footer-brand{

    position:relative;

    z-index:2;

}

.footer-brand img{

    width:170px;

    margin-bottom:25px;

}

.footer-brand h3{

    font-size:34px;

    color:#142B63;

    margin-bottom:18px;

}

.footer-brand p{

    color:#666F87;

    line-height:34px;

    font-size:17px;

    margin-bottom:35px;

}

/*======================================
        SOCIAL ICON
======================================*/

.footer-social{

    display:flex;

    gap:18px;

}

.footer-social a{

    width:56px;

    height:56px;

    border-radius:50%;

    background:#F3F7FF;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#355CFF;

    font-size:24px;

    text-decoration:none;

    transition:.3s;

}

.footer-social a:hover{

    background:#355CFF;

    color:#fff;

    transform:translateY(-6px);

}

/*======================================
        TITLE
======================================*/

.footer-links h4,
.footer-contact h4,
.footer-map h4{

    color:#142B63;

    font-size:28px;

    margin-bottom:30px;

    position:relative;

}

.footer-links h4::after,
.footer-contact h4::after,
.footer-map h4::after{

    content:"";

    width:45px;

    height:4px;

    border-radius:10px;

    background:#355CFF;

    position:absolute;

    left:0;

    bottom:-12px;

}

/*======================================
        NAVIGATION
======================================*/

.footer-links ul{

    list-style:none;

}

.footer-links li{

    border-bottom:1px solid #EDF1F8;

}

.footer-links a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-decoration:none;

    color:#49516A;

    padding:18px 0;

    transition:.3s;

}

.footer-links a:hover{

    color:#355CFF;

    padding-left:8px;

}

.footer-links i{

    font-size:14px;

}

/*======================================
        CONTACT
======================================*/

.contact-item{

    display:flex;

    gap:18px;

    margin-bottom:28px;

}

.contact-icon{

    min-width:58px;

    height:58px;

    border-radius:18px;

    background:#F3F7FF;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#355CFF;

    font-size:24px;

}

.contact-text span{

    display:block;

    color:#355CFF;

    font-weight:600;

    margin-bottom:5px;

}

.contact-text p{

    color:#5D667F;

    line-height:30px;

}

/*======================================
            MAP
======================================*/

.map-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:
    0 15px 35px rgba(15,35,95,.08);

}

.map-card iframe{

    width:100%;

    height:240px;

    border:none;

}

.map-info{

    display:flex;

    gap:15px;

    padding:22px;

}

.map-info i{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#EEF4FF;

    color:#355CFF;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    flex-shrink:0;

}

.map-info span{

    color:#59627C;

    line-height:30px;

}

/*======================================
            COPYRIGHT
======================================*/

.copyright{

    background:linear-gradient(
    135deg,
    #1D37A6,
    #355CFF);

    padding: 0 8%;

}

.copyright-container{

    max-width: 1400px;

    height: 55px;

    margin: auto;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 25px;

}

.copyright-line{

    width:70px;

    height:2px;

    background:rgba(255,255,255,.45);

}

.copyright p{

    color:#fff;

    font-size:16px;

    letter-spacing:.5px;

}


/* ======================================
   TABLET
====================================== */

@media (max-width:1024px){

    .navbar{
        width:95%;
        padding:0 25px;
    }

    .nav-menu{
        gap:25px;
    }

    .hero{
        height:700px;
    }

    .hero-content h1{
        font-size:64px;
    }

    .container{
        flex-direction:column;
    }

    .about-gallery{
        width:100%;
        max-width:650px;
    }

    .services-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .documentation-gallery{
        grid-template-columns:repeat(2,1fr);
    }

}

/* ======================================
   MOBILE
====================================== */

@media (max-width:768px){

    .header{
        top:15px;
    }

    .navbar{

        height:70px;

        padding:0 20px;
    }

    .logo img{
        height:32px;
    }

    /* sementara menu disembunyikan */

    /* HERO */

    .hero{

        height:auto;

        min-height:700px;

        padding-top:120px;
    }

    .hero::before{

        background:linear-gradient(
        to bottom,
        rgba(248,250,255,.95),
        rgba(248,250,255,.65)
        );

    }

    .hero-content{

        position:relative;

        left:auto;

        top:auto;

        transform:none;

        max-width:100%;

        padding:0 25px;

    }

    .hero-subtitle{

        font-size:15px;

        letter-spacing:3px;
    }

    .hero-content h1{

        font-size:48px;

        line-height:1.1;

        margin-bottom:25px;
    }

    .hero-buttons{

        flex-direction:column;

        align-items:stretch;

        gap:15px;
    }

    .btn-primary,
    .btn-secondary{

        width:100%;

        justify-content:center;
    }

    /* Subtitle */

    .partner-title span{

        font-size:13px;
        letter-spacing:3px;

    }

    /* Judul */

    .partner-title h2{

        font-size:18px;
        line-height:1.3;
        margin-top:10px;

    }

    /* ABOUT */

    .about{

        padding:60px 0;
    }

    .container{

        flex-direction:column;

        gap:40px;
    }

    .about-content h2{

        font-size:36px;
    }

    .about-gallery{

        grid-template-columns:1fr;

        grid-template-rows:auto;

    }

    .director-card{

        grid-row:auto;

        height:450px;
    }

    .logo-card{

        height:180px;
    }

    .property-card{

        height:220px;
    }

    /* SERVICES */

    .services{

        padding:60px 25px;
    }

    .services-header h2{

        font-size:38px;
    }

    .services-grid{

        grid-template-columns:1fr;
    }

    .service-card{

        padding:30px;
    }

    .service-card h3{

        font-size:26px;
    }

    /* DOCUMENTATION */

    .documentation{

        padding:60px 25px;
    }

    .documentation-header h2{

        font-size:38px;
    }

    .documentation-gallery{

        grid-template-columns:1fr;
    }

    /* FOOTER */

    .footer{

        padding:60px 20px;
    }

    .footer-container{

        padding:35px;

        grid-template-columns:1fr;
    }

    .footer-brand h3{

        font-size:28px;
    }

    /* COPYRIGHT */

    .copyright-container{

        flex-direction:column;

        height:auto;

        padding:20px 0;

        gap:10px;
    }

    .copyright-line{

        display:none;
    }

    .copyright p{

            font-size:12px;

        }

}

/* ======================================
   SMALL MOBILE
====================================== */

@media (max-width:480px){

    .hero-content h1{

        font-size:38px;
    }

    .about-content h2{

        font-size:30px;
    }

    .services-header h2{

        font-size:30px;
    }

    .documentation-header h2{

        font-size:30px;
    }

    .service-card{

        padding:25px;
    }

    .footer-container{

        padding:25px;
    }

}

/*==================================
HAMBURGER
==================================*/

.hamburger{

    display:none;

    width:35px;

    cursor:pointer;

    flex-direction:column;

    gap:6px;

    margin-left:auto;

    z-index:1002;

}

.hamburger span{

    width:100%;

    height:3px;

    background:#19306A;

    border-radius:20px;

    transition:.35s;

}

.hamburger.active span:nth-child(1){

    transform:rotate(45deg) translateY(12px);

}

.hamburger.active span:nth-child(2){

    opacity:0;

}

.hamburger.active span:nth-child(3){

    transform:rotate(-45deg) translateY(-12px);

}


/*==================================
OVERLAY
==================================*/
.menu-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    backdrop-filter:blur(6px);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

}

.menu-overlay.active{

    opacity:1;

    visibility:visible;

}

/*==================================
MOBILE MENU
==================================*/
@media(max-width:768px){

.hamburger{

    display:flex;

}

.nav-menu{

    position:fixed;

    top:0;

    right:-100%;

    width:320px;

    height:100vh;

    background:white;

    flex-direction:column;

    justify-content:flex-start;

    align-items:flex-start;

    padding:120px 30px;

    gap:0;

    transition:.4s;

    box-shadow:-15px 0 40px rgba(0,0,0,.08);

    left:auto;

    transform:none;

    z-index:999;

}

.nav-menu.active{

    right:0;

}

.nav-menu li{

    width:100%;

}

.nav-menu a{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid #eee;

}

}

/*==================================
DROPDOWN MOBILE
==================================*/
@media(max-width:768px){

.dropdown-menu{

    position:static;

    opacity:1;

    visibility:visible;

    transform:none;

    box-shadow:none;

    width:100%;

    display:none;

    padding:0;

}

.dropdown.active>.dropdown-menu{

    display:block;

}

.submenu-menu{

    position:static;

    opacity:1;

    visibility:visible;

    transform:none;

    box-shadow:none;

    display:none;

    width:100%;

    padding-left:15px;

}

.submenu.active>.submenu-menu{

    display:block;

}

.dropdown-menu a{

    padding:14px 0;

}

}

/*==================================
DEKSTOP TETAP HOVER
==================================*/
@media(min-width:769px){

.dropdown:hover>.dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.submenu:hover>.submenu-menu{

    opacity:1;

    visibility:visible;

    transform:translateX(0);

}

}