/* Mojo Academy public policy pages (/privacy, /terms). Matches the landing page. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --purple: #2D1B5E; --violet: #7C3AED; --violet-dk: #6D28D9; --violet-lt: #A78BFA;
  --section-bg: #F5F3FF; --card-bg: #EDE9FE; --white: #FFFFFF;
  --text-body: #3D2F5C; --text-muted: #6B5E8A; --border: rgba(45,27,94,0.14);
}
html { scroll-behavior: smooth; }
body {
  font-family: 'Barlow', system-ui, sans-serif; background: var(--section-bg);
  color: var(--purple); -webkit-font-smoothing: antialiased; line-height: 1.65;
}
.skip-link {
  position: absolute; left: -9999px; top: 8px; padding: 8px 20px; background: var(--violet);
  color: #fff; font-weight: 600; border-radius: 6px; text-decoration: none; z-index: 9999;
}
.skip-link:focus { left: 16px; }
.accent-bar { height: 4px; background: var(--violet); }
.site-nav {
  background: var(--white); display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(16px, 5vw, 72px); height: 64px; border-bottom: 1px solid var(--border);
}
.site-nav img { height: 31px; display: block; }
.btn-login {
  font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--purple); border: 2px solid var(--purple); padding: 8px 20px; text-decoration: none;
}
.btn-login:hover { background: var(--purple); color: var(--white); }
main { max-width: 820px; margin: 0 auto; padding: clamp(32px, 6vw, 64px) 16px 72px; }
.eyebrow {
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--violet); margin-bottom: 8px;
}
h1 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 800; text-transform: uppercase;
  font-size: clamp(2.4rem, 7vw, 3.6rem); line-height: 1.02; letter-spacing: 0.01em; margin-bottom: 12px;
}
.meta { color: var(--text-muted); font-size: 0.95rem; margin-bottom: 28px; }
.summary {
  background: var(--white); border: 1px solid var(--border); border-left: 4px solid var(--violet);
  border-radius: 10px; padding: 20px 24px; margin-bottom: 28px;
}
.summary h2 { margin-top: 0; font-size: 1.25rem; }
.summary ul { margin-bottom: 0; }
.toc { background: var(--card-bg); border-radius: 10px; padding: 18px 24px; margin-bottom: 40px; }
.toc strong { display: block; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 6px; }
.toc ol { columns: 2; column-gap: 32px; padding-left: 20px; font-size: 0.95rem; }
.toc li { break-inside: avoid; margin-bottom: 2px; }
@media (max-width: 640px) { .toc ol { columns: 1; } }
h2 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 1.6rem; line-height: 1.2;
  margin: 44px 0 12px; scroll-margin-top: 16px;
}
h3 { font-size: 1.08rem; font-weight: 600; margin: 24px 0 6px; }
p, li { color: var(--text-body); font-size: 1.02rem; }
p { margin-bottom: 14px; }
ul, ol { padding-left: 22px; margin-bottom: 16px; }
li { margin-bottom: 6px; }
a { color: var(--violet-dk); }
a:hover { color: var(--purple); }
a:focus-visible, .btn-login:focus-visible { outline: 3px solid var(--violet-lt); outline-offset: 2px; }
strong { color: var(--purple); font-weight: 600; }
.table-wrap { overflow-x: auto; margin: 8px 0 20px; border: 1px solid var(--border); border-radius: 10px; background: var(--white); }
table { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
th, td { text-align: left; vertical-align: top; padding: 10px 14px; border-bottom: 1px solid var(--border); color: var(--text-body); }
th { background: var(--card-bg); color: var(--purple); font-weight: 600; white-space: nowrap; }
tr:last-child td { border-bottom: 0; }
address { font-style: normal; background: var(--white); border: 1px solid var(--border); border-radius: 10px; padding: 16px 20px; margin-bottom: 16px; color: var(--text-body); }
footer {
  background: var(--purple); padding: 28px clamp(16px, 6vw, 80px); display: flex;
  align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.footer-logo { font-family: 'Barlow Condensed', sans-serif; font-size: 1.1rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: var(--white); }
.footer-logo span { color: var(--violet-lt); }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-link { font-size: 0.75rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.7); text-decoration: none; }
.footer-link:hover, .footer-link[aria-current="page"] { color: var(--violet-lt); }
.footer-note { font-size: 0.72rem; color: rgba(255,255,255,0.55); letter-spacing: 0.04em; }
@media (max-width: 640px) { footer { flex-direction: column; text-align: center; } .footer-links { justify-content: center; } }
@media print { .site-nav, footer, .accent-bar, .toc { display: none; } body { background: #fff; } }
