.wrap { width: min(880px, calc(100% - 48px)); margin-inline: auto; }
.policy-header .wrap { width: min(1160px, calc(100% - 48px)); }
.policy-topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 14px; }
.policy-topbar .brand-logo { width: 270px; }
.phone { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 16px; text-decoration: none; white-space: nowrap; }
.phone svg { width: 18px; height: 18px; fill: var(--gbs-crimson); }
.policy { padding-block: 64px; }
.policy h1 { max-width: 20ch; font-size: clamp(36px, 5vw, 54px); }
.policy h2 { max-width: none; margin: 40px 0 18px; font-size: 30px; }
.policy p { overflow-wrap: anywhere; }
.policy .eyebrow { margin-bottom: 20px; }
.policy .muted { font-size: 15px; }
footer { border-top: 1px solid var(--law-rule); padding-block: 30px; font-size: 14px; color: var(--law-muted); }
.legal { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; }
.legal a { display: inline-flex; min-height: 44px; align-items: center; }
@media (max-width: 600px) {
  .policy-topbar { flex-direction: column; gap: 4px; }
  .policy-topbar .brand-logo { width: min(270px, 100%); }
  .policy { padding-block: 42px; }
  .policy h2 { font-size: 27px; }
  .legal { gap: 4px 24px; }
  .legal p:first-child { flex-basis: 100%; }
}
