*{
    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;
    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);
}

/* 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);

}

/*==================================
            CTA
==================================*/

.cta{

    position:relative;

    height:400px;

    overflow:hidden;

    display:flex;

    justify-content:center;

    align-items:center;

}

/*==================================*/

.cta-bg{

    position:absolute;

    width:100%;

    height:100%;

    object-fit:cover;

}

/*==================================*/

.cta-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(
    90deg,
    rgba(20,35,130,.95),
    rgba(55,90,255,.78));

}

/*==================================*/

.circle-decoration{

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    border:60px solid rgba(255,255,255,.05);

    top:-160px;

    left:-150px;

}

/*==================================*/

.dot{

    position:absolute;

    width:60px;

    height:60px;

    background-image:radial-gradient(white 1.5px, transparent 1.5px);

    background-size:16px 16px;

    opacity:.8;

}

.dot-left{

    top:120px;

    left:65px;

}

.dot-right{

    top:50px;

    right:80px;

}

/*==================================*/

.cta-content{

    position:relative;

    z-index:2;

    text-align:center;

    margin-top: 80px;

}

/*==================================*/

.cta-content h2{

    color:#fff;

    font-size:50px;

    font-weight:800;

    margin-bottom:0px;

}

/*==================================*/

.cta-subtitle{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:30px;

    margin-bottom:30px;

}

.cta-subtitle p{

    color:#fff;

    letter-spacing:4px;

    font-size:16px;

    font-weight:300;

}

.line{

    width:120px;

    height:2px;

    background:rgba(255,255,255,.75);

}

/*==================================*/

.cta-services{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
    width:100%;
    max-width:330px;
    margin:auto;

}

/*==================================*/

.cta-item{

    display:flex;

    align-items:center;

    gap:18px;

}

.cta-icon{

    width:68px;

    height:68px;

    border-radius:50%;

    background:rgba(255,255,255,.14);

    backdrop-filter:blur(12px);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-size:22px;

    transition:.35s;

}

.cta-item:hover .cta-icon{

    transform:translateY(-8px);

    background:#fff;

    color:#355CFF;

}

.cta-item span{

    color:#fff;

    font-size:14px;

    font-weight:500;

}

/*==================================*/

.divider{

    width:1px;

    height:45px;

    background:rgba(255,255,255,.35);

}

/*==============================
        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:50px 0 50px;

    background: linear-gradient(to right, #F8FAFF, #aacfff);
}

.container{

    width:90%;

    height: 550px;

    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;
}

/* RIGHT */

/*==================================
        ABOUT GALLERY
==================================*/

.about-gallery{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

}

/*==================================
        IMAGE
==================================*/

.about-image{

    position:relative;

    width:100%;

    max-width:560px;

    border-radius:30px;

    overflow:hidden;

    box-shadow:
    0 25px 60px rgba(20,40,120,.12);

}

.about-image img{

    width:100%;

    display:block;

    object-fit:cover;

    transition:.45s;

}


/*==================================
        TRUST BADGE
==================================*/

