*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
}

header{
    background:#7A1317;
    height: 70px;
}

.navbar{
    max-width:1400px;
    margin:auto;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:5px 10px;
}

.nav-left{
    display: flex;
    align-items: center;
    gap: 60px;
}

.logo img{
    height:50px;
}

.menu{
    list-style:none;

    display:flex;
    gap:35px;

    flex:1;
    justify-content:center;
}

.menu a{
    color:white;
    text-decoration:none;
    font-weight:500;
    font-size:18px;
}

.logo-container {
    display: flex;
    justify-content: center; /* Membuat logo berada di tengah halaman */
    align-items: center;     /* Membuat semua logo rata tengah secara vertikal */
    flex-wrap: wrap;         /* Jika layar kekecilan, logo akan otomatis turun ke bawah */
    gap: 30px;               /* Memberikan jarak antar logo */
    padding: 50px;
    background-color: #ffffff;
}

.logo-container img {
    height: 90px;            /* Menyamakan tinggi semua logo agar rapi */
    width: auto;             /* Lebar otomatis menyesuaikan proporsi agar tidak gepeng */
    object-fit: contain;     /* Memastikan gambar proporsional di dalam area */
    filter: grayscale(0%);   /* Ubah ke 100% jika ingin logo aesthetic hitam-putih */
    transition: transform 0.3s ease;
}

/* Efek sedikit interaktif saat kursor diarahkan ke logo */
.logo-container img:hover {
    transform: scale(1.05);  /* Logo sedikit membesar saat di-hover */
}

.profile{
    padding: 70px 0 80px;
    background: #fff;
}

.profile-title{
    text-align: center;
    margin-bottom: 50px;
}

.profile-title h1{
    font-size: 60px;
    font-weight: 700;
    color: #861010;
}

.profile-title h2{
    font-size: 50px;
    font-weight: 700;
    color: #861010;
}

.profile-container{
    width: 90%;
    max-width: 1400px;
    margin: auto;

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
}

.profile-text{
    flex: 1;
}

.profile-text p{
    color: #861010;
    font-size: 16px;
    line-height: 1.35;
    text-align: justify;
    margin-bottom: 35px;
    font-weight: 500;
}

.profile-image{
    flex: 1;
}

.profile-image img{
    width: 100%;
    display: block;
}

/* =================== */

.visi-misi,
.program,
.testimoni{

    width:90%;
    max-width:1400px;

    margin:auto;

    padding:80px 0;

}

.visi-misi h2,
.program h2,
.testimoni h2{

    text-align:center;

    color:#8B1111;

    font-size:48px;

    margin-bottom:25px;

}

.subtitle{

    text-align:center;

    color:#8B1111;

    margin-bottom:60px;

}

/* =================== */

.visi-container{

    display:flex;

    justify-content:center;

    gap:50px;

}

.visi-card{

    width:500px;

    border:2px solid #eee;

    border-radius:20px;

    padding:35px;

    position:relative;

}

.quote{

    color:#8B1111;

    font-size:40px;

    position:absolute;

    top:10px;

    left:20px;

}

.visi-card p{

    margin-top:20px;

    color:#8B1111;

    font-weight:600;

}

/* =================== */

