/* Dawn Security - Legal pages (Terms of Use, Privacy Policy) */

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  font-family: 'Poppins', sans-serif;
  color: #1B1B1B;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* canvas color = footer color, so rounding slivers and bottom
   overscroll below the footer never show as white; the white
   background lives on .page (header + main) only, so nothing
   white is painted at or below the footer edge */
html {
  background: #323232;
  /* no rubber-band/stretch effect at the page ends */
  overscroll-behavior-y: none;
}

/* body is dark like the footer: at fractional zoom the footer's
   painted edge can round a sub-pixel short of the body/canvas box,
   and whatever peeks through at the bottom must not contrast.
   The white page background lives on .page (header + main). */
body {
  background: #323232;
}

.page {
  background: #fff;
}

/* ── Announcement bar ── */

.announcement-bar {
  height: 40px;
  background: #FF5722;
}

/* ── Header ── */

.site-header {
  display: flex;
  justify-content: center;
  padding: 46px 24px 24px;
}

.header-logo img {
  display: block;
  height: 40px;
  width: auto;
}

/* ── Title ── */

.page-title {
  padding: 48px 120px;
  font-weight: 700;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.3;
  text-align: center;
  text-transform: capitalize;
  color: #1B1B1B;
}

/* ── Legal body ── */

.legal-content {
  max-width: 792px;
  margin: 0 auto;
  padding: 0 24px 120px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #1B1B1B;
}

.legal-content p {
  margin-bottom: 12px;
}

.legal-content strong {
  font-weight: 500;
}

.legal-content h2 {
  margin: 28px 0 16px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.legal-content ol,
.legal-content ul {
  margin: 0 0 12px;
  padding-left: 24px;
}

.legal-content ol ol,
.legal-content ol ul,
.legal-content ul ol {
  margin-bottom: 0;
}

.legal-content li {
  margin-bottom: 10px;
}

.legal-content ol {
  list-style-type: decimal;
}

.legal-content ol ol {
  list-style-type: lower-alpha;
}

.legal-content ol ol ol {
  list-style-type: lower-roman;
}

.legal-content a {
  color: inherit;
  text-decoration: underline;
}

/* ── Footer ── */

.site-footer {
  background: #323232;
  padding-top: 60px;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.footer-line {
  border-top: 1px solid #fff;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 48px;
  font-size: 14px;
  line-height: 1.4;
  color: #fff;
  flex-wrap: wrap;
}

.footer-links a {
  color: #fff;
  text-decoration: none;
}

.footer-links a:hover {
  text-decoration: underline;
}

/* single pre-composited image (crop + fade baked in) — layered
   SVGs misaligned/ghosted at fractional zoom on mobile */
.footer-art {
  display: block;
  width: 100%;
  height: auto;
}

/* ── Small screens ── */

@media (max-width: 600px) {
  .page-title {
    padding: 32px 24px;
  }

  .footer-links {
    gap: 24px;
  }
}
