:root { --blue: #087f83; --surface: #fff; }
.policy-hero { padding-block: 52px 32px; }
.policy-hero .eyebrow { margin-bottom: 20px; }
.policy-hero h1 { max-width: 900px; margin: 0; font-size: clamp(36px, 4vw, 54px); line-height: 1.2; }
.policy-layout { display: grid; grid-template-columns: 210px minmax(0, 760px); justify-content: space-between; align-items: start; gap: 70px; padding-block: 18px 88px; }
.policy-sidebar { position: sticky; top: calc(var(--nav-height) + 28px); padding: 24px 0; }
.policy-sidebar > a { color: var(--muted); font-size: 13px; }
.policy-sidebar > .policy-index-link { color: var(--ink); font-size: 14px; font-weight: 600; }
.policy-sidebar nav { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-block: 22px; }
.policy-sidebar nav a { color: var(--muted); font-size: 13px; line-height: 1.7; }
.policy-sidebar a:hover, .policy-sidebar a[aria-current] { color: var(--blue); }
.policy-sidebar a[aria-current] { font-weight: 500; }
.policy-content { min-width: 0; }
.policy-content .legal-intro { margin: 18px 0 32px; color: var(--muted); font-size: 18px; line-height: 1.8; }
.policy-content > section { padding-block: 28px; border-top: 1px solid var(--line); }
.policy-content h2 { margin-bottom: 18px; font-size: clamp(23px, 2.3vw, 29px); line-height: 1.35; }
.policy-content p { margin-bottom: 0; color: var(--muted); font-size: 15px; line-height: 1.95; }
.legal-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.legal-cards > a { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.legal-cards > a:hover { border-color: #adc1ee; }
.legal-cards h2 { font-size: 21px; }
.legal-cards p { margin-bottom: 22px; font-size: 14px; line-height: 1.8; }
.legal-cards span { margin-top: auto; color: var(--blue); font-size: 13px; }
@media (max-width: 900px) {
    .policy-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 700px) {
    .policy-hero { padding-block: 40px 22px; }
    .policy-hero h1 { font-size: 35px; }
    .policy-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-block: 10px 54px; }
    .policy-sidebar { position: static; padding: 23px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
    .policy-sidebar nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-block: 20px; }
    .policy-content .legal-intro { margin-top: 5px; font-size: 16px; }
    .legal-cards { grid-template-columns: minmax(0, 1fr); }
}
