.policy-content {
  max-width: 900px;
  color: #374151;
  font-size: 0.975rem;
  line-height: 1.75;
}

.policy-content h2 {
  margin: 0 0 0.75rem;
  color: #111827;
  font-size: 1.45rem;
  font-weight: 850;
  letter-spacing: -0.02em;
}

.policy-content h2:not(:first-child) { margin-top: 2rem; }
.policy-content h3 { margin: 1.5rem 0 0.5rem; color: #111827; font-size: 1.05rem; font-weight: 800; }
.policy-content p { margin: 0 0 1rem; }
.policy-content ul, .policy-content ol { margin: 0.5rem 0 1.25rem 1.25rem; padding: 0; }
.policy-content li { margin-bottom: 0.5rem; padding-left: 0.25rem; }
.policy-content ul { list-style: disc; }
.policy-content ol { list-style: decimal; }
.policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.25rem 0; }
.policy-grid article { padding: 1.25rem; border: 1px solid #e5e7eb; border-radius: 0.875rem; background: #f9fafb; }
.policy-grid article h3 { margin-top: 0; }
.policy-grid article p { margin-bottom: 0; font-size: 0.9rem; }
.policy-note { margin-top: 1.5rem; padding: 1rem 1.125rem; border-left: 4px solid #f4a300; border-radius: 0.5rem; background: #fff8e8; color: #1f2937; }
.policy-updated { color: #6b7280; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.policy-content details { margin-bottom: 0.75rem; border: 1px solid #e5e7eb; border-radius: 0.75rem; background: #fff; }
.policy-content summary { padding: 1rem 1.125rem; color: #111827; font-weight: 800; cursor: pointer; }
.policy-content details p { margin: 0; padding: 0 1.125rem 1rem; }

@media (max-width: 767px) {
  .policy-grid { grid-template-columns: 1fr; }
  .policy-content { font-size: 0.925rem; }
  .policy-content h2 { font-size: 1.25rem; }
}
