/* Privacy and Terms pages, plus the first-visit notice shared by every page. */

.legal-doc {
  max-width: 720px;
  padding: clamp(48px, 8vw, 96px) 0 clamp(56px, 8vw, 112px);
}
.legal-doc h1 { font-size: clamp(36px, 6vw, 52px); margin-bottom: 14px; }
.legal-doc .legal-meta { color: var(--ink-faint); font-size: 14.5px; margin: 0 0 36px; }
.legal-doc .legal-lede { font-size: 19px; line-height: 1.55; color: var(--ink); margin: 0 0 12px; }
.legal-doc h2 { font-size: 23px; margin: 44px 0 12px; }
.legal-doc p,
.legal-doc li { color: var(--ink-dim); font-size: 16.5px; line-height: 1.65; }
.legal-doc p { margin: 0 0 14px; }
.legal-doc ul { margin: 0 0 14px; padding-left: 22px; }
.legal-doc li { margin: 0 0 8px; }
.legal-doc li::marker { color: var(--ink-faint); }
.legal-doc strong { color: var(--ink); font-weight: 600; }
.legal-doc a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--ink-faint); text-underline-offset: 3px; }
.legal-doc a:hover { color: var(--accent); }

/* First-visit notice. Injected by notice.js, so a page without JS simply has no notice. */
.nag-notice {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 50;
  width: min(400px, calc(100vw - 40px));
  padding: 18px 20px;
  display: grid;
  gap: 14px;
  background: #141416;
  border: 1px solid rgba(242, 242, 240, 0.08);
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14.5px;
  line-height: 1.55;
  color: #a3a6ad;
}
.nag-notice p { margin: 0; }
.nag-notice a { color: #f2f2f0; text-decoration: underline; text-decoration-color: #6b6e76; text-underline-offset: 3px; }
.nag-notice a:hover { color: #f2661c; }
.nag-notice button {
  justify-self: start;
  padding: 8px 16px;
  border: 0;
  border-radius: 8px;
  background: #f2f2f0;
  color: #0a0a0b;
  font: 600 14px ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
}
.nag-notice button:hover { background: #ffffff; }
.nag-notice button:focus-visible { outline: 2px solid #f2661c; outline-offset: 2px; }

@media (max-width: 560px) {
  .nag-notice { left: 12px; right: 12px; bottom: 12px; width: auto; }
}

/* Consent line under the account page's sign-in button. */
.auth-legal { margin: 12px 0 0; font-size: 13.5px; line-height: 1.5; opacity: 0.72; }
.auth-legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* The pill header floats over the top of the page, so the document clears it. */
.legal-doc { padding-top: clamp(124px, 16vw, 168px); }

@media (max-width: 560px) {
  .nag-notice { grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 14px 14px 14px 16px; font-size: 13.5px; }
  .nag-notice button { justify-self: end; min-height: 40px; }
}

/* Docs, trial and account headers on phones: the logo already links home and the
   current page needs no link, so drop both to keep the actions on one row. */
@media (max-width: 560px) {
  .site-header.shell .site-nav a[href="/"],
  .site-header.shell .site-nav a[aria-current="page"]:not(.nav-cta) { display: none; }
}

/* Sign-up page: Cloudflare Turnstile sits above "Continue with Google". */
.turnstile-slot { min-height: 65px; margin: 4px 0 14px; }
#btnGoogleSignup.is-waiting { opacity: 0.5; cursor: not-allowed; }
