/* Public /legal index only. Copyright 2026 Fantasy.Productions L.L.C.
   Website code by Copeland Systems L.L.C. */
html[data-color-theme] body.legal-index-page {
  --legal-background: #f8f4ec;
  --legal-ink: #26231f;
  --legal-muted: #625e57;
  --legal-line: #d4ccc0;
  --legal-link: #254c60;
  --legal-focus: #087ebd;
  --legal-accepted: #256341;
  background: var(--legal-background);
  color: var(--legal-ink);
  line-height: 1.6;
}

html[data-color-theme="dark"] body.legal-index-page {
  --legal-background: #171a1d;
  --legal-ink: #f5f0e7;
  --legal-muted: #c4c9cb;
  --legal-line: #526068;
  --legal-link: #addbef;
  --legal-focus: #83c4df;
  --legal-accepted: #8ae0ba;
}

.legal-index-page .legal-index-masthead,
.legal-index-page .legal-index-footer {
  max-inline-size: 70rem;
  padding: 1rem 1.5rem;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
  min-inline-size: 0;
}

.legal-index-page .legal-index-masthead nav,
.legal-index-page .legal-index-footer nav,
.legal-index-page .legal-index-access nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem 1.5rem;
  overflow: visible;
  min-inline-size: 0;
}

.legal-index-page .marketing-brand img {
  display: block;
  inline-size: 10.075rem;
  max-inline-size: 100%;
  block-size: auto;
}

.legal-index-page .legal-index-main {
  inline-size: min(100%, 47rem);
  margin-inline: auto;
  padding: 2.5rem 1.5rem;
  overflow-wrap: anywhere;
}

.legal-index-page .legal-index-heading h1 {
  margin: 0 0 .5rem;
  font: 700 2.5rem/1.15 Georgia, serif;
  letter-spacing: -.02em;
}

.legal-index-page .legal-index-heading > p:last-child { margin: 1rem 0 .75rem; }
.legal-index-page .legal-index-date { margin: 0 0 .5rem; color: var(--legal-muted); }
.legal-index-page .legal-index-policy { padding-block: .25rem .5rem; border-block-end: 1px solid var(--legal-line); }
.legal-index-page .legal-index-policy-title { margin: 0; font: 600 1.25rem/1.4 "Segoe UI", system-ui, sans-serif; }

html[data-color-theme] .legal-index-page .legal-index-main a:not(.btn),
.legal-index-page .legal-index-masthead a,
.legal-index-page .legal-index-footer a {
  color: var(--legal-link);
  text-decoration: underline;
  text-underline-offset: .2em;
  overflow-wrap: anywhere;
}

.legal-index-page .legal-index-masthead .marketing-brand { text-decoration: none; }
.legal-index-page .legal-index-policy-title a { display: block; padding-block: .6rem; }
.legal-index-page .legal-index-status { margin: 0; }
.legal-index-page .legal-index-accepted { color: var(--legal-accepted); }
.legal-index-page .legal-index-accepted-time { color: var(--legal-muted); }
.legal-index-page .legal-index-actions { margin-block-start: 1.25rem; }
.legal-index-page .legal-index-actions p { margin-block: .5rem; }
.legal-index-page .legal-index-access { margin-block-start: 1.5rem; padding-block-start: 1.25rem; border-block-start: 1px solid var(--legal-line); }
.legal-index-page .legal-index-access p { margin: 0 0 .5rem; }

.legal-index-page .legal-index-masthead nav a,
.legal-index-page .legal-index-account,
.legal-index-page .legal-index-status a,
.legal-index-page .legal-index-actions a,
.legal-index-page .legal-index-access a,
.legal-index-page .legal-index-footer a {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  max-inline-size: 100%;
  padding-block: .4rem;
}

.legal-index-page .legal-index-policy-title a { min-block-size: 2.75rem; }
.legal-index-page .legal-index-main .btn { white-space: normal; text-align: start; }
.legal-index-page .legal-index-footer { flex-direction: column; align-items: flex-start; border-color: var(--legal-line); }
.legal-index-page .legal-index-footer p { margin: 0; color: var(--legal-muted); }
.legal-index-page .public-theme-toggle { background: var(--legal-background); color: var(--legal-ink); border-color: var(--legal-muted); }

.legal-index-page a:focus-visible,
.legal-index-page button:focus-visible {
  /* site.css has a shared !important outline; override it only on this page. */
  outline: 3px solid var(--legal-focus) !important;
  outline-offset: 4px;
}

@media (max-width: 40rem) {
  .legal-index-page .legal-index-masthead nav { order: 3; inline-size: 100%; }
  .legal-index-page .legal-index-main { padding-block-start: 1.75rem; }
  .legal-index-page .legal-index-accepted-time { display: block; }
}

@media (forced-colors: active) {
  .legal-index-page .legal-index-policy,
  .legal-index-page .legal-index-access,
  .legal-index-page .legal-index-footer { border-color: CanvasText; }
  .legal-index-page a:focus-visible,
  .legal-index-page button:focus-visible { outline-color: Highlight !important; }
}
