#regional-pricing { padding: 56px 0; background: #eef4f8; scroll-margin-top: 90px; }
#regional-pricing h2 { max-width: 760px; margin-bottom: 16px; }
.regional-pricing-intro { max-width: 760px; color: #4b5160; }
.regional-pricing-meta { display: flex; gap: 10px 24px; flex-wrap: wrap; margin: 22px 0; font-size: 14px; color: #435667; }
.regional-pricing-meta strong { color: #227442; }
.pricing-widget { padding: 28px; border: 1px solid #d5e0e8; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px #003b5c08; }
.pricing-capacity { border: 0; padding: 0; margin: 0; }
.pricing-capacity legend { font-weight: 700; margin-bottom: 12px; color: #003b5c; }
.pricing-capacity-options { display: flex; gap: 8px; flex-wrap: wrap; }
.pricing-capacity label { position: relative; flex: 1; min-width: 180px; cursor: pointer; }
.pricing-capacity input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pricing-capacity label span { display: block; text-align: center; padding: 13px 16px; border: 1px solid #cbd7df; border-radius: 9px; font-weight: 600; color: #003b5c; background: #f7fafc; }
.pricing-capacity input:checked + span { background: #003b5c; color: #fff; border-color: #003b5c; }
.pricing-capacity input:focus-visible + span { outline: 3px solid #0e7490; outline-offset: 3px; }
.pricing-incentive { margin: 18px 0 0; color: #435667; font-size: 15px; }
.pricing-incentive strong { color: #227442; }
.pricing-map { display: block; width: 100%; height: auto; margin: 8px 0 16px; }
.pricing-map path { stroke: #fff; stroke-width: 1.1; stroke-linejoin: round; }
.pricing-map .map-region-label { font-size: 13px; font-family: Arial, sans-serif; fill: #003b5c; font-weight: 700; }
.pricing-map .map-region-price { font-size: 21px; font-family: Arial, sans-serif; fill: #003b5c; font-weight: 700; }
.pricing-region-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pricing-region { padding: 16px; border: 1px solid #dbe4ea; border-top: 4px solid var(--region-color); border-radius: 8px; }
.pricing-region h3 { font-size: 15px; min-height: 38px; line-height: 1.3; margin: 0 0 8px; }
.pricing-region .regional-price { font-size: 27px; font-weight: 700; color: #003b5c; letter-spacing: -.03em; }
.pricing-region .regional-unit { color: #546574; font-size: 12px; }
.pricing-region .regional-free { font-size: 13px; color: #227442; margin-top: 8px; }
.pricing-quote-summary { margin-top: 22px; padding: 16px; background: #eef4f8; border-radius: 8px; color: #003b5c; font-size: 16px; }
.pricing-geography, .pricing-basis { color: #546574; font-size: 13px; margin-top: 18px; }
.pricing-geography summary { cursor: pointer; font-weight: 600; color: #003b5c; }
.pricing-geography p { margin-top: 10px; }
.pricing-all-tiers { margin-top: 18px; font-size: 14px; }
.pricing-all-tiers h3 { color: #003b5c; font-size: 20px; }
.pricing-all-tiers caption { text-align: left; padding: 8px 10px; color: #546574; }
.pricing-all-tiers table { width: 100%; border-collapse: collapse; margin-top: 12px; }
.pricing-all-tiers th, .pricing-all-tiers td { text-align: left; padding: 10px; border-bottom: 1px solid #dbe4ea; white-space: nowrap; }
.pricing-all-tiers .table-wrap { overflow-x: auto; }
.pricing-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 800px) { .pricing-region-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) {
  #pricing-cta-middle, #pricing-cta-bottom { padding: 22px; }
  #pricing-cta-middle .btn, #pricing-cta-bottom .btn { width: 100%; white-space: normal; text-align: center; }
  #regional-pricing { padding: 36px 0; }
  #regional-pricing .wrap { padding: 0 18px; }
  #regional-pricing h2 { font-size: 30px; }
  .pricing-widget { padding: 16px; }
  .pricing-capacity-options { flex-wrap: nowrap; gap: 5px; }
  .pricing-capacity label { min-width: 0; }
  .pricing-capacity label span { font-size: 12px; padding: 12px 5px; }
  .pricing-region { padding: 12px; }
  .pricing-region .regional-price { font-size: 24px; }
  .pricing-map .map-region-label { font-size: 15px; }
}
