* { box-sizing: border-box; }
body.policy-page { margin: 0; background: #f4f4f4; color: #171717; font-family: system-ui, "Noto Sans Georgian", sans-serif; line-height: 1.8; }
.policy-shell { width: min(100% - 2rem, 52rem); margin: 0 auto; padding: 2rem 0; }
.policy-brand { display: inline-block; margin-bottom: 1.5rem; color: #0b0b0b; font-size: 1.25rem; font-weight: 800; text-decoration: none; }
.policy-card { padding: clamp(1.2rem, 5vw, 3rem); background: #fff; border: 1px solid #ddd; border-radius: 1.25rem; }
.policy-card h1 { margin: 0; font-size: clamp(1.5rem, 5vw, 2.15rem); line-height: 1.4; overflow-wrap: anywhere; }
.policy-updated { color: #666; font-size: .85rem; padding-bottom: 1.2rem; border-bottom: 3px solid #ffd500; }
.policy-card h2 { margin: 2rem 0 .65rem; font-size: 1.15rem; line-height: 1.5; }
.policy-card p, .policy-card ul { margin: 0 0 1.2rem; }
.policy-card li { margin: .65rem 0; }
.policy-card ul { padding-left: 1.4rem; }
.policy-card a, .policy-back { color: #262626; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.policy-notice { padding: 1rem; border-left: 4px solid #ffd500; background: #fffbea; }
.policy-back { display: inline-block; margin-top: 1.4rem; }
.legal-footer { width: min(100% - 2rem, 52rem); margin: 2rem auto 0; padding: 1.5rem 0 2.5rem; border-top: 1px solid #ddd; color: #555; text-align: center; font-family: system-ui, sans-serif; font-size: .8rem; line-height: 1.8; }
.legal-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.25rem; }
.legal-footer a { color: inherit; text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-footer p { margin: 1rem 0 .3rem; }
a:focus-visible { outline: 3px solid #1684ff; outline-offset: 4px; }
