/* Shared legal document pages (terms, privacy) */
html:has(body.legal-page) {
  height: auto;
  min-height: 100%;
  overflow-y: auto;
}

body.legal-page {
  height: auto;
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  display: block;
}

body.legal-page .legal-main {
  flex: none;
  display: block;
  min-height: auto;
  overflow: visible;
}

.legal-main {
  max-width: 760px;
  margin: 0 auto;
  padding: 48px 32px 64px;
  width: 100%;
  display: block;
}

.legal-doc h1 {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 700;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}

.legal-eyebrow {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #5b8def;
  margin-bottom: 12px;
}

.legal-updated,
.legal-operator {
  font-size: 14px;
  color: #8b92a8;
  margin-bottom: 12px;
}

.legal-operator {
  line-height: 1.5;
}

.legal-notice {
  font-size: 13px;
  color: #6b7288;
  border-left: 3px solid #2e3344;
  padding: 12px 16px;
  margin-bottom: 28px;
  background: rgba(26, 29, 39, 0.6);
  border-radius: 0 8px 8px 0;
}

.legal-intro {
  font-size: 17px;
  color: #c4c9d4;
  margin-bottom: 36px;
}

.legal-doc section {
  margin-bottom: 28px;
}

.legal-doc h2 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 10px;
  color: #e8eaef;
}

.legal-doc h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 16px 0 8px;
  color: #d8dce6;
}

.legal-doc p,
.legal-doc li {
  font-size: 15px;
  color: #a8b0c0;
  margin-bottom: 10px;
}

.legal-doc ul,
.legal-doc ol {
  padding-left: 1.35rem;
  margin-bottom: 10px;
}

.legal-doc a {
  color: #5b8def;
  text-decoration: none;
}

.legal-doc a:hover {
  text-decoration: underline;
}

.legal-doc .caps {
  font-size: 14px;
  color: #949eb0;
}

.legal-toc {
  margin-bottom: 32px;
  padding: 16px 20px;
  background: #12151c;
  border: 1px solid #1e2230;
  border-radius: 10px;
}

.legal-toc ol {
  margin: 0;
  padding-left: 1.25rem;
}

.legal-toc a {
  color: #8b92a8;
  font-size: 14px;
}

.legal-toc a:hover {
  color: #5b8def;
}

.legal-trust-ai {
  font-size: 16px;
  line-height: 1.5;
  color: #c8d4e8;
  margin: -20px 0 28px;
  padding: 14px 18px;
  background: rgba(91, 141, 239, 0.1);
  border: 1px solid rgba(91, 141, 239, 0.35);
  border-radius: 10px;
}

.legal-trust-pillars {
  margin: 0 0 28px;
  padding: 18px 20px;
  background: rgba(91, 141, 239, 0.08);
  border: 1px solid rgba(91, 141, 239, 0.3);
  border-radius: 12px;
}

.legal-trust-promise {
  font-size: 16px;
  line-height: 1.5;
  color: #e8eaef;
  margin-bottom: 10px;
}

.legal-trust-promise:last-child {
  margin-bottom: 0;
}

.legal-trust-promise-note {
  font-size: 13px;
  line-height: 1.45;
  color: #8b92a8;
  margin: -4px 0 14px;
  padding-left: 12px;
  border-left: 2px solid #2e3344;
}

.legal-trust-summary {
  margin-bottom: 36px;
  padding: 20px 22px;
  background: #12151c;
  border: 1px solid #1e2230;
  border-radius: 12px;
}

.legal-trust-summary h2 {
  font-size: 1.05rem;
  margin-bottom: 8px;
}

.legal-trust-summary > p {
  margin-bottom: 16px;
  color: #8b92a8;
  font-size: 14px;
}

.legal-trust-dl {
  margin: 0;
}

.legal-trust-dl dt {
  font-size: 14px;
  font-weight: 600;
  color: #e8eaef;
  margin-top: 14px;
}

.legal-trust-dl dt:first-child {
  margin-top: 0;
}

.legal-trust-dl dd {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: #a8b0c0;
}
