/* Legal pages (Terms). Same quiet, black, minimal direction as the rest of the site. */
html.legal-html, body.legal-page { height: auto; overflow: auto; overflow-x: hidden; }
.legal-page > header { position: absolute; }
.legal-page main { position: static; inset: auto; }

.l-article { padding: 0 var(--gutter, 16px) clamp(60px, 12vh, 140px); max-width: 1800px; margin-inline: auto; }
.l-hero { padding-top: clamp(110px, 16vh, 170px); padding-bottom: clamp(40px, 8vh, 96px); }
.l-top { display: flex; justify-content: space-between; color: var(--dim); }
.l-top a { color: var(--fg); } .l-top a:hover { color: var(--dim); }
.l-title { font: 500 clamp(44px, 9vw, 160px)/.92 var(--font); letter-spacing: -.05em; margin: clamp(28px, 6vh, 64px) 0 clamp(24px, 4vh, 44px); text-wrap: balance; }
.l-lead { font-size: clamp(17px, 1.6vw, 24px); line-height: 1.3; letter-spacing: -.015em; max-width: 38em; color: #d9d9d9; margin: 0; }

.l-sec { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: var(--gutter, 16px); padding: clamp(22px, 3.4vh, 38px) 0; border-top: 1px solid #262626; }
.l-sec h2 { grid-column: 1 / span 1; font: 500 17px/1.25 var(--font); letter-spacing: -.01em; margin: 0; }
.l-text { grid-column: 2 / span 2; }
.l-text p { font-size: clamp(16px, 1.2vw, 18px); line-height: 1.55; color: #d9d9d9; margin: 0 0 1em; max-width: 44em; }
.l-text p:last-child { margin-bottom: 0; }
.l-text a { color: var(--fg); border-bottom: 1px solid currentColor; } .l-text a:hover { color: var(--dim); }

.js .reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.js .reveal.in { opacity: 1; transform: none; }
@media (max-width: 900px) {
  .l-sec { grid-template-columns: 1fr; row-gap: 10px; }
  .l-sec h2, .l-text { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1; transform: none; transition: none; } }

/* cookie table */
.l-table { grid-column: 1 / -1; margin-top: 1.4em; overflow-x: auto; }
.l-table table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.4; min-width: 640px; }
.l-table th { text-align: left; font-weight: 400; color: var(--dim); padding: 0 16px 10px 0; border-bottom: 1px solid #262626; }
.l-table td { padding: 14px 16px 14px 0; border-bottom: 1px solid #262626; vertical-align: top; color: #d9d9d9; }
.l-table td:first-child { color: #fff; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; }

.l-lead a { border-bottom: 1px solid currentColor; } .l-lead a:hover { color: var(--dim); }
