.legal-shell {
  min-height: calc(100vh - var(--topbar-h));
  min-height: calc(100dvh - var(--topbar-h));
  padding: 1.4rem 1rem 2.2rem;
}

.lt-grid {
  display: inline-flex;
  gap: 0.04em;
  font-family: 'Fredoka', sans-serif;
}

.lt-grid-tiny {
  font-size: 1.35rem;
  line-height: 1;
}

.lt-grid > span[data-c="coral"] { color: #e16759; }
.lt-grid > span[data-c="teal"] { color: #247f80; }
.lt-grid > span[data-c="violet"] { color: #4460b0; }
.lt-grid > span[data-c="sun"] { color: #cb8d2e; }

.legal-main {
  width: min(900px, 94vw);
  margin: 0 auto;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 18px;
  box-shadow: 4px 4px 0 var(--ink);
  padding: 1.2rem 1.2rem 1.4rem;
}

.legal-eyebrow {
  display: inline-block;
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  background: var(--sun-soft);
  padding: 0.2rem 0.65rem;
  font: 700 0.72rem 'JetBrains Mono', monospace;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.legal-main h1 {
  font: 800 clamp(1.35rem, 2.8vw, 1.9rem) 'Fredoka', sans-serif;
  margin-bottom: 0.25rem;
}

.legal-meta {
  color: var(--ink-soft);
  font: 600 0.9rem 'Nunito', sans-serif;
  margin-bottom: 1rem;
}

.legal-main h2 {
  font: 700 1.03rem 'Fredoka', sans-serif;
  margin: 1.15rem 0 0.35rem;
}

.legal-main p,
.legal-main li {
  color: var(--ink-soft);
  font: 600 0.95rem/1.6 'Nunito', sans-serif;
}

.legal-main ul {
  padding-left: 1.1rem;
}

.legal-main a {
  color: var(--teal);
}

.legal-actions {
  margin-top: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.legal-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 2px solid var(--ink);
  border-radius: 999px;
  padding: 0.38rem 0.8rem;
  text-decoration: none;
  color: var(--ink);
  background: var(--paper);
  font: 700 0.8rem 'Fredoka', sans-serif;
}

.legal-btn:hover {
  background: var(--sun-soft);
}

.legal-btn.primary {
  background: var(--sun);
}

.legal-btn.primary:hover {
  background: var(--sun-deep);
  color: #fffdf8;
}

@media (max-width: 520px) {
  .legal-shell {
    padding: 0.85rem 0.7rem 1.6rem;
  }

  .legal-main {
    padding: 0.95rem 0.85rem 1.05rem;
    border-radius: 14px;
  }
}
