@import url("/website/reading-tokens.css");

/* Support/privacy only. Shared homepage/reading styles are not modified.
   Reuse the homepage sky and local reading type; no Moon or chart artwork. */
:root {
  color-scheme: dark;
  --policy-sky: #00243f;
  --policy-paper: #f4ecdc;
  --policy-muted: #d2d0ca;
  --policy-copper: #d0b49d;
  --policy-rule: #7c928b;
}
* { box-sizing: border-box; }
html { min-height: 100%; background:
    radial-gradient(ellipse 115% 42% at 54% 79%,rgb(99 50 92/.28) 0%,rgb(65 46 81/.16) 43%,transparent 76%),
    radial-gradient(ellipse 90% 50% at 22% 9%,rgb(45 67 93/.20) 0%,rgb(0 42 72/.08) 43%,transparent 76%),
    linear-gradient(180deg,#00243f 0%,#00243f 18%,#002a48 37%,#23223c 58%,#412e51 73%,#63325c 82%,#00243f 88%,#00243f 100%); }
body.support-privacy-page {
  isolation: isolate;
  margin: 0;
  min-height: 100svh;
  background: transparent;
  color: var(--policy-paper);
  font: 18px/1.6 var(--sp-reading-body);
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}
.page-sky { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; contain: layout paint; }
.sky-canvas { display: block; width: 100%; height: 100%; background: transparent; }
a { color: var(--policy-copper); text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--policy-paper); outline-offset: 5px; }
::selection { background: var(--policy-copper); color: #23223c; }
.skip-link { position: absolute; left: 1rem; top: -6rem; z-index: 10; padding: .75rem 1rem; background: var(--policy-paper); color: #23223c; }
.skip-link:focus { top: 1rem; }
.policy-mast, main, .policy-footer { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.policy-mast { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 28px; padding-block: 20px; border-bottom: 1px solid var(--policy-rule); }
.brand { font: 400 25px/1.2 var(--sp-reading-title); color: var(--policy-paper); text-decoration: none; }
nav { display: flex; flex-wrap: wrap; gap: 4px 24px; }
nav a { min-height: 44px; display: inline-flex; align-items: center; padding-block: 8px; font-size: 16px; }
nav a[aria-current="page"] { color: var(--policy-paper); text-decoration-thickness: 2px; }
.policy-hero { padding-block: clamp(36px, 6vw, 72px) 32px; }
.eyebrow { margin: 0 0 16px; color: var(--policy-copper); font: 700 12px/1.5 var(--sp-reading-body); letter-spacing: .09em; text-transform: uppercase; }
h1, h2, h3 { font-family: var(--sp-reading-title); font-weight: 400; line-height: 1.15; text-wrap: balance; }
h1 { margin: 0 0 20px; font-size: clamp(40px, 6vw, 70px); letter-spacing: -.025em; }
h2 { margin: 0 0 20px; font-size: clamp(28px, 3vw, 36px); letter-spacing: -.015em; }
h3 { margin: 12px 0; font-size: 23px; }
p { margin: 0 0 1em; }
.policy-hero>p:not(.eyebrow) { max-width: 50ch; font-size: 21px; }
.contact-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.policy-card { min-width: 0; padding: clamp(20px, 3vw, 32px); border: 1px solid var(--policy-rule); background: var(--policy-sky); scroll-margin-top: 24px; }
.card-lead { color: var(--policy-paper); }
.policy-list { margin-top: 24px; }
details { border-top: 1px solid var(--policy-rule); scroll-margin-top: 24px; }
summary { padding: 14px 4px; min-height: 48px; color: var(--policy-paper); cursor: pointer; font-weight: 700; line-height: 1.45; }
summary::marker { color: var(--policy-copper); }
details[open] summary { color: var(--policy-copper); }
.policy-detail { padding: 4px 4px 20px; color: var(--policy-muted); }
.policy-detail>:last-child, .policy-detail>div>:last-child { margin-bottom: 0; }
.supportNeed { margin-top: 16px; }
.supportAction, .supportEmail { display: inline-block; padding-block: 9px; min-height: 44px; font-weight: 700; }
.card-note { margin-top: 20px; color: var(--policy-muted); font-size: 16px; line-height: 1.6; }
.card-note p { margin: 0; }
.policy-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 24px; margin-top: 40px; padding-block: 24px 40px; border-top: 1px solid var(--policy-rule); font-size: 16px; }
.policy-footer p { margin: 0; }
.policy-footer a { min-height: 44px; }
@media (max-width: 760px) {
  .policy-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .policy-mast, main, .policy-footer { width: calc(100% - 32px); }
  .policy-mast { align-items: flex-start; }
  nav { gap: 4px 18px; }
  .policy-hero { padding-top: 36px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  :root { color-scheme: light; --policy-paper: #23223c; --policy-muted: #23223c; --policy-copper: #6a3c3b; --policy-sky: white; --policy-rule: #6a3c3b; }
  html, body.support-privacy-page { background: white; }
  .page-sky, .skip-link { display: none; }
  .policy-mast, main, .policy-footer { width: 100%; }
  .policy-grid { display: block; }
  .policy-card { margin-bottom: 24px; }
  h1, h2, h3, summary { break-after: avoid; }
  .policy-detail { display: block; }
  details::details-content { content-visibility: visible; }
}
