/* Privacy & analytics page. Inherits tokens and the directory hero from styles.css. */

.privacy-page .directory-hero h1 { max-width: 8ch; }
.privacy-page .directory-hero-copy .lede { max-width: 420px; }

/* At a glance: four ruled columns, like the homepage dispatch grid */
.privacy-points { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.privacy-point { display: grid; align-content: start; gap: 12px; padding: 24px 24px 8px 0; }
.privacy-point + .privacy-point { padding-left: 24px; border-left: 1px solid var(--rule); }
.privacy-point-label { color: var(--teal); font: 700 var(--type-label)/var(--leading-label) var(--sans); letter-spacing: .055em; text-transform: uppercase; }
.privacy-point h3 { margin: 0; font-size: var(--type-card); line-height: 1.15; }
.privacy-point p { margin: 0; color: var(--ink-soft); font-size: var(--type-body-small); line-height: var(--leading-body-tight); }

/* Details: contents on the left, ruled sections on the right */
.privacy-details { display: grid; grid-template-columns: minmax(200px, .32fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 112px); align-items: start; border-top: 1px solid var(--rule); }
.privacy-toc { position: sticky; top: 104px; }
.privacy-toc h2 { margin: 0 0 14px; color: var(--ink-soft); font: 700 var(--type-label)/var(--leading-label) var(--sans); letter-spacing: .055em; text-transform: uppercase; }
.privacy-toc ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.privacy-toc a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; border-bottom: 1px solid var(--rule); font-size: 15px; font-weight: 600; transition: color .2s ease; }
.privacy-toc a:hover { color: var(--coral); }
.privacy-sections { min-width: 0; }
.privacy-section { display: grid; grid-template-columns: minmax(0, .38fr) minmax(0, 1fr); gap: 16px clamp(24px, 4vw, 56px); padding: 30px 0 32px; border-bottom: 1px solid var(--rule); scroll-margin-top: 100px; }
.privacy-section:first-child { padding-top: 0; }
.privacy-section h2 { margin: 0; font-size: var(--type-title); line-height: var(--leading-title); }
.privacy-section-body { min-width: 0; }
.privacy-section p { max-width: 64ch; margin: 0 0 14px; color: var(--ink); }
.privacy-section p:last-child { margin-bottom: 0; }
.privacy-section a { color: var(--teal); text-decoration: underline; text-decoration-color: rgba(29, 103, 100, .4); text-underline-offset: 4px; transition: color .2s ease; }
.privacy-section a:hover { color: var(--coral); }
.privacy-note { color: var(--ink-soft) !important; font-size: var(--type-body-small); }

/* Contact band */
.privacy-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px clamp(40px, 6vw, 96px); align-items: end; background: var(--deep); color: var(--white); }
.privacy-contact h2 { margin: 0 0 14px; color: var(--white); }
.privacy-contact p { max-width: 52ch; margin: 0; color: rgba(251, 250, 247, .84); }
.privacy-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.privacy-contact .button { min-width: 200px; }
.privacy-contact .button-light { border-color: var(--rule-light); background: transparent; color: var(--white); }
.privacy-contact .button-light:hover { border-color: var(--white); background: var(--white); color: var(--deep); }

.privacy-page :is(a, button):focus-visible { outline: 2px solid var(--coral); outline-offset: 3px; }

@media (max-width: 980px) {
  .privacy-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .privacy-point:nth-child(3) { padding-left: 0; border-left: 0; }
  .privacy-point:nth-child(n+3) { border-top: 1px solid var(--rule); }
  .privacy-details { grid-template-columns: 1fr; }
  .privacy-toc { position: static; }
  .privacy-contact { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 700px) {
  .privacy-points { grid-template-columns: 1fr; }
  .privacy-point, .privacy-point + .privacy-point { padding-left: 0; padding-right: 0; border-left: 0; }
  .privacy-point + .privacy-point { border-top: 1px solid var(--rule); }
  .privacy-section { grid-template-columns: 1fr; }
  .privacy-contact-actions { display: grid; }
  .privacy-contact .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .privacy-toc a, .privacy-section a { transition: none; }
}
