.policy-page { --policy-purple: #4c184b; --policy-green: #267620; }
.policy-page .title-wrapper { background: linear-gradient(145deg, #f9f5f9, #f4faef); }
.policy-page .title-wrapper h1 { font-size: clamp(2.1rem, 4vw, 3.2rem); }
.policy-page .title-wrapper p { max-width: 720px; margin: 16px auto; line-height: 1.75; }
.policy-eyebrow { font-size: .78rem; letter-spacing: .15em; color: var(--policy-green); font-weight: 700; }
.policy-date { font-size: .85rem; color: #576353; margin-top: 24px; }
.policy-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 48px; padding-top: 48px; padding-bottom: 72px; align-items: start; }
.policy-sidebar { position: sticky; top: 125px; max-height: calc(100vh - 145px); overflow-y: auto; padding: 2px 12px 12px 2px; }
.policy-sidebar h2 { font-size: 1.1rem; }
.policy-sidebar ol { padding-left: 22px; margin-top: 18px; }
.policy-sidebar li { padding: 5px 0 5px 5px; color: #576353; font-size: .9rem; }
.policy-sidebar a { color: #4d4050; text-decoration: none; }
.policy-sidebar a:hover { color: var(--policy-green); text-decoration: underline; }
.policy-help { margin-top: 24px; padding: 20px; border-radius: 16px; background: #f5f8f2; }
.policy-help p { font-size: .9rem; line-height: 1.65; margin: 8px 0; }
.policy-help a { font-weight: 700; }
.policy-document { min-width: 0; max-width: 790px; }
.policy-summary { display: flex; gap: 16px; padding: 24px; border-left: 4px solid var(--policy-green); border-radius: 0 16px 16px 0; background: #f4f8f0; margin-bottom: 34px; }
.policy-summary i { font-size: 1.6rem; color: var(--policy-green); }
.policy-summary p { margin: 0; font-size: 1rem; line-height: 1.8; }
.policy-page .policy-block { padding: 0 0 26px; margin: 0 0 28px; border-bottom: 1px solid #e9e3e9; scroll-margin-top: 130px; background: transparent; }
.policy-block h2 { font-size: 1.35rem; line-height: 1.45; display: flex; gap: 14px; align-items: baseline; }
.policy-block h2 span { font-size: .82rem; color: var(--policy-green); font-family: var(--default-font); }
.policy-block p { font-size: 1.05rem; line-height: 1.9; color: #424b48; margin: 12px 0 0; overflow-wrap: anywhere; }
.policy-document a { color: var(--policy-purple); text-decoration: underline; text-underline-offset: 3px; }
.policy-related { background: #f9f5f9; padding: 26px; border-radius: 18px; }
.policy-related h2 { font-size: 1.2rem; }
.policy-related a { display: inline-block; margin: 12px 24px 0 0; }
.policy-page a:focus-visible { outline: 3px solid var(--policy-green); outline-offset: 5px; }
.policy-skip { position: fixed; top: -100px; left: 20px; z-index: 10000; background: white; padding: 14px; }
.policy-skip:focus { top: 12px; }
@media (max-width: 991px) {
  .policy-layout { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; }
  .policy-sidebar { position: static; max-height: none; background: #faf8fa; padding: 22px; border-radius: 16px; }
  .policy-sidebar ol { columns: 2; column-gap: 28px; }
  .policy-sidebar li { break-inside: avoid; }
  .policy-help { display: none; }
}
@media (max-width: 575px) {
  .policy-sidebar ol { columns: 1; }
  .policy-layout { padding-left: 20px; padding-right: 20px; }
  .policy-block h2 { font-size: 1.2rem; }
  .policy-block p { font-size: 1rem; line-height: 1.85; }
  .policy-summary { padding: 18px; }
}
@media print {
  .policy-page .header, .policy-page .footer, .policy-sidebar, .policy-page #scroll-top, .policy-page #preloader, .policy-skip { display: none !important; }
  .policy-layout { display: block; padding: 0; }
  .policy-page .page-title { padding-top: 0; }
  .policy-page .policy-block { scroll-margin-top: 0; }
  .policy-block h2 { break-after: avoid; }
  .policy-document { max-width: none; }
}

@media (max-width: 991px) { .policy-page .policy-sidebar { display: none; } }