.trust-badge{

    position:absolute;

    top:22px;

    right:22px;

    background:linear-gradient(
    135deg,
    #355CFF,
    #2342D7);

    color:#fff;

    display:flex;

    align-items:center;

    gap:14px;

    padding:16px 22px;

    border-radius:18px;

    box-shadow:
    0 18px 35px rgba(53,92,255,.35);

}

.trust-icon{

    width:42px;

    height:42px;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:20px;

}

.trust-text h4{

    margin:0;

    font-size:22px;

    font-weight:700;

    line-height:1;

}

.trust-text span{

    display:block;

    margin-top:4px;

    font-size:14px;

    opacity:.9;

}

/*============================
        VISI & MISI
=============================*/

.vision-section{

    padding:40px 8%;

    background:#f8fbff;

    position:relative;

    overflow:hidden;

}

.vision-section::before{

    content:"";

    width:550px;

    height:550px;

    background:#2b63ff15;

    border-radius:50%;

    position:absolute;

    left:-250px;

    top:-200px;

    filter:blur(30px);

}

.vision-section::after{

    content:"";

    width:450px;

    height:450px;

    background:#5577ff10;

    border-radius:50%;

    position:absolute;

    right:-180px;

    bottom:-180px;

    filter:blur(30px);

}

.vision-header{

    text-align:center;

    margin-bottom:70px;

}

.section-tag{

    display:inline-block;

    padding:10px 24px;

    background:#eef4ff;

    color:#2b63ff;

    border-radius:100px;

    font-size:14px;

    font-weight:600;

    letter-spacing:2px;

}

.vision-header h2{

    font-size:32px;

    margin:20px 0;

    color:#2b63ff;

}

.vision-header h2 span{

    color:#0b1b4d;

}

.vision-header p{

    width:700px;

    max-width:100%;

    margin:auto;

    color:#6f7890;

    font-size:18px;

    line-height:1.8;

}

.vision-wrapper{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}

.vision-card{

    background:#fff;

    border-radius:30px;

    padding:45px;

    box-shadow:

    0 20px 60px rgba(25,50,120,.08);

    transition:.35s;

    position:relative;

}

.vision-card:hover{

    transform:translateY(-8px);

    box-shadow:

    0 35px 80px rgba(25,50,120,.15);

}

.card-top{

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:35px;

}

.icon-box{

    width:78px;

    height:78px;

    border-radius:24px;

    background:linear-gradient(135deg,#2b63ff,#6285ff);

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    font-size:34px;

}

.mission{

    background:linear-gradient(135deg,#5c4dff,#8d6eff);

}

.card-top h3{

    font-size:34px;

    margin-bottom:5px;

    color:#16214d;

}

.card-top span{

    color:#6b7388;

}

.vision-card ul{

    list-style:none;

    padding:0;

    margin:0;

}

.vision-card li{

    display:flex;

    align-items:flex-start;

    gap:20px;

    padding:22px 0;

    border-bottom:1px solid #edf1f8;

    color:#525d77;

    line-height:1.8;

}

.vision-card li:last-child{

    border:none;

}

.vision-card li::before{

    content:counter(item);

    counter-increment:item;

    min-width:38px;

    height:38px;

    border-radius:50%;

    background:#eef4ff;

    color:#2b63ff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

}

.vision-card ul{

    counter-reset:item;

}

/*======================================
        LEGAL DOCUMENT
======================================*/

.legal-section{

    position: relative;

    padding: 40px 8%;

    background: linear-gradient(to left, #F8FAFF, #aacfff);

    overflow: hidden;

}

/* Background Decoration */

.legal-section::before{

    content: "";

    position: absolute;

    width: 550px;

    height: 550px;

    border-radius: 50%;

    background: radial-gradient(circle,#2b63ff15 0%,transparent 70%);

    top: -250px;

    left: -220px;

}

.legal-section::after{

    content: "";

    position: absolute;

    width: 420px;

    height: 420px;

    border-radius: 50%;

    background: radial-gradient(circle,#2b63ff10 0%,transparent 70%);

    right: -180px;

    bottom: -180px;

}

.legal-header{

    text-align:center;

    margin-bottom:70px;

    position:relative;

    z-index:2;

}

.section-tag{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 22px;

    border-radius:100px;

    background:#edf3ff;

    color:#2b63ff;

    font-size:14px;

    font-weight:600;

    letter-spacing:2px;

    margin-bottom:20px;

}

.legal-header h2{

    font-size:32px;

    color:#11204d;

    margin-bottom:18px;

}

.legal-header h2 span{

    color:#2b63ff;

}

.legal-header p{

    max-width:700px;

    margin:auto;

    color:#7b8298;

    line-height:1.8;

    font-size:18px;

}

.legal-wrapper{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    position:relative;

    z-index:2;

}

.legal-card{

    cursor:pointer;

    position:relative;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:

    0 15px 45px rgba(22,45,90,.08);

    transition:.35s;

}

.legal-card:hover{

    transform:translateY(-10px);

    box-shadow:

    0 25px 70px rgba(22,45,90,.15);

}

.legal-icon{

    position:absolute;

    top:18px;

    left:18px;

    width:56px;

    height:56px;

    border-radius:18px;

    background:linear-gradient(135deg,#2b63ff,#5c82ff);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:22px;

    z-index:5;

    box-shadow:0 10px 30px rgba(43,99,255,.35);

}

.gallery-item{

    height:420px;

    overflow:hidden;

    cursor:pointer;

}

.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

    display:block;

}

.legal-card:hover img{

    transform:scale(1.05);

}

.legal-info{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px;

    border-top:1px solid #edf2fa;

}

.legal-info h3{

    font-size:23px;

    color:#11204d;

    margin-bottom:6px;

}

.legal-info span{

    font-size:15px;

    color:#7b8298;

}

.preview-btn{

    width:48px;

    height:48px;

    border-radius:50%;

    border:2px solid #d9e5ff;

    background:#fff;

    color:#2b63ff;

    cursor:pointer;

    transition:.3s;

}

.preview-btn:hover{

    background:#2b63ff;

    color:#fff;

    border-color:#2b63ff;

}

/*======================================
        LIGHTBOX
======================================*/

.lightbox{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:9999;

}

.lightbox.active{

    opacity:1;

    visibility:visible;

}

.lightbox-overlay{

    position:absolute;

    inset:0;

    background:rgba(12,18,35,.82);

    backdrop-filter:blur(10px);

}

.lightbox-content{

    position:relative;

    z-index:2;

    max-width:900px;

    width:90%;

    text-align:center;

}

.lightbox-content img{

    max-width:100%;

    max-height:75vh;

    border-radius:18px;

    box-shadow:

    0 30px 70px rgba(0,0,0,.35);

    animation:zoom .35s ease;

}

.lightbox-caption{

    margin-top:28px;

    color:#fff;

}

.lightbox-caption h3{

    font-size:30px;

    margin-bottom:8px;

}

.lightbox-caption span{

    opacity:.7;

}

.lightbox-close,

.lightbox-next,

.lightbox-prev{

    position:absolute;

    z-index:3;

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    color:#fff;

    cursor:pointer;

    backdrop-filter:blur(12px);

    transition:.3s;

}

.lightbox-close:hover,

.lightbox-next:hover,

.lightbox-prev:hover{

    background:#2b63ff;

}

.lightbox-close{

    top:35px;

    right:35px;

}

.lightbox-prev{

    left:50px;

    top:50%;

    transform:translateY(-50%);

}

.lightbox-next{

    right:50px;

    top:50%;

    transform:translateY(-50%);

}

@keyframes zoom{

    from{

        transform:scale(.85);

        opacity:0;

    }

    to{

        transform:scale(1);

        opacity:1;

    }

}

/*======================================
            WHY US
======================================*/

.why-section{

    padding:40px 8%;

    background:#f8fbff;

    position:relative;

    overflow:hidden;

}

.why-section::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:#2b63ff10;

    filter:blur(80px);

    top:-220px;

    left:-220px;

}

.why-section::after{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    background:#5c82ff10;

    filter:blur(80px);

    right:-180px;

    bottom:-180px;

}

.why-container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

    position:relative;

    z-index:2;

}

.why-image{

    position:relative;

}

.why-image img{

    width:100%;

    border-radius:32px;

    display:block;

    box-shadow:

    0 25px 70px rgba(0,0,0,.12);

}

.experience-card{

    position:absolute;

    bottom:30px;

    left:30px;

    background:rgba(255,255,255,.9);

    backdrop-filter:blur(20px);

    padding:28px;

    border-radius:24px;

    box-shadow:

    0 15px 40px rgba(0,0,0,.08);

}

.experience-card h2{

    font-size:32px;

    color:#2b63ff;

    margin-bottom:8px;

}

.experience-card p{

    color:#5f6677;

    line-height:1.6;

}

.why-content h2{

    font-size:32px;

    color:#16214d;

    margin:20px 0;

}

.why-content h2 span{

    color:#2b63ff;

}

.why-description{

    color:#6f7890;

    font-size:18px;

    line-height:1.9;

    margin-bottom:45px;

}

.why-list{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.why-item{

    background:#fff;

    border-radius:22px;

    padding:24px;

    display:flex;

    align-items:flex-start;

    gap:22px;

    transition:.35s;

    box-shadow:

    0 10px 35px rgba(25,50,120,.08);

}

.why-item:hover{

    transform:translateX(10px);

    box-shadow:

    0 20px 55px rgba(25,50,120,.15);

}

.why-icon{

    width:70px;

    height:70px;

    border-radius:22px;

    background:linear-gradient(135deg,#2b63ff,#5d83ff);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    flex-shrink:0;

}

.why-item h3{

    color:#16214d;

    margin-bottom:10px;

    font-size:24px;

}

.why-item p{

    color:#6f7890;

    line-height:1.8;

}

/*======================================
            FOOTER
======================================*/

.footer{

    padding:30px 8% 30px;

    background:
    linear-gradient(to bottom, #F8FAFF, #aacfff),
    radial-gradient(circle at top right,#EEF5FF 0%,transparent 30%),
    radial-gradient(circle at bottom left,#EEF5FF 0%,transparent 30%),
    #F8FAFF;

}

.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;
    }

    .container,
    .why-container{
        grid-template-columns:1fr;
        display:grid;
        gap:50px;
        height:auto;
    }

    .about{
        padding:70px 0;
    }

    .vision-wrapper{
        grid-template-columns:1fr;
    }

    .legal-wrapper{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-container{
        grid-template-columns:1fr;
    }


}

/* ======================================
   MOBILE
====================================== */

@media (max-width:768px){

    .header{
        top:15px;
    }

    .navbar{

        height:70px;

        padding:0 20px;
    }

    .logo img{
        height:32px;
    }

    /* sementara menu disembunyikan */

    /* CTA */

    .cta{

    min-height:500px;
    height:auto;

    padding:105px 20px 45px;

    }

    .cta-content{

        margin-top:0;

    }

    .cta-content h2{

        font-size:30px;
        line-height:1.2;
        margin-bottom:8px;

    }

    .cta-subtitle{

        gap:10px;
        margin-bottom:25px;
        flex-wrap:wrap;

    }

    .cta-subtitle p{

    font-size:13px;
    letter-spacing:2px;

    }

    .line{

        width:35px;

    }

    .cta-services{

        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:15px;
        width:100%;
        max-width:360px;
        margin:30px auto 0;

    }

    .divider{

        display:none;

    }

    .cta-item{

        width:100%;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        text-align:center;
        gap:10px;
        padding:18px 12px;
        border-radius:18px;
        background:rgba(255,255,255,.08);
        border:1px solid rgba(255,255,255,.15);

    }

    .cta-icon{

        width:58px;

        height:58px;

        font-size:22px;

    }

    .cta-item span{

        font-size:14px;

        line-height:1.4;

    }

    /* item ketiga berada di tengah */
    .cta-item:last-child{

        grid-column:1 / 3;

        justify-self:center;

        width:170px;

    }

    /* 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 */

    .container{
        width:92%;
        display:block;
        height:auto;

    }

    .about-content{
        margin-bottom:40px;

    }

    .about-content h2{
        font-size:34px;

    }

    .about-content p{
        font-size:15px;

    }

    .trust-badge{
        padding:6px 10px;

    border-radius:16px;

    top:10px;
    right:10px;

    gap:10px;

    }

    .trust-text h4{

    font-size:14px;
    line-height:1;

    }

    .trust-text span{

    font-size:12px;

    }

    .trust-icon{

    width:42px;
    height:42px;

    font-size:18px;

}

    /* SECTION TITLE */

    .vision-header h2,
    .legal-header h2,
    .why-content h2{

        font-size:28px;

    }

    .vision-header p,
    .legal-header p,
    .why-description{

        font-size:15px;

    }

    /* CARD */

    .vision-card{

        padding:30px;

    }

    .card-top h3{

        font-size:28px;

    }

    .icon-box{

        width:65px;
        height:65px;
        font-size:28px;

    }

    /* LEGAL */

    .legal-wrapper{

        grid-template-columns:1fr;

    }

    .gallery-item{

        height:320px;

    }

    /* WHY */

    .why-item{

        flex-direction:column;

        text-align:center;

        align-items:center;

    }

    .why-icon{

        margin-bottom:10px;

    }

    /* 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){

     .cta-content h2{

        font-size:30px;

    }

    .about-content h2{

        font-size:28px;

    }

    .vision-header h2,
    .legal-header h2,
    .why-content h2{

        font-size:24px;

    }

    .partner-item{

        width:170px;
        height:80px;

    }

    .legal-info h3{

        font-size:20px;

    }

    .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);

}

}