/* ============================================================
   GLOBAL
============================================================ */
body.home-page {
  margin: 0;
  padding: 0;
  color: #002368;
  background: #fff;
}

h1, h2, h3, p {
  margin: 0;
  padding: 0;
}

/* Default container spacing */
section {
  padding: 40px 20px;
}

@media (min-width: 768px) {
  section {
    padding: 60px 40px;
  }
}

/* Pastikan wrapper tidak memberi jarak */
.top-slider-wrapper {
  width: 100%;
  height: auto;
  margin: 0;
  padding-top: 72px;
  overflow: hidden;
}

/* Track */
.top-slider {
  display: flex;
  margin: 0;
  padding: 0;
}

/* Slide */
.top-slider .slide {
  min-width: 100%;
  padding: 0;
  margin: 0;
}

/* GAMBAR WAJIB FULL */
.top-slider img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

@media (max-width: 600px) {
  .top-slider-wrapper,
  .top-slider,
  .top-slider .slide,
  .top-slider .slide img {
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-slider-wrapper {
    overflow: hidden !important;
  }
}

.headline-box {
  text-align: center;
  background: #f5f8fc;
  color: #002368;
  padding: 40px 20px;
  border-bottom: 1px solid #e2e8f4;
}

/* Mobile (default) */
.headline-box h1 {
  font-size: 1.3rem;
  font-weight: 600;
  color: #002368;
}

.headline-box p {
  margin-top: 8px;
  font-size: 0.85rem;
  color: #4a5f8a;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* Desktop */
@media (min-width: 768px) {
  .headline-box {
    padding: 60px 40px;
  }

  .headline-box h1 {
    font-size: 1.8rem;   /* TURUN dari 2.2rem */
    font-weight: 700;
  }

  .headline-box p {
    font-size: 1rem;
    margin-top: 12px;
  }
}


/* ============================================================
   HERO IMAGE
============================================================ */
.hero img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

/* ============================================================
   HERO TEXT BLOCK
============================================================ */
.hero-text {
  padding: 35px 20px;
  line-height: 1.6;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.hero-text h2 {
  font-size: 1.3rem;
  margin-bottom: 10px;
  color: #002368;
  font-weight: 600;
}


.hero-text p {
  font-size: 0.85rem;
  margin-bottom: 18px;
}

.hero-address {
  background: #f1f4fb;
  padding: 20px;
  border-radius: 12px;
  margin-top: 5px;
}

.hero-address p {
  margin-bottom: 5px;
  font-size: 0.85rem;
}

@media (min-width: 768px) {
  .hero-text h2 {
    font-size: 1.55rem;
  }

  .hero-text p {
    font-size: 1.05rem;
  }
}


/* ============================================================
   HOME FOTO PREVIEW SECTION
============================================================ */
.home-foto-preview {
  text-align: center;
  padding: 50px 20px;
  background: #f8f9fc;
}

.home-foto-preview img {
  width: 30%;        /* bukan 100% */
  max-width: 480px;  /* lebih kecil dari 650px */
  margin: 0 auto;
  display: block;
}


.home-foto-preview h2 {
  margin-top: 20px;
  font-size: 1.6rem;
  color: #002368;
}

.home-foto-preview p {
  margin-top: 10px;
  font-size: 1rem;
}

.home-foto-btn {
  display: inline-block;
  margin-top: 20px;
  background: #002368;
  color: #fff;
  padding: 12px 24px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: 0.3s ease;
}

.home-foto-btn:hover {
  background: #003a90;
}

/* ============================================================
   INTRO SECTION
============================================================ */
.home-intro {
  max-width: 900px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.7;
}

.home-intro h2 {
  font-size: 1.6rem;
  margin-bottom: 18px;
  color: #002368;
}

.home-intro p {
  margin-bottom: 15px;
  font-size: 1rem;
  color: #001b45;
}

.home-intro a {
  color: #0050d8;
  font-weight: 600;
  text-decoration: underline;
}

.home-intro hr {
  margin: 30px 0;
  border: 0;
  border-bottom: 1px solid #d4dcef;
}
body {
  padding-top: 80px; /* untuk desktop */
}

@media (max-width: 768px) {
  body {
    padding-top: 70px; /* untuk mobile */
  }
}

