
    html, body {
      height: 100%;
    }
    body {
      display: flex;
      flex-direction: column;
    }
    main {
      flex: 1 0 auto;
    }
    footer {
      flex-shrink: 0;
    }
    a {
      text-decoration: none !important;
    }

    /* Banner always touches header & is centered */
    #bannerCarousel {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0;
    }

    .carousel-item img {
      width: 100%;
      height: auto;
      max-height: 300px;
      object-fit: cover;
      display: block;
    }

    @media (max-width: 768px) {
      .carousel-item img {
        max-height: 188px;
      }
    }

    section {
      padding-top: 30px;
      padding-bottom: 30px;
    }

    .bg-primary-soft {
      background-color: rgba(4,56,84,0.06);
    }

    .border-primary-soft {
      border-color: rgba(4,56,84,0.15) !important;
    }

    .step-number {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background-color: rgb(4,56,84);
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 600;
      margin-right: 10px;
      flex-shrink: 0;
    }

    .badge-pill {
      border-radius: 999px;
    }

    .table-comparison th,
    .table-comparison td {
      font-size: 0.94rem;
      vertical-align: middle;
    }

    .icon-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: rgb(4,56,84);
      display: inline-block;
      margin-right: 6px;
    }
  