.policy-roll { padding-bottom: 150px; }
.policy-hero { position: relative; max-width: 1050px; padding: clamp(42px, 8vw, 104px) clamp(26px, 7vw, 90px); overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: radial-gradient(circle at 92% 10%, rgba(244,84,61,.2), transparent 22rem), radial-gradient(circle at 0% 100%, rgba(125,66,198,.25), transparent 28rem), var(--surface); }
.policy-hero img { width: 62px; height: 62px; margin-bottom: 34px; border: 1px solid var(--line-strong); border-radius: 18px; image-rendering: pixelated; }
.policy-hero h1 { max-width: 900px; }
.policy-hero > p:last-child { max-width: 700px; margin: 30px 0 0; color: var(--soft); font-size: clamp(16px, 2vw, 21px); line-height: 1.6; }
.policy-jump { position: sticky; z-index: 5; top: 14px; width: fit-content; max-width: 100%; margin: 22px 0 58px; overflow-x: auto; white-space: nowrap; }
.policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.policy-card { position: relative; scroll-margin-top: 90px; padding: clamp(28px, 4vw, 50px); border: 1px solid var(--line); border-radius: 22px; background: var(--surface); }
.policy-number { position: absolute; top: 28px; right: 30px; margin: 0; color: var(--faint); font: 11px 'IBM Plex Mono'; }
.policy-card h2, .support-card h2 { margin: 0; font: 700 clamp(29px, 4vw, 46px)/1 'Space Grotesk'; letter-spacing: -.04em; }
.policy-card > p:not(.eyebrow, .policy-number), .support-card p { color: var(--soft); line-height: 1.7; }
.policy-card ul { display: grid; gap: 12px; margin: 24px 0 0; padding-left: 20px; color: var(--soft); font-size: 14px; line-height: 1.6; }
.policy-card li::marker { color: var(--green); }
.support-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 38px; align-items: center; scroll-margin-top: 90px; margin-top: 16px; padding: clamp(30px, 5vw, 58px); border: 1px solid rgba(85,185,139,.36); border-radius: 22px; background: radial-gradient(circle at 100% 0%, rgba(85,185,139,.14), transparent 26rem), var(--surface); }
.support-card p { max-width: 700px; margin-bottom: 0; }
.support-card > a { padding: 15px 20px; border-radius: 999px; background: var(--coral); color: #fff; font-weight: 700; text-decoration: none; white-space: nowrap; }
.policy-updated { margin: 20px 4px 0; color: var(--faint); font: 10px 'IBM Plex Mono'; text-transform: uppercase; }
@media (max-width: 760px) {
  .policy-roll { padding-bottom: 76px; }
  .policy-grid { grid-template-columns: 1fr; }
  .policy-jump { margin-bottom: 38px; }
  .support-card { grid-template-columns: 1fr; gap: 22px; }
  .support-card > a { width: 100%; text-align: center; }
}
