/* Use the landing page palette, including its optional dark mode. */
.privacy-page {
  --text:var(--paper);
  --text-muted:var(--paper-dim);
  --text-dim:var(--paper-dim);
  --accent-bright:var(--red);
  --accent:var(--red);
  line-height:1.75;
}
.privacy-page .nav-link[aria-current="page"] { color:var(--red); }
.page-hero {
  padding:155px 24px 65px;
  text-align:center;
  border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at 50% 25%,#ff83bc24,transparent 70%);
}
.page-hero-label {
  display:inline-block;
  padding:7px 18px;
  border:1px solid var(--line);
  border-radius:30px;
  background:var(--surface);
  color:var(--red);
  font:11px var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:22px;
}
.page-hero h1 { font-size:clamp(40px,6vw,66px); margin-bottom:18px; }
.page-hero p { font-size:13px; color:var(--paper-dim); }
.privacy-page .content { max-width:940px; margin:auto; padding:35px 32px 65px; }
.privacy-page .highlight-card,.privacy-page .info-card,.privacy-page .warn-card {
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:18px;
  padding:24px;
  margin:24px 0;
}
.privacy-page .highlight-card {
  display:flex;
  align-items:flex-start;
  gap:15px;
  background:linear-gradient(120deg,#ff83bc10,transparent),var(--surface);
  border-color:color-mix(in srgb,var(--red) 25%,transparent);
}
.highlight-card-icon { flex-shrink:0; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--surface-2); color:var(--red); margin-top:2px; }
.highlight-card-icon svg { width:15px; height:15px; }
.privacy-page .highlight-card p { font-size:14px; line-height:1.9; color:var(--paper-dim); margin:0; }
.privacy-page .toc { margin:35px 0 55px; padding:30px; background:var(--surface); border:1px solid var(--line); border-radius:22px; }
.toc h3 { font:600 19px var(--font-display); margin-bottom:20px; }
.toc ol { display:grid; grid-template-columns:1fr 1fr; gap:8px 26px; list-style:none; counter-reset:section; }
.toc li { display:flex; gap:12px; align-items:baseline; counter-increment:section; }
.toc li::before { content:counter(section,decimal-leading-zero); font:11px var(--font-mono); color:var(--red); }
.toc a { font-size:13px; color:var(--paper-dim); padding:5px 0; }
.toc a:hover { color:var(--red); text-decoration:underline; text-underline-offset:4px; }
.privacy-page .section { background:none; border:0; padding:0; margin:0; scroll-margin-top:105px; }
.section-num { font:11px var(--font-mono); color:var(--red); letter-spacing:.1em; margin-bottom:13px; }
.privacy-page .section h2 { font:600 clamp(23px,3vw,29px)/1.25 var(--font-display); letter-spacing:-.04em; margin-bottom:20px; }
.privacy-page .section h3 { font:600 18px var(--font-display); margin:25px 0 12px; }
.privacy-page .section p { font-size:15px; line-height:1.9; color:var(--paper-dim); margin-bottom:16px; overflow-wrap:anywhere; }
.privacy-page .section p:last-child { margin-bottom:0; }
.privacy-page .section a { text-decoration:underline; text-underline-offset:3px; }
.privacy-page .warn-card { border-left:3px solid var(--red); }
.divider { height:1px; background:var(--line); margin:42px 0; }
.table-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:15px; margin:22px 0; background:var(--surface); }
.table-scroll:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.data-table { width:100%; min-width:540px; border-collapse:collapse; font-size:13px; }
.data-table th { text-align:left; background:var(--surface-2); color:var(--paper); font-size:11px; font-weight:600; letter-spacing:.04em; padding:15px; }
.data-table td { vertical-align:top; padding:15px; color:var(--paper-dim); border-top:1px solid var(--line); }
.data-table td:first-child { color:var(--paper); font-weight:500; }
.badge-yes,.badge-no { display:inline-block; font-size:10px; font-weight:600; padding:4px 8px; border:1px solid var(--line); border-radius:20px; }
.badge-yes { color:var(--red); background:var(--surface-2); }
.badge-no { color:var(--paper-dim); background:var(--ink); }
.privacy-page footer { border-top:1px solid var(--line); padding:28px max(24px,calc((100vw - 1116px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer-links { display:flex; gap:22px; }
.footer-links a:hover { color:var(--red); }
.privacy-page .concise-policy { max-width:850px; padding-top:55px; }
.privacy-page .concise-policy .section { padding:0 0 34px; margin-bottom:34px; border-bottom:1px solid var(--line); }
.privacy-page .concise-policy .section:last-child { border:0; margin-bottom:0; }
.policy-list { padding-left:22px; color:var(--paper-dim); font-size:15px; line-height:1.9; margin:16px 0; }
.policy-list li { padding-left:5px; margin-bottom:10px; }
.policy-list strong { color:var(--paper); }
.policy-contact { display:flex; flex-direction:column; align-items:flex-start; gap:10px; overflow-wrap:anywhere; }
.policy-contact span { font:11px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; color:var(--paper-dim); }
.policy-contact a { color:var(--red); font-size:15px; max-width:100%; }
.policy-contact .contact-action { font-size:13px; margin-top:8px; font-weight:600; }
@media(max-width:650px) {
  .page-hero { padding:120px 20px 45px; }
  .page-hero p { font-size:11px; }
  .privacy-page .content { padding:20px 20px 50px; }
  .toc ol { grid-template-columns:1fr; }
  .privacy-page .toc { padding:23px; }
  .privacy-page .highlight-card,.privacy-page .info-card,.privacy-page .warn-card { padding:20px; }
  .privacy-page .highlight-card { gap:10px; }
  .privacy-page footer { justify-content:center; text-align:center; }
}
