/* ==========================================================================
   Legal / generic page — Privacy Policy, Terms & Conditions, and any page an
   editor creates without a dedicated template.

   A single readable prose column. Measure is capped around 68ch because these
   pages are long-form text, not marketing layout.
   ========================================================================== */

.legal {
  padding-block: clamp(3rem, 6vw, 5.5rem);
  background: #fff;
}

.legal__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.legal__body {
  width: 100%;
  max-width: 68ch;
  font-family: var(--font-body);
  color: var(--ink);
  font-size: 1.0625rem;
  line-height: 1.75;
}

/* --- Headings ------------------------------------------------------------ */

.legal__body h2 {
  font-family: var(--font-display);
  font-size: clamp(1.375rem, 2.4vw, 1.75rem);
  line-height: 1.25;
  font-weight: 600;
  color: var(--black);
  margin-block: 2.75rem 0.875rem;
  padding-bottom: 0.625rem;
  border-bottom: 2px solid rgba(var(--green-rgb), .28);
}

.legal__body h2:first-child {
  margin-top: 0;
}

.legal__body h3 {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--black);
  margin-block: 1.75rem 0.5rem;
}

/* --- Body ---------------------------------------------------------------- */

.legal__body p {
  margin-block: 0 1.125rem;
}

.legal__body strong {
  color: var(--black);
  font-weight: 600;
}

.legal__body a {
  color: var(--green-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .2s var(--ease);
}

.legal__body a:hover,
.legal__body a:focus-visible {
  color: var(--orange-dark);
}

/* --- Lists --------------------------------------------------------------- */

.legal__body ul,
.legal__body ol {
  margin-block: 0 1.25rem;
  padding-left: 1.35rem;
}

.legal__body li {
  margin-bottom: .5rem;
}

.legal__body ul li::marker {
  color: var(--green);
}

.legal__body ol li::marker {
  color: var(--green-dark);
  font-weight: 600;
}

/* --- Callout: the intro / contact block ---------------------------------- */

.legal__body blockquote {
  margin: 1.75rem 0;
  padding: 1.25rem 1.5rem;
  background: var(--surface-gray);
  border-left: 4px solid var(--green);
  border-radius: 0 8px 8px 0;
}

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

/* --- Definition-style contact rows --------------------------------------- */

.legal__body table {
  width: 100%;
  border-collapse: collapse;
  margin-block: 0 1.5rem;
  font-size: .9875rem;
}

.legal__body th,
.legal__body td {
  text-align: left;
  padding: .75rem .875rem;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  vertical-align: top;
}

.legal__body th {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--black);
  width: 34%;
  white-space: nowrap;
}

/* --- Footer note --------------------------------------------------------- */

.legal__updated {
  width: 100%;
  max-width: 68ch;
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(0, 0, 0, .1);
  font-family: var(--font-mono);
  font-size: .8125rem;
  letter-spacing: .02em;
  color: #6a6a6a;
}

@media (max-width: 767px) {
  .legal__body { font-size: 1rem; }
  .legal__body th { width: auto; white-space: normal; }
  .legal__body table,
  .legal__body tbody,
  .legal__body tr { display: block; }
  .legal__body th { display: block; border-bottom: 0; padding-bottom: .25rem; }
  .legal__body td { display: block; padding-top: 0; }
}
