/**
 * Legal / trust preview pages — readable prose on dark 2027 shell
 */

.m27-legal-main {
  max-width: 46rem;
  margin: 0 auto;
  padding: 2rem 0 3rem;
}

.m27-legal-main h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 1.75rem;
  font-weight: 900;
  color: #f1f5f9;
  margin: 0 0 0.5rem;
}

.m27-legal-effective {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 1.5rem;
}

.m27-legal-main h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: #e2e8f0;
  margin: 1.75rem 0 0.65rem;
}

.m27-legal-main h3 {
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #cbd5e1;
  margin: 1.25rem 0 0.5rem;
}

.m27-legal-main p,
.m27-legal-main li {
  font-size: 0.9375rem;
  color: #94a3b8;
  line-height: 1.75;
  margin-bottom: 1rem;
}

.m27-legal-main ul {
  margin: 0 0 1rem 1.25rem;
}

.m27-legal-draft {
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 0.5rem;
  padding: 0.875rem 1rem;
  margin-bottom: 1.5rem;
  font-size: 0.8125rem;
  color: #fcd34d;
  line-height: 1.55;
}

.m27-legal-attorney {
  border-left: 3px solid #f59e0b;
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  font-size: 0.8125rem;
  color: #94a3b8;
  font-style: italic;
  background: rgba(255, 255, 255, 0.03);
}

.m27-legal-caps {
  font-size: 0.875rem;
  color: #94a3b8;
  line-height: 1.75;
}

.m27-legal-sync-note {
  font-size: 0.75rem;
  color: #64748b;
  margin-bottom: 1.25rem;
}

.m27-legal-sync-note a {
  color: var(--ts-orange, #f97316);
}

.m27-security-hero {
  padding: 2rem 0 1.5rem;
  text-align: center;
}

.m27-security-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 1.25rem;
}

.m27-security-pill {
  font-size: 0.6875rem;
  padding: 0.4rem 0.75rem;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
}

.m27-stat-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin: 2rem 0;
}

@media (min-width: 768px) {
  .m27-stat-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.m27-stat-block {
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(13, 17, 23, 0.75);
  text-align: center;
}

.m27-stat-num {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  font-size: 1.75rem;
  color: #f97316;
}

.m27-control-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}

@media (min-width: 640px) {
  .m27-control-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.m27-control-card {
  padding: 1.15rem;
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(13, 17, 23, 0.65);
  font-size: 0.875rem;
  color: #94a3b8;
  line-height: 1.55;
}

.m27-control-card h3 {
  font-size: 0.9375rem;
  color: #f1f5f9;
  margin: 0.35rem 0 0.65rem;
}

.m27-control-num {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #f97316;
}

.m27-security-faq details {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.75rem;
  padding: 0.85rem 1rem;
  margin-bottom: 0.65rem;
  background: rgba(13, 17, 23, 0.5);
}

.m27-security-faq summary {
  font-weight: 600;
  color: #e2e8f0;
  cursor: pointer;
  list-style: none;
}

.m27-security-faq summary::-webkit-details-marker {
  display: none;
}

.m27-shield-note {
  margin-top: 0.75rem;
  padding: 0.65rem 0.75rem;
  border-left: 3px solid #f97316;
  font-size: 0.8125rem;
  background: rgba(249, 115, 22, 0.06);
}
