/* ===============================
   FONT
================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

html {
  scroll-behavior: smooth;
}

/* ===============================
   RESET
================================ */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ===============================
   BODY
================================ */
body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: linear-gradient(135deg, #f8fbff, #eef5ff);
  color: #111827;
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
}

/* ===============================
   SECTION
================================ */
.terms-section {
  padding: clamp(64px, 12vw, 120px)
           clamp(16px, 6vw, 80px);
}

.terms-container {
  max-width: 880px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 18px;
  padding: clamp(32px, 6vw, 56px);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.06);
}

/* ===============================
   TITLE
================================ */
h1 {
  font-size: clamp(32px, 6vw, 44px);
  font-weight: 700;
  margin-bottom: 24px;
  letter-spacing: -0.6px;
}

h2 {
  font-size: clamp(22px, 4vw, 28px);
  font-weight: 600;
  margin-top: 56px;
  margin-bottom: 18px;
  letter-spacing: -0.3px;
}

/* ===============================
   TEXT
================================ */
.welcome {
  font-size: clamp(15px, 2.8vw, 17px);
  color: #374151;
  margin-bottom: 40px;
  max-width: 720px;
}

ol {
  padding-left: 22px;
}

ol li {
  font-size: clamp(15px, 2.8vw, 17px);
  color: #1f2937;
  margin-bottom: 18px;
  line-height: 1.85;
}

/* ===============================
   FOOTER
================================ */
.footer {
  background-color: #0F172A;
  padding: 48px 20px;
  color: #ffffff;
  text-align: center;
  margin-top: 80px;
}

.footer-section h3 {
  font-size: 15px;
  margin-bottom: 12px;
  border-bottom: 2px solid #1EA0FF;
  display: inline-block;
  padding-bottom: 4px;
  font-weight: 600;
}

.footer-section a {
  display: block;
  color: #cfe8ff;
  margin: 8px 0;
  font-size: 15px;
  text-decoration: none;
  transition: color 0.25s ease;
}

.footer-section a:hover {
  color: #ffffff;
}

.footer-bottom {
  margin-top: 28px;
  font-size: 14px;
  opacity: 0.75;
}

/* ===============================
   RESPONSIVE
================================ */

/* HP */
@media (max-width: 480px) {
  h1 {
    line-height: 1.25;
  }

  ol {
    padding-left: 18px;
  }

  .terms-container {
    padding: 28px 22px;
  }
}

/* Tablet */
@media (min-width: 600px) and (max-width: 1024px) {
  .terms-container {
    max-width: 820px;
  }
}

/* Laptop */
@media (min-width: 1025px) {
  .terms-container {
    max-width: 900px;
  }
}
.terms-divider {
  margin: 56px 0;
  text-align: center;
}

.terms-divider hr {
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, #cbd5e1, transparent);
  margin: 20px 0;
}

.terms-divider p {
  font-size: 15px;
  color: #374151;
  line-height: 1.7;
}