  :root {
      --primary: #2563eb;
      --primary-dark: #1d4ed8;
      --primary-soft: #eff6ff;
      --ink: #0f172a;
      --muted: #64748b;
      --border: #e2e8f0;
      --surface: #ffffff;
      --surface-soft: #f8fafc;
      --success: #16a34a;
      --radius: 18px;
      --shadow-sm: 0 8px 30px rgba(15, 23, 42, .06);
      --shadow-lg: 0 24px 70px rgba(15, 23, 42, .12);
  }

  * {
      box-sizing: border-box;
  }

  html {
      scroll-behavior: smooth;
  }

  body {
      margin: 0;
      font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--ink);
      background: #fff;
      line-height: 1.65;
      overflow-x: hidden;
  }

  a {
      text-decoration: none;
  }

  .container {
      max-width: 1180px;
  }

  .navbar {
      background: rgba(255, 255, 255, .86) !important;
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(226, 232, 240, .8);
      transition: box-shadow .25s ease;
  }

  .navbar-brand {
      color: var(--ink) !important;
      font-size: 1.15rem;
      letter-spacing: -.03em;
  }

  .navbar-brand img {
      height: 38px;
      width: auto;
      object-fit: contain;
  }

  .nav-link {
      color: #475569 !important;
      font-size: .9rem;
      font-weight: 600;
      padding: .65rem .75rem !important;
  }

  .nav-link:hover {
      color: var(--primary) !important;
  }

  .nav-cta {
      color: #fff !important;
      background: var(--primary);
      border-radius: 10px;
      padding: .65rem 1rem !important;
      box-shadow: 0 8px 20px rgba(37, 99, 235, .2);
  }

  .nav-cta:hover {
      color: #fff !important;
      background: var(--primary-dark);
  }

  .hero {
      position: relative;
      padding: 105px 0 90px;
      overflow: hidden;
      background:
          radial-gradient(circle at 10% 10%, rgba(37, 99, 235, .12), transparent 28%),
          radial-gradient(circle at 90% 30%, rgba(59, 130, 246, .10), transparent 25%),
          linear-gradient(180deg, #f8fbff 0%, #fff 100%);
  }

  .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .45;
      background-image:
          linear-gradient(rgba(148, 163, 184, .08) 1px, transparent 1px),
          linear-gradient(90deg, rgba(148, 163, 184, .08) 1px, transparent 1px);
      background-size: 44px 44px;
      mask-image: linear-gradient(to bottom, black, transparent 80%);
  }

  .hero-content {
      position: relative;
      z-index: 1;
  }

  .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .42rem .75rem;
      border: 1px solid #bfdbfe;
      border-radius: 999px;
      background: rgba(239, 246, 255, .85);
      color: #1d4ed8;
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .02em;
      margin-bottom: 1.25rem;
  }

  .eyebrow-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #22c55e;
      box-shadow: 0 0 0 4px rgba(34, 197, 94, .12);
  }

  .hero h1 {
      max-width: 780px;
      margin: 0 auto 1.25rem;
      font-size: clamp(2.65rem, 6vw, 5rem);
      line-height: 1.02;
      letter-spacing: -.065em;
      font-weight: 800;
  }

  .hero h1 .accent {
      color: var(--primary);
  }

  .hero-copy {
      max-width: 690px;
      margin: 0 auto;
      color: var(--muted);
      font-size: clamp(1rem, 2vw, 1.2rem);
  }

  .hero-actions {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: .8rem;
      margin-top: 2rem;
  }

  .btn-primary-modern,
  .btn-outline-modern {
      min-height: 50px;
      border-radius: 11px;
      padding: .8rem 1.15rem;
      font-weight: 700;
      border: 1px solid transparent;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .5rem;
      transition: all .2s ease;
  }

  .btn-primary-modern {
      color: #fff;
      background: var(--primary);
      box-shadow: 0 12px 26px rgba(37, 99, 235, .22);
  }

  .btn-primary-modern:hover {
      color: #fff;
      background: var(--primary-dark);
      transform: translateY(-1px);
  }

  .btn-outline-modern {
      color: var(--ink);
      background: #fff;
      border-color: var(--border);
  }

  .btn-outline-modern:hover {
      color: var(--primary);
      border-color: #bfdbfe;
      background: var(--primary-soft);
  }

  .trust-row {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 1.3rem;
      margin-top: 1.7rem;
      color: #64748b;
      font-size: .82rem;
      font-weight: 600;
  }

  .trust-row span {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
  }

  .trust-row i {
      color: var(--success);
  }

  .dashboard-wrap {
      position: relative;
      max-width: 1030px;
      margin: 55px auto 0;
      z-index: 2;
  }

  .dashboard-frame {
      padding: 9px;
      border: 1px solid rgba(148, 163, 184, .28);
      border-radius: 22px;
      background: rgba(255, 255, 255, .72);
      box-shadow: var(--shadow-lg);
  }

  .dashboard-frame img {
      display: block;
      width: 100%;
      border-radius: 15px;
      border: 1px solid var(--border);
  }

  .floating-card {
      position: absolute;
      display: flex;
      align-items: center;
      gap: .7rem;
      padding: .75rem .9rem;
      background: rgba(255, 255, 255, .94);
      border: 1px solid rgba(226, 232, 240, .9);
      border-radius: 14px;
      box-shadow: 0 16px 35px rgba(15, 23, 42, .12);
      font-size: .78rem;
      font-weight: 700;
  }

  .floating-card i {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 10px;
      color: var(--primary);
      background: var(--primary-soft);
      font-size: 1rem;
  }

  .floating-card.one {
      left: -35px;
      top: 22%;
  }

  .floating-card.two {
      right: -35px;
      bottom: 18%;
  }

  .section {
      padding: 95px 0;
  }

  .section-soft {
      background: var(--surface-soft);
      border-top: 1px solid #f1f5f9;
      border-bottom: 1px solid #f1f5f9;
  }

  .section-label {
      color: var(--primary);
      font-size: .78rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .12em;
      margin-bottom: .7rem;
  }

  .section-title {
      margin-bottom: .9rem;
      font-size: clamp(2rem, 4vw, 3rem);
      line-height: 1.1;
      letter-spacing: -.045em;
      font-weight: 800;
  }

  .section-copy {
      color: var(--muted);
      max-width: 680px;
      margin: 0 auto;
  }

  .feature-card {
      height: 100%;
      padding: 1.6rem;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow-sm);
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }

  .feature-card:hover {
      transform: translateY(-5px);
      border-color: #bfdbfe;
      box-shadow: 0 18px 45px rgba(15, 23, 42, .09);
  }

  .feature-icon {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      border-radius: 13px;
      background: var(--primary-soft);
      color: var(--primary);
      font-size: 1.25rem;
      margin-bottom: 1rem;
  }

  .feature-card h3 {
      font-size: 1rem;
      font-weight: 750;
      letter-spacing: -.015em;
      margin-bottom: .45rem;
  }

  .feature-card p {
      color: var(--muted);
      font-size: .9rem;
      margin: 0;
  }

  #features-list .card {
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow-sm);
      height: 100%;
  }

  .showcase {
      padding: 12px;
      border: 1px solid var(--border);
      border-radius: 22px;
      background: #fff;
      box-shadow: var(--shadow-lg);
  }

  .showcase img {
      width: 100%;
      display: block;
      border-radius: 14px;
  }

  .benefit-list {
      list-style: none;
      padding: 0;
      margin: 1.5rem 0 0;
  }

  .benefit-list li {
      display: flex;
      gap: .75rem;
      margin-bottom: .9rem;
      color: #475569;
  }

  .benefit-list i {
      color: var(--success);
      margin-top: .3rem;
  }

  .pricing-card {
      height: 100%;
      position: relative;
      padding: 2rem;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 22px;
      box-shadow: var(--shadow-sm);
  }

  .pricing-card.featured {
      border: 2px solid var(--primary);
      box-shadow: 0 25px 60px rgba(37, 99, 235, .14);
  }

  .popular {
      position: absolute;
      top: -13px;
      right: 24px;
      padding: .3rem .7rem;
      border-radius: 999px;
      color: #fff;
      background: var(--primary);
      font-size: .7rem;
      font-weight: 800;
  }

  .price {
      font-size: 2.6rem;
      line-height: 1;
      font-weight: 800;
      letter-spacing: -.05em;
  }

  .price small {
      font-size: .85rem;
      color: var(--muted);
      font-weight: 600;
      letter-spacing: 0;
  }

  .pricing-list {
      list-style: none;
      padding: 0;
      margin: 1.5rem 0;
  }

  .pricing-list li {
      display: flex;
      gap: .55rem;
      padding: .42rem 0;
      color: #475569;
      font-size: .9rem;
  }

  .pricing-list i {
      color: var(--success);
  }

  .cta-section {
      padding: 90px 0;
      background:
          radial-gradient(circle at 20% 20%, rgba(96, 165, 250, .25), transparent 30%),
          linear-gradient(135deg, #0f172a, #172554);
      color: #fff;
  }

  .cta-box {
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
  }

  .cta-box p {
      color: #cbd5e1;
  }

  .accordion-item {
      border: 1px solid var(--border) !important;
      border-radius: 13px !important;
      margin-bottom: .7rem;
      overflow: hidden;
  }

  .accordion-button {
      font-weight: 700;
      color: var(--ink);
      box-shadow: none !important;
      padding: 1.15rem 1.2rem;
  }

  .accordion-button:not(.collapsed) {
      color: var(--primary);
      background: var(--primary-soft);
  }

  .contact-card {
      padding: 2.2rem;
      background: var(--surface-soft);
      border: 1px solid var(--border);
      border-radius: 22px;
  }

  footer {
      padding: 45px 0 30px;
      background: #020617;
      color: #94a3b8;
  }

  footer a {
      color: #cbd5e1;
  }

  footer a:hover {
      color: #fff;
  }

  .footer-brand {
      color: #fff;
      font-weight: 800;
      font-size: 1.1rem;
  }

  .social-link {
      width: 38px;
      height: 38px;
      display: inline-grid;
      place-items: center;
      border: 1px solid #334155;
      border-radius: 10px;
      color: #cbd5e1;
      transition: .2s ease;
  }

  .social-link:hover {
      color: #fff;
      border-color: #64748b;
      transform: translateY(-2px);
  }

  .modal-content {
      border: 0;
      border-radius: 20px;
      box-shadow: var(--shadow-lg);
  }

  .modal-header,
  .modal-footer {
      border-color: var(--border);
  }

  .form-control,
  .form-select {
      min-height: 48px;
      border-radius: 10px;
      border-color: var(--border);
  }

  .form-control:focus,
  .form-select:focus {
      border-color: #93c5fd;
      box-shadow: 0 0 0 .2rem rgba(37, 99, 235, .1);
  }

  .primary-bg {
      background: var(--primary) !important;
  }

  .primary-text {
      color: var(--primary) !important;
  }

  .primary-btn {
      background: var(--primary);
      color: #fff;
      border: 0;
  }

  .primary-btn:hover {
      background: var(--primary-dark);
      color: #fff;
  }

  @media (max-width: 991.98px) {
      .hero {
          padding-top: 80px;
      }

      .floating-card {
          display: none;
      }

      .section {
          padding: 75px 0;
      }

      .navbar-collapse {
          padding: .75rem 0 1rem;
      }
  }

  @media (max-width: 575.98px) {
      .hero {
          padding: 65px 0 55px;
      }

      .hero-actions .btn-primary-modern,
      .hero-actions .btn-outline-modern {
          width: 100%;
      }

      .trust-row {
          flex-direction: column;
          align-items: center;
          gap: .6rem;
      }

      .dashboard-wrap {
          margin-top: 35px;
      }

      .section {
          padding: 60px 0;
      }

      .pricing-card {
          padding: 1.5rem;
      }
  }


  /* ================================
   TESTIMONIALS
================================ */

  .testimonials-section {
      position: relative;
      overflow: hidden;
      background:
          radial-gradient(circle at 8% 20%,
              rgba(37, 99, 235, .08),
              transparent 28%),
          linear-gradient(180deg,
              #f8fbff 0%,
              #ffffff 100%);

      border-top: 1px solid #eef2f7;
      border-bottom: 1px solid #eef2f7;
  }

  .testimonials-wrapper {
      position: relative;
      margin-top: 2.5rem;
  }

  /* Horizontal scrolling container */

  .testimonials-track {
      display: flex;
      gap: 1.25rem;

      overflow-x: auto;

      padding: .5rem .25rem 1.5rem;

      scroll-snap-type: x mandatory;

      scrollbar-width: thin;
      scrollbar-color: #cbd5e1 transparent;

      overscroll-behavior-x: contain;

      -webkit-overflow-scrolling: touch;
  }

  /* Chrome / Edge scrollbar */

  .testimonials-track::-webkit-scrollbar {
      height: 7px;
  }

  .testimonials-track::-webkit-scrollbar-track {
      background: transparent;
  }

  .testimonials-track::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 999px;
  }

  .testimonials-track::-webkit-scrollbar-thumb:hover {
      background: #94a3b8;
  }


  /* Individual card */

  .testimonial-card {
      flex: 0 0 390px;

      min-height: 285px;

      display: flex;
      flex-direction: column;

      scroll-snap-align: start;

      padding: 1.6rem;

      background: rgba(255, 255, 255, .96);

      border: 1px solid #e2e8f0;

      border-radius: 20px;

      box-shadow:
          0 12px 35px rgba(15, 23, 42, .07);

      transition:
          transform .22s ease,
          box-shadow .22s ease,
          border-color .22s ease;
  }

  .testimonial-card:hover {
      transform: translateY(-4px);

      border-color: #bfdbfe;

      box-shadow:
          0 20px 45px rgba(15, 23, 42, .10);
  }


  /* Stars */

  .testimonial-stars {
      display: flex;

      gap: .2rem;

      margin-bottom: 1.1rem;

      color: #f59e0b;

      font-size: .9rem;
  }


  /* Quote */

  .testimonial-quote {
      margin: 0;

      color: #334155;

      font-size: .95rem;

      line-height: 1.75;

      letter-spacing: -.01em;
  }

  .testimonial-quote::before {
      content: "“";

      display: block;

      height: 26px;

      color: #bfdbfe;

      font-size: 3.3rem;

      line-height: .8;

      font-weight: 800;
  }


  /* Author */

  .testimonial-author {
      display: flex;

      align-items: center;

      gap: .75rem;

      margin-top: auto;

      padding-top: 1.4rem;
  }

  .testimonial-avatar {
      width: 43px;
      height: 43px;

      flex: 0 0 43px;

      display: grid;
      place-items: center;

      border-radius: 13px;

      color: #1d4ed8;

      background: #eff6ff;

      border: 1px solid #dbeafe;

      font-size: .78rem;

      font-weight: 800;
  }

  .testimonial-author h6 {
      margin: 0;

      color: #0f172a;

      font-size: .84rem;

      font-weight: 800;
  }

  .testimonial-author span {
      display: block;

      margin-top: .1rem;

      color: #64748b;

      font-size: .74rem;
  }


  /* Controls */

  .testimonial-controls {
      display: flex;

      align-items: center;

      justify-content: space-between;

      gap: 1rem;

      margin-top: .8rem;
  }

  .testimonial-hint {
      color: #94a3b8;

      font-size: .76rem;

      font-weight: 600;
  }

  .testimonial-arrows {
      display: flex;

      gap: .5rem;
  }

  .testimonial-arrow {
      width: 42px;
      height: 42px;

      display: grid;
      place-items: center;

      border: 1px solid #e2e8f0;

      border-radius: 11px;

      background: #fff;

      color: #334155;

      transition: all .2s ease;
  }

  .testimonial-arrow:hover {
      color: #fff;

      background: #2563eb;

      border-color: #2563eb;

      transform: translateY(-1px);
  }


  /* Mobile */

  @media (max-width: 575.98px) {

      .testimonial-card {
          flex-basis: calc(100vw - 2.5rem);

          min-height: 300px;

          padding: 1.35rem;
      }

      .testimonial-controls {
          align-items: flex-end;
      }

      .testimonial-hint {
          max-width: 180px;
      }
  }