/* Policy layout reuses the shared Leadder font, color and control tokens. */
.skip-link { position: absolute; left: 16px; top: 12px; padding: 12px 20px; background: var(--card); color: var(--foreground); transform: translateY(-150%); z-index: 5; }
.skip-link:focus { transform: translateY(0); outline: 3px solid var(--ring); }
.policy-shell { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.policy-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.policy-meta { font-size: 12px; color: var(--muted-foreground); font-family: var(--font-mono); overflow-wrap: anywhere; }
.draft-banner { padding: 16px 24px; border-bottom: 1px solid var(--border); background: var(--muted); text-align: center; color: var(--foreground); font-size: 14px; }
.draft-banner strong { display: inline; }
.policy-intro { padding-block: 56px 32px; }
.policy-intro p { max-width: 68ch; margin: 16px 0 0; color: var(--muted-foreground); }
.policy-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; align-items: start; padding-bottom: 64px; }
.policy-toc { position: sticky; top: 24px; padding-block: 4px; }
.policy-toc h2 { font: 600 14px/20px var(--font-sans); margin: 0 0 12px; }
.policy-toc a { display: block; min-height: 44px; padding: 10px 0; color: var(--muted-foreground); text-decoration: none; font-size: 14px; }
.policy-toc a:hover { color: var(--foreground); text-decoration: underline; text-underline-offset: 4px; }
.policy-article { max-width: 76ch; min-width: 0; }
.policy-article h2 { margin: 40px 0 16px; padding-top: 8px; font: 600 24px/32px var(--font-heading); letter-spacing: -.5px; scroll-margin-top: 24px; }
.policy-article h2:first-child { margin-top: 0; }
.policy-article h3 { margin: 28px 0 12px; font: 600 18px/26px var(--font-heading); scroll-margin-top: 24px; }
.policy-article h4 { margin: 24px 0 8px; font: 600 16px/24px var(--font-heading); }
.policy-article p, .policy-article ul, .policy-article ol { margin: 0 0 16px; }
.policy-article p, .policy-article li { line-height: 1.7; text-wrap: pretty; }
.policy-article ul, .policy-article ol { padding-left: 24px; }
.policy-article li { margin-block: 8px; }
.policy-article a, .policy-intro a, .review-grid a { color: var(--primary); text-underline-offset: 4px; overflow-wrap: anywhere; }
.policy-article a:focus-visible, .policy-toc a:focus-visible, .policy-intro a:focus-visible, .review-grid a:focus-visible { outline: 3px solid var(--ring); outline-offset: 4px; border-radius: var(--radius); }
.policy-article code { font-family: var(--font-mono); font-size: .9em; overflow-wrap: anywhere; }
.policy-article hr { margin-block: 32px; border: 0; border-top: 1px solid var(--border); }
.policy-article .table-scroll { max-width: 100%; overflow-x: auto; margin-bottom: 24px; border: 1px solid var(--border); border-radius: var(--radius); }
.policy-article table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.policy-article th, .policy-article td { padding: 12px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); min-width: 140px; }
.policy-article th { background: var(--muted); font-weight: 600; }
.policy-article tr:last-child td { border-bottom: 0; }
.policy-article blockquote { border-left: 3px solid var(--border); margin: 16px 0; padding-left: 20px; color: var(--muted-foreground); }
.policy-version { display: flex; flex-wrap: wrap; gap: 8px 20px; border-top: 1px solid var(--border); padding-top: 24px; margin-top: 40px; color: var(--muted-foreground); font-size: 12px; }
.review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-bottom: 56px; }
.review-card { border: 1px solid var(--border); background: var(--card); border-radius: var(--radius-panel); padding: 28px; }
.review-card h2 { margin: 0 0 12px; font: 600 20px/28px var(--font-heading); }
.review-card p { color: var(--muted-foreground); margin: 0 0 20px; }
.review-card ul { margin-bottom: 0; padding-left: 20px; }
.review-card li { margin-block: 12px; }
@media (max-width: 800px) {
  .policy-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .policy-toc { position: static; display: flex; flex-wrap: wrap; gap: 0 20px; border-bottom: 1px solid var(--border); padding-bottom: 16px; }
  .policy-toc h2 { width: 100%; }
  .policy-intro { padding-block: 40px 24px; }
  .review-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .policy-shell { width: calc(100% - 32px); }
  .policy-header { align-items: flex-start; flex-direction: column; gap: 8px; }
  .draft-banner { padding-inline: 16px; text-align: left; }
  .policy-article h2 { font-size: 22px; line-height: 30px; }
  .review-card { padding: 24px; }
}
@media print {
  .policy-toc, .skip-link, .site-footer { display: none; }
  .policy-grid { display: block; }
  .policy-shell, .policy-article { width: 100%; max-width: none; }
  .policy-article h2, .policy-article h3 { break-after: avoid; }
  .policy-article table { break-inside: avoid; }
}

