.sna-policy-section {
  background: #f7f9fc;
  border-block: 1px solid #dfe5ec;
  padding: 3.5rem 1rem;
}

.sna-policy-inner {
  margin: 0 auto;
  max-width: 80rem;
}

.sna-policy-eyebrow {
  color: #f97316;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sna-policy-title {
  color: #071a2f;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  font-weight: 900;
  letter-spacing: -.025em;
  line-height: 1.15;
  margin: .65rem 0 0;
}

.sna-policy-intro {
  color: #526174;
  line-height: 1.7;
  margin: .9rem 0 0;
  max-width: 54rem;
}

.sna-brand-list {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.sna-brand-list li {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: .8rem;
  color: #071a2f;
  display: flex;
  font-size: .92rem;
  font-weight: 700;
  min-height: 2.8rem;
  padding: .7rem .85rem;
}

.sna-brand-list li::before {
  background: #f97316;
  border-radius: 999px;
  content: "";
  height: .42rem;
  margin-right: .6rem;
  width: .42rem;
}

.sna-independence-note {
  background: #fff;
  border: 1px solid #dfe5ec;
  border-left: 4px solid #f97316;
  border-radius: .8rem;
  color: #344255;
  line-height: 1.65;
  margin-top: 1.35rem;
  padding: 1rem 1.1rem;
}

.sna-policy-faq {
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: .8rem;
  margin-top: 1rem;
  padding: 0 1rem;
}

.sna-policy-faq summary {
  color: #071a2f;
  cursor: pointer;
  font-weight: 800;
  padding: 1rem 0;
}

.sna-policy-faq p {
  color: #526174;
  line-height: 1.65;
  margin: 0;
  padding: 0 0 1rem;
}

.sna-policy-call {
  align-items: center;
  background: #f97316;
  border-radius: .8rem;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  margin-top: 1.15rem;
  min-height: 3rem;
  padding: .75rem 1rem;
  text-decoration: none;
}

.sna-site-disclosure {
  background: #0c2239;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.86);
  font-size: .82rem;
  line-height: 1.6;
  padding: .85rem 1rem;
  text-align: center;
}

.sna-site-disclosure p {
  margin: 0 auto;
  max-width: 72rem;
}

@media (min-width: 640px) {
  .sna-brand-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .sna-brand-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .sna-policy-section * { scroll-behavior: auto !important; }
}
