.terms-main { max-width: 1080px; margin: 0 auto; padding: 2rem 1.5rem 3rem; color: var(--text-primary); letter-spacing: 0; }
.terms-brand, .terms-back, .terms-format a { display: inline-flex; align-items: center; gap: .5rem; }
.terms-brand { color: inherit; text-decoration: none; }
.terms-brand img { object-fit: contain; }
.terms-main h1 { font-size: 2rem; line-height: 1.25; margin: 1.25rem 0 1rem; letter-spacing: 0; }
.terms-main h2 { font-size: 1.2rem; line-height: 1.4; margin: 0 0 .65rem; letter-spacing: 0; }
.terms-main p, .terms-main dd { font-size: 1rem; line-height: 1.65; color: var(--text-secondary); }
.terms-lead { max-width: 80ch; margin-bottom: 1.75rem; }
.terms-formats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid var(--border-color); }
.terms-format { padding: 1.5rem 1.5rem 1.5rem 0; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.terms-format + .terms-format { padding-left: 1.5rem; padding-right: 0; border-left: 1px solid var(--border-color); }
.terms-format .terms-format-icon { font-size: 2rem; color: var(--primary); margin: 0 0 .75rem; }
.terms-format p { margin: 0 0 1.25rem; }
.terms-format a { margin-top: auto; font-weight: 600; line-height: 1.5; }
.terms-main a { color: var(--primary); text-underline-offset: .2em; }
.terms-main a .material-icons-outlined { flex-shrink: 0; font-size: 1.2rem; color: currentColor; margin: 0; }
.terms-definitions { margin: 0; }
.terms-definitions > div { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 1.5rem; padding: 1.25rem 0; border-bottom: 1px solid var(--border-color); }
.terms-definitions dt { font-weight: 600; line-height: 1.65; }
.terms-definitions dd { margin: 0; }
.terms-check { padding: 1.5rem 0; border-bottom: 1px solid var(--border-color); }
.terms-check p { margin: 0 0 .75rem; }
.terms-sources { padding-top: 1.5rem; }
.terms-sources a { display: block; width: fit-content; margin: .6rem 0; line-height: 1.5; }
.terms-main :is(h1, h2, p, dt, dd, a) { overflow-wrap: anywhere; }
@media (max-width: 650px) {
  .terms-main { padding: 1.5rem 1.1rem 2rem; }
  .terms-main h1 { font-size: 1.65rem; }
  .terms-formats { grid-template-columns: minmax(0, 1fr); }
  .terms-format, .terms-format + .terms-format { padding: 1.25rem 0; border-left: 0; }
  .terms-format + .terms-format { border-top: 1px solid var(--border-color); }
  .terms-definitions > div { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
}
