/* GLOBAL RESET + ROOT VARIABLE TETAP SAMA */

/* Layout utama agar footer selalu di bawah */
body {
  font-family: "Nunito", sans-serif;
  background: #faf9ff;
  color: var(--text);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Header tetap normal */
.topbar .container.nav-center {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 0;
}

.logo {
  max-width: 160px;
}

/* Hero menjadi FLEX CENTER penuh */
.hero {
  flex: 1; /* mengambil sisa tinggi layar */
  display: flex;
  justify-content: center; /* center vertical */
  align-items: start; /* center horizontal */
  text-align: center;
  padding: 40px 0;
}

.hero-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
  width: 100%;
}

.hero-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start; /* pastikan konten menempel ke kiri kolom */
  gap: 18px;
  padding-top: 0px !important;
  padding: 24px 24px 24px 24px;
}

.best-regards {
  margin-top: 32px !important;
}

/* Batasi lebar area konten agar membentuk kolom seperti gambar */
.hero-inner {
  max-width: 1100px;
  margin: 0 auto;
  align-items: flex-start; /* pusatkan container tapi konten kiri */
}

/* Paragraf di dalam hero-content: kolom terbatas, rata kiri, dan jarak baris lebih longgar */
.hero-content p {
  max-width: 100%;
  margin: 0;
  text-align: left;
  font-size: 18px;
  line-height: 1.8;
  color: var(--text);
}

/* Buat setiap <br> di dalam hero-content menjadi block-level dengan margin
   sehingga setiap break memiliki jarak atas dan bawah */
.hero-content br {
  display: block;
  margin: 0.8em 0; /* jarak atas/bawah, sesuaikan bila perlu */
  line-height: normal;
}
.hero-content h1 {
  font-size: 32px;
  font-weight: 900;
  line-height: 1.3;
}

.gradient-text {
  background: linear-gradient(90deg, #6c4cc3, #a586ff);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Illustration */
.hero-illustration img {
  width: 100%;
  filter: drop-shadow(0 14px 34px rgba(0, 0, 0, 0.15));
  border-radius: 12px;
}

/* Footer tetap di bawah */
.footer {
  text-align: center;
  padding: 40px 0;
  font-size: 14px;
  color: var(--muted);
  margin-top: auto; /* IMPORTANT: agar footer tetap di bawah */
}

/* Desktop size — tetap center */
@media (min-width: 860px) {
  .hero-content h1 {
    font-size: 40px;
  }
}

/* =========================================
   MOBILE RESPONSIVE < 600px
========================================= */
@media (max-width: 600px) {
  .hero-inner {
    gap: 24px;
    padding: 0 16px;
    align-items: center; /* supaya semua center di mobile */
  }

  .hero-illustration img {
    max-width: 90%;
    border-radius: 10px;
  }

  .hero-content {
    padding: 0; /* hilangkan padding berlebih */
    align-items: center !important; /* center semua teks di mobile */
  }

  .hero-content p {
    text-align: center !important;
    font-size: 16px;
    line-height: 1.6;
  }

  .best-regards {
    margin-top: 20px !important;
  }
}

/* =========================================
   EXTRA SMALL MOBILE < 400px
========================================= */
@media (max-width: 400px) {
  .logo {
    max-width: 120px;
  }

  .hero-content p {
    font-size: 15px;
  }

  .hero-inner {
    gap: 20px;
  }
}

@media (max-width: 600px) {
  .hero-illustration img {
    width: 100%; /* tetap full layar */
    min-width: 100%; /* tidak mengecil */
    max-width: none; /* hilangkan batas resize */
  }
}

@media (max-width: 600px) {
  .hero-inner {
    width: 100%;
    max-width: none !important; /* jangan 1100px */
    padding: 0;
  }

  .hero-illustration img {
    width: 100%; /* penuh 1 layar */
    max-width: 100vw;
  }
}

@media (max-width: 600px) {
  .hero-content {
    align-items: flex-start !important; /* kontainer tetap kiri */
  }

  .hero-content p {
    text-align: left !important; /* paragraph tetap kiri */
  }
}

@media (max-width: 600px) {
  .hero-content {
    align-items: flex-start !important; /* tetap kiri */
    padding: 12px 12px 12px 12px !important; /* padding tetap sama */
  }

  .hero-content p {
    text-align: left !important; /* tetap kiri */
  }
}
