.policy { padding-block: clamp(64px, 9vw, 112px) 90px; }
.policy h1 { max-width: 16ch; margin-bottom: clamp(44px, 7vw, 72px); font-size: clamp(2.5rem, 7vw, 5.8rem); overflow-wrap: anywhere; }
.policy__list { max-width: 820px; margin: 0; padding: 0; list-style: none; counter-reset: policy; }
.policy__list li { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 18px; padding: 28px 0; border-top: 1px solid rgba(255, 255, 255, .14); color: #c5d8e7; font-size: clamp(1rem, 2vw, 1.15rem); line-height: 1.7; counter-increment: policy; }
.policy__list li::before { content: counter(policy, decimal-leading-zero); color: #80f5f7; font-size: .85rem; font-weight: 700; letter-spacing: .08em; }
.policy__list li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.policy__contact { max-width: 820px; margin-top: clamp(64px, 8vw, 96px); padding: clamp(24px, 5vw, 44px); border: 1px solid rgba(64, 255, 255, .42); border-radius: 28px; background: linear-gradient(125deg, rgba(9, 48, 90, .96), rgba(5, 30, 69, .96)); }
.policy__contact .eyebrow { margin-bottom: 10px; }
.policy__contact h2 { margin-bottom: 16px; font-size: clamp(1.7rem, 4vw, 2.4rem); }
.policy__contact a { display: block; width: fit-content; max-width: 100%; color: #80f5f7; font-size: clamp(1.15rem, 3vw, 1.5rem); font-weight: 700; overflow-wrap: anywhere; text-underline-offset: 5px; }
.policy__contact a + a { margin-top: 12px; }
.policy__contact a:hover { color: #fff; }

@media (max-width: 640px) {
  .policy { padding-top: 64px; padding-bottom: 64px; }
  .policy h1 { font-size: clamp(2.15rem, 10vw, 3.5rem); }
  .policy__list li { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding-block: 22px; }
  .footer { flex-wrap: wrap; }
}