/* User-approved format revision, 2026-10-15: match the existing Leadder
   Privacy Policy and May 20 Terms pages. Scoped to policies only; approved
   policy HTML and source bytes remain unchanged. */
@font-face {
  font-family: "Leadder Policy Inter";
  src: url("./policy-brand/inter.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
html[data-page="policy"], html[data-page="policy"] body {
  background: #000;
  color: #fff;
  font-family: "Leadder Policy Inter", Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.3;
}
html[data-page="policy"] .site-header {
  flex-shrink: 0;
  height: 141px;
  padding: 30px 0;
  border: 0;
  background: #fff;
}
html[data-page="policy"] .policy-shell { width: min(1150px, calc(100% - 20px)); }
html[data-page="policy"] .policy-header { display: flex; justify-content: center; align-items: center; }
html[data-page="policy"] .wordmark {
  width: 282.5px;
  height: 81px;
  font-size: 0;
  background: url("./policy-brand/leadder-logo.png") center / contain no-repeat;
}
html[data-page="policy"] .wordmark span { font-size: 0; }
html[data-page="policy"] .policy-header .policy-meta,
html[data-page="policy"] .draft-banner,
html[data-page="policy"] .policy-toc,
html[data-page="policy"] .policy-intro > p,
html[data-page="policy"] .policy-version,
html[data-page="policy"] .site-footer { display: none; }
html[data-page="policy"] .policy-intro { padding: 50px 0; text-align: center; }
html[data-page="policy"] h1 {
  font: 700 60px/1.3 "Leadder Policy Inter", Inter, Arial, sans-serif;
  letter-spacing: 0;
}
html[data-page="policy"] .policy-grid { display: block; padding-bottom: 40px; }
html[data-page="policy"] .policy-article { max-width: none; }
html[data-page="policy"] .policy-article :is(h2, h3, h4) {
  margin: 30px 0 20px;
  padding: 0;
  color: #fff;
  font: 700 18px/1.3 "Leadder Policy Inter", Inter, Arial, sans-serif;
  letter-spacing: 0;
  scroll-margin-top: 20px;
}
html[data-page="policy"] .policy-article > p:first-child { margin-bottom: 20px; }
html[data-page="policy"] .policy-article > p:first-child + h2 { margin-top: 20px; }
html[data-page="policy"] .policy-article :is(p, ul, ol) { margin: 0 0 30px; }
html[data-page="policy"] .policy-article :is(p, li) { line-height: 1.3; text-wrap: wrap; }
html[data-page="policy"] .policy-article li { margin-block: 8px; }
html[data-page="policy"] .policy-article a { color: #fff; }
html[data-page="policy"] .policy-article a:focus-visible,
html[data-page="policy"] .table-scroll:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
html[data-page="policy"] .skip-link { color: #000; background: #fff; }
html[data-page="policy"] .policy-article .table-scroll { border: 1px solid #fff; border-radius: 0; }
html[data-page="policy"] .policy-article table { font-size: 16px; line-height: 1.3; }
html[data-page="policy"] .policy-article :is(th, td) { border-color: #fff; }
html[data-page="policy"] .policy-article th { background: #000; font-weight: 700; }
html[data-page="policy"] .policy-article :is(hr, blockquote) { border-color: #fff; color: #fff; }
@media (max-width: 600px) {
  html[data-page="policy"] .site-header { height: 100.5px; }
  html[data-page="policy"] .wordmark { width: 141.25px; height: 40.5px; }
  html[data-page="policy"] .policy-header { flex-direction: row; }
  html[data-page="policy"] .policy-intro { padding: 30px 0; }
  html[data-page="policy"] h1 { font-size: 30px; line-height: 1.3; }
  html[data-page="policy"] .policy-article :is(th, td) { padding: 10px; }
}
@media print {
  html[data-page="policy"], html[data-page="policy"] body { color: #000; background: #fff; }
  html[data-page="policy"] .policy-article :is(h2, h3, h4, a) { color: #000; }
  html[data-page="policy"] .policy-article :is(th, td, .table-scroll, hr, blockquote) { border-color: #000; }
  html[data-page="policy"] .policy-article th { background: #fff; }
}
