.effective-date { margin-top: 18px; font-size: .85rem; color: #526358; }
.privacy-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 64px; padding-bottom: 64px; }
.policy-nav { position: sticky; top: 24px; align-self: start; border-top: 3px solid var(--green); padding-top: 20px; }
.policy-nav .eyebrow { margin-bottom: 10px; }
.policy-nav a { display: block; padding: 10px 0; font-size: .9rem; text-underline-offset: 4px; }
.policy-content { min-width: 0; background: #fffefb; border: 1px solid #e4d9cd; border-radius: 22px; padding: 32px; }
.policy-content section { scroll-margin-top: 24px; }
.policy-content section + section { border-top: 1px solid #e4d9cd; margin-top: 28px; padding-top: 28px; }
.policy-content p, .policy-content li { color: #526358; }
.policy-content strong { color: var(--forest); }
.policy-content ul { padding-left: 20px; margin: 0; }
.policy-content li + li { margin-top: 16px; }
.policy-content a, footer a { overflow-wrap: anywhere; text-underline-offset: 3px; }
.policy-content a { color: var(--green); }
@media (max-width: 760px) {
  .privacy-layout { grid-template-columns: 1fr; gap: 28px; padding-bottom: 40px; }
  .policy-nav { position: static; }
  .policy-content { padding: 26px 22px; }
}

/* Native disclosure on small screens; exactly one link set is exposed to
   keyboard navigation and accessibility APIs at each breakpoint. */
.policy-nav-mobile { display: none; }
.policy-nav-mobile summary { min-height: 44px; cursor: pointer; font-weight: 700; }
.policy-nav-mobile summary:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
@media (max-width: 760px) {
  .policy-nav-desktop { display: none; }
  .policy-nav-mobile { display: block; }
  .policy-nav a { min-height: 44px; }
}
