/* The privacy policy: the landing page's blue band and outlined title on top,
   then the policy written on one sheet of squared notebook paper. Long text,
   so the sheet stays calm: marker colours only on the summary sticker, the
   contents card and the callouts. */

body { background: var(--blue); }

/* ---------- Title band ---------- */

.policy-hero {
  background-color: var(--blue);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.13) 2px, transparent 2px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.13) 2px, transparent 2px);
  background-size: 40px 40px;
  color: var(--paper);
  padding-top: calc(env(safe-area-inset-top, 0px) + 120px);
  padding-bottom: 72px;
}

.policy-hero-inner { max-width: 900px; display: grid; gap: 18px; justify-items: start; }

.policy-eyebrow {
  margin: 0;
  padding: 6px 14px;
  background: var(--yellow);
  color: var(--ink);
  border: 3px solid var(--ink);
  border-radius: 999px;
  box-shadow: 0 4px 0 var(--ink);
  font-weight: 900;
  font-size: var(--step-small);
  transform: rotate(-2deg);
}

.policy-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2.8rem, 8vw, 5.6rem);
  line-height: 0.95;
  color: var(--paper);
  -webkit-text-stroke: calc(var(--outline) * 2.2) var(--ink);
  paint-order: stroke fill;
  text-shadow: 0 0.075em 0 var(--ink);
}

.policy-meta { margin: 0; font-size: var(--step-lede); max-width: 40ch; }

/* ---------- The sheet ---------- */

.policy-band {
  position: relative;
  background: var(--ink);
  padding: 0 12px 64px;
}

.policy-band::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--tear) * -1 + 1px);
  height: var(--tear);
  background: var(--ink);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='22'%3E%3Cpath d='M0 22 L9 6 L16 14 L26 0 L35 12 L44 4 L44 22 Z'/%3E%3C/svg%3E") repeat-x bottom / 44px 22px;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='22'%3E%3Cpath d='M0 22 L9 6 L16 14 L26 0 L35 12 L44 4 L44 22 Z'/%3E%3C/svg%3E") repeat-x bottom / 44px 22px;
}

.sheet {
  --gutter: clamp(20px, 5vw, 56px);
  position: relative;
  top: -32px;
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 56px) var(--gutter) clamp(32px, 5vw, 56px) calc(var(--gutter) + 18px);
  background-color: var(--paper);
  background-image:
    linear-gradient(90deg, transparent calc(var(--gutter) - 2px), var(--margin-pink) calc(var(--gutter) - 2px), var(--margin-pink) var(--gutter), transparent var(--gutter)),
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 100% 100%, 28px 28px, 28px 28px;
  border: var(--outline) solid var(--ink-deep);
  border-radius: 28px;
  box-shadow: 0 12px 0 var(--ink-deep);
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.sheet h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.5rem, 3.4vw, 2rem);
  line-height: 1.15;
  margin: 56px 0 14px;
  scroll-margin-top: 96px;
}

.sheet h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.3rem;
  margin: 30px 0 8px;
}

.sheet p,
.sheet ul,
.sheet ol { margin: 0 0 16px; }
.sheet ul,
.sheet ol { padding-left: 22px; }
.sheet li { margin-bottom: 8px; }
.sheet li::marker { color: var(--blue); font-weight: 900; }
.sheet strong { font-weight: 900; }

.sheet a {
  color: var(--blue-edge);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.sheet a:hover { background: var(--yellow); }

.sheet code {
  font-size: 0.9em;
  background: var(--ice);
  border: 2px solid var(--sky);
  border-radius: 8px;
  padding: 0 6px;
}

/* The short version: a yellow sticker pinned at the top. */
.summary {
  background: var(--yellow);
  border: 3px solid var(--ink);
  border-radius: 22px;
  box-shadow: 0 6px 0 var(--ink);
  padding: 22px 24px 8px;
  margin: 0 0 32px;
  transform: rotate(-0.6deg);
}
.summary h2 { margin-top: 0; font-size: 1.6rem; }
.summary li::marker { color: var(--ink); }

/* Contents: a white card with chunky numbered links. */
.toc {
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 22px;
  box-shadow: 0 6px 0 var(--ink);
  padding: 20px 24px;
}
.toc > p {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.3rem;
  margin: 0 0 10px;
}
.toc ol { margin: 0; font-size: 0.98rem; }
.toc li { margin-bottom: 6px; break-inside: avoid; }
.toc li::marker { color: var(--pink-edge); }
@media (min-width: 680px) {
  .toc ol { columns: 2; column-gap: 40px; }
}

.callout {
  background: var(--sky);
  border: 3px solid var(--ink);
  border-radius: 18px;
  box-shadow: 0 5px 0 var(--ink);
  padding: 16px 20px;
  margin: 0 0 24px;
}
.callout p:last-child { margin-bottom: 0; }

.table-scroll {
  overflow-x: auto;
  background: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 18px;
  margin-bottom: 24px;
}
.table-scroll table {
  border-collapse: collapse;
  width: 100%;
  min-width: 520px;
  font-size: 0.95rem;
}
.table-scroll th,
.table-scroll td {
  text-align: left;
  vertical-align: top;
  padding: 12px 16px;
  border-bottom: 2px solid var(--grid);
}
.table-scroll th {
  background: var(--ink);
  color: var(--paper);
  font-weight: 900;
  white-space: nowrap;
}
.table-scroll tbody tr:last-child td { border-bottom: none; }

.sheet-end {
  margin: 48px 0 0;
  padding-top: 20px;
  border-top: 3px dashed var(--stone-line);
  color: var(--ink-soft);
  font-size: var(--step-small);
}
