/* Start custom CSS for html, class: .elementor-element-71a29d4 *//* fix chopped headings on mobile */
.hero h1, .section h2, .section h3 {
  word-break: keep-all;
  hyphens: auto;
  line-height: 1.15;
}
@media (max-width: 640px){
  .hero h1{font-size:28px}
  .section h2{font-size:22px}
  .section h3{font-size:18px}
}

/* responsive pricing table: becomes stacked cards on mobile */
.table { width:100%; border-collapse: collapse; }
.table th, .table td { vertical-align: top; }

@media (max-width: 640px){
  .table thead { display: none; }
  .table, .table tbody, .table tr, .table td { display: block; width: 100%; }
  .table tr {
    border:1px solid #ddd;
    border-radius:12px;
    margin:0 0 14px;
    overflow:hidden;
    background:#fff;
  }
  .table td {
    border:0;
    border-bottom:1px solid #eee;
    padding:12px 14px;
    display:flex;
    gap:12px;
    justify-content: space-between;
    align-items: flex-start;
    word-break: normal;
    overflow-wrap: anywhere;
  }
  .table td:last-child { border-bottom:0; }
  .table td::before {
    content: attr(data-label);
    font-weight:700;
    color: var(--red);
    flex: 0 0 44%;
    max-width: 180px;
  }
  .table td > * { margin: 0; }
}

.cards .card .stars { font-size:16px }
.section.cta-center { padding-bottom: 84px; }
/* ===== Sticky Mobile CTA Bar ===== */
@media (max-width: 768px){
  .mobile-cta{ display:block; }
  .bsf-wrap{ padding-bottom: 90px; }
}/* End custom CSS */