/* pages/terms.css  -  Terms of use. Distinct from privacy: numbered articles in a vertical ledger, no sticky TOC. */
.terms-cover {
  padding: var(--s-7) 0 var(--s-5);
  border-bottom: 1px solid var(--rule);
  background: linear-gradient(135deg, rgba(98,160,107,0.06), transparent 50%);
}
.terms-stamp { font-family: var(--font-mono); font-size: 14px; letter-spacing: 0.3em; color: var(--forest); text-transform: uppercase; padding: 6px 12px; border: 1px solid var(--forest); display: inline-block; }
.terms-h1 { font-family: var(--font-serif); font-size: clamp(2rem, 4vw, 3rem); margin: var(--s-4) 0 var(--s-3); max-width: 900px; }
.terms-meta { display: flex; gap: var(--s-5); font-family: var(--font-mono); font-size: 14px; color: var(--ink-mute); padding-top: var(--s-3); border-top: 1px solid var(--rule); }
.terms-meta strong { color: var(--ink); }

.terms-body { padding: var(--s-7) 0; }
.terms-body__intro {  font-family: var(--font-serif); font-size: 1.15rem; color: var(--ink-dim); margin-bottom: var(--s-6); line-height: 1.6; }

.terms-articles { counter-reset: art;  }
.terms-article {
  counter-increment: art;
  display: grid; grid-template-columns: 80px 1fr; gap: var(--s-5);
  padding: var(--s-5) 0; border-bottom: 1px solid var(--rule);
}
.terms-article__num {
  font-family: var(--font-serif); font-size: 3rem;
  font-weight: 700; color: var(--forest); line-height: 1;
}
.terms-article__num::before { content: "Art. " counter(art, decimal-leading-zero); display: block; font-family: var(--font-mono); font-size: 14px; color: var(--ink-mute); letter-spacing: 0.18em; font-weight: 500; margin-bottom: 4px; }
.terms-article__num::after { content: ""; display: block; width: 24px; height: 2px; background: var(--forest); margin-top: var(--s-2); }
.terms-article__body h2 { font-family: var(--font-serif); font-size: 1.4rem; margin: 0 0 var(--s-3); }
.terms-article__body p, .terms-article__body ul, .terms-article__body ol { color: var(--ink-dim); line-height: 1.65; }
.terms-article__body a { color: var(--forest); border-bottom: 1px solid currentColor; }
