.terms-page { margin: clamp(2rem, 6vw, 5rem) 0 clamp(3rem, 7vw, 6rem); }
.terms-content { max-width: 1040px; margin-inline: auto; }
.terms-page h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.12; margin-bottom: 1.5rem; }
.terms-page .terms-introduction { font-size: clamp(1.125rem, 2vw, 1.375rem); margin-bottom: 1rem; }
.terms-downloads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.terms-downloads .btn { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; margin: 0; text-align: left; white-space: normal; text-transform: none; line-height: 1.5; font-size: 1rem; }
.terms-format { font-size: .75rem; font-weight: 400; }
.terms-downloads .terms-format { flex-shrink: 0; border: 1px solid currentColor; border-radius: 3px; padding: .1rem .35rem; }
.terms-page a:focus-visible { outline: 3px solid #151515; outline-offset: 4px; }
.terms-archive { margin-top: clamp(3rem, 6vw, 5rem); }
.terms-archive h2 { font-size: 1.375rem; line-height: 1.4; margin-bottom: 1.25rem; }
.terms-archive table { width: 100%; table-layout: fixed; font-size: .9375rem; line-height: 1.6; color: #454545; }
.terms-archive th, .terms-archive td { padding: 1rem .75rem; border-bottom: 1px solid #dedede; vertical-align: top; }
.terms-archive thead th { font-size: .8125rem; font-weight: 600; background: #f5f6f4; }
.terms-archive th:first-child { width: 44%; }
.terms-archive th:nth-child(2) { width: 28%; }
.terms-archive tbody th { font-weight: 400; }
.terms-archive td a { display: inline-block; margin-right: .75rem; padding-block: .125rem; color: #315d30; text-decoration: underline; text-underline-offset: 3px; }
.terms-archive td a:hover { color: #151515; }
.terms-archive time { white-space: nowrap; }
@media (max-width: 767px) {
    .terms-downloads { grid-template-columns: 1fr; }
    /* This sheet is loaded only on the terms page; let its shared footer fit too. */
    .footer-links ul { flex-wrap: wrap; }
    .terms-archive table { font-size: .8125rem; }
    .terms-archive th, .terms-archive td { padding: .75rem .35rem; overflow-wrap: break-word; hyphens: auto; }
    .terms-archive th:first-child { width: 36%; }
    .terms-archive th:nth-child(2) { width: 34%; }
    .terms-downloads .btn { padding: 1rem; font-size: .9375rem; }
    .terms-archive thead th { font-size: .75rem; }
    .terms-archive td a { display: block; margin: 0; padding-block: .35rem; }
    .terms-archive time { font-size: .75rem; }
}
