/* Privacy policy page - hero, entity card, contents box, and legal-doc prose.
   Relies on the shared :root tokens in styles.css. */

.policy-hero{background:var(--offwhite);border-bottom:1px solid var(--border);
  padding:72px 0 48px;position:relative;overflow:hidden}
.policy-hero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;
  border-radius:50%;background:radial-gradient(circle,rgba(212,55,77,0.08) 0%,transparent 70%);pointer-events:none}
.policy-hero .inner{max-width:820px;margin:0 auto;position:relative}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--rose-mid);
  border:1px solid rgba(212,55,77,0.18);color:var(--rose);font-size:var(--text-xs);font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;padding:6px 14px;border-radius:20px;margin-bottom:20px}
.policy-hero h1{color:var(--charcoal);margin-bottom:16px}
.policy-hero .sub{font-size:var(--text-lg);color:var(--muted);line-height:1.7;max-width:560px;margin-bottom:24px}
.meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.meta .chip{background:var(--white);border:1px solid var(--border);font-size:var(--text-xs);
  font-weight:600;padding:6px 14px;border-radius:999px;color:var(--charcoal)}
.meta .printbtn{margin-left:auto}

.policy-wrap{max-width:820px;margin:0 auto;padding:56px 24px 96px}
.entity{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--rose);
  border-radius:var(--radius);padding:24px 28px;margin:0 0 36px;box-shadow:var(--shadow)}
.entity h2{font-size:var(--text-xl);margin:0 0 12px}
.entity dl{margin:0;display:grid;grid-template-columns:150px 1fr;gap:6px 16px;font-size:var(--text-sm)}
.entity dt{font-weight:700;color:var(--muted)}
.entity dd{margin:0;color:var(--muted)}
/* .toc reuses the <nav> tag for a real landmark, so undo the sticky site-nav
   rule (plain `nav{...}`) that would otherwise apply to it too. */
nav.toc{position:static;top:auto;z-index:auto;background:var(--offwhite)}
nav.toc,.toc{background:var(--offwhite);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px 28px;margin:0 0 44px}
.toc h2{font-size:var(--text-lg);margin:0 0 14px}
.toc ul{margin:0;padding:0;list-style:none;columns:2;column-gap:32px;font-size:var(--text-sm)}
.toc li{margin-bottom:7px;break-inside:avoid}
.toc a{color:var(--charcoal);text-decoration:none}
.toc a:hover{color:var(--rose);text-decoration:underline}
main.policy h2{font-size:26px;line-height:1.25;margin:52px 0 8px;padding-bottom:10px;
  border-bottom:2px solid var(--accent);scroll-margin-top:80px}
main.policy h3{font-size:var(--text-lg);font-weight:700;color:var(--rose);
  font-family:var(--font-body);margin:28px 0 6px}
main.policy p{margin:0 0 16px}
main.policy ul,main.policy ol{margin:0 0 20px;padding-left:24px}
main.policy li{margin-bottom:8px;color:var(--muted)}
main.policy a{color:var(--accent-text)}
main.policy table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:var(--text-sm);
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
main.policy th{background:var(--rose-light);text-align:left;padding:12px 14px;font-weight:700;
  border-bottom:2px solid var(--accent);vertical-align:top;color:var(--charcoal)}
main.policy td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--muted)}
main.policy tr:last-child td{border-bottom:0}

@media(max-width:640px){
  .entity dl{grid-template-columns:1fr;gap:2px}
  .entity dt{margin-top:10px}
  main.policy table,main.policy thead,main.policy tbody,main.policy tr,main.policy td{display:block;width:100%}
  main.policy thead{display:none}
  main.policy tr{border-bottom:2px solid var(--accent);padding:8px 0}
  main.policy td{border-bottom:1px solid var(--border)}
}

@media print{
  nav,footer,.toc,.printbtn{display:none!important}
  body{background:#fff}
  .policy-hero{background:#fff;border-bottom:2px solid #000;padding:0 0 12px}
  .policy-hero::before{display:none}
  .policy-hero h1{font-size:26px}
  .policy-wrap{padding:0;max-width:100%}
  main.policy h2{font-size:17px;margin:20px 0 4px;page-break-after:avoid}
  main.policy table,main.policy li,main.policy p{page-break-inside:avoid}
  a{color:#000;text-decoration:none}
}
