.jbpe-pricing-page { color: #344a5d; background: #fff; }
.jbpe-pricing-shell { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 48px 0 64px; }
.jbpe-pricing-page h1, .jbpe-pricing-page h2 { color: #09213d; font-family: "Manrope", Arial, sans-serif; font-weight: 600; letter-spacing: -.035em; }
.jbpe-pricing-page h1 { margin: 0 0 20px; font-size: clamp(2rem, 4.2vw, 3.5rem); line-height: 1.12; }
.jbpe-pricing-page h2 { margin: 0 0 20px; font-size: clamp(1.5rem, 2.8vw, 2rem); line-height: 1.2; }
.jbpe-pricing-page p { line-height: 1.7; }
.jbpe-pricing-intro { max-width: 900px; margin-bottom: 32px; }
.jbpe-pricing-intro p { font-size: 1.125rem; margin-bottom: 0; }
.jbpe-pricing-page section + section { margin-top: 40px; padding-top: 32px; border-top: 1px solid #d8e1e4; }
.jbpe-pricing-table-scroll { overflow-x: auto; margin-bottom: 16px; border: 1px solid #d8e1e4; border-radius: 10px; }
.jbpe-pricing-table-scroll:focus-visible { outline: 3px solid #0b7780; outline-offset: 3px; }
.jbpe-pricing-table { width: 100%; margin: 0; border-collapse: collapse; text-align: left; font-size: 1rem; }
.jbpe-pricing-table th, .jbpe-pricing-table td { padding: 20px; vertical-align: top; border-bottom: 1px solid #d8e1e4; }
.jbpe-pricing-table thead th { color: #fff; background: #09213d; font-weight: 600; }
.jbpe-pricing-table tbody th { width: 60%; color: #09213d; font-weight: 600; }
.jbpe-pricing-table tbody th p { margin: 8px 0 0; color: #344a5d; font-weight: 400; line-height: 1.6; }
.jbpe-pricing-table td { color: #09213d; font-weight: 600; }
.jbpe-pricing-table tr:nth-child(even) { background: #f4f8f7; }
.jbpe-pricing-table tr:last-child > * { border-bottom: 0; }
.jbpe-pricing-note { color: #526575; font-size: .95rem; }
.jbpe-pricing-services { margin: 0; }
.jbpe-pricing-services > div { padding: 22px 0; border-bottom: 1px solid #d8e1e4; }
.jbpe-pricing-services > div:first-child { padding-top: 0; }
.jbpe-pricing-services > div:last-child { border-bottom: 0; padding-bottom: 0; }
.jbpe-pricing-services dt { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 32px; margin-bottom: 8px; color: #09213d; font-size: 1.125rem; font-weight: 600; }
.jbpe-pricing-services dd { margin: 0; max-width: 860px; line-height: 1.7; }
.jbpe-pricing-page .jbpe-pricing-services dt a { border-radius: 0 !important; background: transparent !important; color: #0b6870 !important; text-decoration: underline; text-underline-offset: 3px; }
.jbpe-pricing-page .jbpe-pricing-contact { padding: 32px 0 0; text-align: left; color: inherit; background: none; }
.jbpe-pricing-page .jbpe-pricing-contact h2 { margin-bottom: 16px; color: #09213d; font-size: clamp(1.5rem, 2.8vw, 2rem); letter-spacing: -.035em; }
.jbpe-pricing-page .jbpe-pricing-contact p { max-width: 820px; margin: 0 0 20px; color: #344a5d; font-size: 1rem; }
@media (max-width: 600px) {
  .jbpe-pricing-shell { width: calc(100% - 32px); padding-top: 32px; }
  .jbpe-pricing-table { font-size: .875rem; }
  .jbpe-pricing-table th, .jbpe-pricing-table td { padding: 12px 8px; }
  .jbpe-pricing-table tbody th { width: 54%; }
  .jbpe-pricing-table tbody th p { font-size: .8125rem; line-height: 1.55; }
  .jbpe-pricing-services dt { display: block; }
  .jbpe-pricing-services dt strong { display: block; margin-top: 6px; }
}
