.policy-intro { padding: 74px 0 62px; border-bottom: 1px solid var(--line); }
.policy-kicker { color: var(--purple); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.policy-intro h1 { max-width: none; margin-top: 18px; font-size: clamp(56px, 7vw, 90px); line-height: 1; letter-spacing: -.055em; }
.policy-intro h1 em { color: var(--purple); font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; }
.policy-effective { display: block; margin-top: 23px; color: #928b98; font-size: 14px; }
.policy-layout { display: grid; grid-template-columns: 230px minmax(0, 690px); justify-content: space-between; gap: clamp(48px, 8vw, 140px); padding: 56px 0 100px; }
.policy-nav { align-self: start; position: sticky; top: 32px; }
.policy-nav > span { display: block; margin-bottom: 19px; color: #aaa1af; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.policy-nav nav { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.policy-nav a { color: var(--muted); font-size: 14px; line-height: 1.4; text-decoration: none; transition: color .2s ease; }
.policy-nav a:hover { color: var(--purple); }
.policy-content { min-width: 0; }
.policy-content section { scroll-margin-top: 30px; }
.policy-content section + section { margin-top: 50px; padding-top: 42px; border-top: 1px solid var(--line); }
.policy-content h2 { margin-bottom: 22px; color: var(--ink); font-size: clamp(25px, 2.6vw, 32px); font-weight: 650; letter-spacing: -.04em; line-height: 1.18; }
.policy-content p { color: #5e5866; font-size: 17px; line-height: 1.75; }
.policy-content p + p { margin-top: 18px; }
.policy-content a { color: var(--purple); text-underline-offset: 3px; }
@media (max-width: 800px) {
  .policy-layout { grid-template-columns: 1fr; padding-top: 42px; padding-bottom: 72px; }
  .policy-nav { display: none; }
}
@media (max-width: 700px) {
  .policy-intro { padding: 68px 0 43px; }
  .policy-intro h1 { font-size: clamp(54px, 12vw, 74px); }
  .policy-layout { padding-top: 38px; padding-bottom: 66px; }
  .policy-content section + section { margin-top: 38px; padding-top: 35px; }
  .policy-content h2 { margin-bottom: 16px; font-size: 27px; }
  .policy-content p { font-size: 16px; line-height: 1.68; }
}
@media (prefers-reduced-motion: reduce) { .policy-nav a { transition: none; } }
