.policy-page { width: min(900px, calc(100% - 48px)); margin-inline: auto; padding-block: 52px 75px; }
.policy-breadcrumb { display: flex; gap: 10px; font-size: 13px; color: var(--muted); margin-bottom: 22px; }
.policy-breadcrumb a { color: var(--green); }
.policy-page h1 { font-size: clamp(29px, 4vw, 41px); letter-spacing: -.8px; line-height: 1.8; margin-bottom: 8px; }
.policy-date { font-size: 12px; margin-bottom: 25px; }
.policy-intro { padding: 21px 25px; background: #eaf0e6; border-right: 3px solid var(--green); border-radius: 6px; margin-bottom: 30px; color: #4a5c43; }
.policy-content { background: #fffefa; border: 1px solid var(--line); padding: 32px; border-radius: 10px; }
.policy-content section + section { border-top: 1px solid var(--line); margin-top: 25px; padding-top: 25px; }
.policy-content h2 { font-family: var(--font); font-size: 23px; letter-spacing: 0; line-height: 1.7; margin-bottom: 10px; }
.policy-content p { font-size: 16px; line-height: 2; }
.policy-content p + p { margin-top: 10px; }
.policy-content a { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.policy-actions { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 30px; align-items: center; }
.policy-header .header-inner { gap: 16px; }
.policy-header .text-link { font-size: 14px; }
.policy-page ~ .footer .footer-bottom { padding-bottom: 20px; }
.footer-links { flex-wrap: wrap; }
.form-policy-links { font-size: 11px; text-align: center; margin-top: 12px; line-height: 1.9; }
.form-policy-links a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .policy-page { width: calc(100% - 36px); padding-block: 34px 45px; }
  .policy-content { padding: 23px 20px; }
  .policy-content h2 { font-size: 20px; }
  .policy-content p { font-size: 14px; }
  .policy-intro { padding: 17px 19px; font-size: 14px; }
  .policy-header .text-link { font-size: 12px; }
}
