/* ============================================
   TERMS & CONDITIONS — Page Styles
   ============================================ */

/* ---------- Title Hero ---------- */
.terms-hero {
  padding-top: calc(var(--navbar-height) + var(--section-padding));
  padding-bottom: var(--section-padding-half);
  padding-left: var(--grid-gutter);
  padding-right: var(--grid-gutter);
}

.terms-hero__inner {
  max-width: var(--grid-col-8);
}

.terms-hero .badge {
  margin-bottom: var(--gap-1);
}

.terms-hero__heading {
  font-family: var(--font-headings);
  font-size: var(--type-h1);
  line-height: var(--lh-h1);
  font-variation-settings: "wght" 400;
  margin-bottom: var(--gap-15);
}

.terms-hero__intro {
  font-size: var(--type-h5);
  line-height: var(--lh-h5);
  font-variation-settings: "wght" 375;
  color: var(--color-white);
}

/* ---------- Article Content ---------- */
.terms-content {
  padding-top: var(--gap-2);
  padding-bottom: var(--section-padding);
  padding-left: var(--grid-gutter);
  padding-right: var(--grid-gutter);
}

.terms-content__inner {
  max-width: var(--grid-col-8);
}

/* Article blocks */
.article {
  margin-bottom: var(--gap-2);
}

.article p {
  font-size: var(--type-base-unit);
  line-height: 1.7em;
  font-variation-settings: "wght" 375;
  color: var(--color-white-muted);
  margin-bottom: var(--gap-1);
}

.article p:last-child {
  margin-bottom: 0;
}

/* Section headings within articles */
.article h6 {
  font-family: var(--font-headings);
  font-size: var(--type-h5);
  line-height: var(--lh-h5);
  font-variation-settings: "wght" 400;
  color: var(--color-white);
  margin-bottom: var(--gap-1);
  padding-top: var(--gap-1);
}

/* Lists */
.article ul {
  list-style: none;
  padding: 0;
  margin-bottom: var(--gap-1);
}

.article ul li {
  font-size: var(--type-base-unit);
  line-height: 1.7em;
  font-variation-settings: "wght" 375;
  color: var(--color-white-muted);
  padding-left: var(--gap-1);
  margin-bottom: var(--gap-1);
  position: relative;
}

.article ul li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: var(--color-brand);
  border-radius: 50%;
}

.article ul li:last-child {
  margin-bottom: 0;
}

/* Blockquote */
.article blockquote {
  border-left: 2px solid var(--color-brand);
  padding-left: var(--gap-1);
  margin-top: var(--gap-1);
  margin-bottom: var(--gap-1);
  font-size: var(--type-base-unit);
  line-height: 1.7em;
  font-variation-settings: "wght" 400;
  color: var(--color-white);
  font-style: normal;
}

/* Badge mono variant for date */
.badge--mono {
  font-family: var(--font-badges);
  font-weight: 500;
  font-size: var(--type-small);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-white-muted);
  border: none;
  padding: 0;
}

/* ---------- CTA Section ---------- */
.cta-section {
  padding: var(--section-padding) var(--grid-gutter);
  position: relative;
  background-image: linear-gradient(90deg, #555, #868685);
  overflow: hidden;
}

.cta-section__grid-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.25;
  mix-blend-mode: overlay;
  background-image: url('../../images/grid-pattern.svg');
  background-position: 0 -12px;
  background-repeat: repeat;
  background-size: auto;
  pointer-events: none;
}

.cta-section__box {
  position: relative;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(var(--blur-box));
  -webkit-backdrop-filter: blur(var(--blur-box));
  border: none;
  border-radius: 0;
  padding: var(--gap-15);
  width: var(--grid-col-10);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
  align-items: flex-start;
}

.cta-section__heading {
  margin-bottom: 0;
}

.cta-section__desc {
  font-size: var(--type-body-size);
  color: var(--color-white-muted);
  max-width: 600px;
  line-height: var(--lh-body);
}

/* ---------- Scroll Reveal Animations ---------- */
[data-animate] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

[data-animate="scale"] {
  transform: scale(0.95);
}

[data-animate="scale"].is-visible {
  opacity: 1;
  transform: scale(1);
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  .terms-hero__inner,
  .terms-content__inner {
    max-width: 100%;
  }

  .terms-hero__heading {
    font-size: var(--type-h2);
  }

  .terms-hero__intro {
    font-size: var(--type-lead);
  }

  .cta-section__box {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .terms-hero {
    padding-top: calc(var(--navbar-height) + var(--gap-3));
    padding-bottom: var(--gap-15);
  }

  .terms-content {
    padding-top: var(--gap-15);
    padding-bottom: var(--gap-3);
  }

  .terms-hero__heading {
    font-size: var(--type-h3);
  }

  .article p,
  .article ul li,
  .article blockquote {
    font-size: 14px;
  }
}

@media (max-width: 479px) {
  .terms-hero {
    padding-left: var(--gap-1);
    padding-right: var(--gap-1);
  }

  .terms-content {
    padding-left: var(--gap-1);
    padding-right: var(--gap-1);
  }
}
