.policy-main { max-width: 1120px; padding-top: clamp(3rem, 8vw, 7rem); padding-bottom: 7rem; }
.policy-top { border-top: 1px solid #c9d6e2; padding-top: 1.2rem; margin-bottom: 4rem; }
.policy-kicker { color: #006ad8; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.policy-main h1 { color: #102c58; font-size: clamp(2.8rem, 7vw, 5.8rem); line-height: 1; margin: 1.4rem 0; letter-spacing: -.055em; }
.policy-lede { max-width: 68ch; color: #516477; font-size: clamp(1.05rem, 1.7vw, 1.28rem); line-height: 1.6; }
.policy-grid { display: grid; grid-template-columns: minmax(0, .45fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 6rem); border-top: 1px solid #c9d6e2; padding: 2.2rem 0; }
.policy-grid h2 { color: #102c58; font-size: clamp(1.22rem, 2vw, 1.7rem); line-height: 1.2; margin: 0; }
.policy-grid p, .policy-grid li { color: #364a5c; line-height: 1.7; margin: 0 0 .9rem; }
.policy-grid a { color: #006ad8; text-underline-offset: .2em; overflow-wrap: anywhere; }
.policy-grid ul { margin: 0; padding-left: 1.2rem; }
.policy-meta { color: #66788a; font-size: .9rem; margin-top: 3rem; }
.policy-header .brand img { max-width: 180px; }
@media (max-width: 700px) { .policy-grid { grid-template-columns: 1fr; gap: 1rem; } .policy-main { padding-bottom: 4rem; } }
