/* ---------- Privacy Policy + Terms of Service ---------- */
:root { --mono: "JetBrains Mono", ui-monospace, monospace; --accent: #ff4a12; }

.lhero { padding: 17rem 2.4rem 5rem; }
.lhero__in { max-width: 160rem; margin: 0 auto; }
.lhero__title {
  margin: 0 0 0 -0.05em;
  font-size: clamp(5rem, 8.6vw, 24rem);
  font-weight: 500; line-height: 0.95; letter-spacing: -0.06em;
  animation: lrise 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}
.lhero__meta { margin: 2.4rem 0 0; font: 500 1.2rem/1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; color: #8a8a8a; animation: lrise 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.25s both; }
@keyframes lrise { from { opacity: 0; transform: translateY(1.8rem); } to { opacity: 1; transform: none; } }

.legal { padding: 2rem 2.4rem 14rem; }
.legal__in { max-width: 160rem; margin: 0 auto; display: grid; grid-template-columns: 24rem minmax(0, 1fr); gap: 8rem; align-items: start; border-top: 1px solid rgba(255, 255, 255, 0.14); padding-top: 5rem; }

/* table of contents, pinned while you read */
.legal__toc { position: sticky; top: 10rem; }
.legal__toch { margin: 0 0 2rem; font: 500 1.2rem/1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; color: #8a8a8a; }
.legal__toc ol { margin: 0; padding: 0; list-style: none; counter-reset: t; display: grid; gap: 1.1rem; }
.legal__toc li { counter-increment: t; display: grid; grid-template-columns: 3rem 1fr; font-size: 1.4rem; line-height: 1.3; }
.legal__toc li::before { content: counter(t, decimal-leading-zero); font: 400 1.1rem/1.6 var(--mono); color: #6f6f6f; }
.legal__toc a { color: #a5a5a5; transition: color 0.2s ease; }
.legal__toc a:hover { color: #fff; }

.legal__body { max-width: 90rem; }
.legal__lead { margin: 0 0 6rem; font-size: clamp(2rem, 1.9vw, 4rem); font-weight: 500; line-height: 1.25; letter-spacing: -0.035em; text-wrap: pretty; }
.legal__s { padding: 4rem 0; border-top: 1px solid rgba(255, 255, 255, 0.14); scroll-margin-top: 9rem; }
.legal__s h2 { margin: 0 0 2.2rem; font-size: clamp(2.4rem, 2.6vw, 5.2rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.045em; text-wrap: balance; }
.legal__n { display: block; margin-bottom: 1.4rem; font: 500 1.2rem/1 var(--mono); letter-spacing: 0.1em; color: #8a8a8a; }
.legal__s p { margin: 0 0 1.8rem; font-size: clamp(1.5rem, 1.1vw, 2.3rem); line-height: 1.65; color: #bdbdbd; text-wrap: pretty; }
.legal__s p:last-child { margin-bottom: 0; }
.legal__s ul { margin: 0 0 1.8rem; padding: 0; display: grid; gap: 1.2rem; }
.legal__s li { position: relative; padding-left: 2.4rem; font-size: clamp(1.5rem, 1.1vw, 2.3rem); line-height: 1.6; color: #bdbdbd; text-wrap: pretty; }
.legal__s li::before { content: ""; position: absolute; left: 0; top: 0.7em; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--accent); }
.legal__s b { font-weight: 500; color: #fff; }
.legal__s a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.4); text-underline-offset: 0.25em; transition: text-decoration-color 0.2s ease; }
.legal__s a:hover { text-decoration-color: #fff; }

/* ---- Below 1200px the root size is a plain 16px ---- */
@media (max-width: 1199px) {
  .lhero { padding: 9.5rem 1.6rem 2.4rem; }
  .lhero__title { font-size: clamp(3.4rem, 12vw, 9rem); }
  .lhero__meta { font-size: 0.75rem; margin-top: 1.2rem; }
  .legal { padding: 1rem 1.6rem 6rem; }
  .legal__in { display: block; padding-top: 2.4rem; }
  .legal__toc { display: none; }
  .legal__lead { font-size: 1.25rem; margin-bottom: 2.6rem; }
  .legal__s { padding: 2rem 0; scroll-margin-top: 6rem; }
  .legal__s h2 { font-size: 1.7rem; margin-bottom: 1rem; }
  .legal__n { font-size: 0.75rem; margin-bottom: 0.7rem; }
  .legal__s p, .legal__s li { font-size: 1rem; }
  .legal__s li { padding-left: 1.4rem; }
  .legal__s li::before { width: 0.45rem; height: 0.45rem; }
  .legal__s ul { gap: 0.7rem; }
}
@media (prefers-reduced-motion: reduce) { .lhero__title, .lhero__meta { animation: none; } }
