@charset "utf-8";

.terms-shell {
  max-width: 980px;
  margin: 7rem auto 4rem;
  padding: 0 1.25rem;
}

.terms-hero {
  margin-bottom: 2rem;
  padding: 2.5rem 2.25rem;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, #f6f0e8 0%, #ffffff 100%);
  border: 1px solid #ece3d7;
}

.terms-kicker {
  margin: 0 0 0.85rem;
  font-size: 0.8rem;
  letter-spacing: 0.16rem;
  text-transform: uppercase;
  color: #8b6f47;
  font-weight: 700;
}

.terms-hero h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.05;
  color: #111;
}

.terms-intro {
  max-width: 720px;
  margin: 1rem 0 0;
  color: #4b5563;
  font-size: 1.02rem;
  line-height: 1.75;
}

.terms-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 1.25rem;
  padding: 2rem;
  box-shadow: 0 18px 40px rgba(17, 17, 17, 0.05);
}

.terms-section + .terms-section {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #efefef;
}

.terms-section h2 {
  margin: 0 0 1rem;
  font-size: 1.45rem;
  color: #111;
}

.terms-section p,
.terms-section li {
  color: #3f3f46;
  line-height: 1.75;
  font-size: 1rem;
}

.terms-point + .terms-point {
  margin-top: 1rem;
}

.terms-point h3,
.terms-highlight h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  color: #111;
}

.terms-highlight {
  padding: 1rem 1.1rem;
  background: #fbf7f0;
  border: 1px solid #eadfcc;
  border-radius: 0.9rem;
  margin-bottom: 1rem;
}

.terms-section ul {
  margin: 0.8rem 0 0 1.2rem;
  padding: 0;
}

.terms-section li + li {
  margin-top: 0.55rem;
}

@media (max-width: 768px) {
  .terms-shell {
    margin-top: 6rem;
  }

  .terms-hero,
  .terms-card {
    padding: 1.4rem;
  }

  .terms-section h2 {
    font-size: 1.25rem;
  }
}
