/* ========================================
   LEGAL PAGES — Terms / Privacy / Refund
   Modern Academic — Forest Navy + Warm White + Gold
   ======================================== */

.legal {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 4rem) var(--gutter) clamp(4rem, 8vw, 6rem);
  position: relative;
  z-index: 2;
}

.legal-head {
  margin-bottom: 3rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--rule);
}

.legal-head .section-eyebrow {
  margin-bottom: 1.5rem;
}

.legal-head h1 {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5.5vw, 4rem);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin-bottom: 1.2rem;
  font-variation-settings: "opsz" 144;
}

.legal-meta {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  color: var(--ink-mid);
  font-weight: 400;
}

.legal-body {
  color: var(--ink-soft);
  font-weight: 400;
}

.legal-lead {
  font-family: var(--font-display);
  font-size: 1.4rem !important;
  line-height: 1.55 !important;
  color: var(--ink) !important;
  font-weight: 400 !important;
  margin-bottom: 3rem !important;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--rule);
  font-variation-settings: "opsz" 144;
}

.legal-body h2 {
  font-family: var(--font-display);
  font-size: 1.85rem;
  font-weight: 500;
  color: var(--ink);
  margin-top: 3rem;
  margin-bottom: 1rem;
  letter-spacing: -0.015em;
  line-height: 1.2;
  font-variation-settings: "opsz" 144;
}

.legal-body h3 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--ink);
  margin-top: 1.8rem;
  margin-bottom: 0.6rem;
  font-style: italic;
}

.legal-body p {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 1.2rem;
  color: var(--ink-soft);
}

.legal-body ul {
  margin: 0 0 1.5rem 0;
  padding-left: 0;
  list-style: none;
}

.legal-body ul li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 0.7rem;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink-soft);
}

.legal-body ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.85rem;
  width: 10px;
  height: 1px;
  background: var(--gold);
}

.legal-body strong {
  color: var(--ink);
  font-weight: 600;
}

.legal-body a {
  color: var(--gold-deep);
  border-bottom: 1px solid var(--gold);
  padding-bottom: 1px;
  transition: all 0.2s ease;
}
.legal-body a:hover {
  color: var(--ink);
  border-bottom-color: var(--ink);
}

.contact-block {
  background: var(--bg-warm);
  border-left: 3px solid var(--gold);
  padding: 1.2rem 1.5rem;
  margin: 1.5rem 0 !important;
  font-size: 0.97rem !important;
  line-height: 1.7 !important;
  border-radius: 0 6px 6px 0;
}

/* Special callout box for the "short version" of refund policy */
.callout {
  background: var(--ink);
  color: var(--bg);
  padding: 2rem 2.2rem;
  border-radius: 12px;
  margin: 2rem 0 3rem;
  position: relative;
  overflow: hidden;
}
.callout::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle at top right, rgba(184, 137, 58, 0.15), transparent 60%);
  pointer-events: none;
}
.callout-list {
  list-style: none !important;
  padding-left: 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 0.8rem !important;
  margin-bottom: 0 !important;
  position: relative;
  z-index: 1;
}
.callout-list li {
  padding-left: 1.6rem !important;
  color: rgba(250, 250, 247, 0.92) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}
.callout-list li::before {
  background: var(--gold-light) !important;
  top: 0.85rem !important;
  width: 10px !important;
}
.callout-list li strong {
  color: var(--gold-light) !important;
  font-weight: 600;
}
