*{
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    margin:0;
    background:linear-gradient(160deg,#eef2ff,#faf5ff,#fdf2f8);
    color:#1f2937;
}

/* ================= HERO ================= */

.hero{
    padding:60px 16px;
    display:flex;
    justify-content:center;
    align-items: center;
    min-height: 450px;
    background: 
        linear-gradient(135deg, rgba(136, 175, 236, 0.85), rgba(126, 165, 250, 0.75)),
        url("../images/hero-bg.jpg");
    background-size:cover;
    background-position:center;
}

.hero-card{
    background:#ffffff;
    border-radius:28px;
    padding:50px;
    box-shadow:0 25px 50px rgba(0,0,0,.15);
    max-width:1100px; 
    width: 95%;
}

.hero-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.hero-text {
    flex: 1.2; /* Teks mengambil ruang sedikit lebih banyak */
}

.hero-image {
    flex: 0.8; /* Gambar mengambil ruang lebih sedikit */
    display: flex;
    justify-content: center;
}

/* BAGIAN INI YANG MEMPERBAIKI UKURAN GAMBAR */
.hero-image img {
    max-width: 380px; /* Batasi lebar maksimal gambar agar tidak "meledak" */
    width: 100%;      /* Biar tetap responsif */
    height: auto;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}

.hero-card h1{
    text-align:left;
    margin: 0 0 20px 0;
    font-size:2.4rem;
    font-weight:800;
    color: #1e3a8a;
}

.hero-card p{
    text-align:left;
    color:#4b5563;
    line-height:1.7;
    margin-bottom: 15px;
    text-indent: 0;
}

/* ================= SECTION & GRID ================= */

.section{
    max-width:1200px;
    margin:40px auto;
    padding:40px 18px 90px;
    background:#ffffff;
    border-radius:28px;
    box-shadow:0 25px 45px rgba(0,0,0,.05);
}

.section h2{
    text-align:center;
    font-size:1.7rem;
    margin-bottom:40px;
    font-weight:600;
}

.grid{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
}

@media(min-width:768px){
    .grid{ grid-template-columns:repeat(2,1fr); }
}

@media(min-width:1100px){
    .grid{ grid-template-columns:repeat(3,1fr); }
}

/* ================= CARD ================= */

.card{
    background:#fff;
    border: 1px solid #f3f4f6;
    border-radius:22px;
    padding:26px;
    box-shadow:0 15px 30px rgba(0,0,0,.05);
    display:flex;
    flex-direction:column;
    height:100%;
    transition:.3s ease;
    position: relative;
}

.card:hover{
    transform:translateY(-8px);
}

.owner-info {
    font-size: 0.75rem;
    color: #9ca3af;
    margin-bottom: 10px;
    font-weight: 500;
    border-bottom: 1px solid #f3f4f6;
    padding-bottom: 5px;
}

.card h3{
    margin:5px 0 8px;
    font-size:1.2rem;
    color: #1f2937;
}

.card p{
    text-align:left;
    font-size:.9rem;
    color:#6b7280;
    line-height:1.6;
    margin:14px 0 22px;
    flex-grow:1;
}

/* ================= TAG, BTN, FOOTER ================= */

.tag{
    display:inline-block;
    padding:6px 14px;
    border-radius:10px;
    font-size:.7rem;
    font-weight:700;
    text-transform: uppercase;
}
.branding{ background:#ebefff; color:#4338ca; }
.manajemen{ background:#fffcec; color:#92400e; }
.edukasi{ background:#f6edff; color:#6b21a8; }
.hotel{ background:#ffe1f3; color:#651624; }
.simulasi{ background:#fffdd8; color:#716f05; }
.keuangan{ background:#f0ffee; color:#116807; }

.btn{
    padding:14px;
    text-align:center;
    background:linear-gradient(135deg,#6366f1,#ec4899);
    color:#fff;
    border-radius:12px;
    text-decoration:none;
    font-weight:600;
    transition: 0.3s;
}

footer{
    text-align:center;
    padding:40px 20px;
    font-size:.8rem;
    color:#6b7280;
}

/* RESPONSIVE */
@media(max-width:850px){
    .hero-content {
        flex-direction: column; 
        text-align: center;
    }
    .hero-card h1 { text-align: center; font-size: 1.8rem; }
    .hero-card p { text-align: center; }
    .hero-image { order: -1; } 
    .hero-image img { max-width: 250px; } /* Lebih kecil lagi di mobile */
}