/* Privacy policy layout. Tokens, header, footer and nav come from styles.css. */
.policy-hero { padding:72px 0 60px; border-bottom:1px solid var(--line); }
.policy-hero h1 { margin:0; max-width:760px; font-size:clamp(44px,6vw,68px); line-height:1.06; letter-spacing:-.04em; font-weight:600; }
.effective { margin:20px 0 0; color:var(--muted); font-size:14px; }
.summary { padding:64px 0; background:var(--cream); border-bottom:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:1fr 1.1fr; gap:30px; align-items:end; }
.section-heading .eyebrow { grid-column:1 / -1; margin-bottom:-12px; }
.section-heading h2 { margin:0; font-size:clamp(30px,3.8vw,46px); line-height:1.08; letter-spacing:-.04em; font-weight:600; }
.section-heading > p:last-child { margin:0; max-width:420px; color:var(--muted); font-size:15px; }
.ledger { margin:48px 0 0; border-top:1px solid var(--line); }
.ledger div { display:grid; grid-template-columns:190px 1fr; gap:30px; padding:20px 0; border-bottom:1px solid var(--line); font-size:14px; }
.ledger dt { font-weight:600; }
.ledger dd { margin:0; max-width:680px; color:var(--muted); }
.policy-content { padding:72px 0 96px; }
.policy-layout { display:grid; grid-template-columns:230px minmax(0, 720px); gap:80px; align-items:start; }
.policy-toc { position:sticky; top:24px; display:flex; flex-direction:column; align-items:flex-start; gap:9px; font-size:13px; }
.policy-toc strong { margin-bottom:7px; font-size:14px; font-weight:600; }
.policy-toc a { color:var(--muted); text-decoration:none; }
.policy-toc a:hover,.policy-toc a:focus-visible { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.policy-layout article h2 { margin:48px 0 15px; font-size:24px; line-height:1.15; letter-spacing:-.03em; font-weight:600; }
.policy-layout article h2:first-child { margin-top:0; }
.policy-layout article p { margin:0 0 18px; color:var(--muted); font-size:15px; line-height:1.6; }
.policy-layout article a { color:var(--ink); text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:3px; }
.policy-layout article strong { color:var(--ink); }
.policy-layout article ul { margin:0 0 22px; padding-left:22px; color:var(--muted); font-size:15px; }
.policy-layout article li { margin:8px 0; }
.policy-layout table { width:100%; margin:24px 0; border-collapse:collapse; font-size:13.5px; }
.policy-layout th,.policy-layout td { padding:12px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.policy-layout th { background:var(--surface-subtle, #f2efe7); color:var(--ink); font-weight:600; }
@media (max-width:760px) {
  .policy-hero { padding:56px 0 44px; }
  .section-heading,.policy-layout { grid-template-columns:1fr; gap:24px; }
  .section-heading .eyebrow { grid-column:auto; margin:0; }
  .ledger { margin-top:32px; }
  .ledger div { grid-template-columns:1fr; gap:5px; }
  .policy-content { padding:56px 0 68px; }
  .policy-toc { position:static; padding-bottom:18px; border-bottom:1px solid var(--line); }
  .policy-layout article h2 { margin-top:36px; }
  .policy-layout table { display:block; overflow-x:auto; white-space:normal; }
}
.policy-layout article h3 { margin:36px 0 12px; font-size:18px; line-height:1.25; letter-spacing:-.02em; font-weight:600; }
