/*==================================================
HALAMAN TENTANG
==================================================*/

body{
    background:#f5f7fb;
    font-family:'Poppins',sans-serif;
    color:#333;
}

/*==================================================
HERO
==================================================*/

.hero{

    position:relative;

    background:linear-gradient(135deg,#0f7b4b,#198754);

    padding:40px 0 10px;

    overflow:hidden;

}

.hero::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-150px;

    left:-150px;

}

.hero::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    bottom:-200px;

    right:-180px;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.08);

}

.hero-content{

    position:relative;

    z-index:2;

}

.hero-text{

    width:100%;

    max-width:900px;

    margin:0 auto;

    text-align:center;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    color:#fff;

}

.hero-logo{

    display:block;

    width:170px;

    height:170px;

    object-fit:contain;

    margin:30px auto;

    border-radius:30%;

    padding:1px;

}

.hero-badge{

    display:inline-block;

    background:rgba(255,255,255,.15);

    padding:10px 18px;

    border-radius:10px;

    font-size:14px;

    margin-bottom:20px;

    backdrop-filter:blur(8px);

}

.hero-text h1{

    font-size:58px;

    margin-top:10px;

    margin-bottom:25px;

    line-height:1.2;

}

.hero-text p{

    max-width:760px;

    margin:auto;

    line-height:1.9;

    font-size:20px;

}

/*==================================================
SECTION
==================================================*/

.tentang-section,

.visi-misi-section,

.logo-section,

.statistik-section{

    padding:90px 0;

}

.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}

/*==================================================
SECTION TITLE
==================================================*/

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.section-title span{

    display:inline-block;

    background:#198754;

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    margin-bottom:15px;

    font-size:14px;

}

.section-title h2{

    font-size:40px;

    color:#16324f;

    margin-bottom:15px;

}

.section-title p{

    color:#666;

    max-width:700px;

    margin:auto;

    line-height:1.8;

}


/*==================================================
INFO CARD
==================================================*/

.info-card{

    display:flex;

    align-items:flex-start;

    gap:30px;

    background:#fff;

    border-radius:22px;

    padding:45px;

    margin-bottom:35px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 45px rgba(0,0,0,.12);

}

.info-icon{

    width:90px;

    height:90px;

    min-width:90px;

    border-radius:50%;

    background:#e9f8ef;

    display:flex;

    align-items:center;

    justify-content:center;

}

.info-icon i{

    font-size:36px;

    color:#198754;

}

.info-content{

    flex:1;

}

.info-content h2{

    font-size:34px;

    color:#16324f;

    margin-bottom:20px;

    position:relative;

}

.info-content h2::after{

    content:"";

    width:70px;

    height:4px;

    background:#198754;

    display:block;

    margin-top:12px;

    border-radius:20px;

}

.info-content p{

    font-size:17px;

    line-height:2;

    text-align:justify;

    color:#555;

}

/*==================================================
VISI MISI
==================================================*/

.visi-misi-section{

    background:#f8faf9;

}

.visi-misi-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}

.visi-card{

    background:#fff;

    padding:45px;

    border-radius:22px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.visi-card:hover{

    transform:translateY(-8px);

}

.visi-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:6px;

    background:#198754;

}

.card-icon{

    width:80px;

    height:80px;

    border-radius:50%;

    background:#e9f8ef;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:25px;

}

.card-icon i{

    color:#198754;

    font-size:34px;

}

.visi-card h3{

    font-size:30px;

    color:#16324f;

    margin-bottom:15px;

}

.card-line{

    width:60px;

    height:4px;

    background:#198754;

    border-radius:20px;

    margin-bottom:20px;

}

.visi-card p{

    color:#555;

    line-height:2;

    text-align:justify;

}

/*==================================================
LOGO SECTION
==================================================*/

.logo-section{

    background:#fff;

}

.logo-wrapper{

    display:grid;

    grid-template-columns:320px 1fr;

    gap:60px;

    align-items:center;

}

.logo-image{

    text-align:center;

}

.logo-image img{

    width:240px;

    max-width:100%;

    background:#fff;

    padding:20px;

    border-radius:25px;

    box-shadow:0 15px 40px rgba(0,0,0,.10);

    transition:.35s;

}

.logo-image img:hover{

    transform:scale(1.05);

}

.logo-content{

    background:#fff;

    padding:35px;

    border-radius:20px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.logo-content h3{

    font-size:32px;

    color:#16324f;

    margin-bottom:15px;

}

.logo-content p{

    color:#555;

    line-height:2;

    text-align:justify;

}

/*==================================================
STATISTIK
==================================================*/

.statistik-section{

    background:#f8faf9;

}

.statistik-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.stat-card{

    background:#fff;

    border-radius:20px;

    padding:35px 20px;

    text-align:center;

    transition:.35s;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.stat-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 45px rgba(0,0,0,.12);

}

.stat-icon{

    width:80px;

    height:80px;

    margin:0 auto 20px;

    border-radius:50%;

    background:#198754;

    display:flex;

    align-items:center;

    justify-content:center;

}

.stat-icon i{

    color:#fff;

    font-size:32px;

}

.stat-card h3{

    font-size:42px;

    color:#16324f;

    margin-bottom:10px;

}

.stat-card p{

    color:#666;

    font-size:17px;

    font-weight:500;

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

    .hero{

        padding:90px 0;

    }

    .hero-text h1{

        font-size:42px;

    }

    .hero-text p{

        font-size:17px;

    }

    .logo-wrapper{

        grid-template-columns:1fr;

        text-align:center;

    }

    .logo-content{

        margin-top:10px;

    }

    .statistik-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .hero{

        padding:80px 20px;

    }

    .hero-logo{

        width:130px;

        height:130px;

    }

    .hero-text h1{

        font-size:34px;

    }

    .hero-text p{

        font-size:16px;

    }

    .info-card{

        flex-direction:column;

        text-align:center;

    }

    .info-content h2::after{

        margin:12px auto;

    }

    .info-content p{

        text-align:left;

    }

    .visi-misi-grid{

        grid-template-columns:1fr;

    }

    .statistik-grid{

        grid-template-columns:1fr;

    }

    .logo-image img{

        width:180px;

    }

}

@media(max-width:576px){

    .section-title h2{

        font-size:30px;

    }

    .hero-text h1{

        font-size:28px;

    }

    .hero-logo{

        width:110px;

        height:110px;

    }

    .info-card{

        padding:30px;

    }

    .visi-card{

        padding:30px;

    }

    .logo-content{

        padding:25px;

    }

}