.program-container{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.program-card{

    border:2px solid #eee;

    border-radius:25px;

    padding:35px;

}

.program-card i{

    font-size:45px;

    color:#8B1111;

    margin-bottom:25px;

}

.program-card h3{
    color: #8B1111;
    font-size: 24px;
    font-weight: 600; /* Semi Bold */
    margin: 20px 0 15px;
}

.program-card ul{

    padding-left:18px;

    color:#8B1111;

}

/* =================== */

.testimoni-container{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.testimoni-card{

    border:2px solid #eee;

    border-radius:20px;

    padding:35px;

    position:relative;

}

.testimoni-card p{

    margin-top:20px;

    color:#8B1111;

    line-height:1.6;

}

.testimoni-card h4{

    margin-top:25px;

    color:#8B1111;

    text-align:right;

}

.btn-outline{

    color:white;
    text-decoration:none;

    border:2px solid white;

    padding:12px 25px;

    border-radius:10px;
}

.hero{

    height:calc(100vh - 110px);

    background:url("../images/HERO-01.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;

    padding-left:80px;
}

.hero-profile{

    height:calc(100vh - 110px);

    background:url("../images/HERO-02.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;

    padding-left:80px;
}

.hero-katalog{

    height:calc(100vh - 110px);

    background:url("../images/HERO-03.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;

    padding-left:80px;
}


.hero-kontak{
    height: calc(100vh - 110px);

    background: url("../images/HERO-04.jpg");
    background-size: cover;
    background-position: center;

    display: flex;
    align-items: center;

    padding-left: 80px;
}

.hero-galeri{
    height: calc(100vh - 110px);

    background: url("../images/HERO-05.jpg");
    background-size: cover;
    background-position: center;

    display: flex;
    align-items: center;

    padding-left: 80px;
}

.hero-kontak .hero-content{
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.contact-list{

    margin-top:30px;

    display:flex;
    flex-direction:column;

    gap:22px;
}

/* ================= FAQ ================= */

.faq{

    width:90%;
    max-width:1100px;

    margin:100px auto;

    text-align:center;
}

.faq h2{

    color:#8B1111;

    font-family:'Poppins',sans-serif;

    font-size:39px;

    font-weight:700;

    margin-bottom:70px;
}

.faq-item{

    margin-bottom:55px;
}

.faq-question{

    width:700px;

    margin:0 auto 25px;

    background:#8B1111;

    color:#fff;

    font-family:'Poppins',sans-serif;

    font-size:23px;

    font-weight:600;

    padding:18px;

    border-radius:10px;
}

.faq-answer{

    width:900px;

    margin:auto;

    color:#8B1111;

    font-family:'Poppins',sans-serif;

    font-size:18px;

    font-weight:500;

    line-height:1.5;
}

.contact-card{

    width:560px;
    height:76px;

    background:#8B1111;

    display:flex;
    align-items:center;

    gap:20px;

    padding:0 25px;

    border-radius:12px;

    clip-path:polygon(
        3% 0,
        100% 0,
        97% 100%,
        0 100%
    );
}

/* ================= REKAMAN VIDEO ================= */

.video-section{

    width:90%;
    max-width:1200px;

    margin:100px auto;

    text-align:center;
}

.video-section h2{

    font-family:'Poppins',sans-serif;
    font-size:39px;
    font-weight:700;

    color:#8B1111;

    margin-bottom:60px;
}

.video-social{

    display:flex;
    justify-content:center;
    align-items:center;
    gap:120px;

    flex-wrap:wrap;
}

.video-item{

    display:flex;
    align-items:center;
    gap:22px;

    text-decoration:none;
}

.video-item img{

    width:50px;
    height:50px;

    object-fit:contain;
}

.video-item span{

    font-family:'Poppins',sans-serif;
    font-size:20px;
    font-weight:600;

    color:#8B1111;
}

.contact-icon{

    width:50px;
    height:50px;

    object-fit:contain;

    flex-shrink:0;
}

.contact-text{

    color:#fff;

    font-family:'Poppins',sans-serif;
}

.contact-text p{

    margin:0;

    font-size:17px;

    font-weight:400;

    line-height:1.35;
}

.overlay{

    width:650px;

    background:rgba(255,255,255,.65);

    backdrop-filter:blur(8px);

    border-radius:30px;

    padding:45px;
}

.overlay h1{

    font-size:40px;

    color:#8f1111;

    line-height:1.1;

    margin-bottom:20px;
}
.overlay h2{

    font-size:25px;

    color:#8f1111;

    line-height:1.1;

    margin-bottom:20px;
}

.overlay p{

    font-size:16px;

    color:#7a1111;

    line-height:1.6;

    margin-bottom:35px;
}

.button-group{

    display:flex;

    gap:20px;
}

.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;

    width: 320px;
    height: 72px;

    background: #8B1111;
    color: #fff;
    text-decoration: none;

    font-size: 20px;
    font-weight: 600;

    /* Radius berbeda tiap sudut */
    border-radius: 20px 5px 20px 5px;

    transition: .3s;
}

.btn:hover{
    background:#6f0d0d;
}

.btn i{

    font-size:22px;
}

.btn-konsultasi{
    display:flex;
    align-items:center;
    justify-content:center;

    width:200px;
    height:50px;

    background:#8B1111;

    color:#fff;

    font-family:'Poppins',sans-serif;
    font-size:18px;
    font-weight:600;

    text-decoration:none;

    border:2px solid #fff;
    border-radius:12px;

    box-sizing:border-box;

    transition:.3s;
}

.btn-konsultasi:hover{
    background:#fff;
    color:#8B1111;
}

.button-group{

    display:flex;
    gap:25px;
}

.btn-custom{

    display:flex;
    align-items:center;
    justify-content:center;

    gap:18px;

    width:280px;
    height:60px;

    background:#8B1111;

    border-radius:12px;

    text-decoration:none;

    transition:.3s;
}

.btn-custom img{

    width:30px;
    height:30px;

    object-fit:contain;
}

.btn-custom span{

    color:#fff;

    font-family:'Poppins',sans-serif;
    font-size:18px;
    font-weight:600;
}

.btn-custom:hover{

    transform:translateY(-3px);

    background:#A01414;
}

.footer{

    background:#8B1111;

    padding:40px 0;
}

.footer-container{

    width:90%;
    max-width:1400px;

    margin:auto;

    display:flex;
    align-items:flex-start;
    justify-content:space-between;

}

.footer-logo{

    width:250px;
    text-align:center;
}

.footer-logo img{

    width:90px;

    margin-bottom:12px;
}

.footer-logo p{

    color:#fff;

    font-size:12px;
}

.footer-divider{

    width:2px;
    height:120px;

    background:#fff;

    opacity:.8;
}

.footer-nav{

    width:220px;
}

.footer-nav h4{

    color:#fff;

    margin-bottom:12px;

    font-size:18px;

    font-weight:600;
}

.footer-nav ul{

    list-style:none;

    padding:0;
}

.footer-nav li{

    margin-bottom:6px;
}

.footer-nav a{

    color:#fff;

    text-decoration:none;

    font-size:14px;
}

.footer-nav a:hover{

    text-decoration:underline;
}

.footer-contact{

    width:320px;
}

.footer-contact h4{

    color:#fff;

    margin-bottom:12px;

    font-size:18px;

    font-weight:600;
}

.footer-contact p{

    color:#fff;

    font-size:14px;

    margin-bottom:8px;

    display:flex;
    align-items:flex-start;
    gap:10px;

    line-height:1.5;
}

.footer-contact i{

    width:18px;
}

main{
    width:90%;
    max-width:1400px;
    margin:auto;
}

.training-list{
    padding:80px 0;
    text-align:center;
}

.training-list h2,
.katalog h2{

    color:#8B1111;
    font-size:40px;
    margin-bottom:15px;
}

.subtitle{

    max-width:700px;
    margin:0 auto 50px;
    color:#8B1111;
    line-height:1.6;
}

.training-container{

    display:flex;
    justify-content:center;
    gap:25px;
}

.training-card{

    width:230px;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 5px 15px rgba(0,0,0,.1);
}

.training-card img{

    width:100%;
    height:250px;
    object-fit:cover;
}

.training-title{

    background:#8B1111;
    color:#fff;
    padding:12px;
    font-weight:600;
}

/* =================== */

.katalog{

    padding:60px 0 100px;
}

.produk-grid{

    display:grid;

    grid-template-columns:repeat(3,350px);

    justify-content: center;

    gap:35px;
}

.produk-card{

    width: 350px;

    height: 550px;

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 0 15px rgba(0,0,0,.1);

    transition:.3s;
}

.produk-card:hover{

    transform:translateY(-5px);
}

/* .produk-card img{

    width:100%;
    height:270px;

    object-fit:cover;
} */

.produk-card img{
    width:100%;
    height:auto;
    display:block;
}

.produk-body{

    padding:20px;
}

.deskripsi{

    font-size:14px;

    color:#555;

    margin-bottom:15px;

    line-height:1.5;
}

.harga-lama{

    color:#999;

    text-decoration:line-through;

    display:block;

    margin-bottom:5px;
}

.produk-body h3{

    color:#B22222;

    font-size:24px;

    font-weight:700;
}

.copyright{
    text-align: center;
    padding-top: 25px;
}

.copyright h4{
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 400; /* Regular */
    margin: 0;
}

/* ========================= */

.contact-gallery{

    width:90%;
    max-width:1400px;

    margin:auto;

    padding:80px 0;
}

/* ========================= */

.section-title{

    text-align:center;

    margin-bottom:35px;
}

.section-title h2{

    color:#8B1111;

    font-size:40px;

    font-weight:700;
}
.section-title p{

    font-size:16px;

    color:#7a1111;

    line-height:1.6;

    margin-bottom:35px;
}

/* ========================= */

.contact-info{

    display:flex;

    justify-content:center;

    gap:80px;

    margin-bottom:50px;

    flex-wrap:wrap;
}

.contact-item{

    display:flex;

    align-items:center;

    gap:18px;
}

.contact-item img{

    width:42px;
}

.contact-item p{

    margin:2px 0;

    color:#8B1111;

    font-size:18px;

    font-weight:500;
}

/* ========================= */

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;
}

.gallery-grid img{

    width:100%;

    height:250px;

    object-fit:cover;

    border-radius:18px;

    transition:.3s;

    cursor:pointer;
}

.gallery-grid img:hover{

    transform:scale(1.03);
}

/* gambar besar */

.gallery-grid .large{

    grid-column:span 2;

    grid-row:span 2;

    height:520px;
}