/* Readable, light document surfaces. site-polish.css owns the shared header/footer. */
.site-polish .doc-page {
  --doc-ink: #232e36;
  --doc-muted: #46515e;
  --doc-paper: #faf9f6;
  --doc-blue: #c8d6ec;
  --doc-line: #c5ccd2;
  background: #efe9df;
  color: var(--doc-ink);
}
.site-polish .doc-hero {
  position: relative;
  inset: auto;
  z-index: auto;
  padding: 112px 0 54px;
  border: 0;
  background: var(--doc-blue);
  transition: none;
}
.site-polish .doc-hero .wrap { max-width: 1240px; }
.site-polish .doc-home {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-bottom: 20px;
  color: var(--doc-ink);
  font: 700 15px/1.35 'Nunito', sans-serif;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.site-polish .doc-hero h1 {
  max-width: 960px;
  margin: 0;
  font: 700 clamp(28px, 3.1vw, 44px)/1.18 'Comfortaa', sans-serif;
  color: var(--doc-ink) !important;
  letter-spacing: -.025em !important;
  word-break: normal;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.site-polish .doc-page .legal-sub {
  max-width: 65ch;
  margin-top: 20px;
  font: 400 18px/1.55 'Nunito', sans-serif;
  color: var(--doc-muted);
}
.site-polish .doc-page .legal-meta { gap: 12px 24px; margin-top: 24px; }
.site-polish .doc-page .legal-meta .lm {
  min-height: 24px;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  color: var(--doc-muted);
  font: 400 14px/1.5 'Nunito', sans-serif;
}
.site-polish .doc-page .legal-meta a.lm {
  min-height: 44px;
  margin-block: -10px;
  color: var(--doc-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-polish .doc-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 32px;
  padding: 40px 24px 80px;
}
.site-polish .doc-page--with-nav .doc-body { grid-template-columns: 272px minmax(0, 1fr); }
.site-polish .doc-sidebar {
  display: grid;
  gap: 24px;
  position: sticky;
  top: 96px;
  min-width: 0;
  max-height: calc(100dvh - 120px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding: 3px;
  margin: -3px;
}
.site-polish .doc-navigation,
.site-polish .doc-page .legal-toc__in {
  padding: 22px 18px;
  border: 1px solid var(--doc-line);
  border-radius: 6px;
  background: var(--doc-paper);
}
.site-polish .doc-navigation h2,
.site-polish .doc-page .legal-toc__h {
  margin: 0 0 14px;
  font: 700 17px/1.4 'Nunito', sans-serif;
  letter-spacing: 0 !important;
  color: var(--doc-ink) !important;
}
.site-polish .doc-sidebar nav { display: flex; flex-direction: column; gap: 4px; }
.site-polish .doc-sidebar nav a {
  display: flex;
  align-items: center;
  min-height: 44px;
  border: 0;
  border-radius: 4px;
  padding: 9px 10px;
  font: 400 14px/1.4 'Nunito', sans-serif;
  color: var(--doc-muted);
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: background-color .18s ease, color .18s ease;
}
.site-polish .doc-sidebar nav a:hover,
.site-polish .doc-sidebar nav a.is-active,
.site-polish .doc-sidebar nav a[aria-current="page"] {
  color: var(--doc-ink);
  background: var(--doc-blue);
}
.site-polish .doc-sidebar nav a[aria-current="page"] { font-weight: 800; }
.site-polish .doc-navigation--mobile,
.site-polish .doc-contents--mobile { display: none; }
.site-polish .doc-page .legal-doc {
  width: 100%;
  max-width: 840px;
  min-width: 0;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid #e0e0da;
  border-radius: 6px;
  background: var(--doc-paper);
  color: var(--doc-ink);
  font: 400 17px/1.75 'Nunito', sans-serif;
  overflow-wrap: anywhere;
  word-break: normal;
}
.site-polish .doc-page:not(.doc-page--with-nav) .doc-body > .legal-doc { margin-inline: auto; }
.site-polish .doc-page .legal-doc > h2 {
  margin-top: 40px;
  border-color: var(--doc-line);
  padding-top: 30px;
  scroll-margin-top: 102px;
}
.site-polish .doc-page .legal-doc > h2:first-child { margin-top: 0; padding-top: 0; border: 0; }
.site-polish .doc-page .legal-doc h2 {
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 20px;
  font: 700 clamp(20px, 2vw, 25px)/1.35 'Comfortaa', sans-serif;
  color: var(--doc-ink) !important;
  letter-spacing: -.015em !important;
}
.site-polish .doc-page .legal-doc h2 .n {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: var(--doc-blue);
  color: var(--doc-ink);
  font: 800 17px/1 'Nunito', sans-serif;
  box-shadow: none;
}
.site-polish .doc-page .legal-doc h3,
.site-polish .doc-page .legal-doc h4 { color: var(--doc-ink) !important; line-height: 1.4; }
.site-polish .doc-page .legal-doc p,
.site-polish .doc-page .legal-doc li,
.site-polish .doc-page .legal-doc .v {
  color: var(--doc-muted);
  font: inherit;
  margin-bottom: 18px;
}
.site-polish .doc-page .legal-doc strong,
.site-polish .doc-page .legal-doc b { color: var(--doc-ink); }
.site-polish .doc-page .legal-doc a {
  color: #344d69;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 3px;
}
.site-polish .doc-page .legal-doc a:hover,
.site-polish .doc-page .legal-doc a.legal-back:hover { color: var(--doc-ink) !important; }
.site-polish .doc-page .legal-doc ul,
.site-polish .doc-page .legal-doc ol {
  display: block;
  padding-left: 24px;
  margin: 0 0 24px;
}
.site-polish .doc-page .legal-doc ul { list-style: disc; }
.site-polish .doc-page .legal-doc ul li { padding-left: 4px; }
.site-polish .doc-page .legal-doc ul li::before { display: none; }
.site-polish .doc-page .legal-doc li { margin-bottom: 10px; }
.site-polish .doc-page .legal-card { background: #f0f2f3; border-color: var(--doc-line); border-radius: 6px; }
.site-polish .doc-page .legal-card .k { color: var(--doc-ink); background: none; }
.site-polish .doc-page .legal-card .v { margin-bottom: 0; }
.site-polish .doc-page .legal-doc a.legal-back {
  min-height: 48px;
  max-width: 100%;
  margin-top: 28px;
  border: 1px solid var(--doc-ink);
  border-radius: 999px;
  padding: 12px 22px;
  color: var(--doc-ink);
  background: transparent;
  font: 700 15px/1.35 'Nunito', sans-serif;
  letter-spacing: 0 !important;
  text-decoration: none;
}
.site-polish .doc-page a:focus-visible,
.site-polish .doc-page summary:focus-visible {
  outline: 3px solid var(--doc-ink);
  outline-offset: 3px;
}
.site-polish .doc-archive__body { display: grid; gap: 32px; padding: 40px 24px 80px; }
.site-polish .doc-archive__entry { margin-inline: auto; }
.site-polish .doc-archive__entry > h2:first-child { margin-bottom: 24px; }
.site-polish .doc-archive .pagination { max-width: 840px; margin-inline: auto; }
.site-polish .doc-archive .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.site-polish .doc-archive .page-numbers { padding: 12px 18px; border: 1px solid var(--doc-ink); border-radius: 4px; }
.site-polish .doc-archive .page-numbers.current { background: var(--doc-blue); }
@media (max-width: 1039px) {
  .site-polish .doc-page--with-nav .doc-body { grid-template-columns: 232px minmax(0, 1fr); gap: 24px; }
  .site-polish .doc-page .legal-doc { padding: 28px; }
}
@media (max-width: 767px) {
  .site-polish .doc-hero { padding: 88px 0 32px; }
  .site-polish .doc-hero .wrap { padding-inline: max(18px, env(safe-area-inset-left)); }
  .site-polish .doc-home { margin-bottom: 14px; font-size: 14px; }
  .site-polish .doc-hero h1 { font-size: 26px; line-height: 1.25; text-wrap: initial; }
  .site-polish .doc-page .legal-sub { font-size: 16px; margin-top: 16px; }
  .site-polish .doc-page .legal-meta { gap: 8px 20px; margin-top: 18px; }
  .site-polish .doc-page .legal-meta .lm { font-size: 13px; }
  .site-polish .doc-body,
  .site-polish .doc-page--with-nav .doc-body,
  .site-polish .doc-archive__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    padding: 24px max(18px, env(safe-area-inset-left)) 48px;
  }
  .site-polish .doc-sidebar {
    display: grid;
    position: static;
    gap: 10px;
    max-height: none;
    overflow: visible;
    padding: 0;
    margin: 0;
  }
  .site-polish .doc-navigation--desktop,
  .site-polish .doc-contents--desktop { display: none; }
  .site-polish .doc-navigation--mobile,
  .site-polish .doc-contents--mobile { display: block; }
  .site-polish .doc-disclosure {
    border: 1px solid var(--doc-line);
    border-radius: 6px;
    background: var(--doc-paper);
  }
  .site-polish .doc-disclosure summary {
    min-height: 48px;
    padding: 12px 16px;
    color: var(--doc-ink);
    font: 700 16px/1.5 'Nunito', sans-serif;
    cursor: pointer;
  }
  .site-polish .doc-disclosure nav { padding: 0 8px 12px; }
  .site-polish .doc-disclosure[open] summary { margin-bottom: 4px; }
  .site-polish .doc-page .legal-doc { max-width: none; padding: 22px 18px; font-size: 16px; line-height: 1.75; }
  .site-polish .doc-page .legal-doc h2 { font-size: 20px; gap: 10px; }
  .site-polish .doc-page .legal-doc h2 .n { width: 28px; height: 28px; font-size: 15px; }
  .site-polish .doc-page .legal-doc > h2 { margin-top: 32px; padding-top: 24px; scroll-margin-top: 86px; }
  .site-polish .doc-page .legal-doc p { margin-bottom: 16px; }
  .site-polish .doc-page .legal-card .lc-row { padding: 18px; }
  .site-polish .doc-page .legal-doc a.legal-back { padding-inline: 18px; font-size: 14px; }
}
@media (max-width: 359px) {
  .site-polish .doc-hero h1 { font-size: 23px; }
  .site-polish .doc-page .legal-doc { padding: 20px 14px; }
  .site-polish .doc-page .legal-doc h2 { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-polish .doc-page a { transition: none; }
}
@media (forced-colors: active) {
  .site-polish .doc-page .legal-doc,
  .site-polish .doc-navigation,
  .site-polish .doc-page .legal-toc__in,
  .site-polish .doc-disclosure { border-color: CanvasText; }
  .site-polish .doc-sidebar nav a[aria-current="page"] { outline: 1px solid Highlight; }
}
